@alauda/ui 6.5.10-beta.4 → 6.5.10-beta.41

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 (606) hide show
  1. package/accordion/accordion-item/accordion-item.component.d.ts +3 -3
  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 +3 -3
  5. package/autocomplete/autocomplete-placeholder.component.d.ts +1 -1
  6. package/autocomplete/autocomplete.component.d.ts +1 -1
  7. package/autocomplete/autocomplete.directive.d.ts +2 -2
  8. package/autocomplete/autocomplete.types.d.ts +1 -1
  9. package/autocomplete/helper-directives.d.ts +1 -1
  10. package/autocomplete/suggestion/suggestion.component.d.ts +6 -6
  11. package/autocomplete/suggestion-group/suggestion-group.component.d.ts +1 -1
  12. package/back-top/back-top.component.d.ts +3 -2
  13. package/back-top/back-top.module.d.ts +2 -1
  14. package/breadcrumb/breadcrumb-item.component.d.ts +1 -1
  15. package/breadcrumb/breadcrumb.component.d.ts +1 -1
  16. package/button/button-group/button-group.component.d.ts +1 -1
  17. package/button/button.component.d.ts +1 -1
  18. package/button/button.types.d.ts +1 -12
  19. package/card/card.component.d.ts +1 -1
  20. package/card/helper-directives.d.ts +3 -7
  21. package/card/section.component.d.ts +1 -1
  22. package/checkbox/checkbox-group/checkbox-group.component.d.ts +3 -3
  23. package/checkbox/checkbox.component.d.ts +1 -1
  24. package/color-picker/color-picker.component.d.ts +1 -1
  25. package/date-picker/calendar/date-picker-panel/component.d.ts +1 -1
  26. package/date-picker/calendar/footer/component.d.ts +1 -1
  27. package/date-picker/calendar/header/component.d.ts +1 -1
  28. package/date-picker/calendar/panel/picker-panel.d.ts +1 -1
  29. package/date-picker/calendar/range-picker-panel/component.d.ts +1 -1
  30. package/date-picker/date-picker/date-picker.component.d.ts +1 -1
  31. package/date-picker/date-picker.type.d.ts +2 -2
  32. package/date-picker/range-picker/range-picker.component.d.ts +1 -1
  33. package/date-picker/trigger/trigger.component.d.ts +1 -1
  34. package/dialog/confirm-dialog/confirm-dialog.component.d.ts +1 -1
  35. package/dialog/dialog-content/dialog-close.directive.d.ts +1 -1
  36. package/dialog/dialog-content/dialog-content.component.d.ts +1 -1
  37. package/dialog/dialog-content/dialog-footer.component.d.ts +1 -1
  38. package/dialog/dialog-content/dialog-header.component.d.ts +1 -1
  39. package/dialog/dialog.component.d.ts +1 -1
  40. package/dialog/dialog.types.d.ts +3 -3
  41. package/drawer/component/drawer.component.d.ts +1 -1
  42. package/drawer/component/helper-directives.d.ts +3 -3
  43. package/dropdown/dropdown-active.directive.d.ts +1 -1
  44. package/dropdown/dropdown-button/dropdown-button.component.d.ts +3 -4
  45. package/dropdown/dropdown.directive.d.ts +1 -1
  46. package/dropdown/dropdown.types.d.ts +1 -1
  47. package/dropdown/helper-directives.d.ts +1 -1
  48. package/dropdown/menu/menu-content.directive.d.ts +1 -1
  49. package/dropdown/menu/menu.component.d.ts +1 -1
  50. package/dropdown/menu-group/menu-group.component.d.ts +1 -1
  51. package/dropdown/menu-item/menu-item.component.d.ts +1 -1
  52. package/dropdown/submenu/submenu.component.d.ts +1 -1
  53. package/esm2022/accordion/accordion-item/accordion-item.component.mjs +73 -0
  54. package/esm2022/accordion/accordion.component.mjs +29 -0
  55. package/esm2022/accordion/accordion.module.mjs +39 -0
  56. package/esm2022/alauda-ui.mjs +2 -0
  57. package/esm2022/anchor/anchor.component.mjs +141 -0
  58. package/esm2022/anchor/anchor.directive.mjs +198 -0
  59. package/esm2022/anchor/anchor.module.mjs +35 -0
  60. package/{esm2020 → esm2022}/autocomplete/autocomplete-placeholder.component.mjs +4 -4
  61. package/esm2022/autocomplete/autocomplete.component.mjs +72 -0
  62. package/esm2022/autocomplete/autocomplete.directive.mjs +282 -0
  63. package/esm2022/autocomplete/autocomplete.module.mjs +53 -0
  64. package/{esm2020 → esm2022}/autocomplete/helper-directives.mjs +4 -4
  65. package/esm2022/autocomplete/suggestion/suggestion.component.mjs +77 -0
  66. package/esm2022/autocomplete/suggestion-group/suggestion-group.component.mjs +25 -0
  67. package/esm2022/back-top/back-top.component.mjs +84 -0
  68. package/esm2022/back-top/back-top.module.mjs +20 -0
  69. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +33 -0
  70. package/esm2022/breadcrumb/breadcrumb.component.mjs +56 -0
  71. package/esm2022/breadcrumb/breadcrumb.module.mjs +20 -0
  72. package/{esm2020 → esm2022}/button/button-group/button-group.component.mjs +4 -4
  73. package/esm2022/button/button.component.mjs +124 -0
  74. package/esm2022/button/button.module.mjs +20 -0
  75. package/esm2022/button/button.types.mjs +11 -0
  76. package/esm2022/card/card.component.mjs +14 -0
  77. package/esm2022/card/card.module.mjs +40 -0
  78. package/esm2022/card/helper-directives.mjs +42 -0
  79. package/{esm2020 → esm2022}/card/section.component.mjs +4 -4
  80. package/esm2022/checkbox/checkbox-group/checkbox-group.component.mjs +60 -0
  81. package/esm2022/checkbox/checkbox.component.mjs +116 -0
  82. package/esm2022/checkbox/checkbox.module.mjs +20 -0
  83. package/esm2022/color-picker/color-picker.component.mjs +28 -0
  84. package/esm2022/color-picker/color-picker.module.mjs +19 -0
  85. package/esm2022/date-picker/calendar/constant.mjs +31 -0
  86. package/esm2022/date-picker/calendar/date-picker-panel/component.mjs +137 -0
  87. package/esm2022/date-picker/calendar/footer/component.mjs +29 -0
  88. package/esm2022/date-picker/calendar/header/component.mjs +100 -0
  89. package/esm2022/date-picker/calendar/panel/picker-panel.mjs +158 -0
  90. package/esm2022/date-picker/calendar/range-picker-panel/component.mjs +210 -0
  91. package/esm2022/date-picker/calendar/util.mjs +152 -0
  92. package/esm2022/date-picker/date-picker/date-picker.component.mjs +115 -0
  93. package/esm2022/date-picker/date-picker.module.mjs +82 -0
  94. package/esm2022/date-picker/range-picker/range-picker.component.mjs +88 -0
  95. package/esm2022/date-picker/trigger/trigger.component.mjs +76 -0
  96. package/esm2022/dialog/confirm-dialog/confirm-dialog-config.mjs +13 -0
  97. package/esm2022/dialog/confirm-dialog/confirm-dialog.component.mjs +91 -0
  98. package/{esm2020 → esm2022}/dialog/dialog-animations.mjs +1 -2
  99. package/esm2022/dialog/dialog-config.mjs +14 -0
  100. package/esm2022/dialog/dialog-content/dialog-close.directive.mjs +42 -0
  101. package/esm2022/dialog/dialog-content/dialog-content.component.mjs +19 -0
  102. package/esm2022/dialog/dialog-content/dialog-footer.component.mjs +13 -0
  103. package/esm2022/dialog/dialog-content/dialog-header.component.mjs +42 -0
  104. package/esm2022/dialog/dialog-ref.mjs +52 -0
  105. package/esm2022/dialog/dialog.component.mjs +154 -0
  106. package/esm2022/dialog/dialog.module.mjs +65 -0
  107. package/esm2022/dialog/dialog.service.mjs +124 -0
  108. package/esm2022/drawer/component/drawer.component.mjs +248 -0
  109. package/esm2022/drawer/component/helper-directives.mjs +33 -0
  110. package/esm2022/drawer/drawer.module.mjs +36 -0
  111. package/esm2022/drawer/drawer.service.mjs +47 -0
  112. package/esm2022/dropdown/dropdown-active.directive.mjs +18 -0
  113. package/esm2022/dropdown/dropdown-button/dropdown-button.component.mjs +53 -0
  114. package/esm2022/dropdown/dropdown.directive.mjs +83 -0
  115. package/esm2022/dropdown/dropdown.module.mjs +65 -0
  116. package/{esm2020 → esm2022}/dropdown/helper-directives.mjs +4 -4
  117. package/esm2022/dropdown/menu/menu-content.directive.mjs +59 -0
  118. package/esm2022/dropdown/menu/menu.component.mjs +26 -0
  119. package/{esm2020 → esm2022}/dropdown/menu-group/menu-group.component.mjs +4 -4
  120. package/esm2022/dropdown/menu-item/menu-item.component.mjs +35 -0
  121. package/esm2022/dropdown/submenu/submenu.component.mjs +38 -0
  122. package/esm2022/form/common-form.mjs +87 -0
  123. package/esm2022/form/form-item/form-item.component.mjs +121 -0
  124. package/esm2022/form/form.directive.mjs +70 -0
  125. package/esm2022/form/form.module.mjs +48 -0
  126. package/esm2022/form/helper-directives.mjs +73 -0
  127. package/{esm2020 → esm2022}/i18n/i18n.module.mjs +5 -5
  128. package/esm2022/i18n/i18n.pipe.mjs +21 -0
  129. package/esm2022/i18n/i18n.service.mjs +48 -0
  130. package/esm2022/icon/icon-register.service.mjs +75 -0
  131. package/esm2022/icon/icon.component.mjs +74 -0
  132. package/esm2022/icon/icon.module.mjs +21 -0
  133. package/{esm2020 → esm2022}/inline-alert/helper-directives.mjs +4 -4
  134. package/esm2022/inline-alert/inline-alert.component.mjs +58 -0
  135. package/esm2022/inline-alert/inline-alert.module.mjs +20 -0
  136. package/esm2022/input/autosize.directive.mjs +56 -0
  137. package/esm2022/input/helper-directives.mjs +43 -0
  138. package/esm2022/input/input-group/input-group.component.mjs +46 -0
  139. package/esm2022/input/input.component.mjs +59 -0
  140. package/esm2022/input/input.module.mjs +85 -0
  141. package/esm2022/input/number-input/number-input.component.mjs +121 -0
  142. package/esm2022/input/search/search.component.mjs +87 -0
  143. package/esm2022/input/tags-input/tags-input.component.mjs +264 -0
  144. package/esm2022/input/tags-input/with-max-row-count.mjs +50 -0
  145. package/esm2022/message/base-message.mjs +99 -0
  146. package/esm2022/message/message-wrapper.component.mjs +15 -0
  147. package/esm2022/message/message.component.mjs +77 -0
  148. package/esm2022/message/message.config.mjs +20 -0
  149. package/esm2022/message/message.module.mjs +22 -0
  150. package/{esm2020 → esm2022}/message/message.service.mjs +4 -4
  151. package/esm2022/notification/notification-wrapper.component.mjs +17 -0
  152. package/esm2022/notification/notification.component.mjs +106 -0
  153. package/esm2022/notification/notification.module.mjs +23 -0
  154. package/{esm2020 → esm2022}/notification/notification.service.mjs +4 -4
  155. package/esm2022/paginator/paginator-intl.mjs +24 -0
  156. package/esm2022/paginator/paginator.component.mjs +126 -0
  157. package/esm2022/paginator/paginator.module.mjs +24 -0
  158. package/esm2022/radio/base-radio.mjs +72 -0
  159. package/esm2022/radio/radio-button/radio-button.component.mjs +41 -0
  160. package/esm2022/radio/radio-group/radio-group.component.mjs +65 -0
  161. package/esm2022/radio/radio.component.mjs +23 -0
  162. package/esm2022/radio/radio.module.mjs +21 -0
  163. package/esm2022/scrolling/fixed-size-table-virtual-scroll-strategy.mjs +80 -0
  164. package/esm2022/scrolling/fixed-size-table-virtual-scroll.directive.mjs +119 -0
  165. package/esm2022/scrolling/fixed-size-virtual-scroll.directive.mjs +27 -0
  166. package/{esm2020 → esm2022}/scrolling/scrolling.module.mjs +9 -9
  167. package/{esm2020 → esm2022}/scrolling/virtual-for-of.directive.mjs +4 -4
  168. package/esm2022/scrolling/virtual-scroll-viewport.component.mjs +26 -0
  169. package/esm2022/select/base-select.mjs +333 -0
  170. package/{esm2020 → esm2022}/select/helper-directives.mjs +7 -7
  171. package/esm2022/select/multi-select/multi-select.component.mjs +311 -0
  172. package/esm2022/select/option/option.component.mjs +119 -0
  173. package/esm2022/select/option-group/option-group.component.mjs +25 -0
  174. package/{esm2020 → esm2022}/select/option-placeholder.component.mjs +4 -4
  175. package/esm2022/select/select.component.mjs +107 -0
  176. package/esm2022/select/select.module.mjs +78 -0
  177. package/esm2022/select/validators.mjs +78 -0
  178. package/esm2022/shared/click-outside.directive.mjs +29 -0
  179. package/{esm2020 → esm2022}/shared/shared.module.mjs +5 -5
  180. package/esm2022/sort/sort-errors.mjs +13 -0
  181. package/esm2022/sort/sort-header.component.mjs +74 -0
  182. package/esm2022/sort/sort.directive.mjs +73 -0
  183. package/esm2022/sort/sort.module.mjs +19 -0
  184. package/esm2022/status-bar/status-bar.component.mjs +28 -0
  185. package/esm2022/status-bar/status-bar.module.mjs +19 -0
  186. package/esm2022/steps/steps.component.mjs +166 -0
  187. package/esm2022/steps/steps.module.mjs +19 -0
  188. package/{esm2020 → esm2022}/steps/types.mjs +1 -1
  189. package/esm2022/switch/switch.component.mjs +43 -0
  190. package/esm2022/switch/switch.module.mjs +18 -0
  191. package/esm2022/table/table-cell-def.directive.mjs +25 -0
  192. package/esm2022/table/table-cell.component.mjs +115 -0
  193. package/esm2022/table/table-cell.directive.mjs +29 -0
  194. package/esm2022/table/table-column-def.directive.mjs +31 -0
  195. package/esm2022/table/table-header-cell-def.directive.mjs +25 -0
  196. package/esm2022/table/table-header-cell.directive.mjs +25 -0
  197. package/esm2022/table/table-header-row-def.directive.mjs +33 -0
  198. package/esm2022/table/table-header-row.component.mjs +24 -0
  199. package/esm2022/table/table-placeholder.directive.mjs +33 -0
  200. package/esm2022/table/table-row-def.directive.mjs +34 -0
  201. package/esm2022/table/table-row.component.mjs +43 -0
  202. package/esm2022/table/table-scroll.directive.mjs +133 -0
  203. package/esm2022/table/table.component.mjs +79 -0
  204. package/esm2022/table/table.module.mjs +96 -0
  205. package/esm2022/table-of-contents/table-of-contents.module.mjs +20 -0
  206. package/esm2022/table-of-contents/toc-container.directive.mjs +111 -0
  207. package/esm2022/table-of-contents/toc-content.directive.mjs +39 -0
  208. package/esm2022/table-of-contents/toc-link.directive.mjs +48 -0
  209. package/esm2022/tabs/tab-body.component.mjs +146 -0
  210. package/esm2022/tabs/tab-context.service.mjs +30 -0
  211. package/esm2022/tabs/tab-group.component.mjs +256 -0
  212. package/esm2022/tabs/tab-header-active-indicator.component.mjs +41 -0
  213. package/esm2022/tabs/tab-header.component.mjs +277 -0
  214. package/esm2022/tabs/tab.component.mjs +72 -0
  215. package/esm2022/tabs/tabs.module.mjs +86 -0
  216. package/esm2022/tabs/tabs.types.mjs +10 -0
  217. package/esm2022/tag/check-tag/check-tag.component.mjs +31 -0
  218. package/esm2022/tag/tag.component.mjs +63 -0
  219. package/esm2022/tag/tag.module.mjs +20 -0
  220. package/esm2022/theme/theme.module.mjs +18 -0
  221. package/esm2022/theme/theme.pipe.mjs +64 -0
  222. package/esm2022/theme/theme.service.mjs +59 -0
  223. package/esm2022/time-picker/component.mjs +183 -0
  224. package/esm2022/time-picker/panel/panel.component.mjs +240 -0
  225. package/esm2022/time-picker/time-picker.module.mjs +56 -0
  226. package/esm2022/time-picker/time-picker.type.mjs +13 -0
  227. package/esm2022/tooltip/base-tooltip.mjs +333 -0
  228. package/esm2022/tooltip/tooltip-active.directive.mjs +51 -0
  229. package/esm2022/tooltip/tooltip-copy.directive.mjs +87 -0
  230. package/esm2022/tooltip/tooltip-intl.mjs +21 -0
  231. package/esm2022/tooltip/tooltip.component.mjs +120 -0
  232. package/esm2022/tooltip/tooltip.directive.mjs +44 -0
  233. package/esm2022/tooltip/tooltip.module.mjs +32 -0
  234. package/esm2022/tooltip/utils/index.mjs +58 -0
  235. package/{esm2020 → esm2022}/tree-select/tree-node-placeholder.component.mjs +4 -4
  236. package/esm2022/tree-select/tree-select.component.mjs +329 -0
  237. package/esm2022/tree-select/tree-select.module.mjs +34 -0
  238. package/esm2022/types.mjs +8 -0
  239. package/esm2022/utils/bem.mjs +44 -0
  240. package/esm2022/utils/coercion.mjs +5 -0
  241. package/esm2022/utils/fn.mjs +16 -0
  242. package/{fesm2020 → fesm2022}/alauda-ui.mjs +3144 -3252
  243. package/fesm2022/alauda-ui.mjs.map +1 -0
  244. package/form/common-form.d.ts +1 -9
  245. package/form/form-item/form-item.component.d.ts +1 -1
  246. package/form/form.directive.d.ts +1 -1
  247. package/form/form.types.d.ts +2 -2
  248. package/form/helper-directives.d.ts +7 -8
  249. package/i18n/i18n.pipe.d.ts +1 -1
  250. package/i18n/i18n.type.d.ts +1 -1
  251. package/icon/icon.component.d.ts +1 -1
  252. package/inline-alert/helper-directives.d.ts +1 -1
  253. package/inline-alert/inline-alert.component.d.ts +1 -1
  254. package/inline-alert/inline-alert.types.d.ts +1 -1
  255. package/input/autosize.directive.d.ts +1 -4
  256. package/input/helper-directives.d.ts +4 -4
  257. package/input/input-group/input-group.component.d.ts +1 -1
  258. package/input/input.component.d.ts +2 -5
  259. package/input/number-input/number-input.component.d.ts +5 -3
  260. package/input/search/search.component.d.ts +1 -1
  261. package/input/tags-input/tags-input.component.d.ts +3 -3
  262. package/message/message-wrapper.component.d.ts +1 -1
  263. package/message/message.component.d.ts +1 -1
  264. package/message/message.config.d.ts +0 -20
  265. package/notification/notification-wrapper.component.d.ts +1 -1
  266. package/notification/notification.component.d.ts +1 -5
  267. package/notification/notification.config.d.ts +1 -1
  268. package/package.json +14 -20
  269. package/paginator/paginator-intl.d.ts +0 -9
  270. package/paginator/paginator.component.d.ts +8 -25
  271. package/radio/base-radio.d.ts +1 -1
  272. package/radio/radio-button/radio-button.component.d.ts +1 -1
  273. package/radio/radio-group/radio-group.component.d.ts +1 -5
  274. package/radio/radio.component.d.ts +1 -1
  275. package/radio/radio.types.d.ts +1 -1
  276. package/scrolling/fixed-size-table-virtual-scroll.directive.d.ts +1 -1
  277. package/scrolling/fixed-size-virtual-scroll.directive.d.ts +1 -1
  278. package/scrolling/virtual-for-of.directive.d.ts +1 -1
  279. package/scrolling/virtual-scroll-viewport.component.d.ts +1 -1
  280. package/select/base-select.d.ts +7 -13
  281. package/select/helper-directives.d.ts +2 -2
  282. package/select/multi-select/multi-select.component.d.ts +3 -4
  283. package/select/option/option.component.d.ts +1 -1
  284. package/select/option-group/option-group.component.d.ts +1 -1
  285. package/select/option-placeholder.component.d.ts +1 -1
  286. package/select/select.component.d.ts +1 -1
  287. package/select/select.types.d.ts +3 -3
  288. package/select/validators.d.ts +1 -1
  289. package/shared/click-outside.directive.d.ts +1 -1
  290. package/sort/sort-errors.d.ts +0 -4
  291. package/sort/sort-header.component.d.ts +1 -1
  292. package/sort/sort.directive.d.ts +1 -1
  293. package/sort/sort.types.d.ts +2 -2
  294. package/status-bar/status-bar.component.d.ts +1 -1
  295. package/status-bar/status-bar.types.d.ts +2 -2
  296. package/steps/steps.component.d.ts +1 -5
  297. package/steps/types.d.ts +3 -7
  298. package/switch/switch.component.d.ts +1 -1
  299. package/table/table-cell-def.directive.d.ts +1 -5
  300. package/table/table-cell.component.d.ts +2 -2
  301. package/table/table-cell.directive.d.ts +1 -2
  302. package/table/table-column-def.directive.d.ts +1 -5
  303. package/table/table-header-cell-def.directive.d.ts +1 -5
  304. package/table/table-header-cell.directive.d.ts +1 -2
  305. package/table/table-header-row-def.directive.d.ts +1 -5
  306. package/table/table-header-row.component.d.ts +1 -2
  307. package/table/table-placeholder.directive.d.ts +2 -2
  308. package/table/table-row-def.directive.d.ts +1 -6
  309. package/table/table-row.component.d.ts +1 -2
  310. package/table/table-scroll.directive.d.ts +2 -2
  311. package/table/table.component.d.ts +1 -1
  312. package/table-of-contents/toc-container.directive.d.ts +2 -2
  313. package/table-of-contents/toc-content.directive.d.ts +1 -1
  314. package/table-of-contents/toc-link.directive.d.ts +1 -1
  315. package/tabs/tab-body.component.d.ts +9 -26
  316. package/tabs/tab-context.service.d.ts +0 -3
  317. package/tabs/tab-group.component.d.ts +3 -31
  318. package/tabs/tab-header-active-indicator.component.d.ts +1 -10
  319. package/tabs/tab-header.component.d.ts +2 -85
  320. package/tabs/tab.component.d.ts +3 -22
  321. package/tabs/tabs.types.d.ts +2 -5
  322. package/tag/check-tag/check-tag.component.d.ts +1 -1
  323. package/tag/tag.component.d.ts +1 -1
  324. package/tag/tag.types.d.ts +1 -1
  325. package/theme/style.css +5 -1
  326. package/theme/theme.pipe.d.ts +4 -4
  327. package/theme/theme.types.d.ts +3 -3
  328. package/time-picker/component.d.ts +1 -1
  329. package/time-picker/panel/panel.component.d.ts +1 -1
  330. package/time-picker/time-picker.type.d.ts +1 -1
  331. package/tooltip/base-tooltip.d.ts +1 -1
  332. package/tooltip/tooltip-active.directive.d.ts +1 -1
  333. package/tooltip/tooltip-copy.directive.d.ts +1 -1
  334. package/tooltip/tooltip-intl.d.ts +0 -4
  335. package/tooltip/tooltip.component.d.ts +1 -1
  336. package/tooltip/tooltip.directive.d.ts +1 -1
  337. package/tree-select/tree-node-placeholder.component.d.ts +1 -1
  338. package/tree-select/tree-select.component.d.ts +11 -15
  339. package/tree-select/tree-select.types.d.ts +1 -1
  340. package/types.d.ts +2 -5
  341. package/utils/coercion.d.ts +4 -4
  342. package/utils/fn.d.ts +0 -1
  343. package/utils/operators.d.ts +1 -1
  344. package/.changeset/README.md +0 -8
  345. package/alauda-ui.d.ts +0 -5
  346. package/esm2020/accordion/accordion-item/accordion-item.component.mjs +0 -73
  347. package/esm2020/accordion/accordion.component.mjs +0 -27
  348. package/esm2020/accordion/accordion.module.mjs +0 -39
  349. package/esm2020/alauda-ui.mjs +0 -5
  350. package/esm2020/anchor/anchor.component.mjs +0 -138
  351. package/esm2020/anchor/anchor.directive.mjs +0 -182
  352. package/esm2020/anchor/anchor.module.mjs +0 -36
  353. package/esm2020/autocomplete/autocomplete.component.mjs +0 -64
  354. package/esm2020/autocomplete/autocomplete.directive.mjs +0 -278
  355. package/esm2020/autocomplete/autocomplete.module.mjs +0 -53
  356. package/esm2020/autocomplete/suggestion/suggestion.component.mjs +0 -79
  357. package/esm2020/autocomplete/suggestion-group/suggestion-group.component.mjs +0 -23
  358. package/esm2020/back-top/back-top.component.mjs +0 -67
  359. package/esm2020/back-top/back-top.module.mjs +0 -19
  360. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +0 -32
  361. package/esm2020/breadcrumb/breadcrumb.component.mjs +0 -57
  362. package/esm2020/breadcrumb/breadcrumb.module.mjs +0 -20
  363. package/esm2020/button/button.component.mjs +0 -122
  364. package/esm2020/button/button.module.mjs +0 -20
  365. package/esm2020/button/button.types.mjs +0 -22
  366. package/esm2020/card/card.component.mjs +0 -16
  367. package/esm2020/card/card.module.mjs +0 -40
  368. package/esm2020/card/helper-directives.mjs +0 -50
  369. package/esm2020/checkbox/checkbox-group/checkbox-group.component.mjs +0 -61
  370. package/esm2020/checkbox/checkbox.component.mjs +0 -112
  371. package/esm2020/checkbox/checkbox.module.mjs +0 -20
  372. package/esm2020/color-picker/color-picker.component.mjs +0 -28
  373. package/esm2020/color-picker/color-picker.module.mjs +0 -19
  374. package/esm2020/date-picker/calendar/constant.mjs +0 -32
  375. package/esm2020/date-picker/calendar/date-picker-panel/component.mjs +0 -128
  376. package/esm2020/date-picker/calendar/footer/component.mjs +0 -29
  377. package/esm2020/date-picker/calendar/header/component.mjs +0 -103
  378. package/esm2020/date-picker/calendar/panel/picker-panel.mjs +0 -155
  379. package/esm2020/date-picker/calendar/range-picker-panel/component.mjs +0 -209
  380. package/esm2020/date-picker/calendar/util.mjs +0 -146
  381. package/esm2020/date-picker/date-picker/date-picker.component.mjs +0 -110
  382. package/esm2020/date-picker/date-picker.module.mjs +0 -84
  383. package/esm2020/date-picker/range-picker/range-picker.component.mjs +0 -86
  384. package/esm2020/date-picker/trigger/trigger.component.mjs +0 -69
  385. package/esm2020/dialog/confirm-dialog/confirm-dialog-config.mjs +0 -12
  386. package/esm2020/dialog/confirm-dialog/confirm-dialog.component.mjs +0 -85
  387. package/esm2020/dialog/dialog-config.mjs +0 -15
  388. package/esm2020/dialog/dialog-content/dialog-close.directive.mjs +0 -38
  389. package/esm2020/dialog/dialog-content/dialog-content.component.mjs +0 -20
  390. package/esm2020/dialog/dialog-content/dialog-footer.component.mjs +0 -15
  391. package/esm2020/dialog/dialog-content/dialog-header.component.mjs +0 -39
  392. package/esm2020/dialog/dialog-ref.mjs +0 -48
  393. package/esm2020/dialog/dialog.component.mjs +0 -148
  394. package/esm2020/dialog/dialog.module.mjs +0 -68
  395. package/esm2020/dialog/dialog.service.mjs +0 -121
  396. package/esm2020/drawer/component/drawer.component.mjs +0 -232
  397. package/esm2020/drawer/component/helper-directives.mjs +0 -37
  398. package/esm2020/drawer/drawer.module.mjs +0 -37
  399. package/esm2020/drawer/drawer.service.mjs +0 -44
  400. package/esm2020/dropdown/dropdown-active.directive.mjs +0 -21
  401. package/esm2020/dropdown/dropdown-button/dropdown-button.component.mjs +0 -57
  402. package/esm2020/dropdown/dropdown.directive.mjs +0 -81
  403. package/esm2020/dropdown/dropdown.module.mjs +0 -65
  404. package/esm2020/dropdown/menu/menu-content.directive.mjs +0 -51
  405. package/esm2020/dropdown/menu/menu.component.mjs +0 -26
  406. package/esm2020/dropdown/menu-item/menu-item.component.mjs +0 -37
  407. package/esm2020/dropdown/submenu/submenu.component.mjs +0 -40
  408. package/esm2020/form/common-form.mjs +0 -91
  409. package/esm2020/form/form-item/form-item.component.mjs +0 -108
  410. package/esm2020/form/form.directive.mjs +0 -69
  411. package/esm2020/form/form.module.mjs +0 -48
  412. package/esm2020/form/helper-directives.mjs +0 -80
  413. package/esm2020/i18n/i18n.pipe.mjs +0 -20
  414. package/esm2020/i18n/i18n.service.mjs +0 -43
  415. package/esm2020/icon/icon-register.service.mjs +0 -74
  416. package/esm2020/icon/icon.component.mjs +0 -65
  417. package/esm2020/icon/icon.module.mjs +0 -21
  418. package/esm2020/inline-alert/inline-alert.component.mjs +0 -53
  419. package/esm2020/inline-alert/inline-alert.module.mjs +0 -20
  420. package/esm2020/input/autosize.directive.mjs +0 -59
  421. package/esm2020/input/helper-directives.mjs +0 -43
  422. package/esm2020/input/input-group/input-group.component.mjs +0 -39
  423. package/esm2020/input/input.component.mjs +0 -61
  424. package/esm2020/input/input.module.mjs +0 -87
  425. package/esm2020/input/number-input/number-input.component.mjs +0 -112
  426. package/esm2020/input/search/search.component.mjs +0 -88
  427. package/esm2020/input/tags-input/tags-input.component.mjs +0 -260
  428. package/esm2020/input/tags-input/with-max-row-count.mjs +0 -43
  429. package/esm2020/message/base-message.mjs +0 -90
  430. package/esm2020/message/message-wrapper.component.mjs +0 -14
  431. package/esm2020/message/message.component.mjs +0 -70
  432. package/esm2020/message/message.config.mjs +0 -21
  433. package/esm2020/message/message.module.mjs +0 -23
  434. package/esm2020/notification/notification-wrapper.component.mjs +0 -16
  435. package/esm2020/notification/notification.component.mjs +0 -107
  436. package/esm2020/notification/notification.module.mjs +0 -24
  437. package/esm2020/paginator/paginator-intl.mjs +0 -37
  438. package/esm2020/paginator/paginator.component.mjs +0 -125
  439. package/esm2020/paginator/paginator.module.mjs +0 -24
  440. package/esm2020/radio/base-radio.mjs +0 -67
  441. package/esm2020/radio/radio-button/radio-button.component.mjs +0 -42
  442. package/esm2020/radio/radio-group/radio-group.component.mjs +0 -76
  443. package/esm2020/radio/radio.component.mjs +0 -24
  444. package/esm2020/radio/radio.module.mjs +0 -21
  445. package/esm2020/scrolling/fixed-size-table-virtual-scroll-strategy.mjs +0 -83
  446. package/esm2020/scrolling/fixed-size-table-virtual-scroll.directive.mjs +0 -121
  447. package/esm2020/scrolling/fixed-size-virtual-scroll.directive.mjs +0 -28
  448. package/esm2020/scrolling/virtual-scroll-viewport.component.mjs +0 -26
  449. package/esm2020/select/base-select.mjs +0 -337
  450. package/esm2020/select/multi-select/multi-select.component.mjs +0 -313
  451. package/esm2020/select/option/option.component.mjs +0 -112
  452. package/esm2020/select/option-group/option-group.component.mjs +0 -23
  453. package/esm2020/select/select.component.mjs +0 -108
  454. package/esm2020/select/select.module.mjs +0 -80
  455. package/esm2020/select/validators.mjs +0 -79
  456. package/esm2020/shared/click-outside.directive.mjs +0 -28
  457. package/esm2020/sort/sort-errors.mjs +0 -17
  458. package/esm2020/sort/sort-header.component.mjs +0 -72
  459. package/esm2020/sort/sort.directive.mjs +0 -75
  460. package/esm2020/sort/sort.module.mjs +0 -19
  461. package/esm2020/status-bar/status-bar.component.mjs +0 -29
  462. package/esm2020/status-bar/status-bar.module.mjs +0 -19
  463. package/esm2020/steps/steps.component.mjs +0 -184
  464. package/esm2020/steps/steps.module.mjs +0 -19
  465. package/esm2020/switch/switch.component.mjs +0 -46
  466. package/esm2020/switch/switch.module.mjs +0 -18
  467. package/esm2020/table/table-cell-def.directive.mjs +0 -29
  468. package/esm2020/table/table-cell.component.mjs +0 -121
  469. package/esm2020/table/table-cell.directive.mjs +0 -31
  470. package/esm2020/table/table-column-def.directive.mjs +0 -37
  471. package/esm2020/table/table-header-cell-def.directive.mjs +0 -29
  472. package/esm2020/table/table-header-cell.directive.mjs +0 -27
  473. package/esm2020/table/table-header-row-def.directive.mjs +0 -39
  474. package/esm2020/table/table-header-row.component.mjs +0 -25
  475. package/esm2020/table/table-placeholder.directive.mjs +0 -30
  476. package/esm2020/table/table-row-def.directive.mjs +0 -42
  477. package/esm2020/table/table-row.component.mjs +0 -43
  478. package/esm2020/table/table-scroll.directive.mjs +0 -134
  479. package/esm2020/table/table.component.mjs +0 -79
  480. package/esm2020/table/table.module.mjs +0 -96
  481. package/esm2020/table-of-contents/table-of-contents.module.mjs +0 -20
  482. package/esm2020/table-of-contents/toc-container.directive.mjs +0 -109
  483. package/esm2020/table-of-contents/toc-content.directive.mjs +0 -35
  484. package/esm2020/table-of-contents/toc-link.directive.mjs +0 -44
  485. package/esm2020/tabs/tab-body.component.mjs +0 -165
  486. package/esm2020/tabs/tab-context.service.mjs +0 -31
  487. package/esm2020/tabs/tab-group.component.mjs +0 -291
  488. package/esm2020/tabs/tab-header-active-indicator.component.mjs +0 -53
  489. package/esm2020/tabs/tab-header.component.mjs +0 -367
  490. package/esm2020/tabs/tab.component.mjs +0 -85
  491. package/esm2020/tabs/tabs.module.mjs +0 -88
  492. package/esm2020/tabs/tabs.types.mjs +0 -13
  493. package/esm2020/tag/check-tag/check-tag.component.mjs +0 -33
  494. package/esm2020/tag/tag.component.mjs +0 -66
  495. package/esm2020/tag/tag.module.mjs +0 -20
  496. package/esm2020/theme/theme.module.mjs +0 -18
  497. package/esm2020/theme/theme.pipe.mjs +0 -69
  498. package/esm2020/theme/theme.service.mjs +0 -52
  499. package/esm2020/time-picker/component.mjs +0 -179
  500. package/esm2020/time-picker/panel/panel.component.mjs +0 -230
  501. package/esm2020/time-picker/time-picker.module.mjs +0 -58
  502. package/esm2020/time-picker/time-picker.type.mjs +0 -13
  503. package/esm2020/tooltip/base-tooltip.mjs +0 -322
  504. package/esm2020/tooltip/tooltip-active.directive.mjs +0 -49
  505. package/esm2020/tooltip/tooltip-copy.directive.mjs +0 -82
  506. package/esm2020/tooltip/tooltip-intl.mjs +0 -29
  507. package/esm2020/tooltip/tooltip.component.mjs +0 -107
  508. package/esm2020/tooltip/tooltip.directive.mjs +0 -47
  509. package/esm2020/tooltip/tooltip.module.mjs +0 -33
  510. package/esm2020/tooltip/utils/index.mjs +0 -58
  511. package/esm2020/tree-select/tree-select.component.mjs +0 -340
  512. package/esm2020/tree-select/tree-select.module.mjs +0 -34
  513. package/esm2020/types.mjs +0 -11
  514. package/esm2020/utils/bem.mjs +0 -44
  515. package/esm2020/utils/coercion.mjs +0 -17
  516. package/esm2020/utils/fn.mjs +0 -19
  517. package/fesm2015/alauda-ui.mjs +0 -12051
  518. package/fesm2015/alauda-ui.mjs.map +0 -1
  519. package/fesm2020/alauda-ui.mjs.map +0 -1
  520. package/src/accordion/README.md +0 -13
  521. package/src/anchor/README.md +0 -23
  522. package/src/dropdown/README.md +0 -57
  523. package/src/form/README.md +0 -32
  524. package/src/icon/README.md +0 -28
  525. package/src/inline-alert/README.md +0 -16
  526. package/src/input/number-input/README.md +0 -16
  527. package/src/select/README.md +0 -57
  528. package/src/sort/README.md +0 -13
  529. package/src/table/README.md +0 -8
  530. package/src/table-of-contents/README.md +0 -94
  531. package/src/tag/README.md +0 -32
  532. package/src/tree-select/README.md +0 -34
  533. /package/{esm2020 → esm2022}/accordion/index.mjs +0 -0
  534. /package/{esm2020 → esm2022}/anchor/index.mjs +0 -0
  535. /package/{esm2020 → esm2022}/anchor/types.mjs +0 -0
  536. /package/{esm2020 → esm2022}/anchor/utils.mjs +0 -0
  537. /package/{esm2020 → esm2022}/autocomplete/autocomplete.types.mjs +0 -0
  538. /package/{esm2020 → esm2022}/autocomplete/index.mjs +0 -0
  539. /package/{esm2020 → esm2022}/back-top/index.mjs +0 -0
  540. /package/{esm2020 → esm2022}/breadcrumb/index.mjs +0 -0
  541. /package/{esm2020 → esm2022}/button/index.mjs +0 -0
  542. /package/{esm2020 → esm2022}/card/index.mjs +0 -0
  543. /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
  544. /package/{esm2020 → esm2022}/color-picker/index.mjs +0 -0
  545. /package/{esm2020 → esm2022}/core/animation/animation-consts.mjs +0 -0
  546. /package/{esm2020 → esm2022}/date-picker/date-picker.type.mjs +0 -0
  547. /package/{esm2020 → esm2022}/date-picker/index.mjs +0 -0
  548. /package/{esm2020 → esm2022}/dialog/dialog.types.mjs +0 -0
  549. /package/{esm2020 → esm2022}/dialog/index.mjs +0 -0
  550. /package/{esm2020 → esm2022}/dialog/utils/errors.mjs +0 -0
  551. /package/{esm2020 → esm2022}/dialog/utils/index.mjs +0 -0
  552. /package/{esm2020 → esm2022}/drawer/component/drawer-ref.mjs +0 -0
  553. /package/{esm2020 → esm2022}/drawer/index.mjs +0 -0
  554. /package/{esm2020 → esm2022}/dropdown/dropdown.types.mjs +0 -0
  555. /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
  556. /package/{esm2020 → esm2022}/form/form.types.mjs +0 -0
  557. /package/{esm2020 → esm2022}/form/index.mjs +0 -0
  558. /package/{esm2020 → esm2022}/i18n/i18n.type.mjs +0 -0
  559. /package/{esm2020 → esm2022}/i18n/index.mjs +0 -0
  560. /package/{esm2020 → esm2022}/i18n/language/en.mjs +0 -0
  561. /package/{esm2020 → esm2022}/i18n/language/zh.mjs +0 -0
  562. /package/{esm2020 → esm2022}/icon/icons.mjs +0 -0
  563. /package/{esm2020 → esm2022}/icon/index.mjs +0 -0
  564. /package/{esm2020 → esm2022}/icon/utils.mjs +0 -0
  565. /package/{esm2020 → esm2022}/index.mjs +0 -0
  566. /package/{esm2020 → esm2022}/inline-alert/index.mjs +0 -0
  567. /package/{esm2020 → esm2022}/inline-alert/inline-alert.types.mjs +0 -0
  568. /package/{esm2020 → esm2022}/input/index.mjs +0 -0
  569. /package/{esm2020 → esm2022}/input/utils/index.mjs +0 -0
  570. /package/{esm2020 → esm2022}/message/index.mjs +0 -0
  571. /package/{esm2020 → esm2022}/message/message-animations.mjs +0 -0
  572. /package/{esm2020 → esm2022}/notification/index.mjs +0 -0
  573. /package/{esm2020 → esm2022}/notification/notification.config.mjs +0 -0
  574. /package/{esm2020 → esm2022}/paginator/index.mjs +0 -0
  575. /package/{esm2020 → esm2022}/radio/index.mjs +0 -0
  576. /package/{esm2020 → esm2022}/radio/radio.types.mjs +0 -0
  577. /package/{esm2020 → esm2022}/scrolling/index.mjs +0 -0
  578. /package/{esm2020 → esm2022}/select/index.mjs +0 -0
  579. /package/{esm2020 → esm2022}/select/select.types.mjs +0 -0
  580. /package/{esm2020 → esm2022}/sort/index.mjs +0 -0
  581. /package/{esm2020 → esm2022}/sort/sort.types.mjs +0 -0
  582. /package/{esm2020 → esm2022}/status-bar/index.mjs +0 -0
  583. /package/{esm2020 → esm2022}/status-bar/status-bar.types.mjs +0 -0
  584. /package/{esm2020 → esm2022}/steps/index.mjs +0 -0
  585. /package/{esm2020 → esm2022}/switch/index.mjs +0 -0
  586. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  587. /package/{esm2020 → esm2022}/table-of-contents/index.mjs +0 -0
  588. /package/{esm2020 → esm2022}/tabs/index.mjs +0 -0
  589. /package/{esm2020 → esm2022}/tag/index.mjs +0 -0
  590. /package/{esm2020 → esm2022}/tag/tag.types.mjs +0 -0
  591. /package/{esm2020 → esm2022}/theme/index.mjs +0 -0
  592. /package/{esm2020 → esm2022}/theme/theme.types.mjs +0 -0
  593. /package/{esm2020 → esm2022}/theme/utils.mjs +0 -0
  594. /package/{esm2020 → esm2022}/time-picker/constant.mjs +0 -0
  595. /package/{esm2020 → esm2022}/time-picker/index.mjs +0 -0
  596. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
  597. /package/{esm2020 → esm2022}/tooltip/tooltip.types.mjs +0 -0
  598. /package/{esm2020 → esm2022}/tree-select/index.mjs +0 -0
  599. /package/{esm2020 → esm2022}/tree-select/tree-select.types.mjs +0 -0
  600. /package/{esm2020 → esm2022}/utils/animations.mjs +0 -0
  601. /package/{esm2020 → esm2022}/utils/async.mjs +0 -0
  602. /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
  603. /package/{esm2020 → esm2022}/utils/observe-dom.mjs +0 -0
  604. /package/{esm2020 → esm2022}/utils/operators.mjs +0 -0
  605. /package/{esm2020 → esm2022}/utils/scroll-into-view.mjs +0 -0
  606. /package/{esm2020 → esm2022}/utils/watch-content-exist.mjs +0 -0
