ngx-tethys 18.1.0-next.0 → 18.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (558) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/action/action.component.d.ts +1 -2
  3. package/affix/affix.component.d.ts +2 -4
  4. package/anchor/anchor-link.component.d.ts +2 -4
  5. package/anchor/anchor.component.d.ts +1 -4
  6. package/arrow-switcher/arrow-switcher.component.d.ts +1 -2
  7. package/autocomplete/autocomplete.component.d.ts +1 -2
  8. package/autocomplete/autocomplete.trigger.directive.d.ts +3 -5
  9. package/autocomplete/overlay/autocomplete-container.component.d.ts +4 -4
  10. package/autocomplete/overlay/autocomplete.service.d.ts +3 -5
  11. package/avatar/avatar.component.d.ts +1 -3
  12. package/avatar/avatar.pipe.d.ts +0 -2
  13. package/back-top/back-top.component.d.ts +2 -4
  14. package/badge/badge.component.d.ts +5 -14
  15. package/breadcrumb/breadcrumb-item.component.d.ts +1 -2
  16. package/breadcrumb/breadcrumb.component.d.ts +1 -2
  17. package/button/button.component.d.ts +1 -2
  18. package/calendar/calendar-header.component.d.ts +1 -2
  19. package/calendar/calendar.component.d.ts +1 -2
  20. package/carousel/carousel-item.directive.d.ts +1 -2
  21. package/carousel/carousel.component.d.ts +1 -4
  22. package/carousel/carousel.service.d.ts +1 -2
  23. package/cascader/cascader.component.d.ts +4 -4
  24. package/checkbox/checkbox.component.d.ts +0 -2
  25. package/collapse/collapse-item.component.d.ts +2 -4
  26. package/color-picker/color-picker-panel.component.d.ts +2 -3
  27. package/color-picker/color-picker.component.d.ts +2 -4
  28. package/color-picker/coordinates.directive.d.ts +1 -2
  29. package/color-picker/parts/alpha/alpha.component.d.ts +1 -2
  30. package/color-picker/parts/hue/hue.component.d.ts +1 -2
  31. package/color-picker/parts/saturation/saturation.component.d.ts +1 -2
  32. package/copy/copy.directive.d.ts +0 -2
  33. package/core/click-positioner.d.ts +0 -2
  34. package/core/scroll.d.ts +1 -2
  35. package/core/update-host-class.service.d.ts +1 -2
  36. package/date-picker/abstract-picker.component.d.ts +1 -1
  37. package/date-picker/abstract-picker.directive.d.ts +2 -3
  38. package/date-picker/base-picker.component.d.ts +2 -3
  39. package/date-picker/date-picker.component.d.ts +2 -2
  40. package/date-picker/date-picker.directive.d.ts +1 -3
  41. package/date-picker/date-picker.service.d.ts +2 -2
  42. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -2
  43. package/date-picker/lib/calendar/calendar-header.component.d.ts +0 -1
  44. package/date-picker/lib/date/date-header.component.d.ts +0 -3
  45. package/date-picker/lib/date/date-table.component.d.ts +1 -3
  46. package/date-picker/lib/date-carousel/date-carousel.component.d.ts +1 -2
  47. package/date-picker/lib/decade/decade-header.component.d.ts +1 -1
  48. package/date-picker/lib/month/month-header.component.d.ts +0 -3
  49. package/date-picker/lib/month/month-table.component.d.ts +1 -2
  50. package/date-picker/lib/popups/date-popup.component.d.ts +1 -3
  51. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -4
  52. package/date-picker/lib/quarter/quarter-table.component.d.ts +1 -2
  53. package/date-picker/lib/year/year-header.component.d.ts +0 -1
  54. package/date-picker/month-picker.component.d.ts +2 -2
  55. package/date-picker/picker.component.d.ts +1 -3
  56. package/date-picker/picker.pipes.d.ts +0 -3
  57. package/date-picker/quarter-picker.component.d.ts +2 -2
  58. package/date-picker/range-picker.component.d.ts +2 -2
  59. package/date-picker/range-picker.directive.d.ts +2 -3
  60. package/date-picker/week-picker.component.d.ts +2 -2
  61. package/date-picker/year-picker.component.d.ts +2 -2
  62. package/date-range/date-range.component.d.ts +1 -3
  63. package/date-range/optional-dates/optional-dates.component.d.ts +0 -2
  64. package/dialog/body/dialog-body.component.d.ts +0 -2
  65. package/dialog/confirm/confirm.component.d.ts +2 -3
  66. package/dialog/dialog-container.component.d.ts +4 -5
  67. package/dialog/dialog.service.d.ts +4 -4
  68. package/dialog/footer/dialog-footer.component.d.ts +2 -2
  69. package/dialog/header/dialog-header.component.d.ts +2 -6
  70. package/dot/dot.component.d.ts +1 -2
  71. package/drag-drop/drag-content.directive.d.ts +2 -3
  72. package/drag-drop/drag-handle.directive.d.ts +2 -3
  73. package/drag-drop/drag.directive.d.ts +4 -5
  74. package/drag-drop/drop-container.directive.d.ts +6 -3
  75. package/dropdown/dropdown-active.directive.d.ts +3 -4
  76. package/dropdown/dropdown-menu-item.directive.d.ts +1 -2
  77. package/dropdown/dropdown-submenu.component.d.ts +1 -3
  78. package/dropdown/dropdown.directive.d.ts +3 -5
  79. package/empty/empty.component.d.ts +6 -6
  80. package/esm2022/action/action.component.mjs +18 -18
  81. package/esm2022/affix/affix.component.mjs +11 -14
  82. package/esm2022/anchor/anchor-link.component.mjs +9 -10
  83. package/esm2022/anchor/anchor.component.mjs +11 -16
  84. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +22 -22
  85. package/esm2022/autocomplete/autocomplete.component.mjs +7 -7
  86. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +30 -37
  87. package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +11 -15
  88. package/esm2022/autocomplete/overlay/autocomplete.service.mjs +14 -21
  89. package/esm2022/avatar/avatar.component.mjs +24 -25
  90. package/esm2022/avatar/avatar.pipe.mjs +6 -7
  91. package/esm2022/back-top/back-top.component.mjs +11 -15
  92. package/esm2022/badge/badge.component.mjs +6 -6
  93. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +7 -7
  94. package/esm2022/breadcrumb/breadcrumb.component.mjs +12 -12
  95. package/esm2022/button/button.component.mjs +12 -12
  96. package/esm2022/calendar/calendar-header.component.mjs +12 -12
  97. package/esm2022/calendar/calendar.component.mjs +12 -12
  98. package/esm2022/carousel/carousel-item.directive.mjs +7 -6
  99. package/esm2022/carousel/carousel.component.mjs +10 -12
  100. package/esm2022/carousel/carousel.service.mjs +7 -9
  101. package/esm2022/cascader/cascader.component.mjs +11 -16
  102. package/esm2022/checkbox/checkbox.component.mjs +7 -9
  103. package/esm2022/collapse/collapse-item.component.mjs +18 -21
  104. package/esm2022/color-picker/color-picker-panel.component.mjs +11 -12
  105. package/esm2022/color-picker/color-picker.component.mjs +10 -11
  106. package/esm2022/color-picker/coordinates.directive.mjs +10 -10
  107. package/esm2022/color-picker/parts/alpha/alpha.component.mjs +6 -6
  108. package/esm2022/color-picker/parts/hue/hue.component.mjs +6 -6
  109. package/esm2022/color-picker/parts/saturation/saturation.component.mjs +9 -9
  110. package/esm2022/copy/copy.directive.mjs +8 -12
  111. package/esm2022/core/click-positioner.mjs +6 -7
  112. package/esm2022/core/scroll.mjs +7 -9
  113. package/esm2022/core/store/store.mjs +1 -1
  114. package/esm2022/core/update-host-class.service.mjs +6 -6
  115. package/esm2022/date-picker/abstract-picker.component.mjs +5 -5
  116. package/esm2022/date-picker/abstract-picker.directive.mjs +42 -44
  117. package/esm2022/date-picker/base-picker.component.mjs +26 -26
  118. package/esm2022/date-picker/date-picker.component.mjs +6 -6
  119. package/esm2022/date-picker/date-picker.directive.mjs +6 -8
  120. package/esm2022/date-picker/date-picker.service.mjs +6 -10
  121. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -5
  122. package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +6 -7
  123. package/esm2022/date-picker/lib/date/date-header.component.mjs +3 -9
  124. package/esm2022/date-picker/lib/date/date-table.component.mjs +7 -9
  125. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +12 -12
  126. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +5 -8
  127. package/esm2022/date-picker/lib/month/month-header.component.mjs +3 -9
  128. package/esm2022/date-picker/lib/month/month-table.component.mjs +6 -7
  129. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +12 -13
  130. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +12 -13
  131. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +6 -7
  132. package/esm2022/date-picker/lib/year/year-header.component.mjs +3 -9
  133. package/esm2022/date-picker/month-picker.component.mjs +6 -7
  134. package/esm2022/date-picker/picker.component.mjs +21 -22
  135. package/esm2022/date-picker/picker.pipes.mjs +10 -11
  136. package/esm2022/date-picker/quarter-picker.component.mjs +6 -7
  137. package/esm2022/date-picker/range-picker.component.mjs +6 -7
  138. package/esm2022/date-picker/range-picker.directive.mjs +6 -8
  139. package/esm2022/date-picker/week-picker.component.mjs +6 -7
  140. package/esm2022/date-picker/year-picker.component.mjs +6 -7
  141. package/esm2022/date-range/date-range.component.mjs +14 -15
  142. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +8 -9
  143. package/esm2022/dialog/body/dialog-body.component.mjs +11 -12
  144. package/esm2022/dialog/confirm/confirm.component.mjs +10 -14
  145. package/esm2022/dialog/dialog-container.component.mjs +13 -18
  146. package/esm2022/dialog/dialog.service.mjs +10 -17
  147. package/esm2022/dialog/footer/dialog-footer.component.mjs +7 -11
  148. package/esm2022/dialog/header/dialog-header.component.mjs +14 -19
  149. package/esm2022/dot/dot.component.mjs +7 -7
  150. package/esm2022/drag-drop/drag-content.directive.mjs +7 -9
  151. package/esm2022/drag-drop/drag-handle.directive.mjs +7 -9
  152. package/esm2022/drag-drop/drag.directive.mjs +13 -16
  153. package/esm2022/drag-drop/drop-container.directive.mjs +13 -13
  154. package/esm2022/dropdown/dropdown-active.directive.mjs +9 -12
  155. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +12 -12
  156. package/esm2022/dropdown/dropdown-submenu.component.mjs +9 -10
  157. package/esm2022/dropdown/dropdown.directive.mjs +12 -10
  158. package/esm2022/empty/empty.component.mjs +14 -17
  159. package/esm2022/flexible-text/flexible-text.component.mjs +16 -17
  160. package/esm2022/form/form-group-error/form-group-error.component.mjs +9 -12
  161. package/esm2022/form/form-group-label.directive.mjs +9 -10
  162. package/esm2022/form/form-group.component.mjs +15 -19
  163. package/esm2022/form/form-submit.directive.mjs +6 -7
  164. package/esm2022/form/form-validator-loader.mjs +1 -1
  165. package/esm2022/form/form-validator.service.mjs +12 -13
  166. package/esm2022/form/form.directive.mjs +11 -16
  167. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +10 -16
  168. package/esm2022/form/validator/unique-validator.directive.mjs +7 -10
  169. package/esm2022/fullscreen/fullscreen.component.mjs +10 -11
  170. package/esm2022/fullscreen/fullscreen.service.mjs +7 -10
  171. package/esm2022/grid/thy-col.directive.mjs +9 -14
  172. package/esm2022/grid/thy-grid-item.component.mjs +8 -14
  173. package/esm2022/grid/thy-grid.component.mjs +7 -8
  174. package/esm2022/guider/guider.directive.mjs +8 -9
  175. package/esm2022/guider/guider.service.mjs +12 -19
  176. package/esm2022/icon/icon-registry.mjs +11 -16
  177. package/esm2022/icon/icon.component.mjs +8 -9
  178. package/esm2022/image/image-group.component.mjs +7 -7
  179. package/esm2022/image/image.directive.mjs +11 -12
  180. package/esm2022/image/image.service.mjs +8 -14
  181. package/esm2022/image/preview/image-preview.component.mjs +34 -38
  182. package/esm2022/input/input-count.component.mjs +7 -10
  183. package/esm2022/input/input-group.component.mjs +12 -13
  184. package/esm2022/input/input-search.component.mjs +7 -7
  185. package/esm2022/input/input.component.mjs +14 -14
  186. package/esm2022/input/input.directive.mjs +12 -17
  187. package/esm2022/input-number/input-number.component.mjs +6 -6
  188. package/esm2022/layout/sidebar.component.mjs +45 -51
  189. package/esm2022/list/selection/selection-list.mjs +25 -25
  190. package/esm2022/loading/loading.component.mjs +8 -8
  191. package/esm2022/mention/mention.directive.mjs +9 -14
  192. package/esm2022/mention/suggestions/suggestions.component.mjs +8 -9
  193. package/esm2022/menu/group/menu-group.component.mjs +34 -35
  194. package/esm2022/menu/item/action/menu-item-action.component.mjs +15 -16
  195. package/esm2022/menu/item/menu-item.component.mjs +6 -6
  196. package/esm2022/message/abstract/abstract-message-container.component.mjs +5 -5
  197. package/esm2022/message/abstract/abstract-message.component.mjs +6 -6
  198. package/esm2022/message/message-container.component.mjs +9 -11
  199. package/esm2022/message/message-queue.service.mjs +6 -8
  200. package/esm2022/message/message.component.mjs +7 -7
  201. package/esm2022/message/message.service.mjs +10 -11
  202. package/esm2022/nav/icon-nav/icon-nav.component.mjs +6 -6
  203. package/esm2022/nav/nav-ink-bar.directive.mjs +9 -14
  204. package/esm2022/nav/nav-item.directive.mjs +8 -11
  205. package/esm2022/nav/nav.component.mjs +32 -33
  206. package/esm2022/nav/nav.pipe.mjs +6 -7
  207. package/esm2022/notify/notify-container.component.mjs +8 -11
  208. package/esm2022/notify/notify-queue.service.mjs +6 -8
  209. package/esm2022/notify/notify.component.mjs +7 -7
  210. package/esm2022/notify/notify.service.mjs +11 -12
  211. package/esm2022/pagination/pagination.component.mjs +38 -43
  212. package/esm2022/pagination/pagination.pipe.mjs +6 -7
  213. package/esm2022/popover/header/popover-header.component.mjs +12 -14
  214. package/esm2022/popover/popover-container.component.mjs +11 -13
  215. package/esm2022/popover/popover.directive.mjs +13 -12
  216. package/esm2022/popover/popover.service.mjs +14 -26
  217. package/esm2022/progress/progress-strip.component.mjs +10 -13
  218. package/esm2022/property/property-item.component.mjs +10 -13
  219. package/esm2022/property-operation/property-operation.component.mjs +24 -25
  220. package/esm2022/radio/button/radio-button.component.mjs +9 -15
  221. package/esm2022/radio/group/radio-group.component.mjs +17 -17
  222. package/esm2022/radio/radio.component.mjs +8 -14
  223. package/esm2022/rate/rate.component.mjs +6 -6
  224. package/esm2022/resizable/resizable.directive.mjs +10 -12
  225. package/esm2022/resizable/resizable.service.mjs +7 -9
  226. package/esm2022/resizable/resize-handle.component.mjs +7 -8
  227. package/esm2022/segment/segment-item.component.mjs +12 -15
  228. package/esm2022/segment/segment.component.mjs +26 -26
  229. package/esm2022/select/custom-select/custom-select.component.mjs +14 -28
  230. package/esm2022/select/native-select/native-select.component.mjs +6 -6
  231. package/esm2022/shared/base-form-check.component.mjs +7 -8
  232. package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +7 -7
  233. package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -10
  234. package/esm2022/shared/directives/thy-contextmenu.directive.mjs +8 -8
  235. package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +8 -8
  236. package/esm2022/shared/directives/thy-enter.directive.mjs +8 -8
  237. package/esm2022/shared/directives/thy-scroll.directive.mjs +21 -21
  238. package/esm2022/shared/directives/thy-show.mjs +11 -11
  239. package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +7 -5
  240. package/esm2022/shared/directives/view-outlet.directive.mjs +7 -7
  241. package/esm2022/shared/ng-transclude.directive.mjs +6 -5
  242. package/esm2022/shared/option/group/option-group.component.mjs +10 -10
  243. package/esm2022/shared/option/list-option/list-option.component.mjs +12 -19
  244. package/esm2022/shared/option/option.component.mjs +9 -19
  245. package/esm2022/shared/select/select-control/select-control.component.mjs +23 -23
  246. package/esm2022/skeleton/skeleton-circle.component.mjs +7 -15
  247. package/esm2022/skeleton/skeleton-rectangle.component.mjs +7 -15
  248. package/esm2022/slide/drawer/drawer-container.directive.mjs +6 -6
  249. package/esm2022/slide/slide-container.component.mjs +12 -16
  250. package/esm2022/slide/slide-header/slide-header.component.mjs +10 -11
  251. package/esm2022/slide/slide-ref.service.mjs +1 -1
  252. package/esm2022/slide/slide.service.mjs +8 -12
  253. package/esm2022/slider/slider.component.mjs +8 -8
  254. package/esm2022/space/space.component.mjs +13 -13
  255. package/esm2022/statistic/statistic.component.mjs +20 -20
  256. package/esm2022/stepper/step.component.mjs +6 -11
  257. package/esm2022/stepper/stepper-button.directive.mjs +10 -11
  258. package/esm2022/strength/strength.component.mjs +11 -12
  259. package/esm2022/switch/switch.component.mjs +6 -6
  260. package/esm2022/table/table-column.component.mjs +58 -63
  261. package/esm2022/table/table-skeleton.component.mjs +32 -32
  262. package/esm2022/table/table.component.mjs +16 -24
  263. package/esm2022/tabs/tabs.component.mjs +19 -19
  264. package/esm2022/tag/tag.component.mjs +22 -22
  265. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +10 -9
  266. package/esm2022/time-picker/time-picker-panel.component.mjs +27 -27
  267. package/esm2022/time-picker/time-picker.component.mjs +29 -29
  268. package/esm2022/timeline/timeline-item.component.mjs +12 -13
  269. package/esm2022/timeline/timeline.component.mjs +7 -8
  270. package/esm2022/tooltip/tooltip.component.mjs +14 -14
  271. package/esm2022/tooltip/tooltip.directive.mjs +11 -10
  272. package/esm2022/tooltip/tooltip.service.mjs +9 -13
  273. package/esm2022/transfer/transfer-list.component.mjs +6 -6
  274. package/esm2022/tree/tree-node.component.mjs +13 -17
  275. package/esm2022/tree/tree.component.mjs +86 -90
  276. package/esm2022/tree-select/tree-select.component.mjs +22 -27
  277. package/esm2022/typography/bg-color.directive.mjs +9 -9
  278. package/esm2022/typography/text-color.directive.mjs +9 -9
  279. package/esm2022/upload/file-drop.directive.mjs +1 -1
  280. package/esm2022/upload/file-select-base.mjs +5 -6
  281. package/esm2022/upload/file-select.component.mjs +4 -3
  282. package/esm2022/upload/upload.service.mjs +6 -7
  283. package/esm2022/version.mjs +2 -2
  284. package/esm2022/watermark/watermark.directive.mjs +12 -12
  285. package/fesm2022/ngx-tethys-action.mjs +17 -17
  286. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  287. package/fesm2022/ngx-tethys-affix.mjs +12 -14
  288. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  289. package/fesm2022/ngx-tethys-anchor.mjs +19 -22
  290. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  291. package/fesm2022/ngx-tethys-arrow-switcher.mjs +21 -21
  292. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  293. package/fesm2022/ngx-tethys-autocomplete.mjs +59 -71
  294. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  295. package/fesm2022/ngx-tethys-avatar.mjs +27 -27
  296. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  297. package/fesm2022/ngx-tethys-back-top.mjs +12 -15
  298. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  299. package/fesm2022/ngx-tethys-badge.mjs +5 -5
  300. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  301. package/fesm2022/ngx-tethys-breadcrumb.mjs +16 -16
  302. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  303. package/fesm2022/ngx-tethys-button.mjs +11 -11
  304. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  305. package/fesm2022/ngx-tethys-calendar.mjs +21 -21
  306. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  307. package/fesm2022/ngx-tethys-carousel.mjs +20 -21
  308. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  309. package/fesm2022/ngx-tethys-cascader.mjs +11 -15
  310. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  311. package/fesm2022/ngx-tethys-checkbox.mjs +6 -7
  312. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  313. package/fesm2022/ngx-tethys-collapse.mjs +17 -19
  314. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  315. package/fesm2022/ngx-tethys-color-picker.mjs +44 -42
  316. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  317. package/fesm2022/ngx-tethys-copy.mjs +8 -12
  318. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  319. package/fesm2022/ngx-tethys-core.mjs +14 -16
  320. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  321. package/fesm2022/ngx-tethys-date-picker.mjs +192 -216
  322. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  323. package/fesm2022/ngx-tethys-date-range.mjs +20 -20
  324. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  325. package/fesm2022/ngx-tethys-dialog.mjs +56 -72
  326. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  327. package/fesm2022/ngx-tethys-dot.mjs +6 -6
  328. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  329. package/fesm2022/ngx-tethys-drag-drop.mjs +33 -37
  330. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  331. package/fesm2022/ngx-tethys-dropdown.mjs +39 -37
  332. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  333. package/fesm2022/ngx-tethys-empty.mjs +15 -15
  334. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  335. package/fesm2022/ngx-tethys-flexible-text.mjs +16 -17
  336. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  337. package/fesm2022/ngx-tethys-form.mjs +67 -82
  338. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  339. package/fesm2022/ngx-tethys-fullscreen.mjs +14 -17
  340. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  341. package/fesm2022/ngx-tethys-grid.mjs +20 -29
  342. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  343. package/fesm2022/ngx-tethys-guider.mjs +17 -23
  344. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  345. package/fesm2022/ngx-tethys-icon.mjs +18 -22
  346. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  347. package/fesm2022/ngx-tethys-image.mjs +57 -62
  348. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  349. package/fesm2022/ngx-tethys-input-number.mjs +5 -5
  350. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  351. package/fesm2022/ngx-tethys-input.mjs +46 -53
  352. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  353. package/fesm2022/ngx-tethys-layout.mjs +45 -50
  354. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  355. package/fesm2022/ngx-tethys-list.mjs +24 -24
  356. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  357. package/fesm2022/ngx-tethys-loading.mjs +7 -7
  358. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  359. package/fesm2022/ngx-tethys-mention.mjs +16 -21
  360. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  361. package/fesm2022/ngx-tethys-menu.mjs +51 -52
  362. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  363. package/fesm2022/ngx-tethys-message.mjs +33 -35
  364. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  365. package/fesm2022/ngx-tethys-nav.mjs +55 -64
  366. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  367. package/fesm2022/ngx-tethys-notify.mjs +26 -29
  368. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  369. package/fesm2022/ngx-tethys-pagination.mjs +44 -49
  370. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  371. package/fesm2022/ngx-tethys-popover.mjs +48 -54
  372. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  373. package/fesm2022/ngx-tethys-progress.mjs +9 -12
  374. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  375. package/fesm2022/ngx-tethys-property-operation.mjs +24 -24
  376. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  377. package/fesm2022/ngx-tethys-property.mjs +11 -11
  378. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  379. package/fesm2022/ngx-tethys-radio.mjs +29 -35
  380. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  381. package/fesm2022/ngx-tethys-rate.mjs +5 -5
  382. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  383. package/fesm2022/ngx-tethys-resizable.mjs +22 -25
  384. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  385. package/fesm2022/ngx-tethys-segment.mjs +35 -38
  386. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  387. package/fesm2022/ngx-tethys-select.mjs +20 -34
  388. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  389. package/fesm2022/ngx-tethys-shared.mjs +128 -143
  390. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  391. package/fesm2022/ngx-tethys-skeleton.mjs +11 -25
  392. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  393. package/fesm2022/ngx-tethys-slide.mjs +30 -34
  394. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  395. package/fesm2022/ngx-tethys-slider.mjs +7 -7
  396. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  397. package/fesm2022/ngx-tethys-space.mjs +13 -13
  398. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  399. package/fesm2022/ngx-tethys-statistic.mjs +19 -19
  400. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  401. package/fesm2022/ngx-tethys-stepper.mjs +13 -18
  402. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  403. package/fesm2022/ngx-tethys-strength.mjs +11 -11
  404. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  405. package/fesm2022/ngx-tethys-switch.mjs +5 -5
  406. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  407. package/fesm2022/ngx-tethys-table.mjs +103 -115
  408. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  409. package/fesm2022/ngx-tethys-tabs.mjs +19 -19
  410. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  411. package/fesm2022/ngx-tethys-tag.mjs +21 -21
  412. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  413. package/fesm2022/ngx-tethys-time-picker.mjs +61 -58
  414. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  415. package/fesm2022/ngx-tethys-timeline.mjs +16 -16
  416. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  417. package/fesm2022/ngx-tethys-tooltip.mjs +32 -33
  418. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  419. package/fesm2022/ngx-tethys-transfer.mjs +5 -5
  420. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  421. package/fesm2022/ngx-tethys-tree-select.mjs +23 -28
  422. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  423. package/fesm2022/ngx-tethys-tree.mjs +96 -102
  424. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  425. package/fesm2022/ngx-tethys-typography.mjs +15 -15
  426. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  427. package/fesm2022/ngx-tethys-upload.mjs +11 -12
  428. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  429. package/fesm2022/ngx-tethys-watermark.mjs +12 -12
  430. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  431. package/fesm2022/ngx-tethys.mjs +1 -1
  432. package/fesm2022/ngx-tethys.mjs.map +1 -1
  433. package/flexible-text/flexible-text.component.d.ts +1 -3
  434. package/form/form-group-error/form-group-error.component.d.ts +1 -3
  435. package/form/form-group-label.directive.d.ts +0 -2
  436. package/form/form-group.component.d.ts +1 -4
  437. package/form/form-submit.directive.d.ts +0 -2
  438. package/form/form-validator.service.d.ts +0 -2
  439. package/form/form.directive.d.ts +4 -4
  440. package/form/from-group-footer/form-group-footer.component.d.ts +2 -4
  441. package/form/validator/unique-validator.directive.d.ts +1 -4
  442. package/fullscreen/fullscreen.component.d.ts +0 -2
  443. package/fullscreen/fullscreen.service.d.ts +0 -2
  444. package/grid/thy-col.directive.d.ts +1 -2
  445. package/grid/thy-grid-item.component.d.ts +2 -4
  446. package/grid/thy-grid.component.d.ts +1 -3
  447. package/guider/guider.directive.d.ts +1 -3
  448. package/guider/guider.service.d.ts +0 -7
  449. package/icon/icon-registry.d.ts +1 -3
  450. package/icon/icon.component.d.ts +1 -3
  451. package/image/image-group.component.d.ts +1 -2
  452. package/image/image.directive.d.ts +1 -3
  453. package/image/image.service.d.ts +2 -2
  454. package/image/preview/image-preview.component.d.ts +1 -4
  455. package/input/input-count.component.d.ts +3 -4
  456. package/input/input-group.component.d.ts +1 -3
  457. package/input/input-search.component.d.ts +2 -2
  458. package/input/input.component.d.ts +1 -2
  459. package/input/input.directive.d.ts +2 -3
  460. package/input-number/input-number.component.d.ts +2 -2
  461. package/layout/sidebar.component.d.ts +44 -13
  462. package/list/selection/selection-list.d.ts +1 -2
  463. package/loading/loading.component.d.ts +0 -2
  464. package/loading/styles/loading.scss +3 -1
  465. package/mention/mention.directive.d.ts +4 -5
  466. package/mention/suggestions/suggestions.component.d.ts +2 -3
  467. package/menu/group/menu-group.component.d.ts +12 -26
  468. package/menu/item/action/menu-item-action.component.d.ts +2 -3
  469. package/menu/item/menu-item.component.d.ts +1 -2
  470. package/message/abstract/abstract-message-container.component.d.ts +1 -2
  471. package/message/abstract/abstract-message.component.d.ts +2 -2
  472. package/message/message-container.component.d.ts +1 -3
  473. package/message/message-queue.service.d.ts +1 -2
  474. package/message/message.component.d.ts +1 -3
  475. package/message/message.service.d.ts +3 -5
  476. package/nav/icon-nav/icon-nav.component.d.ts +2 -2
  477. package/nav/nav-ink-bar.directive.d.ts +2 -4
  478. package/nav/nav-item.directive.d.ts +3 -4
  479. package/nav/nav.component.d.ts +1 -3
  480. package/nav/nav.pipe.d.ts +0 -2
  481. package/notify/notify-container.component.d.ts +1 -3
  482. package/notify/notify-queue.service.d.ts +1 -2
  483. package/notify/notify.component.d.ts +2 -3
  484. package/notify/notify.service.d.ts +1 -4
  485. package/package.json +1 -1
  486. package/pagination/pagination.component.d.ts +7 -19
  487. package/pagination/pagination.pipe.d.ts +0 -2
  488. package/popover/header/popover-header.component.d.ts +0 -3
  489. package/popover/popover-container.component.d.ts +3 -4
  490. package/popover/popover.directive.d.ts +2 -5
  491. package/popover/popover.service.d.ts +4 -6
  492. package/progress/progress-strip.component.d.ts +0 -1
  493. package/property/property-item.component.d.ts +6 -6
  494. package/property-operation/property-operation.component.d.ts +1 -3
  495. package/radio/button/radio-button.component.d.ts +2 -5
  496. package/radio/group/radio-group.component.d.ts +1 -2
  497. package/radio/radio.component.d.ts +2 -3
  498. package/rate/rate.component.d.ts +2 -2
  499. package/resizable/resizable.directive.d.ts +2 -4
  500. package/resizable/resizable.service.d.ts +2 -2
  501. package/resizable/resize-handle.component.d.ts +1 -3
  502. package/schematics/version.d.ts +1 -1
  503. package/schematics/version.js +1 -1
  504. package/segment/segment-item.component.d.ts +4 -5
  505. package/segment/segment.component.d.ts +1 -2
  506. package/select/custom-select/custom-select.component.d.ts +5 -5
  507. package/select/native-select/native-select.component.d.ts +1 -1
  508. package/shared/base-form-check.component.d.ts +1 -1
  509. package/shared/directives/string-or-template-outlet.directive.d.ts +1 -2
  510. package/shared/directives/thy-autofocus.directive.d.ts +0 -2
  511. package/shared/directives/thy-contextmenu.directive.d.ts +1 -2
  512. package/shared/directives/thy-ctrl-enter.directive.d.ts +1 -2
  513. package/shared/directives/thy-enter.directive.d.ts +1 -2
  514. package/shared/directives/thy-scroll.directive.d.ts +1 -2
  515. package/shared/directives/thy-show.d.ts +1 -2
  516. package/shared/directives/thy-stop-propagation.directive.d.ts +2 -2
  517. package/shared/directives/view-outlet.directive.d.ts +1 -2
  518. package/shared/ng-transclude.directive.d.ts +1 -1
  519. package/shared/option/group/option-group.component.d.ts +1 -2
  520. package/shared/option/list-option/list-option.component.d.ts +5 -10
  521. package/shared/option/option.component.d.ts +5 -5
  522. package/shared/select/select-control/select-control.component.d.ts +1 -2
  523. package/skeleton/skeleton-circle.component.d.ts +1 -4
  524. package/skeleton/skeleton-rectangle.component.d.ts +5 -5
  525. package/slide/drawer/drawer-container.directive.d.ts +1 -2
  526. package/slide/slide-container.component.d.ts +3 -4
  527. package/slide/slide-header/slide-header.component.d.ts +0 -2
  528. package/slide/slide.service.d.ts +3 -3
  529. package/slider/slider.component.d.ts +2 -2
  530. package/space/space.component.d.ts +1 -2
  531. package/statistic/statistic.component.d.ts +1 -2
  532. package/stepper/step.component.d.ts +1 -2
  533. package/stepper/stepper-button.directive.d.ts +0 -3
  534. package/strength/strength.component.d.ts +0 -1
  535. package/switch/switch.component.d.ts +1 -1
  536. package/table/table-column.component.d.ts +32 -8
  537. package/table/table-skeleton.component.d.ts +3 -12
  538. package/table/table.component.d.ts +3 -5
  539. package/tabs/tabs.component.d.ts +1 -2
  540. package/tag/tag.component.d.ts +7 -3
  541. package/time-picker/inner/inner-time-picker.component.d.ts +2 -4
  542. package/time-picker/time-picker-panel.component.d.ts +1 -2
  543. package/time-picker/time-picker.component.d.ts +1 -2
  544. package/timeline/timeline-item.component.d.ts +1 -3
  545. package/timeline/timeline.component.d.ts +1 -3
  546. package/tooltip/tooltip.component.d.ts +1 -2
  547. package/tooltip/tooltip.directive.d.ts +6 -9
  548. package/tooltip/tooltip.service.d.ts +2 -4
  549. package/transfer/transfer-list.component.d.ts +1 -2
  550. package/tree/tree-node.component.d.ts +5 -21
  551. package/tree/tree.component.d.ts +1 -2
  552. package/tree-select/tree-select.component.d.ts +5 -6
  553. package/typography/bg-color.directive.d.ts +0 -2
  554. package/typography/text-color.directive.d.ts +1 -2
  555. package/upload/file-select-base.d.ts +2 -3
  556. package/upload/file-select.component.d.ts +1 -0
  557. package/upload/upload.service.d.ts +0 -2
  558. package/watermark/watermark.directive.d.ts +1 -2
