@fundamental-ngx/core 0.45.1 → 0.46.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.d.ts +1 -1
  2. package/busy-indicator/busy-indicator.component.d.ts +2 -2
  3. package/busy-indicator/busy-indicator.module.d.ts +4 -4
  4. package/carousel/carousel-item/carousel-item.component.d.ts +1 -1
  5. package/carousel/carousel-item.directive.d.ts +1 -1
  6. package/carousel/carousel.component.d.ts +8 -1
  7. package/carousel/carousel.directive.d.ts +1 -1
  8. package/carousel/carousel.module.d.ts +1 -5
  9. package/checkbox/checkbox/checkbox.component.d.ts +19 -6
  10. package/checkbox/checkbox.module.d.ts +3 -5
  11. package/dialog/dialog.module.d.ts +1 -1
  12. package/dialog/utils/dialog-ref.class.d.ts +15 -5
  13. package/esm2022/action-bar/action-bar.component.mjs +2 -2
  14. package/esm2022/action-sheet/action-sheet.component.mjs +2 -2
  15. package/esm2022/avatar/avatar.component.mjs +2 -2
  16. package/esm2022/avatar-group/avatar-group.component.mjs +2 -2
  17. package/esm2022/bar/bar.component.mjs +2 -2
  18. package/esm2022/breadcrumb/breadcrumb.component.mjs +2 -2
  19. package/esm2022/busy-indicator/busy-indicator-extended/busy-indicator-extended.directive.mjs +4 -3
  20. package/esm2022/busy-indicator/busy-indicator.component.mjs +5 -5
  21. package/esm2022/busy-indicator/busy-indicator.module.mjs +3 -4
  22. package/esm2022/button/button.component.mjs +2 -2
  23. package/esm2022/calendar/calendar.component.mjs +2 -2
  24. package/esm2022/card/card-footer.component.mjs +3 -3
  25. package/esm2022/card/card.component.mjs +2 -2
  26. package/esm2022/carousel/carousel-item/carousel-item.component.mjs +4 -4
  27. package/esm2022/carousel/carousel-item.directive.mjs +4 -3
  28. package/esm2022/carousel/carousel.component.mjs +19 -6
  29. package/esm2022/carousel/carousel.directive.mjs +4 -3
  30. package/esm2022/carousel/carousel.module.mjs +4 -9
  31. package/esm2022/checkbox/checkbox/checkbox.component.mjs +42 -17
  32. package/esm2022/checkbox/checkbox.module.mjs +4 -7
  33. package/esm2022/dialog/dialog-body/dialog-body.component.mjs +4 -3
  34. package/esm2022/dialog/dialog.component.mjs +2 -2
  35. package/esm2022/dialog/dialog.module.mjs +8 -5
  36. package/esm2022/dialog/utils/dialog-ref.class.mjs +13 -8
  37. package/esm2022/dynamic-page/dynamic-page-header/actions/dynamic-page-title-content.component.mjs +1 -1
  38. package/esm2022/dynamic-page/dynamic-page.component.mjs +2 -2
  39. package/esm2022/dynamic-side-content/dynamic-side-content.component.mjs +2 -2
  40. package/esm2022/facets/facet/facet.component.mjs +2 -2
  41. package/esm2022/feed-input/feed-input.component.mjs +2 -2
  42. package/esm2022/feed-list-item/components/list/feed-list.component.mjs +2 -2
  43. package/esm2022/file-uploader/file-uploader.component.mjs +2 -2
  44. package/esm2022/fixed-card-layout/fixed-card-layout.component.mjs +2 -2
  45. package/esm2022/flexible-column-layout/flexible-column-layout.component.mjs +2 -2
  46. package/esm2022/form/fieldset/fieldset.component.mjs +2 -2
  47. package/esm2022/form/form-control/form-control.component.mjs +2 -2
  48. package/esm2022/form/form-group/form-group.component.mjs +2 -2
  49. package/esm2022/form/form-header/form-header.component.mjs +2 -2
  50. package/esm2022/form/form-item/form-item.component.mjs +2 -2
  51. package/esm2022/form/form-label/form-label.component.mjs +2 -2
  52. package/esm2022/form/form-message/form-message.component.mjs +2 -2
  53. package/esm2022/grid-list/components/grid-list/grid-list.component.mjs +2 -2
  54. package/esm2022/grid-list/components/grid-list-filter-bar/grid-list-filter-bar.component.mjs +1 -1
  55. package/esm2022/grid-list/components/grid-list-title-bar/grid-list-title-bar.component.mjs +1 -1
  56. package/esm2022/icon/icon.component.mjs +2 -2
  57. package/esm2022/illustrated-message/illustrated-message.component.mjs +2 -2
  58. package/esm2022/info-label/info-label.component.mjs +2 -2
  59. package/esm2022/input-group/input-group.component.mjs +2 -2
  60. package/esm2022/layout-grid/layout-grid.component.mjs +2 -2
  61. package/esm2022/layout-panel/layout-panel.component.mjs +2 -2
  62. package/esm2022/link/link.component.mjs +9 -9
  63. package/esm2022/link/link.module.mjs +4 -7
  64. package/esm2022/list/directives/list-secondary.directive.mjs +21 -8
  65. package/esm2022/list/list-navigation-item/list-navigation-item.component.mjs +2 -2
  66. package/esm2022/list/list.component.mjs +2 -2
  67. package/esm2022/list/list.module.mjs +3 -5
  68. package/esm2022/menu/menu.component.mjs +2 -2
  69. package/esm2022/message-box/message-box.component.mjs +2 -2
  70. package/esm2022/message-page/message-page.component.mjs +2 -2
  71. package/esm2022/message-strip/alert/message-strip-alert/message-strip-alert.component.mjs +2 -2
  72. package/esm2022/message-strip/alert/message-strip-configuration-type.mjs +1 -1
  73. package/esm2022/message-strip/index.mjs +3 -1
  74. package/esm2022/message-strip/message-strip-icon.directive.mjs +18 -0
  75. package/esm2022/message-strip/message-strip-indication-color.mjs +7 -0
  76. package/esm2022/message-strip/message-strip.component.mjs +36 -5
  77. package/esm2022/message-strip/message-strip.module.mjs +5 -4
  78. package/esm2022/message-toast/message-toast.component.mjs +3 -3
  79. package/esm2022/micro-process-flow/components/micro-process-flow/micro-process-flow.component.mjs +2 -2
  80. package/esm2022/multi-combobox/multi-combobox.component.mjs +2 -2
  81. package/esm2022/multi-combobox/select-all-toggler/select-all-toggler.component.mjs +1 -1
  82. package/esm2022/multi-input/multi-input.component.mjs +1 -1
  83. package/esm2022/notification/notification/notification.component.mjs +2 -2
  84. package/esm2022/object-identifier/object-identifier.component.mjs +2 -2
  85. package/esm2022/object-marker/object-marker.component.mjs +2 -2
  86. package/esm2022/object-number/object-number.component.mjs +2 -2
  87. package/esm2022/object-status/object-status.component.mjs +2 -2
  88. package/esm2022/pagination/pagination.component.mjs +2 -2
  89. package/esm2022/panel/panel.component.mjs +2 -2
  90. package/esm2022/popover/popover-body/popover-body-directives/popover-body-footer.directive.mjs +4 -3
  91. package/esm2022/popover/popover-body/popover-body-directives/popover-body-header.directive.mjs +4 -3
  92. package/esm2022/popover/popover-body/popover-body.component.mjs +8 -11
  93. package/esm2022/popover/popover-container/popover-container.directive.mjs +4 -3
  94. package/esm2022/popover/popover-control/popover-control.component.mjs +3 -3
  95. package/esm2022/popover/popover-mobile/popover-mobile.component.mjs +10 -7
  96. package/esm2022/popover/popover-mobile/popover-mobile.module.mjs +4 -5
  97. package/esm2022/popover/popover-trigger.directive.mjs +4 -3
  98. package/esm2022/popover/popover.component.mjs +5 -6
  99. package/esm2022/popover/popover.module.mjs +5 -10
  100. package/esm2022/product-switch/product-switch-body/product-switch-body.component.mjs +2 -2
  101. package/esm2022/progress-indicator/progress-indicator.component.mjs +2 -2
  102. package/esm2022/quick-view/quick-view/quick-view.component.mjs +2 -2
  103. package/esm2022/radio/radio-button/radio-button.component.mjs +3 -3
  104. package/esm2022/rating-indicator/components/rating-indicator.component.mjs +2 -2
  105. package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +2 -2
  106. package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +2 -2
  107. package/esm2022/segmented-button/segmented-button.component.mjs +2 -2
  108. package/esm2022/select/select.component.mjs +2 -2
  109. package/esm2022/shared/interfaces/search-component.interface.mjs +1 -1
  110. package/esm2022/shellbar/product-menu/product-menu.component.mjs +12 -8
  111. package/esm2022/shellbar/shellbar-action/shellbar-action.component.mjs +8 -6
  112. package/esm2022/shellbar/shellbar-actions/shellbar-actions.component.mjs +8 -9
  113. package/esm2022/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.mjs +9 -7
  114. package/esm2022/shellbar/shellbar-logo/shellbar-logo.component.mjs +3 -3
  115. package/esm2022/shellbar/shellbar-sidenav.directive.mjs +4 -3
  116. package/esm2022/shellbar/shellbar-subtitle/shellbar-subtitle.component.mjs +3 -3
  117. package/esm2022/shellbar/shellbar-title/shellbar-title.component.mjs +3 -3
  118. package/esm2022/shellbar/shellbar.component.mjs +10 -9
  119. package/esm2022/shellbar/shellbar.module.mjs +10 -59
  120. package/esm2022/shellbar/user-menu/shellbar-user-menu.component.mjs +9 -6
  121. package/esm2022/side-navigation/side-navigation.component.mjs +2 -2
  122. package/esm2022/skeleton/components/skeleton.component.mjs +2 -2
  123. package/esm2022/slider/slider-position.directive.mjs +19 -11
  124. package/esm2022/slider/slider.component.mjs +136 -79
  125. package/esm2022/slider/slider.model.mjs +2 -1
  126. package/esm2022/slider/slider.module.mjs +6 -6
  127. package/esm2022/split-button/split-button.component.mjs +2 -2
  128. package/esm2022/splitter/splitter.component.mjs +2 -2
  129. package/esm2022/status-indicator/status-indicator.component.mjs +2 -2
  130. package/esm2022/step-input/step-input.component.mjs +2 -2
  131. package/esm2022/switch/switch.component.mjs +2 -2
  132. package/esm2022/table/table-wrapper.component.mjs +2 -2
  133. package/esm2022/table/table.component.mjs +2 -2
  134. package/esm2022/tabs/tab-list.component.mjs +2 -2
  135. package/esm2022/tabs/tab-nav/tab-nav.component.mjs +2 -2
  136. package/esm2022/text/text.component.mjs +7 -7
  137. package/esm2022/text/text.module.mjs +4 -9
  138. package/esm2022/tile/tile.component.mjs +2 -2
  139. package/esm2022/time/time.component.mjs +2 -2
  140. package/esm2022/title/title.component.mjs +3 -3
  141. package/esm2022/title/title.module.mjs +4 -6
  142. package/esm2022/token/token.component.mjs +2 -2
  143. package/esm2022/token/tokenizer.component.mjs +2 -2
  144. package/esm2022/toolbar/deprecated-toolbar-size.directive.mjs +4 -3
  145. package/esm2022/toolbar/toolbar-form-label.directive.mjs +4 -3
  146. package/esm2022/toolbar/toolbar-item.directive.mjs +4 -3
  147. package/esm2022/toolbar/toolbar-label.directive.mjs +4 -3
  148. package/esm2022/toolbar/toolbar-overflow-button-menu.directive.mjs +4 -3
  149. package/esm2022/toolbar/toolbar-overflow-button.directive.mjs +4 -3
  150. package/esm2022/toolbar/toolbar-separator.component.mjs +4 -3
  151. package/esm2022/toolbar/toolbar-spacer.directive.mjs +4 -3
  152. package/esm2022/toolbar/toolbar.component.mjs +39 -18
  153. package/esm2022/toolbar/toolbar.module.mjs +5 -10
  154. package/esm2022/tree/components/tree-item/tree-item.component.mjs +1 -1
  155. package/esm2022/tree/tree.component.mjs +2 -2
  156. package/esm2022/upload-collection/upload-collection.component.mjs +3 -3
  157. package/esm2022/vertical-navigation/vertical-navigation-main-navigation.component.mjs +2 -2
  158. package/esm2022/vertical-navigation/vertical-navigation.component.mjs +2 -2
  159. package/esm2022/wizard/wizard.component.mjs +2 -2
  160. package/fesm2022/fundamental-ngx-core-action-bar.mjs +2 -2
  161. package/fesm2022/fundamental-ngx-core-action-bar.mjs.map +1 -1
  162. package/fesm2022/fundamental-ngx-core-action-sheet.mjs +2 -2
  163. package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  164. package/fesm2022/fundamental-ngx-core-avatar-group.mjs +2 -2
  165. package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  166. package/fesm2022/fundamental-ngx-core-avatar.mjs +2 -2
  167. package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
  168. package/fesm2022/fundamental-ngx-core-bar.mjs +2 -2
  169. package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
  170. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +2 -2
  171. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  172. package/fesm2022/fundamental-ngx-core-busy-indicator.mjs +9 -10
  173. package/fesm2022/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  174. package/fesm2022/fundamental-ngx-core-button.mjs +2 -2
  175. package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
  176. package/fesm2022/fundamental-ngx-core-calendar.mjs +2 -2
  177. package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
  178. package/fesm2022/fundamental-ngx-core-card.mjs +4 -4
  179. package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
  180. package/fesm2022/fundamental-ngx-core-carousel.mjs +29 -19
  181. package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
  182. package/fesm2022/fundamental-ngx-core-checkbox.mjs +43 -20
  183. package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
  184. package/fesm2022/fundamental-ngx-core-dialog.mjs +23 -15
  185. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  186. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +3 -3
  187. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  188. package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs +2 -2
  189. package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  190. package/fesm2022/fundamental-ngx-core-facets.mjs +2 -2
  191. package/fesm2022/fundamental-ngx-core-facets.mjs.map +1 -1
  192. package/fesm2022/fundamental-ngx-core-feed-input.mjs +2 -2
  193. package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
  194. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +2 -2
  195. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  196. package/fesm2022/fundamental-ngx-core-file-uploader.mjs +2 -2
  197. package/fesm2022/fundamental-ngx-core-file-uploader.mjs.map +1 -1
  198. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +2 -2
  199. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  200. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +2 -2
  201. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  202. package/fesm2022/fundamental-ngx-core-form.mjs +14 -14
  203. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  204. package/fesm2022/fundamental-ngx-core-grid-list.mjs +4 -4
  205. package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
  206. package/fesm2022/fundamental-ngx-core-icon.mjs +2 -2
  207. package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
  208. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +2 -2
  209. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  210. package/fesm2022/fundamental-ngx-core-info-label.mjs +2 -2
  211. package/fesm2022/fundamental-ngx-core-info-label.mjs.map +1 -1
  212. package/fesm2022/fundamental-ngx-core-input-group.mjs +2 -2
  213. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  214. package/fesm2022/fundamental-ngx-core-layout-grid.mjs +2 -2
  215. package/fesm2022/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  216. package/fesm2022/fundamental-ngx-core-layout-panel.mjs +2 -2
  217. package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  218. package/fesm2022/fundamental-ngx-core-link.mjs +10 -12
  219. package/fesm2022/fundamental-ngx-core-link.mjs.map +1 -1
  220. package/fesm2022/fundamental-ngx-core-list.mjs +26 -17
  221. package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
  222. package/fesm2022/fundamental-ngx-core-menu.mjs +2 -2
  223. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  224. package/fesm2022/fundamental-ngx-core-message-box.mjs +2 -2
  225. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  226. package/fesm2022/fundamental-ngx-core-message-page.mjs +2 -2
  227. package/fesm2022/fundamental-ngx-core-message-page.mjs.map +1 -1
  228. package/fesm2022/fundamental-ngx-core-message-strip.mjs +62 -9
  229. package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
  230. package/fesm2022/fundamental-ngx-core-message-toast.mjs +2 -2
  231. package/fesm2022/fundamental-ngx-core-message-toast.mjs.map +1 -1
  232. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +2 -2
  233. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
  234. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +3 -3
  235. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  236. package/fesm2022/fundamental-ngx-core-multi-input.mjs +1 -1
  237. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  238. package/fesm2022/fundamental-ngx-core-notification.mjs +2 -2
  239. package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
  240. package/fesm2022/fundamental-ngx-core-object-identifier.mjs +2 -2
  241. package/fesm2022/fundamental-ngx-core-object-identifier.mjs.map +1 -1
  242. package/fesm2022/fundamental-ngx-core-object-marker.mjs +2 -2
  243. package/fesm2022/fundamental-ngx-core-object-marker.mjs.map +1 -1
  244. package/fesm2022/fundamental-ngx-core-object-number.mjs +2 -2
  245. package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
  246. package/fesm2022/fundamental-ngx-core-object-status.mjs +2 -2
  247. package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
  248. package/fesm2022/fundamental-ngx-core-pagination.mjs +2 -2
  249. package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
  250. package/fesm2022/fundamental-ngx-core-panel.mjs +2 -2
  251. package/fesm2022/fundamental-ngx-core-panel.mjs.map +1 -1
  252. package/fesm2022/fundamental-ngx-core-popover.mjs +36 -38
  253. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  254. package/fesm2022/fundamental-ngx-core-product-switch.mjs +2 -2
  255. package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
  256. package/fesm2022/fundamental-ngx-core-progress-indicator.mjs +2 -2
  257. package/fesm2022/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  258. package/fesm2022/fundamental-ngx-core-quick-view.mjs +2 -2
  259. package/fesm2022/fundamental-ngx-core-quick-view.mjs.map +1 -1
  260. package/fesm2022/fundamental-ngx-core-radio.mjs +2 -2
  261. package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
  262. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +2 -2
  263. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  264. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +4 -4
  265. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  266. package/fesm2022/fundamental-ngx-core-segmented-button.mjs +2 -2
  267. package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  268. package/fesm2022/fundamental-ngx-core-select.mjs +2 -2
  269. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  270. package/fesm2022/fundamental-ngx-core-shellbar.mjs +93 -132
  271. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  272. package/fesm2022/fundamental-ngx-core-side-navigation.mjs +2 -2
  273. package/fesm2022/fundamental-ngx-core-side-navigation.mjs.map +1 -1
  274. package/fesm2022/fundamental-ngx-core-skeleton.mjs +2 -2
  275. package/fesm2022/fundamental-ngx-core-skeleton.mjs.map +1 -1
  276. package/fesm2022/fundamental-ngx-core-slider.mjs +158 -96
  277. package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
  278. package/fesm2022/fundamental-ngx-core-split-button.mjs +2 -2
  279. package/fesm2022/fundamental-ngx-core-split-button.mjs.map +1 -1
  280. package/fesm2022/fundamental-ngx-core-splitter.mjs +2 -2
  281. package/fesm2022/fundamental-ngx-core-splitter.mjs.map +1 -1
  282. package/fesm2022/fundamental-ngx-core-status-indicator.mjs +2 -2
  283. package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  284. package/fesm2022/fundamental-ngx-core-step-input.mjs +2 -2
  285. package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
  286. package/fesm2022/fundamental-ngx-core-switch.mjs +2 -2
  287. package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
  288. package/fesm2022/fundamental-ngx-core-table.mjs +4 -4
  289. package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
  290. package/fesm2022/fundamental-ngx-core-tabs.mjs +4 -4
  291. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  292. package/fesm2022/fundamental-ngx-core-text.mjs +9 -14
  293. package/fesm2022/fundamental-ngx-core-text.mjs.map +1 -1
  294. package/fesm2022/fundamental-ngx-core-tile.mjs +2 -2
  295. package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
  296. package/fesm2022/fundamental-ngx-core-time.mjs +2 -2
  297. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  298. package/fesm2022/fundamental-ngx-core-title.mjs +5 -7
  299. package/fesm2022/fundamental-ngx-core-title.mjs.map +1 -1
  300. package/fesm2022/fundamental-ngx-core-token.mjs +4 -4
  301. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  302. package/fesm2022/fundamental-ngx-core-toolbar.mjs +80 -56
  303. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  304. package/fesm2022/fundamental-ngx-core-tree.mjs +3 -3
  305. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  306. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +2 -2
  307. package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  308. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +4 -4
  309. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
  310. package/fesm2022/fundamental-ngx-core-wizard.mjs +2 -2
  311. package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
  312. package/fundamental-ngx-core-v0.46.0-rc.0.tgz +0 -0
  313. package/link/link.component.d.ts +1 -1
  314. package/link/link.module.d.ts +1 -3
  315. package/list/directives/list-secondary.directive.d.ts +16 -3
  316. package/list/list.module.d.ts +20 -20
  317. package/message-strip/alert/message-strip-configuration-type.d.ts +2 -0
  318. package/message-strip/index.d.ts +2 -0
  319. package/message-strip/message-strip-icon.directive.d.ts +9 -0
  320. package/message-strip/message-strip-indication-color.d.ts +4 -0
  321. package/message-strip/message-strip.component.d.ts +11 -1
  322. package/message-strip/message-strip.module.d.ts +2 -1
  323. package/package.json +4 -4
  324. package/popover/popover-body/popover-body-directives/popover-body-footer.directive.d.ts +1 -1
  325. package/popover/popover-body/popover-body-directives/popover-body-header.directive.d.ts +1 -1
  326. package/popover/popover-body/popover-body.component.d.ts +1 -1
  327. package/popover/popover-container/popover-container.directive.d.ts +1 -1
  328. package/popover/popover-control/popover-control.component.d.ts +1 -1
  329. package/popover/popover-mobile/popover-mobile.component.d.ts +3 -3
  330. package/popover/popover-mobile/popover-mobile.module.d.ts +5 -5
  331. package/popover/popover-trigger.directive.d.ts +1 -1
  332. package/popover/popover.component.d.ts +1 -1
  333. package/popover/popover.module.d.ts +1 -5
  334. package/schematics/add-dependencies/index.js +6 -6
  335. package/shared/interfaces/search-component.interface.d.ts +1 -0
  336. package/shellbar/product-menu/product-menu.component.d.ts +1 -1
  337. package/shellbar/shellbar-action/shellbar-action.component.d.ts +1 -1
  338. package/shellbar/shellbar-actions/shellbar-actions.component.d.ts +1 -1
  339. package/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.d.ts +1 -1
  340. package/shellbar/shellbar-logo/shellbar-logo.component.d.ts +1 -1
  341. package/shellbar/shellbar-sidenav.directive.d.ts +1 -1
  342. package/shellbar/shellbar-subtitle/shellbar-subtitle.component.d.ts +1 -1
  343. package/shellbar/shellbar-title/shellbar-title.component.d.ts +1 -1
  344. package/shellbar/shellbar.component.d.ts +1 -1
  345. package/shellbar/shellbar.module.d.ts +2 -14
  346. package/shellbar/user-menu/shellbar-user-menu.component.d.ts +1 -1
  347. package/slider/slider-position.directive.d.ts +6 -4
  348. package/slider/slider.component.d.ts +21 -13
  349. package/slider/slider.model.d.ts +2 -1
  350. package/slider/slider.module.d.ts +9 -9
  351. package/text/text.component.d.ts +1 -1
  352. package/text/text.module.d.ts +1 -5
  353. package/title/title.component.d.ts +1 -1
  354. package/title/title.module.d.ts +1 -2
  355. package/toolbar/deprecated-toolbar-size.directive.d.ts +1 -1
  356. package/toolbar/toolbar-form-label.directive.d.ts +1 -1
  357. package/toolbar/toolbar-item.directive.d.ts +1 -1
  358. package/toolbar/toolbar-label.directive.d.ts +1 -1
  359. package/toolbar/toolbar-overflow-button-menu.directive.d.ts +1 -1
  360. package/toolbar/toolbar-overflow-button.directive.d.ts +1 -1
  361. package/toolbar/toolbar-separator.component.d.ts +1 -1
  362. package/toolbar/toolbar-spacer.directive.d.ts +1 -1
  363. package/toolbar/toolbar.component.d.ts +9 -5
  364. package/toolbar/toolbar.module.d.ts +11 -15
  365. package/fundamental-ngx-core-v0.45.1.tgz +0 -0
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, forwardRef, Inject, Input, Optional, QueryList, SkipSelf, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, forwardRef, HostBinding, inject, Inject, Input, Optional, QueryList, SkipSelf, ViewChild, ViewEncapsulation } from '@angular/core';
3
3
  import { DYNAMIC_PAGE_HEADER_TOKEN } from '@fundamental-ngx/core/shared';
