@alauda/ui 8.0.1-beta.2 → 8.0.1-beta.21

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 (307) hide show
  1. package/anchor/anchor.directive.d.ts +2 -2
  2. package/button/button.types.d.ts +3 -0
  3. package/date-picker/calendar/panel/picker-panel.d.ts +1 -1
  4. package/date-picker/calendar/range-picker-panel/component.d.ts +1 -1
  5. package/dialog/dialog-container.component.d.ts +7 -0
  6. package/dialog/dialog-ref.d.ts +2 -4
  7. package/dialog/dialog.service.d.ts +3 -5
  8. package/fesm2022/alauda-ui.mjs +1091 -737
  9. package/fesm2022/alauda-ui.mjs.map +1 -1
  10. package/form/common-form.d.ts +5 -1
  11. package/input/autosize.directive.d.ts +4 -1
  12. package/internal/types/index.d.ts +3 -0
  13. package/message/message.config.d.ts +20 -0
  14. package/notification/notification.component.d.ts +4 -0
  15. package/package.json +2 -9
  16. package/paginator/paginator-intl.d.ts +9 -0
  17. package/radio/base-radio.d.ts +1 -1
  18. package/select/base-select.d.ts +3 -0
  19. package/select/validators.d.ts +1 -1
  20. package/sort/sort-errors.d.ts +4 -0
  21. package/table/table-cell-def.directive.d.ts +4 -0
  22. package/table/table-cell.directive.d.ts +1 -0
  23. package/table/table-column-def.directive.d.ts +4 -0
  24. package/table/table-header-cell-def.directive.d.ts +4 -0
  25. package/table/table-header-cell.directive.d.ts +1 -0
  26. package/table/table-header-row-def.directive.d.ts +4 -0
  27. package/table/table-header-row.component.d.ts +1 -0
  28. package/table/table-row-def.directive.d.ts +5 -0
  29. package/table/table-row.component.d.ts +1 -0
  30. package/table/table-scroll.directive.d.ts +1 -1
  31. package/tabs/tab-body.component.d.ts +16 -0
  32. package/tabs/tab-context.service.d.ts +3 -0
  33. package/tabs/tab-group.component.d.ts +28 -0
  34. package/tabs/tab-header-active-indicator.component.d.ts +9 -0
  35. package/tabs/tab-header.component.d.ts +79 -0
  36. package/tabs/tab.component.d.ts +18 -0
  37. package/tabs/tabs.types.d.ts +3 -0
  38. package/theme/style.css +10 -9
  39. package/tooltip/tooltip-intl.d.ts +3 -0
  40. package/tsconfig.lib.tsbuildinfo +1 -1
  41. package/esm2022/accordion/accordion-item/accordion-item.component.mjs +0 -73
  42. package/esm2022/accordion/accordion.component.mjs +0 -27
  43. package/esm2022/accordion/accordion.module.mjs +0 -54
  44. package/esm2022/accordion/index.mjs +0 -4
  45. package/esm2022/alauda-ui.mjs +0 -2
  46. package/esm2022/anchor/anchor.component.mjs +0 -137
  47. package/esm2022/anchor/anchor.directive.mjs +0 -184
  48. package/esm2022/anchor/anchor.module.mjs +0 -42
  49. package/esm2022/anchor/index.mjs +0 -6
  50. package/esm2022/anchor/types.mjs +0 -2
  51. package/esm2022/anchor/utils.mjs +0 -26
  52. package/esm2022/autocomplete/autocomplete-placeholder.component.mjs +0 -18
  53. package/esm2022/autocomplete/autocomplete.component.mjs +0 -52
  54. package/esm2022/autocomplete/autocomplete.directive.mjs +0 -282
  55. package/esm2022/autocomplete/autocomplete.module.mjs +0 -69
  56. package/esm2022/autocomplete/autocomplete.types.mjs +0 -2
  57. package/esm2022/autocomplete/helper-directives.mjs +0 -18
  58. package/esm2022/autocomplete/index.mjs +0 -9
  59. package/esm2022/autocomplete/suggestion/suggestion.component.mjs +0 -74
  60. package/esm2022/autocomplete/suggestion-group/suggestion-group.component.mjs +0 -23
  61. package/esm2022/back-top/back-top.component.mjs +0 -84
  62. package/esm2022/back-top/back-top.module.mjs +0 -19
  63. package/esm2022/back-top/index.mjs +0 -3
  64. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +0 -32
  65. package/esm2022/breadcrumb/breadcrumb.component.mjs +0 -57
  66. package/esm2022/breadcrumb/breadcrumb.module.mjs +0 -32
  67. package/esm2022/breadcrumb/index.mjs +0 -4
  68. package/esm2022/button/button-group/button-group.component.mjs +0 -11
  69. package/esm2022/button/button.component.mjs +0 -121
  70. package/esm2022/button/button.module.mjs +0 -19
  71. package/esm2022/button/button.types.mjs +0 -11
  72. package/esm2022/button/index.mjs +0 -5
  73. package/esm2022/card/card.component.mjs +0 -16
  74. package/esm2022/card/card.module.mjs +0 -48
  75. package/esm2022/card/helper-directives.mjs +0 -45
  76. package/esm2022/card/index.mjs +0 -5
  77. package/esm2022/card/section.component.mjs +0 -11
  78. package/esm2022/checkbox/checkbox-group/checkbox-group.component.mjs +0 -61
  79. package/esm2022/checkbox/checkbox.component.mjs +0 -112
  80. package/esm2022/checkbox/checkbox.module.mjs +0 -32
  81. package/esm2022/checkbox/index.mjs +0 -4
  82. package/esm2022/color-picker/color-picker.component.mjs +0 -28
  83. package/esm2022/color-picker/color-picker.module.mjs +0 -18
  84. package/esm2022/color-picker/index.mjs +0 -3
  85. package/esm2022/core/animation/animation-consts.mjs +0 -12
  86. package/esm2022/date-picker/calendar/constant.mjs +0 -31
  87. package/esm2022/date-picker/calendar/date-picker-panel/component.mjs +0 -173
  88. package/esm2022/date-picker/calendar/footer/component.mjs +0 -29
  89. package/esm2022/date-picker/calendar/header/component.mjs +0 -136
  90. package/esm2022/date-picker/calendar/panel/picker-panel.mjs +0 -154
  91. package/esm2022/date-picker/calendar/range-picker-panel/component.mjs +0 -218
  92. package/esm2022/date-picker/calendar/util.mjs +0 -145
  93. package/esm2022/date-picker/date-picker/date-picker.component.mjs +0 -100
  94. package/esm2022/date-picker/date-picker.module.mjs +0 -85
  95. package/esm2022/date-picker/date-picker.type.mjs +0 -12
  96. package/esm2022/date-picker/index.mjs +0 -12
  97. package/esm2022/date-picker/range-picker/range-picker.component.mjs +0 -90
  98. package/esm2022/date-picker/trigger/trigger.component.mjs +0 -122
  99. package/esm2022/dialog/confirm-dialog/confirm-dialog-config.mjs +0 -12
  100. package/esm2022/dialog/confirm-dialog/confirm-dialog.component.mjs +0 -95
  101. package/esm2022/dialog/dialog-animations.mjs +0 -57
  102. package/esm2022/dialog/dialog-config.mjs +0 -15
  103. package/esm2022/dialog/dialog-content/dialog-close.directive.mjs +0 -39
  104. package/esm2022/dialog/dialog-content/dialog-content.component.mjs +0 -19
  105. package/esm2022/dialog/dialog-content/dialog-footer.component.mjs +0 -15
  106. package/esm2022/dialog/dialog-content/dialog-header.component.mjs +0 -39
  107. package/esm2022/dialog/dialog-ref.mjs +0 -48
  108. package/esm2022/dialog/dialog.component.mjs +0 -154
  109. package/esm2022/dialog/dialog.module.mjs +0 -72
  110. package/esm2022/dialog/dialog.service.mjs +0 -120
  111. package/esm2022/dialog/dialog.types.mjs +0 -17
  112. package/esm2022/dialog/index.mjs +0 -12
  113. package/esm2022/dialog/utils/errors.mjs +0 -4
  114. package/esm2022/dialog/utils/index.mjs +0 -11
  115. package/esm2022/drawer/component/drawer.component.mjs +0 -88
  116. package/esm2022/drawer/component/internal/internal.component.mjs +0 -184
  117. package/esm2022/drawer/drawer-ref.mjs +0 -28
  118. package/esm2022/drawer/drawer.module.mjs +0 -41
  119. package/esm2022/drawer/drawer.service.mjs +0 -114
  120. package/esm2022/drawer/helper-directives.mjs +0 -36
  121. package/esm2022/drawer/index.mjs +0 -7
  122. package/esm2022/drawer/types.mjs +0 -6
  123. package/esm2022/dropdown/dropdown-active.directive.mjs +0 -22
  124. package/esm2022/dropdown/dropdown-button/dropdown-button.component.mjs +0 -47
  125. package/esm2022/dropdown/dropdown.directive.mjs +0 -53
  126. package/esm2022/dropdown/dropdown.module.mjs +0 -80
  127. package/esm2022/dropdown/dropdown.types.mjs +0 -8
  128. package/esm2022/dropdown/helper-directives.mjs +0 -18
  129. package/esm2022/dropdown/index.mjs +0 -11
  130. package/esm2022/dropdown/menu/menu.component.mjs +0 -19
  131. package/esm2022/dropdown/menu-group/menu-group.component.mjs +0 -11
  132. package/esm2022/dropdown/menu-item/menu-item.component.mjs +0 -37
  133. package/esm2022/dropdown/submenu/submenu.component.mjs +0 -45
  134. package/esm2022/form/common-form.mjs +0 -87
  135. package/esm2022/form/form-item/form-item.component.mjs +0 -108
  136. package/esm2022/form/form.directive.mjs +0 -70
  137. package/esm2022/form/form.module.mjs +0 -58
  138. package/esm2022/form/form.types.mjs +0 -11
  139. package/esm2022/form/helper-directives.mjs +0 -77
  140. package/esm2022/form/index.mjs +0 -7
  141. package/esm2022/i18n/i18n.module.mjs +0 -16
  142. package/esm2022/i18n/i18n.pipe.mjs +0 -22
  143. package/esm2022/i18n/i18n.service.mjs +0 -40
  144. package/esm2022/i18n/i18n.type.mjs +0 -6
  145. package/esm2022/i18n/index.mjs +0 -7
  146. package/esm2022/i18n/language/en.mjs +0 -25
  147. package/esm2022/i18n/language/zh.mjs +0 -25
  148. package/esm2022/icon/icon-register.service.mjs +0 -63
  149. package/esm2022/icon/icon.component.mjs +0 -65
  150. package/esm2022/icon/icon.module.mjs +0 -18
  151. package/esm2022/icon/icons.mjs +0 -2
  152. package/esm2022/icon/index.mjs +0 -4
  153. package/esm2022/icon/utils.mjs +0 -7
  154. package/esm2022/index.mjs +0 -39
  155. package/esm2022/inline-alert/helper-directives.mjs +0 -15
  156. package/esm2022/inline-alert/index.mjs +0 -5
  157. package/esm2022/inline-alert/inline-alert.component.mjs +0 -57
  158. package/esm2022/inline-alert/inline-alert.module.mjs +0 -32
  159. package/esm2022/inline-alert/inline-alert.types.mjs +0 -9
  160. package/esm2022/input/autosize.directive.mjs +0 -55
  161. package/esm2022/input/helper-directives.mjs +0 -47
  162. package/esm2022/input/index.mjs +0 -9
  163. package/esm2022/input/input-group/input-group.component.mjs +0 -46
  164. package/esm2022/input/input.component.mjs +0 -57
  165. package/esm2022/input/input.module.mjs +0 -85
  166. package/esm2022/input/number-input/number-input.component.mjs +0 -130
  167. package/esm2022/input/search/search.component.mjs +0 -89
  168. package/esm2022/input/tags-input/tags-input.component.mjs +0 -255
  169. package/esm2022/input/tags-input/with-max-row-count.mjs +0 -50
  170. package/esm2022/input/utils/index.mjs +0 -67
  171. package/esm2022/internal/types/index.mjs +0 -8
  172. package/esm2022/internal/utils/animations.mjs +0 -2
  173. package/esm2022/internal/utils/async.mjs +0 -6
  174. package/esm2022/internal/utils/bem.mjs +0 -43
  175. package/esm2022/internal/utils/coercion.mjs +0 -5
  176. package/esm2022/internal/utils/fn.mjs +0 -16
  177. package/esm2022/internal/utils/index.mjs +0 -10
  178. package/esm2022/internal/utils/observe-dom.mjs +0 -23
  179. package/esm2022/internal/utils/operators.mjs +0 -15
  180. package/esm2022/internal/utils/scroll-into-view.mjs +0 -17
  181. package/esm2022/internal/utils/styles-renderer.mjs +0 -40
  182. package/esm2022/internal/utils/watch-content-exist.mjs +0 -6
  183. package/esm2022/message/base-message.mjs +0 -90
  184. package/esm2022/message/index.mjs +0 -4
  185. package/esm2022/message/message-animations.mjs +0 -32
  186. package/esm2022/message/message-wrapper.component.mjs +0 -14
  187. package/esm2022/message/message.component.mjs +0 -70
  188. package/esm2022/message/message.config.mjs +0 -16
  189. package/esm2022/message/message.module.mjs +0 -31
  190. package/esm2022/message/message.service.mjs +0 -29
  191. package/esm2022/notification/index.mjs +0 -5
  192. package/esm2022/notification/notification-wrapper.component.mjs +0 -16
  193. package/esm2022/notification/notification.component.mjs +0 -103
  194. package/esm2022/notification/notification.config.mjs +0 -7
  195. package/esm2022/notification/notification.module.mjs +0 -36
  196. package/esm2022/notification/notification.service.mjs +0 -29
  197. package/esm2022/paginator/index.mjs +0 -4
  198. package/esm2022/paginator/paginator-intl.mjs +0 -21
  199. package/esm2022/paginator/paginator.component.mjs +0 -134
  200. package/esm2022/paginator/paginator.module.mjs +0 -37
  201. package/esm2022/radio/base-radio.mjs +0 -67
  202. package/esm2022/radio/index.mjs +0 -6
  203. package/esm2022/radio/radio-button/radio-button.component.mjs +0 -41
  204. package/esm2022/radio/radio-group/radio-group.component.mjs +0 -68
  205. package/esm2022/radio/radio.component.mjs +0 -23
  206. package/esm2022/radio/radio.module.mjs +0 -36
  207. package/esm2022/radio/radio.types.mjs +0 -6
  208. package/esm2022/scrolling/fixed-size-table-virtual-scroll-strategy.mjs +0 -81
  209. package/esm2022/scrolling/fixed-size-table-virtual-scroll.directive.mjs +0 -120
  210. package/esm2022/scrolling/fixed-size-virtual-scroll.directive.mjs +0 -28
  211. package/esm2022/scrolling/index.mjs +0 -7
  212. package/esm2022/scrolling/scrolling.module.mjs +0 -30
  213. package/esm2022/scrolling/virtual-for-of.directive.mjs +0 -35
  214. package/esm2022/scrolling/virtual-scroll-viewport.component.mjs +0 -26
  215. package/esm2022/select/base-select.mjs +0 -327
  216. package/esm2022/select/helper-directives.mjs +0 -67
  217. package/esm2022/select/index.mjs +0 -10
  218. package/esm2022/select/multi-select/multi-select.component.mjs +0 -313
  219. package/esm2022/select/option/option.component.mjs +0 -113
  220. package/esm2022/select/option-group/option-group.component.mjs +0 -23
  221. package/esm2022/select/option-placeholder.component.mjs +0 -18
  222. package/esm2022/select/select.component.mjs +0 -116
  223. package/esm2022/select/select.module.mjs +0 -87
  224. package/esm2022/select/select.types.mjs +0 -7
  225. package/esm2022/select/validators.mjs +0 -79
  226. package/esm2022/shared/click-outside.directive.mjs +0 -29
  227. package/esm2022/shared/shared.module.mjs +0 -16
  228. package/esm2022/sort/index.mjs +0 -6
  229. package/esm2022/sort/sort-errors.mjs +0 -13
  230. package/esm2022/sort/sort-header.component.mjs +0 -68
  231. package/esm2022/sort/sort.directive.mjs +0 -75
  232. package/esm2022/sort/sort.module.mjs +0 -19
  233. package/esm2022/sort/sort.types.mjs +0 -2
  234. package/esm2022/status-bar/index.mjs +0 -4
  235. package/esm2022/status-bar/status-bar.component.mjs +0 -29
  236. package/esm2022/status-bar/status-bar.module.mjs +0 -18
  237. package/esm2022/status-bar/status-bar.types.mjs +0 -13
  238. package/esm2022/steps/index.mjs +0 -4
  239. package/esm2022/steps/steps.component.mjs +0 -173
  240. package/esm2022/steps/steps.module.mjs +0 -18
  241. package/esm2022/steps/types.mjs +0 -7
  242. package/esm2022/switch/index.mjs +0 -3
  243. package/esm2022/switch/switch.component.mjs +0 -46
  244. package/esm2022/switch/switch.module.mjs +0 -17
  245. package/esm2022/table/index.mjs +0 -16
  246. package/esm2022/table/table-cell-def.directive.mjs +0 -26
  247. package/esm2022/table/table-cell.component.mjs +0 -125
  248. package/esm2022/table/table-cell.directive.mjs +0 -29
  249. package/esm2022/table/table-column-def.directive.mjs +0 -32
  250. package/esm2022/table/table-column-resizable.directive.mjs +0 -150
  251. package/esm2022/table/table-header-cell-def.directive.mjs +0 -26
  252. package/esm2022/table/table-header-cell.directive.mjs +0 -25
  253. package/esm2022/table/table-header-row-def.directive.mjs +0 -42
  254. package/esm2022/table/table-header-row.component.mjs +0 -26
  255. package/esm2022/table/table-placeholder.directive.mjs +0 -32
  256. package/esm2022/table/table-row-def.directive.mjs +0 -38
  257. package/esm2022/table/table-row.component.mjs +0 -44
  258. package/esm2022/table/table-scroll.directive.mjs +0 -131
  259. package/esm2022/table/table.component.mjs +0 -83
  260. package/esm2022/table/table.module.mjs +0 -82
  261. package/esm2022/table-of-contents/index.mjs +0 -5
  262. package/esm2022/table-of-contents/table-of-contents.module.mjs +0 -32
  263. package/esm2022/table-of-contents/toc-container.directive.mjs +0 -110
  264. package/esm2022/table-of-contents/toc-content.directive.mjs +0 -36
  265. package/esm2022/table-of-contents/toc-link.directive.mjs +0 -45
  266. package/esm2022/tabs/index.mjs +0 -9
  267. package/esm2022/tabs/tab-body.component.mjs +0 -148
  268. package/esm2022/tabs/tab-context.service.mjs +0 -28
  269. package/esm2022/tabs/tab-group.component.mjs +0 -258
  270. package/esm2022/tabs/tab-header-active-indicator.component.mjs +0 -39
  271. package/esm2022/tabs/tab-header.component.mjs +0 -264
  272. package/esm2022/tabs/tab.component.mjs +0 -65
  273. package/esm2022/tabs/tabs.module.mjs +0 -97
  274. package/esm2022/tabs/tabs.types.mjs +0 -10
  275. package/esm2022/tag/check-tag/check-tag.component.mjs +0 -33
  276. package/esm2022/tag/index.mjs +0 -5
  277. package/esm2022/tag/tag.component.mjs +0 -65
  278. package/esm2022/tag/tag.module.mjs +0 -19
  279. package/esm2022/tag/tag.types.mjs +0 -8
  280. package/esm2022/theme/index.mjs +0 -6
  281. package/esm2022/theme/theme.module.mjs +0 -27
  282. package/esm2022/theme/theme.pipe.mjs +0 -85
  283. package/esm2022/theme/theme.service.mjs +0 -56
  284. package/esm2022/theme/theme.types.mjs +0 -2
  285. package/esm2022/theme/utils.mjs +0 -10
  286. package/esm2022/time-picker/component.mjs +0 -190
  287. package/esm2022/time-picker/constant.mjs +0 -5
  288. package/esm2022/time-picker/index.mjs +0 -6
  289. package/esm2022/time-picker/panel/panel.component.mjs +0 -236
  290. package/esm2022/time-picker/time-picker.module.mjs +0 -64
  291. package/esm2022/time-picker/time-picker.type.mjs +0 -13
  292. package/esm2022/tooltip/animations.mjs +0 -57
  293. package/esm2022/tooltip/base-tooltip.mjs +0 -325
  294. package/esm2022/tooltip/index.mjs +0 -9
  295. package/esm2022/tooltip/tooltip-active.directive.mjs +0 -50
  296. package/esm2022/tooltip/tooltip-copy.directive.mjs +0 -79
  297. package/esm2022/tooltip/tooltip-intl.mjs +0 -18
  298. package/esm2022/tooltip/tooltip.component.mjs +0 -75
  299. package/esm2022/tooltip/tooltip.directive.mjs +0 -48
  300. package/esm2022/tooltip/tooltip.module.mjs +0 -39
  301. package/esm2022/tooltip/tooltip.types.mjs +0 -19
  302. package/esm2022/tooltip/utils/index.mjs +0 -58
  303. package/esm2022/tree-select/index.mjs +0 -5
  304. package/esm2022/tree-select/tree-node-placeholder.component.mjs +0 -18
  305. package/esm2022/tree-select/tree-select.component.mjs +0 -324
  306. package/esm2022/tree-select/tree-select.module.mjs +0 -44
  307. package/esm2022/tree-select/tree-select.types.mjs +0 -2
