@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,264 +0,0 @@
1
- import { FocusKeyManager } from '@angular/cdk/a11y';
2
- import { ObserversModule } from '@angular/cdk/observers';
3
- import { PortalModule } from '@angular/cdk/portal';
4
- import { NgClass, NgIf } from '@angular/common';
5
- import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
6
- import { Subject, debounceTime, merge, takeUntil } from 'rxjs';
7
- import { IconComponent } from '../icon/icon.component';
8
- import { buildBem, observeResizeOn } from '../internal/utils';
9
- import { TabHeaderAddonDirective, TabLabelWrapperDirective, TabTitleDirective, } from './tab-body.component';
10
- import { TabHeaderActiveIndicatorComponent } from './tab-header-active-indicator.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/observers";
15
- const EXAGGERATED_OVERSCROLL = 60;
16
- export class TabHeaderComponent {
17
- get selectedIndex() {
18
- return this._selectedIndex;
19
- }
20
- set selectedIndex(value) {
21
- this._selectedIndexChanged = this._selectedIndex !== value;
22
- this._selectedIndex = value;
23
- if (this._keyManager) {
24
- this._keyManager.updateActiveItem(value);
25
- }
26
- }
27
- ngOnDestroy() {
28
- this._destroyed.next();
29
- this._destroyed.complete();
30
- }
31
- ngAfterContentChecked() {
32
- if (this._selectedIndexChanged) {
33
- this._scrollToLabel(this._selectedIndex);
34
- this._checkScrollingControls();
35
- this._alignActiveIndicatorToSelectedTab();
36
- this._selectedIndexChanged = false;
37
- this._changeDetectorRef.markForCheck();
38
- }
39
- if (this._scrollDistanceChanged) {
40
- this._updateTabScrollPosition();
41
- this._scrollDistanceChanged = false;
42
- this._changeDetectorRef.markForCheck();
43
- }
44
- if (this._showAddon !== !!this._headerAddon) {
45
- this._showAddon = !!this._headerAddon;
46
- this._updatePagination();
47
- this._changeDetectorRef.markForCheck();
48
- }
49
- }
50
- ngAfterContentInit() {
51
- const realign = () => {
52
- this._updatePagination();
53
- this._alignActiveIndicatorToSelectedTab();
54
- requestAnimationFrame(() => {
55
- this._scrollToLabel(this._selectedIndex);
56
- });
57
- };
58
- this._keyManager = new FocusKeyManager(this._labelWrappers)
59
- .withHorizontalOrientation('ltr')
60
- .withWrap();
61
- this._keyManager.updateActiveItem(0);
62
- merge(observeResizeOn(this._tabList.nativeElement), observeResizeOn(this._tabListContainer.nativeElement), observeResizeOn(this._paginationWrapper.nativeElement))
63
- .pipe(debounceTime(100), takeUntil(this._destroyed))
64
- .subscribe(realign);
65
- this._keyManager.change
66
- .pipe(takeUntil(this._destroyed))
67
- .subscribe(newFocusIndex => {
68
- this.indexFocused.emit(newFocusIndex);
69
- this._setTabFocus(newFocusIndex);
70
- });
71
- }
72
- get scrollDistance() {
73
- return this._scrollDistance;
74
- }
75
- set scrollDistance(v) {
76
- this._scrollDistance = Math.max(0, Math.min(this._getMaxScrollDistance(), v));
77
- this._scrollDistanceChanged = true;
78
- this._checkScrollingControls();
79
- }
80
- get focusIndex() {
81
- return this._keyManager ? this._keyManager.activeItemIndex : 0;
82
- }
83
- set focusIndex(value) {
84
- if (!this._isValidIndex(value) ||
85
- this.focusIndex === value ||
86
- !this._keyManager) {
87
- return;
88
- }
89
- this._keyManager.setActiveItem(value);
90
- }
91
- _isValidIndex(index) {
92
- if (!this._labelWrappers) {
93
- return true;
94
- }
95
- const tab = this._labelWrappers
96
- ? this._labelWrappers.toArray()[index]
97
- : null;
98
- return !!tab && !tab.disabled;
99
- }
100
- _handleKeydown(event) {
101
- switch (event.key) {
102
- case 'Home': {
103
- this._keyManager.setFirstItemActive();
104
- event.preventDefault();
105
- break;
106
- }
107
- case 'End': {
108
- this._keyManager.setLastItemActive();
109
- event.preventDefault();
110
- break;
111
- }
112
- case 'Enter':
113
- case 'Space': {
114
- this.selectFocusedIndex.emit(this.focusIndex);
115
- event.preventDefault();
116
- break;
117
- }
118
- default: {
119
- this._keyManager.onKeydown(event);
120
- }
121
- }
122
- }
123
- _setTabFocus(tabIndex) {
124
- if (this._showPaginationControls) {
125
- this._scrollToLabel(tabIndex);
126
- }
127
- if (this._labelWrappers?.length > 0) {
128
- this._labelWrappers.toArray()[tabIndex].focus();
129
- const containerEl = this._tabListContainer.nativeElement;
130
- containerEl.scrollLeft = 0;
131
- }
132
- }
133
- _scrollToLabel(labelIndex) {
134
- const selectedLabel = this._labelWrappers
135
- ? this._labelWrappers.toArray()[labelIndex]
136
- : null;
137
- if (!selectedLabel) {
138
- return;
139
- }
140
- const viewLength = this._tabListContainer.nativeElement.offsetWidth;
141
- const labelBeforePos = selectedLabel.getOffsetLeft();
142
- const labelAfterPos = labelBeforePos + selectedLabel.getOffsetWidth();
143
- const beforeVisiblePos = this.scrollDistance;
144
- const afterVisiblePos = this.scrollDistance + viewLength;
145
- if (labelBeforePos < beforeVisiblePos) {
146
- this.scrollDistance -=
147
- beforeVisiblePos - labelBeforePos + EXAGGERATED_OVERSCROLL;
148
- }
149
- else if (labelAfterPos > afterVisiblePos) {
150
- this.scrollDistance +=
151
- labelAfterPos - afterVisiblePos + EXAGGERATED_OVERSCROLL;
152
- }
153
- }
154
- _scrollHeader(scrollDir) {
155
- const viewLength = this._tabListContainer.nativeElement.offsetWidth;
156
- this.scrollDistance += ((scrollDir === 'before' ? -1 : 1) * viewLength) / 3;
157
- }
158
- _onContentChanges() {
159
- this._updatePagination();
160
- this._alignActiveIndicatorToSelectedTab();
161
- this._changeDetectorRef.markForCheck();
162
- }
163
- _updatePagination() {
164
- this._checkPaginationEnabled();
165
- this._checkScrollingControls();
166
- this._updateTabScrollPosition();
167
- }
168
- _checkPaginationEnabled() {
169
- const isEnabled = this._tabList.nativeElement.scrollWidth >
170
- this._paginationWrapper.nativeElement.offsetWidth + 2;
171
- if (!isEnabled) {
172
- this.scrollDistance = 0;
173
- }
174
- const detectChanges = isEnabled !== this._showPaginationControls;
175
- this._showPaginationControls = isEnabled;
176
- if (detectChanges) {
177
- this._changeDetectorRef.markForCheck();
178
- }
179
- }
180
- _checkScrollingControls() {
181
- this._disableScrollBefore = this.scrollDistance === 0;
182
- this._disableScrollAfter =
183
- this.scrollDistance === this._getMaxScrollDistance();
184
- this._changeDetectorRef.markForCheck();
185
- }
186
- _getMaxScrollDistance() {
187
- const lengthOfTabList = this._tabList.nativeElement.scrollWidth;
188
- const viewLength = this._tabListContainer.nativeElement.offsetWidth;
189
- return lengthOfTabList - viewLength || 0;
190
- }
191
- _updateTabScrollPosition() {
192
- const scrollDistance = this.scrollDistance;
193
- const translateX = -scrollDistance;
194
- this._tabList.nativeElement.style.transform = `translateX(${translateX}px)`;
195
- }
196
- _alignActiveIndicatorToSelectedTab() {
197
- const selectedLabelWrapper = this._labelWrappers?.length > 0
198
- ? this._labelWrappers.toArray()[this.selectedIndex].elementRef
199
- .nativeElement
200
- : null;
201
- this._activeIndicator.alignToElement(selectedLabelWrapper);
202
- }
203
- constructor(_changeDetectorRef) {
204
- this._changeDetectorRef = _changeDetectorRef;
205
- this.bem = buildBem('aui-tab-header');
206
- this._showAddon = false;
207
- this._showPaginationControls = false;
208
- this._disableScrollAfter = true;
209
- this._disableScrollBefore = true;
210
- this._selectedIndexChanged = false;
211
- this._scrollDistance = 0;
212
- this._selectedIndex = 0;
213
- this._destroyed = new Subject();
214
- this.type = TabType.Line;
215
- this.size = TabSize.Medium;
216
- this.selectFocusedIndex = new EventEmitter();
217
- this.indexFocused = new EventEmitter();
218
- }
219
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
220
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: TabHeaderComponent, isStandalone: true, selector: "aui-tab-header", inputs: { type: "type", size: "size", selectedIndex: "selectedIndex" }, outputs: { selectFocusedIndex: "selectFocusedIndex", indexFocused: "indexFocused" }, queries: [{ propertyName: "_headerAddon", first: true, predicate: TabHeaderAddonDirective, descendants: true }, { propertyName: "_title", first: true, predicate: TabTitleDirective, descendants: true }, { propertyName: "_labelWrappers", predicate: TabLabelWrapperDirective }], viewQueries: [{ propertyName: "_tabListContainer", first: true, predicate: ["tabListContainer"], descendants: true, static: true }, { propertyName: "_tabList", first: true, predicate: ["tabList"], descendants: true, static: true }, { propertyName: "_paginationWrapper", first: true, predicate: ["paginationWrapper"], descendants: true, static: true }, { propertyName: "_activeIndicator", first: true, predicate: TabHeaderActiveIndicatorComponent, descendants: true, static: true }], ngImport: i0, template: "<div [ngClass]=\"bem.block(type, size)\">\n <ng-container *ngIf=\"_title\">\n <div [ngClass]=\"bem.element('title')\">\n <ng-template [cdkPortalOutlet]=\"_title\"></ng-template>\n </div>\n </ng-container>\n <div [ngClass]=\"bem.element('header-wrapper')\">\n <div\n [ngClass]=\"bem.element('pagination-wrapper')\"\n #paginationWrapper\n >\n <div\n *ngIf=\"_showPaginationControls\"\n (click)=\"_scrollHeader('before')\"\n [attr.disabled]=\"_disableScrollBefore ? '' : null\"\n [ngClass]=\"bem.element('pagination-button')\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </div>\n <div\n [ngClass]=\"bem.element('tab-list-container')\"\n (keydown)=\"_handleKeydown($event)\"\n #tabListContainer\n >\n <div\n role=\"tablist\"\n (cdkObserveContent)=\"_onContentChanges()\"\n [ngClass]=\"bem.element('tab-list')\"\n #tabList\n >\n <div [ngClass]=\"bem.element('labels')\"><ng-content></ng-content></div>\n <aui-tab-header-active-indicator\n [type]=\"type\"\n ></aui-tab-header-active-indicator>\n </div>\n </div>\n <div\n *ngIf=\"_showPaginationControls\"\n (click)=\"_scrollHeader('after')\"\n [attr.disabled]=\"_disableScrollAfter ? '' : null\"\n [ngClass]=\"bem.element('pagination-button')\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </div>\n </div>\n <!-- If there is addon template, use it. -->\n <ng-container *ngIf=\"_showAddon\">\n <div [ngClass]=\"bem.element('addon')\">\n <ng-template [cdkPortalOutlet]=\"_headerAddon\"></ng-template>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".aui-tab-header{display:flex;flex-direction:column;flex-shrink:0;position:relative;background-color:rgb(var(--aui-color-n-10));border-radius:var(--aui-border-radius-l);overflow:hidden}.aui-tab-header--large .aui-tab-label{padding:16px 20px;font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);font-weight:var(--aui-font-weight-bolder)}.aui-tab-header--medium .aui-tab-label{padding:12px 20px;font-size:var(--aui-font-size-l);line-height:var(--aui-line-height-l);font-weight:var(--aui-font-weight-bolder)}.aui-tab-header--small .aui-tab-label{padding:8px 16px;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}.aui-tab-header__header-wrapper{display:flex;flex-shrink:0;position:relative}.aui-tab-header__title{display:flex;justify-content:space-between;color:rgb(var(--aui-color-n-1));font-size:var(--aui-font-size-xxl);margin-inline:20px;padding:20px 0 12px;font-weight:var(--aui-font-weight-bolder);border-bottom:1px rgb(var(--aui-color-n-8)) solid;line-height:32px}.aui-tab-header--card{background-color:rgb(var(--aui-color-button-bg))}.aui-tab-header--line{box-shadow:0 0 4px #3234371a;background-color:rgb(var(--aui-color-n-10))}.aui-tab-header__pagination-wrapper{display:flex;overflow:hidden;flex-grow:1;align-items:center;position:relative}.aui-tab-header__pagination-button{width:32px;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;z-index:3;box-shadow:0 0 4px #ccc;opacity:.6;transition:box-shadow .3s,opacity .3s,color .3s}.aui-tab-header__pagination-button:hover{opacity:1;color:rgb(var(--aui-color-primary))}.aui-tab-header__pagination-button:first-of-type{margin-right:1px}.aui-tab-header__pagination-button:last-of-type{margin-left:1px}.aui-tab-header__pagination-button[disabled]{cursor:default;box-shadow:none;opacity:.1}.aui-tab-header__tab-list-container{display:flex;flex-grow:1;overflow:hidden;position:relative;z-index:1}.aui-tab-header__tab-list{flex-grow:1;position:relative;transition:all .3s cubic-bezier(.35,0,.25,1)}.aui-tab-header__labels{display:flex}.aui-tab-header__labels:focus{outline:none}.aui-tab-header__addon{display:inline-flex;align-items:center;justify-content:center;margin:0 8px}.aui-tab-header__spacer{flex:1 1 0}.aui-tab-label{position:relative;cursor:pointer;box-sizing:border-box;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;color:rgb(var(--aui-color-n-2));font-weight:var(--aui-font-weight-bold);z-index:2;transition:opacity .3s}.aui-tab-label:focus,.aui-tab-label.isActive{outline:none}.aui-tab-label:not(.aui-tab-label--disabled).isActive,.aui-tab-label:not(.aui-tab-label--disabled):hover{color:rgb(var(--aui-color-primary))}.aui-tab-label.aui-tab-label--disabled{cursor:not-allowed;opacity:.2}.aui-tab-label__content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aui-tab-label__close{margin-left:8px;font-size:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:rgb(var(--aui-color-n-4));transition:all .3s ease}.aui-tab-label__close:hover{color:rgb(var(--aui-color-n-9));background-color:rgb(var(--aui-color-n-4))}.aui-tab-label.cdk-focused:not(.cdk-mouse-focused){box-shadow:inset 0 0 0 3px rgba(var(--aui-color-primary),.3)}aui-tab-header-active-indicator{display:flex;height:100%;position:absolute;top:0;pointer-events:none;transition:all .3s cubic-bezier(.35,0,.25,1)}.aui-tab-header-active-indicator{position:relative;flex:1;height:100%;z-index:1}.aui-tab-header-active-indicator:after{content:\"\";position:absolute;display:block;background:rgb(var(--aui-color-primary));height:2px}.aui-tab-header-active-indicator--line:after{width:100%;left:0;bottom:0}.aui-tab-header-active-indicator--card{background-color:rgb(var(--aui-color-n-10))}.aui-tab-header-active-indicator--card:after{width:100%;top:0;left:0}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "ngmodule", type: ObserversModule }, { kind: "directive", type: i2.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "component", type: TabHeaderActiveIndicatorComponent, selector: "aui-tab-header-active-indicator", inputs: ["type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
221
- }
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabHeaderComponent, decorators: [{
223
- type: Component,
224
- args: [{ selector: 'aui-tab-header', encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
225
- NgClass,
226
- NgIf,
227
- PortalModule,
228
- IconComponent,
229
- ObserversModule,
230
- TabHeaderActiveIndicatorComponent,
231
- ], template: "<div [ngClass]=\"bem.block(type, size)\">\n <ng-container *ngIf=\"_title\">\n <div [ngClass]=\"bem.element('title')\">\n <ng-template [cdkPortalOutlet]=\"_title\"></ng-template>\n </div>\n </ng-container>\n <div [ngClass]=\"bem.element('header-wrapper')\">\n <div\n [ngClass]=\"bem.element('pagination-wrapper')\"\n #paginationWrapper\n >\n <div\n *ngIf=\"_showPaginationControls\"\n (click)=\"_scrollHeader('before')\"\n [attr.disabled]=\"_disableScrollBefore ? '' : null\"\n [ngClass]=\"bem.element('pagination-button')\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </div>\n <div\n [ngClass]=\"bem.element('tab-list-container')\"\n (keydown)=\"_handleKeydown($event)\"\n #tabListContainer\n >\n <div\n role=\"tablist\"\n (cdkObserveContent)=\"_onContentChanges()\"\n [ngClass]=\"bem.element('tab-list')\"\n #tabList\n >\n <div [ngClass]=\"bem.element('labels')\"><ng-content></ng-content></div>\n <aui-tab-header-active-indicator\n [type]=\"type\"\n ></aui-tab-header-active-indicator>\n </div>\n </div>\n <div\n *ngIf=\"_showPaginationControls\"\n (click)=\"_scrollHeader('after')\"\n [attr.disabled]=\"_disableScrollAfter ? '' : null\"\n [ngClass]=\"bem.element('pagination-button')\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </div>\n </div>\n <!-- If there is addon template, use it. -->\n <ng-container *ngIf=\"_showAddon\">\n <div [ngClass]=\"bem.element('addon')\">\n <ng-template [cdkPortalOutlet]=\"_headerAddon\"></ng-template>\n </div>\n </ng-container>\n </div>\n</div>\n", styles: [".aui-tab-header{display:flex;flex-direction:column;flex-shrink:0;position:relative;background-color:rgb(var(--aui-color-n-10));border-radius:var(--aui-border-radius-l);overflow:hidden}.aui-tab-header--large .aui-tab-label{padding:16px 20px;font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);font-weight:var(--aui-font-weight-bolder)}.aui-tab-header--medium .aui-tab-label{padding:12px 20px;font-size:var(--aui-font-size-l);line-height:var(--aui-line-height-l);font-weight:var(--aui-font-weight-bolder)}.aui-tab-header--small .aui-tab-label{padding:8px 16px;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}.aui-tab-header__header-wrapper{display:flex;flex-shrink:0;position:relative}.aui-tab-header__title{display:flex;justify-content:space-between;color:rgb(var(--aui-color-n-1));font-size:var(--aui-font-size-xxl);margin-inline:20px;padding:20px 0 12px;font-weight:var(--aui-font-weight-bolder);border-bottom:1px rgb(var(--aui-color-n-8)) solid;line-height:32px}.aui-tab-header--card{background-color:rgb(var(--aui-color-button-bg))}.aui-tab-header--line{box-shadow:0 0 4px #3234371a;background-color:rgb(var(--aui-color-n-10))}.aui-tab-header__pagination-wrapper{display:flex;overflow:hidden;flex-grow:1;align-items:center;position:relative}.aui-tab-header__pagination-button{width:32px;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;z-index:3;box-shadow:0 0 4px #ccc;opacity:.6;transition:box-shadow .3s,opacity .3s,color .3s}.aui-tab-header__pagination-button:hover{opacity:1;color:rgb(var(--aui-color-primary))}.aui-tab-header__pagination-button:first-of-type{margin-right:1px}.aui-tab-header__pagination-button:last-of-type{margin-left:1px}.aui-tab-header__pagination-button[disabled]{cursor:default;box-shadow:none;opacity:.1}.aui-tab-header__tab-list-container{display:flex;flex-grow:1;overflow:hidden;position:relative;z-index:1}.aui-tab-header__tab-list{flex-grow:1;position:relative;transition:all .3s cubic-bezier(.35,0,.25,1)}.aui-tab-header__labels{display:flex}.aui-tab-header__labels:focus{outline:none}.aui-tab-header__addon{display:inline-flex;align-items:center;justify-content:center;margin:0 8px}.aui-tab-header__spacer{flex:1 1 0}.aui-tab-label{position:relative;cursor:pointer;box-sizing:border-box;text-align:center;display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;color:rgb(var(--aui-color-n-2));font-weight:var(--aui-font-weight-bold);z-index:2;transition:opacity .3s}.aui-tab-label:focus,.aui-tab-label.isActive{outline:none}.aui-tab-label:not(.aui-tab-label--disabled).isActive,.aui-tab-label:not(.aui-tab-label--disabled):hover{color:rgb(var(--aui-color-primary))}.aui-tab-label.aui-tab-label--disabled{cursor:not-allowed;opacity:.2}.aui-tab-label__content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aui-tab-label__close{margin-left:8px;font-size:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:rgb(var(--aui-color-n-4));transition:all .3s ease}.aui-tab-label__close:hover{color:rgb(var(--aui-color-n-9));background-color:rgb(var(--aui-color-n-4))}.aui-tab-label.cdk-focused:not(.cdk-mouse-focused){box-shadow:inset 0 0 0 3px rgba(var(--aui-color-primary),.3)}aui-tab-header-active-indicator{display:flex;height:100%;position:absolute;top:0;pointer-events:none;transition:all .3s cubic-bezier(.35,0,.25,1)}.aui-tab-header-active-indicator{position:relative;flex:1;height:100%;z-index:1}.aui-tab-header-active-indicator:after{content:\"\";position:absolute;display:block;background:rgb(var(--aui-color-primary));height:2px}.aui-tab-header-active-indicator--line:after{width:100%;left:0;bottom:0}.aui-tab-header-active-indicator--card{background-color:rgb(var(--aui-color-n-10))}.aui-tab-header-active-indicator--card:after{width:100%;top:0;left:0}\n"] }]
232
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { type: [{
233
- type: Input
234
- }], size: [{
235
- type: Input
236
- }], selectedIndex: [{
237
- type: Input
238
- }], selectFocusedIndex: [{
239
- type: Output
240
- }], indexFocused: [{
241
- type: Output
242
- }], _headerAddon: [{
243
- type: ContentChild,
244
- args: [TabHeaderAddonDirective, { static: false }]
245
- }], _title: [{
246
- type: ContentChild,
247
- args: [TabTitleDirective, { static: false }]
248
- }], _labelWrappers: [{
249
- type: ContentChildren,
250
- args: [TabLabelWrapperDirective]
251
- }], _tabListContainer: [{
252
- type: ViewChild,
253
- args: ['tabListContainer', { static: true }]
254
- }], _tabList: [{
255
- type: ViewChild,
256
- args: ['tabList', { static: true }]
257
- }], _paginationWrapper: [{
258
- type: ViewChild,
259
- args: ['paginationWrapper', { static: true }]
260
- }], _activeIndicator: [{
261
- type: ViewChild,
262
- args: [TabHeaderActiveIndicatorComponent, { static: true }]
263
- }] } });
264
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFicy90YWItaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy90YWJzL3RhYi1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBR0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUVmLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFPLFFBQVEsRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixpQkFBaUIsR0FDbEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztBQVloRCxNQUFNLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztBQW1CbEMsTUFBTSxPQUFPLGtCQUFrQjtJQXdDN0IsSUFD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YztzQkFKYixlQUFlO3VCQUFDLHdCQUF3QjtnQkFPekMsaUJBQWlCO3NCQURoQixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJL0MsUUFBUTtzQkFEUCxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXRDLGtCQUFrQjtzQkFEakIsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSWhELGdCQUFnQjtzQkFEZixTQUFTO3VCQUFDLGlDQUFpQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzS2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IE9ic2VydmVyc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vYnNlcnZlcnMnO1xuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIG1lcmdlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmVtLCBidWlsZEJlbSwgb2JzZXJ2ZVJlc2l6ZU9uIH0gZnJvbSAnLi4vaW50ZXJuYWwvdXRpbHMnO1xuXG5pbXBvcnQge1xuICBUYWJIZWFkZXJBZGRvbkRpcmVjdGl2ZSxcbiAgVGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlLFxuICBUYWJUaXRsZURpcmVjdGl2ZSxcbn0gZnJvbSAnLi90YWItYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiSGVhZGVyQWN0aXZlSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi90YWItaGVhZGVyLWFjdGl2ZS1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYlNpemUsIFRhYlR5cGUgfSBmcm9tICcuL3RhYnMudHlwZXMnO1xuXG4vKipcbiAqIFRoZSBkaXJlY3Rpb25zIHRoYXQgc2Nyb2xsaW5nIGNhbiBnbyBpbiB3aGVuIHRoZSBoZWFkZXIncyB0YWJzIGV4Y2VlZCB0aGUgaGVhZGVyIHdpZHRoLiAnQWZ0ZXInXG4gKiB3aWxsIHNjcm9sbCB0aGUgaGVhZGVyIHRvd2FyZHMgdGhlIGVuZCBvZiB0aGUgdGFicyBsaXN0IGFuZCAnYmVmb3JlJyB3aWxsIHNjcm9sbCB0b3dhcmRzIHRoZVxuICogYmVnaW5uaW5nIG9mIHRoZSBsaXN0LlxuICovXG5leHBvcnQgdHlwZSBTY3JvbGxEaXJlY3Rpb24gPSAnYWZ0ZXInIHwgJ2JlZm9yZSc7XG4vKipcbiAqIFRoZSBkaXN0YW5jZSBpbiBwaXhlbHMgdGhhdCB3aWxsIGJlIG92ZXJzaG90IHdoZW4gc2Nyb2xsaW5nIGEgdGFiIGxhYmVsIGludG8gdmlldy4gVGhpcyBoZWxwc1xuICogcHJvdmlkZSBhIHNtYWxsIGFmZm9yZGFuY2UgdG8gdGhlIGxhYmVsIG5leHQgdG8gaXQuXG4gKi9cbmNvbnN0IEVYQUdHRVJBVEVEX09WRVJTQ1JPTEwgPSA2MDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLXRhYi1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFiLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYi1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdDbGFzcyxcbiAgICBOZ0lmLFxuICAgIFBvcnRhbE1vZHVsZSxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIE9ic2VydmVyc01vZHVsZSxcbiAgICBUYWJIZWFkZXJBY3RpdmVJbmRpY2F0b3JDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRhYkhlYWRlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJDb250ZW50SW5pdFxue1xuICBiZW06IEJlbSA9IGJ1aWxkQmVtKCdhdWktdGFiLWhlYWRlcicpO1xuXG4gIF9zaG93QWRkb24gPSBmYWxzZTtcblxuICAvKiogV2hldGhlciB0aGUgY29udHJvbHMgZm9yIHBhZ2luYXRpb24gc2hvdWxkIGJlIGRpc3BsYXllZCAqL1xuICBfc2hvd1BhZ2luYXRpb25Db250cm9scyA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0YWIgbGlzdCBjYW4gYmUgc2Nyb2xsZWQgbW9yZSB0b3dhcmRzIHRoZSBlbmQgb2YgdGhlIHRhYiBsYWJlbCBsaXN0LiAqL1xuICBfZGlzYWJsZVNjcm9sbEFmdGVyID0gdHJ1ZTtcblxuICAvKiogV2hldGhlciB0aGUgdGFiIGxpc3QgY2FuIGJlIHNjcm9sbGVkIG1vcmUgdG93YXJkcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSB0YWIgbGFiZWwgbGlzdC4gKi9cbiAgX2Rpc2FibGVTY3JvbGxCZWZvcmUgPSB0cnVlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBzY3JvbGwgZGlzdGFuY2UgaGFzIGNoYW5nZWQgYW5kIHNob3VsZCBiZSBhcHBsaWVkIGFmdGVyIHRoZSB2aWV3IGlzIGNoZWNrZWQuICovXG4gIHByaXZhdGUgX3Njcm9sbERpc3RhbmNlQ2hhbmdlZDogYm9vbGVhbjtcblxuICAvKiogV2hldGhlciB0aGUgaGVhZGVyIHNob3VsZCBzY3JvbGwgdG8gdGhlIHNlbGVjdGVkIGluZGV4IGFmdGVyIHRoZSB2aWV3IGhhcyBiZWVuIGNoZWNrZWQuICovXG4gIHByaXZhdGUgX3NlbGVjdGVkSW5kZXhDaGFuZ2VkID0gZmFsc2U7XG5cbiAgLyoqIFRoZSBkaXN0YW5jZSBpbiBwaXhlbHMgdGhhdCB0aGUgdGFiIGxhYmVscyBzaG91bGQgYmUgdHJhbnNsYXRlZCB0byB0aGUgbGVmdC4gKi9cbiAgcHJpdmF0ZSBfc2Nyb2xsRGlzdGFuY2UgPSAwO1xuXG4gIHByaXZhdGUgX3NlbGVjdGVkSW5kZXggPSAwO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBjb21wb25lbnQgaXMgZGVzdHJveWVkLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKiBVc2VkIHRvIG1hbmFnZSBmb2N1cyBiZXR3ZWVuIHRoZSB0YWJzLiAqL1xuICBwcml2YXRlIF9rZXlNYW5hZ2VyOiBGb2N1c0tleU1hbmFnZXI8VGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlPjtcblxuICBASW5wdXQoKVxuICB0eXBlOiBUYWJUeXBlID0gVGFiVHlwZS5MaW5lO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IFRhYlNpemUgPSBUYWJTaXplLk1lZGl1bTtcblxuICAvKiogVGhlIGluZGV4IG9mIHRoZSBhY3RpdmUgdGFiLiAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0ZWRJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICB9XG5cbiAgc2V0IHNlbGVjdGVkSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3NlbGVjdGVkSW5kZXhDaGFuZ2VkID0gdGhpcy5fc2VsZWN0ZWRJbmRleCAhPT0gdmFsdWU7XG4gICAgdGhpcy5fc2VsZWN0ZWRJbmRleCA9IHZhbHVlO1xuXG4gICAgaWYgKHRoaXMuX2tleU1hbmFnZXIpIHtcbiAgICAgIHRoaXMuX2tleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkLiAqL1xuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgc2VsZWN0Rm9jdXNlZEluZGV4ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIGxhYmVsIGlzIGZvY3VzZWQuICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBpbmRleEZvY3VzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAQ29udGVudENoaWxkKFRhYkhlYWRlckFkZG9uRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgX2hlYWRlckFkZG9uOiBUYWJIZWFkZXJBZGRvbkRpcmVjdGl2ZTtcblxuICBAQ29udGVudENoaWxkKFRhYlRpdGxlRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgX3RpdGxlOiBUYWJUaXRsZURpcmVjdGl2ZTtcblxuICBAQ29udGVudENoaWxkcmVuKFRhYkxhYmVsV3JhcHBlckRpcmVjdGl2ZSlcbiAgLyoqXG4gICAqIHdvcmthcm91bmQgZm9yIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9wdWxsLzQyNDI1XG4gICAqL1xuICBfbGFiZWxXcmFwcGVyczogUXVlcnlMaXN0PFRhYkxhYmVsV3JhcHBlckRpcmVjdGl2ZSAmIHsgZGlzYWJsZWQ/OiBib29sZWFuIH0+O1xuXG4gIEBWaWV3Q2hpbGQoJ3RhYkxpc3RDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfdGFiTGlzdENvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgndGFiTGlzdCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIF90YWJMaXN0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdwYWdpbmF0aW9uV3JhcHBlcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIF9wYWdpbmF0aW9uV3JhcHBlcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZChUYWJIZWFkZXJBY3RpdmVJbmRpY2F0b3JDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIF9hY3RpdmVJbmRpY2F0b3I6IFRhYkhlYWRlckFjdGl2ZUluZGljYXRvckNvbXBvbmVudDtcblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95ZWQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIC8vIElmIHRoZSBzZWxlY3RlZCBpbmRleCBoYXMgY2hhbmdlZCwgc2Nyb2xsIHRvIHRoZSBsYWJlbCBhbmQgY2hlY2sgaWYgdGhlIHNjcm9sbGluZyBjb250cm9sc1xuICAgIC8vIHNob3VsZCBiZSBkaXNhYmxlZC5cbiAgICBpZiAodGhpcy5fc2VsZWN0ZWRJbmRleENoYW5nZWQpIHtcbiAgICAgIHRoaXMuX3Njcm9sbFRvTGFiZWwodGhpcy5fc2VsZWN0ZWRJbmRleCk7XG4gICAgICB0aGlzLl9jaGVja1Njcm9sbGluZ0NvbnRyb2xzKCk7XG4gICAgICB0aGlzLl9hbGlnbkFjdGl2ZUluZGljYXRvclRvU2VsZWN0ZWRUYWIoKTtcbiAgICAgIHRoaXMuX3NlbGVjdGVkSW5kZXhDaGFuZ2VkID0gZmFsc2U7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgc2Nyb2xsIGRpc3RhbmNlIGhhcyBiZWVuIGNoYW5nZWQgKHRhYiBzZWxlY3RlZCwgZm9jdXNlZCwgc2Nyb2xsIGNvbnRyb2xzIGFjdGl2YXRlZCksXG4gICAgLy8gdGhlbiB0cmFuc2xhdGUgdGhlIGhlYWRlciB0byByZWZsZWN0IHRoaXMuXG4gICAgaWYgKHRoaXMuX3Njcm9sbERpc3RhbmNlQ2hhbmdlZCkge1xuICAgICAgdGhpcy5fdXBkYXRlVGFiU2Nyb2xsUG9zaXRpb24oKTtcbiAgICAgIHRoaXMuX3Njcm9sbERpc3RhbmNlQ2hhbmdlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3Nob3dBZGRvbiAhPT0gISF0aGlzLl9oZWFkZXJBZGRvbikge1xuICAgICAgdGhpcy5fc2hvd0FkZG9uID0gISF0aGlzLl9oZWFkZXJBZGRvbjtcbiAgICAgIHRoaXMuX3VwZGF0ZVBhZ2luYXRpb24oKTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBbGlnbnMgdGhlIGluayBiYXIgdG8gdGhlIHNlbGVjdGVkIHRhYiBvbiBsb2FkLlxuICAgKi9cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGNvbnN0IHJlYWxpZ24gPSAoKSA9PiB7XG4gICAgICB0aGlzLl91cGRhdGVQYWdpbmF0aW9uKCk7XG4gICAgICB0aGlzLl9hbGlnbkFjdGl2ZUluZGljYXRvclRvU2VsZWN0ZWRUYWIoKTtcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3Njcm9sbFRvTGFiZWwodGhpcy5fc2VsZWN0ZWRJbmRleCk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgdGhpcy5fa2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5fbGFiZWxXcmFwcGVycylcbiAgICAgIC53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKCdsdHInKVxuICAgICAgLndpdGhXcmFwKCk7XG4gICAgdGhpcy5fa2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKDApO1xuXG4gICAgLy8gT24gdGFiIGxpc3QgcmVzaXplLCByZWFsaWduIHRoZSBpbmsgYmFyIGFuZCB1cGRhdGUgdGhlIG9yaWVudGF0aW9uIG9mXG4gICAgLy8gdGhlIGtleSBtYW5hZ2VyIGlmIHRoZSBkaXJlY3Rpb24gaGFzIGNoYW5nZWQuXG4gICAgbWVyZ2UoXG4gICAgICBvYnNlcnZlUmVzaXplT24odGhpcy5fdGFiTGlzdC5uYXRpdmVFbGVtZW50KSxcbiAgICAgIG9ic2VydmVSZXNpemVPbih0aGlzLl90YWJMaXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpLFxuICAgICAgb2JzZXJ2ZVJlc2l6ZU9uKHRoaXMuX3BhZ2luYXRpb25XcmFwcGVyLm5hdGl2ZUVsZW1lbnQpLFxuICAgIClcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSlcbiAgICAgIC5zdWJzY3JpYmUocmVhbGlnbik7XG5cbiAgICAvLyBJZiB0aGVyZSBpcyBhIGNoYW5nZSBpbiB0aGUgZm9jdXMga2V5IG1hbmFnZXIgd2UgbmVlZCB0byBlbWl0IHRoZSBgaW5kZXhGb2N1c2VkYFxuICAgIC8vIGV2ZW50IGluIG9yZGVyIHRvIHByb3ZpZGUgYSBwdWJsaWMgZXZlbnQgdGhhdCBub3RpZmllcyBhYm91dCBmb2N1cyBjaGFuZ2VzLiBBbHNvIHdlIHJlYWxpZ25cbiAgICAvLyB0aGUgdGFicyBjb250YWluZXIgYnkgc2Nyb2xsaW5nIHRoZSBuZXcgZm9jdXNlZCB0YWIgaW50byB0aGUgdmlzaWJsZSBzZWN0aW9uLlxuICAgIHRoaXMuX2tleU1hbmFnZXIuY2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSlcbiAgICAgIC5zdWJzY3JpYmUobmV3Rm9jdXNJbmRleCA9PiB7XG4gICAgICAgIHRoaXMuaW5kZXhGb2N1c2VkLmVtaXQobmV3Rm9jdXNJbmRleCk7XG4gICAgICAgIHRoaXMuX3NldFRhYkZvY3VzKG5ld0ZvY3VzSW5kZXgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKiogU2V0cyB0aGUgZGlzdGFuY2UgaW4gcGl4ZWxzIHRoYXQgdGhlIHRhYiBoZWFkZXIgc2hvdWxkIGJlIHRyYW5zZm9ybWVkIGluIHRoZSBYLWF4aXMuICovXG4gIGdldCBzY3JvbGxEaXN0YW5jZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zY3JvbGxEaXN0YW5jZTtcbiAgfVxuXG4gIHNldCBzY3JvbGxEaXN0YW5jZSh2OiBudW1iZXIpIHtcbiAgICB0aGlzLl9zY3JvbGxEaXN0YW5jZSA9IE1hdGgubWF4KFxuICAgICAgMCxcbiAgICAgIE1hdGgubWluKHRoaXMuX2dldE1heFNjcm9sbERpc3RhbmNlKCksIHYpLFxuICAgICk7XG4gICAgLy8gTWFyayB0aGF0IHRoZSBzY3JvbGwgZGlzdGFuY2UgaGFzIGNoYW5nZWQgc28gdGhhdCBhZnRlciB0aGUgdmlldyBpcyBjaGVja2VkLCB0aGUgQ1NTXG4gICAgLy8gdHJhbnNmb3JtYXRpb24gY2FuIG1vdmUgdGhlIGhlYWRlci5cbiAgICB0aGlzLl9zY3JvbGxEaXN0YW5jZUNoYW5nZWQgPSB0cnVlO1xuICAgIHRoaXMuX2NoZWNrU2Nyb2xsaW5nQ29udHJvbHMoKTtcbiAgfVxuXG4gIC8qKiBUcmFja3Mgd2hpY2ggZWxlbWVudCBoYXMgZm9jdXM7IHVzZWQgZm9yIGtleWJvYXJkIG5hdmlnYXRpb24gKi9cbiAgZ2V0IGZvY3VzSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fa2V5TWFuYWdlciA/IHRoaXMuX2tleU1hbmFnZXIuYWN0aXZlSXRlbUluZGV4IDogMDtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSBmb2N1cyBpbmRleCBpcyBzZXQsIHdlIG11c3QgbWFudWFsbHkgc2VuZCBmb2N1cyB0byB0aGUgY29ycmVjdCBsYWJlbCAqL1xuICBzZXQgZm9jdXNJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuX2lzVmFsaWRJbmRleCh2YWx1ZSkgfHxcbiAgICAgIHRoaXMuZm9jdXNJbmRleCA9PT0gdmFsdWUgfHxcbiAgICAgICF0aGlzLl9rZXlNYW5hZ2VyXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiBhbiBpbmRleCBpcyB2YWxpZC4gIElmIHRoZSB0YWJzIGFyZSBub3QgcmVhZHkgeWV0LCB3ZSBhc3N1bWUgdGhhdCB0aGUgdXNlciBpc1xuICAgKiBwcm92aWRpbmcgYSB2YWxpZCBpbmRleCBhbmQgcmV0dXJuIHRydWUuXG4gICAqL1xuICBfaXNWYWxpZEluZGV4KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuX2xhYmVsV3JhcHBlcnMpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjb25zdCB0YWIgPSB0aGlzLl9sYWJlbFdyYXBwZXJzXG4gICAgICA/IHRoaXMuX2xhYmVsV3JhcHBlcnMudG9BcnJheSgpW2luZGV4XVxuICAgICAgOiBudWxsO1xuICAgIHJldHVybiAhIXRhYiAmJiAhdGFiLmRpc2FibGVkO1xuICB9XG5cbiAgX2hhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnSG9tZSc6IHtcbiAgICAgICAgdGhpcy5fa2V5TWFuYWdlci5zZXRGaXJzdEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdFbmQnOiB7XG4gICAgICAgIHRoaXMuX2tleU1hbmFnZXIuc2V0TGFzdEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdFbnRlcic6XG4gICAgICBjYXNlICdTcGFjZSc6IHtcbiAgICAgICAgdGhpcy5zZWxlY3RGb2N1c2VkSW5kZXguZW1pdCh0aGlzLmZvY3VzSW5kZXgpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgdGhpcy5fa2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGZvY3VzIG9uIHRoZSBIVE1MIGVsZW1lbnQgZm9yIHRoZSBsYWJlbCB3cmFwcGVyIGFuZCBzY3JvbGxzIGl0IGludG8gdGhlIHZpZXcgaWZcbiAgICogc2Nyb2xsaW5nIGlzIGVuYWJsZWQuXG4gICAqL1xuICBfc2V0VGFiRm9jdXModGFiSW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLl9zaG93UGFnaW5hdGlvbkNvbnRyb2xzKSB7XG4gICAgICB0aGlzLl9zY3JvbGxUb0xhYmVsKHRhYkluZGV4KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2xhYmVsV3JhcHBlcnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX2xhYmVsV3JhcHBlcnMudG9BcnJheSgpW3RhYkluZGV4XS5mb2N1cygpO1xuICAgICAgLy8gRG8gbm90IGxldCB0aGUgYnJvd3NlciBtYW5hZ2Ugc2Nyb2xsaW5nIHRvIGZvY3VzIHRoZSBlbGVtZW50LCB0aGlzIHdpbGwgYmUgaGFuZGxlZFxuICAgICAgLy8gYnkgdXNpbmcgdHJhbnNsYXRpb24uIEluIExUUiwgdGhlIHNjcm9sbCBsZWZ0IHNob3VsZCBiZSAwLiBJbiBSVEwsIHRoZSBzY3JvbGwgd2lkdGhcbiAgICAgIC8vIHNob3VsZCBiZSB0aGUgZnVsbCB3aWR0aCBtaW51cyB0aGUgb2Zmc2V0IHdpZHRoLlxuICAgICAgY29uc3QgY29udGFpbmVyRWwgPSB0aGlzLl90YWJMaXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb250YWluZXJFbC5zY3JvbGxMZWZ0ID0gMDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTW92ZXMgdGhlIHRhYiBsaXN0IHN1Y2ggdGhhdCB0aGUgZGVzaXJlZCB0YWIgbGFiZWwgKG1hcmtlZCBieSBpbmRleCkgaXMgbW92ZWQgaW50byB2aWV3LlxuICAgKlxuICAgKiBUaGlzIGlzIGFuIGV4cGVuc2l2ZSBjYWxsIHRoYXQgZm9yY2VzIGEgbGF5b3V0IHJlZmxvdyB0byBjb21wdXRlIGJveCBhbmQgc2Nyb2xsIG1ldHJpY3MgYW5kXG4gICAqIHNob3VsZCBiZSBjYWxsZWQgc3BhcmluZ2x5LlxuICAgKi9cbiAgX3Njcm9sbFRvTGFiZWwobGFiZWxJbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRMYWJlbCA9IHRoaXMuX2xhYmVsV3JhcHBlcnNcbiAgICAgID8gdGhpcy5fbGFiZWxXcmFwcGVycy50b0FycmF5KClbbGFiZWxJbmRleF1cbiAgICAgIDogbnVsbDtcbiAgICBpZiAoIXNlbGVjdGVkTGFiZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gVGhlIHZpZXcgbGVuZ3RoIGlzIHRoZSB2aXNpYmxlIHdpZHRoIG9mIHRoZSB0YWIgbGFiZWxzLlxuICAgIGNvbnN0IHZpZXdMZW5ndGggPSB0aGlzLl90YWJMaXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgY29uc3QgbGFiZWxCZWZvcmVQb3MgPSBzZWxlY3RlZExhYmVsLmdldE9mZnNldExlZnQoKTtcbiAgICBjb25zdCBsYWJlbEFmdGVyUG9zID0gbGFiZWxCZWZvcmVQb3MgKyBzZWxlY3RlZExhYmVsLmdldE9mZnNldFdpZHRoKCk7XG4gICAgY29uc3QgYmVmb3JlVmlzaWJsZVBvcyA9IHRoaXMuc2Nyb2xsRGlzdGFuY2U7XG4gICAgY29uc3QgYWZ0ZXJWaXNpYmxlUG9zID0gdGhpcy5zY3JvbGxEaXN0YW5jZSArIHZpZXdMZW5ndGg7XG4gICAgaWYgKGxhYmVsQmVmb3JlUG9zIDwgYmVmb3JlVmlzaWJsZVBvcykge1xuICAgICAgLy8gU2Nyb2xsIGhlYWRlciB0byBtb3ZlIGxhYmVsIHRvIHRoZSBiZWZvcmUgZGlyZWN0aW9uXG4gICAgICB0aGlzLnNjcm9sbERpc3RhbmNlIC09XG4gICAgICAgIGJlZm9yZVZpc2libGVQb3MgLSBsYWJlbEJlZm9yZVBvcyArIEVYQUdHRVJBVEVEX09WRVJTQ1JPTEw7XG4gICAgfSBlbHNlIGlmIChsYWJlbEFmdGVyUG9zID4gYWZ0ZXJWaXNpYmxlUG9zKSB7XG4gICAgICAvLyBTY3JvbGwgaGVhZGVyIHRvIG1vdmUgbGFiZWwgdG8gdGhlIGFmdGVyIGRpcmVjdGlvblxuICAgICAgdGhpcy5zY3JvbGxEaXN0YW5jZSArPVxuICAgICAgICBsYWJlbEFmdGVyUG9zIC0gYWZ0ZXJWaXNpYmxlUG9zICsgRVhBR0dFUkFURURfT1ZFUlNDUk9MTDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTW92ZXMgdGhlIHRhYiBsaXN0IGluIHRoZSAnYmVmb3JlJyBvciAnYWZ0ZXInIGRpcmVjdGlvbiAodG93YXJkcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaXN0IG9yXG4gICAqIHRoZSBlbmQgb2YgdGhlIGxpc3QsIHJlc3BlY3RpdmVseSkuIFRoZSBkaXN0YW5jZSB0byBzY3JvbGwgaXMgY29tcHV0ZWQgdG8gYmUgYSB0aGlyZCBvZiB0aGVcbiAgICogbGVuZ3RoIG9mIHRoZSB0YWIgbGlzdCB2aWV3IHdpbmRvdy5cbiAgICpcbiAgICogVGhpcyBpcyBhbiBleHBlbnNpdmUgY2FsbCB0aGF0IGZvcmNlcyBhIGxheW91dCByZWZsb3cgdG8gY29tcHV0ZSBib3ggYW5kIHNjcm9sbCBtZXRyaWNzIGFuZFxuICAgKiBzaG91bGQgYmUgY2FsbGVkIHNwYXJpbmdseS5cbiAgICovXG4gIF9zY3JvbGxIZWFkZXIoc2Nyb2xsRGlyOiBTY3JvbGxEaXJlY3Rpb24pIHtcbiAgICBjb25zdCB2aWV3TGVuZ3RoID0gdGhpcy5fdGFiTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIC8vIE1vdmUgdGhlIHNjcm9sbCBkaXN0YW5jZSBvbmUtdGhpcmQgdGhlIGxlbmd0aCBvZiB0aGUgdGFiIGxpc3QncyB2aWV3cG9ydC5cbiAgICB0aGlzLnNjcm9sbERpc3RhbmNlICs9ICgoc2Nyb2xsRGlyID09PSAnYmVmb3JlJyA/IC0xIDogMSkgKiB2aWV3TGVuZ3RoKSAvIDM7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGJhY2sgZm9yIHdoZW4gdGhlIE11dGF0aW9uT2JzZXJ2ZXIgZGV0ZWN0cyB0aGF0IHRoZSBjb250ZW50IGhhcyBjaGFuZ2VkLlxuICAgKi9cbiAgX29uQ29udGVudENoYW5nZXMoKSB7XG4gICAgdGhpcy5fdXBkYXRlUGFnaW5hdGlvbigpO1xuICAgIHRoaXMuX2FsaWduQWN0aXZlSW5kaWNhdG9yVG9TZWxlY3RlZFRhYigpO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0aW5nIHRoZSB2aWV3IHdoZXRoZXIgcGFnaW5hdGlvbiBzaG91bGQgYmUgZW5hYmxlZCBvciBub3RcbiAgICovXG4gIF91cGRhdGVQYWdpbmF0aW9uKCkge1xuICAgIHRoaXMuX2NoZWNrUGFnaW5hdGlvbkVuYWJsZWQoKTtcbiAgICB0aGlzLl9jaGVja1Njcm9sbGluZ0NvbnRyb2xzKCk7XG4gICAgdGhpcy5fdXBkYXRlVGFiU2Nyb2xsUG9zaXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZSB3aGV0aGVyIHRoZSBwYWdpbmF0aW9uIGNvbnRyb2xzIHNob3VsZCBiZSBkaXNwbGF5ZWQuIElmIHRoZSBzY3JvbGwgd2lkdGggb2YgdGhlXG4gICAqIHRhYiBsaXN0IGlzIHdpZGVyIHRoYW4gdGhlIHNpemUgb2YgdGhlIGhlYWRlciBjb250YWluZXIsIHRoZW4gdGhlIHBhZ2luYXRpb24gY29udHJvbHMgc2hvdWxkXG4gICAqIGJlIHNob3duLlxuICAgKlxuICAgKiBUaGlzIGlzIGFuIGV4cGVuc2l2ZSBjYWxsIHRoYXQgZm9yY2VzIGEgbGF5b3V0IHJlZmxvdyB0byBjb21wdXRlIGJveCBhbmQgc2Nyb2xsIG1ldHJpY3MgYW5kXG4gICAqIHNob3VsZCBiZSBjYWxsZWQgc3BhcmluZ2x5LlxuICAgKi9cbiAgX2NoZWNrUGFnaW5hdGlvbkVuYWJsZWQoKSB7XG4gICAgY29uc3QgaXNFbmFibGVkID1cbiAgICAgIHRoaXMuX3RhYkxpc3QubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aCA+XG4gICAgICB0aGlzLl9wYWdpbmF0aW9uV3JhcHBlci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICsgMjsgLy8gMiBpcyB0aGUgYm9yZGVyIHNpemVcbiAgICBpZiAoIWlzRW5hYmxlZCkge1xuICAgICAgdGhpcy5zY3JvbGxEaXN0YW5jZSA9IDA7XG4gICAgfVxuICAgIGNvbnN0IGRldGVjdENoYW5nZXMgPSBpc0VuYWJsZWQgIT09IHRoaXMuX3Nob3dQYWdpbmF0aW9uQ29udHJvbHM7XG4gICAgdGhpcy5fc2hvd1BhZ2luYXRpb25Db250cm9scyA9IGlzRW5hYmxlZDtcblxuICAgIGlmIChkZXRlY3RDaGFuZ2VzKSB7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXZhbHVhdGUgd2hldGhlciB0aGUgYmVmb3JlIGFuZCBhZnRlciBjb250cm9scyBzaG91bGQgYmUgZW5hYmxlZCBvciBkaXNhYmxlZC5cbiAgICogSWYgdGhlIGhlYWRlciBpcyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaXN0IChzY3JvbGwgZGlzdGFuY2UgaXMgZXF1YWwgdG8gMCkgdGhlbiBkaXNhYmxlIHRoZVxuICAgKiBiZWZvcmUgYnV0dG9uLiBJZiB0aGUgaGVhZGVyIGlzIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QgKHNjcm9sbCBkaXN0YW5jZSBpcyBlcXVhbCB0byB0aGVcbiAgICogbWF4aW11bSBkaXN0YW5jZSB3ZSBjYW4gc2Nyb2xsKSwgdGhlbiBkaXNhYmxlIHRoZSBhZnRlciBidXR0b24uXG4gICAqXG4gICAqIFRoaXMgaXMgYW4gZXhwZW5zaXZlIGNhbGwgdGhhdCBmb3JjZXMgYSBsYXlvdXQgcmVmbG93IHRvIGNvbXB1dGUgYm94IGFuZCBzY3JvbGwgbWV0cmljcyBhbmRcbiAgICogc2hvdWxkIGJlIGNhbGxlZCBzcGFyaW5nbHkuXG4gICAqL1xuICBfY2hlY2tTY3JvbGxpbmdDb250cm9scygpIHtcbiAgICAvLyBDaGVjayBpZiB0aGUgcGFnaW5hdGlvbiBhcnJvd3Mgc2hvdWxkIGJlIGFjdGl2YXRlZC5cbiAgICB0aGlzLl9kaXNhYmxlU2Nyb2xsQmVmb3JlID0gdGhpcy5zY3JvbGxEaXN0YW5jZSA9PT0gMDtcbiAgICB0aGlzLl9kaXNhYmxlU2Nyb2xsQWZ0ZXIgPVxuICAgICAgdGhpcy5zY3JvbGxEaXN0YW5jZSA9PT0gdGhpcy5fZ2V0TWF4U2Nyb2xsRGlzdGFuY2UoKTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoYXQgaXMgdGhlIG1heGltdW0gbGVuZ3RoIGluIHBpeGVscyB0aGF0IGNhbiBiZSBzZXQgZm9yIHRoZSBzY3JvbGwgZGlzdGFuY2UuIFRoaXNcbiAgICogaXMgZXF1YWwgdG8gdGhlIGRpZmZlcmVuY2UgaW4gd2lkdGggYmV0d2VlbiB0aGUgdGFiIGxpc3QgY29udGFpbmVyIGFuZCB0YWIgaGVhZGVyIGNvbnRhaW5lci5cbiAgICpcbiAgICogVGhpcyBpcyBhbiBleHBlbnNpdmUgY2FsbCB0aGF0IGZvcmNlcyBhIGxheW91dCByZWZsb3cgdG8gY29tcHV0ZSBib3ggYW5kIHNjcm9sbCBtZXRyaWNzIGFuZFxuICAgKiBzaG91bGQgYmUgY2FsbGVkIHNwYXJpbmdseS5cbiAgICovXG4gIF9nZXRNYXhTY3JvbGxEaXN0YW5jZSgpOiBudW1iZXIge1xuICAgIGNvbnN0IGxlbmd0aE9mVGFiTGlzdCA9IHRoaXMuX3RhYkxpc3QubmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aDtcbiAgICBjb25zdCB2aWV3TGVuZ3RoID0gdGhpcy5fdGFiTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIHJldHVybiBsZW5ndGhPZlRhYkxpc3QgLSB2aWV3TGVuZ3RoIHx8IDA7XG4gIH1cblxuICAvKiogUGVyZm9ybXMgdGhlIENTUyB0cmFuc2Zvcm1hdGlvbiBvbiB0aGUgdGFiIGxpc3QgdGhhdCB3aWxsIGNhdXNlIHRoZSBsaXN0IHRvIHNjcm9sbC4gKi9cbiAgX3VwZGF0ZVRhYlNjcm9sbFBvc2l0aW9uKCkge1xuICAgIGNvbnN0IHNjcm9sbERpc3RhbmNlID0gdGhpcy5zY3JvbGxEaXN0YW5jZTtcbiAgICBjb25zdCB0cmFuc2xhdGVYID0gLXNjcm9sbERpc3RhbmNlO1xuICAgIC8vIERvbid0IHVzZSBgdHJhbnNsYXRlM2RgIGhlcmUgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIGNyZWF0ZSBhIG5ldyBsYXllci4gQSBuZXcgbGF5ZXJcbiAgICAvLyBzZWVtcyB0byBjYXVzZSBmbGlja2VyaW5nIGFuZCBvdmVyZmxvdyBpbiBJbnRlcm5ldCBFeHBsb3Jlci4gRm9yIGV4YW1wbGUsIHRoZSBpbmsgYmFyXG4gICAgLy8gYW5kIHJpcHBsZXMgd2lsbCBleGNlZWQgdGhlIGJvdW5kYXJpZXMgb2YgdGhlIHZpc2libGUgdGFiIGJhci5cbiAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL21hdGVyaWFsMi9pc3N1ZXMvMTAyNzZcbiAgICB0aGlzLl90YWJMaXN0Lm5hdGl2ZUVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZVgoJHt0cmFuc2xhdGVYfXB4KWA7XG4gIH1cblxuICAvKiogVGVsbHMgdGhlIGFjdGl2ZSBpbmRpY2F0b3IgdG8gYWxpZ24gaXRzZWxmIHRvIHRoZSBjdXJyZW50IGxhYmVsIHdyYXBwZXIgKi9cbiAgX2FsaWduQWN0aXZlSW5kaWNhdG9yVG9TZWxlY3RlZFRhYigpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZExhYmVsV3JhcHBlciA9XG4gICAgICB0aGlzLl9sYWJlbFdyYXBwZXJzPy5sZW5ndGggPiAwXG4gICAgICAgID8gdGhpcy5fbGFiZWxXcmFwcGVycy50b0FycmF5KClbdGhpcy5zZWxlY3RlZEluZGV4XS5lbGVtZW50UmVmXG4gICAgICAgICAgICAubmF0aXZlRWxlbWVudFxuICAgICAgICA6IG51bGw7XG4gICAgdGhpcy5fYWN0aXZlSW5kaWNhdG9yLmFsaWduVG9FbGVtZW50KHNlbGVjdGVkTGFiZWxXcmFwcGVyKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiYmVtLmJsb2NrKHR5cGUsIHNpemUpXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJfdGl0bGVcIj5cbiAgICA8ZGl2IFtuZ0NsYXNzXT1cImJlbS5lbGVtZW50KCd0aXRsZScpXCI+XG4gICAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJfdGl0bGVcIj48L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdiBbbmdDbGFzc109XCJiZW0uZWxlbWVudCgnaGVhZGVyLXdyYXBwZXInKVwiPlxuICAgIDxkaXZcbiAgICAgIFtuZ0NsYXNzXT1cImJlbS5lbGVtZW50KCdwYWdpbmF0aW9uLXdyYXBwZXInKVwiXG4gICAgICAjcGFnaW5hdGlvbldyYXBwZXJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiX3Nob3dQYWdpbmF0aW9uQ29udHJvbHNcIlxuICAgICAgICAoY2xpY2spPVwiX3Njcm9sbEhlYWRlcignYmVmb3JlJylcIlxuICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJfZGlzYWJsZVNjcm9sbEJlZm9yZSA/ICcnIDogbnVsbFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cImJlbS5lbGVtZW50KCdwYWdpbmF0aW9uLWJ1dHRvbicpXCJcbiAgICAgID5cbiAgICAgICAgPGF1aS1pY29uIGljb249XCJhbmdsZV9sZWZ0XCI+PC9hdWktaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBbbmdDbGFzc109XCJiZW0uZWxlbWVudCgndGFiLWxpc3QtY29udGFpbmVyJylcIlxuICAgICAgICAoa2V5ZG93bik9XCJfaGFuZGxlS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgI3RhYkxpc3RDb250YWluZXJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHJvbGU9XCJ0YWJsaXN0XCJcbiAgICAgICAgICAoY2RrT2JzZXJ2ZUNvbnRlbnQpPVwiX29uQ29udGVudENoYW5nZXMoKVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwiYmVtLmVsZW1lbnQoJ3RhYi1saXN0JylcIlxuICAgICAgICAgICN0YWJMaXN0XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImJlbS5lbGVtZW50KCdsYWJlbHMnKVwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2Rpdj5cbiAgICAgICAgICA8YXVpLXRhYi1oZWFkZXItYWN0aXZlLWluZGljYXRvclxuICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgICAgPjwvYXVpLXRhYi1oZWFkZXItYWN0aXZlLWluZGljYXRvcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJfc2hvd1BhZ2luYXRpb25Db250cm9sc1wiXG4gICAgICAgIChjbGljayk9XCJfc2Nyb2xsSGVhZGVyKCdhZnRlcicpXCJcbiAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiX2Rpc2FibGVTY3JvbGxBZnRlciA/ICcnIDogbnVsbFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cImJlbS5lbGVtZW50KCdwYWdpbmF0aW9uLWJ1dHRvbicpXCJcbiAgICAgID5cbiAgICAgICAgPGF1aS1pY29uIGljb249XCJhbmdsZV9yaWdodFwiPjwvYXVpLWljb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIElmIHRoZXJlIGlzIGFkZG9uIHRlbXBsYXRlLCB1c2UgaXQuIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfc2hvd0FkZG9uXCI+XG4gICAgICA8ZGl2IFtuZ0NsYXNzXT1cImJlbS5lbGVtZW50KCdhZGRvbicpXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbY2RrUG9ydGFsT3V0bGV0XT1cIl9oZWFkZXJBZGRvblwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,65 +0,0 @@
1
- import { TemplatePortal } from '@angular/cdk/portal';
2
- import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
3
- import { Subject } from 'rxjs';
4
- import { coerceAttrBoolean } from '../internal/utils';
5
- import { TabContentDirective, TabLabelDirective } from './tab-body.component';
6
- import { TabContextService } from './tab-context.service';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./tab-context.service";
9
- export class TabComponent {
10
- get content() {
11
- return this._contentPortal;
12
- }
13
- constructor(_viewContainerRef, tabContext) {
14
- this._viewContainerRef = _viewContainerRef;
15
- this.tabContext = tabContext;
16
- this.textLabel = '';
17
- this.closeable = false;
18
- this.close = new EventEmitter();
19
- this.position = null;
20
- this.origin = null;
21
- this._stateChanges = new Subject();
22
- this._contentPortal = null;
23
- }
24
- ngAfterContentInit() {
25
- this._contentPortal = new TemplatePortal(this._explicitContent || this._implicitContent, this._viewContainerRef);
26
- }
27
- ngOnDestroy() {
28
- this._stateChanges.complete();
29
- }
30
- ngOnChanges(changes) {
31
- if (changes.hasOwnProperty('textLabel') ||
32
- changes.hasOwnProperty('disabled') ||
33
- changes.hasOwnProperty('closeable')) {
34
- this._stateChanges.next();
35
- }
36
- }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.TabContextService }], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.6", type: TabComponent, isStandalone: true, selector: "aui-tab", inputs: { name: "name", textLabel: ["label", "textLabel"], closeable: "closeable", disabled: ["disabled", "disabled", coerceAttrBoolean] }, outputs: { close: "close" }, providers: [TabContextService], queries: [{ propertyName: "templateLabel", first: true, predicate: TabLabelDirective, descendants: true }, { propertyName: "_explicitContent", first: true, predicate: TabContentDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "_implicitContent", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: ["auiTab"], usesOnChanges: true, ngImport: i0, template: "<!--\n Create a template for the content of the <aui-tab> so that we can grab a reference to this\n TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\n tab-group.\n-->\n<ng-template><ng-content></ng-content></ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
39
- }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabComponent, decorators: [{
41
- type: Component,
42
- args: [{ selector: 'aui-tab', exportAs: 'auiTab', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, preserveWhitespaces: false, providers: [TabContextService], standalone: true, template: "<!--\n Create a template for the content of the <aui-tab> so that we can grab a reference to this\n TemplateRef and use it in a Portal to render the tab content in the appropriate place in the\n tab-group.\n-->\n<ng-template><ng-content></ng-content></ng-template>\n" }]
43
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i1.TabContextService }], propDecorators: { name: [{
44
- type: Input
45
- }], textLabel: [{
46
- type: Input,
47
- args: ['label']
48
- }], closeable: [{
49
- type: Input
50
- }], disabled: [{
51
- type: Input,
52
- args: [{ transform: coerceAttrBoolean }]
53
- }], close: [{
54
- type: Output
55
- }], templateLabel: [{
56
- type: ContentChild,
57
- args: [TabLabelDirective, { static: false }]
58
- }], _explicitContent: [{
59
- type: ContentChild,
60
- args: [TabContentDirective, { read: TemplateRef, static: false }]
61
- }], _implicitContent: [{
62
- type: ViewChild,
63
- args: [TemplateRef, { static: true }]
64
- }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJzL3RhYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvdGFicy90YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxFQUVULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXRELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFZMUQsTUFBTSxPQUFPLFlBQVk7SUFpQ3ZCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBb0JELFlBQ21CLGlCQUFtQyxFQUNwQyxVQUE2QjtRQUQ1QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ3BDLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBbkQvQyxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBSWYsY0FBUyxHQUFHLEtBQUssQ0FBQztRQU9sQixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQXdCakMsYUFBUSxHQUFrQixJQUFJLENBQUM7UUFNL0IsV0FBTSxHQUFrQixJQUFJLENBQUM7UUFHcEIsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBR3JDLG1CQUFjLEdBQTBCLElBQUksQ0FBQztJQUtsRCxDQUFDO0lBRUosa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQzlDLElBQUksQ0FBQyxpQkFBaUIsQ0FDdkIsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQ0UsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUM7WUFDbkMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUM7WUFDbEMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsRUFDbkMsQ0FBQztZQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7OEdBL0VVLFlBQVk7a0dBQVosWUFBWSxpS0FhSCxpQkFBaUIsNkNBaEIxQixDQUFDLGlCQUFpQixDQUFDLHFFQXVCaEIsaUJBQWlCLG1GQU1qQixtQkFBbUIsMkJBQVUsV0FBVywrRUFJM0MsV0FBVyx5R0NqRXhCLCtRQU1BOzsyRkQ2QmEsWUFBWTtrQkFWeEIsU0FBUzsrQkFDRSxTQUFTLFlBQ1QsUUFBUSxpQkFFSCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLHVCQUMxQixLQUFLLGFBQ2YsQ0FBQyxpQkFBaUIsQ0FBQyxjQUNsQixJQUFJO3FIQUloQixJQUFJO3NCQURILEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO3VCQUFDLE9BQU87Z0JBS2QsU0FBUztzQkFEUixLQUFLO2dCQUtOLFFBQVE7c0JBRFAsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRTtnQkFJdkMsS0FBSztzQkFESixNQUFNO2dCQUtQLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBT2xELGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUt2RSxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zICovXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGNvZXJjZUF0dHJCb29sZWFuIH0gZnJvbSAnLi4vaW50ZXJuYWwvdXRpbHMnO1xuXG5pbXBvcnQgeyBUYWJDb250ZW50RGlyZWN0aXZlLCBUYWJMYWJlbERpcmVjdGl2ZSB9IGZyb20gJy4vdGFiLWJvZHkuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYkNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi90YWItY29udGV4dC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLXRhYicsXG4gIGV4cG9ydEFzOiAnYXVpVGFiJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYi5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgcHJvdmlkZXJzOiBbVGFiQ29udGV4dFNlcnZpY2VdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIG5hbWU6IHN0cmluZztcblxuICAvKiogUGxhaW4gdGV4dCBsYWJlbCBmb3IgdGhlIHRhYiwgdXNlZCB3aGVuIHRoZXJlIGlzIG5vIHRlbXBsYXRlIGxhYmVsLiAqL1xuICBASW5wdXQoJ2xhYmVsJylcbiAgdGV4dExhYmVsID0gJyc7XG5cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRvIHNob3cgdGhlIGNsb3NlIGJ1dHRvbiBpbiB0aGUgaGVhZGVyICovXG4gIEBJbnB1dCgpXG4gIGNsb3NlYWJsZSA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgdGFiIGlzIGRpc2FibGVkICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUF0dHJCb29sZWFuIH0pXG4gIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKVxuICBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKiogQ29udGVudCBmb3IgdGhlIHRhYiBsYWJlbCBnaXZlbiBieSBgPG5nLXRlbXBsYXRlIFthdWlUYWJMYWJlbF0+YC4gKi9cbiAgQENvbnRlbnRDaGlsZChUYWJMYWJlbERpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHRlbXBsYXRlTGFiZWw6IFRhYkxhYmVsRGlyZWN0aXZlO1xuXG4gIC8qKlxuICAgKiBUZW1wbGF0ZSBwcm92aWRlZCBpbiB0aGUgdGFiIGNvbnRlbnQgdGhhdCB3aWxsIGJlIHVzZWQgaWYgcHJlc2VudCwgdXNlZCB0byBlbmFibGUgbGF6eS1sb2FkaW5nXG4gICAqL1xuICBAQ29udGVudENoaWxkKFRhYkNvbnRlbnREaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgX2V4cGxpY2l0Q29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKiogVGVtcGxhdGUgaW5zaWRlIHRoZSBBdWlUYWIgdmlldyB0aGF0IGNvbnRhaW5zIGFuIGA8bmctY29udGVudD5gLiAqL1xuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBfaW1wbGljaXRDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGdldCBjb250ZW50KCk6IFRlbXBsYXRlUG9ydGFsIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRQb3J0YWw7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHJlbGF0aXZlbHkgaW5kZXhlZCBwb3NpdGlvbiB3aGVyZSAwIHJlcHJlc2VudHMgdGhlIGNlbnRlciwgbmVnYXRpdmUgaXMgbGVmdCwgYW5kIHBvc2l0aXZlXG4gICAqIHJlcHJlc2VudHMgdGhlIHJpZ2h0LlxuICAgKi9cbiAgcG9zaXRpb246IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5pdGlhbCByZWxhdGl2ZWx5IGluZGV4IG9yaWdpbiBvZiB0aGUgdGFiIGlmIGl0IHdhcyBjcmVhdGVkIGFuZCBzZWxlY3RlZCBhZnRlciB0aGVyZVxuICAgKiB3YXMgYWxyZWFkeSBhIHNlbGVjdGVkIHRhYi4gUHJvdmlkZXMgY29udGV4dCBvZiB3aGF0IHBvc2l0aW9uIHRoZSB0YWIgc2hvdWxkIG9yaWdpbmF0ZSBmcm9tLlxuICAgKi9cbiAgb3JpZ2luOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGludGVybmFsIHN0YXRlIG9mIHRoZSB0YWIgY2hhbmdlcy4gKi9cbiAgcmVhZG9ubHkgX3N0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqIFBvcnRhbCB0aGF0IHdpbGwgYmUgdGhlIGhvc3RlZCBjb250ZW50IG9mIHRoZSB0YWIgKi9cbiAgcHJpdmF0ZSBfY29udGVudFBvcnRhbDogVGVtcGxhdGVQb3J0YWwgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHB1YmxpYyByZWFkb25seSB0YWJDb250ZXh0OiBUYWJDb250ZXh0U2VydmljZSxcbiAgKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250ZW50UG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKFxuICAgICAgdGhpcy5fZXhwbGljaXRDb250ZW50IHx8IHRoaXMuX2ltcGxpY2l0Q29udGVudCxcbiAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYsXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGNoYW5nZXMuaGFzT3duUHJvcGVydHkoJ3RleHRMYWJlbCcpIHx8XG4gICAgICBjaGFuZ2VzLmhhc093blByb3BlcnR5KCdkaXNhYmxlZCcpIHx8XG4gICAgICBjaGFuZ2VzLmhhc093blByb3BlcnR5KCdjbG9zZWFibGUnKVxuICAgICkge1xuICAgICAgdGhpcy5fc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjwhLS1cbiAgQ3JlYXRlIGEgdGVtcGxhdGUgZm9yIHRoZSBjb250ZW50IG9mIHRoZSA8YXVpLXRhYj4gc28gdGhhdCB3ZSBjYW4gZ3JhYiBhIHJlZmVyZW5jZSB0byB0aGlzXG4gIFRlbXBsYXRlUmVmIGFuZCB1c2UgaXQgaW4gYSBQb3J0YWwgdG8gcmVuZGVyIHRoZSB0YWIgY29udGVudCBpbiB0aGUgYXBwcm9wcmlhdGUgcGxhY2UgaW4gdGhlXG4gIHRhYi1ncm91cC5cbi0tPlxuPG5nLXRlbXBsYXRlPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,97 +0,0 @@
1
- import { A11yModule } from '@angular/cdk/a11y';
2
- import { ObserversModule } from '@angular/cdk/observers';
3
- import { PortalModule } from '@angular/cdk/portal';
4
- import { CommonModule } from '@angular/common';
5
- import { NgModule } from '@angular/core';
6
- import { FormsModule } from '@angular/forms';
7
- import { ButtonModule } from '../button';
8
- import { IconModule } from '../icon';
9
- import { TabBodyComponent, TabBodyPortalDirective, TabContentDirective, TabHeaderAddonDirective, TabLabelDirective, TabLabelWrapperDirective, TabTitleDirective, } from './tab-body.component';
10
- import { TabGroupComponent } from './tab-group.component';
11
- import { TabHeaderActiveIndicatorComponent } from './tab-header-active-indicator.component';
12
- import { TabHeaderComponent } from './tab-header.component';
13
- import { TabComponent } from './tab.component';
14
- import * as i0 from "@angular/core";
15
- export class TabsModule {
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: TabsModule, imports: [CommonModule,
18
- FormsModule,
19
- PortalModule,
20
- ButtonModule,
21
- IconModule,
22
- A11yModule,
23
- ObserversModule,
24
- TabGroupComponent,
25
- TabComponent,
26
- TabLabelDirective,
27
- TabContentDirective,
28
- TabHeaderAddonDirective,
29
- TabTitleDirective,
30
- TabHeaderComponent,
31
- TabBodyComponent,
32
- TabBodyPortalDirective,
33
- TabLabelWrapperDirective,
34
- TabHeaderActiveIndicatorComponent], exports: [TabGroupComponent,
35
- TabComponent,
36
- TabLabelDirective,
37
- TabContentDirective,
38
- TabHeaderAddonDirective,
39
- TabTitleDirective,
40
- TabLabelWrapperDirective,
41
- TabHeaderComponent] }); }
42
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabsModule, imports: [CommonModule,
43
- FormsModule,
44
- PortalModule,
45
- ButtonModule,
46
- IconModule,
47
- A11yModule,
48
- ObserversModule,
49
- TabGroupComponent,
50
- TabHeaderComponent] }); }
51
- }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: TabsModule, decorators: [{
53
- type: NgModule,
54
- args: [{
55
- imports: [
56
- CommonModule,
57
- FormsModule,
58
- PortalModule,
59
- ButtonModule,
60
- IconModule,
61
- A11yModule,
62
- ObserversModule,
63
- TabGroupComponent,
64
- TabComponent,
65
- TabLabelDirective,
66
- TabContentDirective,
67
- TabHeaderAddonDirective,
68
- TabTitleDirective,
69
- TabHeaderComponent,
70
- TabBodyComponent,
71
- TabBodyPortalDirective,
72
- TabLabelWrapperDirective,
73
- TabHeaderActiveIndicatorComponent,
74
- ],
75
- exports: [
76
- TabGroupComponent,
77
- TabComponent,
78
- TabLabelDirective,
79
- TabContentDirective,
80
- TabHeaderAddonDirective,
81
- TabTitleDirective,
82
- TabLabelWrapperDirective,
83
- TabHeaderComponent,
84
- ],
85
- }]
86
- }] });
87
- export const TABS_MODULE = [
88
- TabGroupComponent,
89
- TabComponent,
90
- TabLabelDirective,
91
- TabContentDirective,
92
- TabHeaderAddonDirective,
93
- TabTitleDirective,
94
- TabLabelWrapperDirective,
95
- TabHeaderComponent,
96
- ];
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFicy90YWJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXJDLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixpQkFBaUIsR0FDbEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBa0MvQyxNQUFNLE9BQU8sVUFBVTs4R0FBVixVQUFVOytHQUFWLFVBQVUsWUE5Qm5CLFlBQVk7WUFDWixXQUFXO1lBQ1gsWUFBWTtZQUNaLFlBQVk7WUFDWixVQUFVO1lBQ1YsVUFBVTtZQUNWLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLHNCQUFzQjtZQUN0Qix3QkFBd0I7WUFDeEIsaUNBQWlDLGFBR2pDLGlCQUFpQjtZQUNqQixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsaUJBQWlCO1lBQ2pCLHdCQUF3QjtZQUN4QixrQkFBa0I7K0dBR1QsVUFBVSxZQTlCbkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxZQUFZO1lBQ1osWUFBWTtZQUNaLFVBQVU7WUFDVixVQUFVO1lBQ1YsZUFBZTtZQUNmLGlCQUFpQjtZQU1qQixrQkFBa0I7OzJGQWlCVCxVQUFVO2tCQWhDdEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLGlDQUFpQztxQkFDbEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIsa0JBQWtCO3FCQUNuQjtpQkFDRjs7QUFHRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixpQkFBaUI7SUFDakIsd0JBQXdCO0lBQ3hCLGtCQUFrQjtDQUNWLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgT2JzZXJ2ZXJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL29ic2VydmVycyc7XG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbic7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbic7XG5cbmltcG9ydCB7XG4gIFRhYkJvZHlDb21wb25lbnQsXG4gIFRhYkJvZHlQb3J0YWxEaXJlY3RpdmUsXG4gIFRhYkNvbnRlbnREaXJlY3RpdmUsXG4gIFRhYkhlYWRlckFkZG9uRGlyZWN0aXZlLFxuICBUYWJMYWJlbERpcmVjdGl2ZSxcbiAgVGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlLFxuICBUYWJUaXRsZURpcmVjdGl2ZSxcbn0gZnJvbSAnLi90YWItYm9keS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3RhYi1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiSGVhZGVyQWN0aXZlSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi90YWItaGVhZGVyLWFjdGl2ZS1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYkhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vdGFiLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiQ29tcG9uZW50IH0gZnJvbSAnLi90YWIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgQTExeU1vZHVsZSxcbiAgICBPYnNlcnZlcnNNb2R1bGUsXG4gICAgVGFiR3JvdXBDb21wb25lbnQsXG4gICAgVGFiQ29tcG9uZW50LFxuICAgIFRhYkxhYmVsRGlyZWN0aXZlLFxuICAgIFRhYkNvbnRlbnREaXJlY3RpdmUsXG4gICAgVGFiSGVhZGVyQWRkb25EaXJlY3RpdmUsXG4gICAgVGFiVGl0bGVEaXJlY3RpdmUsXG4gICAgVGFiSGVhZGVyQ29tcG9uZW50LFxuICAgIFRhYkJvZHlDb21wb25lbnQsXG4gICAgVGFiQm9keVBvcnRhbERpcmVjdGl2ZSxcbiAgICBUYWJMYWJlbFdyYXBwZXJEaXJlY3RpdmUsXG4gICAgVGFiSGVhZGVyQWN0aXZlSW5kaWNhdG9yQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVGFiR3JvdXBDb21wb25lbnQsXG4gICAgVGFiQ29tcG9uZW50LFxuICAgIFRhYkxhYmVsRGlyZWN0aXZlLFxuICAgIFRhYkNvbnRlbnREaXJlY3RpdmUsXG4gICAgVGFiSGVhZGVyQWRkb25EaXJlY3RpdmUsXG4gICAgVGFiVGl0bGVEaXJlY3RpdmUsXG4gICAgVGFiTGFiZWxXcmFwcGVyRGlyZWN0aXZlLFxuICAgIFRhYkhlYWRlckNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFic01vZHVsZSB7fVxuXG5leHBvcnQgY29uc3QgVEFCU19NT0RVTEUgPSBbXG4gIFRhYkdyb3VwQ29tcG9uZW50LFxuICBUYWJDb21wb25lbnQsXG4gIFRhYkxhYmVsRGlyZWN0aXZlLFxuICBUYWJDb250ZW50RGlyZWN0aXZlLFxuICBUYWJIZWFkZXJBZGRvbkRpcmVjdGl2ZSxcbiAgVGFiVGl0bGVEaXJlY3RpdmUsXG4gIFRhYkxhYmVsV3JhcHBlckRpcmVjdGl2ZSxcbiAgVGFiSGVhZGVyQ29tcG9uZW50LFxuXSBhcyBjb25zdDtcbiJdfQ==
@@ -1,10 +0,0 @@
1
- export const TabSize = {
2
- Large: 'large',
3
- Medium: 'medium',
4
- Small: 'small',
5
- };
6
- export const TabType = {
7
- Line: 'line',
8
- Card: 'card',
9
- };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90YWJzL3RhYnMudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBRXJCLEtBQUssRUFBRSxPQUFPO0lBR2QsTUFBTSxFQUFFLFFBQVE7SUFHaEIsS0FBSyxFQUFFLE9BQU87Q0FDTixDQUFDO0FBSVgsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ3JCLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLE1BQU07Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsdWVPZiB9IGZyb20gJy4uL2ludGVybmFsL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IFRhYlNpemUgPSB7XG4gIC8qKiDljaHniYfnuqflsLrlr7ggKi9cbiAgTGFyZ2U6ICdsYXJnZScsXG5cbiAgLyoqIOmhtemdoue6p+WwuuWvuCAqL1xuICBNZWRpdW06ICdtZWRpdW0nLFxuXG4gIC8qKiDlsI/lsLrlr7ggKi9cbiAgU21hbGw6ICdzbWFsbCcsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBUYWJTaXplID0gVmFsdWVPZjx0eXBlb2YgVGFiU2l6ZT47XG5cbmV4cG9ydCBjb25zdCBUYWJUeXBlID0ge1xuICBMaW5lOiAnbGluZScsXG4gIENhcmQ6ICdjYXJkJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIFRhYlR5cGUgPSBWYWx1ZU9mPHR5cGVvZiBUYWJUeXBlPjtcbiJdfQ==
@@ -1,33 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
2
- import { ComponentSize } from '../../internal/types';
3
- import { buildBem } from '../../internal/utils';
4
- import { TagType } from '../tag.types';
5
- import * as i0 from "@angular/core";
6
- export class CheckTagComponent {
7
- constructor() {
8
- this.bem = buildBem('aui-tag');
9
- this.hovered = false;
10
- this.checked = false;
11
- this.size = ComponentSize.Medium;
12
- this.round = true;
13
- this.checkedChange = new EventEmitter();
14
- }
15
- get rootClass() {
16
- return `aui-check-tag ${this.bem.block(this.size, this.checked || this.hovered ? TagType.Primary : TagType.Info)} ${this.round ? 'isRound' : ''}`;
17
- }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CheckTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: CheckTagComponent, isStandalone: true, selector: "aui-check-tag", inputs: { checked: "checked", size: "size", round: "round" }, outputs: { checkedChange: "checkedChange" }, ngImport: i0, template: "<div\n [class]=\"rootClass\"\n (click)=\"checkedChange.emit(!checked)\"\n (mouseenter)=\"hovered = true\"\n (mouseleave)=\"hovered = false\"\n [class.isSolid]=\"checked\"\n>\n <span class=\"aui-tag__content\"><ng-content></ng-content></span>\n</div>\n", styles: [".aui-check-tag{cursor:pointer}.aui-check-tag .aui-tag__content{display:flex;-webkit-user-select:none;user-select:none}.aui-check-tag .aui-tag__checkbox{align-self:center}.aui-check-tag.aui-tag--info{color:rgb(var(--aui-color-n-1))}.aui-check-tag.aui-tag--medium{font-size:var(--aui-font-size-m)}.aui-check-tag.aui-tag--medium.isRound{border-radius:calc(var(--aui-inline-height-s) / 2)}aui-check-tag+aui-check-tag .aui-check-tag{margin-left:8px}\n", ".aui-tag{display:inline-flex;align-items:center;border-radius:var(--aui-border-radius-m);border:1px solid transparent;max-width:240px;vertical-align:middle;transition:background-color .3s ease}.aui-tag__content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-tag .aui-tag__close .aui-icon{margin-left:4px;border-radius:50%;cursor:pointer;transition:all .3s ease}.aui-tag--large{padding:0 var(--aui-inline-padding-m);height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}.aui-tag--large.isRound{border-radius:calc(var(--aui-inline-height-m) / 2)}.aui-tag--medium{padding:0 var(--aui-inline-padding-s);height:var(--aui-inline-height-s);font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s);font-weight:var(--aui-font-weight-normal)}.aui-tag--medium.isRound{border-radius:calc(var(--aui-inline-height-s) / 2)}.aui-tag--small{padding:0 var(--aui-inline-padding-xs);height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s);font-weight:var(--aui-font-weight-normal)}.aui-tag--small.isRound{border-radius:calc(var(--aui-inline-height-xs) / 2)}.aui-tag--mini{padding:0 var(--aui-inline-padding-xs);height:20px;font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s);font-weight:var(--aui-font-weight-normal)}.aui-tag--mini.isRound{border-radius:calc(var(--aui-inline-height-xs) / 2)}.aui-tag--primary{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tag--primary.hasBorder{border-color:rgb(var(--aui-color-p-2))}.aui-tag--primary.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-p-1))}.aui-tag--primary.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-p-0))}.aui-tag--primary.allowClick:hover{background-color:rgb(var(--aui-color-p-7));cursor:pointer}.aui-tag--primary.allowClick:active{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tag--primary .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-p-6));background-color:rgb(var(--aui-color-primary))}.aui-tag--success{color:rgb(var(--aui-color-green));background-color:rgb(var(--aui-color-g-6))}.aui-tag--success.hasBorder{border-color:rgb(var(--aui-color-g-2))}.aui-tag--success.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-g-1))}.aui-tag--success.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-g-0))}.aui-tag--success.allowClick:hover{background-color:rgb(var(--aui-color-g-7));cursor:pointer}.aui-tag--success.allowClick:active{color:rgb(var(--aui-color-green));background-color:rgb(var(--aui-color-g-6))}.aui-tag--success .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-g-6));background-color:rgb(var(--aui-color-green))}.aui-tag--warning{color:rgb(var(--aui-color-yellow));background-color:rgb(var(--aui-color-y-6))}.aui-tag--warning.hasBorder{border-color:rgb(var(--aui-color-y-2))}.aui-tag--warning.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-y-1))}.aui-tag--warning.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-y-0))}.aui-tag--warning.allowClick:hover{background-color:rgb(var(--aui-color-y-7));cursor:pointer}.aui-tag--warning.allowClick:active{color:rgb(var(--aui-color-yellow));background-color:rgb(var(--aui-color-y-6))}.aui-tag--warning .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-y-6));background-color:rgb(var(--aui-color-yellow))}.aui-tag--error{color:rgb(var(--aui-color-red));background-color:rgb(var(--aui-color-r-6))}.aui-tag--error.hasBorder{border-color:rgb(var(--aui-color-r-2))}.aui-tag--error.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-r-1))}.aui-tag--error.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-r-0))}.aui-tag--error.allowClick:hover{background-color:rgb(var(--aui-color-r-7));cursor:pointer}.aui-tag--error.allowClick:active{color:rgb(var(--aui-color-red));background-color:rgb(var(--aui-color-r-6))}.aui-tag--error .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-r-6));background-color:rgb(var(--aui-color-red))}.aui-tag--info{color:rgb(var(--aui-color-n-2));background-color:rgb(var(--aui-color-n-8))}.aui-tag--info.hasBorder{border-color:rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-button-bg))}.aui-tag--info .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-n-9));background-color:rgb(var(--aui-color-n-4))}.aui-tag.isInvalid{text-decoration:line-through}.aui-tag.isSolid.aui-tag--primary{color:#fff;background-color:rgb(var(--aui-color-primary))}.aui-tag.isSolid.aui-tag--primary .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-primary));background-color:#fff}.aui-tag.isSolid.aui-tag--success{color:#fff;background-color:rgb(var(--aui-color-green))}.aui-tag.isSolid.aui-tag--success .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-green));background-color:#fff}.aui-tag.isSolid.aui-tag--warning{color:#fff;background-color:rgb(var(--aui-color-yellow))}.aui-tag.isSolid.aui-tag--warning .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-yellow));background-color:#fff}.aui-tag.isSolid.aui-tag--error{color:#fff;background-color:rgb(var(--aui-color-red))}.aui-tag.isSolid.aui-tag--error .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-red));background-color:#fff}.aui-tag.allowClick a{color:inherit}.aui-tag.allowClick:hover{cursor:pointer}aui-tag+aui-tag .aui-tag--large,aui-tag+aui-tag .aui-tag--medium,aui-tag+aui-tag .aui-tag--small{margin-left:var(--aui-spacing-m)}aui-tag+aui-tag .aui-tag--mini{margin-left:6px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: CheckTagComponent, decorators: [{
22
- type: Component,
23
- args: [{ selector: 'aui-check-tag', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, standalone: true, template: "<div\n [class]=\"rootClass\"\n (click)=\"checkedChange.emit(!checked)\"\n (mouseenter)=\"hovered = true\"\n (mouseleave)=\"hovered = false\"\n [class.isSolid]=\"checked\"\n>\n <span class=\"aui-tag__content\"><ng-content></ng-content></span>\n</div>\n", styles: [".aui-check-tag{cursor:pointer}.aui-check-tag .aui-tag__content{display:flex;-webkit-user-select:none;user-select:none}.aui-check-tag .aui-tag__checkbox{align-self:center}.aui-check-tag.aui-tag--info{color:rgb(var(--aui-color-n-1))}.aui-check-tag.aui-tag--medium{font-size:var(--aui-font-size-m)}.aui-check-tag.aui-tag--medium.isRound{border-radius:calc(var(--aui-inline-height-s) / 2)}aui-check-tag+aui-check-tag .aui-check-tag{margin-left:8px}\n", ".aui-tag{display:inline-flex;align-items:center;border-radius:var(--aui-border-radius-m);border:1px solid transparent;max-width:240px;vertical-align:middle;transition:background-color .3s ease}.aui-tag__content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-tag .aui-tag__close .aui-icon{margin-left:4px;border-radius:50%;cursor:pointer;transition:all .3s ease}.aui-tag--large{padding:0 var(--aui-inline-padding-m);height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal)}.aui-tag--large.isRound{border-radius:calc(var(--aui-inline-height-m) / 2)}.aui-tag--medium{padding:0 var(--aui-inline-padding-s);height:var(--aui-inline-height-s);font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s);font-weight:var(--aui-font-weight-normal)}.aui-tag--medium.isRound{border-radius:calc(var(--aui-inline-height-s) / 2)}.aui-tag--small{padding:0 var(--aui-inline-padding-xs);height:var(--aui-inline-height-xs);font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s);font-weight:var(--aui-font-weight-normal)}.aui-tag--small.isRound{border-radius:calc(var(--aui-inline-height-xs) / 2)}.aui-tag--mini{padding:0 var(--aui-inline-padding-xs);height:20px;font-size:var(--aui-font-size-s);line-height:var(--aui-line-height-s);font-weight:var(--aui-font-weight-normal)}.aui-tag--mini.isRound{border-radius:calc(var(--aui-inline-height-xs) / 2)}.aui-tag--primary{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tag--primary.hasBorder{border-color:rgb(var(--aui-color-p-2))}.aui-tag--primary.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-p-1))}.aui-tag--primary.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-p-0))}.aui-tag--primary.allowClick:hover{background-color:rgb(var(--aui-color-p-7));cursor:pointer}.aui-tag--primary.allowClick:active{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tag--primary .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-p-6));background-color:rgb(var(--aui-color-primary))}.aui-tag--success{color:rgb(var(--aui-color-green));background-color:rgb(var(--aui-color-g-6))}.aui-tag--success.hasBorder{border-color:rgb(var(--aui-color-g-2))}.aui-tag--success.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-g-1))}.aui-tag--success.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-g-0))}.aui-tag--success.allowClick:hover{background-color:rgb(var(--aui-color-g-7));cursor:pointer}.aui-tag--success.allowClick:active{color:rgb(var(--aui-color-green));background-color:rgb(var(--aui-color-g-6))}.aui-tag--success .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-g-6));background-color:rgb(var(--aui-color-green))}.aui-tag--warning{color:rgb(var(--aui-color-yellow));background-color:rgb(var(--aui-color-y-6))}.aui-tag--warning.hasBorder{border-color:rgb(var(--aui-color-y-2))}.aui-tag--warning.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-y-1))}.aui-tag--warning.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-y-0))}.aui-tag--warning.allowClick:hover{background-color:rgb(var(--aui-color-y-7));cursor:pointer}.aui-tag--warning.allowClick:active{color:rgb(var(--aui-color-yellow));background-color:rgb(var(--aui-color-y-6))}.aui-tag--warning .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-y-6));background-color:rgb(var(--aui-color-yellow))}.aui-tag--error{color:rgb(var(--aui-color-red));background-color:rgb(var(--aui-color-r-6))}.aui-tag--error.hasBorder{border-color:rgb(var(--aui-color-r-2))}.aui-tag--error.hasBorder.allowClick:hover{border-color:rgb(var(--aui-color-r-1))}.aui-tag--error.hasBorder.allowClick:active{border-color:rgb(var(--aui-color-r-0))}.aui-tag--error.allowClick:hover{background-color:rgb(var(--aui-color-r-7));cursor:pointer}.aui-tag--error.allowClick:active{color:rgb(var(--aui-color-red));background-color:rgb(var(--aui-color-r-6))}.aui-tag--error .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-r-6));background-color:rgb(var(--aui-color-red))}.aui-tag--info{color:rgb(var(--aui-color-n-2));background-color:rgb(var(--aui-color-n-8))}.aui-tag--info.hasBorder{border-color:rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-button-bg))}.aui-tag--info .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-n-9));background-color:rgb(var(--aui-color-n-4))}.aui-tag.isInvalid{text-decoration:line-through}.aui-tag.isSolid.aui-tag--primary{color:#fff;background-color:rgb(var(--aui-color-primary))}.aui-tag.isSolid.aui-tag--primary .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-primary));background-color:#fff}.aui-tag.isSolid.aui-tag--success{color:#fff;background-color:rgb(var(--aui-color-green))}.aui-tag.isSolid.aui-tag--success .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-green));background-color:#fff}.aui-tag.isSolid.aui-tag--warning{color:#fff;background-color:rgb(var(--aui-color-yellow))}.aui-tag.isSolid.aui-tag--warning .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-yellow));background-color:#fff}.aui-tag.isSolid.aui-tag--error{color:#fff;background-color:rgb(var(--aui-color-red))}.aui-tag.isSolid.aui-tag--error .aui-tag__close .aui-icon:hover{color:rgb(var(--aui-color-red));background-color:#fff}.aui-tag.allowClick a{color:inherit}.aui-tag.allowClick:hover{cursor:pointer}aui-tag+aui-tag .aui-tag--large,aui-tag+aui-tag .aui-tag--medium,aui-tag+aui-tag .aui-tag--small{margin-left:var(--aui-spacing-m)}aui-tag+aui-tag .aui-tag--mini{margin-left:6px}\n"] }]
24
- }], propDecorators: { checked: [{
25
- type: Input
26
- }], size: [{
27
- type: Input
28
- }], round: [{
29
- type: Input
30
- }], checkedChange: [{
31
- type: Output
32
- }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90YWcvY2hlY2stdGFnL2NoZWNrLXRhZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvdGFnL2NoZWNrLXRhZy9jaGVjay10YWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQU8sUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFXdkMsTUFBTSxPQUFPLGlCQUFpQjtJQVQ5QjtRQVVFLFFBQUcsR0FBUSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0IsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUdoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBR2hCLFNBQUksR0FBa0IsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUczQyxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBR2Isa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0tBUTdDO0lBTkMsSUFBSSxTQUFTO1FBQ1gsT0FBTyxpQkFBaUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQ3BDLElBQUksQ0FBQyxJQUFJLEVBQ1QsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM5RCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDckMsQ0FBQzs4R0FyQlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsb0xDdEI5QixtUUFTQTs7MkZEYWEsaUJBQWlCO2tCQVQ3QixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxjQUNkLElBQUk7OEJBT2hCLE9BQU87c0JBRE4sS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLGFBQWE7c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb21wb25lbnRTaXplIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWwvdHlwZXMnO1xuaW1wb3J0IHsgQmVtLCBidWlsZEJlbSB9IGZyb20gJy4uLy4uL2ludGVybmFsL3V0aWxzJztcbmltcG9ydCB7IFRhZ1R5cGUgfSBmcm9tICcuLi90YWcudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktY2hlY2stdGFnJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrLXRhZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrLXRhZy5jb21wb25lbnQuc2NzcycsICcuLi90YWcuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDaGVja1RhZ0NvbXBvbmVudCB7XG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS10YWcnKTtcbiAgaG92ZXJlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGNoZWNrZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzaXplOiBDb21wb25lbnRTaXplID0gQ29tcG9uZW50U2l6ZS5NZWRpdW07XG5cbiAgQElucHV0KClcbiAgcm91bmQgPSB0cnVlO1xuXG4gIEBPdXRwdXQoKVxuICBjaGVja2VkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGdldCByb290Q2xhc3MoKSB7XG4gICAgcmV0dXJuIGBhdWktY2hlY2stdGFnICR7dGhpcy5iZW0uYmxvY2soXG4gICAgICB0aGlzLnNpemUsXG4gICAgICB0aGlzLmNoZWNrZWQgfHwgdGhpcy5ob3ZlcmVkID8gVGFnVHlwZS5QcmltYXJ5IDogVGFnVHlwZS5JbmZvLFxuICAgICl9ICR7dGhpcy5yb3VuZCA/ICdpc1JvdW5kJyA6ICcnfWA7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW2NsYXNzXT1cInJvb3RDbGFzc1wiXG4gIChjbGljayk9XCJjaGVja2VkQ2hhbmdlLmVtaXQoIWNoZWNrZWQpXCJcbiAgKG1vdXNlZW50ZXIpPVwiaG92ZXJlZCA9IHRydWVcIlxuICAobW91c2VsZWF2ZSk9XCJob3ZlcmVkID0gZmFsc2VcIlxuICBbY2xhc3MuaXNTb2xpZF09XCJjaGVja2VkXCJcbj5cbiAgPHNwYW4gY2xhc3M9XCJhdWktdGFnX19jb250ZW50XCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cbjwvZGl2PlxuIl19