4
4
  import { applyCssClass, OVERFLOW_PRIORITY_SCORE, ResizeObserverService } from '@fundamental-ngx/cdk/utils';
5
5
  import { BehaviorSubject, combineLatest, map, startWith } from 'rxjs';
@@ -7,14 +7,17 @@ import { TitleToken } from '@fundamental-ngx/core/title';
7
7
  import { ContentDensityMode, ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';
8
8
  import { ToolbarItem } from './abstract-toolbar-item.class';
9
9
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
10
+ import { DynamicPortalComponent } from '@fundamental-ngx/cdk/utils';
11
+ import { ButtonModule } from '@fundamental-ngx/core/button';
12
+ import { PopoverModule } from '@fundamental-ngx/core/popover';
13
+ import { ToolbarSeparatorComponent } from './toolbar-separator.component';
14
+ import { ToolbarSpacerDirective } from './toolbar-spacer.directive';
15
+ import { NgIf, NgFor } from '@angular/common';
10
16
  import * as i0 from "@angular/core";
11
17
  import * as i1 from "@fundamental-ngx/core/content-density";
12
18
  import * as i2 from "@fundamental-ngx/cdk/utils";
13
- import * as i3 from "@angular/common";
19
+ import * as i3 from "@fundamental-ngx/core/popover";
14
20
  import * as i4 from "@fundamental-ngx/core/button";
15
- import * as i5 from "@fundamental-ngx/core/popover";
16
- import * as i6 from "./toolbar-spacer.directive";
17
- import * as i7 from "./toolbar-separator.component";
18
21
  const ELEMENT_MARGIN = 8;
19
22
  const OVERFLOW_SPACE = 50 + 2 * ELEMENT_MARGIN;
20
23
  const MAX_CONTENT_SIZE = 99999999;
@@ -38,7 +41,7 @@ export class ToolbarComponent {
38
41
  }
39
42
  /** @hidden */
40
43
  get _toolbarWidth() {
41
- return this.toolbar.nativeElement.clientWidth - OVERFLOW_SPACE;
44
+ return this.elementRef.nativeElement.clientWidth - OVERFLOW_SPACE;
42
45
  }
43
46
  /** @hidden */
44
47
  constructor(_cd, _contentDensityObserver, _destroyRef, resizeObserverService, _dynamicPageHeader) {
@@ -66,6 +69,10 @@ export class ToolbarComponent {
66
69
  this.tabindex = -1;
67
70
  /** @hidden */
68
71
  this.overflownItems = [];
72
+ /** HTML Element Reference. */
73
+ this.elementRef = inject(ElementRef);
74
+ /** @hidden */
75
+ this._role = 'toolbar';
69
76
  /** @hidden */
70
77
  this._titleComponent$ = new BehaviorSubject(null);
71
78
  /** @hidden */
@@ -90,7 +97,7 @@ export class ToolbarComponent {
90
97
  /** @hidden */
91
98
  ngAfterViewInit() {
92
99
  this.overflowItems$ = combineLatest([
93
- this.resizeObserverService.observe(this.toolbar.nativeElement).pipe(map(() => this._toolbarWidth)),
100
+ this.resizeObserverService.observe(this.elementRef.nativeElement).pipe(map(() => this._toolbarWidth)),
94
101
  this.toolbarItems.changes.pipe(startWith(this.toolbarItems), map((toolbarItems) => toolbarItems.toArray())),
95
102
  this._titleComponent$.pipe(map((titleComponent) => {
96
103
  if (!titleComponent) {
@@ -158,10 +165,6 @@ export class ToolbarComponent {
158
165
  detectChanges() {
159
166
  this._cd.detectChanges();
160
167
  }
161
- /** @hidden */
162
- get elementRef() {
163
- return this.toolbar;
164
- }
165
168
  /** Method triggering collapsible toolbar */
166
169
  updateCollapsibleItems() {
167
170
  this._refreshOverflow$.next();
@@ -272,11 +275,11 @@ export class ToolbarComponent {
272
275
  .reduce((arr, i) => arr.concat(i.group), []);
273
276
  }
274
277
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ToolbarComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ContentDensityObserver }, { token: i0.DestroyRef }, { token: i2.ResizeObserverService }, { token: DYNAMIC_PAGE_HEADER_TOKEN, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
275
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: ToolbarComponent, selector: "fd-toolbar", inputs: { titleId: "titleId", class: "class", shouldOverflow: "shouldOverflow", fdType: "fdType", title: "title", active: "active", clearBorder: "clearBorder", forceOverflow: "forceOverflow", tabindex: "tabindex" }, providers: [
278
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: ToolbarComponent, isStandalone: true, selector: "fd-toolbar", inputs: { titleId: "titleId", class: "class", shouldOverflow: "shouldOverflow", fdType: "fdType", title: "title", active: "active", clearBorder: "clearBorder", forceOverflow: "forceOverflow", tabindex: "tabindex", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy" }, host: { properties: { "attr.aria-label": "this.ariaLabel", "attr.aria-labelledby": "this.ariaLabelledBy", "attr.role": "this._role" } }, providers: [
276
279
  contentDensityObserverProviders({
277
280
  defaultContentDensity: ContentDensityMode.COMPACT
278
281
  })
279
- ], queries: [{ propertyName: "titleComponent", first: true, predicate: TitleToken, descendants: true }, { propertyName: "toolbarItems", predicate: i0.forwardRef(function () { return ToolbarItem; }) }], viewQueries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true }, { propertyName: "titleElement", first: true, predicate: ["titleElement"], descendants: true }], ngImport: i0, template: "<div #toolbar [tabindex]=\"tabindex\" [class.fd-toolbar--cozy]=\"_contentDensityObserver.isCozy$ | async\">\n <h4 *ngIf=\"title\" class=\"fd-title fd-title--h4 fd-toolbar__title\" [id]=\"titleId\" #titleElement>{{ title }}</h4>\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"overflownItems.length > 0\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n <fd-toolbar-separator></fd-toolbar-separator>\n <fd-popover placement=\"bottom-end\" [noArrow]=\"true\" class=\"fd-popover\">\n <fd-popover-control>\n <button\n fd-button\n title=\"More\"\n aria-label=\"More\"\n aria-haspopup=\"true\"\n fdType=\"transparent\"\n glyph=\"overflow\"\n ></button>\n </fd-popover-control>\n\n <fd-popover-body>\n <div class=\"fd-toolbar__overflow\">\n <ng-container *ngFor=\"let overflowedItem of overflownItems\">\n <fdk-dynamic-portal\n [domElement]=\"overflowedItem.element\"\n [style.display]=\"overflowedItem.priority === 'disappear' ? 'none' : 'flex'\"\n [style.flex-direction]=\"overflowedItem.priority === 'disappear' ? undefined : 'column'\"\n >\n </fdk-dynamic-portal>\n </ng-container>\n </div>\n </fd-popover-body>\n </fd-popover>\n </ng-container>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-toolbar>*~:not(.fd-toolbar__spacer){margin-left:.5rem}.fd-toolbar>*~[dir=rtl]:not(.fd-toolbar__spacer),[dir=rtl] .fd-toolbar>*~:not(.fd-toolbar__spacer){margin-left:0;margin-right:.5rem}.fd-toolbar{-webkit-box-sizing:border-box;align-items:center;border:0;border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0 .5rem}.fd-toolbar:after,.fd-toolbar:before{box-sizing:inherit;font-size:inherit}.fd-toolbar>.fd-toolbar__spacer+:not(.fd-toolbar__spacer){margin-left:0;margin-right:0}.fd-toolbar--title{background-color:var(--sapGroup_TitleBackground)!important;height:2.75rem;padding:0 .5rem 0 1rem}.fd-toolbar--clear{border-bottom:none}.fd-toolbar--auto{background-color:var(--fdToolbar_Auto_Background)}.fd-toolbar--solid{background-color:var(--fdToolbar_Solid_Background)}.fd-toolbar--transparent{background-color:var(--sapToolbar_Background)}.fd-toolbar--fade-in{-webkit-transition:visibility 0s linear 0s,opacity 1s;opacity:1;transition:visibility 0s linear 0s,opacity 1s;visibility:visible}.fd-toolbar--fade-out{-webkit-transition:visibility 0s linear 1s,opacity 1ms;opacity:0;transition:visibility 0s linear 1s,opacity 1ms;visibility:hidden}.fd-toolbar--info{background-color:var(--sapInfobar_NonInteractive_Background);color:var(--sapList_TextColor);outline:none;padding-left:.5rem;padding-right:1rem;position:relative}.fd-toolbar--info.fd-toolbar--active{background-color:var(--sapInfobar_Background);color:var(--sapInfobar_TextColor)}.fd-toolbar--info.fd-toolbar--active.is-hover,.fd-toolbar--info.fd-toolbar--active:hover{background-color:var(--sapInfobar_Hover_Background)}.fd-toolbar--info.fd-toolbar--active.is-active,.fd-toolbar--info.fd-toolbar--active:active{background-color:var(--sapInfobar_Active_Background)}.fd-toolbar--info[dir=rtl],[dir=rtl] .fd-toolbar--info{padding-left:1rem;padding-right:.5rem}.fd-toolbar--info.is-focus:after,.fd-toolbar--info:focus:after{border-color:var(--sapContent_FocusColor);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);content:\"\";inset:.0625rem;pointer-events:none;position:absolute}.fd-toolbar--info.is-focus,.fd-toolbar--info:focus{z-index:5}.fd-toolbar--info.is-focus:after,.fd-toolbar--info:focus:after{border-color:var(--fdToolbar_Info_Outline_Color)}.fd-toolbar--info [class*=sap-icon]{color:var(--sapInfobar_TextColor);font-size:1rem;height:1rem;line-height:1rem}.fd-toolbar__spacer{-webkit-box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1 auto;border:0;box-sizing:border-box;color:var(--sapTextColor);flex:1 auto;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-toolbar__spacer:after,.fd-toolbar__spacer:before{box-sizing:inherit;font-size:inherit}.fd-toolbar__spacer--fixed{-webkit-box-flex:0;-ms-flex:none;display:inline-block;flex:none}.fd-toolbar__separator{-webkit-box-sizing:border-box;background-color:var(--sapToolbar_SeparatorColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:1.5rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:.0625rem}.fd-toolbar__separator:after,.fd-toolbar__separator:before{box-sizing:inherit;font-size:inherit}.fd-toolbar__overflow{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-height:50vh;max-width:20rem;overflow:auto;padding:.1875rem .375rem}.fd-toolbar__overflow:after,.fd-toolbar__overflow:before{box-sizing:inherit;font-size:inherit}.fd-toolbar__overflow .fd-toolbar__overflow-button{justify-content:flex-start;margin:.1875rem 0;text-align:left;width:auto}.fd-toolbar__overflow .fd-toolbar__overflow-button[dir=rtl],[dir=rtl] .fd-toolbar__overflow .fd-toolbar__overflow-button{text-align:right}.fd-toolbar__overflow .fd-toolbar__overflow-button--menu{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;display:flex;justify-content:center;justify-content:space-between;max-width:100%}.fd-toolbar__overflow .fd-toolbar__separator{-webkit-box-sizing:border-box;background-color:var(--sapToolbar_SeparatorColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;line-height:var(--sapContent_LineHeight);margin:.1875rem;padding:0;width:auto}.fd-toolbar__overflow .fd-toolbar__separator:after,.fd-toolbar__overflow .fd-toolbar__separator:before{box-sizing:inherit;font-size:inherit}.fd-toolbar__overflow .fd-toolbar__overflow-form-label,.fd-toolbar__overflow .fd-toolbar__overflow-label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-toolbar__overflow .fd-toolbar__overflow-form-label:after,.fd-toolbar__overflow .fd-toolbar__overflow-form-label:before,.fd-toolbar__overflow .fd-toolbar__overflow-label:after,.fd-toolbar__overflow .fd-toolbar__overflow-label:before{box-sizing:inherit;font-size:inherit}.fd-toolbar__overflow .fd-toolbar__overflow-form-label--text,.fd-toolbar__overflow .fd-toolbar__overflow-label--text{margin-top:.4375rem}.fd-toolbar__title{color:var(--sapGroup_TitleTextColor);font-size:var(--sapGroup_Title_FontSize)}.fd-toolbar--cozy{height:2.75rem;min-height:2.75rem}.fd-toolbar--cozy.fd-toolbar--info{height:2rem;min-height:2rem}.fd-toolbar--cozy .fd-toolbar__overflow{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:.25rem .5rem}.fd-toolbar--cozy .fd-toolbar__overflow:after,.fd-toolbar--cozy .fd-toolbar__overflow:before{box-sizing:inherit;font-size:inherit}.fd-toolbar>*{flex-shrink:0}fdk-dynamic-portal:not(:last-of-type) [fd-toolbar-item]{margin-bottom:.25rem}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i5.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i5.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i5.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i2.DynamicPortalComponent, selector: "fdk-dynamic-portal", inputs: ["domElement", "component", "template"] }, { kind: "directive", type: i6.ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: i7.ToolbarSeparatorComponent, selector: "fd-toolbar-separator" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
282
+ ], queries: [{ propertyName: "titleComponent", first: true, predicate: TitleToken, descendants: true }, { propertyName: "toolbarItems", predicate: i0.forwardRef(function () { return ToolbarItem; }) }], viewQueries: [{ propertyName: "titleElement", first: true, predicate: ["titleElement"], descendants: true }], ngImport: i0, template: "<h4 *ngIf=\"title\" class=\"fd-title fd-title--h4 fd-toolbar__title\" [id]=\"titleId\" #titleElement>{{ title }}</h4>\n\n<ng-content></ng-content>\n\n<ng-container *ngIf=\"overflownItems.length > 0\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n <fd-toolbar-separator></fd-toolbar-separator>\n <fd-popover placement=\"bottom-end\" [noArrow]=\"true\" class=\"fd-popover\">\n <fd-popover-control>\n <button\n fd-button\n title=\"More\"\n aria-label=\"More\"\n aria-haspopup=\"true\"\n fdType=\"transparent\"\n glyph=\"overflow\"\n ></button>\n </fd-popover-control>\n\n <fd-popover-body>\n <div class=\"fd-toolbar__overflow\">\n <ng-container *ngFor=\"let overflowedItem of overflownItems\">\n <fdk-dynamic-portal\n [domElement]=\"overflowedItem.element\"\n [style.display]=\"overflowedItem.priority === 'disappear' ? 'none' : 'flex'\"\n [style.flex-direction]=\"overflowedItem.priority === 'disappear' ? undefined : 'column'\"\n >\n </fdk-dynamic-portal>\n </ng-container>\n </div>\n </fd-popover-body>\n </fd-popover>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2-rc.6\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-toolbar{--fdToolbar_Height:2.75rem;--fdToolbar_Separator_Margin:0;--fdToolbar_Padding_Left:.5rem;--fdToolbar_Padding_Right:.5rem;--fdToolbar_Separator_Height:2rem;--fdToolbar_Overflow_Max_Width:100%;--fdToolbar_Separator_Width:.0625rem;--fdToolbar_Info_Color:var(--sapList_TextColor);--fdToolbar_Background:var(--sapToolbar_Background);--fdToolbar_Border:.0625rem solid var(--sapGroup_TitleBorderColor);-webkit-box-sizing:border-box;align-items:center;background-color:var(--fdToolbar_Background);border:0;border-bottom:var(--fdToolbar_Border);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:.5rem;height:var(--fdToolbar_Height);line-height:var(--sapContent_LineHeight);margin:0;padding:0;padding-left:var(--fdToolbar_Padding_Left);padding-right:var(--fdToolbar_Padding_Right)}.fd-toolbar:after,.fd-toolbar:before{box-sizing:inherit;font-size:inherit}.fd-toolbar[dir=rtl],[dir=rtl] .fd-toolbar{padding-left:var(--fdToolbar_Padding_Right);padding-right:var(--fdToolbar_Padding_Left)}.fd-toolbar__spacer{-webkit-box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1 auto;border:0;box-sizing:border-box;color:var(--sapTextColor);flex:1 auto;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-toolbar__spacer:after,.fd-toolbar__spacer:before{box-sizing:inherit;font-size:inherit}.fd-toolbar__spacer--fixed{-webkit-box-flex:0;-ms-flex:none;display:inline-block;flex:none}.fd-toolbar__separator{-webkit-box-sizing:border-box;background-color:var(--sapToolbar_SeparatorColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdToolbar_Separator_Height);line-height:var(--sapContent_LineHeight);margin:0;margin:var(--fdToolbar_Separator_Margin);padding:0;width:var(--fdToolbar_Separator_Width)}.fd-toolbar__separator:after,.fd-toolbar__separator:before{box-sizing:inherit;font-size:inherit}.fd-toolbar__overflow{-webkit-box-sizing:border-box;--fdToolbar_Separator_Width:auto;--fdToolbar_Separator_Height:.0625rem;--fdToolbar_Separator_Margin:.1875rem 0;--fdToolbar_Overflow_Padding:.25rem .5rem;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-height:50vh;max-width:var(--fdToolbar_Overflow_Max_Width);overflow:auto;padding:0;padding:var(--fdToolbar_Overflow_Padding)}.fd-toolbar__overflow:after,.fd-toolbar__overflow:before{box-sizing:inherit;font-size:inherit}.fd-toolbar__overflow[class*=-compact],.fd-toolbar__overflow[class*=-condensed],[class*=-compact] .fd-toolbar__overflow:not([class*=-cozy]),[class*=-condensed] .fd-toolbar__overflow:not([class*=-cozy]){--fdToolbar_Overflow_Padding:.1875rem .375rem}.fd-toolbar__overflow .fd-toolbar__overflow-button{justify-content:flex-start;margin:.1875rem 0;text-align:left;width:auto}.fd-toolbar__overflow .fd-toolbar__overflow-button[dir=rtl],[dir=rtl] .fd-toolbar__overflow .fd-toolbar__overflow-button{text-align:right}.fd-toolbar__overflow .fd-toolbar__overflow-button--menu{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;display:flex;justify-content:center;justify-content:space-between;max-width:100%}.fd-toolbar__overflow .fd-toolbar__overflow-form-label{margin:.625rem 0 .125rem}.fd-toolbar__overflow .fd-toolbar__overflow-label{margin:.375rem 0}.fd-toolbar__title{color:var(--sapGroup_TitleTextColor);font-size:var(--sapGroup_Title_FontSize)}.fd-toolbar--auto{--fdToolbar_Background:var(--fdToolbar_Auto_Background)}.fd-toolbar--solid{--fdToolbar_Background:var(--fdToolbar_Solid_Background)}.fd-toolbar--transparent{--fdToolbar_Background:var(--fdToolbar_Transparent_Background)}.fd-toolbar--clear{--fdToolbar_Border:none}.fd-toolbar--title{--fdToolbar_Height:2.75rem;--fdToolbar_Padding_Left:1rem;--fdToolbar_Background:var(--sapGroup_TitleBackground)}.fd-toolbar--info{--fdToolbar_Height:2rem;--fdToolbar_Background:var(--sapInfobar_NonInteractive_Background);color:var(--fdToolbar_Info_Color);position:relative}.fd-toolbar--info [class*=sap-icon]{color:var(--sapList_TextColor);font-size:1rem;height:1rem;line-height:1rem}.fd-toolbar--active{--fdToolbar_Background:var(--sapInfobar_Background);--fdToolbar_Info_Color:var(--sapInfobar_TextColor);outline:none;position:relative}.fd-toolbar--active.is-focus:after,.fd-toolbar--active:focus:after{border-color:var(--sapContent_FocusColor);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);content:\"\";inset:.0625rem;pointer-events:none;position:absolute}.fd-toolbar--active.is-hover,.fd-toolbar--active:hover{--fdToolbar_Background:var(--sapInfobar_Hover_Background)}.fd-toolbar--active.is-active,.fd-toolbar--active:active{--fdToolbar_Background:var(--sapInfobar_Active_Background)}.fd-toolbar--active.is-focus,.fd-toolbar--active:focus{z-index:5}.fd-toolbar--active.is-focus:after,.fd-toolbar--active:focus:after{border-color:var(--fdToolbar_Info_Outline_Color)}.fd-toolbar--fade-in{-webkit-transition:visibility 0s linear 0s,opacity 1s;opacity:1;transition:visibility 0s linear 0s,opacity 1s;visibility:visible}.fd-toolbar--fade-out{-webkit-transition:visibility 0s linear 1s,opacity 1ms;opacity:0;transition:visibility 0s linear 1s,opacity 1ms;visibility:hidden}.fd-toolbar[class*=-compact],.fd-toolbar[class*=-condensed],[class*=-compact] .fd-toolbar:not([class*=-cozy]),[class*=-condensed] .fd-toolbar:not([class*=-cozy]){--fdToolbar_Height:2rem;--fdToolbar_Separator_Height:1.5rem;--fdToolbar_Overflow_Max_Width:20rem}.fd-toolbar[class*=-compact].fd-toolbar--title,.fd-toolbar[class*=-condensed].fd-toolbar--title,[class*=-compact] .fd-toolbar:not([class*=-cozy]).fd-toolbar--title,[class*=-condensed] .fd-toolbar:not([class*=-cozy]).fd-toolbar--title{--fdToolbar_Height:2.75rem}.fd-toolbar>*{flex-shrink:0}fdk-dynamic-portal:not(:last-of-type) [fd-toolbar-item]{margin-bottom:.25rem}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: ToolbarSeparatorComponent, selector: "fd-toolbar-separator" }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i3.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i3.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i3.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: DynamicPortalComponent, selector: "fdk-dynamic-portal", inputs: ["domElement", "component", "template", "auto"], outputs: ["attached"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
280
283
  }
281
284
  __decorate([
282
285
  applyCssClass,
@@ -290,7 +293,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
290
293
  contentDensityObserverProviders({
291
294
  defaultContentDensity: ContentDensityMode.COMPACT
292
295
  })
293
- ], template: "<div #toolbar [tabindex]=\"tabindex\" [class.fd-toolbar--cozy]=\"_contentDensityObserver.isCozy$ | async\">\n <h4 *ngIf=\"title\" class=\"fd-title fd-title--h4 fd-toolbar__title\" [id]=\"titleId\" #titleElement>{{ title }}</h4>\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"overflownItems.length > 0\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n <fd-toolbar-separator></fd-toolbar-separator>\n <fd-popover placement=\"bottom-end\" [noArrow]=\"true\" class=\"fd-popover\">\n <fd-popover-control>\n <button\n fd-button\n title=\"More\"\n aria-label=\"More\"\n aria-haspopup=\"true\"\n fdType=\"transparent\"\n glyph=\"overflow\"\n ></button>\n </fd-popover-control>\n\n <fd-popover-body>\n <div class=\"fd-toolbar__overflow\">\n <ng-container *ngFor=\"let overflowedItem of overflownItems\">\n <fdk-dynamic-portal\n [domElement]=\"overflowedItem.element\"\n [style.display]=\"overflowedItem.priority === 'disappear' ? 'none' : 'flex'\"\n [style.flex-direction]=\"overflowedItem.priority === 'disappear' ? undefined : 'column'\"\n >\n </fdk-dynamic-portal>\n </ng-container>\n </div>\n </fd-popover-body>\n </fd-popover>\n </ng-container>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-toolbar>*~:not(.fd-toolbar__spacer){margin-left:.5rem}.fd-toolbar>*~[dir=rtl]:not(.fd-toolbar__spacer),[dir=rtl] .fd-toolbar>*~:not(.fd-toolbar__spacer){margin-left:0;margin-right:.5rem}.fd-toolbar{-webkit-box-sizing:border-box;align-items:center;border:0;border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0 .5rem}.fd-toolbar:after,.fd-toolbar:before{box-sizing:inherit;font-size:inherit}.fd-toolbar>.fd-toolbar__spacer+:not(.fd-toolbar__spacer){margin-left:0;margin-right:0}.fd-toolbar--title{background-color:var(--sapGroup_TitleBackground)!important;height:2.75rem;padding:0 .5rem 0 1rem}.fd-toolbar--clear{border-bottom:none}.fd-toolbar--auto{background-color:var(--fdToolbar_Auto_Background)}.fd-toolbar--solid{background-color:var(--fdToolbar_Solid_Background)}.fd-toolbar--transparent{background-color:var(--sapToolbar_Background)}.fd-toolbar--fade-in{-webkit-transition:visibility 0s linear 0s,opacity 1s;opacity:1;transition:visibility 0s linear 0s,opacity 1s;visibility:visible}.fd-toolbar--fade-out{-webkit-transition:visibility 0s linear 1s,opacity 1ms;opacity:0;transition:visibility 0s linear 1s,opacity 1ms;visibility:hidden}.fd-toolbar--info{background-color:var(--sapInfobar_NonInteractive_Background);color:var(--sapList_TextColor);outline:none;padding-left:.5rem;padding-right:1rem;position:relative}.fd-toolbar--info.fd-toolbar--active{background-color:var(--sapInfobar_Background);color:var(--sapInfobar_TextColor)}.fd-toolbar--info.fd-toolbar--active.is-hover,.fd-toolbar--info.fd-toolbar--active:hover{background-color:var(--sapInfobar_Hover_Background)}.fd-toolbar--info.fd-toolbar--active.is-active,.fd-toolbar--info.fd-toolbar--active:active{background-color:var(--sapInfobar_Active_Background)}.fd-toolbar--info[dir=rtl],[dir=rtl] .fd-toolbar--info{padding-left:1rem;padding-right:.5rem}.fd-toolbar--info.is-focus:after,.fd-toolbar--info:focus:after{border-color:var(--sapContent_FocusColor);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);content:\"\";inset:.0625rem;pointer-events:none;position:absolute}.fd-toolbar--info.is-focus,.fd-toolbar--info:focus{z-index:5}.fd-toolbar--info.is-focus:after,.fd-toolbar--info:focus:after{border-color:var(--fdToolbar_Info_Outline_Color)}.fd-toolbar--info [class*=sap-icon]{color:var(--sapInfobar_TextColor);font-size:1rem;height:1rem;line-height:1rem}.fd-toolbar__spacer{-webkit-box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1 auto;border:0;box-sizing:border-box;color:var(--sapTextColor);flex:1 auto;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-toolbar__spacer:after,.fd-toolbar__spacer:before{box-sizing:inherit;font-size:inherit}.fd-toolbar__spacer--fixed{-webkit-box-flex:0;-ms-flex:none;display:inline-block;flex:none}.fd-toolbar__separator{-webkit-box-sizing:border-box;background-color:var(--sapToolbar_SeparatorColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:1.5rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:.0625rem}.fd-toolbar__separator:after,.fd-toolbar__separator:before{box-sizing:inherit;font-size:inherit}.fd-toolbar__overflow{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-height:50vh;max-width:20rem;overflow:auto;padding:.1875rem .375rem}.fd-toolbar__overflow:after,.fd-toolbar__overflow:before{box-sizing:inherit;font-size:inherit}.fd-toolbar__overflow .fd-toolbar__overflow-button{justify-content:flex-start;margin:.1875rem 0;text-align:left;width:auto}.fd-toolbar__overflow .fd-toolbar__overflow-button[dir=rtl],[dir=rtl] .fd-toolbar__overflow .fd-toolbar__overflow-button{text-align:right}.fd-toolbar__overflow .fd-toolbar__overflow-button--menu{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;display:flex;justify-content:center;justify-content:space-between;max-width:100%}.fd-toolbar__overflow .fd-toolbar__separator{-webkit-box-sizing:border-box;background-color:var(--sapToolbar_SeparatorColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;line-height:var(--sapContent_LineHeight);margin:.1875rem;padding:0;width:auto}.fd-toolbar__overflow .fd-toolbar__separator:after,.fd-toolbar__overflow .fd-toolbar__separator:before{box-sizing:inherit;font-size:inherit}.fd-toolbar__overflow .fd-toolbar__overflow-form-label,.fd-toolbar__overflow .fd-toolbar__overflow-label{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-toolbar__overflow .fd-toolbar__overflow-form-label:after,.fd-toolbar__overflow .fd-toolbar__overflow-form-label:before,.fd-toolbar__overflow .fd-toolbar__overflow-label:after,.fd-toolbar__overflow .fd-toolbar__overflow-label:before{box-sizing:inherit;font-size:inherit}.fd-toolbar__overflow .fd-toolbar__overflow-form-label--text,.fd-toolbar__overflow .fd-toolbar__overflow-label--text{margin-top:.4375rem}.fd-toolbar__title{color:var(--sapGroup_TitleTextColor);font-size:var(--sapGroup_Title_FontSize)}.fd-toolbar--cozy{height:2.75rem;min-height:2.75rem}.fd-toolbar--cozy.fd-toolbar--info{height:2rem;min-height:2rem}.fd-toolbar--cozy .fd-toolbar__overflow{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:.25rem .5rem}.fd-toolbar--cozy .fd-toolbar__overflow:after,.fd-toolbar--cozy .fd-toolbar__overflow:before{box-sizing:inherit;font-size:inherit}.fd-toolbar>*{flex-shrink:0}fdk-dynamic-portal:not(:last-of-type) [fd-toolbar-item]{margin-bottom:.25rem}\n"] }]
296
+ ], standalone: true, imports: [
297
+ NgIf,
298
+ ToolbarSpacerDirective,
299
+ ToolbarSeparatorComponent,
300
+ PopoverModule,
301
+ ButtonModule,
302
+ NgFor,
303
+ DynamicPortalComponent
304
+ ], template: "<h4 *ngIf=\"title\" class=\"fd-title fd-title--h4 fd-toolbar__title\" [id]=\"titleId\" #titleElement>{{ title }}</h4>\n\n<ng-content></ng-content>\n\n<ng-container *ngIf=\"overflownItems.length > 0\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n <fd-toolbar-separator></fd-toolbar-separator>\n <fd-popover placement=\"bottom-end\" [noArrow]=\"true\" class=\"fd-popover\">\n <fd-popover-control>\n <button\n fd-button\n title=\"More\"\n aria-label=\"More\"\n aria-haspopup=\"true\"\n fdType=\"transparent\"\n glyph=\"overflow\"\n ></button>\n </fd-popover-control>\n\n <fd-popover-body>\n <div class=\"fd-toolbar__overflow\">\n <ng-container *ngFor=\"let overflowedItem of overflownItems\">\n <fdk-dynamic-portal\n [domElement]=\"overflowedItem.element\"\n [style.display]=\"overflowedItem.priority === 'disappear' ? 'none' : 'flex'\"\n [style.flex-direction]=\"overflowedItem.priority === 'disappear' ? undefined : 'column'\"\n >\n </fdk-dynamic-portal>\n </ng-container>\n </div>\n </fd-popover-body>\n </fd-popover>\n</ng-container>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2-rc.6\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-toolbar{--fdToolbar_Height:2.75rem;--fdToolbar_Separator_Margin:0;--fdToolbar_Padding_Left:.5rem;--fdToolbar_Padding_Right:.5rem;--fdToolbar_Separator_Height:2rem;--fdToolbar_Overflow_Max_Width:100%;--fdToolbar_Separator_Width:.0625rem;--fdToolbar_Info_Color:var(--sapList_TextColor);--fdToolbar_Background:var(--sapToolbar_Background);--fdToolbar_Border:.0625rem solid var(--sapGroup_TitleBorderColor);-webkit-box-sizing:border-box;align-items:center;background-color:var(--fdToolbar_Background);border:0;border-bottom:var(--fdToolbar_Border);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;gap:.5rem;height:var(--fdToolbar_Height);line-height:var(--sapContent_LineHeight);margin:0;padding:0;padding-left:var(--fdToolbar_Padding_Left);padding-right:var(--fdToolbar_Padding_Right)}.fd-toolbar:after,.fd-toolbar:before{box-sizing:inherit;font-size:inherit}.fd-toolbar[dir=rtl],[dir=rtl] .fd-toolbar{padding-left:var(--fdToolbar_Padding_Right);padding-right:var(--fdToolbar_Padding_Left)}.fd-toolbar__spacer{-webkit-box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1 auto;border:0;box-sizing:border-box;color:var(--sapTextColor);flex:1 auto;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-toolbar__spacer:after,.fd-toolbar__spacer:before{box-sizing:inherit;font-size:inherit}.fd-toolbar__spacer--fixed{-webkit-box-flex:0;-ms-flex:none;display:inline-block;flex:none}.fd-toolbar__separator{-webkit-box-sizing:border-box;background-color:var(--sapToolbar_SeparatorColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fdToolbar_Separator_Height);line-height:var(--sapContent_LineHeight);margin:0;margin:var(--fdToolbar_Separator_Margin);padding:0;width:var(--fdToolbar_Separator_Width)}.fd-toolbar__separator:after,.fd-toolbar__separator:before{box-sizing:inherit;font-size:inherit}.fd-toolbar__overflow{-webkit-box-sizing:border-box;--fdToolbar_Separator_Width:auto;--fdToolbar_Separator_Height:.0625rem;--fdToolbar_Separator_Margin:.1875rem 0;--fdToolbar_Overflow_Padding:.25rem .5rem;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-height:50vh;max-width:var(--fdToolbar_Overflow_Max_Width);overflow:auto;padding:0;padding:var(--fdToolbar_Overflow_Padding)}.fd-toolbar__overflow:after,.fd-toolbar__overflow:before{box-sizing:inherit;font-size:inherit}.fd-toolbar__overflow[class*=-compact],.fd-toolbar__overflow[class*=-condensed],[class*=-compact] .fd-toolbar__overflow:not([class*=-cozy]),[class*=-condensed] .fd-toolbar__overflow:not([class*=-cozy]){--fdToolbar_Overflow_Padding:.1875rem .375rem}.fd-toolbar__overflow .fd-toolbar__overflow-button{justify-content:flex-start;margin:.1875rem 0;text-align:left;width:auto}.fd-toolbar__overflow .fd-toolbar__overflow-button[dir=rtl],[dir=rtl] .fd-toolbar__overflow .fd-toolbar__overflow-button{text-align:right}.fd-toolbar__overflow .fd-toolbar__overflow-button--menu{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;display:flex;justify-content:center;justify-content:space-between;max-width:100%}.fd-toolbar__overflow .fd-toolbar__overflow-form-label{margin:.625rem 0 .125rem}.fd-toolbar__overflow .fd-toolbar__overflow-label{margin:.375rem 0}.fd-toolbar__title{color:var(--sapGroup_TitleTextColor);font-size:var(--sapGroup_Title_FontSize)}.fd-toolbar--auto{--fdToolbar_Background:var(--fdToolbar_Auto_Background)}.fd-toolbar--solid{--fdToolbar_Background:var(--fdToolbar_Solid_Background)}.fd-toolbar--transparent{--fdToolbar_Background:var(--fdToolbar_Transparent_Background)}.fd-toolbar--clear{--fdToolbar_Border:none}.fd-toolbar--title{--fdToolbar_Height:2.75rem;--fdToolbar_Padding_Left:1rem;--fdToolbar_Background:var(--sapGroup_TitleBackground)}.fd-toolbar--info{--fdToolbar_Height:2rem;--fdToolbar_Background:var(--sapInfobar_NonInteractive_Background);color:var(--fdToolbar_Info_Color);position:relative}.fd-toolbar--info [class*=sap-icon]{color:var(--sapList_TextColor);font-size:1rem;height:1rem;line-height:1rem}.fd-toolbar--active{--fdToolbar_Background:var(--sapInfobar_Background);--fdToolbar_Info_Color:var(--sapInfobar_TextColor);outline:none;position:relative}.fd-toolbar--active.is-focus:after,.fd-toolbar--active:focus:after{border-color:var(--sapContent_FocusColor);border-style:var(--sapContent_FocusStyle);border-width:var(--sapContent_FocusWidth);content:\"\";inset:.0625rem;pointer-events:none;position:absolute}.fd-toolbar--active.is-hover,.fd-toolbar--active:hover{--fdToolbar_Background:var(--sapInfobar_Hover_Background)}.fd-toolbar--active.is-active,.fd-toolbar--active:active{--fdToolbar_Background:var(--sapInfobar_Active_Background)}.fd-toolbar--active.is-focus,.fd-toolbar--active:focus{z-index:5}.fd-toolbar--active.is-focus:after,.fd-toolbar--active:focus:after{border-color:var(--fdToolbar_Info_Outline_Color)}.fd-toolbar--fade-in{-webkit-transition:visibility 0s linear 0s,opacity 1s;opacity:1;transition:visibility 0s linear 0s,opacity 1s;visibility:visible}.fd-toolbar--fade-out{-webkit-transition:visibility 0s linear 1s,opacity 1ms;opacity:0;transition:visibility 0s linear 1s,opacity 1ms;visibility:hidden}.fd-toolbar[class*=-compact],.fd-toolbar[class*=-condensed],[class*=-compact] .fd-toolbar:not([class*=-cozy]),[class*=-condensed] .fd-toolbar:not([class*=-cozy]){--fdToolbar_Height:2rem;--fdToolbar_Separator_Height:1.5rem;--fdToolbar_Overflow_Max_Width:20rem}.fd-toolbar[class*=-compact].fd-toolbar--title,.fd-toolbar[class*=-condensed].fd-toolbar--title,[class*=-compact] .fd-toolbar:not([class*=-cozy]).fd-toolbar--title,[class*=-condensed] .fd-toolbar:not([class*=-cozy]).fd-toolbar--title{--fdToolbar_Height:2.75rem}.fd-toolbar>*{flex-shrink:0}fdk-dynamic-portal:not(:last-of-type) [fd-toolbar-item]{margin-bottom:.25rem}\n"] }]
294
305
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.ContentDensityObserver }, { type: i0.DestroyRef }, { type: i2.ResizeObserverService }, { type: undefined, decorators: [{
295
306
  type: Optional
296
307
  }, {
@@ -316,9 +327,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
316
327
  type: Input
317
328
  }], tabindex: [{
318
329
  type: Input
319
- }], toolbar: [{
320
- type: ViewChild,
321
- args: ['toolbar']
330
+ }], ariaLabel: [{
331
+ type: Input
332
+ }, {
333
+ type: HostBinding,
334
+ args: ['attr.aria-label']
335
+ }], ariaLabelledBy: [{
336
+ type: Input
337
+ }, {
338
+ type: HostBinding,
339
+ args: ['attr.aria-labelledby']
322
340
  }], titleElement: [{
323
341
  type: ViewChild,
324
342
  args: ['titleElement']
@@ -328,5 +346,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
328
346
  }], titleComponent: [{
329
347
  type: ContentChild,
330
348
  args: [TitleToken]
349
+ }], _role: [{
350
+ type: HostBinding,
351
+ args: ['attr.role']
331
352
  }], buildComponentCssClass: [] } });
332
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBSUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBQ1QsUUFBUSxFQUNSLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFxQixNQUFNLDhCQUE4QixDQUFDO0FBRTVGLE9BQU8sRUFDSCxhQUFhLEVBRWIsdUJBQXVCLEVBRXZCLHFCQUFxQixFQUN4QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLCtCQUErQixFQUNsQyxNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7O0FBRWhFLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQztBQUN6QixNQUFNLGNBQWMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLGNBQWMsQ0FBQztBQUMvQyxN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OzswQkE2R0ksUUFBUTs7MEJBQUksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx5QkFBeUI7NENBdEc3RCxPQUFPO3NCQUROLEtBQUs7Z0JBTU4sS0FBSztzQkFESixLQUFLO2dCQU9GLGNBQWM7c0JBRGpCLEtBQUs7Z0JBZU4sTUFBTTtzQkFETCxLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFPTixNQUFNO3NCQURMLEtBQUs7Z0JBT04sV0FBVztzQkFEVixLQUFLO2dCQUtOLGFBQWE7c0JBRFosS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sT0FBTztzQkFETixTQUFTO3VCQUFDLFNBQVM7Z0JBS3BCLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxjQUFjO2dCQUt6QixZQUFZO3NCQURYLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztnQkFLMUMsY0FBYztzQkFEakIsWUFBWTt1QkFBQyxVQUFVO2dCQTZDeEIsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNraXBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERZTkFNSUNfUEFHRV9IRUFERVJfVE9LRU4sIER5bmFtaWNQYWdlSGVhZGVyIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoYXJlZCc7XG5cbmltcG9ydCB7XG4gICAgYXBwbHlDc3NDbGFzcyxcbiAgICBDc3NDbGFzc0J1aWxkZXIsXG4gICAgT1ZFUkZMT1dfUFJJT1JJVFlfU0NPUkUsXG4gICAgT3ZlcmZsb3dQcmlvcml0eSxcbiAgICBSZXNpemVPYnNlcnZlclNlcnZpY2Vcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGl0bGVUb2tlbiB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS90aXRsZSc7XG5pbXBvcnQge1xuICAgIENvbnRlbnREZW5zaXR5TW9kZSxcbiAgICBDb250ZW50RGVuc2l0eU9ic2VydmVyLFxuICAgIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnNcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBUb29sYmFySXRlbSB9IGZyb20gJy4vYWJzdHJhY3QtdG9vbGJhci1pdGVtLmNsYXNzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuY29uc3QgRUxFTUVOVF9NQVJHSU4gPSA4O1xuY29uc3QgT1ZFUkZMT1dfU1BBQ0UgPSA1MCArIDIgKiBFTEVNRU5UX01BUkdJTjtcbmNvbnN0IE1BWF9DT05URU5UX1NJWkUgPSA5OTk5OTk5OTtcblxuZXhwb3J0IHR5cGUgVG9vbGJhclR5cGUgPSAnc29saWQnIHwgJ3RyYW5zcGFyZW50JyB8ICdhdXRvJyB8ICdpbmZvJztcblxuZXhwb3J0IGNvbnN0IGVudW0gT3ZlcmZsb3dQcmlvcml0eUVudW0ge1xuICAgIEFMV0FZUyA9ICdhbHdheXMnLFxuICAgIE5FVkVSID0gJ25ldmVyJyxcbiAgICBMT1cgPSAnbG93JyxcbiAgICBISUdIID0gJ2hpZ2gnLFxuICAgIERJU0FQUEVBUiA9ICdkaXNhcHBlYXInXG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtdG9vbGJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Rvb2xiYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzKHtcbiAgICAgICAgICAgIGRlZmF1bHRDb250ZW50RGVuc2l0eTogQ29udGVudERlbnNpdHlNb2RlLkNPTVBBQ1RcbiAgICAgICAgfSlcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlclZpZXdDaGVja2VkLCBDc3NDbGFzc0J1aWxkZXIsIEFmdGVyQ29udGVudEluaXQge1xuICAgIC8qKlxuICAgICAqIFRoZSBJRCBvZiB0aGUgdG9vbGJhciB0aXRsZVxuICAgICAqICovXG4gICAgQElucHV0KClcbiAgICB0aXRsZUlkOiBzdHJpbmc7XG5cbiAgICAvKiogUHJvcGVydHkgYWxsb3dzIHVzZXIgdG8gcGFzcyBhZGRpdGlvbmFsIGNsYXNzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjbGFzczogc3RyaW5nO1xuXG4gICAgLyoqIERldGVybWluZXMgaWYgb3ZlcmZsb3cgYnV0dG9uIHNob3VsZCBiZSB2aXNpYmxlXG4gICAgICogRGVmYXVsdCB2YWx1ZTogZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBzaG91bGRPdmVyZmxvdyh2YWw6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2hvdWxkT3ZlcmZsb3cgPSB2YWw7XG4gICAgICAgIHRoaXMuc2hvdWxkT3ZlcmZsb3ckLm5leHQodmFsKTtcbiAgICB9XG5cbiAgICBnZXQgc2hvdWxkT3ZlcmZsb3coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG91bGRPdmVyZmxvdztcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lcyB0aGUgdHlwZSBvZiB0b29sYmFyXG4gICAgICogQXZhaWxhYmxlIG9wdGlvbnM6ICdzb2xpZCcgfCAndHJhbnNwYXJlbnQnIHwgJ2F1dG8nIHwgJ2luZm8nXG4gICAgICogRGVmYXVsdCB2YWx1ZTogJ3NvbGlkJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmRUeXBlOiBUb29sYmFyVHlwZSA9ICdzb2xpZCc7XG5cbiAgICAvKiogVGhlIHRpdGxlIGZvciB0aGUgdG9vbGJhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIHRpdGxlOiBzdHJpbmc7XG5cbiAgICAvKiogRGV0ZXJtaW5lcyBpZiB0b29sYmFyIHNob3VsZCBoYXMgYWN0aXZlIHN0YXRlIChvbmx5IHdoZW4gZmRUeXBlID09ICdpbmZvJylcbiAgICAgKiBEZWZhdWx0IHZhbHVlOiBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgYWN0aXZlID0gZmFsc2U7XG5cbiAgICAvKiogRGV0ZXJtaW5lcyBpZiB0b29sYmFyIHNob3VsZCBjbGVhciBib3JkZXIgYm90dG9tXG4gICAgICogRGVmYXVsdCB2YWx1ZTogZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNsZWFyQm9yZGVyID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBhbGwgaXRlbXMgc2hvdWxkIGJlIGluc2lkZSBvdmVyZmxvdyAqL1xuICAgIEBJbnB1dCgpXG4gICAgZm9yY2VPdmVyZmxvdyA9IGZhbHNlO1xuXG4gICAgLyoqIFRhYmluZGV4IG9mIHRoZSB0b29sYmFyIGVsZW1lbnQsIHRvIGJlIHVzZWQgd2hlbiBmZFR5cGU9XCJpbmZvXCIgKi9cbiAgICBASW5wdXQoKVxuICAgIHRhYmluZGV4ID0gLTE7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ3Rvb2xiYXInKVxuICAgIHRvb2xiYXI6IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ3RpdGxlRWxlbWVudCcpXG4gICAgdGl0bGVFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxIZWFkRWxlbWVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBUb29sYmFySXRlbSkpXG4gICAgdG9vbGJhckl0ZW1zOiBRdWVyeUxpc3Q8VG9vbGJhckl0ZW0+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKFRpdGxlVG9rZW4pXG4gICAgc2V0IHRpdGxlQ29tcG9uZW50KHRpdGxlOiBUaXRsZVRva2VuIHwgbnVsbCkge1xuICAgICAgICB0aGlzLl90aXRsZUNvbXBvbmVudCQubmV4dCh0aXRsZSk7XG4gICAgfVxuXG4gICAgZ2V0IHRpdGxlQ29tcG9uZW50KCk6IFRpdGxlVG9rZW4gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RpdGxlQ29tcG9uZW50JC52YWx1ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG92ZXJmbG93SXRlbXMkOiBPYnNlcnZhYmxlPFRvb2xiYXJJdGVtW10+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvdmVyZmxvd25JdGVtczogVG9vbGJhckl0ZW1bXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90aXRsZUNvbXBvbmVudCQ6IEJlaGF2aW9yU3ViamVjdDxUaXRsZVRva2VuIHwgbnVsbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRpdGxlVG9rZW4gfCBudWxsPihudWxsKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVmcmVzaE92ZXJmbG93JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dm9pZD4odW5kZWZpbmVkKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX3Rvb2xiYXJXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKHRoaXMudG9vbGJhci5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jbGllbnRXaWR0aCAtIE9WRVJGTE9XX1NQQUNFO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2hvdWxkT3ZlcmZsb3cgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBzaG91bGRPdmVyZmxvdyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcmVhZG9ubHkgX2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXI6IENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXG4gICAgICAgIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXJTZXJ2aWNlOiBSZXNpemVPYnNlcnZlclNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIEBJbmplY3QoRFlOQU1JQ19QQUdFX0hFQURFUl9UT0tFTikgcHJpdmF0ZSBfZHluYW1pY1BhZ2VIZWFkZXI/OiBEeW5hbWljUGFnZUhlYWRlclxuICAgICkge1xuICAgICAgICBfY29udGVudERlbnNpdHlPYnNlcnZlci5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBhcHBseUNzc0NsYXNzXG4gICAgYnVpbGRDb21wb25lbnRDc3NDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZmQtdG9vbGJhcicsXG4gICAgICAgICAgICBgZmQtdG9vbGJhci0tJHt0aGlzLmZkVHlwZX1gLFxuICAgICAgICAgICAgYCR7dGhpcy5hY3RpdmUgJiYgdGhpcy5mZFR5cGUgPT09ICdpbmZvJyA/ICdmZC10b29sYmFyLS1hY3RpdmUnIDogJyd9YCxcbiAgICAgICAgICAgIGAke3RoaXMudGl0bGUgfHwgdGhpcy50aXRsZUNvbXBvbmVudCA/ICdmZC10b29sYmFyLS10aXRsZScgOiAnJ31gLFxuICAgICAgICAgICAgYCR7dGhpcy5jbGVhckJvcmRlciA/ICdmZC10b29sYmFyLS1jbGVhcicgOiAnJ31gLFxuICAgICAgICAgICAgYCR7dGhpcy5fZHluYW1pY1BhZ2VIZWFkZXIgPyAnZmQtZHluYW1pYy1wYWdlX190b29sYmFyJyA6ICcnfWBcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vdmVyZmxvd0l0ZW1zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlclNlcnZpY2Uub2JzZXJ2ZSh0aGlzLnRvb2xiYXIubmF0aXZlRWxlbWVudCkucGlwZShtYXAoKCkgPT4gdGhpcy5fdG9vbGJhcldpZHRoKSksXG4gICAgICAgICAgICB0aGlzLnRvb2xiYXJJdGVtcy5jaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMudG9vbGJhckl0ZW1zKSxcbiAgICAgICAgICAgICAgICBtYXAoKHRvb2xiYXJJdGVtcykgPT4gdG9vbGJhckl0ZW1zLnRvQXJyYXkoKSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0aGlzLl90aXRsZUNvbXBvbmVudCQucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHRpdGxlQ29tcG9uZW50KTogSFRNTEVsZW1lbnQgfCBudWxsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aXRsZUNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudGl0bGVFbGVtZW50Py5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aXRsZUNvbXBvbmVudC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0aGlzLnNob3VsZE92ZXJmbG93JCxcbiAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hPdmVyZmxvdyRcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3Rvb2xiYXJXaWR0aCwgdG9vbGJhckl0ZW1zLCB0aXRsZUVsZW1lbnQsIHNob3VsZE92ZXJmbG93XSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzaG91bGRPdmVyZmxvdykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBfc29ydGVkQnlQcmlvcml0eUFuZEdyb3VwSXRlbXMgPSB0aGlzLl9nZXRTb3J0ZWRCeVByaW9yaXR5QW5kR3JvdXBJdGVtcyh0b29sYmFySXRlbXMpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvdmVyZmxvd0l0ZW1zOiBUb29sYmFySXRlbVtdID0gW107XG4gICAgICAgICAgICAgICAgICAgIF9zb3J0ZWRCeVByaW9yaXR5QW5kR3JvdXBJdGVtcy5yZWR1Y2UoKF9jb250ZW50V2lkdGgsIHRvb2xiYXJJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtV2lkdGggPSB0b29sYmFySXRlbS53aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1Qcmlvcml0eSA9IHRvb2xiYXJJdGVtLnByaW9yaXR5O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkSXRlbUJlUmVtb3ZlZEJ5V2lkdGggPSBpdGVtV2lkdGggKyBfY29udGVudFdpZHRoID4gdG9vbGJhcldpZHRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkQWx3YXlzQmVJbk92ZXJmbG93ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtUHJpb3JpdHkgPT09IE92ZXJmbG93UHJpb3JpdHlFbnVtLkFMV0FZUyB8fCB0aGlzLmZvcmNlT3ZlcmZsb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaG91bGROZXZlckJlSW5PdmVyZmxvdyA9IGl0ZW1Qcmlvcml0eSA9PT0gT3ZlcmZsb3dQcmlvcml0eUVudW0uTkVWRVI7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHNob3VsZEl0ZW1CZVJlbW92ZWRCeVdpZHRoICYmICFzaG91bGROZXZlckJlSW5PdmVyZmxvdykgfHwgc2hvdWxkQWx3YXlzQmVJbk92ZXJmbG93KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3dJdGVtcy5wdXNoKHRvb2xiYXJJdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2hvdWxkQWx3YXlzQmVJbk92ZXJmbG93ID8gX2NvbnRlbnRXaWR0aCA6IE1BWF9DT05URU5UX1NJWkU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfY29udGVudFdpZHRoICsgaXRlbVdpZHRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LCB0aXRsZUVsZW1lbnQ/LmNsaWVudFdpZHRoIHx8IDApO1xuICAgICAgICAgICAgICAgICAgICAvLyBIaWRlIG9ycGhhbnNcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB0b29sYmFySXRlbSBvZiBvdmVyZmxvd0l0ZW1zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBncm91cGVkQ29sbGVjdGlvbiA9IHRoaXMuX2dldEdyb3VwZWRDb2xsZWN0aW9uKHRvb2xiYXJJdGVtcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBncm91cGVkQ29sbGVjdGlvblByaW9yaXRpZXMgPSB0aGlzLl9nZXRHcm91cGVkQ29sbGVjdGlvblByaW9yaXR5KGdyb3VwZWRDb2xsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwID0gdG9vbGJhckl0ZW0uZ3JvdXA7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtUHJpb3JpdHkgPSB0b29sYmFySXRlbS5wcmlvcml0eTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChncm91cCAhPT0gMCAmJiBpdGVtUHJpb3JpdHkgIT09IE92ZXJmbG93UHJpb3JpdHlFbnVtLkRJU0FQUEVBUikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zRnJvbUN1cnJlbnRHcm91cCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2dldEVsZW1lbnRzRnJvbUN1cnJlbnRHcm91cChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBlZENvbGxlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cGVkQ29sbGVjdGlvblByaW9yaXRpZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB8fCBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtc0Zyb21DdXJyZW50R3JvdXAuZm9yRWFjaCgoaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3ZlcmZsb3dJdGVtcy5pbmRleE9mKGkpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3dJdGVtcy5wdXNoKGkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG92ZXJmbG93SXRlbXMuc29ydCgoYSwgYikgPT4gdGhpcy5fc29ydFByaW9yaXRpZXMoYS5wcmlvcml0eSwgYi5wcmlvcml0eSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLm92ZXJmbG93SXRlbXMkLnN1YnNjcmliZSgoaXRlbXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmZsb3duSXRlbXMgPSBpdGVtcztcbiAgICAgICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudGl0bGVDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMudGl0bGVDb21wb25lbnQuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdmZC10b29sYmFyX190aXRsZScpO1xuICAgICAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ2hhbmdlIGRldGVjdGlvbiByZWZlcmVuY2UgKi9cbiAgICBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgZWxlbWVudFJlZigpOiBFbGVtZW50UmVmIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9vbGJhcjtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRyaWdnZXJpbmcgY29sbGFwc2libGUgdG9vbGJhciAgKi9cbiAgICB1cGRhdGVDb2xsYXBzaWJsZUl0ZW1zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZWZyZXNoT3ZlcmZsb3ckLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBHZXQgZ3JvdXAgbnVtYmVyIHdpdGggdGhlIGxvd2VzdCBwcmlvcml0eS5cbiAgICAgKiAgVXNlcyBmb3IgZGV0ZWN0aW5nIGEgZ3JvdXAgb2YgZWxlbWVudHMgd2hpY2ggd291bGQgYmUgaGlkZGVuIGZyb20gdGhlIHRvb2xiYXIuXG4gICAgICogICovXG4gICAgcHJpdmF0ZSBfZ2V0TG93ZXN0UHJpb3JpdHlGcm9tR3JvdXAoXG4gICAgICAgIGl0ZW1Hcm91cDogbnVtYmVyLFxuICAgICAgICBncm91cGVkQ29sbGVjdGlvblByaW9yaXR5PzogUmVjb3JkPG51bWJlciwgT3ZlcmZsb3dQcmlvcml0eT5cbiAgICApOiBudW1iZXIge1xuICAgICAgICBjb25zdCBwcmlvcml0eSA9IGdyb3VwZWRDb2xsZWN0aW9uUHJpb3JpdHk7XG4gICAgICAgIGlmICghcHJpb3JpdHkgfHwgIU9WRVJGTE9XX1BSSU9SSVRZX1NDT1JFLmdldChwcmlvcml0eVtpdGVtR3JvdXBdKSkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW1Hcm91cDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGdyb3VwcyA9IE9iamVjdC5rZXlzKHByaW9yaXR5KTtcblxuICAgICAgICByZXR1cm4gZ3JvdXBzLnJlZHVjZSgobG93ZXN0R3JvdXAsIGN1cnJlbnRHcm91cCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbG93ZXN0R3JvdXBQcmlvcml0eSA9IHByaW9yaXR5W2xvd2VzdEdyb3VwXTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRHcm91cFByaW9yaXR5ID0gcHJpb3JpdHlbY3VycmVudEdyb3VwXTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBPVkVSRkxPV19QUklPUklUWV9TQ09SRS5nZXQoY3VycmVudEdyb3VwUHJpb3JpdHkpISA8IE9WRVJGTE9XX1BSSU9SSVRZX1NDT1JFLmdldChsb3dlc3RHcm91cFByaW9yaXR5KSFcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiArY3VycmVudEdyb3VwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbG93ZXN0R3JvdXA7XG4gICAgICAgIH0sIGl0ZW1Hcm91cCBhcyBudW1iZXIpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0RWxlbWVudHNGcm9tQ3VycmVudEdyb3VwKFxuICAgICAgICBpdGVtR3JvdXA6IG51bWJlcixcbiAgICAgICAgZ3JvdXBlZENvbGxlY3Rpb24/OiBSZWNvcmQ8bnVtYmVyLCBUb29sYmFySXRlbVtdPixcbiAgICAgICAgZ3JvdXBlZENvbGxlY3Rpb25Qcmlvcml0eT86IFJlY29yZDxudW1iZXIsIE92ZXJmbG93UHJpb3JpdHk+XG4gICAgKTogVG9vbGJhckl0ZW1bXSB7XG4gICAgICAgIGNvbnN0IGxvd2VzdFByaW9yaXR5RnJvbUdyb3VwID0gdGhpcy5fZ2V0TG93ZXN0UHJpb3JpdHlGcm9tR3JvdXAoaXRlbUdyb3VwLCBncm91cGVkQ29sbGVjdGlvblByaW9yaXR5KTtcbiAgICAgICAgaWYgKCFncm91cGVkQ29sbGVjdGlvbiB8fCAhZ3JvdXBlZENvbGxlY3Rpb25Qcmlvcml0eSkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIGxldCBpdGVtc1RvUmVtb3ZlID0gZ3JvdXBlZENvbGxlY3Rpb25bbG93ZXN0UHJpb3JpdHlGcm9tR3JvdXBdO1xuXG4gICAgICAgIGRlbGV0ZSBncm91cGVkQ29sbGVjdGlvbltsb3dlc3RQcmlvcml0eUZyb21Hcm91cF07XG4gICAgICAgIGRlbGV0ZSBncm91cGVkQ29sbGVjdGlvblByaW9yaXR5W2xvd2VzdFByaW9yaXR5RnJvbUdyb3VwXTtcblxuICAgICAgICBpZiAobG93ZXN0UHJpb3JpdHlGcm9tR3JvdXAgIT09IGl0ZW1Hcm91cCkge1xuICAgICAgICAgICAgaXRlbXNUb1JlbW92ZSA9IFsuLi5pdGVtc1RvUmVtb3ZlLCAuLi5ncm91cGVkQ29sbGVjdGlvbltpdGVtR3JvdXBdXTtcbiAgICAgICAgICAgIGRlbGV0ZSBncm91cGVkQ29sbGVjdGlvbltpdGVtR3JvdXBdO1xuICAgICAgICAgICAgZGVsZXRlIGdyb3VwZWRDb2xsZWN0aW9uUHJpb3JpdHlbaXRlbUdyb3VwXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpdGVtc1RvUmVtb3ZlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEdldCB0aGUgb2JqZWN0IHdpdGggZ3JvdXBlZCBhcnJheXMgb2YgZWxlbWVudHMuICovXG4gICAgcHJpdmF0ZSBfZ2V0R3JvdXBlZENvbGxlY3Rpb24odG9vbGJhckl0ZW1zOiBUb29sYmFySXRlbVtdKTogUmVjb3JkPG51bWJlciwgVG9vbGJhckl0ZW1bXT4ge1xuICAgICAgICByZXR1cm4gdG9vbGJhckl0ZW1zLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpdGVtUHJpbyA9IGl0ZW0ucHJpb3JpdHk7XG4gICAgICAgICAgICBjb25zdCBpdGVtR3JvdXAgPSBpdGVtLmdyb3VwO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGl0ZW1QcmlvID09PSBPdmVyZmxvd1ByaW9yaXR5RW51bS5ORVZFUiB8fFxuICAgICAgICAgICAgICAgIGl0ZW1QcmlvID09PSBPdmVyZmxvd1ByaW9yaXR5RW51bS5BTFdBWVMgfHxcbiAgICAgICAgICAgICAgICBpdGVtR3JvdXAgPT09IDBcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWFjY1tpdGVtR3JvdXBdKSB7XG4gICAgICAgICAgICAgICAgYWNjW2l0ZW1Hcm91cF0gPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFjY1tpdGVtR3JvdXBdLnB1c2goaXRlbSk7XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9LCB7fSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gR2V0IHRoZSBvYmplY3Qgd2l0aCB0aGUgaGlnaGVzdCBwcmlvcml0eSBmb3IgZWFjaCBncm91cCBvZiBlbGVtZW50cy4gKi9cbiAgICBwcml2YXRlIF9nZXRHcm91cGVkQ29sbGVjdGlvblByaW9yaXR5KFxuICAgICAgICBncm91cGVkQ29sbGVjdGlvbjogUmVjb3JkPG51bWJlciwgVG9vbGJhckl0ZW1bXT5cbiAgICApOiBSZWNvcmQ8bnVtYmVyLCBPdmVyZmxvd1ByaW9yaXR5PiB7XG4gICAgICAgIGNvbnN0IGdyb3VwcyA9IE9iamVjdC5rZXlzKGdyb3VwZWRDb2xsZWN0aW9uKTtcblxuICAgICAgICByZXR1cm4gZ3JvdXBzLnJlZHVjZSgoYWNjLCBpdGVtR3JvdXApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNvcnRlZFByaW9yaXRpZXMgPSBncm91cGVkQ29sbGVjdGlvbiFbaXRlbUdyb3VwXVxuICAgICAgICAgICAgICAgIC5tYXAoKGkpID0+IGkucHJpb3JpdHkpXG4gICAgICAgICAgICAgICAgLmZpbHRlcigocHJpbykgPT4gcHJpbyAhPT0gT3ZlcmZsb3dQcmlvcml0eUVudW0uQUxXQVlTICYmIHByaW8gIT09IE92ZXJmbG93UHJpb3JpdHlFbnVtLk5FVkVSKVxuICAgICAgICAgICAgICAgIC5zb3J0KHRoaXMuX3NvcnRQcmlvcml0aWVzKTtcblxuICAgICAgICAgICAgYWNjW2l0ZW1Hcm91cF0gPSBzb3J0ZWRQcmlvcml0aWVzWzBdO1xuXG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9LCB7fSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gU29ydCBwcmlvcml0aWVzIG9mIGVsZW1lbnRzL2dyb3Vwcy4gKi9cbiAgICBwcml2YXRlIF9zb3J0UHJpb3JpdGllcyhhOiBPdmVyZmxvd1ByaW9yaXR5LCBiOiBPdmVyZmxvd1ByaW9yaXR5KTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE9WRVJGTE9XX1BSSU9SSVRZX1NDT1JFLmdldChiKSEgLSBPVkVSRkxPV19QUklPUklUWV9TQ09SRS5nZXQoYSkhO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIFNvcnQgYnkgZ3JvdXAgYW5kIHByaW9yaXR5IGFuZCBpbml0aWFsIHBvc2l0aW9uICovXG4gICAgcHJpdmF0ZSBfZ2V0U29ydGVkQnlQcmlvcml0eUFuZEdyb3VwSXRlbXModG9vbGJhckl0ZW1zOiBUb29sYmFySXRlbVtdKTogVG9vbGJhckl0ZW1bXSB7XG4gICAgICAgIGNvbnN0IG5vdFNvcnRlZCA9IHRvb2xiYXJJdGVtcy5tYXAoKGVsZW1lbnQsIGluZGV4KSA9PiAoeyBlbGVtZW50LCBpbmRleCB9KSk7XG5cbiAgICAgICAgY29uc3QgZ3JvdXBzID0gbm90U29ydGVkLnJlZHVjZSgoZ3IsIGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGxldCBncm91cElkID0gaXRlbS5lbGVtZW50Lmdyb3VwO1xuICAgICAgICAgICAgY29uc3QgaXRlbVByaW8gPSBpdGVtLmVsZW1lbnQucHJpb3JpdHk7XG4gICAgICAgICAgICBpZiAoaXRlbVByaW8gPT09IE92ZXJmbG93UHJpb3JpdHlFbnVtLk5FVkVSIHx8IGl0ZW1QcmlvID09PSBPdmVyZmxvd1ByaW9yaXR5RW51bS5BTFdBWVMpIHtcbiAgICAgICAgICAgICAgICBncm91cElkID0gMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFncltncm91cElkXSkge1xuICAgICAgICAgICAgICAgIGdyW2dyb3VwSWRdID0gW107XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGdyW2dyb3VwSWRdLnB1c2goaXRlbSk7XG5cbiAgICAgICAgICAgIHJldHVybiBncjtcbiAgICAgICAgfSwge30pO1xuXG4gICAgICAgIGNvbnN0IGdyb3VwSWRzID0gT2JqZWN0LmtleXMoZ3JvdXBzKVxuICAgICAgICAgICAgLm1hcCgoZykgPT4gcGFyc2VJbnQoZywgMTApKVxuICAgICAgICAgICAgLmZpbHRlcigoZykgPT4gZyAhPT0gMCk7XG5cbiAgICAgICAgcmV0dXJuIGdyb3VwSWRzXG4gICAgICAgICAgICAubWFwKChnKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IG1pbkluZGV4ID0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XG4gICAgICAgICAgICAgICAgbGV0IG1heFByaW9yaXR5ID0gMDtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgZ3JvdXBzW2ddKSB7XG4gICAgICAgICAgICAgICAgICAgIG1pbkluZGV4ID0gTWF0aC5taW4obWluSW5kZXgsIGl0ZW0uaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICBtYXhQcmlvcml0eSA9IE1hdGgubWF4KFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4UHJpb3JpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICBPVkVSRkxPV19QUklPUklUWV9TQ09SRS5nZXQoaXRlbS5lbGVtZW50LnByaW9yaXR5KSA/PyAtSW5maW5pdHlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4geyBncm91cDogZ3JvdXBzW2ddLm1hcCgoeyBlbGVtZW50IH0pID0+IGVsZW1lbnQpLCBtaW5JbmRleCwgbWF4UHJpb3JpdHkgfTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY29uY2F0KFxuICAgICAgICAgICAgICAgICFncm91cHNbMF1cbiAgICAgICAgICAgICAgICAgICAgPyBbXVxuICAgICAgICAgICAgICAgICAgICA6IGdyb3Vwc1swXS5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwOiBbaXRlbS5lbGVtZW50XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4UHJpb3JpdHk6IE9WRVJGTE9XX1BSSU9SSVRZX1NDT1JFLmdldChpdGVtLmVsZW1lbnQucHJpb3JpdHkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5JbmRleDogaXRlbS5pbmRleFxuICAgICAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIubWF4UHJpb3JpdHkgLSBhLm1heFByaW9yaXR5IHx8IGEubWluSW5kZXggLSBiLm1pbkluZGV4KVxuICAgICAgICAgICAgLnJlZHVjZSgoYXJyLCBpKSA9PiBhcnIuY29uY2F0KGkuZ3JvdXApLCBbXSk7XG4gICAgfVxufVxuIiwiPGRpdiAjdG9vbGJhciBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbY2xhc3MuZmQtdG9vbGJhci0tY296eV09XCJfY29udGVudERlbnNpdHlPYnNlcnZlci5pc0NvenkkIHwgYXN5bmNcIj5cbiAgICA8aDQgKm5nSWY9XCJ0aXRsZVwiIGNsYXNzPVwiZmQtdGl0bGUgZmQtdGl0bGUtLWg0IGZkLXRvb2xiYXJfX3RpdGxlXCIgW2lkXT1cInRpdGxlSWRcIiAjdGl0bGVFbGVtZW50Pnt7IHRpdGxlIH19PC9oND5cblxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvdmVyZmxvd25JdGVtcy5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxmZC10b29sYmFyLXNwYWNlcj48L2ZkLXRvb2xiYXItc3BhY2VyPlxuICAgICAgICA8ZmQtdG9vbGJhci1zZXBhcmF0b3I+PC9mZC10b29sYmFyLXNlcGFyYXRvcj5cbiAgICAgICAgPGZkLXBvcG92ZXIgcGxhY2VtZW50PVwiYm90dG9tLWVuZFwiIFtub0Fycm93XT1cInRydWVcIiBjbGFzcz1cImZkLXBvcG92ZXJcIj5cbiAgICAgICAgICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJNb3JlXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk1vcmVcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgZ2x5cGg9XCJvdmVyZmxvd1wiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG5cbiAgICAgICAgICAgIDxmZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLXRvb2xiYXJfX292ZXJmbG93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG92ZXJmbG93ZWRJdGVtIG9mIG92ZXJmbG93bkl0ZW1zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmRrLWR5bmFtaWMtcG9ydGFsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RvbUVsZW1lbnRdPVwib3ZlcmZsb3dlZEl0ZW0uZWxlbWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwib3ZlcmZsb3dlZEl0ZW0ucHJpb3JpdHkgPT09ICdkaXNhcHBlYXInID8gJ25vbmUnIDogJ2ZsZXgnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuZmxleC1kaXJlY3Rpb25dPVwib3ZlcmZsb3dlZEl0ZW0ucHJpb3JpdHkgPT09ICdkaXNhcHBlYXInID8gdW5kZWZpbmVkIDogJ2NvbHVtbidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9mZGstZHluYW1pYy1wb3J0YWw+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9mZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgIDwvZmQtcG9wb3Zlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
353
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBSUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxRQUFRLEVBQ1IsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUseUJBQXlCLEVBQXFCLE1BQU0sOEJBQThCLENBQUM7QUFFNUYsT0FBTyxFQUNILGFBQWEsRUFFYix1QkFBdUIsRUFFdkIscUJBQXFCLEVBQ3hCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUNILGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIsK0JBQStCLEVBQ2xDLE1BQU0sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4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LFlBQVk7c0JBRFgsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO2dCQUsxQyxjQUFjO3NCQURqQixZQUFZO3VCQUFDLFVBQVU7Z0JBb0JQLEtBQUs7c0JBRHJCLFdBQVc7dUJBQUMsV0FBVztnQkFpQ3hCLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2tpcFNlbGYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRFlOQU1JQ19QQUdFX0hFQURFUl9UT0tFTiwgRHluYW1pY1BhZ2VIZWFkZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2hhcmVkJztcblxuaW1wb3J0IHtcbiAgICBhcHBseUNzc0NsYXNzLFxuICAgIENzc0NsYXNzQnVpbGRlcixcbiAgICBPVkVSRkxPV19QUklPUklUWV9TQ09SRSxcbiAgICBPdmVyZmxvd1ByaW9yaXR5LFxuICAgIFJlc2l6ZU9ic2VydmVyU2VydmljZVxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUaXRsZVRva2VuIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3RpdGxlJztcbmltcG9ydCB7XG4gICAgQ29udGVudERlbnNpdHlNb2RlLFxuICAgIENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIsXG4gICAgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVyc1xufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7IFRvb2xiYXJJdGVtIH0gZnJvbSAnLi9hYnN0cmFjdC10b29sYmFyLWl0ZW0uY2xhc3MnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRHluYW1pY1BvcnRhbENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9idXR0b24nO1xuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9wb3BvdmVyJztcbmltcG9ydCB7IFRvb2xiYXJTZXBhcmF0b3JDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXItc2VwYXJhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sYmFyU3BhY2VyRGlyZWN0aXZlIH0gZnJvbSAnLi90b29sYmFyLXNwYWNlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmdJZiwgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5jb25zdCBFTEVNRU5UX01BUkdJTiA9IDg7XG5jb25zdCBPVkVSRkxPV19TUEFDRSA9IDUwICsgMiAqIEVMRU1FTlRfTUFSR0lOO1xuY29uc3QgTUFYX0NPTlRFTlRfU0laRSA9IDk5OTk5OTk5O1xuXG5leHBvcnQgdHlwZSBUb29sYmFyVHlwZSA9ICdzb2xpZCcgfCAndHJhbnNwYXJlbnQnIHwgJ2F1dG8nIHwgJ2luZm8nO1xuXG5leHBvcnQgY29uc3QgZW51bSBPdmVyZmxvd1ByaW9yaXR5RW51bSB7XG4gICAgQUxXQVlTID0gJ2Fsd2F5cycsXG4gICAgTkVWRVIgPSAnbmV2ZXInLFxuICAgIExPVyA9ICdsb3cnLFxuICAgIEhJR0ggPSAnaGlnaCcsXG4gICAgRElTQVBQRUFSID0gJ2Rpc2FwcGVhcidcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC10b29sYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdG9vbGJhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoe1xuICAgICAgICAgICAgZGVmYXVsdENvbnRlbnREZW5zaXR5OiBDb250ZW50RGVuc2l0eU1vZGUuQ09NUEFDVFxuICAgICAgICB9KVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nSWYsXG4gICAgICAgIFRvb2xiYXJTcGFjZXJEaXJlY3RpdmUsXG4gICAgICAgIFRvb2xiYXJTZXBhcmF0b3JDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJNb2R1bGUsXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTmdGb3IsXG4gICAgICAgIER5bmFtaWNQb3J0YWxDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlclZpZXdDaGVja2VkLCBDc3NDbGFzc0J1aWxkZXIsIEFmdGVyQ29udGVudEluaXQge1xuICAgIC8qKlxuICAgICAqIFRoZSBJRCBvZiB0aGUgdG9vbGJhciB0aXRsZVxuICAgICAqICovXG4gICAgQElucHV0KClcbiAgICB0aXRsZUlkOiBzdHJpbmc7XG5cbiAgICAvKiogUHJvcGVydHkgYWxsb3dzIHVzZXIgdG8gcGFzcyBhZGRpdGlvbmFsIGNsYXNzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjbGFzczogc3RyaW5nO1xuXG4gICAgLyoqIERldGVybWluZXMgaWYgb3ZlcmZsb3cgYnV0dG9uIHNob3VsZCBiZSB2aXNpYmxlXG4gICAgICogRGVmYXVsdCB2YWx1ZTogZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBzaG91bGRPdmVyZmxvdyh2YWw6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2hvdWxkT3ZlcmZsb3cgPSB2YWw7XG4gICAgICAgIHRoaXMuc2hvdWxkT3ZlcmZsb3ckLm5leHQodmFsKTtcbiAgICB9XG5cbiAgICBnZXQgc2hvdWxkT3ZlcmZsb3coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG91bGRPdmVyZmxvdztcbiAgICB9XG5cbiAgICAvKiogRGV0ZXJtaW5lcyB0aGUgdHlwZSBvZiB0b29sYmFyXG4gICAgICogQXZhaWxhYmxlIG9wdGlvbnM6ICdzb2xpZCcgfCAndHJhbnNwYXJlbnQnIHwgJ2F1dG8nIHwgJ2luZm8nXG4gICAgICogRGVmYXVsdCB2YWx1ZTogJ3NvbGlkJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmRUeXBlOiBUb29sYmFyVHlwZSA9ICdzb2xpZCc7XG5cbiAgICAvKiogVGhlIHRpdGxlIGZvciB0aGUgdG9vbGJhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIHRpdGxlOiBzdHJpbmc7XG5cbiAgICAvKiogRGV0ZXJtaW5lcyBpZiB0b29sYmFyIHNob3VsZCBoYXMgYWN0aXZlIHN0YXRlIChvbmx5IHdoZW4gZmRUeXBlID09ICdpbmZvJylcbiAgICAgKiBEZWZhdWx0IHZhbHVlOiBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgYWN0aXZlID0gZmFsc2U7XG5cbiAgICAvKiogRGV0ZXJtaW5lcyBpZiB0b29sYmFyIHNob3VsZCBjbGVhciBib3JkZXIgYm90dG9tXG4gICAgICogRGVmYXVsdCB2YWx1ZTogZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNsZWFyQm9yZGVyID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBhbGwgaXRlbXMgc2hvdWxkIGJlIGluc2lkZSBvdmVyZmxvdyAqL1xuICAgIEBJbnB1dCgpXG4gICAgZm9yY2VPdmVyZmxvdyA9IGZhbHNlO1xuXG4gICAgLyoqIFRhYmluZGV4IG9mIHRoZSB0b29sYmFyIGVsZW1lbnQsIHRvIGJlIHVzZWQgd2hlbiBmZFR5cGU9XCJpbmZvXCIgKi9cbiAgICBASW5wdXQoKVxuICAgIHRhYmluZGV4ID0gLTE7XG5cbiAgICAvKiogVG9vbGJhciBBcmlhLWxhYmVsIGF0dHJpYnV0ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBhcmlhTGFiZWw6IHN0cmluZztcblxuICAgIC8qKiBUb29sYmFyIEFyaWEtbGFiZWxsZWRieSBhdHRyaWJ1dGUuICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbGxlZGJ5JylcbiAgICBhcmlhTGFiZWxsZWRCeTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCd0aXRsZUVsZW1lbnQnKVxuICAgIHRpdGxlRWxlbWVudDogRWxlbWVudFJlZjxIVE1MSGVhZEVsZW1lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gVG9vbGJhckl0ZW0pKVxuICAgIHRvb2xiYXJJdGVtczogUXVlcnlMaXN0PFRvb2xiYXJJdGVtPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChUaXRsZVRva2VuKVxuICAgIHNldCB0aXRsZUNvbXBvbmVudCh0aXRsZTogVGl0bGVUb2tlbiB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5fdGl0bGVDb21wb25lbnQkLm5leHQodGl0bGUpO1xuICAgIH1cblxuICAgIGdldCB0aXRsZUNvbXBvbmVudCgpOiBUaXRsZVRva2VuIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl90aXRsZUNvbXBvbmVudCQudmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvdmVyZmxvd0l0ZW1zJDogT2JzZXJ2YWJsZTxUb29sYmFySXRlbVtdPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb3ZlcmZsb3duSXRlbXM6IFRvb2xiYXJJdGVtW10gPSBbXTtcblxuICAgIC8qKiBIVE1MIEVsZW1lbnQgUmVmZXJlbmNlLiAqL1xuICAgIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yb2xlID0gJ3Rvb2xiYXInO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90aXRsZUNvbXBvbmVudCQ6IEJlaGF2aW9yU3ViamVjdDxUaXRsZVRva2VuIHwgbnVsbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRpdGxlVG9rZW4gfCBudWxsPihudWxsKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVmcmVzaE92ZXJmbG93JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dm9pZD4odW5kZWZpbmVkKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBnZXQgX3Rvb2xiYXJXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jbGllbnRXaWR0aCAtIE9WRVJGTE9XX1NQQUNFO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2hvdWxkT3ZlcmZsb3cgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBzaG91bGRPdmVyZmxvdyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcmVhZG9ubHkgX2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXI6IENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXG4gICAgICAgIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXJTZXJ2aWNlOiBSZXNpemVPYnNlcnZlclNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIEBJbmplY3QoRFlOQU1JQ19QQUdFX0hFQURFUl9UT0tFTikgcHJpdmF0ZSBfZHluYW1pY1BhZ2VIZWFkZXI/OiBEeW5hbWljUGFnZUhlYWRlclxuICAgICkge1xuICAgICAgICBfY29udGVudERlbnNpdHlPYnNlcnZlci5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBhcHBseUNzc0NsYXNzXG4gICAgYnVpbGRDb21wb25lbnRDc3NDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZmQtdG9vbGJhcicsXG4gICAgICAgICAgICBgZmQtdG9vbGJhci0tJHt0aGlzLmZkVHlwZX1gLFxuICAgICAgICAgICAgYCR7dGhpcy5hY3RpdmUgJiYgdGhpcy5mZFR5cGUgPT09ICdpbmZvJyA/ICdmZC10b29sYmFyLS1hY3RpdmUnIDogJyd9YCxcbiAgICAgICAgICAgIGAke3RoaXMudGl0bGUgfHwgdGhpcy50aXRsZUNvbXBvbmVudCA/ICdmZC10b29sYmFyLS10aXRsZScgOiAnJ31gLFxuICAgICAgICAgICAgYCR7dGhpcy5jbGVhckJvcmRlciA/ICdmZC10b29sYmFyLS1jbGVhcicgOiAnJ31gLFxuICAgICAgICAgICAgYCR7dGhpcy5fZHluYW1pY1BhZ2VIZWFkZXIgPyAnZmQtZHluYW1pYy1wYWdlX190b29sYmFyJyA6ICcnfWBcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vdmVyZmxvd0l0ZW1zJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlclNlcnZpY2Uub2JzZXJ2ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkucGlwZShtYXAoKCkgPT4gdGhpcy5fdG9vbGJhcldpZHRoKSksXG4gICAgICAgICAgICB0aGlzLnRvb2xiYXJJdGVtcy5jaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMudG9vbGJhckl0ZW1zKSxcbiAgICAgICAgICAgICAgICBtYXAoKHRvb2xiYXJJdGVtcykgPT4gdG9vbGJhckl0ZW1zLnRvQXJyYXkoKSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0aGlzLl90aXRsZUNvbXBvbmVudCQucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHRpdGxlQ29tcG9uZW50KTogSFRNTEVsZW1lbnQgfCBudWxsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aXRsZUNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudGl0bGVFbGVtZW50Py5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aXRsZUNvbXBvbmVudC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0aGlzLnNob3VsZE92ZXJmbG93JCxcbiAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hPdmVyZmxvdyRcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3Rvb2xiYXJXaWR0aCwgdG9vbGJhckl0ZW1zLCB0aXRsZUVsZW1lbnQsIHNob3VsZE92ZXJmbG93XSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzaG91bGRPdmVyZmxvdykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBfc29ydGVkQnlQcmlvcml0eUFuZEdyb3VwSXRlbXMgPSB0aGlzLl9nZXRTb3J0ZWRCeVByaW9yaXR5QW5kR3JvdXBJdGVtcyh0b29sYmFySXRlbXMpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvdmVyZmxvd0l0ZW1zOiBUb29sYmFySXRlbVtdID0gW107XG4gICAgICAgICAgICAgICAgICAgIF9zb3J0ZWRCeVByaW9yaXR5QW5kR3JvdXBJdGVtcy5yZWR1Y2UoKF9jb250ZW50V2lkdGgsIHRvb2xiYXJJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtV2lkdGggPSB0b29sYmFySXRlbS53aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1Qcmlvcml0eSA9IHRvb2xiYXJJdGVtLnByaW9yaXR5O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkSXRlbUJlUmVtb3ZlZEJ5V2lkdGggPSBpdGVtV2lkdGggKyBfY29udGVudFdpZHRoID4gdG9vbGJhcldpZHRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkQWx3YXlzQmVJbk92ZXJmbG93ID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtUHJpb3JpdHkgPT09IE92ZXJmbG93UHJpb3JpdHlFbnVtLkFMV0FZUyB8fCB0aGlzLmZvcmNlT3ZlcmZsb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaG91bGROZXZlckJlSW5PdmVyZmxvdyA9IGl0ZW1Qcmlvcml0eSA9PT0gT3ZlcmZsb3dQcmlvcml0eUVudW0uTkVWRVI7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHNob3VsZEl0ZW1CZVJlbW92ZWRCeVdpZHRoICYmICFzaG91bGROZXZlckJlSW5PdmVyZmxvdykgfHwgc2hvdWxkQWx3YXlzQmVJbk92ZXJmbG93KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3dJdGVtcy5wdXNoKHRvb2xiYXJJdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2hvdWxkQWx3YXlzQmVJbk92ZXJmbG93ID8gX2NvbnRlbnRXaWR0aCA6IE1BWF9DT05URU5UX1NJWkU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfY29udGVudFdpZHRoICsgaXRlbVdpZHRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LCB0aXRsZUVsZW1lbnQ/LmNsaWVudFdpZHRoIHx8IDApO1xuICAgICAgICAgICAgICAgICAgICAvLyBIaWRlIG9ycGhhbnNcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCB0b29sYmFySXRlbSBvZiBvdmVyZmxvd0l0ZW1zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBncm91cGVkQ29sbGVjdGlvbiA9IHRoaXMuX2dldEdyb3VwZWRDb2xsZWN0aW9uKHRvb2xiYXJJdGVtcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBncm91cGVkQ29sbGVjdGlvblByaW9yaXRpZXMgPSB0aGlzLl9nZXRHcm91cGVkQ29sbGVjdGlvblByaW9yaXR5KGdyb3VwZWRDb2xsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwID0gdG9vbGJhckl0ZW0uZ3JvdXA7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtUHJpb3JpdHkgPSB0b29sYmFySXRlbS5wcmlvcml0eTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChncm91cCAhPT0gMCAmJiBpdGVtUHJpb3JpdHkgIT09IE92ZXJmbG93UHJpb3JpdHlFbnVtLkRJU0FQUEVBUikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zRnJvbUN1cnJlbnRHcm91cCA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2dldEVsZW1lbnRzRnJvbUN1cnJlbnRHcm91cChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBlZENvbGxlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cGVkQ29sbGVjdGlvblByaW9yaXRpZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB8fCBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtc0Zyb21DdXJyZW50R3JvdXAuZm9yRWFjaCgoaSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3ZlcmZsb3dJdGVtcy5pbmRleE9mKGkpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3dJdGVtcy5wdXNoKGkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG92ZXJmbG93SXRlbXMuc29ydCgoYSwgYikgPT4gdGhpcy5fc29ydFByaW9yaXRpZXMoYS5wcmlvcml0eSwgYi5wcmlvcml0eSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLm92ZXJmbG93SXRlbXMkLnN1YnNjcmliZSgoaXRlbXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmZsb3duSXRlbXMgPSBpdGVtcztcbiAgICAgICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudGl0bGVDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMudGl0bGVDb21wb25lbnQuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdmZC10b29sYmFyX190aXRsZScpO1xuICAgICAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ2hhbmdlIGRldGVjdGlvbiByZWZlcmVuY2UgKi9cbiAgICBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0cmlnZ2VyaW5nIGNvbGxhcHNpYmxlIHRvb2xiYXIgICovXG4gICAgdXBkYXRlQ29sbGFwc2libGVJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVmcmVzaE92ZXJmbG93JC5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gR2V0IGdyb3VwIG51bWJlciB3aXRoIHRoZSBsb3dlc3QgcHJpb3JpdHkuXG4gICAgICogIFVzZXMgZm9yIGRldGVjdGluZyBhIGdyb3VwIG9mIGVsZW1lbnRzIHdoaWNoIHdvdWxkIGJlIGhpZGRlbiBmcm9tIHRoZSB0b29sYmFyLlxuICAgICAqICAqL1xuICAgIHByaXZhdGUgX2dldExvd2VzdFByaW9yaXR5RnJvbUdyb3VwKFxuICAgICAgICBpdGVtR3JvdXA6IG51bWJlcixcbiAgICAgICAgZ3JvdXBlZENvbGxlY3Rpb25Qcmlvcml0eT86IFJlY29yZDxudW1iZXIsIE92ZXJmbG93UHJpb3JpdHk+XG4gICAgKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgcHJpb3JpdHkgPSBncm91cGVkQ29sbGVjdGlvblByaW9yaXR5O1xuICAgICAgICBpZiAoIXByaW9yaXR5IHx8ICFPVkVSRkxPV19QUklPUklUWV9TQ09SRS5nZXQocHJpb3JpdHlbaXRlbUdyb3VwXSkpIHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtR3JvdXA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBncm91cHMgPSBPYmplY3Qua2V5cyhwcmlvcml0eSk7XG5cbiAgICAgICAgcmV0dXJuIGdyb3Vwcy5yZWR1Y2UoKGxvd2VzdEdyb3VwLCBjdXJyZW50R3JvdXApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxvd2VzdEdyb3VwUHJpb3JpdHkgPSBwcmlvcml0eVtsb3dlc3RHcm91cF07XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50R3JvdXBQcmlvcml0eSA9IHByaW9yaXR5W2N1cnJlbnRHcm91cF07XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgT1ZFUkZMT1dfUFJJT1JJVFlfU0NPUkUuZ2V0KGN1cnJlbnRHcm91cFByaW9yaXR5KSEgPCBPVkVSRkxPV19QUklPUklUWV9TQ09SRS5nZXQobG93ZXN0R3JvdXBQcmlvcml0eSkhXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gK2N1cnJlbnRHcm91cDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGxvd2VzdEdyb3VwO1xuICAgICAgICB9LCBpdGVtR3JvdXAgYXMgbnVtYmVyKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2dldEVsZW1lbnRzRnJvbUN1cnJlbnRHcm91cChcbiAgICAgICAgaXRlbUdyb3VwOiBudW1iZXIsXG4gICAgICAgIGdyb3VwZWRDb2xsZWN0aW9uPzogUmVjb3JkPG51bWJlciwgVG9vbGJhckl0ZW1bXT4sXG4gICAgICAgIGdyb3VwZWRDb2xsZWN0aW9uUHJpb3JpdHk/OiBSZWNvcmQ8bnVtYmVyLCBPdmVyZmxvd1ByaW9yaXR5PlxuICAgICk6IFRvb2xiYXJJdGVtW10ge1xuICAgICAgICBjb25zdCBsb3dlc3RQcmlvcml0eUZyb21Hcm91cCA9IHRoaXMuX2dldExvd2VzdFByaW9yaXR5RnJvbUdyb3VwKGl0ZW1Hcm91cCwgZ3JvdXBlZENvbGxlY3Rpb25Qcmlvcml0eSk7XG4gICAgICAgIGlmICghZ3JvdXBlZENvbGxlY3Rpb24gfHwgIWdyb3VwZWRDb2xsZWN0aW9uUHJpb3JpdHkpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaXRlbXNUb1JlbW92ZSA9IGdyb3VwZWRDb2xsZWN0aW9uW2xvd2VzdFByaW9yaXR5RnJvbUdyb3VwXTtcblxuICAgICAgICBkZWxldGUgZ3JvdXBlZENvbGxlY3Rpb25bbG93ZXN0UHJpb3JpdHlGcm9tR3JvdXBdO1xuICAgICAgICBkZWxldGUgZ3JvdXBlZENvbGxlY3Rpb25Qcmlvcml0eVtsb3dlc3RQcmlvcml0eUZyb21Hcm91cF07XG5cbiAgICAgICAgaWYgKGxvd2VzdFByaW9yaXR5RnJvbUdyb3VwICE9PSBpdGVtR3JvdXApIHtcbiAgICAgICAgICAgIGl0ZW1zVG9SZW1vdmUgPSBbLi4uaXRlbXNUb1JlbW92ZSwgLi4uZ3JvdXBlZENvbGxlY3Rpb25baXRlbUdyb3VwXV07XG4gICAgICAgICAgICBkZWxldGUgZ3JvdXBlZENvbGxlY3Rpb25baXRlbUdyb3VwXTtcbiAgICAgICAgICAgIGRlbGV0ZSBncm91cGVkQ29sbGVjdGlvblByaW9yaXR5W2l0ZW1Hcm91cF07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXRlbXNUb1JlbW92ZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBHZXQgdGhlIG9iamVjdCB3aXRoIGdyb3VwZWQgYXJyYXlzIG9mIGVsZW1lbnRzLiAqL1xuICAgIHByaXZhdGUgX2dldEdyb3VwZWRDb2xsZWN0aW9uKHRvb2xiYXJJdGVtczogVG9vbGJhckl0ZW1bXSk6IFJlY29yZDxudW1iZXIsIFRvb2xiYXJJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIHRvb2xiYXJJdGVtcy5yZWR1Y2UoKGFjYywgaXRlbSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXRlbVByaW8gPSBpdGVtLnByaW9yaXR5O1xuICAgICAgICAgICAgY29uc3QgaXRlbUdyb3VwID0gaXRlbS5ncm91cDtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBpdGVtUHJpbyA9PT0gT3ZlcmZsb3dQcmlvcml0eUVudW0uTkVWRVIgfHxcbiAgICAgICAgICAgICAgICBpdGVtUHJpbyA9PT0gT3ZlcmZsb3dQcmlvcml0eUVudW0uQUxXQVlTIHx8XG4gICAgICAgICAgICAgICAgaXRlbUdyb3VwID09PSAwXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFhY2NbaXRlbUdyb3VwXSkge1xuICAgICAgICAgICAgICAgIGFjY1tpdGVtR3JvdXBdID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhY2NbaXRlbUdyb3VwXS5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwge30pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEdldCB0aGUgb2JqZWN0IHdpdGggdGhlIGhpZ2hlc3QgcHJpb3JpdHkgZm9yIGVhY2ggZ3JvdXAgb2YgZWxlbWVudHMuICovXG4gICAgcHJpdmF0ZSBfZ2V0R3JvdXBlZENvbGxlY3Rpb25Qcmlvcml0eShcbiAgICAgICAgZ3JvdXBlZENvbGxlY3Rpb246IFJlY29yZDxudW1iZXIsIFRvb2xiYXJJdGVtW10+XG4gICAgKTogUmVjb3JkPG51bWJlciwgT3ZlcmZsb3dQcmlvcml0eT4ge1xuICAgICAgICBjb25zdCBncm91cHMgPSBPYmplY3Qua2V5cyhncm91cGVkQ29sbGVjdGlvbik7XG5cbiAgICAgICAgcmV0dXJuIGdyb3Vwcy5yZWR1Y2UoKGFjYywgaXRlbUdyb3VwKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzb3J0ZWRQcmlvcml0aWVzID0gZ3JvdXBlZENvbGxlY3Rpb24hW2l0ZW1Hcm91cF1cbiAgICAgICAgICAgICAgICAubWFwKChpKSA9PiBpLnByaW9yaXR5KVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoKHByaW8pID0+IHByaW8gIT09IE92ZXJmbG93UHJpb3JpdHlFbnVtLkFMV0FZUyAmJiBwcmlvICE9PSBPdmVyZmxvd1ByaW9yaXR5RW51bS5ORVZFUilcbiAgICAgICAgICAgICAgICAuc29ydCh0aGlzLl9zb3J0UHJpb3JpdGllcyk7XG5cbiAgICAgICAgICAgIGFjY1tpdGVtR3JvdXBdID0gc29ydGVkUHJpb3JpdGllc1swXTtcblxuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwge30pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIFNvcnQgcHJpb3JpdGllcyBvZiBlbGVtZW50cy9ncm91cHMuICovXG4gICAgcHJpdmF0ZSBfc29ydFByaW9yaXRpZXMoYTogT3ZlcmZsb3dQcmlvcml0eSwgYjogT3ZlcmZsb3dQcmlvcml0eSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBPVkVSRkxPV19QUklPUklUWV9TQ09SRS5nZXQoYikhIC0gT1ZFUkZMT1dfUFJJT1JJVFlfU0NPUkUuZ2V0KGEpITtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBTb3J0IGJ5IGdyb3VwIGFuZCBwcmlvcml0eSBhbmQgaW5pdGlhbCBwb3NpdGlvbiAqL1xuICAgIHByaXZhdGUgX2dldFNvcnRlZEJ5UHJpb3JpdHlBbmRHcm91cEl0ZW1zKHRvb2xiYXJJdGVtczogVG9vbGJhckl0ZW1bXSk6IFRvb2xiYXJJdGVtW10ge1xuICAgICAgICBjb25zdCBub3RTb3J0ZWQgPSB0b29sYmFySXRlbXMubWFwKChlbGVtZW50LCBpbmRleCkgPT4gKHsgZWxlbWVudCwgaW5kZXggfSkpO1xuXG4gICAgICAgIGNvbnN0IGdyb3VwcyA9IG5vdFNvcnRlZC5yZWR1Y2UoKGdyLCBpdGVtKSA9PiB7XG4gICAgICAgICAgICBsZXQgZ3JvdXBJZCA9IGl0ZW0uZWxlbWVudC5ncm91cDtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1QcmlvID0gaXRlbS5lbGVtZW50LnByaW9yaXR5O1xuICAgICAgICAgICAgaWYgKGl0ZW1QcmlvID09PSBPdmVyZmxvd1ByaW9yaXR5RW51bS5ORVZFUiB8fCBpdGVtUHJpbyA9PT0gT3ZlcmZsb3dQcmlvcml0eUVudW0uQUxXQVlTKSB7XG4gICAgICAgICAgICAgICAgZ3JvdXBJZCA9IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghZ3JbZ3JvdXBJZF0pIHtcbiAgICAgICAgICAgICAgICBncltncm91cElkXSA9IFtdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBncltncm91cElkXS5wdXNoKGl0ZW0pO1xuXG4gICAgICAgICAgICByZXR1cm4gZ3I7XG4gICAgICAgIH0sIHt9KTtcblxuICAgICAgICBjb25zdCBncm91cElkcyA9IE9iamVjdC5rZXlzKGdyb3VwcylcbiAgICAgICAgICAgIC5tYXAoKGcpID0+IHBhcnNlSW50KGcsIDEwKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGcpID0+IGcgIT09IDApO1xuXG4gICAgICAgIHJldHVybiBncm91cElkc1xuICAgICAgICAgICAgLm1hcCgoZykgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBtaW5JbmRleCA9IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xuICAgICAgICAgICAgICAgIGxldCBtYXhQcmlvcml0eSA9IDA7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGdyb3Vwc1tnXSkge1xuICAgICAgICAgICAgICAgICAgICBtaW5JbmRleCA9IE1hdGgubWluKG1pbkluZGV4LCBpdGVtLmluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgbWF4UHJpb3JpdHkgPSBNYXRoLm1heChcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heFByaW9yaXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgT1ZFUkZMT1dfUFJJT1JJVFlfU0NPUkUuZ2V0KGl0ZW0uZWxlbWVudC5wcmlvcml0eSkgPz8gLUluZmluaXR5XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZ3JvdXA6IGdyb3Vwc1tnXS5tYXAoKHsgZWxlbWVudCB9KSA9PiBlbGVtZW50KSwgbWluSW5kZXgsIG1heFByaW9yaXR5IH07XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNvbmNhdChcbiAgICAgICAgICAgICAgICAhZ3JvdXBzWzBdXG4gICAgICAgICAgICAgICAgICAgID8gW11cbiAgICAgICAgICAgICAgICAgICAgOiBncm91cHNbMF0ubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cDogW2l0ZW0uZWxlbWVudF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1heFByaW9yaXR5OiBPVkVSRkxPV19QUklPUklUWV9TQ09SRS5nZXQoaXRlbS5lbGVtZW50LnByaW9yaXR5KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWluSW5kZXg6IGl0ZW0uaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBiLm1heFByaW9yaXR5IC0gYS5tYXhQcmlvcml0eSB8fCBhLm1pbkluZGV4IC0gYi5taW5JbmRleClcbiAgICAgICAgICAgIC5yZWR1Y2UoKGFyciwgaSkgPT4gYXJyLmNvbmNhdChpLmdyb3VwKSwgW10pO1xuICAgIH1cbn1cbiIsIjxoNCAqbmdJZj1cInRpdGxlXCIgY2xhc3M9XCJmZC10aXRsZSBmZC10aXRsZS0taDQgZmQtdG9vbGJhcl9fdGl0bGVcIiBbaWRdPVwidGl0bGVJZFwiICN0aXRsZUVsZW1lbnQ+e3sgdGl0bGUgfX08L2g0PlxuXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJvdmVyZmxvd25JdGVtcy5sZW5ndGggPiAwXCI+XG4gICAgPGZkLXRvb2xiYXItc3BhY2VyPjwvZmQtdG9vbGJhci1zcGFjZXI+XG4gICAgPGZkLXRvb2xiYXItc2VwYXJhdG9yPjwvZmQtdG9vbGJhci1zZXBhcmF0b3I+XG4gICAgPGZkLXBvcG92ZXIgcGxhY2VtZW50PVwiYm90dG9tLWVuZFwiIFtub0Fycm93XT1cInRydWVcIiBjbGFzcz1cImZkLXBvcG92ZXJcIj5cbiAgICAgICAgPGZkLXBvcG92ZXItY29udHJvbD5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICB0aXRsZT1cIk1vcmVcIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJNb3JlXCJcbiAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIGdseXBoPVwib3ZlcmZsb3dcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L2ZkLXBvcG92ZXItY29udHJvbD5cblxuICAgICAgICA8ZmQtcG9wb3Zlci1ib2R5PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLXRvb2xiYXJfX292ZXJmbG93XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3ZlcmZsb3dlZEl0ZW0gb2Ygb3ZlcmZsb3duSXRlbXNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZkay1keW5hbWljLXBvcnRhbFxuICAgICAgICAgICAgICAgICAgICAgICAgW2RvbUVsZW1lbnRdPVwib3ZlcmZsb3dlZEl0ZW0uZWxlbWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJvdmVyZmxvd2VkSXRlbS5wcmlvcml0eSA9PT0gJ2Rpc2FwcGVhcicgPyAnbm9uZScgOiAnZmxleCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmZsZXgtZGlyZWN0aW9uXT1cIm92ZXJmbG93ZWRJdGVtLnByaW9yaXR5ID09PSAnZGlzYXBwZWFyJyA/IHVuZGVmaW5lZCA6ICdjb2x1bW4nXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2Zkay1keW5hbWljLXBvcnRhbD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZkLXBvcG92ZXItYm9keT5cbiAgICA8L2ZkLXBvcG92ZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,7 +1,4 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ButtonModule } from '@fundamental-ngx/core/button';
4
- import { PopoverModule } from '@fundamental-ngx/core/popover';
5
2
  import { ToolbarComponent } from './toolbar.component';
