@alauda/ui 6.5.9-beta.22 → 6.5.9-beta.24

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 (469) hide show
  1. package/accordion/accordion-item/accordion-item.component.d.ts +1 -1
  2. package/accordion/accordion.component.d.ts +1 -1
  3. package/anchor/anchor.component.d.ts +2 -2
  4. package/anchor/anchor.directive.d.ts +2 -2
  5. package/autocomplete/autocomplete.directive.d.ts +2 -2
  6. package/autocomplete/suggestion/suggestion.component.d.ts +1 -1
  7. package/back-top/back-top.component.d.ts +1 -1
  8. package/breadcrumb/breadcrumb.component.d.ts +1 -1
  9. package/button/button.component.d.ts +1 -1
  10. package/card/card.component.d.ts +1 -1
  11. package/card/helper-directives.d.ts +1 -1
  12. package/checkbox/checkbox-group/checkbox-group.component.d.ts +1 -1
  13. package/checkbox/checkbox.component.d.ts +1 -1
  14. package/date-picker/calendar/date-picker-panel/component.d.ts +1 -1
  15. package/date-picker/calendar/footer/component.d.ts +1 -1
  16. package/date-picker/calendar/header/component.d.ts +1 -1
  17. package/date-picker/calendar/panel/picker-panel.d.ts +1 -1
  18. package/date-picker/calendar/range-picker-panel/component.d.ts +1 -1
  19. package/date-picker/date-picker/date-picker.component.d.ts +1 -1
  20. package/date-picker/range-picker/range-picker.component.d.ts +1 -1
  21. package/date-picker/trigger/trigger.component.d.ts +1 -1
  22. package/dialog/dialog-content/dialog-close.directive.d.ts +1 -1
  23. package/dialog/dialog-content/dialog-header.component.d.ts +1 -1
  24. package/dialog/dialog.component.d.ts +0 -6
  25. package/dialog/dialog.service.d.ts +0 -2
  26. package/drawer/component/drawer.component.d.ts +1 -1
  27. package/dropdown/dropdown-active.directive.d.ts +1 -1
  28. package/dropdown/dropdown-button/dropdown-button.component.d.ts +1 -1
  29. package/dropdown/dropdown.directive.d.ts +1 -1
  30. package/dropdown/menu/menu.component.d.ts +1 -1
  31. package/dropdown/menu-item/menu-item.component.d.ts +1 -1
  32. package/dropdown/submenu/submenu.component.d.ts +1 -1
  33. package/esm2022/accordion/accordion-item/accordion-item.component.mjs +73 -0
  34. package/esm2022/accordion/accordion.component.mjs +29 -0
  35. package/{esm2020 → esm2022}/accordion/accordion.module.mjs +11 -11
  36. package/esm2022/anchor/anchor.component.mjs +141 -0
  37. package/esm2022/anchor/anchor.directive.mjs +198 -0
  38. package/{esm2020 → esm2022}/anchor/anchor.module.mjs +11 -11
  39. package/{esm2020 → esm2022}/autocomplete/autocomplete-placeholder.component.mjs +4 -4
  40. package/esm2022/autocomplete/autocomplete.component.mjs +72 -0
  41. package/esm2022/autocomplete/autocomplete.directive.mjs +278 -0
  42. package/{esm2020 → esm2022}/autocomplete/autocomplete.module.mjs +17 -17
  43. package/{esm2020 → esm2022}/autocomplete/helper-directives.mjs +4 -4
  44. package/esm2022/autocomplete/suggestion/suggestion.component.mjs +85 -0
  45. package/esm2022/autocomplete/suggestion-group/suggestion-group.component.mjs +25 -0
  46. package/esm2022/back-top/back-top.component.mjs +68 -0
  47. package/{esm2020 → esm2022}/back-top/back-top.module.mjs +5 -5
  48. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +33 -0
  49. package/esm2022/breadcrumb/breadcrumb.component.mjs +56 -0
  50. package/{esm2020 → esm2022}/breadcrumb/breadcrumb.module.mjs +5 -5
  51. package/{esm2020 → esm2022}/button/button-group/button-group.component.mjs +4 -4
  52. package/esm2022/button/button.component.mjs +124 -0
  53. package/{esm2020 → esm2022}/button/button.module.mjs +5 -5
  54. package/esm2022/card/card.component.mjs +14 -0
  55. package/{esm2020 → esm2022}/card/card.module.mjs +13 -13
  56. package/esm2022/card/helper-directives.mjs +45 -0
  57. package/{esm2020 → esm2022}/card/section.component.mjs +4 -4
  58. package/esm2022/checkbox/checkbox-group/checkbox-group.component.mjs +60 -0
  59. package/esm2022/checkbox/checkbox.component.mjs +116 -0
  60. package/{esm2020 → esm2022}/checkbox/checkbox.module.mjs +5 -5
  61. package/esm2022/color-picker/color-picker.component.mjs +28 -0
  62. package/{esm2020 → esm2022}/color-picker/color-picker.module.mjs +5 -5
  63. package/esm2022/date-picker/calendar/date-picker-panel/component.mjs +137 -0
  64. package/esm2022/date-picker/calendar/footer/component.mjs +29 -0
  65. package/esm2022/date-picker/calendar/header/component.mjs +99 -0
  66. package/esm2022/date-picker/calendar/panel/picker-panel.mjs +158 -0
  67. package/esm2022/date-picker/calendar/range-picker-panel/component.mjs +210 -0
  68. package/esm2022/date-picker/calendar/util.mjs +152 -0
  69. package/esm2022/date-picker/date-picker/date-picker.component.mjs +115 -0
  70. package/{esm2020 → esm2022}/date-picker/date-picker.module.mjs +35 -35
  71. package/esm2022/date-picker/range-picker/range-picker.component.mjs +88 -0
  72. package/esm2022/date-picker/trigger/trigger.component.mjs +76 -0
  73. package/esm2022/dialog/confirm-dialog/confirm-dialog-config.mjs +13 -0
  74. package/esm2022/dialog/confirm-dialog/confirm-dialog.component.mjs +88 -0
  75. package/esm2022/dialog/dialog-config.mjs +14 -0
  76. package/esm2022/dialog/dialog-content/dialog-close.directive.mjs +42 -0
  77. package/{esm2020 → esm2022}/dialog/dialog-content/dialog-content.component.mjs +5 -5
  78. package/esm2022/dialog/dialog-content/dialog-footer.component.mjs +13 -0
  79. package/esm2022/dialog/dialog-content/dialog-header.component.mjs +42 -0
  80. package/esm2022/dialog/dialog-ref.mjs +52 -0
  81. package/esm2022/dialog/dialog.component.mjs +154 -0
  82. package/{esm2020 → esm2022}/dialog/dialog.module.mjs +22 -22
  83. package/esm2022/dialog/dialog.service.mjs +124 -0
  84. package/esm2022/drawer/component/drawer.component.mjs +248 -0
  85. package/{esm2020 → esm2022}/drawer/component/helper-directives.mjs +10 -10
  86. package/{esm2020 → esm2022}/drawer/drawer.module.mjs +11 -11
  87. package/esm2022/drawer/drawer.service.mjs +47 -0
  88. package/esm2022/dropdown/dropdown-active.directive.mjs +18 -0
  89. package/esm2022/dropdown/dropdown-button/dropdown-button.component.mjs +50 -0
  90. package/esm2022/dropdown/dropdown.directive.mjs +83 -0
  91. package/{esm2020 → esm2022}/dropdown/dropdown.module.mjs +21 -21
  92. package/{esm2020 → esm2022}/dropdown/helper-directives.mjs +4 -4
  93. package/esm2022/dropdown/menu/menu-content.directive.mjs +59 -0
  94. package/esm2022/dropdown/menu/menu.component.mjs +34 -0
  95. package/{esm2020 → esm2022}/dropdown/menu-group/menu-group.component.mjs +4 -4
  96. package/esm2022/dropdown/menu-item/menu-item.component.mjs +35 -0
  97. package/esm2022/dropdown/submenu/submenu.component.mjs +38 -0
  98. package/esm2022/form/common-form.mjs +88 -0
  99. package/esm2022/form/form-item/form-item.component.mjs +121 -0
  100. package/esm2022/form/form.directive.mjs +70 -0
  101. package/{esm2020 → esm2022}/form/form.module.mjs +17 -17
  102. package/esm2022/form/helper-directives.mjs +78 -0
  103. package/{esm2020 → esm2022}/i18n/i18n.module.mjs +5 -5
  104. package/esm2022/i18n/i18n.pipe.mjs +21 -0
  105. package/esm2022/i18n/i18n.service.mjs +46 -0
  106. package/esm2022/icon/icon-register.service.mjs +75 -0
  107. package/esm2022/icon/icon.component.mjs +74 -0
  108. package/{esm2020 → esm2022}/icon/icon.module.mjs +5 -5
  109. package/{esm2020 → esm2022}/inline-alert/helper-directives.mjs +4 -4
  110. package/esm2022/inline-alert/inline-alert.component.mjs +54 -0
  111. package/{esm2020 → esm2022}/inline-alert/inline-alert.module.mjs +5 -5
  112. package/esm2022/input/autosize.directive.mjs +56 -0
  113. package/esm2022/input/helper-directives.mjs +43 -0
  114. package/esm2022/input/input-group/input-group.component.mjs +46 -0
  115. package/esm2022/input/input.component.mjs +59 -0
  116. package/{esm2020 → esm2022}/input/input.module.mjs +33 -33
  117. package/esm2022/input/number-input/number-input.component.mjs +115 -0
  118. package/esm2022/input/search/search.component.mjs +87 -0
  119. package/esm2022/input/tags-input/tags-input.component.mjs +264 -0
  120. package/esm2022/message/base-message.mjs +99 -0
  121. package/esm2022/message/message-wrapper.component.mjs +15 -0
  122. package/esm2022/message/message.component.mjs +77 -0
  123. package/esm2022/message/message.config.mjs +20 -0
  124. package/{esm2020 → esm2022}/message/message.module.mjs +5 -5
  125. package/{esm2020 → esm2022}/message/message.service.mjs +4 -4
  126. package/esm2022/notification/notification-wrapper.component.mjs +17 -0
  127. package/esm2022/notification/notification.component.mjs +106 -0
  128. package/{esm2020 → esm2022}/notification/notification.module.mjs +5 -5
  129. package/{esm2020 → esm2022}/notification/notification.service.mjs +4 -4
  130. package/esm2022/paginator/paginator-intl.mjs +24 -0
  131. package/esm2022/paginator/paginator.component.mjs +124 -0
  132. package/{esm2020 → esm2022}/paginator/paginator.module.mjs +5 -5
  133. package/esm2022/radio/base-radio.mjs +72 -0
  134. package/esm2022/radio/radio-button/radio-button.component.mjs +41 -0
  135. package/esm2022/radio/radio-group/radio-group.component.mjs +70 -0
  136. package/{esm2020 → esm2022}/radio/radio.component.mjs +5 -5
  137. package/{esm2020 → esm2022}/radio/radio.module.mjs +5 -5
  138. package/{esm2020 → esm2022}/scrolling/fixed-size-table-virtual-scroll-strategy.mjs +13 -14
  139. package/esm2022/scrolling/fixed-size-table-virtual-scroll.directive.mjs +119 -0
  140. package/esm2022/scrolling/fixed-size-virtual-scroll.directive.mjs +27 -0
  141. package/{esm2020 → esm2022}/scrolling/scrolling.module.mjs +9 -9
  142. package/{esm2020 → esm2022}/scrolling/virtual-for-of.directive.mjs +4 -4
  143. package/esm2022/scrolling/virtual-scroll-viewport.component.mjs +26 -0
  144. package/esm2022/select/base-select.mjs +345 -0
  145. package/{esm2020 → esm2022}/select/helper-directives.mjs +7 -7
  146. package/esm2022/select/multi-select/multi-select.component.mjs +318 -0
  147. package/esm2022/select/option/option.component.mjs +119 -0
  148. package/esm2022/select/option-group/option-group.component.mjs +25 -0
  149. package/{esm2020 → esm2022}/select/option-placeholder.component.mjs +4 -4
  150. package/esm2022/select/select.component.mjs +107 -0
  151. package/{esm2020 → esm2022}/select/select.module.mjs +29 -29
  152. package/esm2022/select/validators.mjs +78 -0
  153. package/esm2022/shared/click-outside.directive.mjs +29 -0
  154. package/{esm2020 → esm2022}/shared/shared.module.mjs +5 -5
  155. package/esm2022/sort/sort-header.component.mjs +74 -0
  156. package/esm2022/sort/sort.directive.mjs +73 -0
  157. package/{esm2020 → esm2022}/sort/sort.module.mjs +5 -5
  158. package/esm2022/status-bar/status-bar.component.mjs +28 -0
  159. package/{esm2020 → esm2022}/status-bar/status-bar.module.mjs +5 -5
  160. package/esm2022/steps/steps.component.mjs +180 -0
  161. package/{esm2020 → esm2022}/steps/steps.module.mjs +5 -5
  162. package/esm2022/switch/switch.component.mjs +43 -0
  163. package/{esm2020 → esm2022}/switch/switch.module.mjs +5 -5
  164. package/esm2022/table/table-cell-def.directive.mjs +25 -0
  165. package/esm2022/table/table-cell.component.mjs +115 -0
  166. package/{esm2020 → esm2022}/table/table-cell.directive.mjs +5 -5
  167. package/esm2022/table/table-column-def.directive.mjs +31 -0
  168. package/esm2022/table/table-header-cell-def.directive.mjs +25 -0
  169. package/{esm2020 → esm2022}/table/table-header-cell.directive.mjs +4 -4
  170. package/esm2022/table/table-header-row-def.directive.mjs +33 -0
  171. package/{esm2020 → esm2022}/table/table-header-row.component.mjs +4 -4
  172. package/esm2022/table/table-placeholder.directive.mjs +33 -0
  173. package/esm2022/table/table-row-def.directive.mjs +34 -0
  174. package/esm2022/table/table-row.component.mjs +43 -0
  175. package/esm2022/table/table-scroll.directive.mjs +133 -0
  176. package/esm2022/table/table.component.mjs +79 -0
  177. package/{esm2020 → esm2022}/table/table.module.mjs +35 -35
  178. package/{esm2020 → esm2022}/table-of-contents/table-of-contents.module.mjs +5 -5
  179. package/esm2022/table-of-contents/toc-container.directive.mjs +111 -0
  180. package/esm2022/table-of-contents/toc-content.directive.mjs +39 -0
  181. package/esm2022/table-of-contents/toc-link.directive.mjs +48 -0
  182. package/esm2022/tabs/tab-body.component.mjs +151 -0
  183. package/esm2022/tabs/tab-context.service.mjs +30 -0
  184. package/esm2022/tabs/tab-group.component.mjs +256 -0
  185. package/esm2022/tabs/tab-header-active-indicator.component.mjs +46 -0
  186. package/esm2022/tabs/tab-header.component.mjs +276 -0
  187. package/esm2022/tabs/tab.component.mjs +77 -0
  188. package/{esm2020 → esm2022}/tabs/tabs.module.mjs +34 -34
  189. package/esm2022/tag/check-tag/check-tag.component.mjs +31 -0
  190. package/esm2022/tag/tag.component.mjs +63 -0
  191. package/{esm2020 → esm2022}/tag/tag.module.mjs +5 -5
  192. package/{esm2020 → esm2022}/theme/theme.module.mjs +5 -5
  193. package/esm2022/theme/theme.pipe.mjs +64 -0
  194. package/esm2022/theme/theme.service.mjs +55 -0
  195. package/esm2022/time-picker/component.mjs +181 -0
  196. package/esm2022/time-picker/panel/panel.component.mjs +240 -0
  197. package/{esm2020 → esm2022}/time-picker/time-picker.module.mjs +23 -23
  198. package/esm2022/tooltip/base-tooltip.mjs +329 -0
  199. package/esm2022/tooltip/tooltip-active.directive.mjs +51 -0
  200. package/esm2022/tooltip/tooltip-copy.directive.mjs +87 -0
  201. package/esm2022/tooltip/tooltip-intl.mjs +21 -0
  202. package/esm2022/tooltip/tooltip.component.mjs +120 -0
  203. package/esm2022/tooltip/tooltip.directive.mjs +44 -0
  204. package/{esm2020 → esm2022}/tooltip/tooltip.module.mjs +8 -8
  205. package/{esm2020 → esm2022}/tree-select/tree-node-placeholder.component.mjs +4 -4
  206. package/esm2022/tree-select/tree-select.component.mjs +350 -0
  207. package/{esm2020 → esm2022}/tree-select/tree-select.module.mjs +9 -9
  208. package/esm2022/utils/bem.mjs +44 -0
  209. package/{fesm2020 → fesm2022}/alauda-ui.mjs +2204 -1887
  210. package/fesm2022/alauda-ui.mjs.map +1 -0
  211. package/form/common-form.d.ts +1 -1
  212. package/form/form-item/form-item.component.d.ts +1 -1
  213. package/form/form.directive.d.ts +1 -1
  214. package/form/helper-directives.d.ts +1 -1
  215. package/icon/icon.component.d.ts +1 -1
  216. package/inline-alert/inline-alert.component.d.ts +1 -1
  217. package/input/autosize.directive.d.ts +1 -1
  218. package/input/input.component.d.ts +1 -1
  219. package/input/number-input/number-input.component.d.ts +1 -1
  220. package/input/search/search.component.d.ts +1 -1
  221. package/input/tags-input/tags-input.component.d.ts +1 -1
  222. package/package.json +11 -17
  223. package/paginator/paginator.component.d.ts +1 -1
  224. package/radio/base-radio.d.ts +1 -1
  225. package/radio/radio-group/radio-group.component.d.ts +1 -1
  226. package/scrolling/fixed-size-table-virtual-scroll.directive.d.ts +1 -1
  227. package/scrolling/virtual-for-of.directive.d.ts +1 -1
  228. package/select/base-select.d.ts +1 -1
  229. package/select/multi-select/multi-select.component.d.ts +1 -1
  230. package/select/option/option.component.d.ts +1 -1
  231. package/select/validators.d.ts +1 -1
  232. package/sort/sort-header.component.d.ts +1 -1
  233. package/sort/sort.directive.d.ts +1 -1
  234. package/status-bar/status-bar.component.d.ts +1 -1
  235. package/steps/steps.component.d.ts +1 -1
  236. package/switch/switch.component.d.ts +1 -1
  237. package/table/table-cell.component.d.ts +2 -2
  238. package/table/table-cell.directive.d.ts +1 -1
  239. package/table/table-column-def.directive.d.ts +1 -1
  240. package/table/table-header-row-def.directive.d.ts +1 -1
  241. package/table/table-row-def.directive.d.ts +1 -1
  242. package/table/table-row.component.d.ts +1 -1
  243. package/table/table-scroll.directive.d.ts +2 -2
  244. package/table/table.component.d.ts +1 -1
  245. package/table-of-contents/toc-content.directive.d.ts +1 -1
  246. package/table-of-contents/toc-link.directive.d.ts +1 -1
  247. package/tabs/tab-body.component.d.ts +2 -2
  248. package/tabs/tab-group.component.d.ts +1 -1
  249. package/tabs/tab-header-active-indicator.component.d.ts +1 -1
  250. package/tabs/tab-header.component.d.ts +1 -1
  251. package/tabs/tab.component.d.ts +1 -1
  252. package/tag/check-tag/check-tag.component.d.ts +1 -1
  253. package/tag/tag.component.d.ts +1 -1
  254. package/theme/_var.scss +1 -1
  255. package/time-picker/component.d.ts +1 -1
  256. package/time-picker/panel/panel.component.d.ts +1 -1
  257. package/tooltip/tooltip-active.directive.d.ts +1 -1
  258. package/tooltip/tooltip-copy.directive.d.ts +1 -1
  259. package/tooltip/tooltip.directive.d.ts +1 -1
  260. package/tree-select/tree-select.component.d.ts +2 -2
  261. package/esm2020/accordion/accordion-item/accordion-item.component.mjs +0 -71
  262. package/esm2020/accordion/accordion.component.mjs +0 -27
  263. package/esm2020/anchor/anchor.component.mjs +0 -137
  264. package/esm2020/anchor/anchor.directive.mjs +0 -182
  265. package/esm2020/autocomplete/autocomplete.component.mjs +0 -64
  266. package/esm2020/autocomplete/autocomplete.directive.mjs +0 -277
  267. package/esm2020/autocomplete/suggestion/suggestion.component.mjs +0 -79
  268. package/esm2020/autocomplete/suggestion-group/suggestion-group.component.mjs +0 -23
  269. package/esm2020/back-top/back-top.component.mjs +0 -65
  270. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +0 -32
  271. package/esm2020/breadcrumb/breadcrumb.component.mjs +0 -57
  272. package/esm2020/button/button.component.mjs +0 -121
  273. package/esm2020/card/card.component.mjs +0 -16
  274. package/esm2020/card/helper-directives.mjs +0 -48
  275. package/esm2020/checkbox/checkbox-group/checkbox-group.component.mjs +0 -61
  276. package/esm2020/checkbox/checkbox.component.mjs +0 -112
  277. package/esm2020/color-picker/color-picker.component.mjs +0 -28
  278. package/esm2020/date-picker/calendar/date-picker-panel/component.mjs +0 -128
  279. package/esm2020/date-picker/calendar/footer/component.mjs +0 -29
  280. package/esm2020/date-picker/calendar/header/component.mjs +0 -99
  281. package/esm2020/date-picker/calendar/panel/picker-panel.mjs +0 -151
  282. package/esm2020/date-picker/calendar/range-picker-panel/component.mjs +0 -207
  283. package/esm2020/date-picker/calendar/util.mjs +0 -145
  284. package/esm2020/date-picker/date-picker/date-picker.component.mjs +0 -110
  285. package/esm2020/date-picker/range-picker/range-picker.component.mjs +0 -86
  286. package/esm2020/date-picker/trigger/trigger.component.mjs +0 -69
  287. package/esm2020/dialog/confirm-dialog/confirm-dialog-config.mjs +0 -12
  288. package/esm2020/dialog/confirm-dialog/confirm-dialog.component.mjs +0 -85
  289. package/esm2020/dialog/dialog-config.mjs +0 -15
  290. package/esm2020/dialog/dialog-content/dialog-close.directive.mjs +0 -38
  291. package/esm2020/dialog/dialog-content/dialog-footer.component.mjs +0 -15
  292. package/esm2020/dialog/dialog-content/dialog-header.component.mjs +0 -39
  293. package/esm2020/dialog/dialog-ref.mjs +0 -48
  294. package/esm2020/dialog/dialog.component.mjs +0 -155
  295. package/esm2020/dialog/dialog.service.mjs +0 -134
  296. package/esm2020/drawer/component/drawer.component.mjs +0 -229
  297. package/esm2020/drawer/drawer.service.mjs +0 -44
  298. package/esm2020/dropdown/dropdown-active.directive.mjs +0 -21
  299. package/esm2020/dropdown/dropdown-button/dropdown-button.component.mjs +0 -51
  300. package/esm2020/dropdown/dropdown.directive.mjs +0 -81
  301. package/esm2020/dropdown/menu/menu-content.directive.mjs +0 -51
  302. package/esm2020/dropdown/menu/menu.component.mjs +0 -33
  303. package/esm2020/dropdown/menu-item/menu-item.component.mjs +0 -37
  304. package/esm2020/dropdown/submenu/submenu.component.mjs +0 -40
  305. package/esm2020/form/common-form.mjs +0 -84
  306. package/esm2020/form/form-item/form-item.component.mjs +0 -108
  307. package/esm2020/form/form.directive.mjs +0 -69
  308. package/esm2020/form/helper-directives.mjs +0 -80
  309. package/esm2020/i18n/i18n.pipe.mjs +0 -20
  310. package/esm2020/i18n/i18n.service.mjs +0 -43
  311. package/esm2020/icon/icon-register.service.mjs +0 -73
  312. package/esm2020/icon/icon.component.mjs +0 -65
  313. package/esm2020/inline-alert/inline-alert.component.mjs +0 -53
  314. package/esm2020/input/autosize.directive.mjs +0 -54
  315. package/esm2020/input/helper-directives.mjs +0 -43
  316. package/esm2020/input/input-group/input-group.component.mjs +0 -39
  317. package/esm2020/input/input.component.mjs +0 -57
  318. package/esm2020/input/number-input/number-input.component.mjs +0 -112
  319. package/esm2020/input/search/search.component.mjs +0 -88
  320. package/esm2020/input/tags-input/tags-input.component.mjs +0 -255
  321. package/esm2020/message/base-message.mjs +0 -90
  322. package/esm2020/message/message-wrapper.component.mjs +0 -14
  323. package/esm2020/message/message.component.mjs +0 -70
  324. package/esm2020/message/message.config.mjs +0 -16
  325. package/esm2020/notification/notification-wrapper.component.mjs +0 -16
  326. package/esm2020/notification/notification.component.mjs +0 -103
  327. package/esm2020/paginator/paginator-intl.mjs +0 -26
  328. package/esm2020/paginator/paginator.component.mjs +0 -117
  329. package/esm2020/radio/base-radio.mjs +0 -67
  330. package/esm2020/radio/radio-button/radio-button.component.mjs +0 -41
  331. package/esm2020/radio/radio-group/radio-group.component.mjs +0 -73
  332. package/esm2020/scrolling/fixed-size-table-virtual-scroll.directive.mjs +0 -119
  333. package/esm2020/scrolling/fixed-size-virtual-scroll.directive.mjs +0 -27
  334. package/esm2020/scrolling/virtual-scroll-viewport.component.mjs +0 -26
  335. package/esm2020/select/base-select.mjs +0 -334
  336. package/esm2020/select/multi-select/multi-select.component.mjs +0 -310
  337. package/esm2020/select/option/option.component.mjs +0 -112
  338. package/esm2020/select/option-group/option-group.component.mjs +0 -23
  339. package/esm2020/select/select.component.mjs +0 -107
  340. package/esm2020/select/validators.mjs +0 -75
  341. package/esm2020/shared/click-outside.directive.mjs +0 -28
  342. package/esm2020/sort/sort-header.component.mjs +0 -68
  343. package/esm2020/sort/sort.directive.mjs +0 -74
  344. package/esm2020/status-bar/status-bar.component.mjs +0 -29
  345. package/esm2020/steps/steps.component.mjs +0 -180
  346. package/esm2020/switch/switch.component.mjs +0 -46
  347. package/esm2020/table/table-cell-def.directive.mjs +0 -25
  348. package/esm2020/table/table-cell.component.mjs +0 -121
  349. package/esm2020/table/table-column-def.directive.mjs +0 -31
  350. package/esm2020/table/table-header-cell-def.directive.mjs +0 -25
  351. package/esm2020/table/table-header-row-def.directive.mjs +0 -35
  352. package/esm2020/table/table-placeholder.directive.mjs +0 -30
  353. package/esm2020/table/table-row-def.directive.mjs +0 -37
  354. package/esm2020/table/table-row.component.mjs +0 -42
  355. package/esm2020/table/table-scroll.directive.mjs +0 -133
  356. package/esm2020/table/table.component.mjs +0 -76
  357. package/esm2020/table-of-contents/toc-container.directive.mjs +0 -109
  358. package/esm2020/table-of-contents/toc-content.directive.mjs +0 -35
  359. package/esm2020/table-of-contents/toc-link.directive.mjs +0 -44
  360. package/esm2020/tabs/tab-body.component.mjs +0 -147
  361. package/esm2020/tabs/tab-context.service.mjs +0 -28
  362. package/esm2020/tabs/tab-group.component.mjs +0 -246
  363. package/esm2020/tabs/tab-header-active-indicator.component.mjs +0 -44
  364. package/esm2020/tabs/tab-header.component.mjs +0 -264
  365. package/esm2020/tabs/tab.component.mjs +0 -71
  366. package/esm2020/tag/check-tag/check-tag.component.mjs +0 -33
  367. package/esm2020/tag/tag.component.mjs +0 -65
  368. package/esm2020/theme/theme.pipe.mjs +0 -69
  369. package/esm2020/theme/theme.service.mjs +0 -52
  370. package/esm2020/time-picker/component.mjs +0 -179
  371. package/esm2020/time-picker/panel/panel.component.mjs +0 -228
  372. package/esm2020/tooltip/base-tooltip.mjs +0 -318
  373. package/esm2020/tooltip/tooltip-active.directive.mjs +0 -49
  374. package/esm2020/tooltip/tooltip-copy.directive.mjs +0 -82
  375. package/esm2020/tooltip/tooltip-intl.mjs +0 -23
  376. package/esm2020/tooltip/tooltip.component.mjs +0 -107
  377. package/esm2020/tooltip/tooltip.directive.mjs +0 -47
  378. package/esm2020/tree-select/tree-select.component.mjs +0 -339
  379. package/esm2020/utils/bem.mjs +0 -43
  380. package/fesm2015/alauda-ui.mjs +0 -11686
  381. package/fesm2015/alauda-ui.mjs.map +0 -1
  382. package/fesm2020/alauda-ui.mjs.map +0 -1
  383. /package/{esm2020 → esm2022}/accordion/index.mjs +0 -0
  384. /package/{esm2020 → esm2022}/alauda-ui.mjs +0 -0
  385. /package/{esm2020 → esm2022}/anchor/index.mjs +0 -0
  386. /package/{esm2020 → esm2022}/anchor/types.mjs +0 -0
  387. /package/{esm2020 → esm2022}/anchor/utils.mjs +0 -0
  388. /package/{esm2020 → esm2022}/autocomplete/autocomplete.types.mjs +0 -0
  389. /package/{esm2020 → esm2022}/autocomplete/index.mjs +0 -0
  390. /package/{esm2020 → esm2022}/back-top/index.mjs +0 -0
  391. /package/{esm2020 → esm2022}/breadcrumb/index.mjs +0 -0
  392. /package/{esm2020 → esm2022}/button/button.types.mjs +0 -0
  393. /package/{esm2020 → esm2022}/button/index.mjs +0 -0
  394. /package/{esm2020 → esm2022}/card/index.mjs +0 -0
  395. /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
  396. /package/{esm2020 → esm2022}/color-picker/index.mjs +0 -0
  397. /package/{esm2020 → esm2022}/core/animation/animation-consts.mjs +0 -0
  398. /package/{esm2020 → esm2022}/date-picker/calendar/constant.mjs +0 -0
  399. /package/{esm2020 → esm2022}/date-picker/date-picker.type.mjs +0 -0
  400. /package/{esm2020 → esm2022}/date-picker/index.mjs +0 -0
  401. /package/{esm2020 → esm2022}/dialog/dialog-animations.mjs +0 -0
  402. /package/{esm2020 → esm2022}/dialog/dialog.types.mjs +0 -0
  403. /package/{esm2020 → esm2022}/dialog/index.mjs +0 -0
  404. /package/{esm2020 → esm2022}/dialog/utils/errors.mjs +0 -0
  405. /package/{esm2020 → esm2022}/dialog/utils/index.mjs +0 -0
  406. /package/{esm2020 → esm2022}/drawer/component/drawer-ref.mjs +0 -0
  407. /package/{esm2020 → esm2022}/drawer/index.mjs +0 -0
  408. /package/{esm2020 → esm2022}/dropdown/dropdown.types.mjs +0 -0
  409. /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
  410. /package/{esm2020 → esm2022}/form/form.types.mjs +0 -0
  411. /package/{esm2020 → esm2022}/form/index.mjs +0 -0
  412. /package/{esm2020 → esm2022}/i18n/i18n.type.mjs +0 -0
  413. /package/{esm2020 → esm2022}/i18n/index.mjs +0 -0
  414. /package/{esm2020 → esm2022}/i18n/language/en.mjs +0 -0
  415. /package/{esm2020 → esm2022}/i18n/language/zh.mjs +0 -0
  416. /package/{esm2020 → esm2022}/icon/icons.mjs +0 -0
  417. /package/{esm2020 → esm2022}/icon/index.mjs +0 -0
  418. /package/{esm2020 → esm2022}/icon/utils.mjs +0 -0
  419. /package/{esm2020 → esm2022}/index.mjs +0 -0
  420. /package/{esm2020 → esm2022}/inline-alert/index.mjs +0 -0
  421. /package/{esm2020 → esm2022}/inline-alert/inline-alert.types.mjs +0 -0
  422. /package/{esm2020 → esm2022}/input/index.mjs +0 -0
  423. /package/{esm2020 → esm2022}/input/tags-input/with-max-row-count.mjs +0 -0
  424. /package/{esm2020 → esm2022}/input/utils/index.mjs +0 -0
  425. /package/{esm2020 → esm2022}/message/index.mjs +0 -0
  426. /package/{esm2020 → esm2022}/message/message-animations.mjs +0 -0
  427. /package/{esm2020 → esm2022}/notification/index.mjs +0 -0
  428. /package/{esm2020 → esm2022}/notification/notification.config.mjs +0 -0
  429. /package/{esm2020 → esm2022}/paginator/index.mjs +0 -0
  430. /package/{esm2020 → esm2022}/radio/index.mjs +0 -0
  431. /package/{esm2020 → esm2022}/radio/radio.types.mjs +0 -0
  432. /package/{esm2020 → esm2022}/scrolling/index.mjs +0 -0
  433. /package/{esm2020 → esm2022}/select/index.mjs +0 -0
  434. /package/{esm2020 → esm2022}/select/select.types.mjs +0 -0
  435. /package/{esm2020 → esm2022}/sort/index.mjs +0 -0
  436. /package/{esm2020 → esm2022}/sort/sort-errors.mjs +0 -0
  437. /package/{esm2020 → esm2022}/sort/sort.types.mjs +0 -0
  438. /package/{esm2020 → esm2022}/status-bar/index.mjs +0 -0
  439. /package/{esm2020 → esm2022}/status-bar/status-bar.types.mjs +0 -0
  440. /package/{esm2020 → esm2022}/steps/index.mjs +0 -0
  441. /package/{esm2020 → esm2022}/steps/types.mjs +0 -0
  442. /package/{esm2020 → esm2022}/switch/index.mjs +0 -0
  443. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  444. /package/{esm2020 → esm2022}/table-of-contents/index.mjs +0 -0
  445. /package/{esm2020 → esm2022}/tabs/index.mjs +0 -0
  446. /package/{esm2020 → esm2022}/tabs/tabs.types.mjs +0 -0
  447. /package/{esm2020 → esm2022}/tag/index.mjs +0 -0
  448. /package/{esm2020 → esm2022}/tag/tag.types.mjs +0 -0
  449. /package/{esm2020 → esm2022}/theme/index.mjs +0 -0
  450. /package/{esm2020 → esm2022}/theme/theme.types.mjs +0 -0
  451. /package/{esm2020 → esm2022}/theme/utils.mjs +0 -0
  452. /package/{esm2020 → esm2022}/time-picker/constant.mjs +0 -0
  453. /package/{esm2020 → esm2022}/time-picker/index.mjs +0 -0
  454. /package/{esm2020 → esm2022}/time-picker/time-picker.type.mjs +0 -0
  455. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
  456. /package/{esm2020 → esm2022}/tooltip/tooltip.types.mjs +0 -0
  457. /package/{esm2020 → esm2022}/tooltip/utils/index.mjs +0 -0
  458. /package/{esm2020 → esm2022}/tree-select/index.mjs +0 -0
  459. /package/{esm2020 → esm2022}/tree-select/tree-select.types.mjs +0 -0
  460. /package/{esm2020 → esm2022}/types.mjs +0 -0
  461. /package/{esm2020 → esm2022}/utils/animations.mjs +0 -0
  462. /package/{esm2020 → esm2022}/utils/async.mjs +0 -0
  463. /package/{esm2020 → esm2022}/utils/coercion.mjs +0 -0
  464. /package/{esm2020 → esm2022}/utils/fn.mjs +0 -0
  465. /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
  466. /package/{esm2020 → esm2022}/utils/observe-dom.mjs +0 -0
  467. /package/{esm2020 → esm2022}/utils/operators.mjs +0 -0
  468. /package/{esm2020 → esm2022}/utils/scroll-into-view.mjs +0 -0
  469. /package/{esm2020 → esm2022}/utils/watch-content-exist.mjs +0 -0