@@ -1,15 +1,22 @@
1
1
  import { isUndefinedOrNull } from 'ngx-tethys/util';
2
2
  import { of, Subject } from 'rxjs';
3
3
  import { debounceTime, distinctUntilChanged, filter, switchMap, takeUntil } from 'rxjs/operators';
4
- import { Injectable } from '@angular/core';
4
+ import { Injectable, inject } from '@angular/core';
5
5
  import { FormGroupDirective, NgForm } from '@angular/forms';
6
6
  import { ERROR_VALUE_REPLACE_REGEX, ThyFormValidatorLoader } from './form-validator-loader';
7
7
  import * as i0 from "@angular/core";
8
- import * as i1 from "./form-validator-loader";
9
8
  /**
10
9
  * @private
11
10
  */
12
11
  export class ThyFormValidatorService {
12
+ constructor() {
13
+ this.thyFormValidateLoader = inject(ThyFormValidatorLoader);
14
+ this.errors = [];
15
+ this._controls = [];
16
+ // 记录所有元素的验证信息
17
+ this.validations = {};
18
+ this._destroy$ = new Subject();
19
+ }
13
20
  _getElement(name) {
14
21
  const element = this._formElement.elements[name];
15
22
  if (element) {
@@ -135,14 +142,6 @@ export class ThyFormValidatorService {
135
142
  _getValidateOn() {
136
143
  return (this._config && this._config.validateOn) || this.thyFormValidateLoader.validateOn;
137
144
  }
138
- constructor(thyFormValidateLoader) {
139
- this.thyFormValidateLoader = thyFormValidateLoader;
140
- this.errors = [];
141
- this._controls = [];
142
- // 记录所有元素的验证信息
143
- this.validations = {};
144
- this._destroy$ = new Subject();
145
- }
146
145
  initialize(ngForm, formElement) {
147
146
  this._ngForm = ngForm;
148
147
  this._formElement = formElement;
@@ -244,10 +243,10 @@ export class ThyFormValidatorService {
244
243
  ngOnDestroy() {
245
244
  this._destroy$.next();
246
245
  }
247
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormValidatorService, deps: [{ token: i1.ThyFormValidatorLoader }], target: i0.ɵɵFactoryTarget.Injectable }); }
246
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormValidatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
248
247
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormValidatorService }); }
249
248
  }