@@ -0,0 +1,333 @@
1
+ import { ContentChild, ContentChildren, Directive, EventEmitter, Input, Output, ViewChild, ViewChildren, } from '@angular/core';
2
+ import { BehaviorSubject, combineLatest, map, of, startWith, Subject, switchMap, takeUntil, } from 'rxjs';
3
+ import { CommonFormControl } from '../form';
4
+ import { ComponentSize } from '../types';
5
+ import { coerceAttrBoolean, coerceString, isTemplateRef, publishRef, scrollIntoView, } from '../utils';
6
+ import { OptionContentDirective } from './helper-directives';
7
+ import { OptionComponent } from './option/option.component';
8
+ import * as i0 from "@angular/core";
9
+ export class BaseSelect extends CommonFormControl {
10
+ get size() {
11
+ return this._size;
12
+ }
13
+ set size(val) {
14
+ if (!val || this._size === val) {
15
+ return;
16
+ }
17
+ this._size = val;
18
+ this.size$$.next(val);
19
+ }
20
+ filterable = true;
21
+ clearable;
22
+ filterFn = this._filterFn.bind(this);
23
+ trackFn = this._trackFn;
24
+ labelFn;
25
+ allowCreate;
26
+ get allOptions() {
27
+ return [
28
+ ...(this.customOptions ? this.customOptions.toArray() : []),
29
+ ...(this.contentOptions ? this.contentOptions.toArray() : []),
30
+ ];
31
+ }
32
+ get opened() {
33
+ return this.tooltipRef.isCreated;
34
+ }
35
+ get inputReadonly() {
36
+ return !(this.filterable && this.opened);
37
+ }
38
+ get filterString() {
39
+ return this._filterString;
40
+ }
41
+ set filterString(val) {
42
+ if (val !== this._filterString) {
43
+ this._filterString = val;
44
+ this.filterString$$.next(val);
45
+ this.filterChange.emit(val);
46
+ }
47
+ }
48
+ loading = false;
49
+ placeholder = '';
50
+ defaultFirstOption = true;
51
+ lazy = true;
52
+ filterChange = new EventEmitter();
53
+ show = new EventEmitter();
54
+ hide = new EventEmitter();
55
+ selectRef;
56
+ tooltipRef;
57
+ optionListRef;
58
+ inputtingOption;
59
+ optionContent;
60
+ customOptions;
61
+ contentOptions;
62
+ isTemplateRef = isTemplateRef;
63
+ isMulti = false;
64
+ allOptions$;
65
+ focusedOption;
66
+ _size = ComponentSize.Medium;
67
+ _filterString = '';
68
+ destroy$$ = new Subject();
69
+ size$$ = new BehaviorSubject(this.size);
70
+ filterString$$ = new BehaviorSubject(this.filterString);
71
+ size$ = this.size$$.asObservable();
72
+ filterString$ = this.filterString$$.asObservable();
73
+ hasVisibleOption$;
74
+ hasMatchedOption$;
75
+ customCreatedOptions$;
76
+ containerWidth;
77
+ ngAfterContentInit() {
78
+ this.customCreatedOptions$ = combineLatest([
79
+ this.values$,
80
+ this.contentOptions.changes.pipe(startWith(this.contentOptions), switchMap((options) => options.length > 0
81
+ ? combineLatest(options.map(option => option.value$))
82
+ : of([]))),
83
+ ]).pipe(map(([values, optionValues]) => values.reduce((acc, value) => {
84
+ const included = optionValues
85
+ .map(value => this.trackFn(value))
86
+ .includes(this.trackFn(value));
87
+ if (!included) {
88
+ const label = this.labelFn?.(value) || coerceString(this.trackFn(value));
89
+ if (label) {
90
+ acc.push({
91
+ label,
92
+ value,
93
+ });
94
+ }
95
+ }
96
+ return acc;
97
+ }, [])), publishRef());
98
+ }
99
+ ngAfterViewInit() {
100
+ this.allOptions$ = combineLatest([
101
+ this.customOptions.changes.pipe(startWith(this.customOptions)),
102
+ this.contentOptions.changes.pipe(startWith(this.contentOptions)),
103
+ ]).pipe(map(([customOptions, contentOptions]) => [...customOptions.toArray(), ...contentOptions.toArray()]), publishRef());
104
+ this.allOptions$.pipe(takeUntil(this.destroy$$)).subscribe(() => {
105
+ if (this.opened) {
106
+ requestAnimationFrame(() => {
107
+ this.autoFocusFirstOption();
108
+ });
109
+ }
110
+ });
111
+ this.hasMatchedOption$ = combineLatest([
112
+ this.allOptions$.pipe(map(customOptions => customOptions.filter(option => option !== this.inputtingOption)), switchMap(options => options.length > 0
113
+ ? combineLatest(options.map(option => option.value$))
114
+ : of([]))),
115
+ this.filterString$,
116
+ ]).pipe(map(([values, filterString]) => values.some(value => this.trackFn(value) === filterString)), publishRef());
117
+ this.hasVisibleOption$ = this.contentOptions.changes.pipe(startWith(this.contentOptions), switchMap((options) => options.length > 0
118
+ ? combineLatest(options.map(option => option.visible$))
119
+ : of([])), map(visible => visible.some(Boolean)), publishRef());
120
+ }
121
+ ngOnDestroy() {
122
+ this.optionContent?.detach();
123
+ this.destroy$$.next();
124
+ this.destroy$$.complete();
125
+ }
126
+ openOption() {
127
+ this.tooltipRef.show();
128
+ }
129
+ closeOption() {
130
+ this.tooltipRef.hide();
131
+ }
132
+ onShowOptions() {
133
+ const exec = () => {
134
+ this.containerWidth = this.selectRef.nativeElement.offsetWidth + 'px';
135
+ requestAnimationFrame(() => {
136
+ this.autoFocusFirstOption();
137
+ });
138
+ this.show.emit();
139
+ };
140
+ if (this.optionContent) {
141
+ requestAnimationFrame(() => {
142
+ this.optionContent.attach();
143
+ exec();
144
+ });
145
+ }
146
+ else {
147
+ exec();
148
+ }
149
+ }
150
+ onHideOptions() {
151
+ if (this.onTouched) {
152
+ this.onTouched();
153
+ }
154
+ if (!this.lazy) {
155
+ this.optionContent?.detach();
156
+ }
157
+ this.resetFocusedOption();
158
+ this.filterString = '';
159
+ this.hide.emit();
160
+ }
161
+ onInput(event) {
162
+ this.filterString = event.target.value;
163
+ requestAnimationFrame(() => {
164
+ this.autoFocusFirstOption();
165
+ });
166
+ this.cdr.markForCheck();
167
+ }
168
+ onKeyDown(event) {
169
+ switch (event.key) {
170
+ case 'ArrowDown': {
171
+ this.focusOptionDir('down');
172
+ event.stopPropagation();
173
+ event.preventDefault();
174
+ break;
175
+ }
176
+ case 'ArrowUp': {
177
+ this.focusOptionDir('up');
178
+ event.stopPropagation();
179
+ event.preventDefault();
180
+ break;
181
+ }
182
+ case 'Enter': {
183
+ this.selectFocusedOption();
184
+ event.stopPropagation();
185
+ event.preventDefault();
186
+ break;
187
+ }
188
+ case 'Escape': {
189
+ this.escSelect();
190
+ event.stopPropagation();
191
+ event.preventDefault();
192
+ break;
193
+ }
194
+ }
195
+ }
196
+ onOptionClick(option) {
197
+ this.resetFocusedOption(option);
198
+ this.selectOption(option);
199
+ }
200
+ autoFocusFirstOption() {
201
+ if (this.defaultFirstOption && this.allowCreate && this.filterString) {
202
+ const matchedOption = this.contentOptions.find(option => this.trackFn(option.value) === this.filterString);
203
+ this.resetFocusedOption(matchedOption || this.customOptions.first);
204
+ return;
205
+ }
206
+ const selectedOption = this.allOptions.find(option => option.selected && option.visible);
207
+ if (this.defaultFirstOption) {
208
+ this.resetFocusedOption(selectedOption ||
209
+ this.allOptions.find(option => option.visible && !option.disabled));
210
+ }
211
+ else if (selectedOption) {
212
+ this.scrollToOption(selectedOption);
213
+ }
214
+ }
215
+ focusOptionDir(dir) {
216
+ if (!this.opened) {
217
+ this.openOption();
218
+ return;
219
+ }
220
+ const visibleOptions = this.allOptions.filter(option => option.visible && !option.disabled);
221
+ if (visibleOptions.length === 0) {
222
+ return;
223
+ }
224
+ const step = dir === 'down' ? 1 : -1;
225
+ let i = visibleOptions.indexOf(this.focusedOption);
226
+ i = i + step;
227
+ if (i >= visibleOptions.length) {
228
+ i = 0;
229
+ }
230
+ else if (i < 0) {
231
+ i = visibleOptions.length - 1;
232
+ }
233
+ this.resetFocusedOption(visibleOptions[i]);
234
+ }
235
+ resetFocusedOption(focusedOption) {
236
+ if (this.focusedOption === focusedOption) {
237
+ return;
238
+ }
239
+ if (this.focusedOption) {
240
+ this.focusedOption.blur();
241
+ }
242
+ this.focusedOption = focusedOption;
243
+ if (this.focusedOption) {
244
+ this.focusedOption.focus();
245
+ this.scrollToOption(this.focusedOption);
246
+ }
247
+ }
248
+ scrollToOption(option) {
249
+ if (this.optionListRef) {
250
+ scrollIntoView(this.optionListRef.nativeElement, option.elRef.nativeElement);
251
+ }
252
+ }
253
+ selectFocusedOption() {
254
+ if (!this.opened) {
255
+ this.openOption();
256
+ return;
257
+ }
258
+ if (this.focusedOption && !this.focusedOption.disabled) {
259
+ this.selectOption(this.focusedOption);
260
+ }
261
+ }
262
+ escSelect() {
263
+ this.closeOption();
264
+ }
265
+ _trackFn(value) {
266
+ return value;
267
+ }
268
+ _filterFn(filterString, { label, value }) {
269
+ return ((typeof label === 'string' && label) ||
270
+ this.labelFn?.(value) ||
271
+ coerceString(this.trackFn(value)))
272
+ ?.toLowerCase()
273
+ .includes(filterString?.toLowerCase() ?? '');
274
+ }
275
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: BaseSelect, deps: null, target: i0.ɵɵFactoryTarget.Directive });
276
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: BaseSelect, inputs: { size: "size", filterable: ["filterable", "filterable", coerceAttrBoolean], clearable: ["clearable", "clearable", coerceAttrBoolean], filterFn: "filterFn", trackFn: "trackFn", labelFn: "labelFn", allowCreate: ["allowCreate", "allowCreate", coerceAttrBoolean], loading: "loading", placeholder: "placeholder", defaultFirstOption: "defaultFirstOption", lazy: "lazy" }, outputs: { filterChange: "filterChange", show: "show", hide: "hide" }, queries: [{ propertyName: "optionContent", first: true, predicate: OptionContentDirective, descendants: true }, { propertyName: "contentOptions", predicate: OptionComponent, descendants: true }], viewQueries: [{ propertyName: "selectRef", first: true, predicate: ["selectRef"], descendants: true, static: true }, { propertyName: "tooltipRef", first: true, predicate: ["tooltipRef"], descendants: true, static: true }, { propertyName: "optionListRef", first: true, predicate: ["optionListRef"], descendants: true }, { propertyName: "inputtingOption", first: true, predicate: ["inputtingOption"], descendants: true }, { propertyName: "customOptions", predicate: OptionComponent, descendants: true }], usesInheritance: true, ngImport: i0 });
277
+ }
278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: BaseSelect, decorators: [{
279
+ type: Directive
280
+ }], propDecorators: { size: [{
281
+ type: Input
282
+ }], filterable: [{
283
+ type: Input,
284
+ args: [{ transform: coerceAttrBoolean }]
285
+ }], clearable: [{
286
+ type: Input,
287
+ args: [{ transform: coerceAttrBoolean }]
288
+ }], filterFn: [{
289
+ type: Input
290
+ }], trackFn: [{
291
+ type: Input
292
+ }], labelFn: [{
293
+ type: Input
294
+ }], allowCreate: [{
295
+ type: Input,
296
+ args: [{ transform: coerceAttrBoolean }]
297
+ }], loading: [{
298
+ type: Input
299
+ }], placeholder: [{
300
+ type: Input
301
+ }], defaultFirstOption: [{
302
+ type: Input
303
+ }], lazy: [{
304
+ type: Input
305
+ }], filterChange: [{
306
+ type: Output
307
+ }], show: [{
308
+ type: Output
309
+ }], hide: [{
310
+ type: Output
311
+ }], selectRef: [{
312
+ type: ViewChild,
313
+ args: ['selectRef', { static: true }]
314
+ }], tooltipRef: [{
315
+ type: ViewChild,
316
+ args: ['tooltipRef', { static: true }]
317
+ }], optionListRef: [{
318
+ type: ViewChild,
319
+ args: ['optionListRef', { static: false }]
320
+ }], inputtingOption: [{
321
+ type: ViewChild,
322
+ args: ['inputtingOption', { static: false }]
323
+ }], optionContent: [{
324
+ type: ContentChild,
325
+ args: [OptionContentDirective]
326
+ }], customOptions: [{
327
+ type: ViewChildren,
328
+ args: [OptionComponent]
329
+ }], contentOptions: [{
330
+ type: ContentChildren,
331
+ args: [OptionComponent, { descendants: true }]
332
+ }] } });
333
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zZWxlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VsZWN0L2Jhc2Utc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxZQUFZLEVBQ1osZUFBZSxFQUNmLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLEdBQUcsRUFFSCxFQUFFLEVBQ0YsU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osYUFBYSxFQUNiLFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUk1RCxNQUFNLE9BQWdCLFVBQ3BCLFNBQVEsaUJBQW9CO0lBRzVCLElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsR0FBRztRQUNWLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxHQUFHLEVBQUU7WUFDOUIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUdELFVBQVUsR0FB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Z0JBSU4sV0FBVztzQkFEVixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFO2dCQStCdkMsT0FBTztzQkFETixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsTUFBTTtnQkFJUCxJQUFJO3NCQURILE1BQU07Z0JBSVAsSUFBSTtzQkFESCxNQUFNO2dCQUlHLFNBQVM7c0JBRGxCLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJOUIsVUFBVTtzQkFEbkIsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUkvQixhQUFhO3NCQUR0QixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSW5DLGVBQWU7c0JBRHhCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUlyQyxhQUFhO3NCQUR0QixZQUFZO3VCQUFDLHNCQUFzQjtnQkFJcEMsYUFBYTtzQkFEWixZQUFZO3VCQUFDLGVBQWU7Z0JBSTdCLGNBQWM7c0JBRGIsZUFBZTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIFN1YmplY3QsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ29tbW9uRm9ybUNvbnRyb2wgfSBmcm9tICcuLi9mb3JtJztcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi90b29sdGlwJztcbmltcG9ydCB7IENvbXBvbmVudFNpemUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge1xuICBjb2VyY2VBdHRyQm9vbGVhbixcbiAgY29lcmNlU3RyaW5nLFxuICBpc1RlbXBsYXRlUmVmLFxuICBwdWJsaXNoUmVmLFxuICBzY3JvbGxJbnRvVmlldyxcbn0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBPcHRpb25Db250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9oZWxwZXItZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL29wdGlvbi9vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkZpbHRlckZuLCBTZWxlY3RGaWx0ZXJPcHRpb24sIFRyYWNrRm4gfSBmcm9tICcuL3NlbGVjdC50eXBlcyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VTZWxlY3Q8VCwgViA9IFQ+XG4gIGV4dGVuZHMgQ29tbW9uRm9ybUNvbnRyb2w8Vj5cbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KClcbiAgZ2V0IHNpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gIH1cblxuICBzZXQgc2l6ZSh2YWwpIHtcbiAgICBpZiAoIXZhbCB8fCB0aGlzLl9zaXplID09PSB2YWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fc2l6ZSA9IHZhbDtcbiAgICB0aGlzLnNpemUkJC5uZXh0KHZhbCk7XG4gIH1cblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUF0dHJCb29sZWFuIH0pXG4gIGZpbHRlcmFibGUgPSB0cnVlO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQXR0ckJvb2xlYW4gfSlcbiAgY2xlYXJhYmxlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIGZpbHRlckZuOiBPcHRpb25GaWx0ZXJGbjxUPiA9IHRoaXMuX2ZpbHRlckZuLmJpbmQodGhpcyk7XG5cbiAgQElucHV0KClcbiAgdHJhY2tGbjogVHJhY2tGbjxUPiA9IHRoaXMuX3RyYWNrRm47XG5cbiAgQElucHV0KClcbiAgbGFiZWxGbj86ICh2YWx1ZTogVCkgPT4gc3RyaW5nO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQXR0ckJvb2xlYW4gfSlcbiAgYWxsb3dDcmVhdGU6IGJvb2xlYW47XG5cbiAgZ2V0IGFsbE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLih0aGlzLmN1c3RvbU9wdGlvbnMgPyB0aGlzLmN1c3RvbU9wdGlvbnMudG9BcnJheSgpIDogW10pLFxuICAgICAgLi4uKHRoaXMuY29udGVudE9wdGlvbnMgPyB0aGlzLmNvbnRlbnRPcHRpb25zLnRvQXJyYXkoKSA6IFtdKSxcbiAgICBdO1xuICB9XG5cbiAgZ2V0IG9wZW5lZCgpIHtcbiAgICByZXR1cm4gdGhpcy50b29sdGlwUmVmLmlzQ3JlYXRlZDtcbiAgfVxuXG4gIGdldCBpbnB1dFJlYWRvbmx5KCkge1xuICAgIHJldHVybiAhKHRoaXMuZmlsdGVyYWJsZSAmJiB0aGlzLm9wZW5lZCk7XG4gIH1cblxuICBnZXQgZmlsdGVyU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJTdHJpbmc7XG4gIH1cblxuICBzZXQgZmlsdGVyU3RyaW5nKHZhbCkge1xuICAgIGlmICh2YWwgIT09IHRoaXMuX2ZpbHRlclN0cmluZykge1xuICAgICAgdGhpcy5fZmlsdGVyU3RyaW5nID0gdmFsO1xuICAgICAgdGhpcy5maWx0ZXJTdHJpbmckJC5uZXh0KHZhbCk7XG4gICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHZhbCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgbG9hZGluZyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgQElucHV0KClcbiAgZGVmYXVsdEZpcnN0T3B0aW9uID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBsYXp5ID0gdHJ1ZTtcblxuICBAT3V0cHV0KClcbiAgZmlsdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHNob3cgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGhpZGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0UmVmJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJvdGVjdGVkIHNlbGVjdFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgndG9vbHRpcFJlZicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByb3RlY3RlZCB0b29sdGlwUmVmOiBUb29sdGlwRGlyZWN0aXZlO1xuXG4gIEBWaWV3Q2hpbGQoJ29wdGlvbkxpc3RSZWYnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHJvdGVjdGVkIG9wdGlvbkxpc3RSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0dGluZ09wdGlvbicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwcm90ZWN0ZWQgaW5wdXR0aW5nT3B0aW9uOiBPcHRpb25Db21wb25lbnQ8VD47XG5cbiAgQENvbnRlbnRDaGlsZChPcHRpb25Db250ZW50RGlyZWN0aXZlKVxuICBwcm90ZWN0ZWQgb3B0aW9uQ29udGVudD86IE9wdGlvbkNvbnRlbnREaXJlY3RpdmU7XG5cbiAgQFZpZXdDaGlsZHJlbihPcHRpb25Db21wb25lbnQpXG4gIGN1c3RvbU9wdGlvbnM6IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ8VD4+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oT3B0aW9uQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIGNvbnRlbnRPcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PFQ+PjtcblxuICBpc1RlbXBsYXRlUmVmID0gaXNUZW1wbGF0ZVJlZjtcbiAgaXNNdWx0aSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBVdGlsaXR5IGZpZWxkIHRvIG1ha2Ugc3VyZSB0aGUgdXNlcnMgYWx3YXlzIHNlZSB0aGUgdmFsdWUgYXMgdHlwZSBhcnJheVxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgdmFsdWVzJDogT2JzZXJ2YWJsZTxUW10+O1xuXG4gIGFsbE9wdGlvbnMkOiBPYnNlcnZhYmxlPEFycmF5PE9wdGlvbkNvbXBvbmVudDxUPj4+O1xuXG4gIHByb3RlY3RlZCBmb2N1c2VkT3B0aW9uOiBPcHRpb25Db21wb25lbnQ8VD47XG5cbiAgcHJpdmF0ZSBfc2l6ZTogQ29tcG9uZW50U2l6ZSA9IENvbXBvbmVudFNpemUuTWVkaXVtO1xuICBwcml2YXRlIF9maWx0ZXJTdHJpbmcgPSAnJztcblxuICBwcm90ZWN0ZWQgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJvdGVjdGVkIHNpemUkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29tcG9uZW50U2l6ZT4odGhpcy5zaXplKTtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJTdHJpbmckJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihcbiAgICB0aGlzLmZpbHRlclN0cmluZyxcbiAgKTtcblxuICBzaXplJCA9IHRoaXMuc2l6ZSQkLmFzT2JzZXJ2YWJsZSgpO1xuICBmaWx0ZXJTdHJpbmckID0gdGhpcy5maWx0ZXJTdHJpbmckJC5hc09ic2VydmFibGUoKTtcbiAgaGFzVmlzaWJsZU9wdGlvbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGhhc01hdGNoZWRPcHRpb24kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBjdXN0b21DcmVhdGVkT3B0aW9ucyQ6IE9ic2VydmFibGU8QXJyYXk8U2VsZWN0RmlsdGVyT3B0aW9uPFQ+Pj47XG4gIGNvbnRhaW5lcldpZHRoOiBzdHJpbmc7XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuY3VzdG9tQ3JlYXRlZE9wdGlvbnMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnZhbHVlcyQsXG4gICAgICAoXG4gICAgICAgIHRoaXMuY29udGVudE9wdGlvbnMuY2hhbmdlcyBhcyBPYnNlcnZhYmxlPFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ8VD4+PlxuICAgICAgKS5waXBlKFxuICAgICAgICBzdGFydFdpdGgodGhpcy5jb250ZW50T3B0aW9ucyksXG4gICAgICAgIHN3aXRjaE1hcCgob3B0aW9uczogUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudDxUPj4pID0+XG4gICAgICAgICAgb3B0aW9ucy5sZW5ndGggPiAwXG4gICAgICAgICAgICA/IGNvbWJpbmVMYXRlc3Qob3B0aW9ucy5tYXAob3B0aW9uID0+IG9wdGlvbi52YWx1ZSQpKVxuICAgICAgICAgICAgOiBvZihbXSBhcyBUW10pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbdmFsdWVzLCBvcHRpb25WYWx1ZXNdKSA9PlxuICAgICAgICB2YWx1ZXMucmVkdWNlPEFycmF5PFNlbGVjdEZpbHRlck9wdGlvbjxUPj4+KChhY2MsIHZhbHVlKSA9PiB7XG4gICAgICAgICAgY29uc3QgaW5jbHVkZWQgPSBvcHRpb25WYWx1ZXNcbiAgICAgICAgICAgIC5tYXAodmFsdWUgPT4gdGhpcy50cmFja0ZuKHZhbHVlKSlcbiAgICAgICAgICAgIC5pbmNsdWRlcyh0aGlzLnRyYWNrRm4odmFsdWUpKTtcbiAgICAgICAgICBpZiAoIWluY2x1ZGVkKSB7XG4gICAgICAgICAgICBjb25zdCBsYWJlbCA9XG4gICAgICAgICAgICAgIHRoaXMubGFiZWxGbj8uKHZhbHVlKSB8fCBjb2VyY2VTdHJpbmcodGhpcy50cmFja0ZuKHZhbHVlKSk7XG4gICAgICAgICAgICBpZiAobGFiZWwpIHtcbiAgICAgICAgICAgICAgYWNjLnB1c2goe1xuICAgICAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwgW10pLFxuICAgICAgKSxcbiAgICAgIHB1Ymxpc2hSZWYoKSxcbiAgICApO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuYWxsT3B0aW9ucyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY3VzdG9tT3B0aW9ucy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuY3VzdG9tT3B0aW9ucykpLFxuICAgICAgdGhpcy5jb250ZW50T3B0aW9ucy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuY29udGVudE9wdGlvbnMpKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAoW2N1c3RvbU9wdGlvbnMsIGNvbnRlbnRPcHRpb25zXTogW1xuICAgICAgICAgIFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ8VD4+LFxuICAgICAgICAgIFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ8VD4+LFxuICAgICAgICBdKSA9PiBbLi4uY3VzdG9tT3B0aW9ucy50b0FycmF5KCksIC4uLmNvbnRlbnRPcHRpb25zLnRvQXJyYXkoKV0sXG4gICAgICApLFxuICAgICAgcHVibGlzaFJlZigpLFxuICAgICk7XG5cbiAgICAvLyBzdXBwb3J0IGR5bmFtaWMgb3B0aW9ucyBsb2FkaW5nIG9uIGZpbHRlcmluZ1xuICAgIHRoaXMuYWxsT3B0aW9ucyQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMub3BlbmVkKSB7XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5hdXRvRm9jdXNGaXJzdE9wdGlvbigpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuaGFzTWF0Y2hlZE9wdGlvbiQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuYWxsT3B0aW9ucyQucGlwZShcbiAgICAgICAgbWFwKGN1c3RvbU9wdGlvbnMgPT5cbiAgICAgICAgICBjdXN0b21PcHRpb25zLmZpbHRlcihvcHRpb24gPT4gb3B0aW9uICE9PSB0aGlzLmlucHV0dGluZ09wdGlvbiksXG4gICAgICAgICksXG4gICAgICAgIHN3aXRjaE1hcChvcHRpb25zID0+XG4gICAgICAgICAgb3B0aW9ucy5sZW5ndGggPiAwXG4gICAgICAgICAgICA/IGNvbWJpbmVMYXRlc3Qob3B0aW9ucy5tYXAob3B0aW9uID0+IG9wdGlvbi52YWx1ZSQpKVxuICAgICAgICAgICAgOiBvZihbXSBhcyBUW10pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICAgIHRoaXMuZmlsdGVyU3RyaW5nJCxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbdmFsdWVzLCBmaWx0ZXJTdHJpbmddKSA9PlxuICAgICAgICB2YWx1ZXMuc29tZSh2YWx1ZSA9PiB0aGlzLnRyYWNrRm4odmFsdWUpID09PSBmaWx0ZXJTdHJpbmcpLFxuICAgICAgKSxcbiAgICAgIHB1Ymxpc2hSZWYoKSxcbiAgICApO1xuXG4gICAgdGhpcy5oYXNWaXNpYmxlT3B0aW9uJCA9IChcbiAgICAgIHRoaXMuY29udGVudE9wdGlvbnMuY2hhbmdlcyBhcyBPYnNlcnZhYmxlPFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ8VD4+PlxuICAgICkucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLmNvbnRlbnRPcHRpb25zKSxcbiAgICAgIHN3aXRjaE1hcCgob3B0aW9uczogUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudDxUPj4pID0+XG4gICAgICAgIG9wdGlvbnMubGVuZ3RoID4gMFxuICAgICAgICAgID8gY29tYmluZUxhdGVzdChvcHRpb25zLm1hcChvcHRpb24gPT4gb3B0aW9uLnZpc2libGUkKSlcbiAgICAgICAgICA6IG9mKFtdIGFzIGJvb2xlYW5bXSksXG4gICAgICApLFxuICAgICAgbWFwKHZpc2libGUgPT4gdmlzaWJsZS5zb21lKEJvb2xlYW4pKSxcbiAgICAgIHB1Ymxpc2hSZWYoKSxcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5vcHRpb25Db250ZW50Py5kZXRhY2goKTtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG9wZW5PcHRpb24oKSB7XG4gICAgdGhpcy50b29sdGlwUmVmLnNob3coKTtcbiAgfVxuXG4gIGNsb3NlT3B0aW9uKCkge1xuICAgIHRoaXMudG9vbHRpcFJlZi5oaWRlKCk7XG4gIH1cblxuICBvblNob3dPcHRpb25zKCkge1xuICAgIGNvbnN0IGV4ZWMgPSAoKSA9PiB7XG4gICAgICB0aGlzLmNvbnRhaW5lcldpZHRoID0gdGhpcy5zZWxlY3RSZWYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCArICdweCc7XG5cbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuYXV0b0ZvY3VzRmlyc3RPcHRpb24oKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNob3cuZW1pdCgpO1xuICAgIH07XG5cbiAgICBpZiAodGhpcy5vcHRpb25Db250ZW50KSB7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9wdGlvbkNvbnRlbnQuYXR0YWNoKCk7XG4gICAgICAgIGV4ZWMoKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBleGVjKCk7XG4gICAgfVxuICB9XG5cbiAgb25IaWRlT3B0aW9ucygpIHtcbiAgICBpZiAodGhpcy5vblRvdWNoZWQpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuICAgIGlmICghdGhpcy5sYXp5KSB7XG4gICAgICB0aGlzLm9wdGlvbkNvbnRlbnQ/LmRldGFjaCgpO1xuICAgIH1cbiAgICB0aGlzLnJlc2V0Rm9jdXNlZE9wdGlvbigpO1xuICAgIHRoaXMuZmlsdGVyU3RyaW5nID0gJyc7XG4gICAgdGhpcy5oaWRlLmVtaXQoKTtcbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5maWx0ZXJTdHJpbmcgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIHRoaXMuYXV0b0ZvY3VzRmlyc3RPcHRpb24oKTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6IHtcbiAgICAgICAgdGhpcy5mb2N1c09wdGlvbkRpcignZG93bicpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdBcnJvd1VwJzoge1xuICAgICAgICB0aGlzLmZvY3VzT3B0aW9uRGlyKCd1cCcpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdFbnRlcic6IHtcbiAgICAgICAgdGhpcy5zZWxlY3RGb2N1c2VkT3B0aW9uKCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0VzY2FwZSc6IHtcbiAgICAgICAgdGhpcy5lc2NTZWxlY3QoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uT3B0aW9uQ2xpY2sob3B0aW9uOiBPcHRpb25Db21wb25lbnQ8VD4pIHtcbiAgICB0aGlzLnJlc2V0Rm9jdXNlZE9wdGlvbihvcHRpb24pO1xuICAgIHRoaXMuc2VsZWN0T3B0aW9uKG9wdGlvbik7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXV0b0ZvY3VzRmlyc3RPcHRpb24oKSB7XG4gICAgaWYgKHRoaXMuZGVmYXVsdEZpcnN0T3B0aW9uICYmIHRoaXMuYWxsb3dDcmVhdGUgJiYgdGhpcy5maWx0ZXJTdHJpbmcpIHtcbiAgICAgIGNvbnN0IG1hdGNoZWRPcHRpb24gPSB0aGlzLmNvbnRlbnRPcHRpb25zLmZpbmQoXG4gICAgICAgIG9wdGlvbiA9PiB0aGlzLnRyYWNrRm4ob3B0aW9uLnZhbHVlKSA9PT0gdGhpcy5maWx0ZXJTdHJpbmcsXG4gICAgICApO1xuICAgICAgdGhpcy5yZXNldEZvY3VzZWRPcHRpb24obWF0Y2hlZE9wdGlvbiB8fCB0aGlzLmN1c3RvbU9wdGlvbnMuZmlyc3QpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gdGhpcy5hbGxPcHRpb25zLmZpbmQoXG4gICAgICBvcHRpb24gPT4gb3B0aW9uLnNlbGVjdGVkICYmIG9wdGlvbi52aXNpYmxlLFxuICAgICk7XG4gICAgaWYgKHRoaXMuZGVmYXVsdEZpcnN0T3B0aW9uKSB7XG4gICAgICB0aGlzLnJlc2V0Rm9jdXNlZE9wdGlvbihcbiAgICAgICAgc2VsZWN0ZWRPcHRpb24gfHxcbiAgICAgICAgICB0aGlzLmFsbE9wdGlvbnMuZmluZChvcHRpb24gPT4gb3B0aW9uLnZpc2libGUgJiYgIW9wdGlvbi5kaXNhYmxlZCksXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoc2VsZWN0ZWRPcHRpb24pIHtcbiAgICAgIHRoaXMuc2Nyb2xsVG9PcHRpb24oc2VsZWN0ZWRPcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBmb2N1c09wdGlvbkRpcihkaXI6ICdkb3duJyB8ICd1cCcpIHtcbiAgICBpZiAoIXRoaXMub3BlbmVkKSB7XG4gICAgICB0aGlzLm9wZW5PcHRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdmlzaWJsZU9wdGlvbnMgPSB0aGlzLmFsbE9wdGlvbnMuZmlsdGVyKFxuICAgICAgb3B0aW9uID0+IG9wdGlvbi52aXNpYmxlICYmICFvcHRpb24uZGlzYWJsZWQsXG4gICAgKTtcbiAgICBpZiAodmlzaWJsZU9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0ZXAgPSBkaXIgPT09ICdkb3duJyA/IDEgOiAtMTtcbiAgICBsZXQgaSA9IHZpc2libGVPcHRpb25zLmluZGV4T2YodGhpcy5mb2N1c2VkT3B0aW9uKTtcbiAgICBpID0gaSArIHN0ZXA7XG4gICAgaWYgKGkgPj0gdmlzaWJsZU9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICBpID0gMDtcbiAgICB9IGVsc2UgaWYgKGkgPCAwKSB7XG4gICAgICBpID0gdmlzaWJsZU9wdGlvbnMubGVuZ3RoIC0gMTtcbiAgICB9XG4gICAgdGhpcy5yZXNldEZvY3VzZWRPcHRpb24odmlzaWJsZU9wdGlvbnNbaV0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc2V0Rm9jdXNlZE9wdGlvbihmb2N1c2VkT3B0aW9uPzogT3B0aW9uQ29tcG9uZW50PFQ+KSB7XG4gICAgaWYgKHRoaXMuZm9jdXNlZE9wdGlvbiA9PT0gZm9jdXNlZE9wdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZvY3VzZWRPcHRpb24pIHtcbiAgICAgIHRoaXMuZm9jdXNlZE9wdGlvbi5ibHVyKCk7XG4gICAgfVxuXG4gICAgdGhpcy5mb2N1c2VkT3B0aW9uID0gZm9jdXNlZE9wdGlvbjtcblxuICAgIGlmICh0aGlzLmZvY3VzZWRPcHRpb24pIHtcbiAgICAgIHRoaXMuZm9jdXNlZE9wdGlvbi5mb2N1cygpO1xuICAgICAgdGhpcy5zY3JvbGxUb09wdGlvbih0aGlzLmZvY3VzZWRPcHRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzY3JvbGxUb09wdGlvbihvcHRpb246IE9wdGlvbkNvbXBvbmVudDxUPikge1xuICAgIGlmICh0aGlzLm9wdGlvbkxpc3RSZWYpIHtcbiAgICAgIHNjcm9sbEludG9WaWV3KFxuICAgICAgICB0aGlzLm9wdGlvbkxpc3RSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgb3B0aW9uLmVsUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3RGb2N1c2VkT3B0aW9uKCkge1xuICAgIGlmICghdGhpcy5vcGVuZWQpIHtcbiAgICAgIHRoaXMub3Blbk9wdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5mb2N1c2VkT3B0aW9uICYmICF0aGlzLmZvY3VzZWRPcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0T3B0aW9uKHRoaXMuZm9jdXNlZE9wdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGVzY1NlbGVjdCgpIHtcbiAgICB0aGlzLmNsb3NlT3B0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIF90cmFja0ZuPFQ+KHZhbHVlOiBUKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmlsdGVyRm4oXG4gICAgZmlsdGVyU3RyaW5nOiBzdHJpbmcsXG4gICAgeyBsYWJlbCwgdmFsdWUgfTogU2VsZWN0RmlsdGVyT3B0aW9uPFQ+LFxuICApIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHR5cGVvZiBsYWJlbCA9PT0gJ3N0cmluZycgJiYgbGFiZWwpIHx8XG4gICAgICB0aGlzLmxhYmVsRm4/Lih2YWx1ZSkgfHxcbiAgICAgIGNvZXJjZVN0cmluZyh0aGlzLnRyYWNrRm4odmFsdWUpKVxuICAgIClcbiAgICAgID8udG9Mb3dlckNhc2UoKVxuICAgICAgLmluY2x1ZGVzKGZpbHRlclN0cmluZz8udG9Mb3dlckNhc2UoKSA/PyAnJyk7XG4gIH1cblxuICBhYnN0cmFjdCBzZWxlY3RPcHRpb24ob3B0aW9uOiBPcHRpb25Db21wb25lbnQ8VD4pOiB2b2lkO1xuXG4gIGFic3RyYWN0IGNsZWFyVmFsdWUoZXZlbnQ6IEV2ZW50KTogdm9pZDtcbn1cbiJdfQ==
@@ -2,10 +2,10 @@ import { Directive } from '@angular/core';
2
2
  import { MenuContentDirective } from '../dropdown';