@@ -1,134 +0,0 @@
1
- import { ComponentPortal, TemplatePortal, } from '@angular/cdk/portal';
2
- import { Injectable, InjectionToken, Injector, TemplateRef, } from '@angular/core';
3
- import { ConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';
4
- import { DialogConfig } from './dialog-config';
5
- import { DialogRef } from './dialog-ref';
6
- import { DialogComponent } from './dialog.component';
7
- import { DialogSize } from './dialog.types';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/cdk/overlay";
10
- export const DIALOG_DATA = new InjectionToken('aui-dialog-data');
11
- export class DialogService {
12
- constructor(overlay, injector, scrollDispatcher, ngZone) {
13
- this.overlay = overlay;
14
- this.injector = injector;
15
- this.scrollDispatcher = scrollDispatcher;
16
- this.ngZone = ngZone;
17
- this.openDialogs = [];
18
- }
19
- open(compOrTempRef, config = null) {
20
- this.hiddenPrevDialog();
21
- config = { ...new DialogConfig(), ...config };
22
- const overlayRef = this.createOverlay(config);
23
- const dialogIns = this.attachDialog(overlayRef, config);
24
- const dialogRef = this.attachDialogContent(compOrTempRef, dialogIns, overlayRef, config);
25
- this.openDialogs.push(dialogRef);
26
- dialogRef.updatePosition().updateSize();
27
- dialogRef.afterClosed().subscribe(() => {
28
- this.removeDialog(dialogRef);
29
- this.showPrevDialog();
30
- });
31
- return dialogRef;
32
- }
33
- confirm(config) {
34
- const dialogRef = this.open(ConfirmDialogComponent, {
35
- size: DialogSize.FitContent,
36
- noAnimation: !!config.noAnimation,
37
- });
38
- dialogRef.componentInstance.setConfig(config);
39
- return new Promise((resolve, reject) => {
40
- dialogRef.afterClosed().subscribe(action => {
41
- if (action.confirm) {
42
- resolve(action.result);
43
- }
44
- else {
45
- reject(action.result);
46
- }
47
- });
48
- });
49
- }
50
- closeAll() {
51
- this.openDialogs.forEach(dialogRef => {
52
- dialogRef.close();
53
- });
54
- }
55
- hiddenPrevDialog() {
56
- if (this.openDialogs.length > 0) {
57
- this.openDialogs[this.openDialogs.length - 1].dialogInstance.hidden =
58
- true;
59
- }
60
- }
61
- showPrevDialog() {
62
- if (this.openDialogs.length > 0) {
63
- this.openDialogs[this.openDialogs.length - 1].dialogInstance.hidden =
64
- false;
65
- }
66
- }
67
- createOverlay(config) {
68
- const overlayConfig = this.getOverlayConfig(config);
69
- return this.overlay.create(overlayConfig);
70
- }
71
- getOverlayConfig(dialogConfig) {
72
- return {
73
- positionStrategy: this.overlay.position().global(),
74
- scrollStrategy: this.overlay.scrollStrategies.block(),
75
- hasBackdrop: dialogConfig.hasBackdrop && !this.openDialogs.length,
76
- backdropClass: DialogService.DIALOG_BACKDROP_CLASS,
77
- panelClass: dialogConfig.fitViewport || dialogConfig.size === DialogSize.Fullscreen
78
- ? DialogService.DIALOG_OVERLAY_PANE_FIT_VIEWPORT_CLASS
79
- : DialogService.DIALOG_OVERLAY_PANE_CLASS,
80
- width: '100vw',
81
- height: '100vh',
82
- };
83
- }
84
- attachDialog(overlayRef, config) {
85
- const dialogPortal = new ComponentPortal(DialogComponent, config.viewContainerRef);
86
- const dialogRef = overlayRef.attach(dialogPortal);
87
- dialogRef.instance.config = config;
88
- dialogRef.instance.overlayRef = overlayRef;
89
- return dialogRef.instance;
90
- }
91
- attachDialogContent(compOrTempRef, dialogIns, overlayRef, config) {
92
- const dialogRef = new DialogRef(overlayRef, dialogIns, this.scrollDispatcher, this.ngZone);
93
- if (compOrTempRef instanceof TemplateRef) {
94
- dialogIns.attachTemplatePortal(new TemplatePortal(compOrTempRef, null, {
95
- $implicit: config.data,
96
- }));
97
- }
98
- else {
99
- const injector = this.createInjector(config, dialogRef, dialogIns);
100
- const contentRef = dialogIns.attachComponentPortal(new ComponentPortal(compOrTempRef, null, injector));
101
- dialogRef.componentInstance = contentRef.instance;
102
- }
103
- return dialogRef;
104
- }
105
- createInjector(config, dialogRef, dialogIns) {
106
- const userInjector = config?.viewContainerRef?.injector;
107
- return Injector.create({
108
- providers: [
109
- {
110
- provide: DialogRef,
111
- useValue: dialogRef,
112
- },
113
- {
114
- provide: DIALOG_DATA,
115
- useValue: config.data || dialogIns,
116
- },
117
- ],
118
- parent: userInjector || this.injector,
119
- });
120
- }
121
- removeDialog(dialogRef) {
122
- const index = this.openDialogs.indexOf(dialogRef);
123
- this.openDialogs.splice(index, 1);
124
- }
125
- }
126
- DialogService.DIALOG_OVERLAY_PANE_CLASS = 'aui-dialog-overlay-pane';
127
- DialogService.DIALOG_BACKDROP_CLASS = 'aui-dialog-backdrop';
128
- DialogService.DIALOG_OVERLAY_PANE_FIT_VIEWPORT_CLASS = 'aui-dialog-overlay-pane--fit-viewport';
129
- DialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DialogService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: i1.ScrollDispatcher }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
130
- DialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DialogService });
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DialogService, decorators: [{
132
- type: Injectable
133
- }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }, { type: i1.ScrollDispatcher }, { type: i0.NgZone }]; } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGlhbG9nL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFDTCxlQUFlLEVBRWYsY0FBYyxHQUNmLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNMLFVBQVUsRUFDVixjQUFjLEVBQ2QsUUFBUSxFQUVSLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFNUMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFNLGlCQUFpQixDQUFDLENBQUM7QUFHdEUsTUFBTSxPQUFPLGFBQWE7SUFReEIsWUFDbUIsT0FBZ0IsRUFDaEIsUUFBa0IsRUFDbEIsZ0JBQWtDLEVBQ2xDLE1BQWM7UUFIZCxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTmpDLGdCQUFXLEdBQTBCLEVBQUUsQ0FBQztJQU9yQyxDQUFDO0lBRUosSUFBSSxDQUNGLGFBQWdELEVBQ2hELFNBQTBCLElBQUk7UUFFOUIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFFeEIsTUFBTSxHQUFHLEVBQUUsR0FBRyxJQUFJLFlBQVksRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFFOUMs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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgT3ZlcmxheSxcbiAgT3ZlcmxheUNvbmZpZyxcbiAgT3ZlcmxheVJlZixcbiAgU2Nyb2xsRGlzcGF0Y2hlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50UG9ydGFsLFxuICBDb21wb25lbnRUeXBlLFxuICBUZW1wbGF0ZVBvcnRhbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBJbmplY3RhYmxlLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5qZWN0b3IsXG4gIE5nWm9uZSxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb25maXJtRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy1jb25maWcnO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ0NvbmZpZyB9IGZyb20gJy4vZGlhbG9nLWNvbmZpZyc7XG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICcuL2RpYWxvZy1yZWYnO1xuaW1wb3J0IHsgRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ1NpemUgfSBmcm9tICcuL2RpYWxvZy50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBESUFMT0dfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdhdWktZGlhbG9nLWRhdGEnKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xuICBzdGF0aWMgcmVhZG9ubHkgRElBTE9HX09WRVJMQVlfUEFORV9DTEFTUyA9ICdhdWktZGlhbG9nLW92ZXJsYXktcGFuZSc7XG4gIHN0YXRpYyByZWFkb25seSBESUFMT0dfQkFDS0RST1BfQ0xBU1MgPSAnYXVpLWRpYWxvZy1iYWNrZHJvcCc7XG4gIHN0YXRpYyByZWFkb25seSBESUFMT0dfT1ZFUkxBWV9QQU5FX0ZJVF9WSUVXUE9SVF9DTEFTUyA9XG4gICAgJ2F1aS1kaWFsb2ctb3ZlcmxheS1wYW5lLS1maXQtdmlld3BvcnQnO1xuXG4gIG9wZW5EaWFsb2dzOiBBcnJheTxEaWFsb2dSZWY8YW55Pj4gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxEaXNwYXRjaGVyOiBTY3JvbGxEaXNwYXRjaGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICkge31cblxuICBvcGVuPFQsIEQgPSBhbnksIFIgPSBhbnk+KFxuICAgIGNvbXBPclRlbXBSZWY6IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPixcbiAgICBjb25maWc6IERpYWxvZ0NvbmZpZzxEPiA9IG51bGwsXG4gICk6IERpYWxvZ1JlZjxULCBSPiB7XG4gICAgdGhpcy5oaWRkZW5QcmV2RGlhbG9nKCk7XG5cbiAgICBjb25maWcgPSB7IC4uLm5ldyBEaWFsb2dDb25maWcoKSwgLi4uY29uZmlnIH07XG5cbiAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5KGNvbmZpZyk7XG4gICAgY29uc3QgZGlhbG9nSW5zID0gdGhpcy5hdHRhY2hEaWFsb2cob3ZlcmxheVJlZiwgY29uZmlnKTtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmF0dGFjaERpYWxvZ0NvbnRlbnQ8VCwgRCwgUj4oXG4gICAgICBjb21wT3JUZW1wUmVmLFxuICAgICAgZGlhbG9nSW5zLFxuICAgICAgb3ZlcmxheVJlZixcbiAgICAgIGNvbmZpZyxcbiAgICApO1xuICAgIHRoaXMub3BlbkRpYWxvZ3MucHVzaChkaWFsb2dSZWYpO1xuICAgIGRpYWxvZ1JlZi51cGRhdGVQb3NpdGlvbigpLnVwZGF0ZVNpemUoKTtcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZW1vdmVEaWFsb2coZGlhbG9nUmVmKTtcbiAgICAgIHRoaXMuc2hvd1ByZXZEaWFsb2coKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkaWFsb2dSZWY7XG4gIH1cblxuICBjb25maXJtPFQgPSB1bmtub3duLCBSID0gdW5rbm93bj4oXG4gICAgY29uZmlnOiBDb25maXJtRGlhbG9nQ29uZmlnPFQsIFI+LFxuICApOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLm9wZW48XG4gICAgICBDb25maXJtRGlhbG9nQ29tcG9uZW50PFQsIFI+LFxuICAgICAgdm9pZCxcbiAgICAgIHsgY29uZmlybTogYm9vbGVhbjsgcmVzdWx0OiBUIHwgUiB9XG4gICAgPihDb25maXJtRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBzaXplOiBEaWFsb2dTaXplLkZpdENvbnRlbnQsXG4gICAgICBub0FuaW1hdGlvbjogISFjb25maWcubm9BbmltYXRpb24sXG4gICAgfSk7XG4gICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlLnNldENvbmZpZyhjb25maWcpO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoYWN0aW9uID0+IHtcbiAgICAgICAgaWYgKGFjdGlvbi5jb25maXJtKSB7XG4gICAgICAgICAgcmVzb2x2ZShhY3Rpb24ucmVzdWx0IGFzIFQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItcHJvbWlzZS1yZWplY3QtZXJyb3JzXG4gICAgICAgICAgcmVqZWN0KGFjdGlvbi5yZXN1bHQgYXMgUik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgY2xvc2VBbGwoKSB7XG4gICAgdGhpcy5vcGVuRGlhbG9ncy5mb3JFYWNoKGRpYWxvZ1JlZiA9PiB7XG4gICAgICBkaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGlkZGVuUHJldkRpYWxvZygpIHtcbiAgICBpZiAodGhpcy5vcGVuRGlhbG9ncy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLm9wZW5EaWFsb2dzW3RoaXMub3BlbkRpYWxvZ3MubGVuZ3RoIC0gMV0uZGlhbG9nSW5zdGFuY2UuaGlkZGVuID1cbiAgICAgICAgdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNob3dQcmV2RGlhbG9nKCkge1xuICAgIGlmICh0aGlzLm9wZW5EaWFsb2dzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMub3BlbkRpYWxvZ3NbdGhpcy5vcGVuRGlhbG9ncy5sZW5ndGggLSAxXS5kaWFsb2dJbnN0YW5jZS5oaWRkZW4gPVxuICAgICAgICBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkoY29uZmlnOiBEaWFsb2dDb25maWcpOiBPdmVybGF5UmVmIHtcbiAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gdGhpcy5nZXRPdmVybGF5Q29uZmlnKGNvbmZpZyk7XG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheS5jcmVhdGUob3ZlcmxheUNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcoZGlhbG9nQ29uZmlnOiBEaWFsb2dDb25maWcpOiBPdmVybGF5Q29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCksXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKSxcbiAgICAgIGhhc0JhY2tkcm9wOiBkaWFsb2dDb25maWcuaGFzQmFja2Ryb3AgJiYgIXRoaXMub3BlbkRpYWxvZ3MubGVuZ3RoLFxuICAgICAgYmFja2Ryb3BDbGFzczogRGlhbG9nU2VydmljZS5ESUFMT0dfQkFDS0RST1BfQ0xBU1MsXG4gICAgICBwYW5lbENsYXNzOlxuICAgICAgICBkaWFsb2dDb25maWcuZml0Vmlld3BvcnQgfHwgZGlhbG9nQ29uZmlnLnNpemUgPT09IERpYWxvZ1NpemUuRnVsbHNjcmVlblxuICAgICAgICAgID8gRGlhbG9nU2VydmljZS5ESUFMT0dfT1ZFUkxBWV9QQU5FX0ZJVF9WSUVXUE9SVF9DTEFTU1xuICAgICAgICAgIDogRGlhbG9nU2VydmljZS5ESUFMT0dfT1ZFUkxBWV9QQU5FX0NMQVNTLFxuICAgICAgd2lkdGg6ICcxMDB2dycsXG4gICAgICBoZWlnaHQ6ICcxMDB2aCcsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoRGlhbG9nKFxuICAgIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXG4gICAgY29uZmlnOiBEaWFsb2dDb25maWcsXG4gICk6IERpYWxvZ0NvbXBvbmVudCB7XG4gICAgY29uc3QgZGlhbG9nUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChcbiAgICAgIERpYWxvZ0NvbXBvbmVudCxcbiAgICAgIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmLFxuICAgICk7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gb3ZlcmxheVJlZi5hdHRhY2goZGlhbG9nUG9ydGFsKTtcbiAgICBkaWFsb2dSZWYuaW5zdGFuY2UuY29uZmlnID0gY29uZmlnO1xuICAgIGRpYWxvZ1JlZi5pbnN0YW5jZS5vdmVybGF5UmVmID0gb3ZlcmxheVJlZjtcbiAgICByZXR1cm4gZGlhbG9nUmVmLmluc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2hEaWFsb2dDb250ZW50PFQsIEQsIFI+KFxuICAgIGNvbXBPclRlbXBSZWY6IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPixcbiAgICBkaWFsb2dJbnM6IERpYWxvZ0NvbXBvbmVudCxcbiAgICBvdmVybGF5UmVmOiBPdmVybGF5UmVmLFxuICAgIGNvbmZpZzogRGlhbG9nQ29uZmlnPEQ+LFxuICApOiBEaWFsb2dSZWY8VCwgUj4ge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IG5ldyBEaWFsb2dSZWY8VCwgUj4oXG4gICAgICBvdmVybGF5UmVmLFxuICAgICAgZGlhbG9nSW5zLFxuICAgICAgdGhpcy5zY3JvbGxEaXNwYXRjaGVyLFxuICAgICAgdGhpcy5uZ1pvbmUsXG4gICAgKTtcblxuICAgIGlmIChjb21wT3JUZW1wUmVmIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgIGRpYWxvZ0lucy5hdHRhY2hUZW1wbGF0ZVBvcnRhbChcbiAgICAgICAgbmV3IFRlbXBsYXRlUG9ydGFsKGNvbXBPclRlbXBSZWYsIG51bGwsIHtcbiAgICAgICAgICAkaW1wbGljaXQ6IGNvbmZpZy5kYXRhLFxuICAgICAgICB9IGFzIGFueSksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3IoY29uZmlnLCBkaWFsb2dSZWYsIGRpYWxvZ0lucyk7XG4gICAgICBjb25zdCBjb250ZW50UmVmID0gZGlhbG9nSW5zLmF0dGFjaENvbXBvbmVudFBvcnRhbDxUPihcbiAgICAgICAgbmV3IENvbXBvbmVudFBvcnRhbChjb21wT3JUZW1wUmVmLCBudWxsLCBpbmplY3RvciksXG4gICAgICApO1xuICAgICAgZGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlID0gY29udGVudFJlZi5pbnN0YW5jZTtcbiAgICB9XG4gICAgcmV0dXJuIGRpYWxvZ1JlZjtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSW5qZWN0b3I8VD4oXG4gICAgY29uZmlnOiBEaWFsb2dDb25maWcsXG4gICAgZGlhbG9nUmVmOiBEaWFsb2dSZWY8VD4sXG4gICAgZGlhbG9nSW5zOiBEaWFsb2dDb21wb25lbnQsXG4gICk6IEluamVjdG9yIHtcbiAgICBjb25zdCB1c2VySW5qZWN0b3IgPSBjb25maWc/LnZpZXdDb250YWluZXJSZWY/LmluamVjdG9yO1xuICAgIHJldHVybiBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBEaWFsb2dSZWYsXG4gICAgICAgICAgdXNlVmFsdWU6IGRpYWxvZ1JlZixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IERJQUxPR19EQVRBLFxuICAgICAgICAgIHVzZVZhbHVlOiBjb25maWcuZGF0YSB8fCBkaWFsb2dJbnMsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcGFyZW50OiB1c2VySW5qZWN0b3IgfHwgdGhpcy5pbmplY3RvcixcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRGlhbG9nKGRpYWxvZ1JlZjogRGlhbG9nUmVmPGFueT4pIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMub3BlbkRpYWxvZ3MuaW5kZXhPZihkaWFsb2dSZWYpO1xuICAgIHRoaXMub3BlbkRpYWxvZ3Muc3BsaWNlKGluZGV4LCAxKTtcbiAgfVxufVxuIl19
@@ -1,229 +0,0 @@
1
- import { OverlayConfig, } from '@angular/cdk/overlay';
2
- import { CdkPortalOutlet, ComponentPortal, TemplatePortal, } from '@angular/cdk/portal';
3
- import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, InjectionToken, Injector, Input, Output, TemplateRef, Type, ViewChild, ViewEncapsulation, } from '@angular/core';
4
- import { Subject, takeUntil } from 'rxjs';
5
- import { isTemplateRef } from '../../utils';
6
- import { DrawerRef, DrawerSize } from './drawer-ref';
7
- import { DrawerContentDirective, DrawerFooterDirective, DrawerHeaderDirective, } from './helper-directives';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/cdk/overlay";
10
- import * as i2 from "@angular/common";
11
- import * as i3 from "../../icon/icon.component";
12
- import * as i4 from "@angular/cdk/scrolling";
13
- import * as i5 from "@angular/cdk/portal";
14
- export const DATA = new InjectionToken('drawer-data');
15
- const DRAWER_OVERLAY_CLASS = 'aui-drawer-overlay';
16
- const SIZE_MAPPER = {
17
- [DrawerSize.Small]: 400,
18
- [DrawerSize.Medium]: 600,
19
- [DrawerSize.Big]: 800,
20
- };
21
- export class DrawerComponent extends DrawerRef {
22
- set width(value) {
23
- this._value = value;
24
- }
25
- get width() {
26
- return this._value;
27
- }
28
- get drawerClasses() {
29
- return {
30
- 'aui-drawer': true,
31
- hasDivider: this.divider,
32
- ...(!this.drawerClass ? null : { [this.drawerClass]: true }),
33
- };
34
- }
35
- get afterClosed() {
36
- return this.afterClosed$.asObservable();
37
- }
38
- get afterOpen() {
39
- return this.afterOpen$.asObservable();
40
- }
41
- get transform() {
42
- return `translateX(${this.visible ? 0 : '100%'})`;
43
- }
44
- constructor(viewContainerRef, overlay, injector, cdr) {
45
- super();
46
- this.viewContainerRef = viewContainerRef;
47
- this.overlay = overlay;
48
- this.injector = injector;
49
- this.cdr = cdr;
50
- this.size = DrawerSize.Medium;
51
- this.offsetY = '0px';
52
- this.hideOnClickOutside = false;
53
- this.showClose = true;
54
- this.divider = true;
55
- this._value = SIZE_MAPPER[DrawerSize.Medium];
56
- this.afterClosed$ = new Subject();
57
- this.afterOpen$ = new Subject();
58
- this.drawerViewInit = new EventEmitter();
59
- this.close = new EventEmitter();
60
- this.onDestroy$ = new Subject();
61
- this.isTemplateRef = isTemplateRef;
62
- this.componentInstance = null;
63
- this.templateContext = {};
64
- }
65
- ngOnInit() {
66
- this.attachOverlay();
67
- this.updateBodyOverflow();
68
- this.templateContext = { $implicit: this.contentParams };
69
- this.cdr.detectChanges();
70
- }
71
- ngOnChanges(changes) {
72
- const { visible } = changes;
73
- if (visible) {
74
- const value = visible.currentValue;
75
- if (value) {
76
- this.open();
77
- }
78
- else if (!visible.firstChange) {
79
- this.dispose();
80
- }
81
- }
82
- }
83
- ngAfterViewInit() {
84
- this.attachBodyContent();
85
- setTimeout(() => {
86
- this.drawerViewInit.emit();
87
- }, 0);
88
- }
89
- attachOverlay() {
90
- if (!this.overlayRef) {
91
- this.portal = new TemplatePortal(this.drawerTemplate, this.viewContainerRef);
92
- this.overlayRef = this.overlay.create(this.getOverlayConfig());
93
- }
94
- if (this.overlayRef) {
95
- this.overlayRef.attach(this.portal);
96
- this.overlayRef
97
- .outsidePointerEvents()
98
- .pipe(takeUntil(this.onDestroy$))
99
- .subscribe(event => {
100
- if (this.visible &&
101
- this.hideOnClickOutside &&
102
- event.target instanceof Node &&
103
- !this.overlayRef.hostElement?.parentNode?.contains(event.target)) {
104
- event.stopPropagation();
105
- event.preventDefault();
106
- this.dispose();
107
- }
108
- });
109
- }
110
- }
111
- getOverlayConfig() {
112
- return new OverlayConfig({
113
- panelClass: DRAWER_OVERLAY_CLASS,
114
- positionStrategy: this.overlay.position().global(),
115
- scrollStrategy: this.overlay.scrollStrategies.block(),
116
- });
117
- }
118
- attachBodyContent() {
119
- this.bodyPortalOutlet?.dispose();
120
- const content = this.content || this.contentTemplate;
121
- if (content instanceof Type) {
122
- const componentPortal = new ComponentPortal(content, null, Injector.create({
123
- providers: [
124
- {
125
- provide: DATA,
126
- useValue: this.contentParams,
127
- },
128
- ],
129
- parent: this.injector,
130
- }));
131
- const componentRef = this.bodyPortalOutlet?.attachComponentPortal(componentPortal);
132
- this.componentInstance = componentRef.instance;
133
- Object.assign(componentRef.instance, this.contentParams);
134
- componentRef.changeDetectorRef.detectChanges();
135
- }
136
- }
137
- updateBodyOverflow() {
138
- if (this.overlayRef) {
139
- if (this.visible) {
140
- this.overlayRef.getConfig().scrollStrategy.enable();
141
- }
142
- else {
143
- this.overlayRef.getConfig().scrollStrategy.disable();
144
- }
145
- }
146
- }
147
- open() {
148
- this.visible = true;
149
- this.afterOpen$.next();
150
- this.afterOpen$.complete();
151
- this.updateBodyOverflow();
152
- this.cdr.markForCheck();
153
- }
154
- dispose(result = null) {
155
- this.visible = false;
156
- this.close.emit();
157
- this.afterClosed$.next(result);
158
- this.afterClosed$.complete();
159
- this.updateBodyOverflow();
160
- this.cdr.markForCheck();
161
- }
162
- disposeOverlay() {
163
- if (this.overlayRef) {
164
- this.overlayRef.dispose();
165
- }
166
- this.overlayRef = null;
167
- }
168
- maskClick() {
169
- if (this.maskClosable && this.mask) {
170
- this.dispose();
171
- }
172
- }
173
- ngOnDestroy() {
174
- this.onDestroy$.next();
175
- this.disposeOverlay();
176
- }
177
- }
178
- DrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DrawerComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.Overlay }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
179
- DrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DrawerComponent, selector: "aui-drawer", inputs: { title: "title", footer: "footer", size: "size", offsetY: "offsetY", visible: "visible", content: "content", hideOnClickOutside: "hideOnClickOutside", showClose: "showClose", drawerClass: "drawerClass", mask: "mask", maskClosable: "maskClosable", divider: "divider", width: "width" }, outputs: { drawerViewInit: "drawerViewInit", close: "close" }, queries: [{ propertyName: "titleTemplate", first: true, predicate: DrawerHeaderDirective, descendants: true, read: TemplateRef }, { propertyName: "contentTemplate", first: true, predicate: DrawerContentDirective, descendants: true, read: TemplateRef }, { propertyName: "footerTemplate", first: true, predicate: DrawerFooterDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "drawerTemplate", first: true, predicate: ["drawerTemplate"], descendants: true, static: true }, { propertyName: "bodyPortalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #drawerTemplate>\n <div\n *ngIf=\"mask\"\n class=\"aui-drawer-mask\"\n [class.isOpen]=\"visible\"\n (click)=\"maskClick()\"\n ></div>\n <div\n [style.marginTop]=\"offsetY\"\n [ngClass]=\"drawerClasses\"\n [class.isOpen]=\"visible\"\n [ngStyle]=\"{\n transform: transform,\n width: width + 'px'\n }\"\n >\n <div class=\"aui-drawer__content\">\n <div class=\"aui-drawer__body-wrapper\">\n <div class=\"aui-drawer__header\">\n <div class=\"aui-drawer__title\">\n <ng-container\n *ngIf=\"!isTemplateRef(title || titleTemplate); else elseTemplate\"\n >\n {{ title }}\n </ng-container>\n <ng-template #elseTemplate>\n <ng-container\n *ngIf=\"title || titleTemplate\"\n [ngTemplateOutlet]=\"$any(title || titleTemplate)\"\n [ngTemplateOutletContext]=\"templateContext\"\n ></ng-container>\n </ng-template>\n </div>\n <aui-icon\n *ngIf=\"showClose\"\n class=\"aui-drawer__close\"\n icon=\"xmark\"\n (click)=\"dispose()\"\n ></aui-icon>\n </div>\n\n <div\n class=\"aui-drawer__body\"\n cdkScrollable\n >\n <ng-template cdkPortalOutlet></ng-template>\n <ng-container *ngIf=\"isTemplateRef(content || contentTemplate)\">\n <ng-container\n *ngTemplateOutlet=\"\n $any(content || contentTemplate);\n context: templateContext\n \"\n >\n </ng-container>\n </ng-container>\n </div>\n\n <div\n *ngIf=\"footer || footerTemplate\"\n class=\"aui-drawer__footer\"\n >\n <ng-container\n *ngIf=\"!isTemplateRef(footer || footerTemplate); else elseTemplate\"\n >\n {{ footer }}\n </ng-container>\n <ng-template #elseTemplate>\n <ng-container\n *ngIf=\"footer || footerTemplate\"\n [ngTemplateOutlet]=\"$any(footer || footerTemplate)\"\n [ngTemplateOutletContext]=\"templateContext\"\n ></ng-container>\n </ng-template>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".aui-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0}:root .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer-mask.isOpen{height:100%}.aui-drawer{position:fixed;top:0;bottom:0;right:0;z-index:9999;transition:transform .3s,opacity .3s,box-shaow .3s;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}:root .aui-drawer.isOpen .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-drawer.isOpen .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer.isOpen .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer.isOpen .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer__content{background-color:rgb(var(--aui-color-n-10));position:absolute;height:100%;right:0;width:100%}.aui-drawer__header{padding:20px;display:flex;flex-shrink:0;justify-content:space-between}.aui-drawer__title{flex:1;font-size:var(--aui-font-size-xxl);line-height:var(--aui-line-height-xxl);font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-drawer__close{z-index:10;flex-shrink:0;margin-top:2px;margin-left:var(--aui-spacing-xl);display:flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:var(--aui-icon-size-l);color:rgb(var(--aui-color-secondary-text));border-radius:var(--aui-border-radius-m);cursor:pointer}.aui-drawer__close:hover{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-drawer__close:active{color:rgb(var(--aui-color-p-0));background-color:rgb(var(--aui-color-p-5))}.aui-drawer__body-wrapper{width:100%;height:100%;display:flex;flex-flow:column nowrap;position:relative;z-index:1}.aui-drawer__body{padding:0 20px;overflow:hidden;overflow-y:auto;height:100%}.aui-drawer__footer{padding:20px}.aui-drawer.hasDivider .aui-drawer__header{padding-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-drawer.hasDivider .aui-drawer__body{padding:16px 20px}.aui-drawer.hasDivider .aui-drawer__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-n-8))}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "directive", type: i4.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DrawerComponent, decorators: [{
181
- type: Component,
182
- args: [{ selector: 'aui-drawer', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #drawerTemplate>\n <div\n *ngIf=\"mask\"\n class=\"aui-drawer-mask\"\n [class.isOpen]=\"visible\"\n (click)=\"maskClick()\"\n ></div>\n <div\n [style.marginTop]=\"offsetY\"\n [ngClass]=\"drawerClasses\"\n [class.isOpen]=\"visible\"\n [ngStyle]=\"{\n transform: transform,\n width: width + 'px'\n }\"\n >\n <div class=\"aui-drawer__content\">\n <div class=\"aui-drawer__body-wrapper\">\n <div class=\"aui-drawer__header\">\n <div class=\"aui-drawer__title\">\n <ng-container\n *ngIf=\"!isTemplateRef(title || titleTemplate); else elseTemplate\"\n >\n {{ title }}\n </ng-container>\n <ng-template #elseTemplate>\n <ng-container\n *ngIf=\"title || titleTemplate\"\n [ngTemplateOutlet]=\"$any(title || titleTemplate)\"\n [ngTemplateOutletContext]=\"templateContext\"\n ></ng-container>\n </ng-template>\n </div>\n <aui-icon\n *ngIf=\"showClose\"\n class=\"aui-drawer__close\"\n icon=\"xmark\"\n (click)=\"dispose()\"\n ></aui-icon>\n </div>\n\n <div\n class=\"aui-drawer__body\"\n cdkScrollable\n >\n <ng-template cdkPortalOutlet></ng-template>\n <ng-container *ngIf=\"isTemplateRef(content || contentTemplate)\">\n <ng-container\n *ngTemplateOutlet=\"\n $any(content || contentTemplate);\n context: templateContext\n \"\n >\n </ng-container>\n </ng-container>\n </div>\n\n <div\n *ngIf=\"footer || footerTemplate\"\n class=\"aui-drawer__footer\"\n >\n <ng-container\n *ngIf=\"!isTemplateRef(footer || footerTemplate); else elseTemplate\"\n >\n {{ footer }}\n </ng-container>\n <ng-template #elseTemplate>\n <ng-container\n *ngIf=\"footer || footerTemplate\"\n [ngTemplateOutlet]=\"$any(footer || footerTemplate)\"\n [ngTemplateOutletContext]=\"templateContext\"\n ></ng-container>\n </ng-template>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".aui-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0}:root .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}html[aui-theme-mode=light] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.4)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer-mask{background-color:rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer-mask.isOpen{height:100%}.aui-drawer{position:fixed;top:0;bottom:0;right:0;z-index:9999;transition:transform .3s,opacity .3s,box-shaow .3s;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);color:rgb(var(--aui-color-main-text))}:root .aui-drawer.isOpen .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-drawer.isOpen .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-drawer.isOpen .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-drawer.isOpen .aui-drawer__content{box-shadow:-2px 0 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-drawer__content{background-color:rgb(var(--aui-color-n-10));position:absolute;height:100%;right:0;width:100%}.aui-drawer__header{padding:20px;display:flex;flex-shrink:0;justify-content:space-between}.aui-drawer__title{flex:1;font-size:var(--aui-font-size-xxl);line-height:var(--aui-line-height-xxl);font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-main-text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-drawer__close{z-index:10;flex-shrink:0;margin-top:2px;margin-left:var(--aui-spacing-xl);display:flex;justify-content:center;align-items:center;width:24px;height:24px;font-size:var(--aui-icon-size-l);color:rgb(var(--aui-color-secondary-text));border-radius:var(--aui-border-radius-m);cursor:pointer}.aui-drawer__close:hover{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-drawer__close:active{color:rgb(var(--aui-color-p-0));background-color:rgb(var(--aui-color-p-5))}.aui-drawer__body-wrapper{width:100%;height:100%;display:flex;flex-flow:column nowrap;position:relative;z-index:1}.aui-drawer__body{padding:0 20px;overflow:hidden;overflow-y:auto;height:100%}.aui-drawer__footer{padding:20px}.aui-drawer.hasDivider .aui-drawer__header{padding-bottom:16px;border-bottom:1px solid rgb(var(--aui-color-n-8))}.aui-drawer.hasDivider .aui-drawer__body{padding:16px 20px}.aui-drawer.hasDivider .aui-drawer__footer{padding-top:16px;border-top:1px solid rgb(var(--aui-color-n-8))}\n"] }]
183
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i1.Overlay }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { title: [{
184
- type: Input
185
- }], footer: [{
186
- type: Input
187
- }], size: [{
188
- type: Input
189
- }], offsetY: [{
190
- type: Input
191
- }], visible: [{
192
- type: Input
193
- }], content: [{
194
- type: Input
195
- }], hideOnClickOutside: [{
196
- type: Input
197
- }], showClose: [{
198
- type: Input
199
- }], drawerClass: [{
200
- type: Input
201
- }], mask: [{
202
- type: Input
203
- }], maskClosable: [{
204
- type: Input
205
- }], divider: [{
206
- type: Input
207
- }], width: [{
208
- type: Input
209
- }], drawerViewInit: [{
210
- type: Output
211
- }], close: [{
212
- type: Output
213
- }], drawerTemplate: [{
214
- type: ViewChild,
215
- args: ['drawerTemplate', { static: true }]
216
- }], bodyPortalOutlet: [{
217
- type: ViewChild,
218
- args: [CdkPortalOutlet, { static: false }]
219
- }], titleTemplate: [{
220
- type: ContentChild,
221
- args: [DrawerHeaderDirective, { read: TemplateRef }]
222
- }], contentTemplate: [{
223
- type: ContentChild,
224
- args: [DrawerContentDirective, { read: TemplateRef }]
225
- }], footerTemplate: [{
226
- type: ContentChild,
227
- args: [DrawerFooterDirective, { read: TemplateRef }]
228
- }] } });
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kcmF3ZXIvY29tcG9uZW50L2RyYXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvZHJhd2VyL2NvbXBvbmVudC9kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLGFBQWEsR0FFZCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsZUFBZSxFQUNmLGNBQWMsR0FDZixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osY0FBYyxFQUNkLFFBQVEsRUFDUixLQUFLLEVBSUwsTUFBTSxFQUVOLFdBQVcsRUFDWCxJQUFJLEVBQ0osU0FBUyxFQUVULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUN0QixNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBRTdCLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV0RCxNQUFNLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO0FBRWxELE1BQU0sV0FBVyxHQUFHO0lBQ2xCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUc7SUFDdkIsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRztJQUN4QixDQUFDLFVB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LHFCQUFxQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudFR5cGUsXG4gIE92ZXJsYXksXG4gIE92ZXJsYXlDb25maWcsXG4gIE92ZXJsYXlSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7XG4gIENka1BvcnRhbE91dGxldCxcbiAgQ29tcG9uZW50UG9ydGFsLFxuICBUZW1wbGF0ZVBvcnRhbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdGlvblRva2VuLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFR5cGUsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGlzVGVtcGxhdGVSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmltcG9ydCB7IERyYXdlclJlZiwgRHJhd2VyU2l6ZSB9IGZyb20gJy4vZHJhd2VyLXJlZic7XG5pbXBvcnQge1xuICBEcmF3ZXJDb250ZW50RGlyZWN0aXZlLFxuICBEcmF3ZXJGb290ZXJEaXJlY3RpdmUsXG4gIERyYXdlckhlYWRlckRpcmVjdGl2ZSxcbn0gZnJvbSAnLi9oZWxwZXItZGlyZWN0aXZlcyc7XG5cbmV4cG9ydCBjb25zdCBEQVRBID0gbmV3IEluamVjdGlvblRva2VuKCdkcmF3ZXItZGF0YScpO1xuXG5jb25zdCBEUkFXRVJfT1ZFUkxBWV9DTEFTUyA9ICdhdWktZHJhd2VyLW92ZXJsYXknO1xuXG5jb25zdCBTSVpFX01BUFBFUiA9IHtcbiAgW0RyYXdlclNpemUuU21hbGxdOiA0MDAsXG4gIFtEcmF3ZXJTaXplLk1lZGl1bV06IDYwMCxcbiAgW0RyYXdlclNpemUuQmlnXTogODAwLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLWRyYXdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcmF3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcmF3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyYXdlckNvbXBvbmVudDxcbiAgICBUID0gQ29tcG9uZW50VHlwZTx1bmtub3duPixcbiAgICBSID0gdW5rbm93bixcbiAgICBEID0gdW5rbm93bixcbiAgPlxuICBleHRlbmRzIERyYXdlclJlZjxULCBSPlxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KClcbiAgdGl0bGU6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpXG4gIGZvb3Rlcjogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgc2l6ZTogRHJhd2VyU2l6ZSA9IERyYXdlclNpemUuTWVkaXVtO1xuXG4gIEBJbnB1dCgpXG4gIG9mZnNldFkgPSAnMHB4JztcblxuICBASW5wdXQoKSB2aXNpYmxlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIGNvbnRlbnQ6IFRlbXBsYXRlUmVmPFQ+IHwgQ29tcG9uZW50VHlwZTxUPjtcblxuICBASW5wdXQoKVxuICBoaWRlT25DbGlja091dHNpZGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzaG93Q2xvc2UgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGRyYXdlckNsYXNzOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbWFzazogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBtYXNrQ2xvc2FibGU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgZGl2aWRlciA9IHRydWU7XG5cbiAgcHJpdmF0ZSBfdmFsdWUgPSBTSVpFX01BUFBFUltEcmF3ZXJTaXplLk1lZGl1bV07XG4gIEBJbnB1dCgpXG4gIHNldCB3aWR0aCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCB3aWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBnZXQgZHJhd2VyQ2xhc3NlcygpOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdhdWktZHJhd2VyJzogdHJ1ZSxcbiAgICAgIGhhc0RpdmlkZXI6IHRoaXMuZGl2aWRlcixcbiAgICAgIC4uLighdGhpcy5kcmF3ZXJDbGFzcyA/IG51bGwgOiB7IFt0aGlzLmRyYXdlckNsYXNzXTogdHJ1ZSB9KSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhZnRlckNsb3NlZCQgPSBuZXcgU3ViamVjdDxSPigpO1xuXG4gIGdldCBhZnRlckNsb3NlZCgpOiBPYnNlcnZhYmxlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5hZnRlckNsb3NlZCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGFmdGVyT3BlbiQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGdldCBhZnRlck9wZW4oKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuYWZ0ZXJPcGVuJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBkcmF3ZXJWaWV3SW5pdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnZHJhd2VyVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBkcmF3ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgQFZpZXdDaGlsZChDZGtQb3J0YWxPdXRsZXQsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBib2R5UG9ydGFsT3V0bGV0OiBDZGtQb3J0YWxPdXRsZXQ7XG5cbiAgQENvbnRlbnRDaGlsZChEcmF3ZXJIZWFkZXJEaXJlY3RpdmUsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgdGl0bGVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8VD47XG5cbiAgQENvbnRlbnRDaGlsZChEcmF3ZXJDb250ZW50RGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGNvbnRlbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8VD4gfCBDb21wb25lbnRUeXBlPFQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoRHJhd2VyRm9vdGVyRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxUPjtcblxuICBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBpc1RlbXBsYXRlUmVmID0gaXNUZW1wbGF0ZVJlZjtcblxuICBjb21wb25lbnRJbnN0YW5jZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnRlbnRQYXJhbXM6IEQ7XG4gIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gIHBvcnRhbDogVGVtcGxhdGVQb3J0YWw7XG4gIHRlbXBsYXRlQ29udGV4dCA9IHt9O1xuICBnZXQgdHJhbnNmb3JtKCkge1xuICAgIHJldHVybiBgdHJhbnNsYXRlWCgke3RoaXMudmlzaWJsZSA/IDAgOiAnMTAwJSd9KWA7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYXR0YWNoT3ZlcmxheSgpO1xuICAgIHRoaXMudXBkYXRlQm9keU92ZXJmbG93KCk7XG4gICAgdGhpcy50ZW1wbGF0ZUNvbnRleHQgPSB7ICRpbXBsaWNpdDogdGhpcy5jb250ZW50UGFyYW1zIH07XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHsgdmlzaWJsZSB9ID0gY2hhbmdlcztcbiAgICBpZiAodmlzaWJsZSkge1xuICAgICAgY29uc3QgdmFsdWUgPSB2aXNpYmxlLmN1cnJlbnRWYWx1ZTtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgIH0gZWxzZSBpZiAoIXZpc2libGUuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgLy8g5LiN5biM5pyb6buY6K6k5YWz6Zet5pe277yMZHJhd2VyIOa4suafk+WQjuWwseinpuWPkSBjbG9zZSDkuovku7ZcbiAgICAgICAgdGhpcy5kaXNwb3NlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuYXR0YWNoQm9keUNvbnRlbnQoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZHJhd2VyVmlld0luaXQuZW1pdCgpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2hPdmVybGF5KCkge1xuICAgIGlmICghdGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLnBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbChcbiAgICAgICAgdGhpcy5kcmF3ZXJUZW1wbGF0ZSxcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUodGhpcy5nZXRPdmVybGF5Q29uZmlnKCkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMucG9ydGFsKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZlxuICAgICAgICAub3V0c2lkZVBvaW50ZXJFdmVudHMoKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgLy8g5Yik5pat6byg5qCH54K55Ye75LqL5Lu255qEIHRhcmdldCDmmK/lkKbkuLogb3ZlcmxheS1jb250YWluZXIg55qE5a2Q6IqC54K577yM5aaC5p6c5piv77yM5YiZ5LiN5YWz6ZetIGRyYXdlcuOAglxuICAgICAgICAgIC8vIOS4uuS6humBv+WFjeeCueWHuyBkcmF3ZXIg6YeM55qEIHRvb2x0aXAg5ZCOIGRyYXdlciDooqvlhbPpl63jgIJcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnZpc2libGUgJiZcbiAgICAgICAgICAgIHRoaXMuaGlkZU9uQ2xpY2tPdXRzaWRlICYmXG4gICAgICAgICAgICBldmVudC50YXJnZXQgaW5zdGFuY2VvZiBOb2RlICYmXG4gICAgICAgICAgICAhdGhpcy5vdmVybGF5UmVmLmhvc3RFbGVtZW50Py5wYXJlbnROb2RlPy5jb250YWlucyhldmVudC50YXJnZXQpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheUNvbmZpZygpOiBPdmVybGF5Q29uZmlnIHtcbiAgICByZXR1cm4gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgcGFuZWxDbGFzczogRFJBV0VSX09WRVJMQVlfQ0xBU1MsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2hCb2R5Q29udGVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmJvZHlQb3J0YWxPdXRsZXQ/LmRpc3Bvc2UoKTtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5jb250ZW50IHx8IHRoaXMuY29udGVudFRlbXBsYXRlO1xuICAgIGlmIChjb250ZW50IGluc3RhbmNlb2YgVHlwZSkge1xuICAgICAgY29uc3QgY29tcG9uZW50UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbDxUPihcbiAgICAgICAgY29udGVudCxcbiAgICAgICAgbnVsbCxcbiAgICAgICAgSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcHJvdmlkZTogREFUQSxcbiAgICAgICAgICAgICAgdXNlVmFsdWU6IHRoaXMuY29udGVudFBhcmFtcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9XG4gICAgICAgIHRoaXMuYm9keVBvcnRhbE91dGxldD8uYXR0YWNoQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudFBvcnRhbCk7XG4gICAgICB0aGlzLmNvbXBvbmVudEluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIHRoaXMuY29udGVudFBhcmFtcyk7XG4gICAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQm9keU92ZXJmbG93KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIGlmICh0aGlzLnZpc2libGUpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmdldENvbmZpZygpLnNjcm9sbFN0cmF0ZWd5LmVuYWJsZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmdldENvbmZpZygpLnNjcm9sbFN0cmF0ZWd5LmRpc2FibGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvcGVuKCkge1xuICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgdGhpcy5hZnRlck9wZW4kLm5leHQoKTtcbiAgICB0aGlzLmFmdGVyT3BlbiQuY29tcGxldGUoKTtcbiAgICB0aGlzLnVwZGF0ZUJvZHlPdmVyZmxvdygpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZGlzcG9zZShyZXN1bHQ6IFIgPSBudWxsKSB7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gICAgdGhpcy5hZnRlckNsb3NlZCQubmV4dChyZXN1bHQpO1xuICAgIHRoaXMuYWZ0ZXJDbG9zZWQkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy51cGRhdGVCb2R5T3ZlcmZsb3coKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzcG9zZU92ZXJsYXkoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICB9XG4gICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcbiAgfVxuXG4gIG1hc2tDbGljaygpIHtcbiAgICBpZiAodGhpcy5tYXNrQ2xvc2FibGUgJiYgdGhpcy5tYXNrKSB7XG4gICAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGlzcG9zZU92ZXJsYXkoKTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNkcmF3ZXJUZW1wbGF0ZT5cbiAgPGRpdlxuICAgICpuZ0lmPVwibWFza1wiXG4gICAgY2xhc3M9XCJhdWktZHJhd2VyLW1hc2tcIlxuICAgIFtjbGFzcy5pc09wZW5dPVwidmlzaWJsZVwiXG4gICAgKGNsaWNrKT1cIm1hc2tDbGljaygpXCJcbiAgPjwvZGl2PlxuICA8ZGl2XG4gICAgW3N0eWxlLm1hcmdpblRvcF09XCJvZmZzZXRZXCJcbiAgICBbbmdDbGFzc109XCJkcmF3ZXJDbGFzc2VzXCJcbiAgICBbY2xhc3MuaXNPcGVuXT1cInZpc2libGVcIlxuICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNmb3JtLFxuICAgICAgd2lkdGg6IHdpZHRoICsgJ3B4J1xuICAgIH1cIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImF1aS1kcmF3ZXJfX2NvbnRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhdWktZHJhd2VyX19ib2R5LXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImF1aS1kcmF3ZXJfX2hlYWRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdWktZHJhd2VyX190aXRsZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdJZj1cIiFpc1RlbXBsYXRlUmVmKHRpdGxlIHx8IHRpdGxlVGVtcGxhdGUpOyBlbHNlIGVsc2VUZW1wbGF0ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IHRpdGxlIH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZVRlbXBsYXRlPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ0aXRsZSB8fCB0aXRsZVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCIkYW55KHRpdGxlIHx8IHRpdGxlVGVtcGxhdGUpXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwidGVtcGxhdGVDb250ZXh0XCJcbiAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICAgICpuZ0lmPVwic2hvd0Nsb3NlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYXVpLWRyYXdlcl9fY2xvc2VcIlxuICAgICAgICAgICAgaWNvbj1cInhtYXJrXCJcbiAgICAgICAgICAgIChjbGljayk9XCJkaXNwb3NlKClcIlxuICAgICAgICAgID48L2F1aS1pY29uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJhdWktZHJhd2VyX19ib2R5XCJcbiAgICAgICAgICBjZGtTY3JvbGxhYmxlXG4gICAgICAgID5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgY2RrUG9ydGFsT3V0bGV0PjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcGxhdGVSZWYoY29udGVudCB8fCBjb250ZW50VGVtcGxhdGUpXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgJGFueShjb250ZW50IHx8IGNvbnRlbnRUZW1wbGF0ZSk7XG4gICAgICAgICAgICAgICAgY29udGV4dDogdGVtcGxhdGVDb250ZXh0XG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwiZm9vdGVyIHx8IGZvb3RlclRlbXBsYXRlXCJcbiAgICAgICAgICBjbGFzcz1cImF1aS1kcmF3ZXJfX2Zvb3RlclwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cIiFpc1RlbXBsYXRlUmVmKGZvb3RlciB8fCBmb290ZXJUZW1wbGF0ZSk7IGVsc2UgZWxzZVRlbXBsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBmb290ZXIgfX1cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VUZW1wbGF0ZT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgKm5nSWY9XCJmb290ZXIgfHwgZm9vdGVyVGVtcGxhdGVcIlxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCIkYW55KGZvb3RlciB8fCBmb290ZXJUZW1wbGF0ZSlcIlxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwidGVtcGxhdGVDb250ZXh0XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,44 +0,0 @@
1
- import { ComponentPortal } from '@angular/cdk/portal';
2
- import { Injectable } from '@angular/core';
3
- import { Subject, takeUntil } from 'rxjs';
4
- import { DrawerComponent } from './component/drawer.component';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/cdk/overlay";
7
- export class DrawerService {
8
- constructor(overlay) {
9
- this.overlay = overlay;
10
- this.unsubscribe$ = new Subject();
11
- }
12
- open(options) {
13
- this.drawerRef?.instance?.dispose();
14
- this.createDrawer();
15
- this.updateOptions(options);
16
- return this.drawerRef?.instance;
17
- }
18
- updateOptions(options) {
19
- Object.assign(this.drawerRef.instance, options);
20
- }
21
- createDrawer() {
22
- this.overlayRef = this.overlay.create();
23
- this.drawerRef = this.overlayRef.attach(new ComponentPortal(DrawerComponent));
24
- this.drawerRef.instance.drawerViewInit
25
- .pipe(takeUntil(this.unsubscribe$))
26
- .subscribe(() => {
27
- this.drawerRef.instance.open();
28
- });
29
- this.drawerRef.instance.afterClosed
30
- .pipe(takeUntil(this.unsubscribe$))
31
- .subscribe(() => {
32
- this.overlayRef.dispose();
33
- this.drawerRef = null;
34
- this.unsubscribe$.next();
35
- this.unsubscribe$.complete();
36
- });
37
- }
38
- }
39
- DrawerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DrawerService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable });
40
- DrawerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DrawerService });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DrawerService, decorators: [{
42
- type: Injectable
43
- }], ctorParameters: function () { return [{ type: i1.Overlay }]; } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZHJhd2VyL2RyYXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDckUsT0FBTyxFQUFnQixVQUFVLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFxQi9ELE1BQU0sT0FBTyxhQUFhO0lBS3hCLFlBQTZCLE9BQWdCO1FBQWhCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFGNUIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRUosQ0FBQztJQUVqRCxJQUFJLENBQWMsT0FBeUI7UUFDekMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQztJQUNsQyxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQXNCO1FBQ2xDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQ3JDLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUNyQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsY0FBYzthQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUNsQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXO2FBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ2xDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OzBHQXJDVSxhQUFhOzhHQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEcmF3ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9kcmF3ZXIuY29tcG9uZW50JztcblxuaW1wb3J0IHsgRHJhd2VyU2l6ZSB9IGZyb20gJy4nO1xuXG5leHBvcnQgaW50ZXJmYWNlIERyYXdlck9wdGlvbnM8VCA9IGFueSwgRCA9IGFueT4ge1xuICB0aXRsZT86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICB3aWR0aD86IG51bWJlcjtcbiAgY29udGVudD86IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPjtcbiAgY29udGVudFBhcmFtcz86IEQ7XG4gIGZvb3Rlcj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICBvZmZzZXRZPzogc3RyaW5nO1xuICBkaXZpZGVyPzogYm9vbGVhbjtcbiAgZHJhd2VyQ2xhc3M/OiBzdHJpbmc7XG4gIHNpemU/OiBEcmF3ZXJTaXplO1xuICB2aXNpYmxlPzogYm9vbGVhbjtcbiAgaGlkZU9uQ2xpY2tPdXRzaWRlPzogYm9vbGVhbjtcbiAgc2hvd0Nsb3NlPzogYm9vbGVhbjtcbiAgbWFzaz86IGJvb2xlYW47XG4gIG1hc2tDbG9zYWJsZT86IGJvb2xlYW47XG59XG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRHJhd2VyU2VydmljZSB7XG4gIHByaXZhdGUgZHJhd2VyUmVmOiBDb21wb25lbnRSZWY8RHJhd2VyQ29tcG9uZW50PjtcbiAgcHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuICBwcml2YXRlIHJlYWRvbmx5IHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBvdmVybGF5OiBPdmVybGF5KSB7fVxuXG4gIG9wZW48VCA9IHVua25vd24+KG9wdGlvbnM6IERyYXdlck9wdGlvbnM8VD4pIHtcbiAgICB0aGlzLmRyYXdlclJlZj8uaW5zdGFuY2U/LmRpc3Bvc2UoKTtcbiAgICB0aGlzLmNyZWF0ZURyYXdlcigpO1xuICAgIHRoaXMudXBkYXRlT3B0aW9ucyhvcHRpb25zKTtcbiAgICByZXR1cm4gdGhpcy5kcmF3ZXJSZWY/Lmluc3RhbmNlO1xuICB9XG5cbiAgdXBkYXRlT3B0aW9ucyhvcHRpb25zOiBEcmF3ZXJPcHRpb25zKTogdm9pZCB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLmRyYXdlclJlZi5pbnN0YW5jZSwgb3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURyYXdlcigpOiB2b2lkIHtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKCk7XG4gICAgdGhpcy5kcmF3ZXJSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKFxuICAgICAgbmV3IENvbXBvbmVudFBvcnRhbChEcmF3ZXJDb21wb25lbnQpLFxuICAgICk7XG4gICAgdGhpcy5kcmF3ZXJSZWYuaW5zdGFuY2UuZHJhd2VyVmlld0luaXRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5kcmF3ZXJSZWYuaW5zdGFuY2Uub3BlbigpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmRyYXdlclJlZi5pbnN0YW5jZS5hZnRlckNsb3NlZFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgICB0aGlzLmRyYXdlclJlZiA9IG51bGw7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,21 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { TooltipActiveDirective } from '../tooltip';
3
- import * as i0 from "@angular/core";
4
- export class DropdownActiveDirective extends TooltipActiveDirective {
5
- constructor() {
6
- super(...arguments);
7
- this.customClass = '';
8
- }
9
- }
10
- DropdownActiveDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DropdownActiveDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
11
- DropdownActiveDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DropdownActiveDirective, selector: "[auiDropdownActive]", inputs: { customClass: ["auiDropdownActive", "customClass"] }, usesInheritance: true, ngImport: i0 });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DropdownActiveDirective, decorators: [{
13
- type: Directive,
14
- args: [{
15
- selector: '[auiDropdownActive]',
16
- }]
17
- }], propDecorators: { customClass: [{
18
- type: Input,
19
- args: ['auiDropdownActive']
20
- }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYWN0aXZlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kcm9wZG93bi9kcm9wZG93bi1hY3RpdmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHNCQUFzQjtJQUhuRTs7UUFLVyxnQkFBVyxHQUFzQixFQUFFLENBQUM7S0FDOUM7O29IQUhZLHVCQUF1Qjt3R0FBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBSG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEM7OEJBR1UsV0FBVztzQkFEbkIsS0FBSzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRvb2x0aXBBY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi90b29sdGlwJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aURyb3Bkb3duQWN0aXZlXScsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQWN0aXZlRGlyZWN0aXZlIGV4dGVuZHMgVG9vbHRpcEFjdGl2ZURpcmVjdGl2ZSB7XG4gIEBJbnB1dCgnYXVpRHJvcGRvd25BY3RpdmUnKVxuICBvdmVycmlkZSBjdXN0b21DbGFzczogc3RyaW5nIHwgc3RyaW5nW10gPSAnJztcbn1cbiJdfQ==
@@ -1,51 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
2
- import { ButtonType } from '../../button';
3
- import { ComponentSize } from '../../types';
4
- import { buildBem, coerceAttrBoolean } from '../../utils';
5
- import { MenuComponent } from '../menu/menu.component';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../icon/icon.component";
8
- import * as i2 from "../../button/button.component";
9
- import * as i3 from "../dropdown.directive";
10
- export class DropdownButtonComponent {
11
- constructor() {
12
- this.bem = buildBem('aui-dropdown-button');
13
- this.type = ButtonType.Default;
14
- this.plain = true;
15
- this.size = ComponentSize.Medium;
16
- this.loading = false;
17
- this.buttonClick = new EventEmitter();
18
- this._disabled = false;
19
- }
20
- get disabled() {
21
- return this._disabled;
22
- }
23
- set disabled(val) {
24
- this._disabled = coerceAttrBoolean(val);
25
- }
26
- get disableTrigger() {
27
- return !this.menu?.hasEnabledItem;
28
- }
29
- }
30
- DropdownButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DropdownButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- DropdownButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DropdownButtonComponent, selector: "aui-dropdown-button", inputs: { type: "type", plain: "plain", size: "size", loading: "loading", disabled: "disabled" }, outputs: { buttonClick: "buttonClick" }, queries: [{ propertyName: "menu", first: true, predicate: MenuComponent, descendants: true, static: true }], ngImport: i0, template: "<div [class]=\"bem.block(size)\">\n <button\n type=\"button\"\n class=\"aui-dropdown-button__content\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [loading]=\"loading\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick.emit($event)\"\n >\n <ng-content></ng-content>\n </button>\n <button\n type=\"button\"\n class=\"aui-dropdown-button__trigger\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [auiDropdown]=\"menu\"\n [disabled]=\"disableTrigger\"\n >\n <aui-icon icon=\"angle_down\"></aui-icon>\n </button>\n</div>\n", styles: [".aui-dropdown-button{display:inline-block}.aui-dropdown-button--large .aui-dropdown-button__trigger .aui-button__content{padding:0 7px}.aui-dropdown-button--medium .aui-dropdown-button__trigger .aui-button__content{padding:0 5px}.aui-dropdown-button--small .aui-dropdown-button__trigger .aui-button__content,.aui-dropdown-button--mini .aui-dropdown-button__trigger .aui-button__content{padding:0 3px}.aui-dropdown-button__content.aui-button{border-bottom-right-radius:0;border-top-right-radius:0}.aui-dropdown-button__content.aui-button:not([disabled]):hover,.aui-dropdown-button__content.aui-button:not([disabled]):active,.aui-dropdown-button__content.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__trigger.aui-button{border-bottom-left-radius:0;border-top-left-radius:0}.aui-dropdown-button__trigger.aui-button[disabled]{z-index:-1}.aui-dropdown-button__trigger.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button{margin-left:1px}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button.isPlain{margin-left:-1px}aui-dropdown-button+aui-dropdown-button>.aui-dropdown-button,aui-dropdown-button+.aui-button,.aui-button+aui-dropdown-button>.aui-dropdown-button{margin-left:var(--aui-spacing-m)}\n"], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { kind: "directive", type: i3.DropdownDirective, selector: "[auiDropdown]", inputs: ["auiDropdownClass", "auiDropdownDisabled", "auiDropdownPosition", "auiDropdownTrigger", "auiDropdown", "auiDropdownContext", "auiDropdownHideOnClick"], outputs: ["auiDropdownVisibleChange"], exportAs: ["auiDropdown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DropdownButtonComponent, decorators: [{
33
- type: Component,
34
- args: [{ selector: 'aui-dropdown-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, template: "<div [class]=\"bem.block(size)\">\n <button\n type=\"button\"\n class=\"aui-dropdown-button__content\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [loading]=\"loading\"\n [disabled]=\"disabled\"\n (click)=\"buttonClick.emit($event)\"\n >\n <ng-content></ng-content>\n </button>\n <button\n type=\"button\"\n class=\"aui-dropdown-button__trigger\"\n [aui-button]=\"type\"\n [plain]=\"plain\"\n [size]=\"size\"\n [auiDropdown]=\"menu\"\n [disabled]=\"disableTrigger\"\n >\n <aui-icon icon=\"angle_down\"></aui-icon>\n </button>\n</div>\n", styles: [".aui-dropdown-button{display:inline-block}.aui-dropdown-button--large .aui-dropdown-button__trigger .aui-button__content{padding:0 7px}.aui-dropdown-button--medium .aui-dropdown-button__trigger .aui-button__content{padding:0 5px}.aui-dropdown-button--small .aui-dropdown-button__trigger .aui-button__content,.aui-dropdown-button--mini .aui-dropdown-button__trigger .aui-button__content{padding:0 3px}.aui-dropdown-button__content.aui-button{border-bottom-right-radius:0;border-top-right-radius:0}.aui-dropdown-button__content.aui-button:not([disabled]):hover,.aui-dropdown-button__content.aui-button:not([disabled]):active,.aui-dropdown-button__content.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__trigger.aui-button{border-bottom-left-radius:0;border-top-left-radius:0}.aui-dropdown-button__trigger.aui-button[disabled]{z-index:-1}.aui-dropdown-button__trigger.aui-button:not([disabled]):focus{z-index:1}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button{margin-left:1px}.aui-dropdown-button__content.aui-button+.aui-dropdown-button__trigger.aui-button.isPlain{margin-left:-1px}aui-dropdown-button+aui-dropdown-button>.aui-dropdown-button,aui-dropdown-button+.aui-button,.aui-button+aui-dropdown-button>.aui-dropdown-button{margin-left:var(--aui-spacing-m)}\n"] }]
35
- }], propDecorators: { type: [{
36
- type: Input
37
- }], plain: [{
38
- type: Input
39
- }], size: [{
40
- type: Input
41
- }], loading: [{
42
- type: Input
43
- }], disabled: [{
44
- type: Input
45
- }], buttonClick: [{
46
- type: Output
47
- }], menu: [{
48
- type: ContentChild,
49
- args: [MenuComponent, { static: true }]
50
- }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kcm9wZG93bi9kcm9wZG93bi1idXR0b24vZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9kcm9wZG93bi9kcm9wZG93bi1idXR0b24vZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBTyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQVV2RCxNQUFNLE9BQU8sdUJBQXVCO0lBUnBDO1FBU0UsUUFBRyxHQUFRLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRzNDLFNBQUksR0FBZSxVQUFVLENBQUMsT0FBTyxDQUFDO1FBR3RDLFVBQUssR0FBRyxJQUFJLENBQUM7UUFHYixTQUFJLEdBQWtCLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFHM0MsWUFBTyxHQUFHLEtBQUssQ0FBQztRQVloQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFTaEMsY0FBUyxHQUFHLEtBQUssQ0FBQztLQUMzQjtJQXBCQyxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEdBQWlCO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQVFELElBQUksY0FBYztRQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUM7SUFDcEMsQ0FBQzs7b0hBaENVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHdPQTJCcEIsYUFBYSw4RENsRDdCLHNtQkF5QkE7MkZERmEsdUJBQXVCO2tCQVJuQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLHVCQUNoQixLQUFLOzhCQU0xQixJQUFJO3NCQURILEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSUYsUUFBUTtzQkFEWCxLQUFLO2dCQVVOLFdBQVc7c0JBRFYsTUFBTTtnQkFJUCxJQUFJO3NCQURILFlBQVk7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJ1dHRvblR5cGUgfSBmcm9tICcuLi8uLi9idXR0b24nO1xuaW1wb3J0IHsgQ29tcG9uZW50U2l6ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEJlbSwgYnVpbGRCZW0sIGNvZXJjZUF0dHJCb29sZWFuIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUvbWVudS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktZHJvcGRvd24tYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLWJ1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQnV0dG9uQ29tcG9uZW50IHtcbiAgYmVtOiBCZW0gPSBidWlsZEJlbSgnYXVpLWRyb3Bkb3duLWJ1dHRvbicpO1xuXG4gIEBJbnB1dCgpXG4gIHR5cGU6IEJ1dHRvblR5cGUgPSBCdXR0b25UeXBlLkRlZmF1bHQ7XG5cbiAgQElucHV0KClcbiAgcGxhaW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IENvbXBvbmVudFNpemUgPSBDb21wb25lbnRTaXplLk1lZGl1bTtcblxuICBASW5wdXQoKVxuICBsb2FkaW5nID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQXR0ckJvb2xlYW4odmFsKTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBidXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZChNZW51Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBtZW51OiBNZW51Q29tcG9uZW50O1xuXG4gIGdldCBkaXNhYmxlVHJpZ2dlcigpIHtcbiAgICByZXR1cm4gIXRoaXMubWVudT8uaGFzRW5hYmxlZEl0ZW07XG4gIH1cblxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xufVxuIiwiPGRpdiBbY2xhc3NdPVwiYmVtLmJsb2NrKHNpemUpXCI+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cImF1aS1kcm9wZG93bi1idXR0b25fX2NvbnRlbnRcIlxuICAgIFthdWktYnV0dG9uXT1cInR5cGVcIlxuICAgIFtwbGFpbl09XCJwbGFpblwiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAoY2xpY2spPVwiYnV0dG9uQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cImF1aS1kcm9wZG93bi1idXR0b25fX3RyaWdnZXJcIlxuICAgIFthdWktYnV0dG9uXT1cInR5cGVcIlxuICAgIFtwbGFpbl09XCJwbGFpblwiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gICAgW2F1aURyb3Bkb3duXT1cIm1lbnVcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlVHJpZ2dlclwiXG4gID5cbiAgICA8YXVpLWljb24gaWNvbj1cImFuZ2xlX2Rvd25cIj48L2F1aS1pY29uPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19