6
3
  import { ToolbarItemDirective } from './toolbar-item.directive';
7
4
  import { ToolbarSeparatorComponent } from './toolbar-separator.component';
@@ -12,7 +9,6 @@ import { ToolbarOverflowButtonMenuDirective } from './toolbar-overflow-button-me
12
9
  import { ToolbarFormLabelDirective } from './toolbar-form-label.directive';
13
10
  import { DeprecatedToolbarSizeDirective } from './deprecated-toolbar-size.directive';
14
11
  import { ContentDensityModule } from '@fundamental-ngx/core/content-density';
15
- import { DynamicPortalComponent } from '@fundamental-ngx/cdk/utils';
16
12
  import * as i0 from "@angular/core";
17
13
  const components = [
18
14
  ToolbarComponent,
@@ -27,7 +23,7 @@ const components = [
27
23
  ];
28
24
  export class ToolbarModule {
29
25
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
30
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0", ngImport: i0, type: ToolbarModule, declarations: [ToolbarComponent,
26
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0", ngImport: i0, type: ToolbarModule, imports: [ContentDensityModule, ToolbarComponent,
31
27
  ToolbarItemDirective,
32
28
  ToolbarSpacerDirective,
33
29
  ToolbarSeparatorComponent,
@@ -35,7 +31,7 @@ export class ToolbarModule {
35
31
  ToolbarLabelDirective,
36
32
  ToolbarOverflowButtonDirective,
37
33
  ToolbarOverflowButtonMenuDirective,
38
- DeprecatedToolbarSizeDirective], imports: [CommonModule, ButtonModule, PopoverModule, ContentDensityModule, DynamicPortalComponent], exports: [ToolbarComponent,
34
+ DeprecatedToolbarSizeDirective], exports: [ToolbarComponent,
39
35
  ToolbarItemDirective,
40
36
  ToolbarSpacerDirective,
41
37
  ToolbarSeparatorComponent,
@@ -44,14 +40,13 @@ export class ToolbarModule {
44
40
  ToolbarOverflowButtonDirective,
45
41
  ToolbarOverflowButtonMenuDirective,
46
42
  DeprecatedToolbarSizeDirective, ContentDensityModule] }); }