250
249
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormValidatorService, decorators: [{
251
250
  type: Injectable
252
- }], ctorParameters: () => [{ type: i1.ThyFormValidatorLoader }] });
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWxpZGF0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mb3JtL2Zvcm0tdmFsaWRhdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxHLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFvQyxrQkFBa0IsRUFBYSxNQUFNLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0gsT0FBTyxFQUFFLHlCQUF5QixFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUc1Rjs7R0FFRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFtQnhCLFdBQVcsQ0FBQyxJQUFZO1FBQzVCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLE9BQU8sQ0FBQztRQUNuQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBWTtRQUNuQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsV0FBVyxD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QUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDOzhHQWxSUSx1QkFBdUI7a0hBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICduZ3gtdGV0aHlzL3R5cGVzJztcbmltcG9ydCB7IGlzVW5kZWZpbmVkT3JOdWxsIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2xOYW1lLCBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nQ29udHJvbCwgTmdGb3JtLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBFUlJPUl9WQUxVRV9SRVBMQUNFX1JFR0VYLCBUaHlGb3JtVmFsaWRhdG9yTG9hZGVyIH0gZnJvbSAnLi9mb3JtLXZhbGlkYXRvci1sb2FkZXInO1xuaW1wb3J0IHsgVGh5Rm9ybVZhbGlkYXRvckNvbmZpZywgVGh5VmFsaWRhdGVPbiwgVGh5VmFsaWRhdGVSZXN1bHQgfSBmcm9tICcuL2Zvcm0uY2xhc3MnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUaHlGb3JtVmFsaWRhdG9yU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBfbmdGb3JtOiBOZ0Zvcm0gfCBGb3JtR3JvdXBEaXJlY3RpdmU7XG5cbiAgICBwcml2YXRlIF9mb3JtRWxlbWVudDogSFRNTEZvcm1FbGVtZW50O1xuXG4gICAgcHJpdmF0ZSBfY29uZmlnOiBUaHlGb3JtVmFsaWRhdG9yQ29uZmlnO1xuXG4gICAgcHVibGljIGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICAgIHByaXZhdGUgX2NvbnRyb2xzOiBOZ0NvbnRyb2xbXSA9IFtdO1xuXG4gICAgLy8g6K6w5b2V5omA5pyJ5YWD57Sg55qE6aqM6K+B5L+h5oGvXG4gICAgcHVibGljIHZhbGlkYXRpb25zOiBEaWN0aW9uYXJ5PHtcbiAgICAgICAgaGFzRXJyb3I/OiBib29sZWFuO1xuICAgICAgICBlcnJvck1lc3NhZ2VzPzogc3RyaW5nW107XG4gICAgfT4gPSB7fTtcblxuICAgIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHByaXZhdGUgX2dldEVsZW1lbnQobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLl9mb3JtRWxlbWVudC5lbGVtZW50c1tuYW1lXTtcbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1FbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYFtuYW1lPScke25hbWV9J11gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NsZWFyRWxlbWVudEVycm9yKG5hbWU6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy52YWxpZGF0aW9uc1tuYW1lXSAmJiB0aGlzLnZhbGlkYXRpb25zW25hbWVdLmhhc0Vycm9yKSB7XG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25zW25hbWVdLmhhc0Vycm9yID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25zW25hbWVdLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMudGh5Rm9ybVZhbGlkYXRlTG9hZGVyLnJlbW92ZUVycm9yKHRoaXMuX2dldEVsZW1lbnQobmFtZSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdHJ5R2V0VmFsaWRhdGlvbihuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgY29udHJvbHMgPSB0aGlzLl9nZXRDb250cm9scygpO1xuICAgICAgICBpZiAoIXRoaXMudmFsaWRhdGlvbnNbbmFtZV0pIHtcbiAgICAgICAgICAgIHRoaXMuX2luaXRpYWxpemVGb3JtQ29udHJvbFZhbGlkYXRpb24obmFtZSwgY29udHJvbHNbbmFtZV0gYXMgYW55KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy52YWxpZGF0aW9uc1tuYW1lXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9hZGRFcnJvcihtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5lcnJvcnMudW5zaGlmdChtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jbGVhckVycm9ycygpIHtcbiAgICAgICAgdGhpcy5lcnJvcnMgPSBbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRDb250cm9sVmFsaWRhdGVCeUNoYW5nZShjb250cm9sOiBOZ0NvbnRyb2wpIHtcbiAgICAgICAgY29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICAgICAgZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGVDb250cm9sKGNvbnRyb2wubmFtZSBhcyBzdHJpbmcpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoW10pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0Q29udHJvbFZhbGlkYXRlQnlCbHVyKGNvbnRyb2w6IE5nQ29udHJvbCkge1xuICAgICAgICBjb25zdCBlbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuX2dldEVsZW1lbnQoY29udHJvbC5uYW1lIGFzIHN0cmluZyk7XG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICAvLyDnu6fmib/kuoYgQWJzdHJhY3RDb250cm9sVmFsdWVBY2Nlc3NvciDnmoToh6rlrprkuYkgQWNjZXNzb3LvvIzpgJrov4cgX19vbkJsdXJWYWxpZGF0aW9uIOaOp+WItuinpuWPkemqjOivgeWHveaVsFxuICAgICAgICAgICAgaWYgKGNvbnRyb2wudmFsdWVBY2Nlc3NvclsnX19vbkJsdXJWYWxpZGF0aW9uJ10pIHtcbiAgICAgICAgICAgICAgICBjb250cm9sLnZhbHVlQWNjZXNzb3JbJ19fb25CbHVyVmFsaWRhdGlvbiddID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRlQ29udHJvbChjb250cm9sLm5hbWUgYXMgc3RyaW5nKTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBlbGVtZW50Lm9uYmx1ciA9IChldmVudDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRlQ29udHJvbChjb250cm9sLm5hbWUgYXMgc3RyaW5nKTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZUZvcm1Db250cm9sVmFsaWRhdGlvbihuYW1lOiBzdHJpbmcsIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IEZvcm1Db250cm9sTmFtZSB8IE5nQ29udHJvbCkge1xuICAgICAgICB0aGlzLnZhbGlkYXRpb25zW25hbWVdID0ge1xuICAgICAgICAgICAgaGFzRXJyb3I6IGZhbHNlLFxuICAgICAgICAgICAgZXJyb3JNZXNzYWdlczogW11cbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHRoaXMuX2dldFZhbGlkYXRlT24oKSA9PT0gJ2NoYW5nZScpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldENvbnRyb2xWYWxpZGF0ZUJ5Q2hhbmdlKGNvbnRyb2wgYXMgTmdDb250cm9sKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9nZXRWYWxpZGF0ZU9uKCkgPT09ICdibHVyJykge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NldENvbnRyb2xWYWxpZGF0ZUJ5Qmx1cihjb250cm9sIGFzIE5nQ29udHJvbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NsZWFyRWxlbWVudEVycm9yKG5hbWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NsZWFyRXJyb3JzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3Jlc3RGb3JtQ29udHJvbFZhbGlkYXRpb24obmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRpb24gPSB0aGlzLnZhbGlkYXRpb25zW25hbWVdO1xuICAgICAgICBpZiAodmFsaWRhdGlvbikge1xuICAgICAgICAgICAgdmFsaWRhdGlvbi5oYXNFcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgdmFsaWRhdGlvbi5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9mb3JtYXRWYWxpZGF0aW9uTWVzc2FnZShuYW1lOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZykge1xuICAgICAgICBjb25zdCBjb250cm9scyA9IHRoaXMuX2dldENvbnRyb2xzKCk7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSBjb250cm9sc1tuYW1lXTtcbiAgICAgICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybiBtZXNzYWdlLnJlcGxhY2UoRVJST1JfVkFMVUVfUkVQTEFDRV9SRUdFWCwgKHRhZywga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGtleSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXNVbmRlZmluZWRPck51bGwoY29udHJvbC5lcnJvcnNba2V5XVtrZXldKSA/IGNvbnRyb2wuZXJyb3JzW2tleV0ucmVxdWlyZWRMZW5ndGggOiBjb250cm9sLmVycm9yc1trZXldW2tleV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbWVzc2FnZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFZhbGlkYXRpb25NZXNzYWdlKG5hbWU6IHN0cmluZywgdmFsaWRhdGlvbkVycm9yOiBzdHJpbmcpIHtcbiAgICAgICAgbGV0IG1lc3NhZ2UgPSBudWxsO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLl9jb25maWcgJiZcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZy52YWxpZGF0aW9uTWVzc2FnZXMgJiZcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZy52YWxpZGF0aW9uTWVzc2FnZXNbbmFtZV0gJiZcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZy52YWxpZGF0aW9uTWVzc2FnZXNbbmFtZV1bdmFsaWRhdGlvbkVycm9yXVxuICAgICAgICApIHtcbiAgICAgICAgICAgIG1lc3NhZ2UgPSB0aGlzLl9jb25maWcudmFsaWRhdGlvbk1lc3NhZ2VzW25hbWVdW3ZhbGlkYXRpb25FcnJvcl07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtZXNzYWdlID0gdGhpcy50aHlGb3JtVmFsaWRhdGVMb2FkZXIuZ2V0RXJyb3JNZXNzYWdlKG5hbWUsIHZhbGlkYXRpb25FcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdFZhbGlkYXRpb25NZXNzYWdlKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFZhbGlkYXRpb25NZXNzYWdlcyhuYW1lOiBzdHJpbmcsIHZhbGlkYXRpb25FcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZXMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCB2YWxpZGF0aW9uRXJyb3IgaW4gdmFsaWRhdGlvbkVycm9ycykge1xuICAgICAgICAgICAgaWYgKHZhbGlkYXRpb25FcnJvcnMuaGFzT3duUHJvcGVydHkodmFsaWRhdGlvbkVycm9yKSkge1xuICAgICAgICAgICAgICAgIG1lc3NhZ2VzLnB1c2godGhpcy5fZ2V0VmFsaWRhdGlvbk1lc3NhZ2UobmFtZSwgdmFsaWRhdGlvbkVycm9yKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1lc3NhZ2VzO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldENvbnRyb2xWYWxpZGF0aW9uRXJyb3IobmFtZTogc3RyaW5nLCBlcnJvck1lc3NhZ2VzOiBzdHJpbmdbXSkge1xuICAgICAgICBjb25zdCB2YWxpZGF0aW9uID0gdGhpcy5fdHJ5R2V0VmFsaWRhdGlvbihuYW1lKTtcbiAgICAgICAgdmFsaWRhdGlvbi5lcnJvck1lc3NhZ2VzID0gZXJyb3JNZXNzYWdlcztcbiAgICAgICAgdmFsaWRhdGlvbi5oYXNFcnJvciA9IHRydWU7XG4gICAgICAgIHRoaXMudGh5Rm9ybVZhbGlkYXRlTG9hZGVyLnNob3dFcnJvcih0aGlzLl9nZXRFbGVtZW50KG5hbWUpLCBlcnJvck1lc3NhZ2VzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRWYWxpZGF0ZU9uKCk6IFRoeVZhbGlkYXRlT24ge1xuICAgICAgICByZXR1cm4gKHRoaXMuX2NvbmZpZyAmJiB0aGlzLl9jb25maWcudmFsaWRhdGVPbikgfHwgdGhpcy50aHlGb3JtVmFsaWRhdGVMb2FkZXIudmFsaWRhdGVPbjtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRoeUZvcm1WYWxpZGF0ZUxvYWRlcjogVGh5Rm9ybVZhbGlkYXRvckxvYWRlcikge31cblxuICAgIGluaXRpYWxpemUobmdGb3JtOiBOZ0Zvcm0gfCBGb3JtR3JvdXBEaXJlY3RpdmUsIGZvcm1FbGVtZW50OiBIVE1MRm9ybUVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5fbmdGb3JtID0gbmdGb3JtO1xuICAgICAgICB0aGlzLl9mb3JtRWxlbWVudCA9IGZvcm1FbGVtZW50O1xuICAgIH1cblxuICAgIGluaXRpYWxpemVGb3JtQ29udHJvbHNWYWxpZGF0aW9uKGNvbnRyb2xzOiBOZ0NvbnRyb2xbXSkge1xuICAgICAgICBpZiAodGhpcy5fZ2V0VmFsaWRhdGVPbigpICE9PSAnc3VibWl0Jykge1xuICAgICAgICAgICAgKGNvbnRyb2xzIHx8IFtdKS5mb3JFYWNoKChjb250cm9sOiBOZ0NvbnRyb2wpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX2NvbnRyb2xzLmZpbmQoaXRlbSA9PiBpdGVtLm5hbWUgPT09IGNvbnRyb2wubmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faW5pdGlhbGl6ZUZvcm1Db250cm9sVmFsaWRhdGlvbihjb250cm9sLm5hbWUgYXMgc3RyaW5nLCBjb250cm9sKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuX2NvbnRyb2xzID0gY29udHJvbHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRWYWxpZGF0b3JDb25maWcoY29uZmlnOiBUaHlGb3JtVmFsaWRhdG9yQ29uZmlnKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRDb250cm9scygpIHtcbiAgICAgICAgaWYgKHRoaXMuX25nRm9ybSBpbnN0YW5jZW9mIE5nRm9ybSkge1xuICAgICAgICAgICAgcmV0dXJuICh0aGlzLl9uZ0Zvcm0gYXMgTmdGb3JtKS5jb250cm9scztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9uZ0Zvcm0gaW5zdGFuY2VvZiBGb3JtR3JvdXBEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xzID0ge307XG4gICAgICAgICAgICAodGhpcy5fbmdGb3JtIGFzIEZvcm1Hcm91cERpcmVjdGl2ZSkuZGlyZWN0aXZlcy5mb3JFYWNoKGRpcmVjdGl2ZSA9PiB7XG4gICAgICAgICAgICAgICAgY29udHJvbHNbZGlyZWN0aXZlLm5hbWVdID0gZGlyZWN0aXZlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gY29udHJvbHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRDb250cm9sQnlOYW1lKG5hbWU6IHN0cmluZyk6IEFic3RyYWN0Q29udHJvbCB8IEZvcm1Db250cm9sTmFtZSB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xzID0gdGhpcy5fZ2V0Q29udHJvbHMoKTtcbiAgICAgICAgcmV0dXJuIGNvbnRyb2xzW25hbWVdO1xuICAgIH1cblxuICAgIHZhbGlkYXRlQ29udHJvbChuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fY2xlYXJFbGVtZW50RXJyb3IobmFtZSk7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLl9nZXRDb250cm9sQnlOYW1lKG5hbWUpO1xuICAgICAgICBpZiAoY29udHJvbCAmJiBjb250cm9sLmludmFsaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZXMgPSB0aGlzLl9nZXRWYWxpZGF0aW9uTWVzc2FnZXMobmFtZSwgY29udHJvbC5lcnJvcnMpO1xuICAgICAgICAgICAgdGhpcy5fc2V0Q29udHJvbFZhbGlkYXRpb25FcnJvcihuYW1lLCBlcnJvck1lc3NhZ2VzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdmFsaWQ6IGNvbnRyb2wudmFsaWQsXG4gICAgICAgICAgICBjb250cm9sOiBjb250cm9sLFxuICAgICAgICAgICAgZWxlbWVudDogdGhpcy5fZ2V0RWxlbWVudChuYW1lKVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHZhbGlkYXRlQ29udHJvbHMoKSB7XG4gICAgICAgIC8vIOS4u+imgeaYryDml6Dms5Xmo4DmtYvliLAgbmdGb3JtIOeahCBjb250cm9scyDnmoTlj5jljJbvvIzmiJbogIXmmK/miJHmsqHmnInmib7liLBcbiAgICAgICAgLy8g6aqM6K+B55qE5pe25YCZ5b6q546vIG5nRm9ybSDnmoQgY29udHJvbHMg6aqM6K+BXG4gICAgICAgIC8vIOWPkeeOsOayoeaciSB2YWxpZGF0aW9uIOWIneWni+WMluS4gOS4qu+8jOW3sue7j+WtmOWcqOS4jeS8mumHjeaWsOWIneWni+WMlu+8jOS/neWtmOe8k+WtmOaVsOaNrlxuICAgICAgICBjb25zdCByZXN1bHRzID0gW107XG4gICAgICAgIGNvbnN0IGNvbnRyb2xzID0gdGhpcy5fZ2V0Q29udHJvbHMoKTtcbiAgICAgICAgZm9yIChjb25zdCBuYW1lIGluIGNvbnRyb2xzKSB7XG4gICAgICAgICAgICBpZiAoY29udHJvbHMuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90cnlHZXRWYWxpZGF0aW9uKG5hbWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudmFsaWRhdGVDb250cm9sKG5hbWUpO1xuICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChyZXN1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIOenu+mZpOW3sue7j+S4jeWtmOWcqOeahCB2YWxpZGF0aW9uXG4gICAgICAgIGNvbnN0IG5hbWVzID0gT2JqZWN0LmtleXModGhpcy52YWxpZGF0aW9ucyk7XG4gICAgICAgIG5hbWVzLmZvckVhY2gobmFtZSA9PiB7XG4gICAgICAgICAgICBpZiAoIWNvbnRyb2xzW25hbWVdKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMudmFsaWRhdGlvbnNbbmFtZV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9XG5cbiAgICBhZGRFcnJvcihtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fYWRkRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoJGV2ZW50PzogRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgdGhpcy5fbmdGb3JtLm9uU3VibWl0KCRldmVudCk7XG4gICAgICAgIHRoaXMudmFsaWRhdGVDb250cm9scygpO1xuICAgICAgICByZXR1cm4gdGhpcy5fbmdGb3JtLnZhbGlkO1xuICAgIH1cblxuICAgIHZhbGlkYXRlV2l0aERldGFpbCgkZXZlbnQ/OiBFdmVudCk6IFRoeVZhbGlkYXRlUmVzdWx0IHtcbiAgICAgICAgdGhpcy5fbmdGb3JtLm9uU3VibWl0KCRldmVudCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdHMgPSB0aGlzLnZhbGlkYXRlQ29udHJvbHMoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbGlkOiB0aGlzLl9uZ0Zvcm0udmFsaWQsXG4gICAgICAgICAgICBpbnZhbGlkQ29udHJvbHM6IHJlc3VsdHMuZmlsdGVyKHJlcyA9PiAhcmVzLnZhbGlkKSxcbiAgICAgICAgICAgIHZhbGlkQ29udHJvbHM6IHJlc3VsdHMuZmlsdGVyKHJlcyA9PiByZXMudmFsaWQpXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcmVzZXQoKSB7XG4gICAgICAgIHRoaXMuX25nRm9ybS5yZXNldCgpO1xuICAgICAgICBmb3IgKGNvbnN0IG5hbWUgaW4gdGhpcy52YWxpZGF0aW9ucykge1xuICAgICAgICAgICAgaWYgKHRoaXMudmFsaWRhdGlvbnMuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZXN0Rm9ybUNvbnRyb2xWYWxpZGF0aW9uKG5hbWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NsZWFyRWxlbWVudEVycm9yKG5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0RWxlbWVudEVycm9yTWVzc2FnZShuYW1lOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9jbGVhckVsZW1lbnRFcnJvcihuYW1lKTtcbiAgICAgICAgdGhpcy5fc2V0Q29udHJvbFZhbGlkYXRpb25FcnJvcihuYW1lLCBbbWVzc2FnZV0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgfVxufVxuIl19
251
+ }] });
252
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWxpZGF0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9mb3JtL2Zvcm0tdmFsaWRhdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxHLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBb0Msa0JBQWtCLEVBQWEsTUFBTSxFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBRTNILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUc1Rjs7R0FFRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFEcEM7UUFFWSwwQkFBcUIsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQVF4RCxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBRXJCLGNBQVMsR0FBZ0IsRUFBRSxDQUFDO1FBRXBDLGNBQWM7UUFDUCxnQkFBVyxHQUdiLEVBQUUsQ0FBQztRQUVBLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0tBZ1EzQztJQTlQVyxXQUFXLENBQUMsSUFBWTtRQUM1QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0wsQ0FBQztJQUVPLGtCQUFrQixDQUFDLElBQVk7UUFDbkMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNuRSxDQUFDO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQVk7UUFDbEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFRLENBQUMsQ0FBQztRQUN2RSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxTQUFTLENBQUMsT0FBZTtRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sWUFBWTtRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU8sMkJBQTJCLENBQUMsT0FBa0I7UUFDbEQsT0FBTyxDQUFDLFlBQVk7YUFDZixJQUFJLENBQ0QsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixvQkFBb0IsRUFBRSxFQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFjLENBQUMsQ0FBQztZQUM3QyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDTDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxPQUFrQjtRQUNoRCxNQUFNLE9BQU8sR0FBZ0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBYyxDQUFDLENBQUM7UUFDdEUsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNWLGdGQUFnRjtZQUNoRixJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxPQUFPLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsR0FBRyxFQUFFO29CQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFjLENBQUMsQ0FBQztnQkFDakQsQ0FBQyxDQUFDO1lBQ04sQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7b0JBQ25DLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQWMsQ0FBQyxDQUFDO2dCQUNqRCxDQUFDLENBQUM7WUFDTixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFTyxnQ0FBZ0MsQ0FBQyxJQUFZLEVBQUUsT0FBc0Q7UUFDekcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRztZQUNyQixRQUFRLEVBQUUsS0FBSztZQUNmLGFBQWEsRUFBRSxFQUFFO1NBQ3BCLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBb0IsQ0FBQyxDQUFDO1FBQzNELENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQ25DLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFvQixDQUFDLENBQUM7WUFDekQsQ0FBQztZQUVELE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2xFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFTywwQkFBMEIsQ0FBQyxJQUFZO1FBQzNDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNiLFVBQVUsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQzVCLFVBQVUsQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLENBQUM7SUFDTCxDQUFDO0lBRU8sd0JBQXdCLENBQUMsSUFBWSxFQUFFLE9BQWU7UUFDMUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLHlCQUF5QixFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUMzRCxJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUNOLE9BQU8saUJBQWlCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdkgsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLE9BQU8sQ0FBQztRQUNuQixDQUFDO0lBQ0wsQ0FBQztJQUVPLHFCQUFxQixDQUFDLElBQVksRUFBRSxlQUF1QjtRQUMvRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFDSSxJQUFJLENBQUMsT0FBTztZQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQ3hELENBQUM7WUFDQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNyRSxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNoRixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxJQUFZLEVBQUUsZ0JBQWtDO1FBQzNFLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNwQixLQUFLLE1BQU0sZUFBZSxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDN0MsSUFBSSxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztnQkFDbkQsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDckUsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRU8sMEJBQTBCLENBQUMsSUFBWSxFQUFFLGFBQXVCO1FBQ3BFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxVQUFVLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUN6QyxVQUFVLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVPLGNBQWM7UUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDO0lBQzlGLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBbUMsRUFBRSxXQUE0QjtRQUN4RSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNwQyxDQUFDO0lBRUQsZ0NBQWdDLENBQUMsUUFBcUI7UUFDbEQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDckMsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBa0IsRUFBRSxFQUFFO2dCQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUMzRCxJQUFJLENBQUMsZ0NBQWdDLENBQUMsT0FBTyxDQUFDLElBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDM0UsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDOUIsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxNQUE4QjtRQUM3QyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUMxQixDQUFDO0lBRU8sWUFBWTtRQUNoQixJQUFJLElBQUksQ0FBQyxPQUFPLFlBQVksTUFBTSxFQUFFLENBQUM7WUFDakMsT0FBUSxJQUFJLENBQUMsT0FBa0IsQ0FBQyxRQUFRLENBQUM7UUFDN0MsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sWUFBWSxrQkFBa0IsRUFBRSxDQUFDO1lBQ3BELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsT0FBOEIsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNoRSxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sUUFBUSxDQUFDO1FBQ3BCLENBQUM7SUFDTCxDQUFDO0lBRU8saUJBQWlCLENBQUMsSUFBWTtRQUNsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDckMsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZO1FBQ3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE9BQU87WUFDSCxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7WUFDcEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1NBQ2xDLENBQUM7SUFDTixDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osMkNBQTJDO1FBQzNDLCtCQUErQjtRQUMvQiwyQ0FBMkM7UUFDM0MsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQyxLQUFLLE1BQU0sSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzFCLElBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzdCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekIsQ0FBQztRQUNMLENBQUM7UUFDRCxzQkFBc0I7UUFDdEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQWU7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQWM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBYztRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QyxPQUFPO1lBQ0gsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztZQUN6QixlQUFlLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUNsRCxhQUFhLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7U0FDbEQsQ0FBQztJQUNOLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELHNCQUFzQixDQUFDLElBQVksRUFBRSxPQUFlO1FBQ2hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsMEJBQTBCLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs4R0FsUlEsdUJBQXVCO2tIQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnbmd4LXRldGh5cy90eXBlcyc7XG5pbXBvcnQgeyBpc1VuZGVmaW5lZE9yTnVsbCB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2xOYW1lLCBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nQ29udHJvbCwgTmdGb3JtLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBFUlJPUl9WQUxVRV9SRVBMQUNFX1JFR0VYLCBUaHlGb3JtVmFsaWRhdG9yTG9hZGVyIH0gZnJvbSAnLi9mb3JtLXZhbGlkYXRvci1sb2FkZXInO1xuaW1wb3J0IHsgVGh5Rm9ybVZhbGlkYXRvckNvbmZpZywgVGh5VmFsaWRhdGVPbiwgVGh5VmFsaWRhdGVSZXN1bHQgfSBmcm9tICcuL2Zvcm0uY2xhc3MnO1xuXG4vKipcbiAqIEBwcml2YXRlXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUaHlGb3JtVmFsaWRhdG9yU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSB0aHlGb3JtVmFsaWRhdGVMb2FkZXIgPSBpbmplY3QoVGh5Rm9ybVZhbGlkYXRvckxvYWRlcik7XG5cbiAgICBwcml2YXRlIF9uZ0Zvcm06IE5nRm9ybSB8IEZvcm1Hcm91cERpcmVjdGl2ZTtcblxuICAgIHByaXZhdGUgX2Zvcm1FbGVtZW50OiBIVE1MRm9ybUVsZW1lbnQ7XG5cbiAgICBwcml2YXRlIF9jb25maWc6IFRoeUZvcm1WYWxpZGF0b3JDb25maWc7XG5cbiAgICBwdWJsaWMgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBfY29udHJvbHM6IE5nQ29udHJvbFtdID0gW107XG5cbiAgICAvLyDorrDlvZXmiYDmnInlhYPntKDnmoTpqozor4Hkv6Hmga9cbiAgICBwdWJsaWMgdmFsaWRhdGlvbnM6IERpY3Rpb25hcnk8e1xuICAgICAgICBoYXNFcnJvcj86IGJvb2xlYW47XG4gICAgICAgIGVycm9yTWVzc2FnZXM/OiBzdHJpbmdbXTtcbiAgICB9PiA9IHt9O1xuXG4gICAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSBfZ2V0RWxlbWVudChuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2Zvcm1FbGVtZW50LmVsZW1lbnRzW25hbWVdO1xuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZm9ybUVsZW1lbnQucXVlcnlTZWxlY3RvcihgW25hbWU9JyR7bmFtZX0nXWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY2xlYXJFbGVtZW50RXJyb3IobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLnZhbGlkYXRpb25zW25hbWVdICYmIHRoaXMudmFsaWRhdGlvbnNbbmFtZV0uaGFzRXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbnNbbmFtZV0uaGFzRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbnNbbmFtZV0uZXJyb3JNZXNzYWdlcyA9IFtdO1xuICAgICAgICAgICAgdGhpcy50aHlGb3JtVmFsaWRhdGVMb2FkZXIucmVtb3ZlRXJyb3IodGhpcy5fZ2V0RWxlbWVudChuYW1lKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF90cnlHZXRWYWxpZGF0aW9uKG5hbWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBjb250cm9scyA9IHRoaXMuX2dldENvbnRyb2xzKCk7XG4gICAgICAgIGlmICghdGhpcy52YWxpZGF0aW9uc1tuYW1lXSkge1xuICAgICAgICAgICAgdGhpcy5faW5pdGlhbGl6ZUZvcm1Db250cm9sVmFsaWRhdGlvbihuYW1lLCBjb250cm9sc1tuYW1lXSBhcyBhbnkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRpb25zW25hbWVdO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2FkZEVycm9yKG1lc3NhZ2U6IHN0cmluZykge1xuICAgICAgICB0aGlzLmVycm9ycy51bnNoaWZ0KG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NsZWFyRXJyb3JzKCkge1xuICAgICAgICB0aGlzLmVycm9ycyA9IFtdO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldENvbnRyb2xWYWxpZGF0ZUJ5Q2hhbmdlKGNvbnRyb2w6IE5nQ29udHJvbCkge1xuICAgICAgICBjb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUNvbnRyb2woY29udHJvbC5uYW1lIGFzIHN0cmluZyk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRDb250cm9sVmFsaWRhdGVCeUJsdXIoY29udHJvbDogTmdDb250cm9sKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy5fZ2V0RWxlbWVudChjb250cm9sLm5hbWUgYXMgc3RyaW5nKTtcbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIC8vIOe7p+aJv+S6hiBBYnN0cmFjdENvbnRyb2xWYWx1ZUFjY2Vzc29yIOeahOiHquWumuS5iSBBY2Nlc3Nvcu+8jOmAmui/hyBfX29uQmx1clZhbGlkYXRpb24g5o6n5Yi26Kem5Y+R6aqM6K+B5Ye95pWwXG4gICAgICAgICAgICBpZiAoY29udHJvbC52YWx1ZUFjY2Vzc29yWydfX29uQmx1clZhbGlkYXRpb24nXSkge1xuICAgICAgICAgICAgICAgIGNvbnRyb2wudmFsdWVBY2Nlc3NvclsnX19vbkJsdXJWYWxpZGF0aW9uJ10gPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGVDb250cm9sKGNvbnRyb2wubmFtZSBhcyBzdHJpbmcpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQub25ibHVyID0gKGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGVDb250cm9sKGNvbnRyb2wubmFtZSBhcyBzdHJpbmcpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9pbml0aWFsaXplRm9ybUNvbnRyb2xWYWxpZGF0aW9uKG5hbWU6IHN0cmluZywgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgRm9ybUNvbnRyb2xOYW1lIHwgTmdDb250cm9sKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGlvbnNbbmFtZV0gPSB7XG4gICAgICAgICAgICBoYXNFcnJvcjogZmFsc2UsXG4gICAgICAgICAgICBlcnJvck1lc3NhZ2VzOiBbXVxuICAgICAgICB9O1xuICAgICAgICBpZiAodGhpcy5fZ2V0VmFsaWRhdGVPbigpID09PSAnY2hhbmdlJykge1xuICAgICAgICAgICAgdGhpcy5fc2V0Q29udHJvbFZhbGlkYXRlQnlDaGFuZ2UoY29udHJvbCBhcyBOZ0NvbnRyb2wpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2dldFZhbGlkYXRlT24oKSA9PT0gJ2JsdXInKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0Q29udHJvbFZhbGlkYXRlQnlCbHVyKGNvbnRyb2wgYXMgTmdDb250cm9sKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2xlYXJFbGVtZW50RXJyb3IobmFtZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2xlYXJFcnJvcnMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVzdEZvcm1Db250cm9sVmFsaWRhdGlvbihuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvbiA9IHRoaXMudmFsaWRhdGlvbnNbbmFtZV07XG4gICAgICAgIGlmICh2YWxpZGF0aW9uKSB7XG4gICAgICAgICAgICB2YWxpZGF0aW9uLmhhc0Vycm9yID0gZmFsc2U7XG4gICAgICAgICAgICB2YWxpZGF0aW9uLmVycm9yTWVzc2FnZXMgPSBbXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Zvcm1hdFZhbGlkYXRpb25NZXNzYWdlKG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xzID0gdGhpcy5fZ2V0Q29udHJvbHMoKTtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IGNvbnRyb2xzW25hbWVdO1xuICAgICAgICBpZiAoY29udHJvbCkge1xuICAgICAgICAgICAgcmV0dXJuIG1lc3NhZ2UucmVwbGFjZShFUlJPUl9WQUxVRV9SRVBMQUNFX1JFR0VYLCAodGFnLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpc1VuZGVmaW5lZE9yTnVsbChjb250cm9sLmVycm9yc1trZXldW2tleV0pID8gY29udHJvbC5lcnJvcnNba2V5XS5yZXF1aXJlZExlbmd0aCA6IGNvbnRyb2wuZXJyb3JzW2tleV1ba2V5XTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0VmFsaWRhdGlvbk1lc3NhZ2UobmFtZTogc3RyaW5nLCB2YWxpZGF0aW9uRXJyb3I6IHN0cmluZykge1xuICAgICAgICBsZXQgbWVzc2FnZSA9IG51bGw7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZyAmJlxuICAgICAgICAgICAgdGhpcy5fY29uZmlnLnZhbGlkYXRpb25NZXNzYWdlcyAmJlxuICAgICAgICAgICAgdGhpcy5fY29uZmlnLnZhbGlkYXRpb25NZXNzYWdlc1tuYW1lXSAmJlxuICAgICAgICAgICAgdGhpcy5fY29uZmlnLnZhbGlkYXRpb25NZXNzYWdlc1tuYW1lXVt2YWxpZGF0aW9uRXJyb3JdXG4gICAgICAgICkge1xuICAgICAgICAgICAgbWVzc2FnZSA9IHRoaXMuX2NvbmZpZy52YWxpZGF0aW9uTWVzc2FnZXNbbmFtZV1bdmFsaWRhdGlvbkVycm9yXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1lc3NhZ2UgPSB0aGlzLnRoeUZvcm1WYWxpZGF0ZUxvYWRlci5nZXRFcnJvck1lc3NhZ2UobmFtZSwgdmFsaWRhdGlvbkVycm9yKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZm9ybWF0VmFsaWRhdGlvbk1lc3NhZ2UobmFtZSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0VmFsaWRhdGlvbk1lc3NhZ2VzKG5hbWU6IHN0cmluZywgdmFsaWRhdGlvbkVycm9yczogVmFsaWRhdGlvbkVycm9ycykge1xuICAgICAgICBjb25zdCBtZXNzYWdlcyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHZhbGlkYXRpb25FcnJvciBpbiB2YWxpZGF0aW9uRXJyb3JzKSB7XG4gICAgICAgICAgICBpZiAodmFsaWRhdGlvbkVycm9ycy5oYXNPd25Qcm9wZXJ0eSh2YWxpZGF0aW9uRXJyb3IpKSB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZXMucHVzaCh0aGlzLl9nZXRWYWxpZGF0aW9uTWVzc2FnZShuYW1lLCB2YWxpZGF0aW9uRXJyb3IpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWVzc2FnZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2V0Q29udHJvbFZhbGlkYXRpb25FcnJvcihuYW1lOiBzdHJpbmcsIGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdKSB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRpb24gPSB0aGlzLl90cnlHZXRWYWxpZGF0aW9uKG5hbWUpO1xuICAgICAgICB2YWxpZGF0aW9uLmVycm9yTWVzc2FnZXMgPSBlcnJvck1lc3NhZ2VzO1xuICAgICAgICB2YWxpZGF0aW9uLmhhc0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50aHlGb3JtVmFsaWRhdGVMb2FkZXIuc2hvd0Vycm9yKHRoaXMuX2dldEVsZW1lbnQobmFtZSksIGVycm9yTWVzc2FnZXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFZhbGlkYXRlT24oKTogVGh5VmFsaWRhdGVPbiB7XG4gICAgICAgIHJldHVybiAodGhpcy5fY29uZmlnICYmIHRoaXMuX2NvbmZpZy52YWxpZGF0ZU9uKSB8fCB0aGlzLnRoeUZvcm1WYWxpZGF0ZUxvYWRlci52YWxpZGF0ZU9uO1xuICAgIH1cblxuICAgIGluaXRpYWxpemUobmdGb3JtOiBOZ0Zvcm0gfCBGb3JtR3JvdXBEaXJlY3RpdmUsIGZvcm1FbGVtZW50OiBIVE1MRm9ybUVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5fbmdGb3JtID0gbmdGb3JtO1xuICAgICAgICB0aGlzLl9mb3JtRWxlbWVudCA9IGZvcm1FbGVtZW50O1xuICAgIH1cblxuICAgIGluaXRpYWxpemVGb3JtQ29udHJvbHNWYWxpZGF0aW9uKGNvbnRyb2xzOiBOZ0NvbnRyb2xbXSkge1xuICAgICAgICBpZiAodGhpcy5fZ2V0VmFsaWRhdGVPbigpICE9PSAnc3VibWl0Jykge1xuICAgICAgICAgICAgKGNvbnRyb2xzIHx8IFtdKS5mb3JFYWNoKChjb250cm9sOiBOZ0NvbnRyb2wpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX2NvbnRyb2xzLmZpbmQoaXRlbSA9PiBpdGVtLm5hbWUgPT09IGNvbnRyb2wubmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faW5pdGlhbGl6ZUZvcm1Db250cm9sVmFsaWRhdGlvbihjb250cm9sLm5hbWUgYXMgc3RyaW5nLCBjb250cm9sKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuX2NvbnRyb2xzID0gY29udHJvbHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRWYWxpZGF0b3JDb25maWcoY29uZmlnOiBUaHlGb3JtVmFsaWRhdG9yQ29uZmlnKSB7XG4gICAgICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRDb250cm9scygpIHtcbiAgICAgICAgaWYgKHRoaXMuX25nRm9ybSBpbnN0YW5jZW9mIE5nRm9ybSkge1xuICAgICAgICAgICAgcmV0dXJuICh0aGlzLl9uZ0Zvcm0gYXMgTmdGb3JtKS5jb250cm9scztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9uZ0Zvcm0gaW5zdGFuY2VvZiBGb3JtR3JvdXBEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2xzID0ge307XG4gICAgICAgICAgICAodGhpcy5fbmdGb3JtIGFzIEZvcm1Hcm91cERpcmVjdGl2ZSkuZGlyZWN0aXZlcy5mb3JFYWNoKGRpcmVjdGl2ZSA9PiB7XG4gICAgICAgICAgICAgICAgY29udHJvbHNbZGlyZWN0aXZlLm5hbWVdID0gZGlyZWN0aXZlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gY29udHJvbHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRDb250cm9sQnlOYW1lKG5hbWU6IHN0cmluZyk6IEFic3RyYWN0Q29udHJvbCB8IEZvcm1Db250cm9sTmFtZSB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xzID0gdGhpcy5fZ2V0Q29udHJvbHMoKTtcbiAgICAgICAgcmV0dXJuIGNvbnRyb2xzW25hbWVdO1xuICAgIH1cblxuICAgIHZhbGlkYXRlQ29udHJvbChuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fY2xlYXJFbGVtZW50RXJyb3IobmFtZSk7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLl9nZXRDb250cm9sQnlOYW1lKG5hbWUpO1xuICAgICAgICBpZiAoY29udHJvbCAmJiBjb250cm9sLmludmFsaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZXMgPSB0aGlzLl9nZXRWYWxpZGF0aW9uTWVzc2FnZXMobmFtZSwgY29udHJvbC5lcnJvcnMpO1xuICAgICAgICAgICAgdGhpcy5fc2V0Q29udHJvbFZhbGlkYXRpb25FcnJvcihuYW1lLCBlcnJvck1lc3NhZ2VzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdmFsaWQ6IGNvbnRyb2wudmFsaWQsXG4gICAgICAgICAgICBjb250cm9sOiBjb250cm9sLFxuICAgICAgICAgICAgZWxlbWVudDogdGhpcy5fZ2V0RWxlbWVudChuYW1lKVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHZhbGlkYXRlQ29udHJvbHMoKSB7XG4gICAgICAgIC8vIOS4u+imgeaYryDml6Dms5Xmo4DmtYvliLAgbmdGb3JtIOeahCBjb250cm9scyDnmoTlj5jljJbvvIzmiJbogIXmmK/miJHmsqHmnInmib7liLBcbiAgICAgICAgLy8g6aqM6K+B55qE5pe25YCZ5b6q546vIG5nRm9ybSDnmoQgY29udHJvbHMg6aqM6K+BXG4gICAgICAgIC8vIOWPkeeOsOayoeaciSB2YWxpZGF0aW9uIOWIneWni+WMluS4gOS4qu+8jOW3sue7j+WtmOWcqOS4jeS8mumHjeaWsOWIneWni+WMlu+8jOS/neWtmOe8k+WtmOaVsOaNrlxuICAgICAgICBjb25zdCByZXN1bHRzID0gW107XG4gICAgICAgIGNvbnN0IGNvbnRyb2xzID0gdGhpcy5fZ2V0Q29udHJvbHMoKTtcbiAgICAgICAgZm9yIChjb25zdCBuYW1lIGluIGNvbnRyb2xzKSB7XG4gICAgICAgICAgICBpZiAoY29udHJvbHMuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90cnlHZXRWYWxpZGF0aW9uKG5hbWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudmFsaWRhdGVDb250cm9sKG5hbWUpO1xuICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChyZXN1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIOenu+mZpOW3sue7j+S4jeWtmOWcqOeahCB2YWxpZGF0aW9uXG4gICAgICAgIGNvbnN0IG5hbWVzID0gT2JqZWN0LmtleXModGhpcy52YWxpZGF0aW9ucyk7XG4gICAgICAgIG5hbWVzLmZvckVhY2gobmFtZSA9PiB7XG4gICAgICAgICAgICBpZiAoIWNvbnRyb2xzW25hbWVdKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMudmFsaWRhdGlvbnNbbmFtZV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9XG5cbiAgICBhZGRFcnJvcihtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fYWRkRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoJGV2ZW50PzogRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgdGhpcy5fbmdGb3JtLm9uU3VibWl0KCRldmVudCk7XG4gICAgICAgIHRoaXMudmFsaWRhdGVDb250cm9scygpO1xuICAgICAgICByZXR1cm4gdGhpcy5fbmdGb3JtLnZhbGlkO1xuICAgIH1cblxuICAgIHZhbGlkYXRlV2l0aERldGFpbCgkZXZlbnQ/OiBFdmVudCk6IFRoeVZhbGlkYXRlUmVzdWx0IHtcbiAgICAgICAgdGhpcy5fbmdGb3JtLm9uU3VibWl0KCRldmVudCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdHMgPSB0aGlzLnZhbGlkYXRlQ29udHJvbHMoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbGlkOiB0aGlzLl9uZ0Zvcm0udmFsaWQsXG4gICAgICAgICAgICBpbnZhbGlkQ29udHJvbHM6IHJlc3VsdHMuZmlsdGVyKHJlcyA9PiAhcmVzLnZhbGlkKSxcbiAgICAgICAgICAgIHZhbGlkQ29udHJvbHM6IHJlc3VsdHMuZmlsdGVyKHJlcyA9PiByZXMudmFsaWQpXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcmVzZXQoKSB7XG4gICAgICAgIHRoaXMuX25nRm9ybS5yZXNldCgpO1xuICAgICAgICBmb3IgKGNvbnN0IG5hbWUgaW4gdGhpcy52YWxpZGF0aW9ucykge1xuICAgICAgICAgICAgaWYgKHRoaXMudmFsaWRhdGlvbnMuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZXN0Rm9ybUNvbnRyb2xWYWxpZGF0aW9uKG5hbWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NsZWFyRWxlbWVudEVycm9yKG5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0RWxlbWVudEVycm9yTWVzc2FnZShuYW1lOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9jbGVhckVsZW1lbnRFcnJvcihuYW1lKTtcbiAgICAgICAgdGhpcy5fc2V0Q29udHJvbFZhbGlkYXRpb25FcnJvcihuYW1lLCBbbWVzc2FnZV0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgfVxufVxuIl19
@@ -1,13 +1,11 @@
1
1
  import { keycodes } from 'ngx-tethys/util';