3
3
  import * as i0 from "@angular/core";
4
4
  export class OptionGroupTitleDirective {
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: OptionGroupTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: OptionGroupTitleDirective, selector: "[auiOptionGroupTitle]", host: { properties: { "class.aui-option-group__title": "true" } }, exportAs: ["auiOptionGroupTitle"], ngImport: i0 });
5
7
  }
6
- OptionGroupTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: OptionGroupTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7
- OptionGroupTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: OptionGroupTitleDirective, selector: "[auiOptionGroupTitle]", host: { properties: { "class.aui-option-group__title": "true" } }, exportAs: ["auiOptionGroupTitle"], ngImport: i0 });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: OptionGroupTitleDirective, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: OptionGroupTitleDirective, decorators: [{
9
9
  type: Directive,
10
10
  args: [{
11
11
  selector: '[auiOptionGroupTitle]',
@@ -16,14 +16,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
16
16
  }]
17
17
  }] });
18
18
  export class OptionContentDirective extends MenuContentDirective {
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: OptionContentDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
20
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: OptionContentDirective, selector: "*[auiOptionContent]", exportAs: ["auiOptionContent"], usesInheritance: true, ngImport: i0 });
19
21
  }
20
- OptionContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: OptionContentDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
21
- OptionContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: OptionContentDirective, selector: "*[auiOptionContent]", exportAs: ["auiOptionContent"], usesInheritance: true, ngImport: i0 });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: OptionContentDirective, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: OptionContentDirective, decorators: [{
23
23
  type: Directive,
24
24
  args: [{
25
25
  selector: '*[auiOptionContent]',
26
26
  exportAs: 'auiOptionContent',
27
27
  }]
28
28
  }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLWRpcmVjdGl2ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VsZWN0L2hlbHBlci1kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQVNuRCxNQUFNLE9BQU8seUJBQXlCOztzSEFBekIseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFQckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixJQUFJLEVBQUU7d0JBQ0osaUNBQWlDLEVBQUUsTUFBTTtxQkFDMUM7aUJBQ0Y7O0FBT0QsTUFBTSxPQUFPLHNCQUF1QixTQUFRLG9CQUFvQjs7bUhBQW5ELHNCQUFzQjt1R0FBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWVudUNvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuLi9kcm9wZG93bic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlPcHRpb25Hcm91cFRpdGxlXScsXG4gIGV4cG9ydEFzOiAnYXVpT3B0aW9uR3JvdXBUaXRsZScsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmF1aS1vcHRpb24tZ3JvdXBfX3RpdGxlXSc6ICd0cnVlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgT3B0aW9uR3JvdXBUaXRsZURpcmVjdGl2ZSB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICcqW2F1aU9wdGlvbkNvbnRlbnRdJyxcbiAgZXhwb3J0QXM6ICdhdWlPcHRpb25Db250ZW50Jyxcbn0pXG5leHBvcnQgY2xhc3MgT3B0aW9uQ29udGVudERpcmVjdGl2ZSBleHRlbmRzIE1lbnVDb250ZW50RGlyZWN0aXZlIHt9XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLWRpcmVjdGl2ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VsZWN0L2hlbHBlci1kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQVNuRCxNQUFNLE9BQU8seUJBQXlCO3VHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFQckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixJQUFJLEVBQUU7d0JBQ0osaUNBQWlDLEVBQUUsTUFBTTtxQkFDMUM7aUJBQ0Y7O0FBT0QsTUFBTSxPQUFPLHNCQUF1QixTQUFRLG9CQUFvQjt1R0FBbkQsc0JBQXNCOzJGQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWVudUNvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuLi9kcm9wZG93bic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thdWlPcHRpb25Hcm91cFRpdGxlXScsXG4gIGV4cG9ydEFzOiAnYXVpT3B0aW9uR3JvdXBUaXRsZScsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmF1aS1vcHRpb24tZ3JvdXBfX3RpdGxlXSc6ICd0cnVlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgT3B0aW9uR3JvdXBUaXRsZURpcmVjdGl2ZSB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICcqW2F1aU9wdGlvbkNvbnRlbnRdJyxcbiAgZXhwb3J0QXM6ICdhdWlPcHRpb25Db250ZW50Jyxcbn0pXG5leHBvcnQgY2xhc3MgT3B0aW9uQ29udGVudERpcmVjdGl2ZSBleHRlbmRzIE1lbnVDb250ZW50RGlyZWN0aXZlIHt9XG4iXX0=