47
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ToolbarModule, imports: [CommonModule, ButtonModule, PopoverModule, ContentDensityModule, DynamicPortalComponent, ContentDensityModule] }); }
43
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ToolbarModule, imports: [ContentDensityModule, ToolbarComponent, ContentDensityModule] }); }
48
44
  }
49
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ToolbarModule, decorators: [{
50
46
  type: NgModule,
51
47
  args: [{
52
- declarations: [...components],
53
- imports: [CommonModule, ButtonModule, PopoverModule, ContentDensityModule, DynamicPortalComponent],
48
+ imports: [ContentDensityModule, ...components],
54
49
  exports: [...components, ContentDensityModule]
55
50
  }]
56
51
  }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90b29sYmFyL3Rvb2xiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckYsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRXBFLE1BQU0sVUFBVSxHQUFHO0lBQ2YsZ0JBQWdCO0lBQ2hCLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QixxQkFBcUI7SUFDckIsOEJBQThCO0lBQzlCLGtDQUFrQztJQUNsQyw4QkFBOEI7Q0FDakMsQ0FBQztBQU9GLE1BQU0sT0FBTyxhQUFhOzhHQUFiLGFBQWE7K0dBQWIsYUFBYSxpQkFoQnRCLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsc0JBQXNCO1lBQ3RCLHlCQUF5QjtZQUN6Qix5QkFBeUI7WUFDekIscUJBQXFCO1lBQ3JCLDhCQUE4QjtZQUM5QixrQ0FBa0M7WUFDbEMsOEJBQThCLGFBS3BCLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLHNCQUFzQixhQWJqRyxnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0Qix5QkFBeUI7WUFDekIseUJBQXlCO1lBQ3pCLHFCQUFxQjtZQUNyQiw4QkFBOEI7WUFDOUIsa0NBQWtDO1lBQ2xDLDhCQUE4QixFQU1MLG9CQUFvQjsrR0FFcEMsYUFBYSxZQUhaLFlBQVksRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLHNCQUFzQixFQUN4RSxvQkFBb0I7OzJGQUVwQyxhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUM3QixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxzQkFBc0IsQ0FBQztvQkFDbEcsT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsb0JBQW9CLENBQUM7aUJBQ2pEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9idXR0b24nO1xuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9wb3BvdmVyJztcbmltcG9ydCB7IFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2xiYXJJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi90b29sYmFyLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IFRvb2xiYXJTZXBhcmF0b3JDb21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXItc2VwYXJhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sYmFyU3BhY2VyRGlyZWN0aXZlIH0gZnJvbSAnLi90b29sYmFyLXNwYWNlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVG9vbGJhckxhYmVsRGlyZWN0aXZlIH0gZnJvbSAnLi90b29sYmFyLWxhYmVsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb29sYmFyT3ZlcmZsb3dCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL3Rvb2xiYXItb3ZlcmZsb3ctYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb29sYmFyT3ZlcmZsb3dCdXR0b25NZW51RGlyZWN0aXZlIH0gZnJvbSAnLi90b29sYmFyLW92ZXJmbG93LWJ1dHRvbi1tZW51LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb29sYmFyRm9ybUxhYmVsRGlyZWN0aXZlIH0gZnJvbSAnLi90b29sYmFyLWZvcm0tbGFiZWwuZGlyZWN0aXZlJztcbmltcG9ydCB7IERlcHJlY2F0ZWRUb29sYmFyU2l6ZURpcmVjdGl2ZSB9IGZyb20gJy4vZGVwcmVjYXRlZC10b29sYmFyLXNpemUuZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5TW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBEeW5hbWljUG9ydGFsQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuXG5jb25zdCBjb21wb25lbnRzID0gW1xuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgVG9vbGJhckl0ZW1EaXJlY3RpdmUsXG4gICAgVG9vbGJhclNwYWNlckRpcmVjdGl2ZSxcbiAgICBUb29sYmFyU2VwYXJhdG9yQ29tcG9uZW50LFxuICAgIFRvb2xiYXJGb3JtTGFiZWxEaXJlY3RpdmUsXG4gICAgVG9vbGJhckxhYmVsRGlyZWN0aXZlLFxuICAgIFRvb2xiYXJPdmVyZmxvd0J1dHRvbkRpcmVjdGl2ZSxcbiAgICBUb29sYmFyT3ZlcmZsb3dCdXR0b25NZW51RGlyZWN0aXZlLFxuICAgIERlcHJlY2F0ZWRUb29sYmFyU2l6ZURpcmVjdGl2ZVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFsuLi5jb21wb25lbnRzXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCdXR0b25Nb2R1bGUsIFBvcG92ZXJNb2R1bGUsIENvbnRlbnREZW5zaXR5TW9kdWxlLCBEeW5hbWljUG9ydGFsQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbLi4uY29tcG9uZW50cywgQ29udGVudERlbnNpdHlNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xiYXJNb2R1bGUge31cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90b29sYmFyL3Rvb2xiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckYsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBRTdFLE1BQU0sVUFBVSxHQUFHO0lBQ2YsZ0JBQWdCO0lBQ2hCLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QixxQkFBcUI7SUFDckIsOEJBQThCO0lBQzlCLGtDQUFrQztJQUNsQyw4QkFBOEI7Q0FDakMsQ0FBQztBQU1GLE1BQU0sT0FBTyxhQUFhOzhHQUFiLGFBQWE7K0dBQWIsYUFBYSxZQUhaLG9CQUFvQixFQVo5QixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0Qix5QkFBeUI7WUFDekIseUJBQXlCO1lBQ3pCLHFCQUFxQjtZQUNyQiw4QkFBOEI7WUFDOUIsa0NBQWtDO1lBQ2xDLDhCQUE4QixhQVI5QixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0Qix5QkFBeUI7WUFDekIseUJBQXlCO1lBQ3pCLHFCQUFxQjtZQUNyQiw4QkFBOEI7WUFDOUIsa0NBQWtDO1lBQ2xDLDhCQUE4QixFQUtMLG9CQUFvQjsrR0FFcEMsYUFBYSxZQUhaLG9CQUFvQixFQVo5QixnQkFBZ0IsRUFhUyxvQkFBb0I7OzJGQUVwQyxhQUFhO2tCQUp6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLEdBQUcsVUFBVSxDQUFDO29CQUM5QyxPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQztpQkFDakQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbGJhckl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL3Rvb2xiYXItaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVG9vbGJhclNlcGFyYXRvckNvbXBvbmVudCB9IGZyb20gJy4vdG9vbGJhci1zZXBhcmF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2xiYXJTcGFjZXJEaXJlY3RpdmUgfSBmcm9tICcuL3Rvb2xiYXItc3BhY2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb29sYmFyTGFiZWxEaXJlY3RpdmUgfSBmcm9tICcuL3Rvb2xiYXItbGFiZWwuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRvb2xiYXJPdmVyZmxvd0J1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vdG9vbGJhci1vdmVyZmxvdy1idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFRvb2xiYXJPdmVyZmxvd0J1dHRvbk1lbnVEaXJlY3RpdmUgfSBmcm9tICcuL3Rvb2xiYXItb3ZlcmZsb3ctYnV0dG9uLW1lbnUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRvb2xiYXJGb3JtTGFiZWxEaXJlY3RpdmUgfSBmcm9tICcuL3Rvb2xiYXItZm9ybS1sYWJlbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGVwcmVjYXRlZFRvb2xiYXJTaXplRGlyZWN0aXZlIH0gZnJvbSAnLi9kZXByZWNhdGVkLXRvb2xiYXItc2l6ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcblxuY29uc3QgY29tcG9uZW50cyA9IFtcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIFRvb2xiYXJJdGVtRGlyZWN0aXZlLFxuICAgIFRvb2xiYXJTcGFjZXJEaXJlY3RpdmUsXG4gICAgVG9vbGJhclNlcGFyYXRvckNvbXBvbmVudCxcbiAgICBUb29sYmFyRm9ybUxhYmVsRGlyZWN0aXZlLFxuICAgIFRvb2xiYXJMYWJlbERpcmVjdGl2ZSxcbiAgICBUb29sYmFyT3ZlcmZsb3dCdXR0b25EaXJlY3RpdmUsXG4gICAgVG9vbGJhck92ZXJmbG93QnV0dG9uTWVudURpcmVjdGl2ZSxcbiAgICBEZXByZWNhdGVkVG9vbGJhclNpemVEaXJlY3RpdmVcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbnRlbnREZW5zaXR5TW9kdWxlLCAuLi5jb21wb25lbnRzXSxcbiAgICBleHBvcnRzOiBbLi4uY29tcG9uZW50cywgQ29udGVudERlbnNpdHlNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xiYXJNb2R1bGUge31cbiJdfQ==
@@ -245,7 +245,7 @@ export class TreeItemComponent extends BaseTreeItem {
245
245
  provide: BaseTreeItem,
246
246
  useExisting: TreeItemComponent
247
247
  }
248
- ], queries: [{ propertyName: "_projectedTreeItems", predicate: BaseTreeItem }], viewQueries: [{ propertyName: "itemContainer", first: true, predicate: ["itemContainer"], descendants: true, read: ElementRef }, { propertyName: "selectableListItem", first: true, predicate: SelectableItemDirective, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.DataSourceDirective }], ngImport: i0, template: "<div\n class=\"fd-tree__item-container\"\n [attr.tabindex]=\"_containerTabIndex\"\n (fdkClicked)=\"_onClick($event)\"\n fdkSelectableItem\n (selected)=\"_setSelected($event)\"\n [value]=\"value\"\n [attr.aria-haspopup]=\"children.length > 0 || hasProjectedChildren\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-setsize]=\"_setSize\"\n [attr.aria-posinset]=\"_currentPosition\"\n role=\"treeitem\"\n [attr.aria-level]=\"level\"\n #itemContainer\n [ngClass]=\"[\n state ? 'has-highlight-indicator has-highlight-indicator--' + state : '',\n navigatable ? 'fd-tree__item-container--active' : '',\n wrapContent ? 'fd-tree__content--wrap' : ''\n ]\"\n>\n <ng-container *ngIf=\"_selectionModel?.placement === 'left'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"hasChildren\">\n <span\n *ngIf=\"hasDsChildren || hasProjectedChildren\"\n (click)=\"_toggleExpandState($event)\"\n class=\"fd-tree__expander\"\n aria-hidden=\"true\"\n role=\"presentation\"\n [attr.aria-label]=\"(expanded ? 'coreTree.collapse' : 'coreTree.expand') | fdTranslate\"\n [class.is-expanded]=\"expanded\"\n >\n <fd-icon\n class=\"fd-tree__icon\"\n [glyph]=\"expanded ? 'navigation-down-arrow' : 'navigation-right-arrow'\"\n ></fd-icon>\n </span>\n <div class=\"fd-tree__expander fd-tree__expander--loading\" *ngIf=\"!_totalChildrenLoaded\">\n <fd-skeleton type=\"rectangle\" width=\"1rem\" height=\"1rem\"></fd-skeleton>\n </div>\n <ng-container *ngIf=\"_selectionModel?.placement === 'afterExpand'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n </ng-container>\n <div class=\"fd-tree__content\">\n <ng-content select=\"[fdTreeItemIcon]\"></ng-content>\n <ng-content select=\"[fdTreeItemText]\"></ng-content>\n </div>\n <ng-content select=\"[fdTreeItemButton]\"></ng-content>\n <ng-container *ngIf=\"_selectionModel?.placement === 'right'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n <fd-icon\n glyph=\"slim-arrow-right\"\n class=\"fd-tree__icon fd-tree__icon--navigation\"\n *ngIf=\"navigatable && _navigationIndicator\"\n ></fd-icon>\n</div>\n\n<ng-container *ngIf=\"hasProjectedChildren && expanded\">\n <div class=\"fd-tree\">\n <ng-content select=\"fd-tree-item\"></ng-content>\n </div>\n</ng-container>\n\n<ng-template #selection>\n <div class=\"fd-form-item\">\n <fd-checkbox\n [(ngModel)]=\"_selectionState\"\n [ngModelOptions]=\"{ standalone: true }\"\n [standalone]=\"true\"\n tabIndexValue=\"-1\"\n *ngIf=\"_selectionModel?.mode === 'multiple'\"\n ></fd-checkbox>\n <fd-radio-button\n [(ngModel)]=\"_selectionState\"\n [ngModelOptions]=\"{ standalone: true }\"\n [selectedValue]=\"_selectionState\"\n [value]=\"true\"\n tabIndex=\"-1\"\n [standalone]=\"true\"\n tabIndexValue=\"-1\"\n *ngIf=\"_selectionModel?.mode === 'single'\"\n ></fd-radio-button>\n </div>\n</ng-template>\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: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i4.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values", "standalone"], outputs: ["focusChange"] }, { kind: "directive", type: i5.ClickedDirective, selector: "[fdkClicked]", outputs: ["fdkClicked"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.SelectableItemDirective, selector: "[fdkSelectableItem]", inputs: ["value", "fdkSelectableItem"], outputs: ["clicked", "selected"], exportAs: ["fdkSelectableItem"] }, { kind: "component", type: i7.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "component", type: i8.SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "pipe", type: i9.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
248
+ ], queries: [{ propertyName: "_projectedTreeItems", predicate: BaseTreeItem }], viewQueries: [{ propertyName: "itemContainer", first: true, predicate: ["itemContainer"], descendants: true, read: ElementRef }, { propertyName: "selectableListItem", first: true, predicate: SelectableItemDirective, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.DataSourceDirective }], ngImport: i0, template: "<div\n class=\"fd-tree__item-container\"\n [attr.tabindex]=\"_containerTabIndex\"\n (fdkClicked)=\"_onClick($event)\"\n fdkSelectableItem\n (selected)=\"_setSelected($event)\"\n [value]=\"value\"\n [attr.aria-haspopup]=\"children.length > 0 || hasProjectedChildren\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-setsize]=\"_setSize\"\n [attr.aria-posinset]=\"_currentPosition\"\n role=\"treeitem\"\n [attr.aria-level]=\"level\"\n #itemContainer\n [ngClass]=\"[\n state ? 'has-highlight-indicator has-highlight-indicator--' + state : '',\n navigatable ? 'fd-tree__item-container--active' : '',\n wrapContent ? 'fd-tree__content--wrap' : ''\n ]\"\n>\n <ng-container *ngIf=\"_selectionModel?.placement === 'left'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"hasChildren\">\n <span\n *ngIf=\"hasDsChildren || hasProjectedChildren\"\n (click)=\"_toggleExpandState($event)\"\n class=\"fd-tree__expander\"\n aria-hidden=\"true\"\n role=\"presentation\"\n [attr.aria-label]=\"(expanded ? 'coreTree.collapse' : 'coreTree.expand') | fdTranslate\"\n [class.is-expanded]=\"expanded\"\n >\n <fd-icon\n class=\"fd-tree__icon\"\n [glyph]=\"expanded ? 'navigation-down-arrow' : 'navigation-right-arrow'\"\n ></fd-icon>\n </span>\n <div class=\"fd-tree__expander fd-tree__expander--loading\" *ngIf=\"!_totalChildrenLoaded\">\n <fd-skeleton type=\"rectangle\" width=\"1rem\" height=\"1rem\"></fd-skeleton>\n </div>\n <ng-container *ngIf=\"_selectionModel?.placement === 'afterExpand'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n </ng-container>\n <div class=\"fd-tree__content\">\n <ng-content select=\"[fdTreeItemIcon]\"></ng-content>\n <ng-content select=\"[fdTreeItemText]\"></ng-content>\n </div>\n <ng-content select=\"[fdTreeItemButton]\"></ng-content>\n <ng-container *ngIf=\"_selectionModel?.placement === 'right'\">\n <ng-template [ngTemplateOutlet]=\"selection\"></ng-template>\n </ng-container>\n <fd-icon\n glyph=\"slim-arrow-right\"\n class=\"fd-tree__icon fd-tree__icon--navigation\"\n *ngIf=\"navigatable && _navigationIndicator\"\n ></fd-icon>\n</div>\n\n<ng-container *ngIf=\"hasProjectedChildren && expanded\">\n <div class=\"fd-tree\">\n <ng-content select=\"fd-tree-item\"></ng-content>\n </div>\n</ng-container>\n\n<ng-template #selection>\n <div class=\"fd-form-item\">\n <fd-checkbox\n [(ngModel)]=\"_selectionState\"\n [ngModelOptions]=\"{ standalone: true }\"\n [standalone]=\"true\"\n tabIndexValue=\"-1\"\n *ngIf=\"_selectionModel?.mode === 'multiple'\"\n ></fd-checkbox>\n <fd-radio-button\n [(ngModel)]=\"_selectionState\"\n [ngModelOptions]=\"{ standalone: true }\"\n [selectedValue]=\"_selectionState\"\n [value]=\"true\"\n tabIndex=\"-1\"\n [standalone]=\"true\"\n tabIndexValue=\"-1\"\n *ngIf=\"_selectionModel?.mode === 'single'\"\n ></fd-radio-button>\n </div>\n</ng-template>\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: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i4.CheckboxComponent, selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "directive", type: i5.ClickedDirective, selector: "[fdkClicked]", outputs: ["fdkClicked"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.SelectableItemDirective, selector: "[fdkSelectableItem]", inputs: ["value", "fdkSelectableItem"], outputs: ["clicked", "selected"], exportAs: ["fdkSelectableItem"] }, { kind: "component", type: i7.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "component", type: i8.SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "pipe", type: i9.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
249
249
  }
250
250
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: TreeItemComponent, decorators: [{
251
251
  type: Component,