2
- import { ContentChildren, Directive, ElementRef, HostBinding, Inject, Input, NgZone, QueryList, Renderer2 } from '@angular/core';
2
+ import { ContentChildren, Directive, ElementRef, HostBinding, Input, NgZone, QueryList, Renderer2, inject } from '@angular/core';
3
3
  import { ControlContainer, NgControl } from '@angular/forms';
4
4
  import { useHostRenderer } from '@tethys/cdk/dom';
5
5
  import { ThyFormValidatorService } from './form-validator.service';
6
6
  import { THY_FORM_CONFIG } from './form.class';
7
7
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
8
8
  import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/forms";
10
- import * as i2 from "./form-validator.service";
11
9
  // 1. submit 按 Enter 键提交, Textare或包含[contenteditable]属性的元素 除外,需要按 Ctrl | Command + Enter 提交
12
10
  // 2. alwaysSubmit 不管是哪个元素 按 Enter 键都提交
13
11
  // 3. forbidSubmit Enter 键禁止提交
@@ -49,13 +47,13 @@ export class ThyFormDirective {
49
47
  set thyFormValidatorConfig(config) {
50
48
  this.validator.setValidatorConfig(config);
51
49
  }
52
- constructor(ngForm, elementRef, renderer, ngZone, validator, config) {
53
- this.ngForm = ngForm;
54
- this.elementRef = elementRef;
55
- this.renderer = renderer;
56
- this.ngZone = ngZone;
57
- this.validator = validator;
58
- this.config = config;
50
+ constructor() {
51
+ this.ngForm = inject(ControlContainer);
52
+ this.elementRef = inject(ElementRef);
53
+ this.renderer = inject(Renderer2);
54
+ this.ngZone = inject(NgZone);
55
+ this.validator = inject(ThyFormValidatorService);
56
+ this.config = inject(THY_FORM_CONFIG);
59
57
  this.initialized = false;
60
58
  this.hostRenderer = useHostRenderer();
61
59
  this.wasValidated = false;
@@ -128,7 +126,7 @@ export class ThyFormDirective {
128
126
  this._unsubscribe = null;
129
127
  }
130
128
  }
131
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormDirective, deps: [{ token: i1.ControlContainer }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i2.ThyFormValidatorService }, { token: THY_FORM_CONFIG }], target: i0.ɵɵFactoryTarget.Directive }); }
129
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
132
130
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ThyFormDirective, isStandalone: true, selector: "[thyForm],[thy-form]", inputs: { thyLayout: "thyLayout", thyEnterKeyMode: "thyEnterKeyMode", thyFormValidatorConfig: "thyFormValidatorConfig" }, host: { properties: { "class.was-validated": "this.wasValidated" }, classAttribute: "thy-form" }, providers: [ThyFormValidatorService], queries: [{ propertyName: "controls", predicate: NgControl, descendants: true }], exportAs: ["thyForm"], ngImport: i0 }); }
133
131
  }