@@ -1,148 +0,0 @@
1
- import { CdkPortal, CdkPortalOutlet, } from '@angular/cdk/portal';
2
- import { ChangeDetectionStrategy, Component, Directive, Input, ViewChild, ViewEncapsulation, forwardRef, } from '@angular/core';
3
- import { BehaviorSubject, Subscription } from 'rxjs';
4
- import { coerceAttrBoolean } from '../internal/utils';
5
- import * as i0 from "@angular/core";
6
- export class TabBodyComponent {
7
- constructor() {
8
- this.content$ = new BehaviorSubject(null);
9
- }
10
- get content() {
11
- return this._content;
12
- }
13
- set content(content) {
14
- if (this._content !== content) {
15
- this.content$.next(content);
16
- }
17
- this._content = content;
18
- }
19
- ngOnDestroy() {
20
- this.content$.complete();
21
- }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: TabBodyComponent, isStandalone: true, selector: "aui-tab-body", inputs: { content: "content" }, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], ngImport: i0, template: "<div class=\"aui-tab-body\">\n <div\n #content\n class=\"aui-tab-body__content\"\n >\n <ng-template auiTabBodyHost></ng-template>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i0.forwardRef(() => TabBodyPortalDirective), selector: "[auiTabBodyHost]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabBodyComponent, decorators: [{
26
- type: Component,
27
- args: [{ selector: 'aui-tab-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, standalone: true, imports: [forwardRef(() => TabBodyPortalDirective)], template: "<div class=\"aui-tab-body\">\n <div\n #content\n class=\"aui-tab-body__content\"\n >\n <ng-template auiTabBodyHost></ng-template>\n </div>\n</div>\n" }]
28
- }], propDecorators: { _portalOutlet: [{
29
- type: ViewChild,
30
- args: [CdkPortalOutlet, { static: true }]
31
- }], content: [{
32
- type: Input
33
- }] } });
34
- export class TabLabelDirective extends CdkPortal {
35
- constructor(templateRef, viewContainerRef) {
36
- super(templateRef, viewContainerRef);
37
- }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabLabelDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
39
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: TabLabelDirective, isStandalone: true, selector: "[auiTabLabel]", usesInheritance: true, ngImport: i0 }); }
40
- }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabLabelDirective, decorators: [{
42
- type: Directive,
43
- args: [{
44
- selector: '[auiTabLabel]',
45
- standalone: true,
46
- }]
47
- }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
48
- export class TabContentDirective {
49
- constructor(template) {
50
- this.template = template;
51
- }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabContentDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
53
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: TabContentDirective, isStandalone: true, selector: "[auiTabContent]", ngImport: i0 }); }
54
- }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabContentDirective, decorators: [{
56
- type: Directive,
57
- args: [{
58
- selector: '[auiTabContent]',
59
- standalone: true,
60
- }]
61
- }], ctorParameters: () => [{ type: i0.TemplateRef }] });
62
- export class TabHeaderAddonDirective extends CdkPortal {
63
- constructor(templateRef, viewContainerRef) {
64
- super(templateRef, viewContainerRef);
65
- }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabHeaderAddonDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
67
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: TabHeaderAddonDirective, isStandalone: true, selector: "[auiTabHeaderAddon]", usesInheritance: true, ngImport: i0 }); }
68
- }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabHeaderAddonDirective, decorators: [{
70
- type: Directive,
71
- args: [{
72
- selector: '[auiTabHeaderAddon]',
73
- standalone: true,
74
- }]
75
- }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
76
- export class TabLabelWrapperDirective {
77
- getOffsetLeft() {
78
- return this.elementRef.nativeElement.offsetLeft;
79
- }
80
- getOffsetWidth() {
81
- return this.elementRef.nativeElement.offsetWidth;
82
- }
83
- focus() {
84
- this.elementRef.nativeElement.focus();
85
- }
86
- constructor(elementRef) {
87
- this.elementRef = elementRef;
88
- }
89
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabLabelWrapperDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
90
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.6", type: TabLabelWrapperDirective, isStandalone: true, selector: "[auiTabLabelWrapper]", inputs: { disabled: ["disabled", "disabled", coerceAttrBoolean] }, host: { properties: { "class.aui-tab-label": "true", "class.aui-tab-label--disabled": "!!disabled" } }, ngImport: i0 }); }
91
- }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabLabelWrapperDirective, decorators: [{
93
- type: Directive,
94
- args: [{
95
- selector: '[auiTabLabelWrapper]',
96
- host: {
97
- '[class.aui-tab-label]': 'true',
98
- '[class.aui-tab-label--disabled]': '!!disabled',
99
- },
100
- standalone: true,
101
- }]
102
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { disabled: [{
103
- type: Input,
104
- args: [{ transform: coerceAttrBoolean }]
105
- }] } });
106
- export class TabTitleDirective extends CdkPortal {
107
- constructor(templateRef, viewContainerRef) {
108
- super(templateRef, viewContainerRef);
109
- }
110
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabTitleDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
111
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: TabTitleDirective, isStandalone: true, selector: "[auiTabTitle]", usesInheritance: true, ngImport: i0 }); }
112
- }
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabTitleDirective, decorators: [{
114
- type: Directive,
115
- args: [{
116
- selector: '[auiTabTitle]',
117
- standalone: true,
118
- }]
119
- }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
120
- export class TabBodyPortalDirective extends CdkPortalOutlet {
121
- constructor(componentFactoryResolver, viewContainerRef, _host) {
122
- super(componentFactoryResolver, viewContainerRef);
123
- this._host = _host;
124
- this._hostSubscription = Subscription.EMPTY;
125
- }
126
- ngOnInit() {
127
- super.ngOnInit();
128
- this._hostSubscription = this._host.content$.subscribe(content => {
129
- if (this.hasAttached) {
130
- this.detach();
131
- }
132
- this.attach(content);
133
- });
134
- }
135
- ngOnDestroy() {
136
- this._hostSubscription.unsubscribe();
137
- }
138
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabBodyPortalDirective, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: TabBodyComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
139
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.6", type: TabBodyPortalDirective, isStandalone: true, selector: "[auiTabBodyHost]", usesInheritance: true, ngImport: i0 }); }
140
- }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabBodyPortalDirective, decorators: [{
142
- type: Directive,
143
- args: [{
144
- selector: '[auiTabBodyHost]',
145
- standalone: true,
146
- }]
147
- }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: TabBodyComponent }] });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWJvZHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RhYnMvdGFiLWJvZHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3JjL3RhYnMvdGFiLWJvZHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEdBRWhCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsU0FBUyxFQUVULEtBQUssRUFJTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFXdEQsTUFBTSxPQUFPLGdCQUFnQjtJQVQ3QjtRQVlFLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBaUIsSUFBSSxDQUFDLENBQUM7S0FzQnREO0lBZkMsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxPQUF1QjtRQUNqQyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQXhCVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQix1SkFNaEIsZUFBZSw4REN2QzVCLGtLQVFBLGdFRGtKYSxzQkFBc0I7OzJGQXpIdEIsZ0JBQWdC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QjtRQUxsQyxzQkFBaUIsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBUS9DLENBQUM7SUFHUSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDL0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixDQUFDO1lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxXQUFXO1FBQ2xCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QyxDQUFDOzhHQTNCVSxzQkFBc0I7a0dBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFKbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDZGtQb3J0YWwsXG4gIENka1BvcnRhbE91dGxldCxcbiAgVGVtcGxhdGVQb3J0YWwsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgY29lcmNlQXR0ckJvb2xlYW4gfSBmcm9tICcuLi9pbnRlcm5hbC91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS10YWItYm9keScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItYm9keS5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW2ZvcndhcmRSZWYoKCkgPT4gVGFiQm9keVBvcnRhbERpcmVjdGl2ZSldLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJCb2R5Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfY29udGVudDogVGVtcGxhdGVQb3J0YWw7XG5cbiAgY29udGVudCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRlbXBsYXRlUG9ydGFsPihudWxsKTtcblxuICAvKiogVGhlIHBvcnRhbCBob3N0IGluc2lkZSBvZiB0aGlzIGNvbnRhaW5lciBpbnRvIHdoaWNoIHRoZSB0YWIgYm9keSBjb250ZW50IHdpbGwgYmUgbG9hZGVkLiAqL1xuICBAVmlld0NoaWxkKENka1BvcnRhbE91dGxldCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgX3BvcnRhbE91dGxldDogQ2RrUG9ydGFsT3V0bGV0O1xuXG4gIC8qKiBUaGUgdGFiIGJvZHkgY29udGVudCB0byBkaXNwbGF5LiAqL1xuICBASW5wdXQoKVxuICBnZXQgY29udGVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudDtcbiAgfVxuXG4gIHNldCBjb250ZW50KGNvbnRlbnQ6IFRlbXBsYXRlUG9ydGFsKSB7XG4gICAgaWYgKHRoaXMuX2NvbnRlbnQgIT09IGNvbnRlbnQpIHtcbiAgICAgIHRoaXMuY29udGVudCQubmV4dChjb250ZW50KTtcbiAgICB9XG4gICAgdGhpcy5fY29udGVudCA9IGNvbnRlbnQ7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNvbnRlbnQkLmNvbXBsZXRlKCk7XG4gIH1cbn1cblxuLyoqIFVzZWQgdG8gZmxhZyB0YWIgbGFiZWxzIGZvciB1c2Ugd2l0aCB0aGUgcG9ydGFsIGRpcmVjdGl2ZSAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aVRhYkxhYmVsXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYkxhYmVsRGlyZWN0aXZlIGV4dGVuZHMgQ2RrUG9ydGFsIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2VsZXNzLWNvbnN0cnVjdG9yXG4gIGNvbnN0cnVjdG9yKFxuICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICkge1xuICAgIHN1cGVyKHRlbXBsYXRlUmVmLCB2aWV3Q29udGFpbmVyUmVmKTtcbiAgfVxufVxuXG4vKipcbiAqIExhenkgbG9hZCB0aGUgZW1iZWRkZWQgdGVtcGxhdGUgZm9yIGEgdGFiIGNvbnRlbnQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlUYWJDb250ZW50XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYkNvbnRlbnREaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHt9XG59XG5cbi8qKiBVc2VkIHRvIHByb2plY3QgYWRkaXRpb25hbCB0ZW1wbGF0ZSBmcm9tIGhvc3QgdG8gdGhlIHRhYiBoZWFkZXIuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpVGFiSGVhZGVyQWRkb25dJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFiSGVhZGVyQWRkb25EaXJlY3RpdmUgZXh0ZW5kcyBDZGtQb3J0YWwge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVzZWxlc3MtY29uc3RydWN0b3JcbiAgY29uc3RydWN0b3IoXG4gICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgKSB7XG4gICAgc3VwZXIodGVtcGxhdGVSZWYsIHZpZXdDb250YWluZXJSZWYpO1xuICB9XG59XG5cbi8qKlxuICogVXNlZCBpbiB0aGUgYGF1aS10YWItZ3JvdXBgIHZpZXcgdG8gZGlzcGxheSB0YWIgbGFiZWxzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpVGFiTGFiZWxXcmFwcGVyXScsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmF1aS10YWItbGFiZWxdJzogJ3RydWUnLFxuICAgICdbY2xhc3MuYXVpLXRhYi1sYWJlbC0tZGlzYWJsZWRdJzogJyEhZGlzYWJsZWQnLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJMYWJlbFdyYXBwZXJEaXJlY3RpdmUge1xuICAvKiogV2hldGhlciBvciBub3QgdGhlIHRhYiBpcyBkaXNhYmxlZCAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VBdHRyQm9vbGVhbiB9KVxuICBkaXNhYmxlZDogYm9vbGVhbjtcblxuICBnZXRPZmZzZXRMZWZ0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XG4gIH1cblxuICBnZXRPZmZzZXRXaWR0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgfVxuXG4gIC8qKiBTZXRzIGZvY3VzIG9uIHRoZSB3cmFwcGVyIGVsZW1lbnQgKi9cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge31cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aVRhYlRpdGxlXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRhYlRpdGxlRGlyZWN0aXZlIGV4dGVuZHMgQ2RrUG9ydGFsIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2VsZXNzLWNvbnN0cnVjdG9yXG4gIGNvbnN0cnVjdG9yKFxuICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICkge1xuICAgIHN1cGVyKHRlbXBsYXRlUmVmLCB2aWV3Q29udGFpbmVyUmVmKTtcbiAgfVxufVxuXG4vKipcbiAqIFRoZSBwb3J0YWwgaG9zdCBkaXJlY3RpdmUgZm9yIHRoZSBjb250ZW50cyBvZiB0aGUgdGFiLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpVGFiQm9keUhvc3RdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFiQm9keVBvcnRhbERpcmVjdGl2ZVxuICBleHRlbmRzIENka1BvcnRhbE91dGxldFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIHByaXZhdGUgX2hvc3RTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ob3N0OiBUYWJCb2R5Q29tcG9uZW50LFxuICApIHtcbiAgICBzdXBlcihjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIHZpZXdDb250YWluZXJSZWYpO1xuICB9XG5cbiAgLyoqIFNldCBpbml0aWFsIHZpc2liaWxpdHkgb3Igc2V0IHVwIHN1YnNjcmlwdGlvbiBmb3IgY2hhbmdpbmcgdmlzaWJpbGl0eS4gKi9cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB0aGlzLl9ob3N0U3Vic2NyaXB0aW9uID0gdGhpcy5faG9zdC5jb250ZW50JC5zdWJzY3JpYmUoY29udGVudCA9PiB7XG4gICAgICBpZiAodGhpcy5oYXNBdHRhY2hlZCkge1xuICAgICAgICB0aGlzLmRldGFjaCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5hdHRhY2goY29udGVudCk7XG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9ob3N0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhdWktdGFiLWJvZHlcIj5cbiAgPGRpdlxuICAgICNjb250ZW50XG4gICAgY2xhc3M9XCJhdWktdGFiLWJvZHlfX2NvbnRlbnRcIlxuICA+XG4gICAgPG5nLXRlbXBsYXRlIGF1aVRhYkJvZHlIb3N0PjwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,28 +0,0 @@
1
- import { Injectable, Optional, SkipSelf } from '@angular/core';
2
- import { BehaviorSubject, combineLatest, distinctUntilChanged, map, } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class TabContextService {
5
- get isActive() {
6
- return this.active$$.value;
7
- }
8
- set isActive(isActive) {
9
- this.active$$.next(isActive);
10
- }
11
- constructor(_parent) {
12
- this._parent = _parent;
13
- this.active$$ = new BehaviorSubject(false);
14
- this.active$ = (_parent
15
- ? combineLatest([_parent.active$, this.active$$]).pipe(map(([a, b]) => a && b))
16
- : this.active$$).pipe(distinctUntilChanged());
17
- }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabContextService, deps: [{ token: TabContextService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
19
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabContextService }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabContextService, decorators: [{
22
- type: Injectable
23
- }], ctorParameters: () => [{ type: TabContextService, decorators: [{
24
- type: Optional
25
- }, {
26
- type: SkipSelf
27
- }] }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNvbnRleHQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJzL3RhYi1jb250ZXh0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFDTCxlQUFlLEVBRWYsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7O0FBR2QsTUFBTSxPQUFPLGlCQUFpQjtJQU01QixJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUFpQjtRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBSUQsWUFHVyxPQUEwQjtRQUExQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQWxCcEIsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBb0JyRCxJQUFJLENBQUMsT0FBTyxHQUFHLENBQ2IsT0FBTztZQUNMLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDbEQsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDeEI7WUFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FDbEIsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBNUJVLGlCQUFpQjtrSEFBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVOzswQkFrQk4sUUFBUTs7MEJBQ1IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBPYnNlcnZhYmxlLFxuICBjb21iaW5lTGF0ZXN0LFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbWFwLFxufSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRhYkNvbnRleHRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmUkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0YWIgaXMgY3VycmVudGx5IGFjdGl2ZS5cbiAgICovXG4gIGdldCBpc0FjdGl2ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmUkJC52YWx1ZTtcbiAgfVxuXG4gIHNldCBpc0FjdGl2ZShpc0FjdGl2ZTogYm9vbGVhbikge1xuICAgIHRoaXMuYWN0aXZlJCQubmV4dChpc0FjdGl2ZSk7XG4gIH1cblxuICByZWFkb25seSBhY3RpdmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpXG4gICAgQFNraXBTZWxmKClcbiAgICByZWFkb25seSBfcGFyZW50OiBUYWJDb250ZXh0U2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5hY3RpdmUkID0gKFxuICAgICAgX3BhcmVudFxuICAgICAgICA/IGNvbWJpbmVMYXRlc3QoW19wYXJlbnQuYWN0aXZlJCwgdGhpcy5hY3RpdmUkJF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFthLCBiXSkgPT4gYSAmJiBiKSxcbiAgICAgICAgICApXG4gICAgICAgIDogdGhpcy5hY3RpdmUkJFxuICAgICkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgfVxufVxuIl19
@@ -1,258 +0,0 @@
1
- import { A11yModule } from '@angular/cdk/a11y';
2
- import { PortalModule } from '@angular/cdk/portal';
3
- import { NgClass, NgIf, NgFor } from '@angular/common';
4
- import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
5
- import { Subject, Subscription, merge } from 'rxjs';
6
- import { IconComponent } from '../icon/icon.component';
7
- import { buildBem } from '../internal/utils';
8
- import { TabHeaderAddonDirective, TabTitleDirective, TabLabelWrapperDirective, TabBodyComponent, } from './tab-body.component';
9
- import { TabHeaderComponent } from './tab-header.component';
10
- import { TabComponent } from './tab.component';
11
- import { TabSize, TabType } from './tabs.types';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/cdk/portal";
14
- import * as i2 from "@angular/cdk/a11y";
15
- export class TabChangeEvent {
16
- }
17
- export class TabGroupComponent {
18
- get selectedIndex() {
19
- return this._selectedIndex;
20
- }
21
- set selectedIndex(value) {
22
- this._indexToSelect = value;
23
- this._changeActivatedTabs();
24
- }
25
- get tab() {
26
- return this._tab;
27
- }
28
- set tab(value) {
29
- this._tab = value;
30
- if (this._tabs) {
31
- this.selectedIndex = this._findIndexByTab(value);
32
- }
33
- }
34
- get type() {
35
- return this._type;
36
- }
37
- set type(type) {
38
- this._type = type;
39
- }
40
- get size() {
41
- return this._size;
42
- }
43
- set size(val) {
44
- if (!val || this._size === val) {
45
- return;
46
- }
47
- this._size = val;
48
- }
49
- get lazy() {
50
- return this._lazy;
51
- }
52
- set lazy(lazy) {
53
- if (this._lazy === lazy) {
54
- return;
55
- }
56
- this._lazy = lazy;
57
- if (lazy) {
58
- this._changeActivatedTabs();
59
- }
60
- else {
61
- this.activatedTabs.length = 0;
62
- }
63
- }
64
- constructor(_changeDetectorRef) {
65
- this._changeDetectorRef = _changeDetectorRef;
66
- this.bem = buildBem('aui-tab-group');
67
- this._indexToSelect = 0;
68
- this._tabsSubscription = Subscription.EMPTY;
69
- this._tabLabelSubscription = Subscription.EMPTY;
70
- this._selectedIndex = null;
71
- this._tab = null;
72
- this._type = TabType.Line;
73
- this._size = TabSize.Medium;
74
- this._typeChange = new Subject();
75
- this._sizeChange = new Subject();
76
- this.selectedIndexChange = new EventEmitter();
77
- this.tabChange = new EventEmitter();
78
- this.selectedTabChange = new EventEmitter(true);
79
- this.focusChange = new EventEmitter();
80
- this.activatedTabs = [];
81
- }
82
- get activeTab() {
83
- return this._tabs.length > 0 && this.selectedIndex !== null
84
- ? this._tabs.toArray()[this.selectedIndex]
85
- : null;
86
- }
87
- ngOnChanges(changes) {
88
- if (changes.hasOwnProperty('type')) {
89
- this._typeChange.next();
90
- }
91
- if (changes.hasOwnProperty('size')) {
92
- this._sizeChange.next();
93
- }
94
- }
95
- ngAfterContentChecked() {
96
- const indexToSelect = (this._indexToSelect = this._clampTabIndex(this._indexToSelect));
97
- if (this._selectedIndex !== indexToSelect && this._selectedIndex != null) {
98
- this._changeActivatedTabs();
99
- const tabChangeEvent = this._createChangeEvent(indexToSelect);
100
- this.selectedTabChange.emit(tabChangeEvent);
101
- Promise.resolve().then(() => {
102
- this.selectedIndexChange.emit(indexToSelect);
103
- this.tabChange.emit(this._tabs.get(indexToSelect).name);
104
- });
105
- }
106
- this._tabs.forEach((tab, index) => {
107
- tab.position = index - indexToSelect;
108
- tab.tabContext.isActive = index === indexToSelect;
109
- if (this._selectedIndex != null && tab.position === 0 && !tab.origin) {
110
- tab.origin = indexToSelect - this._selectedIndex;
111
- }
112
- });
113
- if (this._selectedIndex !== indexToSelect) {
114
- this._selectedIndex = indexToSelect;
115
- this._changeDetectorRef.markForCheck();
116
- }
117
- if (this._previousHeaderAddon !== this._headerAddon) {
118
- this._previousHeaderAddon = this._headerAddon;
119
- this._changeDetectorRef.markForCheck();
120
- }
121
- }
122
- ngAfterContentInit() {
123
- if (this.tab) {
124
- this._indexToSelect = this._findIndexByTab(this.tab);
125
- }
126
- this._changeActivatedTabs();
127
- this._subscribeToTabLabels();
128
- this._tabsSubscription = this._tabs.changes.subscribe(() => {
129
- const tabs = this._tabs.toArray();
130
- if (this._lazy) {
131
- this.activatedTabs = this.activatedTabs.filter(tab => tabs.includes(tab));
132
- }
133
- const indexToSelect = this._clampTabIndex(this._indexToSelect);
134
- if (indexToSelect === this._selectedIndex) {
135
- for (const [i, tab] of tabs.entries()) {
136
- if (tab.tabContext.isActive) {
137
- this._indexToSelect = this._selectedIndex = i;
138
- break;
139
- }
140
- }
141
- }
142
- this._changeActivatedTabs();
143
- this._subscribeToTabLabels();
144
- this._changeDetectorRef.markForCheck();
145
- });
146
- }
147
- ngOnDestroy() {
148
- this._tabsSubscription.unsubscribe();
149
- this._tabLabelSubscription.unsubscribe();
150
- this._typeChange.complete();
151
- this._sizeChange.complete();
152
- }
153
- _handleClick(tab, idx) {
154
- if (!tab.disabled) {
155
- this.selectedIndex = this._tabHeader.focusIndex = idx;
156
- }
157
- }
158
- _focusChanged(index) {
159
- this.focusChange.emit(this._createChangeEvent(index));
160
- }
161
- realignActiveIndicator() {
162
- if (this._tabHeader) {
163
- this._tabHeader._alignActiveIndicatorToSelectedTab();
164
- }
165
- }
166
- _changeActivatedTabs() {
167
- if (!this._lazy ||
168
- !this._tabs ||
169
- this._indexToSelect < 0 ||
170
- this._indexToSelect >= this._tabs.length) {
171
- return;
172
- }
173
- const tab = this._tabs.find((_, index) => index === this._indexToSelect);
174
- if (tab && !this.activatedTabs.includes(tab)) {
175
- this.activatedTabs.push(tab);
176
- }
177
- }
178
- _clampTabIndex(index) {
179
- return Math.min(this._tabs.length - 1, Math.max(index || 0, 0));
180
- }
181
- _findIndexByTab(name) {
182
- return Math.max(this._tabs.toArray().findIndex(tab => tab.name === name), 0);
183
- }
184
- _createChangeEvent(index) {
185
- const event = new TabChangeEvent();
186
- event.index = index;
187
- if (this._tabs?.length > 0) {
188
- event.tab = this._tabs.toArray()[index];
189
- }
190
- return event;
191
- }
192
- _subscribeToTabLabels() {
193
- if (this._tabLabelSubscription) {
194
- this._tabLabelSubscription.unsubscribe();
195
- }
196
- this._tabLabelSubscription = merge(...this._tabs.map(tab => tab._stateChanges), this._typeChange, this._sizeChange).subscribe(() => {
197
- this.realignActiveIndicator();
198
- this._changeDetectorRef.markForCheck();
199
- });
200
- }
201
- _getTabIndex(tab, idx) {
202
- if (tab.disabled) {
203
- return null;
204
- }
205
- return this.selectedIndex === idx ? 0 : -1;
206
- }
207
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabGroupComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
208
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: TabGroupComponent, isStandalone: true, selector: "aui-tab-group", inputs: { selectedIndex: "selectedIndex", tab: "tab", type: "type", title: "title", size: "size", lazy: "lazy" }, outputs: { selectedIndexChange: "selectedIndexChange", tabChange: "tabChange", selectedTabChange: "selectedTabChange", focusChange: "focusChange" }, queries: [{ propertyName: "_headerAddon", first: true, predicate: TabHeaderAddonDirective, descendants: true }, { propertyName: "_tabTitle", first: true, predicate: TabTitleDirective, descendants: true }, { propertyName: "_tabs", predicate: TabComponent }], viewQueries: [{ propertyName: "_tabHeader", first: true, predicate: TabHeaderComponent, descendants: true }], exportAs: ["auiTabGroup"], usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"bem.block()\">\n <aui-tab-header\n [selectedIndex]=\"selectedIndex\"\n [type]=\"type\"\n [size]=\"size\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\"\n >\n <ng-container *ngIf=\"_tabTitle\">\n <ng-container *auiTabTitle>\n <ng-template [cdkPortalOutlet]=\"_tabTitle\"></ng-template>\n </ng-container>\n </ng-container>\n <div\n role=\"tab\"\n *ngFor=\"let tab of _tabs; let i = index\"\n auiTabLabelWrapper\n cdkMonitorElementFocus\n [class.isActive]=\"selectedIndex === i\"\n [class.closeable]=\"tab.closeable && !tab.disabled\"\n [disabled]=\"tab.disabled\"\n (click)=\"_handleClick(tab, i)\"\n [title]=\"tab.textLabel\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-label]=\"tab.textLabel\"\n >\n <div class=\"aui-tab-label__content\">\n <!-- If there is a label template, use it. -->\n <ng-template [ngIf]=\"tab.templateLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n </ng-template>\n <!-- If there is not a label template, fall back to the text label. -->\n <ng-template [ngIf]=\"!tab.templateLabel\">\n {{ tab.textLabel }}\n </ng-template>\n </div>\n\n <aui-icon\n *ngIf=\"tab.closeable && !tab.disabled\"\n class=\"aui-tab-label__close\"\n icon=\"xmark_small\"\n (click)=\"tab.close.emit(); $event.stopPropagation()\"\n ></aui-icon>\n </div>\n\n <ng-container *ngIf=\"_headerAddon\">\n <ng-container *auiTabHeaderAddon>\n <ng-template [cdkPortalOutlet]=\"_headerAddon\"></ng-template>\n </ng-container>\n </ng-container>\n </aui-tab-header>\n\n <div [class]=\"bem.element('body-wrapper')\">\n <ng-container *ngIf=\"lazy\">\n <aui-tab-body\n role=\"tabpanel\"\n *ngFor=\"let tab of activatedTabs\"\n [content]=\"tab.content\"\n [hidden]=\"tab !== activeTab\"\n ></aui-tab-body>\n </ng-container>\n <aui-tab-body\n role=\"tabpanel\"\n *ngIf=\"!lazy && activeTab\"\n [content]=\"activeTab.content\"\n ></aui-tab-body>\n </div>\n</div>\n", styles: [".aui-tab-group{display:flex;flex-flow:column}aui-tab-header+.aui-tab-group__body-wrapper{margin-top:16px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: TabHeaderComponent, selector: "aui-tab-header", inputs: ["type", "size", "selectedIndex"], outputs: ["selectFocusedIndex", "indexFocused"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TabTitleDirective, selector: "[auiTabTitle]" }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: TabLabelWrapperDirective, selector: "[auiTabLabelWrapper]", inputs: ["disabled"] }, { kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "component", type: IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "directive", type: TabHeaderAddonDirective, selector: "[auiTabHeaderAddon]" }, { kind: "component", type: TabBodyComponent, selector: "aui-tab-body", inputs: ["content"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
209
- }
210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabGroupComponent, decorators: [{
211
- type: Component,
212
- args: [{ selector: 'aui-tab-group', exportAs: 'auiTabGroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, standalone: true, imports: [
213
- NgClass,
214
- TabHeaderComponent,
215
- NgIf,
216
- TabTitleDirective,
217
- PortalModule,
218
- NgFor,
219
- TabLabelWrapperDirective,
220
- A11yModule,
221
- IconComponent,
222
- TabHeaderAddonDirective,
223
- TabBodyComponent,
224
- ], template: "<div [ngClass]=\"bem.block()\">\n <aui-tab-header\n [selectedIndex]=\"selectedIndex\"\n [type]=\"type\"\n [size]=\"size\"\n (indexFocused)=\"_focusChanged($event)\"\n (selectFocusedIndex)=\"selectedIndex = $event\"\n >\n <ng-container *ngIf=\"_tabTitle\">\n <ng-container *auiTabTitle>\n <ng-template [cdkPortalOutlet]=\"_tabTitle\"></ng-template>\n </ng-container>\n </ng-container>\n <div\n role=\"tab\"\n *ngFor=\"let tab of _tabs; let i = index\"\n auiTabLabelWrapper\n cdkMonitorElementFocus\n [class.isActive]=\"selectedIndex === i\"\n [class.closeable]=\"tab.closeable && !tab.disabled\"\n [disabled]=\"tab.disabled\"\n (click)=\"_handleClick(tab, i)\"\n [title]=\"tab.textLabel\"\n [attr.tabIndex]=\"_getTabIndex(tab, i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"_tabs.length\"\n [attr.aria-label]=\"tab.textLabel\"\n >\n <div class=\"aui-tab-label__content\">\n <!-- If there is a label template, use it. -->\n <ng-template [ngIf]=\"tab.templateLabel\">\n <ng-template [cdkPortalOutlet]=\"tab.templateLabel\"></ng-template>\n </ng-template>\n <!-- If there is not a label template, fall back to the text label. -->\n <ng-template [ngIf]=\"!tab.templateLabel\">\n {{ tab.textLabel }}\n </ng-template>\n </div>\n\n <aui-icon\n *ngIf=\"tab.closeable && !tab.disabled\"\n class=\"aui-tab-label__close\"\n icon=\"xmark_small\"\n (click)=\"tab.close.emit(); $event.stopPropagation()\"\n ></aui-icon>\n </div>\n\n <ng-container *ngIf=\"_headerAddon\">\n <ng-container *auiTabHeaderAddon>\n <ng-template [cdkPortalOutlet]=\"_headerAddon\"></ng-template>\n </ng-container>\n </ng-container>\n </aui-tab-header>\n\n <div [class]=\"bem.element('body-wrapper')\">\n <ng-container *ngIf=\"lazy\">\n <aui-tab-body\n role=\"tabpanel\"\n *ngFor=\"let tab of activatedTabs\"\n [content]=\"tab.content\"\n [hidden]=\"tab !== activeTab\"\n ></aui-tab-body>\n </ng-container>\n <aui-tab-body\n role=\"tabpanel\"\n *ngIf=\"!lazy && activeTab\"\n [content]=\"activeTab.content\"\n ></aui-tab-body>\n </div>\n</div>\n", styles: [".aui-tab-group{display:flex;flex-flow:column}aui-tab-header+.aui-tab-group__body-wrapper{margin-top:16px}\n"] }]
225
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { _tabs: [{
226
- type: ContentChildren,
227
- args: [TabComponent]
228
- }], _headerAddon: [{
229
- type: ContentChild,
230
- args: [TabHeaderAddonDirective, { static: false }]
231
- }], _tabHeader: [{
232
- type: ViewChild,
233
- args: [TabHeaderComponent, { static: false }]
234
- }], _tabTitle: [{
235
- type: ContentChild,
236
- args: [TabTitleDirective, { static: false }]
237
- }], selectedIndex: [{
238
- type: Input
239
- }], tab: [{
240
- type: Input
241
- }], type: [{
242
- type: Input
243
- }], title: [{
244
- type: Input
245
- }], size: [{
246
- type: Input
247
- }], lazy: [{
248
- type: Input
249
- }], selectedIndexChange: [{
250
- type: Output
251
- }], tabChange: [{
252
- type: Output
253
- }], selectedTabChange: [{
254
- type: Output
255
- }], focusChange: [{
256
- type: Output
257
- }] } });
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJzL3RhYi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvdGFicy90YWItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBR0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUlOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQU8sUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3hCLGdCQUFnQixHQUNqQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztBQUdoRCxNQUFNLE9BQU8sY0FBYztDQUsxQjtBQXlCRCxNQUFNLE9BQU8saUJBQWlCO0lBMkM1QixJQUNJLGFBQWE7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S0FBSyxFQUFFO2dCQThCOUMsYUFBYTtzQkFEaEIsS0FBSztnQkFXRixHQUFHO3NCQUROLEtBQUs7Z0JBYUYsSUFBSTtzQkFEUCxLQUFLO2dCQVVOLEtBQUs7c0JBREosS0FBSztnQkFJRixJQUFJO3NCQURQLEtBQUs7Z0JBYUYsSUFBSTtzQkFEUCxLQUFLO2dCQW1CRyxtQkFBbUI7c0JBRDNCLE1BQU07Z0JBSUUsU0FBUztzQkFEakIsTUFBTTtnQkFLRSxpQkFBaUI7c0JBRHpCLE1BQU07Z0JBS0UsV0FBVztzQkFEbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXByb3RvdHlwZS1idWlsdGlucyAqL1xuaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiwgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgbWVyZ2UgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmVtLCBidWlsZEJlbSB9IGZyb20gJy4uL2ludGVybmFsL3V0aWxzJztcblxuaW1wb3J0IHtcbiAgVGFiSGVhZGVyQWRkb25EaXJlY3RpdmUsXG4gIFRhYlRpdGxlRGlyZWN0aXZlLFxuICBUYWJMYWJlbFdyYXBwZXJEaXJlY3RpdmUsXG4gIFRhYkJvZHlDb21wb25lbnQsXG59IGZyb20gJy4vdGFiLWJvZHkuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYkhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vdGFiLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiQ29tcG9uZW50IH0gZnJvbSAnLi90YWIuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYlNpemUsIFRhYlR5cGUgfSBmcm9tICcuL3RhYnMudHlwZXMnO1xuXG4vKiogQSBzaW1wbGUgY2hhbmdlIGV2ZW50IGVtaXR0ZWQgb24gZm9jdXMgb3Igc2VsZWN0aW9uIGNoYW5nZXMuICovXG5leHBvcnQgY2xhc3MgVGFiQ2hhbmdlRXZlbnQge1xuICAvKiogSW5kZXggb2YgdGhlIGN1cnJlbnRseS1zZWxlY3RlZCB0YWIuICovXG4gIGluZGV4OiBudW1iZXI7XG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnRseS1zZWxlY3RlZCB0YWIuICovXG4gIHRhYjogVGFiQ29tcG9uZW50O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktdGFiLWdyb3VwJyxcbiAgZXhwb3J0QXM6ICdhdWlUYWJHcm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWItZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWItZ3JvdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdDbGFzcyxcbiAgICBUYWJIZWFkZXJDb21wb25lbnQsXG4gICAgTmdJZixcbiAgICBUYWJUaXRsZURpcmVjdGl2ZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgTmdGb3IsXG4gICAgVGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlLFxuICAgIEExMXlNb2R1bGUsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgICBUYWJIZWFkZXJBZGRvbkRpcmVjdGl2ZSxcbiAgICBUYWJCb2R5Q29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJHcm91cENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95XG57XG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS10YWItZ3JvdXAnKTtcblxuICBAQ29udGVudENoaWxkcmVuKFRhYkNvbXBvbmVudClcbiAgX3RhYnM6IFF1ZXJ5TGlzdDxUYWJDb21wb25lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoVGFiSGVhZGVyQWRkb25EaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBfaGVhZGVyQWRkb246IFRhYkhlYWRlckFkZG9uRGlyZWN0aXZlO1xuXG4gIEBWaWV3Q2hpbGQoVGFiSGVhZGVyQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgX3RhYkhlYWRlcjogVGFiSGVhZGVyQ29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGQoVGFiVGl0bGVEaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBfdGFiVGl0bGU6IFRhYlRpdGxlRGlyZWN0aXZlO1xuXG4gIC8qKiBUaGUgdGFiIGluZGV4IHRoYXQgc2hvdWxkIGJlIHNlbGVjdGVkIGFmdGVyIHRoZSBjb250ZW50IGhhcyBiZWVuIGNoZWNrZWQuICovXG4gIHByaXZhdGUgX2luZGV4VG9TZWxlY3QgPSAwO1xuXG4gIC8qKiBTdWJzY3JpcHRpb24gdG8gdGFicyBiZWluZyBhZGRlZC9yZW1vdmVkLiAqL1xuICBwcml2YXRlIF90YWJzU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gIC8qKiBTdWJzY3JpcHRpb24gdG8gY2hhbmdlcyBpbiB0aGUgdGFiIGxhYmVscy4gKi9cbiAgcHJpdmF0ZSBfdGFiTGFiZWxTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgcHJpdmF0ZSBfc2VsZWN0ZWRJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3RhYjogc3RyaW5nID0gbnVsbDtcbiAgcHJpdmF0ZSBfdHlwZTogVGFiVHlwZSA9IFRhYlR5cGUuTGluZTtcbiAgcHJpdmF0ZSBfc2l6ZTogVGFiU2l6ZSA9IFRhYlNpemUuTWVkaXVtO1xuXG4gIC8qKiB0cnVlIGxhenkgbW9kZSBmb3IgdGVtcGxhdGUgcmVmIGNoaWxkcmVuICovXG4gIHByaXZhdGUgX2xhenk6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfcHJldmlvdXNIZWFkZXJBZGRvbjogVGFiSGVhZGVyQWRkb25EaXJlY3RpdmU7XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSB0eXBlIGNoYW5nZXMgKi9cbiAgcmVhZG9ubHkgX3R5cGVDaGFuZ2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgc2l6ZSBjaGFuZ2VzICovXG4gIHJlYWRvbmx5IF9zaXplQ2hhbmdlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvKiogVGhlIGluZGV4IG9mIHRoZSBhY3RpdmUgdGFiLiAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0ZWRJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICB9XG5cbiAgc2V0IHNlbGVjdGVkSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2luZGV4VG9TZWxlY3QgPSB2YWx1ZTtcbiAgICB0aGlzLl9jaGFuZ2VBY3RpdmF0ZWRUYWJzKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgdGFiKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3RhYjtcbiAgfVxuXG4gIHNldCB0YWIodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3RhYiA9IHZhbHVlO1xuICAgIGlmICh0aGlzLl90YWJzKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSB0aGlzLl9maW5kSW5kZXhCeVRhYih2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cblxuICBzZXQgdHlwZSh0eXBlOiBUYWJUeXBlKSB7XG4gICAgdGhpcy5fdHlwZSA9IHR5cGU7XG4gIH1cblxuICBASW5wdXQoKVxuICB0aXRsZTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgZ2V0IHNpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gIH1cblxuICBzZXQgc2l6ZSh2YWwpIHtcbiAgICBpZiAoIXZhbCB8fCB0aGlzLl9zaXplID09PSB2YWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fc2l6ZSA9IHZhbDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBsYXp5KCkge1xuICAgIHJldHVybiB0aGlzLl9sYXp5O1xuICB9XG5cbiAgc2V0IGxhenkobGF6eTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLl9sYXp5ID09PSBsYXp5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2xhenkgPSBsYXp5O1xuICAgIGlmIChsYXp5KSB7XG4gICAgICB0aGlzLl9jaGFuZ2VBY3RpdmF0ZWRUYWJzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWN0aXZhdGVkVGFicy5sZW5ndGggPSAwO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBPdXRwdXQgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIHR3by13YXkgYmluZGluZyBvbiBgWyhzZWxlY3RlZEluZGV4KV1gICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzZWxlY3RlZEluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHRhYkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHRhYiBzZWxlY3Rpb24gaGFzIGNoYW5nZWQuICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzZWxlY3RlZFRhYkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGFiQ2hhbmdlRXZlbnQ+KHRydWUpO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gZm9jdXMgaGFzIGNoYW5nZWQgd2l0aGluIGEgdGFiIGdyb3VwLiAqL1xuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgZm9jdXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUYWJDaGFuZ2VFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8VGFiQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIGFjdGl2YXRlZFRhYnM6IFRhYkNvbXBvbmVudFtdID0gW107XG5cbiAgZ2V0IGFjdGl2ZVRhYigpIHtcbiAgICByZXR1cm4gdGhpcy5fdGFicy5sZW5ndGggPiAwICYmIHRoaXMuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbFxuICAgICAgPyB0aGlzLl90YWJzLnRvQXJyYXkoKVt0aGlzLnNlbGVjdGVkSW5kZXhdXG4gICAgICA6IG51bGw7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ3R5cGUnKSkge1xuICAgICAgdGhpcy5fdHlwZUNoYW5nZS5uZXh0KCk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ3NpemUnKSkge1xuICAgICAgdGhpcy5fc2l6ZUNoYW5nZS5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFmdGVyIHRoZSBjb250ZW50IGlzIGNoZWNrZWQsIHRoaXMgY29tcG9uZW50IGtub3dzIHdoYXQgdGFicyBoYXZlIGJlZW4gZGVmaW5lZFxuICAgKiBhbmQgd2hhdCB0aGUgc2VsZWN0ZWQgaW5kZXggc2hvdWxkIGJlLiBUaGlzIGlzIHdoZXJlIHdlIGNhbiBrbm93IGV4YWN0bHkgd2hhdCBwb3NpdGlvblxuICAgKiBlYWNoIHRhYiBzaG91bGQgYmUgaW4gYWNjb3JkaW5nIHRvIHRoZSBuZXcgc2VsZWN0ZWQgaW5kZXguXG4gICAqL1xuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgLy8gRG9uJ3QgY2xhbXAgdGhlIGBpbmRleFRvU2VsZWN0YCBpbW1lZGlhdGVseSBpbiB0aGUgc2V0dGVyIGJlY2F1c2UgaXQgY2FuIGhhcHBlbiB0aGF0XG4gICAgLy8gdGhlIGFtb3VudCBvZiB0YWJzIGNoYW5nZXMgYmVmb3JlIHRoZSBhY3R1YWwgY2hhbmdlIGRldGVjdGlvbiBydW5zLlxuICAgIGNvbnN0IGluZGV4VG9TZWxlY3QgPSAodGhpcy5faW5kZXhUb1NlbGVjdCA9IHRoaXMuX2NsYW1wVGFiSW5kZXgoXG4gICAgICB0aGlzLl9pbmRleFRvU2VsZWN0LFxuICAgICkpO1xuXG4gICAgLy8gSWYgdGhlcmUgaXMgYSBjaGFuZ2UgaW4gc2VsZWN0ZWQgaW5kZXgsIGVtaXQgYSBjaGFuZ2UgZXZlbnQuIFNob3VsZCBub3QgdHJpZ2dlciBpZlxuICAgIC8vIHRoZSBzZWxlY3RlZCBpbmRleCBoYXMgbm90IHlldCBiZWVuIGluaXRpYWxpemVkLlxuICAgIGlmICh0aGlzLl9zZWxlY3RlZEluZGV4ICE9PSBpbmRleFRvU2VsZWN0ICYmIHRoaXMuX3NlbGVjdGVkSW5kZXggIT0gbnVsbCkge1xuICAgICAgdGhpcy5fY2hhbmdlQWN0aXZhdGVkVGFicygpO1xuICAgICAgY29uc3QgdGFiQ2hhbmdlRXZlbnQgPSB0aGlzLl9jcmVhdGVDaGFuZ2VFdmVudChpbmRleFRvU2VsZWN0KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWJDaGFuZ2UuZW1pdCh0YWJDaGFuZ2VFdmVudCk7XG4gICAgICAvLyBFbWl0dGluZyB0aGlzIHZhbHVlIGFmdGVyIGNoYW5nZSBkZXRlY3Rpb24gaGFzIHJ1blxuICAgICAgLy8gc2luY2UgdGhlIGNoZWNrZWQgY29udGVudCBtYXkgY29udGFpbiB0aGlzIHZhcmlhYmxlJ1xuICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleENoYW5nZS5lbWl0KGluZGV4VG9TZWxlY3QpO1xuICAgICAgICB0aGlzLnRhYkNoYW5nZS5lbWl0KHRoaXMuX3RhYnMuZ2V0KGluZGV4VG9TZWxlY3QpLm5hbWUpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gU2V0dXAgdGhlIHBvc2l0aW9uIGZvciBlYWNoIHRhYiBhbmQgb3B0aW9uYWxseSBzZXR1cCBhbiBvcmlnaW4gb24gdGhlIG5leHQgc2VsZWN0ZWQgdGFiLlxuICAgIHRoaXMuX3RhYnMuZm9yRWFjaCgodGFiOiBUYWJDb21wb25lbnQsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIHRhYi5wb3NpdGlvbiA9IGluZGV4IC0gaW5kZXhUb1NlbGVjdDtcbiAgICAgIHRhYi50YWJDb250ZXh0LmlzQWN0aXZlID0gaW5kZXggPT09IGluZGV4VG9TZWxlY3Q7XG4gICAgICAvLyBJZiB0aGVyZSBpcyBhbHJlYWR5IGEgc2VsZWN0ZWQgdGFiLCB0aGVuIHNldCB1cCBhbiBvcmlnaW4gZm9yIHRoZSBuZXh0IHNlbGVjdGVkIHRhYlxuICAgICAgLy8gaWYgaXQgZG9lc24ndCBoYXZlIG9uZSBhbHJlYWR5LlxuICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkSW5kZXggIT0gbnVsbCAmJiB0YWIucG9zaXRpb24gPT09IDAgJiYgIXRhYi5vcmlnaW4pIHtcbiAgICAgICAgdGFiLm9yaWdpbiA9IGluZGV4VG9TZWxlY3QgLSB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkSW5kZXggIT09IGluZGV4VG9TZWxlY3QpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXggPSBpbmRleFRvU2VsZWN0O1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3ByZXZpb3VzSGVhZGVyQWRkb24gIT09IHRoaXMuX2hlYWRlckFkZG9uKSB7XG4gICAgICB0aGlzLl9wcmV2aW91c0hlYWRlckFkZG9uID0gdGhpcy5faGVhZGVyQWRkb247XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKHRoaXMudGFiKSB7XG4gICAgICB0aGlzLl9pbmRleFRvU2VsZWN0ID0gdGhpcy5fZmluZEluZGV4QnlUYWIodGhpcy50YWIpO1xuICAgIH1cblxuICAgIHRoaXMuX2NoYW5nZUFjdGl2YXRlZFRhYnMoKTtcbiAgICB0aGlzLl9zdWJzY3JpYmVUb1RhYkxhYmVscygpO1xuICAgIC8vIFN1YnNjcmliZSB0byBjaGFuZ2VzIGluIHRoZSBhbW91bnQgb2YgdGFicywgaW4gb3JkZXIgdG8gYmVcbiAgICAvLyBhYmxlIHRvIHJlLXJlbmRlciB0aGUgY29udGVudCBhcyBuZXcgdGFicyBhcmUgYWRkZWQgb3IgcmVtb3ZlZC5cbiAgICB0aGlzLl90YWJzU3Vic2NyaXB0aW9uID0gdGhpcy5fdGFicy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCB0YWJzID0gdGhpcy5fdGFicy50b0FycmF5KCk7XG4gICAgICBpZiAodGhpcy5fbGF6eSkge1xuICAgICAgICB0aGlzLmFjdGl2YXRlZFRhYnMgPSB0aGlzLmFjdGl2YXRlZFRhYnMuZmlsdGVyKHRhYiA9PlxuICAgICAgICAgIHRhYnMuaW5jbHVkZXModGFiKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGluZGV4VG9TZWxlY3QgPSB0aGlzLl9jbGFtcFRhYkluZGV4KHRoaXMuX2luZGV4VG9TZWxlY3QpO1xuICAgICAgLy8gTWFpbnRhaW4gdGhlIHByZXZpb3VzbHktc2VsZWN0ZWQgdGFiIGlmIGEgbmV3IHRhYiBpcyBhZGRlZCBvciByZW1vdmVkIGFuZCB0aGVyZSBpcyBub1xuICAgICAgLy8gZXhwbGljaXQgY2hhbmdlIHRoYXQgc2VsZWN0cyBhIGRpZmZlcmVudCB0YWIuXG4gICAgICBpZiAoaW5kZXhUb1NlbGVjdCA9PT0gdGhpcy5fc2VsZWN0ZWRJbmRleCkge1xuICAgICAgICBmb3IgKGNvbnN0IFtpLCB0YWJdIG9mIHRhYnMuZW50cmllcygpKSB7XG4gICAgICAgICAgaWYgKHRhYi50YWJDb250ZXh0LmlzQWN0aXZlKSB7XG4gICAgICAgICAgICAvLyBBc3NpZ24gYm90aCB0byB0aGUgYF9pbmRleFRvU2VsZWN0YCBhbmQgYF9zZWxlY3RlZEluZGV4YCBzbyB3ZSBkb24ndCBmaXJlIGEgY2hhbmdlZFxuICAgICAgICAgICAgLy8gZXZlbnQsIG90aGVyd2lzZSB0aGUgY29uc3VtZXIgbWF5IGVuZCB1cCBpbiBhbiBpbmZpbml0ZSBsb29wIGluIHNvbWUgZWRnZSBjYXNlcyBsaWtlXG4gICAgICAgICAgICAvLyBhZGRpbmcgYSB0YWIgd2l0aGluIHRoZSBgc2VsZWN0ZWRJbmRleENoYW5nZWAgZXZlbnQuXG4gICAgICAgICAgICB0aGlzLl9pbmRleFRvU2VsZWN0ID0gdGhpcy5fc2VsZWN0ZWRJbmRleCA9IGk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuX2NoYW5nZUFjdGl2YXRlZFRhYnMoKTtcbiAgICAgIHRoaXMuX3N1YnNjcmliZVRvVGFiTGFiZWxzKCk7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3RhYnNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl90YWJMYWJlbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5fdHlwZUNoYW5nZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3NpemVDaGFuZ2UuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKiBIYW5kbGUgY2xpY2sgZXZlbnRzLCBzZXR0aW5nIG5ldyBzZWxlY3RlZCBpbmRleCBpZiBhcHByb3ByaWF0ZS4gKi9cbiAgX2hhbmRsZUNsaWNrKHRhYjogVGFiQ29tcG9uZW50LCBpZHg6IG51bWJlcikge1xuICAgIGlmICghdGFiLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSB0aGlzLl90YWJIZWFkZXIuZm9jdXNJbmRleCA9IGlkeDtcbiAgICB9XG4gIH1cblxuICBfZm9jdXNDaGFuZ2VkKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmZvY3VzQ2hhbmdlLmVtaXQodGhpcy5fY3JlYXRlQ2hhbmdlRXZlbnQoaW5kZXgpKTtcbiAgfVxuXG4gIC8qKiBSZS1hbGlnbnMgdGhlIGluayBiYXIgdG8gdGhlIHNlbGVjdGVkIHRhYiBlbGVtZW50LiAqL1xuICByZWFsaWduQWN0aXZlSW5kaWNhdG9yKCkge1xuICAgIGlmICh0aGlzLl90YWJIZWFkZXIpIHtcbiAgICAgIHRoaXMuX3RhYkhlYWRlci5fYWxpZ25BY3RpdmVJbmRpY2F0b3JUb1NlbGVjdGVkVGFiKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY2hhbmdlQWN0aXZhdGVkVGFicygpIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5fbGF6eSB8fFxuICAgICAgIXRoaXMuX3RhYnMgfHxcbiAgICAgIHRoaXMuX2luZGV4VG9TZWxlY3QgPCAwIHx8XG4gICAgICB0aGlzLl9pbmRleFRvU2VsZWN0ID49IHRoaXMuX3RhYnMubGVuZ3RoXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHRhYiA9IHRoaXMuX3RhYnMuZmluZCgoXywgaW5kZXgpID0+IGluZGV4ID09PSB0aGlzLl9pbmRleFRvU2VsZWN0KTtcbiAgICBpZiAodGFiICYmICF0aGlzLmFjdGl2YXRlZFRhYnMuaW5jbHVkZXModGFiKSkge1xuICAgICAgdGhpcy5hY3RpdmF0ZWRUYWJzLnB1c2godGFiKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2xhbXBzIHRoZSBnaXZlbiBpbmRleCB0byB0aGUgYm91bmRzIG9mIDAgYW5kIHRoZSB0YWJzIGxlbmd0aC4gKi9cbiAgcHJpdmF0ZSBfY2xhbXBUYWJJbmRleChpbmRleDogbnVtYmVyIHwgbnVsbCk6IG51bWJlciB7XG4gICAgLy8gTm90ZSB0aGUgYHx8IDBgLCB3aGljaCBlbnN1cmVzIHRoYXQgdmFsdWVzIGxpa2UgTmFOIGNhbid0IGdldCB0aHJvdWdoXG4gICAgLy8gYW5kIHdoaWNoIHdvdWxkIG90aGVyd2lzZSB0aHJvdyB0aGUgY29tcG9uZW50IGludG8gYW4gaW5maW5pdGUgbG9vcFxuICAgIC8vIChzaW5jZSBNYXRoLm1heChOYU4sIDApID09PSBOYU4pLlxuICAgIHJldHVybiBNYXRoLm1pbih0aGlzLl90YWJzLmxlbmd0aCAtIDEsIE1hdGgubWF4KGluZGV4IHx8IDAsIDApKTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRJbmRleEJ5VGFiKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBNYXRoLm1heChcbiAgICAgIHRoaXMuX3RhYnMudG9BcnJheSgpLmZpbmRJbmRleCh0YWIgPT4gdGFiLm5hbWUgPT09IG5hbWUpLFxuICAgICAgMCxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ2hhbmdlRXZlbnQoaW5kZXg6IG51bWJlcik6IFRhYkNoYW5nZUV2ZW50IHtcbiAgICBjb25zdCBldmVudCA9IG5ldyBUYWJDaGFuZ2VFdmVudCgpO1xuICAgIGV2ZW50LmluZGV4ID0gaW5kZXg7XG4gICAgaWYgKHRoaXMuX3RhYnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGV2ZW50LnRhYiA9IHRoaXMuX3RhYnMudG9BcnJheSgpW2luZGV4XTtcbiAgICB9XG4gICAgcmV0dXJuIGV2ZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZXMgdG8gY2hhbmdlcyBpbiB0aGUgdGFiIGxhYmVscy4gVGhpcyBpcyBuZWVkZWQsIGJlY2F1c2UgdGhlIEBJbnB1dCBmb3IgdGhlIGxhYmVsIGlzXG4gICAqIG9uIHRoZSBUYWIgY29tcG9uZW50LCB3aGVyZWFzIHRoZSBkYXRhIGJpbmRpbmcgaXMgaW5zaWRlIHRoZSBUYWJHcm91cC4gSW4gb3JkZXIgZm9yIHRoZVxuICAgKiBiaW5kaW5nIHRvIGJlIHVwZGF0ZWQsIHdlIG5lZWQgdG8gc3Vic2NyaWJlIHRvIGNoYW5nZXMgaW4gaXQgYW5kIHRyaWdnZXIgY2hhbmdlIGRldGVjdGlvblxuICAgKiBtYW51YWxseS5cbiAgICovXG4gIHByaXZhdGUgX3N1YnNjcmliZVRvVGFiTGFiZWxzKCkge1xuICAgIGlmICh0aGlzLl90YWJMYWJlbFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5fdGFiTGFiZWxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5fdGFiTGFiZWxTdWJzY3JpcHRpb24gPSBtZXJnZShcbiAgICAgIC4uLnRoaXMuX3RhYnMubWFwKHRhYiA9PiB0YWIuX3N0YXRlQ2hhbmdlcyksXG4gICAgICB0aGlzLl90eXBlQ2hhbmdlLFxuICAgICAgdGhpcy5fc2l6ZUNoYW5nZSxcbiAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlYWxpZ25BY3RpdmVJbmRpY2F0b3IoKTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFJldHJpZXZlcyB0aGUgdGFiaW5kZXggZm9yIHRoZSB0YWIuICovXG4gIF9nZXRUYWJJbmRleCh0YWI6IFRhYkNvbXBvbmVudCwgaWR4OiBudW1iZXIpOiBudW1iZXIgfCBudWxsIHtcbiAgICBpZiAodGFiLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJbmRleCA9PT0gaWR4ID8gMCA6IC0xO1xuICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cImJlbS5ibG9jaygpXCI+XG4gIDxhdWktdGFiLWhlYWRlclxuICAgIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkSW5kZXhcIlxuICAgIFt0eXBlXT1cInR5cGVcIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIChpbmRleEZvY3VzZWQpPVwiX2ZvY3VzQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAoc2VsZWN0Rm9jdXNlZEluZGV4KT1cInNlbGVjdGVkSW5kZXggPSAkZXZlbnRcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl90YWJUaXRsZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqYXVpVGFiVGl0bGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIl90YWJUaXRsZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2XG4gICAgICByb2xlPVwidGFiXCJcbiAgICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgX3RhYnM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgYXVpVGFiTGFiZWxXcmFwcGVyXG4gICAgICBjZGtNb25pdG9yRWxlbWVudEZvY3VzXG4gICAgICBbY2xhc3MuaXNBY3RpdmVdPVwic2VsZWN0ZWRJbmRleCA9PT0gaVwiXG4gICAgICBbY2xhc3MuY2xvc2VhYmxlXT1cInRhYi5jbG9zZWFibGUgJiYgIXRhYi5kaXNhYmxlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJfaGFuZGxlQ2xpY2sodGFiLCBpKVwiXG4gICAgICBbdGl0bGVdPVwidGFiLnRleHRMYWJlbFwiXG4gICAgICBbYXR0ci50YWJJbmRleF09XCJfZ2V0VGFiSW5kZXgodGFiLCBpKVwiXG4gICAgICBbYXR0ci5hcmlhLXBvc2luc2V0XT1cImkgKyAxXCJcbiAgICAgIFthdHRyLmFyaWEtc2V0c2l6ZV09XCJfdGFicy5sZW5ndGhcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0YWIudGV4dExhYmVsXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXVpLXRhYi1sYWJlbF9fY29udGVudFwiPlxuICAgICAgICA8IS0tIElmIHRoZXJlIGlzIGEgbGFiZWwgdGVtcGxhdGUsIHVzZSBpdC4gLS0+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJ0YWIudGVtcGxhdGVMYWJlbFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cInRhYi50ZW1wbGF0ZUxhYmVsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPCEtLSBJZiB0aGVyZSBpcyBub3QgYSBsYWJlbCB0ZW1wbGF0ZSwgZmFsbCBiYWNrIHRvIHRoZSB0ZXh0IGxhYmVsLiAtLT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIiF0YWIudGVtcGxhdGVMYWJlbFwiPlxuICAgICAgICAgIHt7IHRhYi50ZXh0TGFiZWwgfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8YXVpLWljb25cbiAgICAgICAgKm5nSWY9XCJ0YWIuY2xvc2VhYmxlICYmICF0YWIuZGlzYWJsZWRcIlxuICAgICAgICBjbGFzcz1cImF1aS10YWItbGFiZWxfX2Nsb3NlXCJcbiAgICAgICAgaWNvbj1cInhtYXJrX3NtYWxsXCJcbiAgICAgICAgKGNsaWNrKT1cInRhYi5jbG9zZS5lbWl0KCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfaGVhZGVyQWRkb25cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKmF1aVRhYkhlYWRlckFkZG9uPlxuICAgICAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJfaGVhZGVyQWRkb25cIj48L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvYXVpLXRhYi1oZWFkZXI+XG5cbiAgPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2JvZHktd3JhcHBlcicpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhenlcIj5cbiAgICAgIDxhdWktdGFiLWJvZHlcbiAgICAgICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IHRhYiBvZiBhY3RpdmF0ZWRUYWJzXCJcbiAgICAgICAgW2NvbnRlbnRdPVwidGFiLmNvbnRlbnRcIlxuICAgICAgICBbaGlkZGVuXT1cInRhYiAhPT0gYWN0aXZlVGFiXCJcbiAgICAgID48L2F1aS10YWItYm9keT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8YXVpLXRhYi1ib2R5XG4gICAgICByb2xlPVwidGFicGFuZWxcIlxuICAgICAgKm5nSWY9XCIhbGF6eSAmJiBhY3RpdmVUYWJcIlxuICAgICAgW2NvbnRlbnRdPVwiYWN0aXZlVGFiLmNvbnRlbnRcIlxuICAgID48L2F1aS10YWItYm9keT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,39 +0,0 @@
1
- import { NgClass } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation, } from '@angular/core';
3
- import { buildBem } from '../internal/utils';
4
- import { TabType } from './tabs.types';
5
- import * as i0 from "@angular/core";
6
- export class TabHeaderActiveIndicatorComponent {
7
- constructor(_elementRef, _ngZone) {
8
- this._elementRef = _elementRef;
9
- this._ngZone = _ngZone;
10
- this.type = TabType.Line;
11
- this.bem = buildBem('aui-tab-header-active-indicator');
12
- }
13
- alignToElement(element) {
14
- this._ngZone.runOutsideAngular(() => {
15
- requestAnimationFrame(() => this._setStyles(element));
16
- });
17
- }
18
- _setStyles(element) {
19
- const positions = this._getElementPosition(element);
20
- const nativeEl = this._elementRef.nativeElement;
21
- nativeEl.style.left = positions.left;
22
- nativeEl.style.width = positions.width;
23
- }
24
- _getElementPosition(element) {
25
- return {
26
- left: element ? (element.offsetLeft || 0) + 'px' : '0',
27
- width: element ? (element.offsetWidth || 0) + 'px' : '0',
28
- };
29
- }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabHeaderActiveIndicatorComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: TabHeaderActiveIndicatorComponent, isStandalone: true, selector: "aui-tab-header-active-indicator", inputs: { type: "type" }, ngImport: i0, template: "<div [ngClass]=\"bem.block(type)\"></div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabHeaderActiveIndicatorComponent, decorators: [{
34
- type: Component,
35
- args: [{ selector: 'aui-tab-header-active-indicator', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, standalone: true, imports: [NgClass], template: "<div [ngClass]=\"bem.block(type)\"></div>\n" }]
36
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { type: [{
37
- type: Input
38
- }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWhlYWRlci1hY3RpdmUtaW5kaWNhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJzL3RhYi1oZWFkZXItYWN0aXZlLWluZGljYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvdGFicy90YWItaGVhZGVyLWFjdGl2ZS1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULEtBQUssRUFFTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFPLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBV3ZDLE1BQU0sT0FBTyxpQ0FBaUM7SUFNNUMsWUFDbUIsV0FBb0MsRUFDcEMsT0FBZTtRQURmLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUNwQyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBTmxDLFNBQUksR0FBWSxPQUFPLENBQUMsSUFBSSxDQUFDO1FBRTdCLFFBQUcsR0FBUSxRQUFRLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUtwRCxDQUFDO0lBT0osY0FBYyxDQUFDLE9BQW9CO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2xDLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFNTyxVQUFVLENBQUMsT0FBb0I7UUFDckMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBQ2hELFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDckMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUN6QyxDQUFDO0lBRU8sbUJBQW1CLENBQUMsT0FBb0I7UUFDOUMsT0FBTztZQUNMLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUc7WUFDdEQsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRztTQUN6RCxDQUFDO0lBQ0osQ0FBQzs4R0F0Q1UsaUNBQWlDO2tHQUFqQyxpQ0FBaUMscUhDdkI5Qyw2Q0FDQSw0Q0RvQlksT0FBTzs7MkZBRU4saUNBQWlDO2tCQVQ3QyxTQUFTOytCQUNFLGlDQUFpQyxpQkFFNUIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSx1QkFDMUIsS0FBSyxjQUNkLElBQUksV0FDUCxDQUFDLE9BQU8sQ0FBQztvR0FJbEIsSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJlbSwgYnVpbGRCZW0gfSBmcm9tICcuLi9pbnRlcm5hbC91dGlscyc7XG5cbmltcG9ydCB7IFRhYlR5cGUgfSBmcm9tICcuL3RhYnMudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktdGFiLWhlYWRlci1hY3RpdmUtaW5kaWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi1oZWFkZXItYWN0aXZlLWluZGljYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3NdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJIZWFkZXJBY3RpdmVJbmRpY2F0b3JDb21wb25lbnQge1xuICBASW5wdXQoKVxuICB0eXBlOiBUYWJUeXBlID0gVGFiVHlwZS5MaW5lO1xuXG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS10YWItaGVhZGVyLWFjdGl2ZS1pbmRpY2F0b3InKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9uZ1pvbmU6IE5nWm9uZSxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBzdHlsZXMgZnJvbSB0aGUgcHJvdmlkZWQgZWxlbWVudCBpbiBvcmRlciB0byBhbGlnbiB0aGUgaW5kaWNhdG9yIHRvIHRoYXQgZWxlbWVudC5cbiAgICogU2hvd3MgdGhlIGluZGljYXRvciBpZiBwcmV2aW91c2x5IHNldCBhcyBoaWRkZW4uXG4gICAqIEBwYXJhbSBlbGVtZW50XG4gICAqL1xuICBhbGlnblRvRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5fc2V0U3R5bGVzKGVsZW1lbnQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwcm9wZXIgc3R5bGVzIHRvIHRoZSBlbGVtZW50LlxuICAgKiBAcGFyYW0gZWxlbWVudFxuICAgKi9cbiAgcHJpdmF0ZSBfc2V0U3R5bGVzKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3QgcG9zaXRpb25zID0gdGhpcy5fZ2V0RWxlbWVudFBvc2l0aW9uKGVsZW1lbnQpO1xuICAgIGNvbnN0IG5hdGl2ZUVsID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIG5hdGl2ZUVsLnN0eWxlLmxlZnQgPSBwb3NpdGlvbnMubGVmdDtcbiAgICBuYXRpdmVFbC5zdHlsZS53aWR0aCA9IHBvc2l0aW9ucy53aWR0aDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEVsZW1lbnRQb3NpdGlvbihlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIHJldHVybiB7XG4gICAgICBsZWZ0OiBlbGVtZW50ID8gKGVsZW1lbnQub2Zmc2V0TGVmdCB8fCAwKSArICdweCcgOiAnMCcsXG4gICAgICB3aWR0aDogZWxlbWVudCA/IChlbGVtZW50Lm9mZnNldFdpZHRoIHx8IDApICsgJ3B4JyA6ICcwJyxcbiAgICB9O1xuICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cImJlbS5ibG9jayh0eXBlKVwiPjwvZGl2PlxuIl19