134
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormDirective, decorators: [{
@@ -142,10 +140,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
142
140
  },
143
141
  standalone: true
144
142
  }]
145
- }], ctorParameters: () => [{ type: i1.ControlContainer }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i2.ThyFormValidatorService }, { type: undefined, decorators: [{
146
- type: Inject,
147
- args: [THY_FORM_CONFIG]
148
- }] }], propDecorators: { thyLayout: [{
143
+ }], ctorParameters: () => [], propDecorators: { thyLayout: [{
149
144
  type: Input
150
145
  }], thyEnterKeyMode: [{
151
146
  type: Input
@@ -160,4 +155,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
160
155
  descendants: true
161
156
  }]
162
157
  }] } });
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZm9ybS9mb3JtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUVILGVBQWUsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFHTixTQUFTLEVBQ1QsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQVUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBd0QsTUFBTSxjQUFjLENBQUM7QUFDckcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFFOUQsMkZBQTJGO0FBQzNGLHVDQUF1QztBQUN2QywrQkFBK0I7QUFDL0IsWUFBWTtBQUNaLE1BQU0sQ0FBTixJQUFZLGVBSVg7QUFKRCxXQUFZLGVBQWU7SUFDdkIsb0NBQWlCLENBQUE7SUFDakIsZ0RBQTZCLENBQUE7SUFDN0IsZ0RBQTZCLENBQUE7QUFDakMsQ0FBQyxFQUpXLGVBQWUsS0FBZixlQUFlLFFBSTFCO0FBRUQ7Ozs7R0FJRztBQVVILE1BQU0sT0FBTyxnQkFBZ0I7SUFPekI7Ozs7T0FJRztJQUNILElBQ0ksU0FBUyxDQUFDLEtBQW9CO1FBQzlCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLGFB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QUNKLGFBQWE7WUFDakIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQzs4R0F2SVEsZ0JBQWdCLGtLQThEYixlQUFlO2tHQTlEbEIsZ0JBQWdCLCtSQVBkLENBQUMsdUJBQXVCLENBQUMsbURBMERuQixTQUFTOzsyRkFuRGpCLGdCQUFnQjtrQkFUNUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDcEMsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsVUFBVTtxQkFDcEI7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkErRFEsTUFBTTsyQkFBQyxlQUFlO3lDQWpEdkIsU0FBUztzQkFEWixLQUFLO2dCQXVCRyxlQUFlO3NCQUF2QixLQUFLO2dCQU1GLHNCQUFzQjtzQkFEekIsS0FBSztnQkFLOEIsWUFBWTtzQkFBL0MsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBUzNCLFFBQVE7c0JBSGQsZUFBZTt1QkFBQyxTQUFTLEVBQUU7d0JBQ3hCLFdBQVcsRUFBRSxJQUFJO3FCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGtleWNvZGVzIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIE5nQ29udHJvbCwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcblxuaW1wb3J0IHsgVGh5Rm9ybVZhbGlkYXRvclNlcnZpY2UgfSBmcm9tICcuL2Zvcm0tdmFsaWRhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgVEhZX0ZPUk1fQ09ORklHLCBUaHlGb3JtQ29uZmlnLCBUaHlGb3JtTGF5b3V0LCBUaHlGb3JtVmFsaWRhdG9yQ29uZmlnIH0gZnJvbSAnLi9mb3JtLmNsYXNzJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbi8vIDEuIHN1Ym1pdCDmjIkgRW50ZXIg6ZSu5o+Q5LqkLCBUZXh0YXJl5oiW5YyF5ZCrW2NvbnRlbnRlZGl0YWJsZV3lsZ7mgKfnmoTlhYPntKAg6Zmk5aSW77yM6ZyA6KaB5oyJIEN0cmwgfCBDb21tYW5kICsgRW50ZXIg5o+Q5LqkXG4vLyAyLiBhbHdheXNTdWJtaXQg5LiN566h5piv5ZOq5Liq5YWD57SgIOaMiSBFbnRlciDplK7pg73mj5DkuqRcbi8vIDMuIGZvcmJpZFN1Ym1pdCBcYkVudGVyIOmUruemgeatouaPkOS6pFxuLy8g6buY6K6kIHN1Ym1pdFxuZXhwb3J0IGVudW0gVGh5RW50ZXJLZXlNb2RlIHtcbiAgICBzdWJtaXQgPSAnc3VibWl0JyxcbiAgICBhbHdheXNTdWJtaXQgPSAnYWx3YXlzU3VibWl0JyxcbiAgICBmb3JiaWRTdWJtaXQgPSAnZm9yYmlkU3VibWl0J1xufVxuXG4vKipcbiAqIOihqOWNlVxuICogQG5hbWUgdGh5Rm9ybSxbdGh5LWZvcm1dXG4gKiBAb3JkZXIgMTBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdGh5Rm9ybV0sW3RoeS1mb3JtXScsXG4gICAgcHJvdmlkZXJzOiBbVGh5Rm9ybVZhbGlkYXRvclNlcnZpY2VdLFxuICAgIGV4cG9ydEFzOiAndGh5Rm9ybScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1mb3JtJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlGb3JtRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgbGF5b3V0OiBUaHlGb3JtTGF5b3V0O1xuXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIC8qKlxuICAgICAqIOW4g+WxgO+8jOm7mOiupOawtOW5s+WxheS4rSBob3Jpem9udGFs77yM5YW25LuWMuenjeW4g+WxgOW+heW8gOWPkVxuICAgICAqIEB0eXBlIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZVxuICAgICAqIEBkZWZhdWx0IGhvcml6b250YWxcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlMYXlvdXQodmFsdWU6IFRoeUZvcm1MYXlvdXQpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmxheW91dCA9IHZhbHVlO1xuICAgICAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCB0aHlMYXlvdXQoKTogVGh5Rm9ybUxheW91dCB7XG4gICAgICAgIHJldHVybiB0aGlzLmxheW91dDtcbiAgICB9XG5cbiAgICBnZXQgaXNIb3Jpem9udGFsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXQgPT09ICdob3Jpem9udGFsJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFbnRlciDplK7mj5DkuqTmqKHlvI/jgIJgc3VibWl0YDogVGV4dGFyZWEg6ZyA6KaBIEN0cmwgfCBDb21tYW5kICsgRW50ZXIg5o+Q5Lqk77yM5YW25LuW5YWD57Sg55u05o6lIEVudGVyIOaPkOS6pO+8myBgYWx3YXlzU3VibWl0YDog5LiN566h5piv5LuA5LmI5YWD57SgIEVudGVyIOmDveaPkOS6pO+8myBgZm9yYmlkU3VibWl0YDogRW50ZXIg5LiN5o+Q5LqkXG4gICAgICogQHR5cGUgc3VibWl0IHwgYWx3YXlzU3VibWl0IHwgZm9yYmlkU3VibWl0XG4gICAgICogQGRlZmF1bHQgc3VibWl0XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RW50ZXJLZXlNb2RlOiBUaHlFbnRlcktleU1vZGU7XG5cbiAgICAvKipcbiAgICAgKiDooajljZXpqozor4Hop4TliJnphY3nva7pobkg77yI5pu05aSa5YaF5a655p+l55yL77yadGh5Rm9ybVZhbGlkYXRvckNvbmZpZ++8iVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUZvcm1WYWxpZGF0b3JDb25maWcoY29uZmlnOiBUaHlGb3JtVmFsaWRhdG9yQ29uZmlnKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdG9yLnNldFZhbGlkYXRvckNvbmZpZyhjb25maWcpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Mud2FzLXZhbGlkYXRlZCcpIHdhc1ZhbGlkYXRlZCA9IGZhbHNlO1xuXG4gICAgb25TdWJtaXRTdWNjZXNzOiAoJGV2ZW50OiBhbnkpID0+IHZvaWQ7XG5cbiAgICBwcml2YXRlIF91bnN1YnNjcmliZTogKCkgPT4gdm9pZDtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oTmdDb250cm9sLCB7XG4gICAgICAgIGRlc2NlbmRhbnRzOiB0cnVlXG4gICAgfSlcbiAgICBwdWJsaWMgY29udHJvbHM6IFF1ZXJ5TGlzdDxOZ0NvbnRyb2w+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbmdGb3JtOiBDb250cm9sQ29udGFpbmVyLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHVibGljIHZhbGlkYXRvcjogVGh5Rm9ybVZhbGlkYXRvclNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVEhZX0ZPUk1fQ09ORklHKSBwcml2YXRlIGNvbmZpZzogVGh5Rm9ybUNvbmZpZ1xuICAgICkge1xuICAgICAgICB0aGlzLmxheW91dCA9IHRoaXMuY29uZmlnLmxheW91dDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2tleWRvd24nLCB0aGlzLm9uS2V5ZG93bi5iaW5kKHRoaXMpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdG9yLmluaXRpYWxpemUodGhpcy5uZ0Zvcm0gYXMgTmdGb3JtLCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHRoaXMudmFsaWRhdG9yLmluaXRpYWxpemVGb3JtQ29udHJvbHNWYWxpZGF0aW9uKHRoaXMuY29udHJvbHMudG9BcnJheSgpKTtcbiAgICAgICAgdGhpcy5jb250cm9scy5jaGFuZ2VzLnN1YnNjcmliZShjb250cm9scyA9PiB7XG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRvci5pbml0aWFsaXplRm9ybUNvbnRyb2xzVmFsaWRhdGlvbih0aGlzLmNvbnRyb2xzLnRvQXJyYXkoKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHN1Ym1pdCgkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudmFsaWRhdG9yLnZhbGlkYXRlV2l0aERldGFpbCgkZXZlbnQpO1xuICAgICAgICBpZiAocmVzdWx0LnZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLm9uU3VibWl0U3VjY2VzcyAmJiB0aGlzLm9uU3VibWl0U3VjY2VzcygkZXZlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaW52YWxpZEVsZW1lbnQgPSByZXN1bHQuaW52YWxpZENvbnRyb2xzWzBdLmVsZW1lbnQ7XG4gICAgICAgICAgICBpbnZhbGlkRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlQ2xhc3NlcygpIHtcbiAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIudXBkYXRlQ2xhc3NCeU1hcCh7XG4gICAgICAgICAgICBbYHRoeS1mb3JtLSR7dGhpcy50aHlMYXlvdXR9YF06IHRydWVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3VibWl0UnVuSW5ab25lKCRldmVudDogYW55KSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN1Ym1pdCgkZXZlbnQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbktleWRvd24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJbnB1dCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGtleSA9ICRldmVudC53aGljaCB8fCAkZXZlbnQua2V5Q29kZTtcbiAgICAgICAgaWYgKGtleSA9PT0ga2V5Y29kZXMuRU5URVIgJiYgY3VycmVudElucHV0LnRhZ05hbWUpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy50aHlFbnRlcktleU1vZGUgfHwgdGhpcy50aHlFbnRlcktleU1vZGUgPT09IFRoeUVudGVyS2V5TW9kZS5zdWJtaXQpIHtcbiAgICAgICAgICAgICAgICAvLyBURVhUQVJFQeaIluWMheWQq1tjb250ZW50ZWRpdGFibGVd5bGe5oCn55qE5YWD57SgIEN0cmwgKyBFbnRlciDmiJbogIUgQ29tbWFuZCArIEVudGVyIOmYu+atolxi6buY6K6k6KGM5Li65bm25o+Q5LqkXG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRJbnB1dC50YWdOYW1lID09PSAnVEVYVEFSRUEnIHx8IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShjdXJyZW50SW5wdXQuZ2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCRldmVudC5jdHJsS2V5IHx8ICRldmVudC5tZXRhS2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3VibWl0UnVuSW5ab25lKCRldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyDkuI3mmK8gVEVYVEFSRUEgRW50ZXIg6Zi75q2iXGLpu5jorqTooYzkuLrlubbmj5DkuqRcbiAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3VibWl0UnVuSW5ab25lKCRldmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRoeUVudGVyS2V5TW9kZSA9PT0gVGh5RW50ZXJLZXlNb2RlLmFsd2F5c1N1Ym1pdCkge1xuICAgICAgICAgICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc3VibWl0UnVuSW5ab25lKCRldmVudCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIGRvIG5vdGhpbmdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5fdW5zdWJzY3JpYmUpIHtcbiAgICAgICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLl91bnN1YnNjcmliZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZm9ybS9mb3JtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUVILGVBQWUsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUdOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQVUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGVBQWUsRUFBd0QsTUFBTSxjQUFjLENBQUM7QUFDckcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRTlELDJGQUEyRjtBQUMzRix1Q0FBdUM7QUFDdkMsK0JBQStCO0FBQy9CLFlBQVk7QUFDWixNQUFNLENBQU4sSUFBWSxlQUlYO0FBSkQsV0FBWSxlQUFlO0lBQ3ZCLG9DQUFpQixDQUFBO0lBQ2pCLGdEQUE2QixDQUFBO0lBQzdCLGdEQUE2QixDQUFBO0FBQ2pDLENBQUMsRUFKVyxlQUFlLEtBQWYsZUFBZSxRQUkxQjtBQUVEOzs7O0dBSUc7QUFVSCxNQUFNLE9BQU8sZ0JBQWdCO0lBY3pCOzs7O09BSUc7SUFDSCxJQUNJLFNBQVMsQ0FBQyxLQUFvQjtRQUM5QixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxhQUFh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Q2pDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixhQUFhO1lBQ2pCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7OEdBdklRLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLCtSQVBkLENBQUMsdUJBQXVCLENBQUMsbURBaUVuQixTQUFTOzsyRkExRGpCLGdCQUFnQjtrQkFUNUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDcEMsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsVUFBVTtxQkFDcEI7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ25CO3dEQXFCTyxTQUFTO3NCQURaLEtBQUs7Z0JBdUJHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBTUYsc0JBQXNCO3NCQUR6QixLQUFLO2dCQUs4QixZQUFZO3NCQUEvQyxXQUFXO3VCQUFDLHFCQUFxQjtnQkFTM0IsUUFBUTtzQkFIZCxlQUFlO3VCQUFDLFNBQVMsRUFBRTt3QkFDeEIsV0FBVyxFQUFFLElBQUk7cUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsga2V5Y29kZXMgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgTmdDb250cm9sLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuXG5pbXBvcnQgeyBUaHlGb3JtVmFsaWRhdG9yU2VydmljZSB9IGZyb20gJy4vZm9ybS12YWxpZGF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBUSFlfRk9STV9DT05GSUcsIFRoeUZvcm1Db25maWcsIFRoeUZvcm1MYXlvdXQsIFRoeUZvcm1WYWxpZGF0b3JDb25maWcgfSBmcm9tICcuL2Zvcm0uY2xhc3MnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcblxuLy8gMS4gc3VibWl0IOaMiSBFbnRlciDplK7mj5DkuqQsIFRleHRhcmXmiJbljIXlkKtbY29udGVudGVkaXRhYmxlXeWxnuaAp+eahOWFg+e0oCDpmaTlpJbvvIzpnIDopoHmjIkgQ3RybCB8IENvbW1hbmQgKyBFbnRlciDmj5DkuqRcbi8vIDIuIGFsd2F5c1N1Ym1pdCDkuI3nrqHmmK/lk6rkuKrlhYPntKAg5oyJIEVudGVyIOmUrumDveaPkOS6pFxuLy8gMy4gZm9yYmlkU3VibWl0IFxiRW50ZXIg6ZSu56aB5q2i5o+Q5LqkXG4vLyDpu5jorqQgc3VibWl0XG5leHBvcnQgZW51bSBUaHlFbnRlcktleU1vZGUge1xuICAgIHN1Ym1pdCA9ICdzdWJtaXQnLFxuICAgIGFsd2F5c1N1Ym1pdCA9ICdhbHdheXNTdWJtaXQnLFxuICAgIGZvcmJpZFN1Ym1pdCA9ICdmb3JiaWRTdWJtaXQnXG59XG5cbi8qKlxuICog6KGo5Y2VXG4gKiBAbmFtZSB0aHlGb3JtLFt0aHktZm9ybV1cbiAqIEBvcmRlciAxMFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0aHlGb3JtXSxbdGh5LWZvcm1dJyxcbiAgICBwcm92aWRlcnM6IFtUaHlGb3JtVmFsaWRhdG9yU2VydmljZV0sXG4gICAgZXhwb3J0QXM6ICd0aHlGb3JtJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LWZvcm0nXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRoeUZvcm1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBuZ0Zvcm0gPSBpbmplY3QoQ29udHJvbENvbnRhaW5lcik7XG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICAgIHZhbGlkYXRvciA9IGluamVjdChUaHlGb3JtVmFsaWRhdG9yU2VydmljZSk7XG4gICAgcHJpdmF0ZSBjb25maWcgPSBpbmplY3QoVEhZX0ZPUk1fQ09ORklHKTtcblxuICAgIHByaXZhdGUgbGF5b3V0OiBUaHlGb3JtTGF5b3V0O1xuXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIC8qKlxuICAgICAqIOW4g+WxgO+8jOm7mOiupOawtOW5s+WxheS4rSBob3Jpem9udGFs77yM5YW25LuWMuenjeW4g+WxgOW+heW8gOWPkVxuICAgICAqIEB0eXBlIGhvcml6b250YWwgfCB2ZXJ0aWNhbCB8IGlubGluZVxuICAgICAqIEBkZWZhdWx0IGhvcml6b250YWxcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlMYXlvdXQodmFsdWU6IFRoeUZvcm1MYXlvdXQpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmxheW91dCA9IHZhbHVlO1xuICAgICAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCB0aHlMYXlvdXQoKTogVGh5Rm9ybUxheW91dCB7XG4gICAgICAgIHJldHVybiB0aGlzLmxheW91dDtcbiAgICB9XG5cbiAgICBnZXQgaXNIb3Jpem9udGFsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXQgPT09ICdob3Jpem9udGFsJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFbnRlciDplK7mj5DkuqTmqKHlvI/jgIJgc3VibWl0YDogVGV4dGFyZWEg6ZyA6KaBIEN0cmwgfCBDb21tYW5kICsgRW50ZXIg5o+Q5Lqk77yM5YW25LuW5YWD57Sg55u05o6lIEVudGVyIOaPkOS6pO+8myBgYWx3YXlzU3VibWl0YDog5LiN566h5piv5LuA5LmI5YWD57SgIEVudGVyIOmDveaPkOS6pO+8myBgZm9yYmlkU3VibWl0YDogRW50ZXIg5LiN5o+Q5LqkXG4gICAgICogQHR5cGUgc3VibWl0IHwgYWx3YXlzU3VibWl0IHwgZm9yYmlkU3VibWl0XG4gICAgICogQGRlZmF1bHQgc3VibWl0XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RW50ZXJLZXlNb2RlOiBUaHlFbnRlcktleU1vZGU7XG5cbiAgICAvKipcbiAgICAgKiDooajljZXpqozor4Hop4TliJnphY3nva7pobkg77yI5pu05aSa5YaF5a655p+l55yL77yadGh5Rm9ybVZhbGlkYXRvckNvbmZpZ++8iVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUZvcm1WYWxpZGF0b3JDb25maWcoY29uZmlnOiBUaHlGb3JtVmFsaWRhdG9yQ29uZmlnKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdG9yLnNldFZhbGlkYXRvckNvbmZpZyhjb25maWcpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Mud2FzLXZhbGlkYXRlZCcpIHdhc1ZhbGlkYXRlZCA9IGZhbHNlO1xuXG4gICAgb25TdWJtaXRTdWNjZXNzOiAoJGV2ZW50OiBhbnkpID0+IHZvaWQ7XG5cbiAgICBwcml2YXRlIF91bnN1YnNjcmliZTogKCkgPT4gdm9pZDtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oTmdDb250cm9sLCB7XG4gICAgICAgIGRlc2NlbmRhbnRzOiB0cnVlXG4gICAgfSlcbiAgICBwdWJsaWMgY29udHJvbHM6IFF1ZXJ5TGlzdDxOZ0NvbnRyb2w+O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMubGF5b3V0ID0gdGhpcy5jb25maWcubGF5b3V0O1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl91bnN1YnNjcmliZSA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAna2V5ZG93bicsIHRoaXMub25LZXlkb3duLmJpbmQodGhpcykpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0b3IuaW5pdGlhbGl6ZSh0aGlzLm5nRm9ybSBhcyBOZ0Zvcm0sIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgdGhpcy52YWxpZGF0b3IuaW5pdGlhbGl6ZUZvcm1Db250cm9sc1ZhbGlkYXRpb24odGhpcy5jb250cm9scy50b0FycmF5KCkpO1xuICAgICAgICB0aGlzLmNvbnRyb2xzLmNoYW5nZXMuc3Vic2NyaWJlKGNvbnRyb2xzID0+IHtcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdG9yLmluaXRpYWxpemVGb3JtQ29udHJvbHNWYWxpZGF0aW9uKHRoaXMuY29udHJvbHMudG9BcnJheSgpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3VibWl0KCRldmVudDogRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy52YWxpZGF0b3IudmFsaWRhdGVXaXRoRGV0YWlsKCRldmVudCk7XG4gICAgICAgIGlmIChyZXN1bHQudmFsaWQpIHtcbiAgICAgICAgICAgIHRoaXMub25TdWJtaXRTdWNjZXNzICYmIHRoaXMub25TdWJtaXRTdWNjZXNzKCRldmVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBpbnZhbGlkRWxlbWVudCA9IHJlc3VsdC5pbnZhbGlkQ29udHJvbHNbMF0uZWxlbWVudDtcbiAgICAgICAgICAgIGludmFsaWRFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVDbGFzc2VzKCkge1xuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzc0J5TWFwKHtcbiAgICAgICAgICAgIFtgdGh5LWZvcm0tJHt0aGlzLnRoeUxheW91dH1gXTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdWJtaXRSdW5JblpvbmUoJGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3VibWl0KCRldmVudCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bigkZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgY3VycmVudElucHV0ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qga2V5ID0gJGV2ZW50LndoaWNoIHx8ICRldmVudC5rZXlDb2RlO1xuICAgICAgICBpZiAoa2V5ID09PSBrZXljb2Rlcy5FTlRFUiAmJiBjdXJyZW50SW5wdXQudGFnTmFtZSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnRoeUVudGVyS2V5TW9kZSB8fCB0aGlzLnRoeUVudGVyS2V5TW9kZSA9PT0gVGh5RW50ZXJLZXlNb2RlLnN1Ym1pdCkge1xuICAgICAgICAgICAgICAgIC8vIFRFWFRBUkVB5oiW5YyF5ZCrW2NvbnRlbnRlZGl0YWJsZV3lsZ7mgKfnmoTlhYPntKAgQ3RybCArIEVudGVyIOaIluiAhSBDb21tYW5kICsgRW50ZXIg6Zi75q2iXGLpu5jorqTooYzkuLrlubbmj5DkuqRcbiAgICAgICAgICAgICAgICBpZiAoY3VycmVudElucHV0LnRhZ05hbWUgPT09ICdURVhUQVJFQScgfHwgY29lcmNlQm9vbGVhblByb3BlcnR5KGN1cnJlbnRJbnB1dC5nZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScpKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoJGV2ZW50LmN0cmxLZXkgfHwgJGV2ZW50Lm1ldGFLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJtaXRSdW5JblpvbmUoJGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIOS4jeaYryBURVhUQVJFQSBFbnRlciDpmLvmraJcYum7mOiupOihjOS4uuW5tuaPkOS6pFxuICAgICAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJtaXRSdW5JblpvbmUoJGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudGh5RW50ZXJLZXlNb2RlID09PSBUaHlFbnRlcktleU1vZGUuYWx3YXlzU3VibWl0KSB7XG4gICAgICAgICAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJtaXRSdW5JblpvbmUoJGV2ZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gZG8gbm90aGluZ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLl91bnN1YnNjcmliZSkge1xuICAgICAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,25 +1,24 @@
1
- import { Component, HostBinding, ViewEncapsulation, Optional, Input, Inject, ContentChild, TemplateRef } from '@angular/core';
1
+ import { Component, HostBinding, ViewEncapsulation, Input, ContentChild, TemplateRef, inject } from '@angular/core';
2
2
  import { ThyFormDirective } from '../form.directive';
3
3
  import { THY_FORM_CONFIG } from '../form.class';
4
4
  import { NgClass, NgTemplateOutlet } from '@angular/common';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "../form.directive";
7
6
  /**
8
7
  * 表单组底部组件
9
8
  * @name thy-form-group-footer
10
9
  * @order 55
11
10
  */
12
11
  export class ThyFormGroupFooter {
13
- get align() {
14
- return !!this.thyAlign ? this.thyAlign : this.defaultConfig.footerAlign;
15
- }
16
- constructor(thyParentForm, defaultConfig) {
17
- this.thyParentForm = thyParentForm;
18
- this.defaultConfig = defaultConfig;
12
+ constructor() {
13
+ this.thyParentForm = inject(ThyFormDirective, { optional: true });
14
+ this.defaultConfig = inject(THY_FORM_CONFIG);
19
15
  this._isFormGroup = true;
20
16
  this.isHorizontal = true;
21
17
  this.footerClassMap = {};
22
18
  }
19
+ get align() {
20
+ return !!this.thyAlign ? this.thyAlign : this.defaultConfig.footerAlign;
21
+ }
23
22
  ngOnInit() {
24
23
  if (this.thyParentForm) {
25
24
  this.isHorizontal = this.thyParentForm.isHorizontal;
@@ -33,18 +32,13 @@ export class ThyFormGroupFooter {
33
32
  [`form-group-footer-align-${this.align}`]: true
34
33
  };
35
34
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormGroupFooter, deps: [{ token: i1.ThyFormDirective, optional: true }, { token: THY_FORM_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormGroupFooter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
37
36
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyFormGroupFooter, isStandalone: true, selector: "thy-form-group-footer", inputs: { thyAlign: "thyAlign" }, host: { properties: { "class.form-group": "this._isFormGroup", "class.row": "this.isHorizontal" } }, queries: [{ propertyName: "description", first: true, predicate: ["description"], descendants: true }], ngImport: i0, template: "<div [ngClass]=\"footerClassMap\">\n <div class=\"btn-pair form-footer-actions\">\n <ng-content></ng-content>\n </div>\n\n @if (description) {\n <div class=\"form-footer-description\">\n <ng-container [ngTemplateOutlet]=\"description\"></ng-container>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
38
37
  }
39
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFormGroupFooter, decorators: [{
40
39
  type: Component,
41
40
  args: [{ selector: 'thy-form-group-footer', encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgClass, NgTemplateOutlet], template: "<div [ngClass]=\"footerClassMap\">\n <div class=\"btn-pair form-footer-actions\">\n <ng-content></ng-content>\n </div>\n\n @if (description) {\n <div class=\"form-footer-description\">\n <ng-container [ngTemplateOutlet]=\"description\"></ng-container>\n </div>\n }\n</div>\n" }]
42
- }], ctorParameters: () => [{ type: i1.ThyFormDirective, decorators: [{
43
- type: Optional
44
- }] }, { type: undefined, decorators: [{
45
- type: Inject,
46
- args: [THY_FORM_CONFIG]
47
- }] }], propDecorators: { _isFormGroup: [{
41
+ }], propDecorators: { _isFormGroup: [{
48
42
  type: HostBinding,
49
43
  args: ['class.form-group']
50
44
  }], isHorizontal: [{
@@ -56,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
56
50
  }], thyAlign: [{
57
51
  type: Input
58
52
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Zvcm0vZnJvbS1ncm91cC1mb290ZXIvZm9ybS1ncm91cC1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2Zvcm0vZnJvbS1ncm91cC1mb290ZXIvZm9ybS1ncm91cC1mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQVUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQTJCLGVBQWUsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFNUQ7Ozs7R0FJRztBQVFILE1BQU0sT0FBTyxrQkFBa0I7SUFnQjNCLElBQVksS0FBSztRQUNiLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQzVFLENBQUM7SUFFRCxZQUN3QixhQUErQixFQUNsQixhQUE0QjtRQUR6QyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDbEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFyQmhDLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBRTNCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBV3ZDLG1CQUFjLEdBQUcsRUFBRSxDQUFDO0lBU3hCLENBQUM7SUFFSixRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQztRQUN4RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGlCQUFpQjtRQUNiLElBQUksQ0FBQyxjQUFjLEdBQUc7WUFDbEIsbUJBQW1CLEVBQUUsSUFBSTtZQUN6Qix3Q0FBd0MsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMzRCxDQUFDLDJCQUEyQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJO1NBQ2xELENBQUM7SUFDTixDQUFDOzhHQXRDUSxrQkFBa0Isa0VBc0JmLGVBQWU7a0dBdEJsQixrQkFBa0IsZ1VDakIvQixzU0FXQSw0Q0RJYyxPQUFPLG9GQUFFLGdCQUFnQjs7MkZBRTFCLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDSSx1QkFBdUIsaUJBRWxCLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDOzswQkF1Qi9CLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsZUFBZTt5Q0FyQk0sWUFBWTtzQkFBNUMsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBRUwsWUFBWTtzQkFBckMsV0FBVzt1QkFBQyxXQUFXO2dCQUVLLFdBQVc7c0JBQXZDLFlBQVk7dUJBQUMsYUFBYTtnQkFPbEIsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkluaXQsIE9wdGlvbmFsLCBJbnB1dCwgSW5qZWN0LCBDb250ZW50Q2hpbGQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi4vZm9ybS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGh5Rm9ybUdyb3VwRm9vdGVyQWxpZ24sIFRIWV9GT1JNX0NPTkZJRywgVGh5Rm9ybUNvbmZpZyB9IGZyb20gJy4uL2Zvcm0uY2xhc3MnO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICog6KGo5Y2V57uE5bqV6YOo57uE5Lu2XG4gKiBAbmFtZSB0aHktZm9ybS1ncm91cC1mb290ZXJcbiAqIEBvcmRlciA1NVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1mb3JtLWdyb3VwLWZvb3RlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZ3JvdXAtZm9vdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUZvcm1Hcm91cEZvb3RlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mb3JtLWdyb3VwJykgX2lzRm9ybUdyb3VwID0gdHJ1ZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Mucm93JykgaXNIb3Jpem9udGFsID0gdHJ1ZTtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2Rlc2NyaXB0aW9uJykgZGVzY3JpcHRpb246IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDlr7npvZDmlrnlvI9cbiAgICAgKiBAdHlwZSBsZWZ0IHwgcmlnaHQgfCBjZW50ZXJcbiAgICAgKiBAZGVmYXVsdCBsZWZ0XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5QWxpZ246IFRoeUZvcm1Hcm91cEZvb3RlckFsaWduO1xuXG4gICAgcHVibGljIGZvb3RlckNsYXNzTWFwID0ge307XG5cbiAgICBwcml2YXRlIGdldCBhbGlnbigpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy50aHlBbGlnbiA/IHRoaXMudGh5QWxpZ24gOiB0aGlzLmRlZmF1bHRDb25maWcuZm9vdGVyQWxpZ247XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgdGh5UGFyZW50Rm9ybTogVGh5Rm9ybURpcmVjdGl2ZSxcbiAgICAgICAgQEluamVjdChUSFlfRk9STV9DT05GSUcpIHByaXZhdGUgZGVmYXVsdENvbmZpZzogVGh5Rm9ybUNvbmZpZ1xuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy50aHlQYXJlbnRGb3JtKSB7XG4gICAgICAgICAgICB0aGlzLmlzSG9yaXpvbnRhbCA9IHRoaXMudGh5UGFyZW50Rm9ybS5pc0hvcml6b250YWw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRGb290ZXJDbGFzc01hcCgpO1xuICAgIH1cblxuICAgIHNldEZvb3RlckNsYXNzTWFwKCkge1xuICAgICAgICB0aGlzLmZvb3RlckNsYXNzTWFwID0ge1xuICAgICAgICAgICAgJ2Zvcm0tZ3JvdXAtZm9vdGVyJzogdHJ1ZSxcbiAgICAgICAgICAgICdjb2wtc20tMTAgb2Zmc2V0LXNtLTIgY29sLWZvcm0tY29udHJvbCc6IHRoaXMuaXNIb3Jpem9udGFsLFxuICAgICAgICAgICAgW2Bmb3JtLWdyb3VwLWZvb3Rlci1hbGlnbi0ke3RoaXMuYWxpZ259YF06IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cImZvb3RlckNsYXNzTWFwXCI+XG4gIDxkaXYgY2xhc3M9XCJidG4tcGFpciBmb3JtLWZvb3Rlci1hY3Rpb25zXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cblxuICBAaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZm9vdGVyLWRlc2NyaXB0aW9uXCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlc2NyaXB0aW9uXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Zvcm0vZnJvbS1ncm91cC1mb290ZXIvZm9ybS1ncm91cC1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2Zvcm0vZnJvbS1ncm91cC1mb290ZXIvZm9ybS1ncm91cC1mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQVUsS0FBSyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBMkIsZUFBZSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRTVEOzs7O0dBSUc7QUFRSCxNQUFNLE9BQU8sa0JBQWtCO0lBUC9CO1FBUVksa0JBQWEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUUsQ0FBQztRQUM5RCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVmLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBRTNCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBV3ZDLG1CQUFjLEdBQUcsRUFBRSxDQUFDO0tBb0I5QjtJQWxCRyxJQUFZLEtBQUs7UUFDYixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUM1RSxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDeEQsQ0FBQztRQUNELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxpQkFBaUI7UUFDYixJQUFJLENBQUMsY0FBYyxHQUFHO1lBQ2xCLG1CQUFtQixFQUFFLElBQUk7WUFDekIsd0NBQXdDLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDM0QsQ0FBQywyQkFBMkIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSTtTQUNsRCxDQUFDO0lBQ04sQ0FBQzs4R0FwQ1Esa0JBQWtCO2tHQUFsQixrQkFBa0IsZ1VDakIvQixzU0FXQSw0Q0RJYyxPQUFPLG9GQUFFLGdCQUFnQjs7MkZBRTFCLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDSSx1QkFBdUIsaUJBRWxCLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDOzhCQU1ILFlBQVk7c0JBQTVDLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUVMLFlBQVk7c0JBQXJDLFdBQVc7dUJBQUMsV0FBVztnQkFFSyxXQUFXO3NCQUF2QyxZQUFZO3VCQUFDLGFBQWE7Z0JBT2xCLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBWaWV3RW5jYXBzdWxhdGlvbiwgT25Jbml0LCBJbnB1dCwgQ29udGVudENoaWxkLCBUZW1wbGF0ZVJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi4vZm9ybS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGh5Rm9ybUdyb3VwRm9vdGVyQWxpZ24sIFRIWV9GT1JNX0NPTkZJRywgVGh5Rm9ybUNvbmZpZyB9IGZyb20gJy4uL2Zvcm0uY2xhc3MnO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICog6KGo5Y2V57uE5bqV6YOo57uE5Lu2XG4gKiBAbmFtZSB0aHktZm9ybS1ncm91cC1mb290ZXJcbiAqIEBvcmRlciA1NVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1mb3JtLWdyb3VwLWZvb3RlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZ3JvdXAtZm9vdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUZvcm1Hcm91cEZvb3RlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSB0aHlQYXJlbnRGb3JtID0gaW5qZWN0KFRoeUZvcm1EaXJlY3RpdmUsIHsgb3B0aW9uYWw6IHRydWUgfSkhO1xuICAgIHByaXZhdGUgZGVmYXVsdENvbmZpZyA9IGluamVjdChUSFlfRk9STV9DT05GSUcpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mb3JtLWdyb3VwJykgX2lzRm9ybUdyb3VwID0gdHJ1ZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Mucm93JykgaXNIb3Jpem9udGFsID0gdHJ1ZTtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2Rlc2NyaXB0aW9uJykgZGVzY3JpcHRpb246IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDlr7npvZDmlrnlvI9cbiAgICAgKiBAdHlwZSBsZWZ0IHwgcmlnaHQgfCBjZW50ZXJcbiAgICAgKiBAZGVmYXVsdCBsZWZ0XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5QWxpZ246IFRoeUZvcm1Hcm91cEZvb3RlckFsaWduO1xuXG4gICAgcHVibGljIGZvb3RlckNsYXNzTWFwID0ge307XG5cbiAgICBwcml2YXRlIGdldCBhbGlnbigpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy50aHlBbGlnbiA/IHRoaXMudGh5QWxpZ24gOiB0aGlzLmRlZmF1bHRDb25maWcuZm9vdGVyQWxpZ247XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLnRoeVBhcmVudEZvcm0pIHtcbiAgICAgICAgICAgIHRoaXMuaXNIb3Jpem9udGFsID0gdGhpcy50aHlQYXJlbnRGb3JtLmlzSG9yaXpvbnRhbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldEZvb3RlckNsYXNzTWFwKCk7XG4gICAgfVxuXG4gICAgc2V0Rm9vdGVyQ2xhc3NNYXAoKSB7XG4gICAgICAgIHRoaXMuZm9vdGVyQ2xhc3NNYXAgPSB7XG4gICAgICAgICAgICAnZm9ybS1ncm91cC1mb290ZXInOiB0cnVlLFxuICAgICAgICAgICAgJ2NvbC1zbS0xMCBvZmZzZXQtc20tMiBjb2wtZm9ybS1jb250cm9sJzogdGhpcy5pc0hvcml6b250YWwsXG4gICAgICAgICAgICBbYGZvcm0tZ3JvdXAtZm9vdGVyLWFsaWduLSR7dGhpcy5hbGlnbn1gXTogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiZm9vdGVyQ2xhc3NNYXBcIj5cbiAgPGRpdiBjbGFzcz1cImJ0bi1wYWlyIGZvcm0tZm9vdGVyLWFjdGlvbnNcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuXG4gIEBpZiAoZGVzY3JpcHRpb24pIHtcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1mb290ZXItZGVzY3JpcHRpb25cIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVzY3JpcHRpb25cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=
@@ -1,19 +1,18 @@
1
1
  import { NG_ASYNC_VALIDATORS } from '@angular/forms';
2
- import { Directive, Input, Optional, ElementRef } from '@angular/core';
2
+ import { Directive, Input, ElementRef, inject } from '@angular/core';
3
3
  import { of } from 'rxjs';
4
4
  import { map, catchError } from 'rxjs/operators';
5
5
  import { ThyFormDirective } from '../form.directive';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "../form.directive";
8
7
  /**
9
8
  * 用于校验表单控件的输入值是否已经存在
10
9
  * @name thyUniqueCheck
11
10
  * @order 20
12
11
  */
13
12
  export class ThyUniqueCheckValidator {
14
- constructor(elementRef, thyForm) {
15
- this.elementRef = elementRef;
16
- this.thyForm = thyForm;
13
+ constructor() {
14
+ this.elementRef = inject(ElementRef);
15
+ this.thyForm = inject(ThyFormDirective, { optional: true });
17
16
  }
18
17
  validate(ctrl) {
19
18
  return this.thyUniqueCheck(ctrl.value).pipe(map((failed) => {
@@ -25,7 +24,7 @@ export class ThyUniqueCheckValidator {
25
24
  return failed ? { thyUniqueCheck: failed } : null;
26
25
  }), catchError(() => of(null)));
27
26
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyUniqueCheckValidator, deps: [{ token: i0.ElementRef }, { token: i1.ThyFormDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyUniqueCheckValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
29
28
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ThyUniqueCheckValidator, isStandalone: true, selector: "[thyUniqueCheck]", inputs: { thyUniqueCheck: "thyUniqueCheck" }, providers: [
30
29
  {
31
30
  provide: NG_ASYNC_VALIDATORS,
@@ -47,9 +46,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
47
46
  ],
48
47
  standalone: true
49
48
  }]
50
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ThyFormDirective, decorators: [{
51
- type: Optional
52
- }] }], propDecorators: { thyUniqueCheck: [{
49
+ }], propDecorators: { thyUniqueCheck: [{
53
50
  type: Input
54
51
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlLXZhbGlkYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZm9ybS92YWxpZGF0b3IvdW5pcXVlLXZhbGlkYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxRCxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFFckQ7Ozs7R0FJRztBQVlILE1BQU0sT0FBTyx1QkFBdUI7SUFHaEMsWUFDWSxVQUFzQixFQUNWLE9BQXlCO1FBRHJDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDVixZQUFPLEdBQVAsT0FBTyxDQUFrQjtJQUM5QyxDQUFDO0lBRUosUUFBUSxDQUFDLElBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUN2QyxHQUFHLENBQUMsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUNwQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQy9ELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDL0UsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDdEQsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQzs4R0FwQlEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsNkdBVHJCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLG1CQUFtQjtnQkFDNUIsV0FBVyxFQUFFLHVCQUF1QjtnQkFDcEMsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKOzsyRkFHUSx1QkFBdUI7a0JBWG5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxtQkFBbUI7NEJBQzVCLFdBQVcseUJBQXlCOzRCQUNwQyxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OzBCQU1RLFFBQVE7eUNBSkosY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jVmFsaWRhdG9yLCBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIE5HX0FTWU5DX1ZBTElEQVRPUlMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPcHRpb25hbCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRoeUZvcm1EaXJlY3RpdmUgfSBmcm9tICcuLi9mb3JtLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICog55So5LqO5qCh6aqM6KGo5Y2V5o6n5Lu255qE6L6T5YWl5YC85piv5ZCm5bey57uP5a2Y5ZyoXG4gKiBAbmFtZSB0aHlVbmlxdWVDaGVja1xuICogQG9yZGVyIDIwXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RoeVVuaXF1ZUNoZWNrXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX0FTWU5DX1ZBTElEQVRPUlMsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogVGh5VW5pcXVlQ2hlY2tWYWxpZGF0b3IsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRoeVVuaXF1ZUNoZWNrVmFsaWRhdG9yIGltcGxlbWVudHMgQXN5bmNWYWxpZGF0b3Ige1xuICAgIEBJbnB1dCgpIHRoeVVuaXF1ZUNoZWNrOiAodmFsdWU6IGFueSkgPT4gT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgdGh5Rm9ybTogVGh5Rm9ybURpcmVjdGl2ZVxuICAgICkge31cblxuICAgIHZhbGlkYXRlKGN0cmw6IEFic3RyYWN0Q29udHJvbCk6IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+IHwgT2JzZXJ2YWJsZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy50aHlVbmlxdWVDaGVjayhjdHJsLnZhbHVlKS5waXBlKFxuICAgICAgICAgICAgbWFwKChmYWlsZWQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZhaWxlZCAmJiB0aGlzLnRoeUZvcm0gJiYgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50aHlGb3JtLnZhbGlkYXRvci52YWxpZGF0ZUNvbnRyb2wodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFpbGVkID8geyB0aHlVbmlxdWVDaGVjazogZmFpbGVkIH0gOiBudWxsO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IG9mKG51bGwpKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlLXZhbGlkYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZm9ybS92YWxpZGF0b3IvdW5pcXVlLXZhbGlkYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxRCxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUVyRDs7OztHQUlHO0FBWUgsTUFBTSxPQUFPLHVCQUF1QjtJQVhwQztRQVlZLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsWUFBTyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBRSxDQUFDO0tBaUJuRTtJQWJHLFFBQVEsQ0FBQyxJQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDdkMsR0FBRyxDQUFDLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDcEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9FLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3RELENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDN0IsQ0FBQztJQUNOLENBQUM7OEdBbEJRLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDZHQVRyQjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxtQkFBbUI7Z0JBQzVCLFdBQVcsRUFBRSx1QkFBdUI7Z0JBQ3BDLEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSjs7MkZBR1EsdUJBQXVCO2tCQVhuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixXQUFXLHlCQUF5Qjs0QkFDcEMsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQUtZLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1ZhbGlkYXRvciwgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBOR19BU1lOQ19WQUxJREFUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgRWxlbWVudFJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGh5Rm9ybURpcmVjdGl2ZSB9IGZyb20gJy4uL2Zvcm0uZGlyZWN0aXZlJztcblxuLyoqXG4gKiDnlKjkuo7moKHpqozooajljZXmjqfku7bnmoTovpPlhaXlgLzmmK/lkKblt7Lnu4/lrZjlnKhcbiAqIEBuYW1lIHRoeVVuaXF1ZUNoZWNrXG4gKiBAb3JkZXIgMjBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdGh5VW5pcXVlQ2hlY2tdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfQVNZTkNfVkFMSURBVE9SUyxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBUaHlVbmlxdWVDaGVja1ZhbGlkYXRvcixcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5VW5pcXVlQ2hlY2tWYWxpZGF0b3IgaW1wbGVtZW50cyBBc3luY1ZhbGlkYXRvciB7XG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgdGh5Rm9ybSA9IGluamVjdChUaHlGb3JtRGlyZWN0aXZlLCB7IG9wdGlvbmFsOiB0cnVlIH0pITtcblxuICAgIEBJbnB1dCgpIHRoeVVuaXF1ZUNoZWNrOiAodmFsdWU6IGFueSkgPT4gT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgIHZhbGlkYXRlKGN0cmw6IEFic3RyYWN0Q29udHJvbCk6IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+IHwgT2JzZXJ2YWJsZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy50aHlVbmlxdWVDaGVjayhjdHJsLnZhbHVlKS5waXBlKFxuICAgICAgICAgICAgbWFwKChmYWlsZWQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZhaWxlZCAmJiB0aGlzLnRoeUZvcm0gJiYgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50aHlGb3JtLnZhbGlkYXRvci52YWxpZGF0ZUNvbnRyb2wodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFpbGVkID8geyB0aHlVbmlxdWVDaGVjazogZmFpbGVkIH0gOiBudWxsO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IG9mKG51bGwpKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,23 +1,19 @@
1
- import { Component, ContentChild, ElementRef, EventEmitter, Input, Output } from '@angular/core';
1
+ import { Component, ContentChild, ElementRef, EventEmitter, Input, Output, inject } from '@angular/core';
2
2
  import { EMPTY, fromEvent, Subject } from 'rxjs';
3
3
  import { switchMap, takeUntil } from 'rxjs/operators';
4
4
  import { ThyFullscreen } from './fullscreen.service';
5
5
  import { ThyFullscreenMode } from './fullscreen.config';
6
6
  import { ThyFullscreenLaunchDirective } from './fullscreen-launch.directive';
7
7
  import * as i0 from "@angular/core";
8
- import * as i1 from "./fullscreen.service";
9
8
  /**
10
9
  * 全屏组件,将某一区域进行全屏展示,支持组件`thy-fullscreen`和`thyFullscreen`指令两种形式
11
10
  * @name thy-fullscreen,[thyFullscreen]
12
11
  * @order 10
13
12
  */
14
13
  export class ThyFullscreenComponent {
15
- set fullscreenLaunch(fullscreenLaunch) {
16
- this.fullscreenLaunch$.next(fullscreenLaunch);
17
- }
18
- constructor(elementRef, service) {
19
- this.elementRef = elementRef;
20
- this.service = service;
14
+ constructor() {
15
+ this.elementRef = inject(ElementRef);
16
+ this.service = inject(ThyFullscreen);
21
17
  /**
22
18
  * immersive 模式使用了浏览器提供的全屏,整个窗体都全屏,emulated 模式为仿真的,只会在 body 区域全屏
23
19
  * @type immersive | emulated
@@ -52,6 +48,9 @@ export class ThyFullscreenComponent {
52
48
  }
53
49
  };
54
50
  }
51
+ set fullscreenLaunch(fullscreenLaunch) {
52
+ this.fullscreenLaunch$.next(fullscreenLaunch);
53
+ }
55
54
  ngOnInit() {
56
55
  this.fullscreenLaunch$
57
56
  .pipe(switchMap(fullscreenLaunch => (fullscreenLaunch ? fromEvent(fullscreenLaunch.nativeElement, 'click') : EMPTY)), takeUntil(this.ngUnsubscribe$))
@@ -60,13 +59,13 @@ export class ThyFullscreenComponent {
60
59
  ngOnDestroy() {
61
60
  this.ngUnsubscribe$.next();
62
61
  }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFullscreenComponent, deps: [{ token: i0.ElementRef }, { token: i1.ThyFullscreen }], target: i0.ɵɵFactoryTarget.Component }); }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFullscreenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
64
63
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: ThyFullscreenComponent, isStandalone: true, selector: "thy-fullscreen, [thyFullscreen]", inputs: { thyMode: "thyMode", thyFullscreenClasses: "thyFullscreenClasses" }, outputs: { thyFullscreenChange: "thyFullscreenChange" }, queries: [{ propertyName: "fullscreenLaunch", first: true, predicate: ThyFullscreenLaunchDirective, descendants: true, read: ElementRef }], ngImport: i0, template: "<ng-content></ng-content>\n" }); }
65
64
  }
66
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFullscreenComponent, decorators: [{
67
66
  type: Component,
68
67
  args: [{ selector: 'thy-fullscreen, [thyFullscreen]', standalone: true, template: "<ng-content></ng-content>\n" }]
69
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ThyFullscreen }], propDecorators: { thyMode: [{
68
+ }], propDecorators: { thyMode: [{
70
69
  type: Input
71
70
  }], thyFullscreenClasses: [{
72
71
  type: Input
@@ -76,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
76
75
  type: ContentChild,
77
76
  args: [ThyFullscreenLaunchDirective, { read: ElementRef, static: false }]
78
77
  }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbHNjcmVlbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZnVsbHNjcmVlbi9mdWxsc2NyZWVuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9mdWxsc2NyZWVuL2Z1bGxzY3JlZW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQUU3RTs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLHNCQUFzQjtJQWtCL0IsSUFDSSxnQkFBZ0IsQ0FBQyxnQkFBMkQ7UUFDNUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFLRCxZQUNZLFVBQXNCLEVBQ3RCLE9BQXNCO1FBRHRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQTNCbEM7Ozs7V0FJRztRQUNNLFlBQU8sR0FBc0IsaUJBQWlCLENBQUMsU0FBUyxDQUFDO1FBT2xFOztXQUVHO1FBQ08sd0JBQW1CLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFPM0UsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3JDLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUE2QyxDQUFDO1FBZ0JyRixpQ0FBaUM7UUFDekIscUJBQWdCLEdBQUcsR0FBRyxFQUFFO1lBQzVCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3pGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDL0YsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUU3RSxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO29CQUN0QyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU87b0JBQ2xCLE1BQU0sRUFBRSxhQUFhO29CQUNyQixtQkFBbUIsRUFBRSxJQUFJLENBQUMsb0JBQW9CO29CQUM5QyxpQkFBaUIsRUFBRSxnQkFBZ0I7aUJBQ3RDLENBQUMsQ0FBQztnQkFFSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUVwQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDdkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDekMsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQyxDQUFDO0lBakNDLENBQUM7SUFFSixRQUFRO1FBQ0osSUFBSSxDQUFDLGlCQUFpQjthQUNqQixJQUFJLENBQ0QsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUM5RyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUNqQzthQUNBLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBMEJELFdBQVc7UUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7OEdBbEVRLHNCQUFzQjtrR0FBdEIsc0JBQXNCLGdSQWtCakIsNEJBQTRCLDJCQUFVLFVBQVUsNkJDcENsRSw2QkFDQTs7MkZEaUJhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDSSxpQ0FBaUMsY0FFL0IsSUFBSTsyR0FRUCxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUtJLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFHSCxnQkFBZ0I7c0JBRG5CLFlBQVk7dUJBQUMsNEJBQTRCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRU1QVFksIGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFRoeUZ1bGxzY3JlZW4gfSBmcm9tICcuL2Z1bGxzY3JlZW4uc2VydmljZSc7XG5pbXBvcnQgeyBUaHlGdWxsc2NyZWVuTW9kZSB9IGZyb20gJy4vZnVsbHNjcmVlbi5jb25maWcnO1xuaW1wb3J0IHsgVGh5RnVsbHNjcmVlbkxhdW5jaERpcmVjdGl2ZSB9IGZyb20gJy4vZnVsbHNjcmVlbi1sYXVuY2guZGlyZWN0aXZlJztcblxuLyoqXG4gKiDlhajlsY/nu4Tku7bvvIzlsIbmn5DkuIDljLrln5/ov5vooYzlhajlsY/lsZXnpLrvvIzmlK/mjIHnu4Tku7ZgdGh5LWZ1bGxzY3JlZW5g5ZKMYHRoeUZ1bGxzY3JlZW5g5oyH5Luk5Lik56eN5b2i5byPXG4gKiBAbmFtZSB0aHktZnVsbHNjcmVlbixbdGh5RnVsbHNjcmVlbl1cbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1mdWxsc2NyZWVuLCBbdGh5RnVsbHNjcmVlbl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mdWxsc2NyZWVuLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRoeUZ1bGxzY3JlZW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogaW1tZXJzaXZlIOaooeW8j+S9v+eUqOS6hua1j+iniOWZqOaPkOS+m+eahOWFqOWxj++8jOaVtOS4queql+S9k+mDveWFqOWxj++8jGVtdWxhdGVkIOaooeW8j+S4uuS7v+ecn+eahO+8jOWPquS8muWcqCBib2R5IOWMuuWfn+WFqOWxj1xuICAgICAqIEB0eXBlIGltbWVyc2l2ZSB8IGVtdWxhdGVkXG4gICAgICogQGRlZmF1bHQgaW1tZXJzaXZlXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5TW9kZTogVGh5RnVsbHNjcmVlbk1vZGUgPSBUaHlGdWxsc2NyZWVuTW9kZS5pbW1lcnNpdmU7XG5cbiAgICAvKipcbiAgICAgKiDmiZPlvIDlhajlsY/ml7bpnIDopoHmt7vliqDnmoTnsbvlkI1cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlGdWxsc2NyZWVuQ2xhc3Nlczogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5YWo5bGP5LmL5ZCO55qE5Zue6LCDXG4gICAgICovXG4gICAgQE91dHB1dCgpIHRoeUZ1bGxzY3JlZW5DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVGh5RnVsbHNjcmVlbkxhdW5jaERpcmVjdGl2ZSwgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pXG4gICAgc2V0IGZ1bGxzY3JlZW5MYXVuY2goZnVsbHNjcmVlbkxhdW5jaDogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD4gfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuTGF1bmNoJC5uZXh0KGZ1bGxzY3JlZW5MYXVuY2gpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgZnVsbHNjcmVlbkxhdW5jaCQgPSBuZXcgU3ViamVjdDxFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PiB8IHVuZGVmaW5lZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgc2VydmljZTogVGh5RnVsbHNjcmVlblxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZ1bGxzY3JlZW5MYXVuY2gkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoZnVsbHNjcmVlbkxhdW5jaCA9PiAoZnVsbHNjcmVlbkxhdW5jaCA/IGZyb21FdmVudChmdWxsc2NyZWVuTGF1bmNoLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpIDogRU1QVFkpKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlJClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5oYW5kbGVGdWxsc2NyZWVuKTtcbiAgICB9XG5cbiAgICAvLyBUb2dnbGVzIGZ1bGwgc2NyZWVuIG9uIG9yIG9mZi5cbiAgICBwcml2YXRlIGhhbmRsZUZ1bGxzY3JlZW4gPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdbZnVsbHNjcmVlbi10YXJnZXRdJyk7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lckVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdbZnVsbHNjcmVlbi1jb250YWluZXJdJyk7XG4gICAgICAgIGNvbnN0IGZ1bGxzY3JlZW4gPSB0YXJnZXRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygndGh5LWZ1bGxzY3JlZW4tYWN0aXZlJyk7XG5cbiAgICAgICAgaWYgKGZ1bGxzY3JlZW4pIHtcbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5leGl0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBmdWxsc2NyZWVuUmVmID0gdGhpcy5zZXJ2aWNlLmxhdW5jaCh7XG4gICAgICAgICAgICAgICAgbW9kZTogdGhpcy50aHlNb2RlLFxuICAgICAgICAgICAgICAgIHRhcmdldDogdGFyZ2V0RWxlbWVudCxcbiAgICAgICAgICAgICAgICB0YXJnZXRMYXVuY2hlZENsYXNzOiB0aGlzLnRoeUZ1bGxzY3JlZW5DbGFzc2VzLFxuICAgICAgICAgICAgICAgIGVtdWxhdGVkQ29udGFpbmVyOiBjb250YWluZXJFbGVtZW50XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy50aHlGdWxsc2NyZWVuQ2hhbmdlLmVtaXQodHJ1ZSk7XG5cbiAgICAgICAgICAgIGZ1bGxzY3JlZW5SZWYuYWZ0ZXJFeGl0ZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGh5RnVsbHNjcmVlbkNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbHNjcmVlbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZnVsbHNjcmVlbi9mdWxsc2NyZWVuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9mdWxsc2NyZWVuL2Z1bGxzY3JlZW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUU3RTs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLHNCQUFzQjtJQUxuQztRQU1ZLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsWUFBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV4Qzs7OztXQUlHO1FBQ00sWUFBTyxHQUFzQixpQkFBaUIsQ0FBQyxTQUFTLENBQUM7UUFPbEU7O1dBRUc7UUFDTyx3QkFBbUIsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQU8zRSxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDckMsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQTZDLENBQUM7UUFXckYsaUNBQWlDO1FBQ3pCLHFCQUFnQixHQUFHLEdBQUcsRUFBRTtZQUM1QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUN6RixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBQy9GLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFFN0UsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDYixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3hCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDdEMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPO29CQUNsQixNQUFNLEVBQUUsYUFBYTtvQkFDckIsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQjtvQkFDOUMsaUJBQWlCLEVBQUUsZ0JBQWdCO2lCQUN0QyxDQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFcEMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3pDLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNMLENBQUMsQ0FBQztLQUtMO0lBNUNHLElBQ0ksZ0JBQWdCLENBQUMsZ0JBQTJEO1FBQzVFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBS0QsUUFBUTtRQUNKLElBQUksQ0FBQyxpQkFBaUI7YUFDakIsSUFBSSxDQUNELFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDOUcsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FDakM7YUFDQSxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDMUMsQ0FBQztJQTBCRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDOzhHQWhFUSxzQkFBc0I7a0dBQXRCLHNCQUFzQixnUkFxQmpCLDRCQUE0QiwyQkFBVSxVQUFVLDZCQ3ZDbEUsNkJBQ0E7OzJGRGlCYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0ksaUNBQWlDLGNBRS9CLElBQUk7OEJBV1AsT0FBTztzQkFBZixLQUFLO2dCQUtHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFLSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBR0gsZ0JBQWdCO3NCQURuQixZQUFZO3VCQUFDLDRCQUE0QixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRU1QVFksIGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFRoeUZ1bGxzY3JlZW4gfSBmcm9tICcuL2Z1bGxzY3JlZW4uc2VydmljZSc7XG5pbXBvcnQgeyBUaHlGdWxsc2NyZWVuTW9kZSB9IGZyb20gJy4vZnVsbHNjcmVlbi5jb25maWcnO1xuaW1wb3J0IHsgVGh5RnVsbHNjcmVlbkxhdW5jaERpcmVjdGl2ZSB9IGZyb20gJy4vZnVsbHNjcmVlbi1sYXVuY2guZGlyZWN0aXZlJztcblxuLyoqXG4gKiDlhajlsY/nu4Tku7bvvIzlsIbmn5DkuIDljLrln5/ov5vooYzlhajlsY/lsZXnpLrvvIzmlK/mjIHnu4Tku7ZgdGh5LWZ1bGxzY3JlZW5g5ZKMYHRoeUZ1bGxzY3JlZW5g5oyH5Luk5Lik56eN5b2i5byPXG4gKiBAbmFtZSB0aHktZnVsbHNjcmVlbixbdGh5RnVsbHNjcmVlbl1cbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1mdWxsc2NyZWVuLCBbdGh5RnVsbHNjcmVlbl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mdWxsc2NyZWVuLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRoeUZ1bGxzY3JlZW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgc2VydmljZSA9IGluamVjdChUaHlGdWxsc2NyZWVuKTtcblxuICAgIC8qKlxuICAgICAqIGltbWVyc2l2ZSDmqKHlvI/kvb/nlKjkuobmtY/op4jlmajmj5DkvpvnmoTlhajlsY/vvIzmlbTkuKrnqpfkvZPpg73lhajlsY/vvIxlbXVsYXRlZCDmqKHlvI/kuLrku7/nnJ/nmoTvvIzlj6rkvJrlnKggYm9keSDljLrln5/lhajlsY9cbiAgICAgKiBAdHlwZSBpbW1lcnNpdmUgfCBlbXVsYXRlZFxuICAgICAqIEBkZWZhdWx0IGltbWVyc2l2ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeU1vZGU6IFRoeUZ1bGxzY3JlZW5Nb2RlID0gVGh5RnVsbHNjcmVlbk1vZGUuaW1tZXJzaXZlO1xuXG4gICAgLyoqXG4gICAgICog5omT5byA5YWo5bGP5pe26ZyA6KaB5re75Yqg55qE57G75ZCNXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RnVsbHNjcmVlbkNsYXNzZXM6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOWFqOWxj+S5i+WQjueahOWbnuiwg1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlGdWxsc2NyZWVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFRoeUZ1bGxzY3JlZW5MYXVuY2hEaXJlY3RpdmUsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiBmYWxzZSB9KVxuICAgIHNldCBmdWxsc2NyZWVuTGF1bmNoKGZ1bGxzY3JlZW5MYXVuY2g6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+IHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbkxhdW5jaCQubmV4dChmdWxsc2NyZWVuTGF1bmNoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG5nVW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIGZ1bGxzY3JlZW5MYXVuY2gkID0gbmV3IFN1YmplY3Q8RWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD4gfCB1bmRlZmluZWQ+KCk7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuTGF1bmNoJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGZ1bGxzY3JlZW5MYXVuY2ggPT4gKGZ1bGxzY3JlZW5MYXVuY2ggPyBmcm9tRXZlbnQoZnVsbHNjcmVlbkxhdW5jaC5uYXRpdmVFbGVtZW50LCAnY2xpY2snKSA6IEVNUFRZKSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMuaGFuZGxlRnVsbHNjcmVlbik7XG4gICAgfVxuXG4gICAgLy8gVG9nZ2xlcyBmdWxsIHNjcmVlbiBvbiBvciBvZmYuXG4gICAgcHJpdmF0ZSBoYW5kbGVGdWxsc2NyZWVuID0gKCkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW2Z1bGxzY3JlZW4tdGFyZ2V0XScpO1xuICAgICAgICBjb25zdCBjb250YWluZXJFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW2Z1bGxzY3JlZW4tY29udGFpbmVyXScpO1xuICAgICAgICBjb25zdCBmdWxsc2NyZWVuID0gdGFyZ2V0RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3RoeS1mdWxsc2NyZWVuLWFjdGl2ZScpO1xuXG4gICAgICAgIGlmIChmdWxsc2NyZWVuKSB7XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UuZXhpdCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZnVsbHNjcmVlblJlZiA9IHRoaXMuc2VydmljZS5sYXVuY2goe1xuICAgICAgICAgICAgICAgIG1vZGU6IHRoaXMudGh5TW9kZSxcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IHRhcmdldEVsZW1lbnQsXG4gICAgICAgICAgICAgICAgdGFyZ2V0TGF1bmNoZWRDbGFzczogdGhpcy50aHlGdWxsc2NyZWVuQ2xhc3NlcyxcbiAgICAgICAgICAgICAgICBlbXVsYXRlZENvbnRhaW5lcjogY29udGFpbmVyRWxlbWVudFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMudGh5RnVsbHNjcmVlbkNoYW5nZS5lbWl0KHRydWUpO1xuXG4gICAgICAgICAgICBmdWxsc2NyZWVuUmVmLmFmdGVyRXhpdGVkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRoeUZ1bGxzY3JlZW5DaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -1,12 +1,12 @@
1
1
  import { DOCUMENT } from '@angular/common';
2
- import { Inject, Injectable, NgZone } from '@angular/core';
2
+ import { Injectable, NgZone, inject } from '@angular/core';
3
3
  import { ThyFullscreenRef } from './fullscreen-ref';
4
4
  import { ThyFullscreenMode } from './fullscreen.config';
5
5
  import * as i0 from "@angular/core";
6
6
  export class ThyFullscreen {
7
- constructor(document, ngZone) {
8
- this.document = document;
9
- this.ngZone = ngZone;
7
+ constructor() {
8
+ this.document = inject(DOCUMENT);
9
+ this.ngZone = inject(NgZone);
10
10
  this.fullscreenRefs = [];
11
11
  }
12
12
  /**
@@ -35,7 +35,7 @@ export class ThyFullscreen {
35
35
  const lastFullscreenRef = this.fullscreenRefs[this.fullscreenRefs.length - 1];
36
36
  lastFullscreenRef?.exit();
37
37
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFullscreen, deps: [{ token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFullscreen, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
39
39
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFullscreen, providedIn: 'root' }); }
40
40
  }
41
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyFullscreen, decorators: [{
@@ -43,8 +43,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
43
43
  args: [{
44
44
  providedIn: 'root'
45
45
  }]
46
- }], ctorParameters: () => [{ type: Document, decorators: [{
47
- type: Inject,
48
- args: [DOCUMENT]
49
- }] }, { type: i0.NgZone }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbHNjcmVlbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Z1bGxzY3JlZW4vZnVsbHNjcmVlbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUF1QixpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUs3RSxNQUFNLE9BQU8sYUFBYTtJQUN0QixZQUNnQyxRQUFrQixFQUN0QyxNQUFjO1FBRE0sYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUN0QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBR2xCLG1CQUFjLEdBQXVCLEVBQUUsQ0FBQztJQUY3QyxDQUFDO0lBSUo7OztPQUdHO0lBQ0gsTUFBTSxDQUFvQixNQUEyQjtRQUNqRCxNQUFNLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksaUJBQWlCLENBQUMsU0FBUyxDQUFDO1FBQ3pELE1BQU0sYUFBYSxHQUFHLElBQUksZ0JBQWdCLENBQVUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEYsYUFBYSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztRQUN4QyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDekQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDYixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDekMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUk7UUFDQSxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDOUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs4R0FuQ1EsYUFBYSxrQkFFVixRQUFRO2tIQUZYLGFBQWEsY0FGVixNQUFNOzsyRkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBR1EsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeUZ1bGxzY3JlZW5SZWYgfSBmcm9tICcuL2Z1bGxzY3JlZW4tcmVmJztcbmltcG9ydCB7IFRoeUZ1bGxzY3JlZW5Db25maWcsIFRoeUZ1bGxzY3JlZW5Nb2RlIH0gZnJvbSAnLi9mdWxsc2NyZWVuLmNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGh5RnVsbHNjcmVlbiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByb3RlY3RlZCBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmVcbiAgICApIHt9XG5cbiAgICBwcml2YXRlIGZ1bGxzY3JlZW5SZWZzOiBUaHlGdWxsc2NyZWVuUmVmW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIOW8gOWni+WFqOWxj1xuICAgICAqIEBwYXJhbSBjb25maWdcbiAgICAgKi9cbiAgICBsYXVuY2g8VFJlc3VsdCA9IHVua25vd24+KGNvbmZpZzogVGh5RnVsbHNjcmVlbkNvbmZpZyk6IFRoeUZ1bGxzY3JlZW5SZWY8VFJlc3VsdD4ge1xuICAgICAgICBjb25maWcubW9kZSA9IGNvbmZpZy5tb2RlIHx8IFRoeUZ1bGxzY3JlZW5Nb2RlLmltbWVyc2l2ZTtcbiAgICAgICAgY29uc3QgZnVsbHNjcmVlblJlZiA9IG5ldyBUaHlGdWxsc2NyZWVuUmVmPFRSZXN1bHQ+KHRoaXMuZG9jdW1lbnQsIHRoaXMubmdab25lKTtcbiAgICAgICAgZnVsbHNjcmVlblJlZi5mdWxsc2NyZWVuQ29uZmlnID0gY29uZmlnO1xuICAgICAgICBmdWxsc2NyZWVuUmVmLmxhdW5jaCgpO1xuICAgICAgICB0aGlzLmZ1bGxzY3JlZW5SZWZzLnB1c2goZnVsbHNjcmVlblJlZik7XG4gICAgICAgIGZ1bGxzY3JlZW5SZWYuYWZ0ZXJFeGl0ZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZ1bGxzY3JlZW5SZWZzLmluZGV4T2YoZnVsbHNjcmVlblJlZik7XG4gICAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZnVsbHNjcmVlblJlZnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGZ1bGxzY3JlZW5SZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6YCA5Ye65pyA5ZCO5LiA5LiqIFRoeUZ1bGxzY3JlZW5SZWYg55qE5YWo5bGPXG4gICAgICogQHBhcmFtIGNvbmZpZ1xuICAgICAqL1xuICAgIGV4aXQoKSB7XG4gICAgICAgIGNvbnN0IGxhc3RGdWxsc2NyZWVuUmVmID0gdGhpcy5mdWxsc2NyZWVuUmVmc1t0aGlzLmZ1bGxzY3JlZW5SZWZzLmxlbmd0aCAtIDFdO1xuICAgICAgICBsYXN0RnVsbHNjcmVlblJlZj8uZXhpdCgpO1xuICAgIH1cbn1cbiJdfQ==
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbHNjcmVlbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Z1bGxzY3JlZW4vZnVsbHNjcmVlbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUF1QixpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUs3RSxNQUFNLE9BQU8sYUFBYTtJQUgxQjtRQUljLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV4QixtQkFBYyxHQUF1QixFQUFFLENBQUM7S0E4Qm5EO0lBNUJHOzs7T0FHRztJQUNILE1BQU0sQ0FBb0IsTUFBMkI7UUFDakQsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLGlCQUFpQixDQUFDLFNBQVMsQ0FBQztRQUN6RCxNQUFNLGFBQWEsR0FBRyxJQUFJLGdCQUFnQixDQUFVLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hGLGFBQWEsQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7UUFDeEMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3pELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJO1FBQ0EsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzlFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7OEdBakNRLGFBQWE7a0hBQWIsYUFBYSxjQUZWLE1BQU07OzJGQUVULGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeUZ1bGxzY3JlZW5SZWYgfSBmcm9tICcuL2Z1bGxzY3JlZW4tcmVmJztcbmltcG9ydCB7IFRoeUZ1bGxzY3JlZW5Db25maWcsIFRoeUZ1bGxzY3JlZW5Nb2RlIH0gZnJvbSAnLi9mdWxsc2NyZWVuLmNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGh5RnVsbHNjcmVlbiB7XG4gICAgcHJvdGVjdGVkIGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gICAgcHJpdmF0ZSBmdWxsc2NyZWVuUmVmczogVGh5RnVsbHNjcmVlblJlZltdID0gW107XG5cbiAgICAvKipcbiAgICAgKiDlvIDlp4vlhajlsY9cbiAgICAgKiBAcGFyYW0gY29uZmlnXG4gICAgICovXG4gICAgbGF1bmNoPFRSZXN1bHQgPSB1bmtub3duPihjb25maWc6IFRoeUZ1bGxzY3JlZW5Db25maWcpOiBUaHlGdWxsc2NyZWVuUmVmPFRSZXN1bHQ+IHtcbiAgICAgICAgY29uZmlnLm1vZGUgPSBjb25maWcubW9kZSB8fCBUaHlGdWxsc2NyZWVuTW9kZS5pbW1lcnNpdmU7XG4gICAgICAgIGNvbnN0IGZ1bGxzY3JlZW5SZWYgPSBuZXcgVGh5RnVsbHNjcmVlblJlZjxUUmVzdWx0Pih0aGlzLmRvY3VtZW50LCB0aGlzLm5nWm9uZSk7XG4gICAgICAgIGZ1bGxzY3JlZW5SZWYuZnVsbHNjcmVlbkNvbmZpZyA9IGNvbmZpZztcbiAgICAgICAgZnVsbHNjcmVlblJlZi5sYXVuY2goKTtcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuUmVmcy5wdXNoKGZ1bGxzY3JlZW5SZWYpO1xuICAgICAgICBmdWxsc2NyZWVuUmVmLmFmdGVyRXhpdGVkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mdWxsc2NyZWVuUmVmcy5pbmRleE9mKGZ1bGxzY3JlZW5SZWYpO1xuICAgICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZ1bGxzY3JlZW5SZWZzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBmdWxsc2NyZWVuUmVmO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOmAgOWHuuacgOWQjuS4gOS4qiBUaHlGdWxsc2NyZWVuUmVmIOeahOWFqOWxj1xuICAgICAqIEBwYXJhbSBjb25maWdcbiAgICAgKi9cbiAgICBleGl0KCkge1xuICAgICAgICBjb25zdCBsYXN0RnVsbHNjcmVlblJlZiA9IHRoaXMuZnVsbHNjcmVlblJlZnNbdGhpcy5mdWxsc2NyZWVuUmVmcy5sZW5ndGggLSAxXTtcbiAgICAgICAgbGFzdEZ1bGxzY3JlZW5SZWY/LmV4aXQoKTtcbiAgICB9XG59XG4iXX0=