@fundamental-ngx/core 0.37.0-rc.2 → 0.37.0-rc.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/carousel/carousel-item/carousel-item.component.d.ts +2 -3
  2. package/carousel/carousel.component.d.ts +4 -3
  3. package/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.d.ts +4 -0
  4. package/esm2020/action-bar/action-bar.component.mjs +2 -2
  5. package/esm2020/action-sheet/action-sheet.component.mjs +3 -3
  6. package/esm2020/alert/alert.component.mjs +2 -2
  7. package/esm2020/avatar/avatar.component.mjs +7 -3
  8. package/esm2020/avatar-group/avatar-group.component.mjs +2 -2
  9. package/esm2020/bar/bar.component.mjs +2 -2
  10. package/esm2020/breadcrumb/breadcrumb.component.mjs +2 -2
  11. package/esm2020/busy-indicator/busy-indicator.component.mjs +2 -2
  12. package/esm2020/button/button.component.mjs +2 -2
  13. package/esm2020/calendar/calendar.component.mjs +2 -2
  14. package/esm2020/card/card.component.mjs +2 -2
  15. package/esm2020/carousel/carousel-item/carousel-item.component.mjs +5 -7
  16. package/esm2020/carousel/carousel.component.mjs +31 -27
  17. package/esm2020/checkbox/checkbox/checkbox.component.mjs +2 -2
  18. package/esm2020/combobox/combobox.component.mjs +1 -1
  19. package/esm2020/date-picker/date-picker.component.mjs +1 -1
  20. package/esm2020/datetime-picker/datetime-picker.component.mjs +1 -1
  21. package/esm2020/dialog/dialog.component.mjs +2 -2
  22. package/esm2020/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.mjs +7 -3
  23. package/esm2020/dynamic-page/dynamic-page.component.mjs +2 -2
  24. package/esm2020/dynamic-side-content/dynamic-side-content.component.mjs +2 -2
  25. package/esm2020/facets/facet/facet.component.mjs +2 -2
  26. package/esm2020/feed-input/feed-input.component.mjs +2 -2
  27. package/esm2020/feed-list-item/components/list/feed-list.component.mjs +2 -2
  28. package/esm2020/file-uploader/file-uploader.component.mjs +8 -12
  29. package/esm2020/fixed-card-layout/fixed-card-layout.component.mjs +2 -2
  30. package/esm2020/flexible-column-layout/flexible-column-layout.component.mjs +2 -2
  31. package/esm2020/form/fieldset/fieldset.component.mjs +2 -2
  32. package/esm2020/form/form-control/form-control.component.mjs +2 -2
  33. package/esm2020/form/form-group/form-group.component.mjs +2 -2
  34. package/esm2020/form/form-header/form-header.component.mjs +2 -2
  35. package/esm2020/form/form-input-message-group/form-input-message-group.component.mjs +3 -3
  36. package/esm2020/form/form-item/form-item.component.mjs +2 -2
  37. package/esm2020/form/form-label/form-label.component.mjs +2 -2
  38. package/esm2020/form/form-message/form-message.component.mjs +2 -2
  39. package/esm2020/grid-list/components/grid-list/grid-list.component.mjs +2 -2
  40. package/esm2020/icon/icon.component.mjs +2 -2
  41. package/esm2020/illustrated-message/illustrated-message.component.mjs +2 -2
  42. package/esm2020/info-label/info-label.component.mjs +2 -2
  43. package/esm2020/inline-help/inline-help.directive.mjs +3 -3
  44. package/esm2020/input-group/input-group.component.mjs +2 -2
  45. package/esm2020/layout-grid/layout-grid.component.mjs +2 -2
  46. package/esm2020/layout-panel/layout-panel.component.mjs +2 -2
  47. package/esm2020/link/link.component.mjs +2 -2
  48. package/esm2020/list/list.component.mjs +2 -2
  49. package/esm2020/menu/menu-item/menu-item.component.mjs +43 -7
  50. package/esm2020/menu/menu.component.mjs +44 -33
  51. package/esm2020/menu/services/menu.service.mjs +14 -13
  52. package/esm2020/message-box/message-box.component.mjs +2 -2
  53. package/esm2020/message-page/message-page.component.mjs +2 -2
  54. package/esm2020/message-strip/message-strip.component.mjs +2 -2
  55. package/esm2020/message-toast/message-toast.component.mjs +2 -2
  56. package/esm2020/multi-input/multi-input.component.mjs +1 -1
  57. package/esm2020/nested-list/nested-list-popover/nested-list-popover.component.mjs +1 -1
  58. package/esm2020/notification/notification/notification.component.mjs +2 -2
  59. package/esm2020/object-identifier/object-identifier.component.mjs +2 -2
  60. package/esm2020/object-marker/object-marker.component.mjs +2 -2
  61. package/esm2020/object-number/object-number.component.mjs +2 -2
  62. package/esm2020/object-status/object-status.component.mjs +2 -2
  63. package/esm2020/overflow-layout/overflow-layout.component.mjs +1 -1
  64. package/esm2020/pagination/pagination.component.mjs +2 -2
  65. package/esm2020/panel/panel.component.mjs +2 -2
  66. package/esm2020/popover/base/base-popover.class.mjs +10 -2
  67. package/esm2020/popover/popover-body/popover-body.component.mjs +36 -35
  68. package/esm2020/popover/popover-service/popover.service.mjs +3 -1
  69. package/esm2020/product-switch/product-switch/product-switch.component.mjs +1 -1
  70. package/esm2020/product-switch/product-switch-body/product-switch-body.component.mjs +2 -2
  71. package/esm2020/progress-indicator/progress-indicator.component.mjs +2 -2
  72. package/esm2020/quick-view/quick-view/quick-view.component.mjs +2 -2
  73. package/esm2020/radio/radio-button/radio-button.component.mjs +2 -2
  74. package/esm2020/rating-indicator/components/rating-indicator.component.mjs +2 -2
  75. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +2 -2
  76. package/esm2020/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +2 -2
  77. package/esm2020/scrollbar/scrollbar.component.mjs +2 -2
  78. package/esm2020/segmented-button/segmented-button.component.mjs +2 -2
  79. package/esm2020/select/select.component.mjs +2 -2
  80. package/esm2020/shared/interfaces/popover-position.mjs +1 -28
  81. package/esm2020/shellbar/product-menu/product-menu.component.mjs +1 -1
  82. package/esm2020/shellbar/shellbar.component.mjs +2 -2
  83. package/esm2020/shellbar/user-menu/shellbar-user-menu.component.mjs +1 -1
  84. package/esm2020/side-navigation/side-navigation.component.mjs +2 -2
  85. package/esm2020/slider/slider.component.mjs +2 -2
  86. package/esm2020/split-button/split-button.component.mjs +8 -8
  87. package/esm2020/splitter/splitter.component.mjs +2 -2
  88. package/esm2020/status-indicator/status-indicator.component.mjs +2 -2
  89. package/esm2020/step-input/step-input.component.mjs +2 -2
  90. package/esm2020/switch/switch.component.mjs +2 -2
  91. package/esm2020/table/table-wrapper.component.mjs +2 -2
  92. package/esm2020/table/table.component.mjs +2 -2
  93. package/esm2020/tabs/tab-list.component.mjs +2 -2
  94. package/esm2020/tabs/tab-nav/tab-nav.component.mjs +2 -2
  95. package/esm2020/text/text.component.mjs +2 -2
  96. package/esm2020/tile/tile.component.mjs +2 -2
  97. package/esm2020/time/time.component.mjs +2 -2
  98. package/esm2020/time-picker/time-picker.component.mjs +1 -1
  99. package/esm2020/title/title.component.mjs +2 -2
  100. package/esm2020/token/token.component.mjs +2 -2
  101. package/esm2020/token/tokenizer.component.mjs +2 -2
  102. package/esm2020/toolbar/toolbar.component.mjs +2 -2
  103. package/esm2020/tree/tree-child.component.mjs +2 -2
  104. package/esm2020/tree/tree.component.mjs +2 -2
  105. package/esm2020/upload-collection/upload-collection.component.mjs +2 -2
  106. package/esm2020/vertical-navigation/vertical-navigation-main-navigation.component.mjs +2 -2
  107. package/esm2020/vertical-navigation/vertical-navigation.component.mjs +2 -2
  108. package/esm2020/wizard/wizard.component.mjs +2 -2
  109. package/fesm2015/fundamental-ngx-core-action-bar.mjs +2 -2
  110. package/fesm2015/fundamental-ngx-core-action-sheet.mjs +2 -2
  111. package/fesm2015/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  112. package/fesm2015/fundamental-ngx-core-alert.mjs +2 -2
  113. package/fesm2015/fundamental-ngx-core-avatar-group.mjs +2 -2
  114. package/fesm2015/fundamental-ngx-core-avatar.mjs +6 -2
  115. package/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
  116. package/fesm2015/fundamental-ngx-core-bar.mjs +2 -2
  117. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs +2 -2
  118. package/fesm2015/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  119. package/fesm2015/fundamental-ngx-core-busy-indicator.mjs +2 -2
  120. package/fesm2015/fundamental-ngx-core-button.mjs +2 -2
  121. package/fesm2015/fundamental-ngx-core-button.mjs.map +1 -1
  122. package/fesm2015/fundamental-ngx-core-calendar.mjs +2 -2
  123. package/fesm2015/fundamental-ngx-core-card.mjs +2 -2
  124. package/fesm2015/fundamental-ngx-core-carousel.mjs +32 -30
  125. package/fesm2015/fundamental-ngx-core-carousel.mjs.map +1 -1
  126. package/fesm2015/fundamental-ngx-core-checkbox.mjs +2 -2
  127. package/fesm2015/fundamental-ngx-core-combobox.mjs +1 -1
  128. package/fesm2015/fundamental-ngx-core-combobox.mjs.map +1 -1
  129. package/fesm2015/fundamental-ngx-core-date-picker.mjs +1 -1
  130. package/fesm2015/fundamental-ngx-core-date-picker.mjs.map +1 -1
  131. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs +1 -1
  132. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  133. package/fesm2015/fundamental-ngx-core-dialog.mjs +2 -2
  134. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +8 -4
  135. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  136. package/fesm2015/fundamental-ngx-core-dynamic-side-content.mjs +2 -2
  137. package/fesm2015/fundamental-ngx-core-facets.mjs +2 -2
  138. package/fesm2015/fundamental-ngx-core-feed-input.mjs +2 -2
  139. package/fesm2015/fundamental-ngx-core-feed-input.mjs.map +1 -1
  140. package/fesm2015/fundamental-ngx-core-feed-list-item.mjs +2 -2
  141. package/fesm2015/fundamental-ngx-core-file-uploader.mjs +6 -10
  142. package/fesm2015/fundamental-ngx-core-file-uploader.mjs.map +1 -1
  143. package/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs +2 -2
  144. package/fesm2015/fundamental-ngx-core-flexible-column-layout.mjs +2 -2
  145. package/fesm2015/fundamental-ngx-core-form.mjs +16 -16
  146. package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  147. package/fesm2015/fundamental-ngx-core-grid-list.mjs +2 -2
  148. package/fesm2015/fundamental-ngx-core-icon.mjs +2 -2
  149. package/fesm2015/fundamental-ngx-core-icon.mjs.map +1 -1
  150. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs +2 -2
  151. package/fesm2015/fundamental-ngx-core-info-label.mjs +2 -2
  152. package/fesm2015/fundamental-ngx-core-info-label.mjs.map +1 -1
  153. package/fesm2015/fundamental-ngx-core-inline-help.mjs +2 -2
  154. package/fesm2015/fundamental-ngx-core-inline-help.mjs.map +1 -1
  155. package/fesm2015/fundamental-ngx-core-input-group.mjs +2 -2
  156. package/fesm2015/fundamental-ngx-core-layout-grid.mjs +2 -2
  157. package/fesm2015/fundamental-ngx-core-layout-panel.mjs +2 -2
  158. package/fesm2015/fundamental-ngx-core-link.mjs +2 -2
  159. package/fesm2015/fundamental-ngx-core-link.mjs.map +1 -1
  160. package/fesm2015/fundamental-ngx-core-list.mjs +2 -2
  161. package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
  162. package/fesm2015/fundamental-ngx-core-menu.mjs +99 -49
  163. package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  164. package/fesm2015/fundamental-ngx-core-message-box.mjs +2 -2
  165. package/fesm2015/fundamental-ngx-core-message-page.mjs +2 -2
  166. package/fesm2015/fundamental-ngx-core-message-strip.mjs +2 -2
  167. package/fesm2015/fundamental-ngx-core-message-toast.mjs +2 -2
  168. package/fesm2015/fundamental-ngx-core-multi-input.mjs +1 -1
  169. package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  170. package/fesm2015/fundamental-ngx-core-nested-list.mjs +1 -1
  171. package/fesm2015/fundamental-ngx-core-nested-list.mjs.map +1 -1
  172. package/fesm2015/fundamental-ngx-core-notification.mjs +2 -2
  173. package/fesm2015/fundamental-ngx-core-object-identifier.mjs +2 -2
  174. package/fesm2015/fundamental-ngx-core-object-marker.mjs +2 -2
  175. package/fesm2015/fundamental-ngx-core-object-marker.mjs.map +1 -1
  176. package/fesm2015/fundamental-ngx-core-object-number.mjs +2 -2
  177. package/fesm2015/fundamental-ngx-core-object-status.mjs +2 -2
  178. package/fesm2015/fundamental-ngx-core-object-status.mjs.map +1 -1
  179. package/fesm2015/fundamental-ngx-core-overflow-layout.mjs +1 -1
  180. package/fesm2015/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  181. package/fesm2015/fundamental-ngx-core-pagination.mjs +2 -2
  182. package/fesm2015/fundamental-ngx-core-panel.mjs +2 -2
  183. package/fesm2015/fundamental-ngx-core-popover.mjs +47 -35
  184. package/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
  185. package/fesm2015/fundamental-ngx-core-product-switch.mjs +3 -3
  186. package/fesm2015/fundamental-ngx-core-product-switch.mjs.map +1 -1
  187. package/fesm2015/fundamental-ngx-core-progress-indicator.mjs +2 -2
  188. package/fesm2015/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  189. package/fesm2015/fundamental-ngx-core-quick-view.mjs +2 -2
  190. package/fesm2015/fundamental-ngx-core-quick-view.mjs.map +1 -1
  191. package/fesm2015/fundamental-ngx-core-radio.mjs +2 -2
  192. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs +2 -2
  193. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  194. package/fesm2015/fundamental-ngx-core-resizable-card-layout.mjs +4 -4
  195. package/fesm2015/fundamental-ngx-core-scrollbar.mjs +2 -2
  196. package/fesm2015/fundamental-ngx-core-segmented-button.mjs +2 -2
  197. package/fesm2015/fundamental-ngx-core-select.mjs +2 -2
  198. package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
  199. package/fesm2015/fundamental-ngx-core-shared.mjs +1 -28
  200. package/fesm2015/fundamental-ngx-core-shared.mjs.map +1 -1
  201. package/fesm2015/fundamental-ngx-core-shellbar.mjs +4 -4
  202. package/fesm2015/fundamental-ngx-core-shellbar.mjs.map +1 -1
  203. package/fesm2015/fundamental-ngx-core-side-navigation.mjs +2 -2
  204. package/fesm2015/fundamental-ngx-core-side-navigation.mjs.map +1 -1
  205. package/fesm2015/fundamental-ngx-core-slider.mjs +2 -2
  206. package/fesm2015/fundamental-ngx-core-slider.mjs.map +1 -1
  207. package/fesm2015/fundamental-ngx-core-split-button.mjs +7 -7
  208. package/fesm2015/fundamental-ngx-core-split-button.mjs.map +1 -1
  209. package/fesm2015/fundamental-ngx-core-splitter.mjs +2 -2
  210. package/fesm2015/fundamental-ngx-core-status-indicator.mjs +2 -2
  211. package/fesm2015/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  212. package/fesm2015/fundamental-ngx-core-step-input.mjs +2 -2
  213. package/fesm2015/fundamental-ngx-core-switch.mjs +2 -2
  214. package/fesm2015/fundamental-ngx-core-table.mjs +4 -4
  215. package/fesm2015/fundamental-ngx-core-tabs.mjs +4 -4
  216. package/fesm2015/fundamental-ngx-core-tabs.mjs.map +1 -1
  217. package/fesm2015/fundamental-ngx-core-text.mjs +2 -2
  218. package/fesm2015/fundamental-ngx-core-tile.mjs +2 -2
  219. package/fesm2015/fundamental-ngx-core-time-picker.mjs +1 -1
  220. package/fesm2015/fundamental-ngx-core-time-picker.mjs.map +1 -1
  221. package/fesm2015/fundamental-ngx-core-time.mjs +2 -2
  222. package/fesm2015/fundamental-ngx-core-title.mjs +2 -2
  223. package/fesm2015/fundamental-ngx-core-token.mjs +4 -4
  224. package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
  225. package/fesm2015/fundamental-ngx-core-toolbar.mjs +2 -2
  226. package/fesm2015/fundamental-ngx-core-toolbar.mjs.map +1 -1
  227. package/fesm2015/fundamental-ngx-core-tree.mjs +3 -3
  228. package/fesm2015/fundamental-ngx-core-tree.mjs.map +1 -1
  229. package/fesm2015/fundamental-ngx-core-upload-collection.mjs +2 -2
  230. package/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  231. package/fesm2015/fundamental-ngx-core-vertical-navigation.mjs +4 -4
  232. package/fesm2015/fundamental-ngx-core-wizard.mjs +2 -2
  233. package/fesm2020/fundamental-ngx-core-action-bar.mjs +2 -2
  234. package/fesm2020/fundamental-ngx-core-action-sheet.mjs +2 -2
  235. package/fesm2020/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  236. package/fesm2020/fundamental-ngx-core-alert.mjs +2 -2
  237. package/fesm2020/fundamental-ngx-core-avatar-group.mjs +2 -2
  238. package/fesm2020/fundamental-ngx-core-avatar.mjs +6 -2
  239. package/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
  240. package/fesm2020/fundamental-ngx-core-bar.mjs +2 -2
  241. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs +2 -2
  242. package/fesm2020/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  243. package/fesm2020/fundamental-ngx-core-busy-indicator.mjs +2 -2
  244. package/fesm2020/fundamental-ngx-core-button.mjs +2 -2
  245. package/fesm2020/fundamental-ngx-core-button.mjs.map +1 -1
  246. package/fesm2020/fundamental-ngx-core-calendar.mjs +2 -2
  247. package/fesm2020/fundamental-ngx-core-card.mjs +2 -2
  248. package/fesm2020/fundamental-ngx-core-carousel.mjs +32 -30
  249. package/fesm2020/fundamental-ngx-core-carousel.mjs.map +1 -1
  250. package/fesm2020/fundamental-ngx-core-checkbox.mjs +2 -2
  251. package/fesm2020/fundamental-ngx-core-combobox.mjs +1 -1
  252. package/fesm2020/fundamental-ngx-core-combobox.mjs.map +1 -1
  253. package/fesm2020/fundamental-ngx-core-date-picker.mjs +1 -1
  254. package/fesm2020/fundamental-ngx-core-date-picker.mjs.map +1 -1
  255. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs +1 -1
  256. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  257. package/fesm2020/fundamental-ngx-core-dialog.mjs +2 -2
  258. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +8 -4
  259. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  260. package/fesm2020/fundamental-ngx-core-dynamic-side-content.mjs +2 -2
  261. package/fesm2020/fundamental-ngx-core-facets.mjs +2 -2
  262. package/fesm2020/fundamental-ngx-core-feed-input.mjs +2 -2
  263. package/fesm2020/fundamental-ngx-core-feed-input.mjs.map +1 -1
  264. package/fesm2020/fundamental-ngx-core-feed-list-item.mjs +2 -2
  265. package/fesm2020/fundamental-ngx-core-file-uploader.mjs +6 -10
  266. package/fesm2020/fundamental-ngx-core-file-uploader.mjs.map +1 -1
  267. package/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs +2 -2
  268. package/fesm2020/fundamental-ngx-core-flexible-column-layout.mjs +2 -2
  269. package/fesm2020/fundamental-ngx-core-form.mjs +16 -16
  270. package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  271. package/fesm2020/fundamental-ngx-core-grid-list.mjs +2 -2
  272. package/fesm2020/fundamental-ngx-core-icon.mjs +2 -2
  273. package/fesm2020/fundamental-ngx-core-icon.mjs.map +1 -1
  274. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs +2 -2
  275. package/fesm2020/fundamental-ngx-core-info-label.mjs +2 -2
  276. package/fesm2020/fundamental-ngx-core-info-label.mjs.map +1 -1
  277. package/fesm2020/fundamental-ngx-core-inline-help.mjs +2 -2
  278. package/fesm2020/fundamental-ngx-core-inline-help.mjs.map +1 -1
  279. package/fesm2020/fundamental-ngx-core-input-group.mjs +2 -2
  280. package/fesm2020/fundamental-ngx-core-layout-grid.mjs +2 -2
  281. package/fesm2020/fundamental-ngx-core-layout-panel.mjs +2 -2
  282. package/fesm2020/fundamental-ngx-core-link.mjs +2 -2
  283. package/fesm2020/fundamental-ngx-core-link.mjs.map +1 -1
  284. package/fesm2020/fundamental-ngx-core-list.mjs +2 -2
  285. package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
  286. package/fesm2020/fundamental-ngx-core-menu.mjs +97 -49
  287. package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  288. package/fesm2020/fundamental-ngx-core-message-box.mjs +2 -2
  289. package/fesm2020/fundamental-ngx-core-message-page.mjs +2 -2
  290. package/fesm2020/fundamental-ngx-core-message-strip.mjs +2 -2
  291. package/fesm2020/fundamental-ngx-core-message-toast.mjs +2 -2
  292. package/fesm2020/fundamental-ngx-core-multi-input.mjs +1 -1
  293. package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  294. package/fesm2020/fundamental-ngx-core-nested-list.mjs +1 -1
  295. package/fesm2020/fundamental-ngx-core-nested-list.mjs.map +1 -1
  296. package/fesm2020/fundamental-ngx-core-notification.mjs +2 -2
  297. package/fesm2020/fundamental-ngx-core-object-identifier.mjs +2 -2
  298. package/fesm2020/fundamental-ngx-core-object-marker.mjs +2 -2
  299. package/fesm2020/fundamental-ngx-core-object-marker.mjs.map +1 -1
  300. package/fesm2020/fundamental-ngx-core-object-number.mjs +2 -2
  301. package/fesm2020/fundamental-ngx-core-object-status.mjs +2 -2
  302. package/fesm2020/fundamental-ngx-core-object-status.mjs.map +1 -1
  303. package/fesm2020/fundamental-ngx-core-overflow-layout.mjs +1 -1
  304. package/fesm2020/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  305. package/fesm2020/fundamental-ngx-core-pagination.mjs +2 -2
  306. package/fesm2020/fundamental-ngx-core-panel.mjs +2 -2
  307. package/fesm2020/fundamental-ngx-core-popover.mjs +47 -35
  308. package/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
  309. package/fesm2020/fundamental-ngx-core-product-switch.mjs +3 -3
  310. package/fesm2020/fundamental-ngx-core-product-switch.mjs.map +1 -1
  311. package/fesm2020/fundamental-ngx-core-progress-indicator.mjs +2 -2
  312. package/fesm2020/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  313. package/fesm2020/fundamental-ngx-core-quick-view.mjs +2 -2
  314. package/fesm2020/fundamental-ngx-core-quick-view.mjs.map +1 -1
  315. package/fesm2020/fundamental-ngx-core-radio.mjs +2 -2
  316. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs +2 -2
  317. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  318. package/fesm2020/fundamental-ngx-core-resizable-card-layout.mjs +4 -4
  319. package/fesm2020/fundamental-ngx-core-scrollbar.mjs +2 -2
  320. package/fesm2020/fundamental-ngx-core-segmented-button.mjs +2 -2
  321. package/fesm2020/fundamental-ngx-core-select.mjs +2 -2
  322. package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
  323. package/fesm2020/fundamental-ngx-core-shared.mjs +1 -28
  324. package/fesm2020/fundamental-ngx-core-shared.mjs.map +1 -1
  325. package/fesm2020/fundamental-ngx-core-shellbar.mjs +4 -4
  326. package/fesm2020/fundamental-ngx-core-shellbar.mjs.map +1 -1
  327. package/fesm2020/fundamental-ngx-core-side-navigation.mjs +2 -2
  328. package/fesm2020/fundamental-ngx-core-side-navigation.mjs.map +1 -1
  329. package/fesm2020/fundamental-ngx-core-slider.mjs +2 -2
  330. package/fesm2020/fundamental-ngx-core-slider.mjs.map +1 -1
  331. package/fesm2020/fundamental-ngx-core-split-button.mjs +7 -7
  332. package/fesm2020/fundamental-ngx-core-split-button.mjs.map +1 -1
  333. package/fesm2020/fundamental-ngx-core-splitter.mjs +2 -2
  334. package/fesm2020/fundamental-ngx-core-status-indicator.mjs +2 -2
  335. package/fesm2020/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  336. package/fesm2020/fundamental-ngx-core-step-input.mjs +2 -2
  337. package/fesm2020/fundamental-ngx-core-switch.mjs +2 -2
  338. package/fesm2020/fundamental-ngx-core-table.mjs +4 -4
  339. package/fesm2020/fundamental-ngx-core-tabs.mjs +4 -4
  340. package/fesm2020/fundamental-ngx-core-tabs.mjs.map +1 -1
  341. package/fesm2020/fundamental-ngx-core-text.mjs +2 -2
  342. package/fesm2020/fundamental-ngx-core-tile.mjs +2 -2
  343. package/fesm2020/fundamental-ngx-core-time-picker.mjs +1 -1
  344. package/fesm2020/fundamental-ngx-core-time-picker.mjs.map +1 -1
  345. package/fesm2020/fundamental-ngx-core-time.mjs +2 -2
  346. package/fesm2020/fundamental-ngx-core-title.mjs +2 -2
  347. package/fesm2020/fundamental-ngx-core-token.mjs +4 -4
  348. package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
  349. package/fesm2020/fundamental-ngx-core-toolbar.mjs +2 -2
  350. package/fesm2020/fundamental-ngx-core-toolbar.mjs.map +1 -1
  351. package/fesm2020/fundamental-ngx-core-tree.mjs +3 -3
  352. package/fesm2020/fundamental-ngx-core-tree.mjs.map +1 -1
  353. package/fesm2020/fundamental-ngx-core-upload-collection.mjs +2 -2
  354. package/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  355. package/fesm2020/fundamental-ngx-core-vertical-navigation.mjs +4 -4
  356. package/fesm2020/fundamental-ngx-core-wizard.mjs +2 -2
  357. package/file-uploader/file-uploader.component.d.ts +0 -2
  358. package/fundamental-ngx-core-v0.37.0-rc.21.tgz +0 -0
  359. package/menu/menu-item/menu-item.component.d.ts +27 -7
  360. package/menu/menu.component.d.ts +15 -10
  361. package/menu/services/menu.service.d.ts +3 -3
  362. package/package.json +11 -8
  363. package/popover/base/base-popover.class.d.ts +5 -1
  364. package/popover/popover-body/popover-body.component.d.ts +7 -10
  365. package/schematics/migrations/migration-0-37/index.js +14 -1
  366. package/schematics/migrations/migration-0-37/index.js.map +1 -1
  367. package/schematics/migrations/migration-0-37/index.ts +18 -1
  368. package/schematics/ng-add/index.js +6 -6
  369. package/schematics/ng-add/index.js.map +1 -1
  370. package/schematics/ng-add/index.ts +4 -4
  371. package/shared/interfaces/popover-position.d.ts +0 -8
  372. package/styles/fundamental-ngx-core.css +1 -0
  373. package/fundamental-ngx-core-v0.37.0-rc.2.tgz +0 -0
@@ -9,6 +9,7 @@ import { MenuService } from './services/menu.service';
9
9
  import { MENU_COMPONENT } from './menu.interface';
10
10
  import { MenuItemComponent } from './menu-item/menu-item.component';
11
11
  import { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';
12
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
12
13
  import * as i0 from "@angular/core";
13
14
  import * as i1 from "@fundamental-ngx/core/dialog";
14
15
  import * as i2 from "./services/menu.service";
@@ -38,6 +39,13 @@ export class MenuComponent extends BasePopoverClass {
38
39
  this.disabled = false;
39
40
  /** Whether the popover should be focusTrapped. */
40
41
  this.focusTrapped = true;
42
+ /**
43
+ * Whether the popover should automatically move focus into the trapped region upon
44
+ * initialization and return focus to the previous activeElement upon destruction.
45
+ */
46
+ this.focusAutoCapture = true;
47
+ /** Should fd-scrollbar have tabindex*/
48
+ this.tabbableScrollbar = false;
41
49
  /** Open submenu on hover after given milliseconds */
42
50
  this.openOnHoverTime = 0;
43
51
  /** Display menu without integrated popover */
@@ -46,19 +54,19 @@ export class MenuComponent extends BasePopoverClass {
46
54
  this.id = `fd-menu-${menuUniqueId++}`;
47
55
  /** Emits array of active menu items */
48
56
  this.activePath = new EventEmitter();
49
- /** Whether use menu in mobile mode */
50
- this.mobile = false;
51
- /** @hidden Whether Popover with the menu is opened */
52
- this.isOpen = false;
57
+ /** @hidden Whether use a menu in mobile mode */
58
+ this._mobile = false;
53
59
  /** @hidden */
54
60
  this._subscriptions = new Subscription();
55
61
  }
56
62
  /** Set menu in mobile mode */
57
- // eslint-disable-next-line @angular-eslint/no-input-rename
58
- set setMobileMode(value) {
59
- this.mobile = value;
63
+ set mobile(value) {
64
+ this._mobile = coerceBooleanProperty(value);
60
65
  this._menuService.setMenuMode(this.mobile);
61
66
  }
67
+ get mobile() {
68
+ return this._mobile;
69
+ }
62
70
  /** @hidden */
63
71
  get _popoverConfig() {
64
72
  return {
@@ -71,9 +79,9 @@ export class MenuComponent extends BasePopoverClass {
71
79
  /** keep isOpen up to date */
72
80
  this.isOpenChange.subscribe((isOpen) => {
73
81
  this.isOpen = isOpen;
82
+ // when popover got closed by its own mechanism (e.x. click outside)
83
+ // we need to clean up a menu as well
74
84
  if (!isOpen) {
75
- // when popover got closed by its own mechanism (e.x. click outside)
76
- // we need to clean up menu as well
77
85
  this._cleanUpMenuAfterClose();
78
86
  }
79
87
  this._changeDetectorRef.markForCheck();
@@ -81,15 +89,15 @@ export class MenuComponent extends BasePopoverClass {
81
89
  }
82
90
  /** @hidden */
83
91
  ngAfterContentInit() {
84
- this._menuService.setMenuRoot(this);
92
+ this._menuService.setMenuComponent(this);
85
93
  this._listenOnMenuItemsChange();
86
94
  }
87
95
  /** @hidden */
88
96
  ngAfterViewInit() {
89
97
  this._menuService.isMobileMode.subscribe((isMobile) => {
90
98
  this._setupView();
99
+ // Since it is mobile, it's needed to disable popoverService
91
100
  if (isMobile) {
92
- // Since it is mobile it's needed to disable popoverService
93
101
  this._popoverService.deactivate();
94
102
  }
95
103
  });
@@ -119,7 +127,7 @@ export class MenuComponent extends BasePopoverClass {
119
127
  this.isOpen = true;
120
128
  this.isOpenChange.emit(this.isOpen);
121
129
  }
122
- if (!this.mobile) {
130
+ else {
123
131
  this._popoverService.open();
124
132
  }
125
133
  this._changeDetectorRef.markForCheck();
@@ -130,7 +138,7 @@ export class MenuComponent extends BasePopoverClass {
130
138
  this.isOpen = false;
131
139
  this.isOpenChange.emit(this.isOpen);
132
140
  }
133
- if (!this.mobile) {
141
+ else {
134
142
  this._popoverService.close();
135
143
  }
136
144
  this._cleanUpMenuAfterClose();
@@ -161,31 +169,31 @@ export class MenuComponent extends BasePopoverClass {
161
169
  }
162
170
  /** @hidden */
163
171
  _setupPopoverService() {
164
- this._subscriptions.add(this._popoverService._onLoad.subscribe((elementRef) => this._manageKeyboardSupport(elementRef)));
165
- this._popoverService.templateContent = this.menuRootTemplate;
172
+ this._subscriptions.add(this._popoverService._onLoad.subscribe((elementRef) => this._menuService.addKeyboardSupport(elementRef)));
173
+ this._popoverService.templateContent = this._menuRootTemplate;
166
174
  this._popoverService.initialise(this._externalTrigger, this._popoverConfig);
167
175
  }
168
- /** @hidden */
169
- _manageKeyboardSupport(elementRef) {
170
- this._menuService.addKeyboardSupport(elementRef);
171
- }
172
176
  /** @hidden Open Menu in mobile mode */
173
177
  async _setupMobileMode() {
174
178
  const injector = Injector.create({
175
179
  providers: [{ provide: MENU_COMPONENT, useValue: this }],
176
180
  parent: this._injector
177
181
  });
178
- this._mobileModeComponentRef = await this._dynamicComponentService.createDynamicModule(this.menuRootTemplate, MenuMobileModule, MenuMobileComponent, this._viewContainerRef, injector);
182
+ this._mobileModeComponentRef = await this._dynamicComponentService.createDynamicModule(this._menuRootTemplate, MenuMobileModule, MenuMobileComponent, this._viewContainerRef, injector);
179
183
  this._listenOnTriggerRefClicks();
180
184
  }
181
185
  /** @hidden Listen on menu items change and rebuild menu */
182
186
  _listenOnMenuItemsChange() {
183
- this._subscriptions.add(this.menuItems.changes.subscribe(() => this._menuService.rebuildMenu()));
184
- this.menuItems.forEach((m) => {
185
- if (m.submenu && m.submenu.menuItems) {
186
- this._subscriptions.add(m.submenu.menuItems.changes.subscribe(() => this._menuService.rebuildMenu()));
187
+ this._subscriptions.add(this._menuItems.changes.subscribe(() => this._menuService.rebuildMenu()));
188
+ // Whether menu have submenu or not.
189
+ let isSubmenu = false;
190
+ this._menuItems.forEach((menuItem) => {
191
+ if (menuItem.submenu?.menuItems) {
192
+ isSubmenu = true;
193
+ this._subscriptions.add(menuItem.submenu._menuItemsChange$.subscribe(() => this._menuService.rebuildMenu()));
187
194
  }
188
195
  });
196
+ this.disableScrollbar = isSubmenu;
189
197
  }
190
198
  /**
191
199
  * @hidden
@@ -221,21 +229,24 @@ export class MenuComponent extends BasePopoverClass {
221
229
  }
222
230
  }
223
231
  MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MenuComponent, deps: [{ token: i0.ElementRef }, { token: i1.DialogConfig, optional: true }, { token: i0.Renderer2 }, { token: i2.MenuService }, { token: i0.ChangeDetectorRef }, { token: i3.PopoverService }, { token: i0.Injector }, { token: i0.ViewContainerRef }, { token: i4.DynamicComponentService, optional: true }, { token: i5.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component });
224
- MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: MenuComponent, selector: "fd-menu", inputs: { setMobileMode: ["mobile", "setMobileMode"], disabled: "disabled", focusTrapped: "focusTrapped", openOnHoverTime: "openOnHoverTime", mobileConfig: "mobileConfig", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", id: "id" }, outputs: { activePath: "activePath" }, providers: [MenuService, PopoverService, contentDensityObserverProviders()], queries: [{ propertyName: "menuItems", predicate: MenuItemComponent, descendants: true }], viewQueries: [{ propertyName: "menuRootTemplate", first: true, predicate: ["menuRootTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container #viewContainer></ng-container>\n\n<ng-template #menuRootTemplate>\n <nav\n class=\"fd-menu\"\n fdInitialFocus\n [enabled]=\"focusTrapped\"\n [id]=\"id\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"menu\"\n [class.fd-menu--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-menu--mobile]=\"mobile\"\n >\n <ul role=\"none\" class=\"fd-menu__list fd-menu__list--no-shadow\">\n <ng-content></ng-content>\n </ul>\n </nav>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.25.1-rc.16\n * Copyright (c) 2022 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-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{-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;line-height:var(--sapContent_LineHeight);margin:0;max-width:20rem;padding:0;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;-webkit-box-shadow:var(--sapContent_Shadow1);border:0;border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{box-shadow:none}.fd-menu__sublist{-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;left:100%;line-height:var(--sapContent_LineHeight);margin:.25rem 0 0 -.25rem;min-width:100%;padding:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;margin:.25rem -.25rem 0 0;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{flex-wrap:nowrap;overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow.is-focus,.fd-menu__list--overflow:focus{outline:none;z-index:5}.fd-menu__list--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb:active,.fd-menu__list--overflow::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu__separator{-webkit-box-sizing:border-box;background-color:var(--sapGroup_ContentBorderColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:.0625rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{box-sizing:inherit;font-size:inherit}.fd-menu__item{-webkit-box-sizing:border-box;background-color:var(--sapList_Background);border:0;border-radius:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{box-sizing:inherit;font-size:inherit}.fd-menu__item:first-child,.fd-menu__item:first-child .fd-menu__link:after{border-top-left-radius:var(--fdButton_Menu_Border_Radius);border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item:last-child,.fd-menu__item:last-child .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__link{-webkit-box-sizing:border-box;align-items:center;border:0;border-radius:inherit;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:2.75rem;line-height:var(--sapContent_LineHeight);margin:0;outline:none;padding:.75rem 1rem .75rem .75rem;text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{box-sizing:inherit;font-size:inherit}.fd-menu__link.is-focus:after,.fd-menu__link: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-menu__link.is-hover,.fd-menu__link:hover{background-color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{background-color:var(--sapList_SelectionBackgroundColor);border-bottom:.0625rem solid var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected .fd-menu__addon-after,.fd-menu__link.is-selected .fd-menu__addon-before,.fd-menu__link.is-selected .fd-menu__shortcut,.fd-menu__link[aria-selected=true] .fd-menu__addon-after,.fd-menu__link[aria-selected=true] .fd-menu__addon-before,.fd-menu__link[aria-selected=true] .fd-menu__shortcut{color:var(--sapContent_NonInteractiveIconColor)}.fd-menu__link.is-selected.is-hover:not(:active):not(.is-active),.fd-menu__link.is-selected:hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active):not(.is-active){background-color:var(--sapList_Hover_SelectionBackground)}.fd-menu__link.is-selected.is-focus,.fd-menu__link.is-selected:focus,.fd-menu__link[aria-selected=true].is-focus,.fd-menu__link[aria-selected=true]:focus{z-index:5}.fd-menu__link.is-selected.is-focus:after,.fd-menu__link.is-selected:focus:after,.fd-menu__link[aria-selected=true].is-focus:after,.fd-menu__link[aria-selected=true]:focus:after{bottom:.125rem}.fd-menu__link.is-active,.fd-menu__link:active{background-color:var(--sapList_Active_Background);color:var(--sapList_Active_TextColor)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active .fd-menu__addon-after,.fd-menu__link.is-active .fd-menu__addon-before,.fd-menu__link.is-active .fd-menu__shortcut,.fd-menu__link.is-active .fd-menu__title,.fd-menu__link:active .fd-menu__addon-after,.fd-menu__link:active .fd-menu__addon-before,.fd-menu__link:active .fd-menu__shortcut,.fd-menu__link:active .fd-menu__title{color:var(--sapList_Active_TextColor)}.fd-menu__link.is-active.is-focus,.fd-menu__link.is-active:focus,.fd-menu__link:active.is-focus,.fd-menu__link:active:focus{outline-color:var(--fdMenu_Active_State_Focus);z-index:5}.fd-menu__link.is-disabled,.fd-menu__link:disabled,.fd-menu__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-menu__link.is-disabled.is-focus,.fd-menu__link.is-disabled:focus,.fd-menu__link:disabled.is-focus,.fd-menu__link:disabled:focus,.fd-menu__link[aria-disabled=true].is-focus,.fd-menu__link[aria-disabled=true]:focus{z-index:5}.fd-menu__link.is-disabled.is-focus:after,.fd-menu__link.is-disabled:focus:after,.fd-menu__link:disabled.is-focus:after,.fd-menu__link:disabled:focus:after,.fd-menu__link[aria-disabled=true].is-focus:after,.fd-menu__link[aria-disabled=true]:focus:after{display:none}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active){background-color:var(--sapList_SelectionBackgroundColor);border-bottom:.0625rem solid var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__addon-after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__addon-before,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__shortcut,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__addon-after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__addon-before,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__shortcut{color:var(--sapContent_NonInteractiveIconColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):hover:not(:active):not(.is-active){background-color:var(--sapList_Hover_SelectionBackground)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus:after{bottom:.125rem}.fd-menu__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapList_TextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{box-sizing:inherit;font-size:inherit}.fd-menu__addon-after,.fd-menu__addon-before{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontLargeSize);font-weight:400;height:1.25rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;min-width:2.25rem;padding:0;text-shadow:var(--fdMenu_Text_Shadow);width:2.25rem}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{box-sizing:inherit;font-size:inherit}.fd-menu__addon-after [class*=sap-icon],.fd-menu__addon-after[class*=sap-icon],.fd-menu__addon-before [class*=sap-icon],.fd-menu__addon-before[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;font-size:inherit;line-height:1}.fd-menu__addon-before{margin:0 0 0 -.75rem}.fd-menu__addon-after,.fd-menu__addon-before[dir=rtl],[dir=rtl] .fd-menu__addon-before{margin:0 -1rem 0 0}.fd-menu__addon-after[dir=rtl],[dir=rtl] .fd-menu__addon-after{margin:0 0 0 -.75rem}.fd-menu__addon-after--submenu{font-size:var(--sapFontSmallSize)}.fd-menu__addon-after--submenu:before{content:\"\\e066\"}.fd-menu__addon-after--submenu:before,.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\"\\e067\"}.fd-menu__shortcut{-webkit-box-sizing:border-box;-ms-flex-negative:0;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);display:flex;flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0 0 0 1rem;text-overflow:ellipsis;white-space:nowrap}.fd-menu__shortcut:after,.fd-menu__shortcut:before{box-sizing:inherit;font-size:inherit}.fd-menu__shortcut[dir=rtl],[dir=rtl] .fd-menu__shortcut{padding-left:0;padding-right:1rem}.fd-menu--overflow{-webkit-box-shadow:var(--sapContent_Shadow1);border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu--overflow.is-focus,.fd-menu--overflow:focus{outline:none;z-index:5}.fd-menu--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb:active,.fd-menu--overflow::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu--overflow .fd-menu__list{box-shadow:none}.fd-menu--overflow .fd-menu__item:first-child{border-top-right-radius:0}.fd-menu--overflow .fd-menu__item:first-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:first-child{border-top-left-radius:0;border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--overflow .fd-menu__item:last-child{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-child{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--compact .fd-menu__link{height:2rem;padding:.375rem .75rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-after,.fd-menu--compact .fd-menu__link .fd-menu__addon-before{min-width:2rem;width:2rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-before{margin:0 0 0 -.5rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-after,.fd-menu--compact .fd-menu__link[dir=rtl] .fd-menu__addon-before,[dir=rtl] .fd-menu--compact .fd-menu__link .fd-menu__addon-before{margin:0 -.75rem 0 0}.fd-menu--compact .fd-menu__link[dir=rtl] .fd-menu__addon-after,[dir=rtl] .fd-menu--compact .fd-menu__link .fd-menu__addon-after{margin:0 0 0 -.5rem}.fd-menu--mobile{max-width:100%;width:100%}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{-webkit-box-shadow:none;border-radius:0;box-shadow:none;margin:0;position:static}.fd-menu--mobile .fd-menu__list .fd-menu__item,.fd-menu--mobile .fd-menu__sublist .fd-menu__item{border-radius:0}.fd-menu--mobile .fd-menu__list .fd-menu__link,.fd-menu--mobile .fd-menu__sublist .fd-menu__link{padding:.75rem 1rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-after,.fd-menu--mobile .fd-menu__list .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{min-width:2.75rem;width:2.75rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{margin:0 0 0 -1rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-after,.fd-menu--mobile .fd-menu__list[dir=rtl] .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist[dir=rtl] .fd-menu__addon-before,[dir=rtl] .fd-menu--mobile .fd-menu__list .fd-menu__addon-before,[dir=rtl] .fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{margin:0 -1rem 0 0}.fd-menu--mobile .fd-menu__list[dir=rtl] .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist[dir=rtl] .fd-menu__addon-after,[dir=rtl] .fd-menu--mobile .fd-menu__list .fd-menu__addon-after,[dir=rtl] .fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after{margin:0 0 0 -1rem}:host{display:inline}fd-menu .fd-menu__list,fd-menu .fd-menu__sublist{flex-wrap:nowrap}.fd-popover--menu .fd-scrollbar{overflow:visible!important}\n"], dependencies: [{ kind: "directive", type: i4.InitialFocusDirective, selector: "[fdInitialFocus], [fd-initial-focus]", inputs: ["fd-initial-focus", "enabled", "focusLastElement"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
232
+ MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: MenuComponent, selector: "fd-menu", inputs: { mobile: "mobile", disabled: "disabled", focusTrapped: "focusTrapped", focusAutoCapture: "focusAutoCapture", tabbableScrollbar: "tabbableScrollbar", openOnHoverTime: "openOnHoverTime", mobileConfig: "mobileConfig", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby", id: "id" }, outputs: { activePath: "activePath" }, providers: [MenuService, PopoverService, contentDensityObserverProviders()], queries: [{ propertyName: "_menuItems", predicate: MenuItemComponent }], viewQueries: [{ propertyName: "_menuRootTemplate", first: true, predicate: ["menuRootTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container #viewContainer></ng-container>\n\n<ng-template #menuRootTemplate>\n <nav\n class=\"fd-menu\"\n [id]=\"id\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"menu\"\n [class.fd-menu--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-menu--mobile]=\"mobile\"\n >\n <ul role=\"none\" class=\"fd-menu__list fd-menu__list--no-shadow\">\n <ng-content></ng-content>\n </ul>\n </nav>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.0-rc.27\n * Copyright (c) 2022 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-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{-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;line-height:var(--sapContent_LineHeight);margin:0;max-width:20rem;padding:0;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;-webkit-box-shadow:var(--sapContent_Shadow1);border:0;border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{box-shadow:none}.fd-menu__sublist{-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;left:100%;line-height:var(--sapContent_LineHeight);margin:.25rem 0 0 -.25rem;min-width:100%;padding:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;margin:.25rem -.25rem 0 0;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{flex-wrap:nowrap;overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow.is-focus,.fd-menu__list--overflow:focus{outline:none;z-index:5}.fd-menu__list--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb:active,.fd-menu__list--overflow::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu__separator{-webkit-box-sizing:border-box;background-color:var(--sapGroup_ContentBorderColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:.0625rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{box-sizing:inherit;font-size:inherit}.fd-menu__item{-webkit-box-sizing:border-box;background-color:var(--sapList_Background);border:0;border-radius:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{box-sizing:inherit;font-size:inherit}.fd-menu__item:first-child,.fd-menu__item:first-child .fd-menu__link:after{border-top-left-radius:var(--fdButton_Menu_Border_Radius);border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item:last-of-type,.fd-menu__item:last-of-type .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__link{-webkit-box-sizing:border-box;align-items:center;border:0;border-radius:inherit;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:2.75rem;line-height:var(--sapContent_LineHeight);margin:0;outline:none;padding:.75rem 1rem .75rem .75rem;text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{box-sizing:inherit;font-size:inherit}.fd-menu__link.is-focus:after,.fd-menu__link: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-menu__link.is-hover,.fd-menu__link:hover{background-color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{background-color:var(--sapList_SelectionBackgroundColor);border-bottom:.0625rem solid var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected .fd-menu__addon-after,.fd-menu__link.is-selected .fd-menu__addon-before,.fd-menu__link.is-selected .fd-menu__shortcut,.fd-menu__link[aria-selected=true] .fd-menu__addon-after,.fd-menu__link[aria-selected=true] .fd-menu__addon-before,.fd-menu__link[aria-selected=true] .fd-menu__shortcut{color:var(--sapContent_NonInteractiveIconColor)}.fd-menu__link.is-selected.is-hover:not(:active):not(.is-active),.fd-menu__link.is-selected:hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active):not(.is-active){background-color:var(--sapList_Hover_SelectionBackground)}.fd-menu__link.is-selected.is-focus,.fd-menu__link.is-selected:focus,.fd-menu__link[aria-selected=true].is-focus,.fd-menu__link[aria-selected=true]:focus{z-index:5}.fd-menu__link.is-selected.is-focus:after,.fd-menu__link.is-selected:focus:after,.fd-menu__link[aria-selected=true].is-focus:after,.fd-menu__link[aria-selected=true]:focus:after{bottom:.125rem}.fd-menu__link.is-active,.fd-menu__link:active{background-color:var(--sapList_Active_Background);color:var(--sapList_Active_TextColor)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active .fd-menu__addon-after,.fd-menu__link.is-active .fd-menu__addon-before,.fd-menu__link.is-active .fd-menu__shortcut,.fd-menu__link.is-active .fd-menu__title,.fd-menu__link:active .fd-menu__addon-after,.fd-menu__link:active .fd-menu__addon-before,.fd-menu__link:active .fd-menu__shortcut,.fd-menu__link:active .fd-menu__title{color:var(--sapList_Active_TextColor)}.fd-menu__link.is-active.is-focus,.fd-menu__link.is-active:focus,.fd-menu__link:active.is-focus,.fd-menu__link:active:focus{outline-color:var(--fdMenu_Active_State_Focus);z-index:5}.fd-menu__link.is-disabled,.fd-menu__link:disabled,.fd-menu__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-menu__link.is-disabled.is-focus,.fd-menu__link.is-disabled:focus,.fd-menu__link:disabled.is-focus,.fd-menu__link:disabled:focus,.fd-menu__link[aria-disabled=true].is-focus,.fd-menu__link[aria-disabled=true]:focus{z-index:5}.fd-menu__link.is-disabled.is-focus:after,.fd-menu__link.is-disabled:focus:after,.fd-menu__link:disabled.is-focus:after,.fd-menu__link:disabled:focus:after,.fd-menu__link[aria-disabled=true].is-focus:after,.fd-menu__link[aria-disabled=true]:focus:after{display:none}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active){background-color:var(--sapList_SelectionBackgroundColor);border-bottom:.0625rem solid var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__addon-after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__addon-before,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__shortcut,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__addon-after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__addon-before,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__shortcut{color:var(--sapContent_NonInteractiveIconColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):hover:not(:active):not(.is-active){background-color:var(--sapList_Hover_SelectionBackground)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus:after{bottom:.125rem}.fd-menu__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapList_TextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{box-sizing:inherit;font-size:inherit}.fd-menu__addon-after,.fd-menu__addon-before{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontLargeSize);font-weight:400;height:1.25rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;min-width:2.25rem;padding:0;text-shadow:var(--fdMenu_Text_Shadow);width:2.25rem}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{box-sizing:inherit;font-size:inherit}.fd-menu__addon-after [class*=sap-icon],.fd-menu__addon-after[class*=sap-icon],.fd-menu__addon-before [class*=sap-icon],.fd-menu__addon-before[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;font-size:inherit;line-height:1}.fd-menu__addon-before{margin:0 0 0 -.75rem}.fd-menu__addon-after,.fd-menu__addon-before[dir=rtl],[dir=rtl] .fd-menu__addon-before{margin:0 -1rem 0 0}.fd-menu__addon-after[dir=rtl],[dir=rtl] .fd-menu__addon-after{margin:0 0 0 -.75rem}.fd-menu__addon-after--submenu{font-size:var(--sapFontSmallSize)}.fd-menu__addon-after--submenu:before{content:\"\\e066\"}.fd-menu__addon-after--submenu:before,.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\"\\e067\"}.fd-menu__shortcut{-webkit-box-sizing:border-box;-ms-flex-negative:0;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);display:flex;flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0 0 0 1rem;text-overflow:ellipsis;white-space:nowrap}.fd-menu__shortcut:after,.fd-menu__shortcut:before{box-sizing:inherit;font-size:inherit}.fd-menu__shortcut[dir=rtl],[dir=rtl] .fd-menu__shortcut{padding-left:0;padding-right:1rem}.fd-menu--overflow{-webkit-box-shadow:var(--sapContent_Shadow1);border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu--overflow.is-focus,.fd-menu--overflow:focus{outline:none;z-index:5}.fd-menu--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb:active,.fd-menu--overflow::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu--overflow .fd-menu__list{box-shadow:none}.fd-menu--overflow .fd-menu__item:first-child{border-top-right-radius:0}.fd-menu--overflow .fd-menu__item:first-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:first-child{border-top-left-radius:0;border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-of-type[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--compact .fd-menu__link{height:2rem;padding:.375rem .75rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-after,.fd-menu--compact .fd-menu__link .fd-menu__addon-before{min-width:2rem;width:2rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-before{margin:0 0 0 -.5rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-after,.fd-menu--compact .fd-menu__link[dir=rtl] .fd-menu__addon-before,[dir=rtl] .fd-menu--compact .fd-menu__link .fd-menu__addon-before{margin:0 -.75rem 0 0}.fd-menu--compact .fd-menu__link[dir=rtl] .fd-menu__addon-after,[dir=rtl] .fd-menu--compact .fd-menu__link .fd-menu__addon-after{margin:0 0 0 -.5rem}.fd-menu--mobile{max-width:100%;width:100%}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{-webkit-box-shadow:none;border-radius:0;box-shadow:none;margin:0;position:static}.fd-menu--mobile .fd-menu__list .fd-menu__item,.fd-menu--mobile .fd-menu__sublist .fd-menu__item{border-radius:0}.fd-menu--mobile .fd-menu__list .fd-menu__link,.fd-menu--mobile .fd-menu__sublist .fd-menu__link{padding:.75rem 1rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-after,.fd-menu--mobile .fd-menu__list .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{min-width:2.75rem;width:2.75rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{margin:0 0 0 -1rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-after,.fd-menu--mobile .fd-menu__list[dir=rtl] .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist[dir=rtl] .fd-menu__addon-before,[dir=rtl] .fd-menu--mobile .fd-menu__list .fd-menu__addon-before,[dir=rtl] .fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{margin:0 -1rem 0 0}.fd-menu--mobile .fd-menu__list[dir=rtl] .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist[dir=rtl] .fd-menu__addon-after,[dir=rtl] .fd-menu--mobile .fd-menu__list .fd-menu__addon-after,[dir=rtl] .fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after{margin:0 0 0 -1rem}:host{display:inline}fd-menu .fd-menu__list,fd-menu .fd-menu__sublist{flex-wrap:nowrap}\n"], dependencies: [{ kind: "pipe", type: i6.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
225
233
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: MenuComponent, decorators: [{
226
234
  type: Component,
227
- args: [{ selector: 'fd-menu', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [MenuService, PopoverService, contentDensityObserverProviders()], template: "<ng-container #viewContainer></ng-container>\n\n<ng-template #menuRootTemplate>\n <nav\n class=\"fd-menu\"\n fdInitialFocus\n [enabled]=\"focusTrapped\"\n [id]=\"id\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"menu\"\n [class.fd-menu--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-menu--mobile]=\"mobile\"\n >\n <ul role=\"none\" class=\"fd-menu__list fd-menu__list--no-shadow\">\n <ng-content></ng-content>\n </ul>\n </nav>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.25.1-rc.16\n * Copyright (c) 2022 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-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{-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;line-height:var(--sapContent_LineHeight);margin:0;max-width:20rem;padding:0;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;-webkit-box-shadow:var(--sapContent_Shadow1);border:0;border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{box-shadow:none}.fd-menu__sublist{-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;left:100%;line-height:var(--sapContent_LineHeight);margin:.25rem 0 0 -.25rem;min-width:100%;padding:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;margin:.25rem -.25rem 0 0;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{flex-wrap:nowrap;overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow.is-focus,.fd-menu__list--overflow:focus{outline:none;z-index:5}.fd-menu__list--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb:active,.fd-menu__list--overflow::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu__separator{-webkit-box-sizing:border-box;background-color:var(--sapGroup_ContentBorderColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:.0625rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{box-sizing:inherit;font-size:inherit}.fd-menu__item{-webkit-box-sizing:border-box;background-color:var(--sapList_Background);border:0;border-radius:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{box-sizing:inherit;font-size:inherit}.fd-menu__item:first-child,.fd-menu__item:first-child .fd-menu__link:after{border-top-left-radius:var(--fdButton_Menu_Border_Radius);border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item:last-child,.fd-menu__item:last-child .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__link{-webkit-box-sizing:border-box;align-items:center;border:0;border-radius:inherit;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:2.75rem;line-height:var(--sapContent_LineHeight);margin:0;outline:none;padding:.75rem 1rem .75rem .75rem;text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{box-sizing:inherit;font-size:inherit}.fd-menu__link.is-focus:after,.fd-menu__link: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-menu__link.is-hover,.fd-menu__link:hover{background-color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{background-color:var(--sapList_SelectionBackgroundColor);border-bottom:.0625rem solid var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected .fd-menu__addon-after,.fd-menu__link.is-selected .fd-menu__addon-before,.fd-menu__link.is-selected .fd-menu__shortcut,.fd-menu__link[aria-selected=true] .fd-menu__addon-after,.fd-menu__link[aria-selected=true] .fd-menu__addon-before,.fd-menu__link[aria-selected=true] .fd-menu__shortcut{color:var(--sapContent_NonInteractiveIconColor)}.fd-menu__link.is-selected.is-hover:not(:active):not(.is-active),.fd-menu__link.is-selected:hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active):not(.is-active){background-color:var(--sapList_Hover_SelectionBackground)}.fd-menu__link.is-selected.is-focus,.fd-menu__link.is-selected:focus,.fd-menu__link[aria-selected=true].is-focus,.fd-menu__link[aria-selected=true]:focus{z-index:5}.fd-menu__link.is-selected.is-focus:after,.fd-menu__link.is-selected:focus:after,.fd-menu__link[aria-selected=true].is-focus:after,.fd-menu__link[aria-selected=true]:focus:after{bottom:.125rem}.fd-menu__link.is-active,.fd-menu__link:active{background-color:var(--sapList_Active_Background);color:var(--sapList_Active_TextColor)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active .fd-menu__addon-after,.fd-menu__link.is-active .fd-menu__addon-before,.fd-menu__link.is-active .fd-menu__shortcut,.fd-menu__link.is-active .fd-menu__title,.fd-menu__link:active .fd-menu__addon-after,.fd-menu__link:active .fd-menu__addon-before,.fd-menu__link:active .fd-menu__shortcut,.fd-menu__link:active .fd-menu__title{color:var(--sapList_Active_TextColor)}.fd-menu__link.is-active.is-focus,.fd-menu__link.is-active:focus,.fd-menu__link:active.is-focus,.fd-menu__link:active:focus{outline-color:var(--fdMenu_Active_State_Focus);z-index:5}.fd-menu__link.is-disabled,.fd-menu__link:disabled,.fd-menu__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-menu__link.is-disabled.is-focus,.fd-menu__link.is-disabled:focus,.fd-menu__link:disabled.is-focus,.fd-menu__link:disabled:focus,.fd-menu__link[aria-disabled=true].is-focus,.fd-menu__link[aria-disabled=true]:focus{z-index:5}.fd-menu__link.is-disabled.is-focus:after,.fd-menu__link.is-disabled:focus:after,.fd-menu__link:disabled.is-focus:after,.fd-menu__link:disabled:focus:after,.fd-menu__link[aria-disabled=true].is-focus:after,.fd-menu__link[aria-disabled=true]:focus:after{display:none}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active){background-color:var(--sapList_SelectionBackgroundColor);border-bottom:.0625rem solid var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__addon-after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__addon-before,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__shortcut,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__addon-after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__addon-before,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__shortcut{color:var(--sapContent_NonInteractiveIconColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):hover:not(:active):not(.is-active){background-color:var(--sapList_Hover_SelectionBackground)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus:after{bottom:.125rem}.fd-menu__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapList_TextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{box-sizing:inherit;font-size:inherit}.fd-menu__addon-after,.fd-menu__addon-before{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontLargeSize);font-weight:400;height:1.25rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;min-width:2.25rem;padding:0;text-shadow:var(--fdMenu_Text_Shadow);width:2.25rem}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{box-sizing:inherit;font-size:inherit}.fd-menu__addon-after [class*=sap-icon],.fd-menu__addon-after[class*=sap-icon],.fd-menu__addon-before [class*=sap-icon],.fd-menu__addon-before[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;font-size:inherit;line-height:1}.fd-menu__addon-before{margin:0 0 0 -.75rem}.fd-menu__addon-after,.fd-menu__addon-before[dir=rtl],[dir=rtl] .fd-menu__addon-before{margin:0 -1rem 0 0}.fd-menu__addon-after[dir=rtl],[dir=rtl] .fd-menu__addon-after{margin:0 0 0 -.75rem}.fd-menu__addon-after--submenu{font-size:var(--sapFontSmallSize)}.fd-menu__addon-after--submenu:before{content:\"\\e066\"}.fd-menu__addon-after--submenu:before,.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\"\\e067\"}.fd-menu__shortcut{-webkit-box-sizing:border-box;-ms-flex-negative:0;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);display:flex;flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0 0 0 1rem;text-overflow:ellipsis;white-space:nowrap}.fd-menu__shortcut:after,.fd-menu__shortcut:before{box-sizing:inherit;font-size:inherit}.fd-menu__shortcut[dir=rtl],[dir=rtl] .fd-menu__shortcut{padding-left:0;padding-right:1rem}.fd-menu--overflow{-webkit-box-shadow:var(--sapContent_Shadow1);border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu--overflow.is-focus,.fd-menu--overflow:focus{outline:none;z-index:5}.fd-menu--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb:active,.fd-menu--overflow::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu--overflow .fd-menu__list{box-shadow:none}.fd-menu--overflow .fd-menu__item:first-child{border-top-right-radius:0}.fd-menu--overflow .fd-menu__item:first-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:first-child{border-top-left-radius:0;border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--overflow .fd-menu__item:last-child{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-child{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--compact .fd-menu__link{height:2rem;padding:.375rem .75rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-after,.fd-menu--compact .fd-menu__link .fd-menu__addon-before{min-width:2rem;width:2rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-before{margin:0 0 0 -.5rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-after,.fd-menu--compact .fd-menu__link[dir=rtl] .fd-menu__addon-before,[dir=rtl] .fd-menu--compact .fd-menu__link .fd-menu__addon-before{margin:0 -.75rem 0 0}.fd-menu--compact .fd-menu__link[dir=rtl] .fd-menu__addon-after,[dir=rtl] .fd-menu--compact .fd-menu__link .fd-menu__addon-after{margin:0 0 0 -.5rem}.fd-menu--mobile{max-width:100%;width:100%}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{-webkit-box-shadow:none;border-radius:0;box-shadow:none;margin:0;position:static}.fd-menu--mobile .fd-menu__list .fd-menu__item,.fd-menu--mobile .fd-menu__sublist .fd-menu__item{border-radius:0}.fd-menu--mobile .fd-menu__list .fd-menu__link,.fd-menu--mobile .fd-menu__sublist .fd-menu__link{padding:.75rem 1rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-after,.fd-menu--mobile .fd-menu__list .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{min-width:2.75rem;width:2.75rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{margin:0 0 0 -1rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-after,.fd-menu--mobile .fd-menu__list[dir=rtl] .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist[dir=rtl] .fd-menu__addon-before,[dir=rtl] .fd-menu--mobile .fd-menu__list .fd-menu__addon-before,[dir=rtl] .fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{margin:0 -1rem 0 0}.fd-menu--mobile .fd-menu__list[dir=rtl] .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist[dir=rtl] .fd-menu__addon-after,[dir=rtl] .fd-menu--mobile .fd-menu__list .fd-menu__addon-after,[dir=rtl] .fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after{margin:0 0 0 -1rem}:host{display:inline}fd-menu .fd-menu__list,fd-menu .fd-menu__sublist{flex-wrap:nowrap}.fd-popover--menu .fd-scrollbar{overflow:visible!important}\n"] }]
235
+ args: [{ selector: 'fd-menu', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [MenuService, PopoverService, contentDensityObserverProviders()], template: "<ng-container #viewContainer></ng-container>\n\n<ng-template #menuRootTemplate>\n <nav\n class=\"fd-menu\"\n [id]=\"id\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"menu\"\n [class.fd-menu--compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-menu--mobile]=\"mobile\"\n >\n <ul role=\"none\" class=\"fd-menu__list fd-menu__list--no-shadow\">\n <ng-content></ng-content>\n </ul>\n </nav>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.26.0-rc.27\n * Copyright (c) 2022 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-dialog__body{--fdButton_Menu_Border_Radius:0}.fd-menu{-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;line-height:var(--sapContent_LineHeight);margin:0;max-width:20rem;padding:0;width:-moz-fit-content;width:fit-content}.fd-menu:after,.fd-menu:before{box-sizing:inherit;font-size:inherit}.fd-menu__list,.fd-menu__sublist{-webkit-box-sizing:border-box;-ms-flex-wrap:wrap;-webkit-box-shadow:var(--sapContent_Shadow1);border:0;border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;flex-wrap:wrap;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);list-style:none;margin:0;padding:0}.fd-menu__list:after,.fd-menu__list:before,.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__list--no-shadow,.fd-menu__sublist--no-shadow{box-shadow:none}.fd-menu__sublist{-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;left:100%;line-height:var(--sapContent_LineHeight);margin:.25rem 0 0 -.25rem;min-width:100%;padding:0;position:absolute;top:0;z-index:2}.fd-menu__sublist:after,.fd-menu__sublist:before{box-sizing:inherit;font-size:inherit}.fd-menu__sublist[dir=rtl],[dir=rtl] .fd-menu__sublist{left:auto;margin:.25rem -.25rem 0 0;right:100%}.fd-menu__sublist[aria-hidden=true]{display:none}.fd-menu__list>.fd-menu__item{position:relative;width:100%}.fd-menu__list--overflow{flex-wrap:nowrap;overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow.is-focus,.fd-menu__list--overflow:focus{outline:none;z-index:5}.fd-menu__list--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu__list--overflow::-webkit-scrollbar-thumb:active,.fd-menu__list--overflow::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu__list--overflow::-webkit-scrollbar-corner,.fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu__list--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu__list--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu__separator{-webkit-box-sizing:border-box;background-color:var(--sapGroup_ContentBorderColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:.0625rem;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:100%}.fd-menu__separator:after,.fd-menu__separator:before{box-sizing:inherit;font-size:inherit}.fd-menu__item{-webkit-box-sizing:border-box;background-color:var(--sapList_Background);border:0;border-radius:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-menu__item:after,.fd-menu__item:before{box-sizing:inherit;font-size:inherit}.fd-menu__item:first-child,.fd-menu__item:first-child .fd-menu__link:after{border-top-left-radius:var(--fdButton_Menu_Border_Radius);border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__item:last-of-type,.fd-menu__item:last-of-type .fd-menu__link:after{border-bottom-left-radius:var(--fdButton_Menu_Border_Radius);border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu__link{-webkit-box-sizing:border-box;align-items:center;border:0;border-radius:inherit;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;height:2.75rem;line-height:var(--sapContent_LineHeight);margin:0;outline:none;padding:.75rem 1rem .75rem .75rem;text-decoration:none;width:100%}.fd-menu__link:after,.fd-menu__link:before{box-sizing:inherit;font-size:inherit}.fd-menu__link.is-focus:after,.fd-menu__link: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-menu__link.is-hover,.fd-menu__link:hover{background-color:var(--sapList_Hover_Background)}.fd-menu__link.is-selected,.fd-menu__link[aria-selected=true]{background-color:var(--sapList_SelectionBackgroundColor);border-bottom:.0625rem solid var(--sapList_SelectionBorderColor)}.fd-menu__link.is-selected .fd-menu__addon-after,.fd-menu__link.is-selected .fd-menu__addon-before,.fd-menu__link.is-selected .fd-menu__shortcut,.fd-menu__link[aria-selected=true] .fd-menu__addon-after,.fd-menu__link[aria-selected=true] .fd-menu__addon-before,.fd-menu__link[aria-selected=true] .fd-menu__shortcut{color:var(--sapContent_NonInteractiveIconColor)}.fd-menu__link.is-selected.is-hover:not(:active):not(.is-active),.fd-menu__link.is-selected:hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true].is-hover:not(:active):not(.is-active),.fd-menu__link[aria-selected=true]:hover:not(:active):not(.is-active){background-color:var(--sapList_Hover_SelectionBackground)}.fd-menu__link.is-selected.is-focus,.fd-menu__link.is-selected:focus,.fd-menu__link[aria-selected=true].is-focus,.fd-menu__link[aria-selected=true]:focus{z-index:5}.fd-menu__link.is-selected.is-focus:after,.fd-menu__link.is-selected:focus:after,.fd-menu__link[aria-selected=true].is-focus:after,.fd-menu__link[aria-selected=true]:focus:after{bottom:.125rem}.fd-menu__link.is-active,.fd-menu__link:active{background-color:var(--sapList_Active_Background);color:var(--sapList_Active_TextColor)}.fd-menu__link.is-active:after,.fd-menu__link:active:after{display:none}.fd-menu__link.is-active .fd-menu__addon-after,.fd-menu__link.is-active .fd-menu__addon-before,.fd-menu__link.is-active .fd-menu__shortcut,.fd-menu__link.is-active .fd-menu__title,.fd-menu__link:active .fd-menu__addon-after,.fd-menu__link:active .fd-menu__addon-before,.fd-menu__link:active .fd-menu__shortcut,.fd-menu__link:active .fd-menu__title{color:var(--sapList_Active_TextColor)}.fd-menu__link.is-active.is-focus,.fd-menu__link.is-active:focus,.fd-menu__link:active.is-focus,.fd-menu__link:active:focus{outline-color:var(--fdMenu_Active_State_Focus);z-index:5}.fd-menu__link.is-disabled,.fd-menu__link:disabled,.fd-menu__link[aria-disabled=true]{opacity:var(--sapContent_DisabledOpacity);pointer-events:none}.fd-menu__link.is-disabled.is-focus,.fd-menu__link.is-disabled:focus,.fd-menu__link:disabled.is-focus,.fd-menu__link:disabled:focus,.fd-menu__link[aria-disabled=true].is-focus,.fd-menu__link[aria-disabled=true]:focus{z-index:5}.fd-menu__link.is-disabled.is-focus:after,.fd-menu__link.is-disabled:focus:after,.fd-menu__link:disabled.is-focus:after,.fd-menu__link:disabled:focus:after,.fd-menu__link[aria-disabled=true].is-focus:after,.fd-menu__link[aria-disabled=true]:focus:after{display:none}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active){background-color:var(--sapList_SelectionBackgroundColor);border-bottom:.0625rem solid var(--sapList_SelectionBorderColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__addon-after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__addon-before,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active) .fd-menu__shortcut,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__addon-after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__addon-before,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active) .fd-menu__shortcut{color:var(--sapContent_NonInteractiveIconColor)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-hover:not(:active):not(.is-active),.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):hover:not(:active):not(.is-active){background-color:var(--sapList_Hover_SelectionBackground)}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus{z-index:5}.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child.is-expanded:not(:active):not(.is-active):focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active).is-focus:after,.fd-menu__link.has-child[aria-expanded=true]:not(:active):not(.is-active):focus:after{bottom:.125rem}.fd-menu__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapList_TextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;text-shadow:var(--fdMenu_Text_Shadow);white-space:nowrap;width:100%}.fd-menu__title:after,.fd-menu__title:before{box-sizing:inherit;font-size:inherit}.fd-menu__addon-after,.fd-menu__addon-before{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:transparent;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontLargeSize);font-weight:400;height:1.25rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;min-width:2.25rem;padding:0;text-shadow:var(--fdMenu_Text_Shadow);width:2.25rem}.fd-menu__addon-after:after,.fd-menu__addon-after:before,.fd-menu__addon-before:after,.fd-menu__addon-before:before{box-sizing:inherit;font-size:inherit}.fd-menu__addon-after [class*=sap-icon],.fd-menu__addon-after[class*=sap-icon],.fd-menu__addon-before [class*=sap-icon],.fd-menu__addon-before[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;font-size:inherit;line-height:1}.fd-menu__addon-before{margin:0 0 0 -.75rem}.fd-menu__addon-after,.fd-menu__addon-before[dir=rtl],[dir=rtl] .fd-menu__addon-before{margin:0 -1rem 0 0}.fd-menu__addon-after[dir=rtl],[dir=rtl] .fd-menu__addon-after{margin:0 0 0 -.75rem}.fd-menu__addon-after--submenu{font-size:var(--sapFontSmallSize)}.fd-menu__addon-after--submenu:before{content:\"\\e066\"}.fd-menu__addon-after--submenu:before,.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-menu__addon-after--submenu[dir=rtl]:before,[dir=rtl] .fd-menu__addon-after--submenu:before{content:\"\\e067\"}.fd-menu__shortcut{-webkit-box-sizing:border-box;-ms-flex-negative:0;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);display:flex;flex-shrink:0;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0 0 0 1rem;text-overflow:ellipsis;white-space:nowrap}.fd-menu__shortcut:after,.fd-menu__shortcut:before{box-sizing:inherit;font-size:inherit}.fd-menu__shortcut[dir=rtl],[dir=rtl] .fd-menu__shortcut{padding-left:0;padding-right:1rem}.fd-menu--overflow{-webkit-box-shadow:var(--sapContent_Shadow1);border-radius:var(--fdButton_Menu_Border_Radius);box-shadow:var(--sapContent_Shadow1);overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-menu--overflow.is-focus,.fd-menu--overflow:focus{outline:none;z-index:5}.fd-menu--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-menu--overflow::-webkit-scrollbar-thumb:active,.fd-menu--overflow::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-menu--overflow::-webkit-scrollbar-corner,.fd-menu--overflow::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-corner,.fd-menu--overflow[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-corner,[dir=rtl] .fd-menu--overflow::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-menu--overflow .fd-menu__list{box-shadow:none}.fd-menu--overflow .fd-menu__item:first-child{border-top-right-radius:0}.fd-menu--overflow .fd-menu__item:first-child[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:first-child{border-top-left-radius:0;border-top-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-right-radius:0}.fd-menu--overflow .fd-menu__item:last-of-type[dir=rtl],[dir=rtl] .fd-menu--overflow .fd-menu__item:last-of-type{border-bottom-left-radius:0;border-bottom-right-radius:var(--fdButton_Menu_Border_Radius)}.fd-menu--full-width{max-width:100%}.fd-menu--compact .fd-menu__link{height:2rem;padding:.375rem .75rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-after,.fd-menu--compact .fd-menu__link .fd-menu__addon-before{min-width:2rem;width:2rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-before{margin:0 0 0 -.5rem}.fd-menu--compact .fd-menu__link .fd-menu__addon-after,.fd-menu--compact .fd-menu__link[dir=rtl] .fd-menu__addon-before,[dir=rtl] .fd-menu--compact .fd-menu__link .fd-menu__addon-before{margin:0 -.75rem 0 0}.fd-menu--compact .fd-menu__link[dir=rtl] .fd-menu__addon-after,[dir=rtl] .fd-menu--compact .fd-menu__link .fd-menu__addon-after{margin:0 0 0 -.5rem}.fd-menu--mobile{max-width:100%;width:100%}.fd-menu--mobile .fd-menu__list,.fd-menu--mobile .fd-menu__sublist{-webkit-box-shadow:none;border-radius:0;box-shadow:none;margin:0;position:static}.fd-menu--mobile .fd-menu__list .fd-menu__item,.fd-menu--mobile .fd-menu__sublist .fd-menu__item{border-radius:0}.fd-menu--mobile .fd-menu__list .fd-menu__link,.fd-menu--mobile .fd-menu__sublist .fd-menu__link{padding:.75rem 1rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-after,.fd-menu--mobile .fd-menu__list .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{min-width:2.75rem;width:2.75rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{margin:0 0 0 -1rem}.fd-menu--mobile .fd-menu__list .fd-menu__addon-after,.fd-menu--mobile .fd-menu__list[dir=rtl] .fd-menu__addon-before,.fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist[dir=rtl] .fd-menu__addon-before,[dir=rtl] .fd-menu--mobile .fd-menu__list .fd-menu__addon-before,[dir=rtl] .fd-menu--mobile .fd-menu__sublist .fd-menu__addon-before{margin:0 -1rem 0 0}.fd-menu--mobile .fd-menu__list[dir=rtl] .fd-menu__addon-after,.fd-menu--mobile .fd-menu__sublist[dir=rtl] .fd-menu__addon-after,[dir=rtl] .fd-menu--mobile .fd-menu__list .fd-menu__addon-after,[dir=rtl] .fd-menu--mobile .fd-menu__sublist .fd-menu__addon-after{margin:0 0 0 -1rem}:host{display:inline}fd-menu .fd-menu__list,fd-menu .fd-menu__sublist{flex-wrap:nowrap}\n"] }]
228
236
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DialogConfig, decorators: [{
229
237
  type: Optional
230
238
  }] }, { type: i0.Renderer2 }, { type: i2.MenuService }, { type: i0.ChangeDetectorRef }, { type: i3.PopoverService }, { type: i0.Injector }, { type: i0.ViewContainerRef }, { type: i4.DynamicComponentService, decorators: [{
231
239
  type: Optional
232
- }] }, { type: i5.ContentDensityObserver }]; }, propDecorators: { setMobileMode: [{
233
- type: Input,
234
- args: ['mobile']
240
+ }] }, { type: i5.ContentDensityObserver }]; }, propDecorators: { mobile: [{
241
+ type: Input
235
242
  }], disabled: [{
236
243
  type: Input
237
244
  }], focusTrapped: [{
238
245
  type: Input
246
+ }], focusAutoCapture: [{
247
+ type: Input
248
+ }], tabbableScrollbar: [{
249
+ type: Input
239
250
  }], openOnHoverTime: [{
240
251
  type: Input
241
252
  }], mobileConfig: [{
@@ -248,11 +259,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
248
259
  type: Input
249
260
  }], activePath: [{
250
261
  type: Output
251
- }], menuRootTemplate: [{
262
+ }], _menuRootTemplate: [{
252
263
  type: ViewChild,
253
264
  args: ['menuRootTemplate']
254
- }], menuItems: [{
265
+ }], _menuItems: [{
255
266
  type: ContentChildren,
256
- args: [MenuItemComponent, { descendants: true }]
267
+ args: [MenuItemComponent]
257
268
  }] } });
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9tZW51L21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbWVudS9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixRQUFRLEVBQ1IsS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFpQixNQUFNLGtCQUFrQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7OztBQUVoSCxJQUFJLFlBQVksR0FB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QUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN0QztJQUNMLENBQUM7OzBHQWxSUSxhQUFhOzhGQUFiLGFBQWEsMlRBRlgsQ0FBQyxXQUFXLEVBQUUsY0FBYyxFQUFFLCtCQUErQixFQUFFLENBQUMsb0RBbUQxRCxpQkFBaUIsNkxDcEd0QywrbEJBbUJBOzJGRGdDYSxhQUFhO2tCQVJ6QixTQUFTOytCQUNJLFNBQVMsaUJBR0osaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUUsK0JBQStCLEVBQUUsQ0FBQzs7MEJBbUZ0RSxRQUFROzswQkFPUixRQUFRO2lGQWpGVCxhQUFhO3NCQURoQixLQUFLO3VCQUFDLFFBQVE7Z0JBUWYsUUFBUTtzQkFEUCxLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFLTixlQUFlO3NCQURkLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixjQUFjO3NCQURiLEtBQUs7Z0JBS04sRUFBRTtzQkFERCxLQUFLO2dCQUtHLFVBQVU7c0JBRGxCLE1BQU07Z0JBS1AsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUs3QixTQUFTO3NCQURSLGVBQWU7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbXBvbmVudFJlZixcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEeW5hbWljQ29tcG9uZW50U2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5pbXBvcnQgeyBEaWFsb2dDb25maWcgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcbmltcG9ydCB7IE1vYmlsZU1vZGVDb25maWcgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbW9iaWxlLW1vZGUnO1xuaW1wb3J0IHsgQmFzZVBvcG92ZXJDbGFzcywgUG9wb3ZlclNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcG9wb3Zlcic7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuXG5pbXBvcnQgeyBNZW51TW9iaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9tZW51LW1vYmlsZS9tZW51LW1vYmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVudU1vYmlsZU1vZHVsZSB9IGZyb20gJy4vbWVudS1tb2JpbGUvbWVudS1tb2JpbGUubW9kdWxlJztcbmltcG9ydCB7IE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgTUVOVV9DT01QT05FTlQsIE1lbnVJbnRlcmZhY2UgfSBmcm9tICcuL21lbnUuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9tZW51LWl0ZW0vbWVudS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU9ic2VydmVyLCBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5cbmxldCBtZW51VW5pcXVlSWQgPSAwO1xuXG4vKipcbiAqIFRoZSBjb21wb25lbnQgdGhhdCByZXByZXNlbnRzIGEgbWVudS5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ21lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW01lbnVTZXJ2aWNlLCBQb3BvdmVyU2VydmljZSwgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycygpXVxufSlcbmV4cG9ydCBjbGFzcyBNZW51Q29tcG9uZW50XG4gICAgZXh0ZW5kcyBCYXNlUG9wb3ZlckNsYXNzXG4gICAgaW1wbGVtZW50cyBNZW51SW50ZXJmYWNlLCBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdFxue1xuICAgIC8qKiBTZXQgbWVudSBpbiBtb2JpbGUgbW9kZSAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdtb2JpbGUnKVxuICAgIHNldCBzZXRNb2JpbGVNb2RlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMubW9iaWxlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX21lbnVTZXJ2aWNlLnNldE1lbnVNb2RlKHRoaXMubW9iaWxlKTtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBpcyBkaXNhYmxlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBzaG91bGQgYmUgZm9jdXNUcmFwcGVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZm9jdXNUcmFwcGVkID0gdHJ1ZTtcblxuICAgIC8qKiBPcGVuIHN1Ym1lbnUgb24gaG92ZXIgYWZ0ZXIgZ2l2ZW4gbWlsbGlzZWNvbmRzICovXG4gICAgQElucHV0KClcbiAgICBvcGVuT25Ib3ZlclRpbWUgPSAwO1xuXG4gICAgLyoqIERpc3BsYXkgbWVudSB3aXRob3V0IGludGVncmF0ZWQgcG9wb3ZlciAqL1xuICAgIEBJbnB1dCgpXG4gICAgbW9iaWxlQ29uZmlnOiBNb2JpbGVNb2RlQ29uZmlnID0geyBjYW5jZWxCdXR0b25UZXh0OiAnQ2FuY2VsJyB9O1xuXG4gICAgLyoqIEFyaWEtbGFiZWwgZm9yIG5hdmlnYXRpb24gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBBcmlhLUxhYmVsbGVkYnkgZm9yIGVsZW1lbnQgZGVzY3JpYmluZyBuYXZpZ2F0aW9uICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWxsZWRieTogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBJZCBvZiB0aGUgY29udHJvbC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlkID0gYGZkLW1lbnUtJHttZW51VW5pcXVlSWQrK31gO1xuXG4gICAgLyoqIEVtaXRzIGFycmF5IG9mIGFjdGl2ZSBtZW51IGl0ZW1zICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYWN0aXZlUGF0aDogRXZlbnRFbWl0dGVyPE1lbnVJdGVtQ29tcG9uZW50W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxNZW51SXRlbUNvbXBvbmVudFtdPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gUmVmZXJlbmNlIHRvIHRoZSBtZW51IHJvb3QgdGVtcGxhdGUgKi9cbiAgICBAVmlld0NoaWxkKCdtZW51Um9vdFRlbXBsYXRlJylcbiAgICBtZW51Um9vdFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqIEBoaWRkZW4gUmVmZXJlbmNlIHRvIGFsbCBtZW51IEl0ZW1zICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihNZW51SXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIG1lbnVJdGVtczogUXVlcnlMaXN0PE1lbnVJdGVtQ29tcG9uZW50PjtcblxuICAgIC8qKiBXaGV0aGVyIHVzZSBtZW51IGluIG1vYmlsZSBtb2RlICovXG4gICAgbW9iaWxlID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiBXaGV0aGVyIFBvcG92ZXIgd2l0aCB0aGUgbWVudSBpcyBvcGVuZWQgKi9cbiAgICBpc09wZW4gPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuIFJlZmVyZW5jZSB0byBleHRlcm5hbCBtZW51IHRyaWdnZXIgKi9cbiAgICBwcml2YXRlIF9leHRlcm5hbFRyaWdnZXI6IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbW9iaWxlTW9kZUNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPE1lbnVNb2JpbGVDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jbGlja0V2ZW50TGlzdGVuZXI6IG51bGwgfCAoKCkgPT4gdm9pZCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgZ2V0IF9wb3BvdmVyQ29uZmlnKCk6IEJhc2VQb3BvdmVyQ2xhc3Mge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udGhpcyxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxCb2R5Q2xhc3M6ICh0aGlzLmFkZGl0aW9uYWxCb2R5Q2xhc3MgPz8gJycpICsgJyBmZC1wb3BvdmVyLS1tZW51J1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBwdWJsaWMgcmVhZG9ubHkgZGlhbG9nQ29uZmlnOiBEaWFsb2dDb25maWcsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3JlbmRlcmVkOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX21lbnVTZXJ2aWNlOiBNZW51U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9wb3BvdmVyU2VydmljZTogUG9wb3ZlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBfZHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxuICAgICAgICByZWFkb25seSBfY29udGVudERlbnNpdHlPYnNlcnZlcjogQ29udGVudERlbnNpdHlPYnNlcnZlclxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8qKiBrZWVwIGlzT3BlbiB1cCB0byBkYXRlICovXG4gICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLnN1YnNjcmliZSgoaXNPcGVuKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzT3BlbiA9IGlzT3BlbjtcbiAgICAgICAgICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgLy8gd2hlbiBwb3BvdmVyIGdvdCBjbG9zZWQgYnkgaXRzIG93biBtZWNoYW5pc20gKGUueC4gY2xpY2sgb3V0c2lkZSlcbiAgICAgICAgICAgICAgICAvLyB3ZSBuZWVkIHRvIGNsZWFuIHVwIG1lbnUgYXMgd2VsbFxuICAgICAgICAgICAgICAgIHRoaXMuX2NsZWFuVXBNZW51QWZ0ZXJDbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9tZW51U2VydmljZS5zZXRNZW51Um9vdCh0aGlzKTtcbiAgICAgICAgdGhpcy5fbGlzdGVuT25NZW51SXRlbXNDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbWVudVNlcnZpY2UuaXNNb2JpbGVNb2RlLnN1YnNjcmliZSgoaXNNb2JpbGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3NldHVwVmlldygpO1xuICAgICAgICAgICAgaWYgKGlzTW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgLy8gU2luY2UgaXQgaXMgbW9iaWxlIGl0J3MgbmVlZGVkIHRvIGRpc2FibGUgcG9wb3ZlclNlcnZpY2VcbiAgICAgICAgICAgICAgICB0aGlzLl9wb3BvdmVyU2VydmljZS5kZWFjdGl2YXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9tZW51U2VydmljZS5zZXRNZW51TW9kZSh0aGlzLm1vYmlsZSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGVzdHJveU1vYmlsZUNvbXBvbmVudCgpO1xuICAgICAgICB0aGlzLl9kZXN0cm95RXZlbnRMaXN0ZW5lcnMoKTtcbiAgICAgICAgdGhpcy5fbWVudVNlcnZpY2Uub25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fcG9wb3ZlclNlcnZpY2Uub25EZXN0cm95KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzZXQgdHJpZ2dlcih0cmlnZ2VyOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHRoaXMuX2V4dGVybmFsVHJpZ2dlciA9IHRyaWdnZXI7XG4gICAgICAgIHRoaXMuX3BvcG92ZXJTZXJ2aWNlLmluaXRpYWxpc2UodGhpcy5fZXh0ZXJuYWxUcmlnZ2VyKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveUV2ZW50TGlzdGVuZXJzKCk7XG4gICAgICAgIHRoaXMuX2xpc3Rlbk9uVHJpZ2dlclJlZkNsaWNrcygpO1xuICAgIH1cbiAgICBnZXQgdHJpZ2dlcigpOiBFbGVtZW50UmVmIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4dGVybmFsVHJpZ2dlcjtcbiAgICB9XG5cbiAgICAvKiogT3BlbnMgdGhlIG1lbnUgKi9cbiAgICBvcGVuKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQodGhpcy5pc09wZW4pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJTZXJ2aWNlLm9wZW4oKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogQ2xvc2VzIHRoZSBtZW51ICovXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQodGhpcy5pc09wZW4pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5tb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJTZXJ2aWNlLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY2xlYW5VcE1lbnVBZnRlckNsb3NlKCk7XG4gICAgICAgIHRoaXMuX2ZvY3VzVHJpZ2dlcigpO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogVG9nZ2xlcyBtZW51IG9wZW4vY2xvc2Ugc3RhdGUgKi9cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNPcGVuID8gdGhpcy5jbG9zZSgpIDogdGhpcy5vcGVuKCk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCBjYWxsZWQgdG8gcmVmcmVzaCBwb3NpdGlvbiBvZiBvcGVuZWQgcG9wb3ZlciAqL1xuICAgIHJlZnJlc2hQb3NpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcG9wb3ZlclNlcnZpY2UucmVmcmVzaFBvc2l0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jbGVhblVwTWVudUFmdGVyQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX21lbnVTZXJ2aWNlLnJlc2V0TWVudVN0YXRlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gU2VsZWN0IGFuZCBpbnN0YW50aWF0ZSBtZW51IHZpZXcgbW9kZSAqL1xuICAgIHByaXZhdGUgX3NldHVwVmlldygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXR1cE1vYmlsZU1vZGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NldHVwUG9wb3ZlclNlcnZpY2UoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXR1cFBvcG92ZXJTZXJ2aWNlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJTZXJ2aWNlLl9vbkxvYWQuc3Vic2NyaWJlKChlbGVtZW50UmVmKSA9PiB0aGlzLl9tYW5hZ2VLZXlib2FyZFN1cHBvcnQoZWxlbWVudFJlZikpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fcG9wb3ZlclNlcnZpY2UudGVtcGxhdGVDb250ZW50ID0gdGhpcy5tZW51Um9vdFRlbXBsYXRlO1xuICAgICAgICB0aGlzLl9wb3BvdmVyU2VydmljZS5pbml0aWFsaXNlKHRoaXMuX2V4dGVybmFsVHJpZ2dlciwgdGhpcy5fcG9wb3ZlckNvbmZpZyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9tYW5hZ2VLZXlib2FyZFN1cHBvcnQoZWxlbWVudFJlZjogRWxlbWVudFJlZik6IHZvaWQge1xuICAgICAgICB0aGlzLl9tZW51U2VydmljZS5hZGRLZXlib2FyZFN1cHBvcnQoZWxlbWVudFJlZik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gT3BlbiBNZW51IGluIG1vYmlsZSBtb2RlICovXG4gICAgcHJpdmF0ZSBhc3luYyBfc2V0dXBNb2JpbGVNb2RlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1FTlVfQ09NUE9ORU5ULCB1c2VWYWx1ZTogdGhpcyB9XSxcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5faW5qZWN0b3JcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fbW9iaWxlTW9kZUNvbXBvbmVudFJlZiA9IGF3YWl0IHRoaXMuX2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlLmNyZWF0ZUR5bmFtaWNNb2R1bGUoXG4gICAgICAgICAgICB0aGlzLm1lbnVSb290VGVtcGxhdGUsXG4gICAgICAgICAgICBNZW51TW9iaWxlTW9kdWxlLFxuICAgICAgICAgICAgTWVudU1vYmlsZUNvbXBvbmVudCxcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICBpbmplY3RvclxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX2xpc3Rlbk9uVHJpZ2dlclJlZkNsaWNrcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIExpc3RlbiBvbiBtZW51IGl0ZW1zIGNoYW5nZSBhbmQgcmVidWlsZCBtZW51ICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuT25NZW51SXRlbXNDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKHRoaXMubWVudUl0ZW1zLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMuX21lbnVTZXJ2aWNlLnJlYnVpbGRNZW51KCkpKTtcbiAgICAgICAgdGhpcy5tZW51SXRlbXMuZm9yRWFjaCgobSkgPT4ge1xuICAgICAgICAgICAgaWYgKG0uc3VibWVudSAmJiBtLnN1Ym1lbnUubWVudUl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQobS5zdWJtZW51Lm1lbnVJdGVtcy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9tZW51U2VydmljZS5yZWJ1aWxkTWVudSgpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBUaGlzIGlzIGdvaW5nIHRvIGJlIHJlbW92ZWQgaW4gZmVhdHVyZSwgb24gZGlhbG9nIGFuZCBkeW5hbWljIHNlcnZpY2UgY29tcG9uZW50IHJlZmFjdG9yXG4gICAgICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuT25UcmlnZ2VyUmVmQ2xpY2tzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZXN0cm95RXZlbnRMaXN0ZW5lcnMoKTtcbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlciAmJiB0aGlzLm1vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5fY2xpY2tFdmVudExpc3RlbmVyID0gdGhpcy5fcmVuZGVyZWQubGlzdGVuKHRoaXMudHJpZ2dlci5uYXRpdmVFbGVtZW50LCAnY2xpY2snLCAoKSA9PiB0aGlzLnRvZ2dsZSgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBUaGlzIGlzIGdvaW5nIHRvIGJlIHJlbW92ZWQgaW4gZmVhdHVyZSwgb24gZGlhbG9nIGFuZCBkeW5hbWljIHNlcnZpY2UgY29tcG9uZW50IHJlZmFjdG9yXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZGVzdHJveUV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY2xpY2tFdmVudExpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLl9jbGlja0V2ZW50TGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMuX2NsaWNrRXZlbnRMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Rlc3Ryb3lNb2JpbGVDb21wb25lbnQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9tb2JpbGVNb2RlQ29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICB0aGlzLl9tb2JpbGVNb2RlQ29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZm9jdXNUcmlnZ2VyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb2N1c1RyYXBwZWQgJiYgdGhpcy50cmlnZ2VyKSB7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXIubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAjdmlld0NvbnRhaW5lcj48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNtZW51Um9vdFRlbXBsYXRlPlxuICAgIDxuYXZcbiAgICAgICAgY2xhc3M9XCJmZC1tZW51XCJcbiAgICAgICAgZmRJbml0aWFsRm9jdXNcbiAgICAgICAgW2VuYWJsZWRdPVwiZm9jdXNUcmFwcGVkXCJcbiAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZGJ5XCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICByb2xlPVwibWVudVwiXG4gICAgICAgIFtjbGFzcy5mZC1tZW51LS1jb21wYWN0XT1cIl9jb250ZW50RGVuc2l0eU9ic2VydmVyLmlzQ29tcGFjdCQgfCBhc3luY1wiXG4gICAgICAgIFtjbGFzcy5mZC1tZW51LS1tb2JpbGVdPVwibW9iaWxlXCJcbiAgICA+XG4gICAgICAgIDx1bCByb2xlPVwibm9uZVwiIGNsYXNzPVwiZmQtbWVudV9fbGlzdCBmZC1tZW51X19saXN0LS1uby1zaGFkb3dcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC91bD5cbiAgICA8L25hdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9tZW51L21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbWVudS9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixRQUFRLEVBQ1IsS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFpQixNQUFNLGtCQUFrQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hILE9BQU8sRUFBZ0IscUJBQXFCLEVB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QUVELGNBQWM7SUFDTixhQUFhO1FBQ2pCLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQzs7MEdBcFNRLGFBQWE7OEZBQWIsYUFBYSwrV0FGWCxDQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUUsK0JBQStCLEVBQUUsQ0FBQyxxREFnRTFELGlCQUFpQiwyS0NsSHRDLG1pQkFpQkE7MkZEbUNhLGFBQWE7a0JBUnpCLFNBQVM7K0JBQ0ksU0FBUyxpQkFHSixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsV0FBVyxFQUFFLGNBQWMsRUFBRSwrQkFBK0IsRUFBRSxDQUFDOzswQkE2RnRFLFFBQVE7OzBCQU9SLFFBQVE7aUZBNUZULE1BQU07c0JBRFQsS0FBSztnQkFXTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxLQUFLO2dCQVFOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUtOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFLTixlQUFlO3NCQURkLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFLTixjQUFjO3NCQURiLEtBQUs7Z0JBS04sRUFBRTtzQkFERCxLQUFLO2dCQUtHLFVBQVU7c0JBRGxCLE1BQU07Z0JBS1AsaUJBQWlCO3NCQURoQixTQUFTO3VCQUFDLGtCQUFrQjtnQkFLN0IsVUFBVTtzQkFEVCxlQUFlO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb21wb25lbnRSZWYsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRHluYW1pY0NvbXBvbmVudFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgRGlhbG9nQ29uZmlnIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2RpYWxvZyc7XG5pbXBvcnQgeyBNb2JpbGVNb2RlQ29uZmlnIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21vYmlsZS1tb2RlJztcbmltcG9ydCB7IEJhc2VQb3BvdmVyQ2xhc3MsIFBvcG92ZXJTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2hhcmVkJztcblxuaW1wb3J0IHsgTWVudU1vYmlsZUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS1tb2JpbGUvbWVudS1tb2JpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1lbnVNb2JpbGVNb2R1bGUgfSBmcm9tICcuL21lbnUtbW9iaWxlL21lbnUtbW9iaWxlLm1vZHVsZSc7XG5pbXBvcnQgeyBNZW51U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7IE1FTlVfQ09NUE9ORU5ULCBNZW51SW50ZXJmYWNlIH0gZnJvbSAnLi9tZW51LmludGVyZmFjZSc7XG5pbXBvcnQgeyBNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS1pdGVtL21lbnUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlPYnNlcnZlciwgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuXG5sZXQgbWVudVVuaXF1ZUlkID0gMDtcblxuLyoqXG4gKiBUaGUgY29tcG9uZW50IHRoYXQgcmVwcmVzZW50cyBhIG1lbnUuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtbWVudScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydtZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtNZW51U2VydmljZSwgUG9wb3ZlclNlcnZpY2UsIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoKV1cbn0pXG5leHBvcnQgY2xhc3MgTWVudUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQmFzZVBvcG92ZXJDbGFzc1xuICAgIGltcGxlbWVudHMgTWVudUludGVyZmFjZSwgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXRcbntcbiAgICAvKiogU2V0IG1lbnUgaW4gbW9iaWxlIG1vZGUgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBtb2JpbGUodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9tb2JpbGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgICAgICB0aGlzLl9tZW51U2VydmljZS5zZXRNZW51TW9kZSh0aGlzLm1vYmlsZSk7XG4gICAgfVxuICAgIGdldCBtb2JpbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tb2JpbGU7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgaXMgZGlzYWJsZWQuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGJlIGZvY3VzVHJhcHBlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZvY3VzVHJhcHBlZCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBhdXRvbWF0aWNhbGx5IG1vdmUgZm9jdXMgaW50byB0aGUgdHJhcHBlZCByZWdpb24gdXBvblxuICAgICAqIGluaXRpYWxpemF0aW9uIGFuZCByZXR1cm4gZm9jdXMgdG8gdGhlIHByZXZpb3VzIGFjdGl2ZUVsZW1lbnQgdXBvbiBkZXN0cnVjdGlvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGZvY3VzQXV0b0NhcHR1cmUgPSB0cnVlO1xuXG4gICAgLyoqIFNob3VsZCBmZC1zY3JvbGxiYXIgaGF2ZSB0YWJpbmRleCovXG4gICAgQElucHV0KClcbiAgICB0YWJiYWJsZVNjcm9sbGJhciA9IGZhbHNlO1xuXG4gICAgLyoqIE9wZW4gc3VibWVudSBvbiBob3ZlciBhZnRlciBnaXZlbiBtaWxsaXNlY29uZHMgKi9cbiAgICBASW5wdXQoKVxuICAgIG9wZW5PbkhvdmVyVGltZSA9IDA7XG5cbiAgICAvKiogRGlzcGxheSBtZW51IHdpdGhvdXQgaW50ZWdyYXRlZCBwb3BvdmVyICovXG4gICAgQElucHV0KClcbiAgICBtb2JpbGVDb25maWc6IE1vYmlsZU1vZGVDb25maWcgPSB7IGNhbmNlbEJ1dHRvblRleHQ6ICdDYW5jZWwnIH07XG5cbiAgICAvKiogQXJpYS1sYWJlbCBmb3IgbmF2aWdhdGlvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEFyaWEtTGFiZWxsZWRieSBmb3IgZWxlbWVudCBkZXNjcmliaW5nIG5hdmlnYXRpb24gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbGxlZGJ5OiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIElkIG9mIHRoZSBjb250cm9sLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgaWQgPSBgZmQtbWVudS0ke21lbnVVbmlxdWVJZCsrfWA7XG5cbiAgICAvKiogRW1pdHMgYXJyYXkgb2YgYWN0aXZlIG1lbnUgaXRlbXMgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBhY3RpdmVQYXRoID0gbmV3IEV2ZW50RW1pdHRlcjxNZW51SXRlbUNvbXBvbmVudFtdPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gUmVmZXJlbmNlIHRvIHRoZSBtZW51IHJvb3QgdGVtcGxhdGUgKi9cbiAgICBAVmlld0NoaWxkKCdtZW51Um9vdFRlbXBsYXRlJylcbiAgICBfbWVudVJvb3RUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBAaGlkZGVuIFJlZmVyZW5jZSB0byBhbGwgbWVudSBJdGVtcyAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTWVudUl0ZW1Db21wb25lbnQpXG4gICAgX21lbnVJdGVtczogUXVlcnlMaXN0PE1lbnVJdGVtQ29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuIFdoZXRoZXIgdXNlIGEgbWVudSBpbiBtb2JpbGUgbW9kZSAqL1xuICAgIHByaXZhdGUgX21vYmlsZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gUmVmZXJlbmNlIHRvIGV4dGVybmFsIG1lbnUgdHJpZ2dlciAqL1xuICAgIHByaXZhdGUgX2V4dGVybmFsVHJpZ2dlcjogRWxlbWVudFJlZjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbW9iaWxlTW9kZUNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPE1lbnVNb2JpbGVDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jbGlja0V2ZW50TGlzdGVuZXI6IG51bGwgfCAoKCkgPT4gdm9pZCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgZ2V0IF9wb3BvdmVyQ29uZmlnKCk6IEJhc2VQb3BvdmVyQ2xhc3Mge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udGhpcyxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxCb2R5Q2xhc3M6ICh0aGlzLmFkZGl0aW9uYWxCb2R5Q2xhc3MgPz8gJycpICsgJyBmZC1wb3BvdmVyLS1tZW51J1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBwdWJsaWMgcmVhZG9ubHkgZGlhbG9nQ29uZmlnOiBEaWFsb2dDb25maWcsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3JlbmRlcmVkOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX21lbnVTZXJ2aWNlOiBNZW51U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9wb3BvdmVyU2VydmljZTogUG9wb3ZlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBfZHluYW1pY0NvbXBvbmVudFNlcnZpY2U6IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxuICAgICAgICByZWFkb25seSBfY29udGVudERlbnNpdHlPYnNlcnZlcjogQ29udGVudERlbnNpdHlPYnNlcnZlclxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8qKiBrZWVwIGlzT3BlbiB1cCB0byBkYXRlICovXG4gICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLnN1YnNjcmliZSgoaXNPcGVuKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzT3BlbiA9IGlzT3BlbjtcblxuICAgICAgICAgICAgLy8gd2hlbiBwb3BvdmVyIGdvdCBjbG9zZWQgYnkgaXRzIG93biBtZWNoYW5pc20gKGUueC4gY2xpY2sgb3V0c2lkZSlcbiAgICAgICAgICAgIC8vIHdlIG5lZWQgdG8gY2xlYW4gdXAgYSBtZW51IGFzIHdlbGxcbiAgICAgICAgICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2xlYW5VcE1lbnVBZnRlckNsb3NlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbWVudVNlcnZpY2Uuc2V0TWVudUNvbXBvbmVudCh0aGlzKTtcbiAgICAgICAgdGhpcy5fbGlzdGVuT25NZW51SXRlbXNDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbWVudVNlcnZpY2UuaXNNb2JpbGVNb2RlLnN1YnNjcmliZSgoaXNNb2JpbGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3NldHVwVmlldygpO1xuXG4gICAgICAgICAgICAvLyBTaW5jZSBpdCBpcyBtb2JpbGUsIGl0J3MgbmVlZGVkIHRvIGRpc2FibGUgcG9wb3ZlclNlcnZpY2VcbiAgICAgICAgICAgIGlmIChpc01vYmlsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJTZXJ2aWNlLmRlYWN0aXZhdGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fbWVudVNlcnZpY2Uuc2V0TWVudU1vZGUodGhpcy5tb2JpbGUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3lNb2JpbGVDb21wb25lbnQoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveUV2ZW50TGlzdGVuZXJzKCk7XG4gICAgICAgIHRoaXMuX21lbnVTZXJ2aWNlLm9uRGVzdHJveSgpO1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX3BvcG92ZXJTZXJ2aWNlLm9uRGVzdHJveSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2V0IHRyaWdnZXIodHJpZ2dlcjogRWxlbWVudFJlZikge1xuICAgICAgICB0aGlzLl9leHRlcm5hbFRyaWdnZXIgPSB0cmlnZ2VyO1xuICAgICAgICB0aGlzLl9wb3BvdmVyU2VydmljZS5pbml0aWFsaXNlKHRoaXMuX2V4dGVybmFsVHJpZ2dlcik7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3lFdmVudExpc3RlbmVycygpO1xuICAgICAgICB0aGlzLl9saXN0ZW5PblRyaWdnZXJSZWZDbGlja3MoKTtcbiAgICB9XG4gICAgZ2V0IHRyaWdnZXIoKTogRWxlbWVudFJlZiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9leHRlcm5hbFRyaWdnZXI7XG4gICAgfVxuXG4gICAgLyoqIE9wZW5zIHRoZSBtZW51ICovXG4gICAgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLmlzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmlzT3BlbkNoYW5nZS5lbWl0KHRoaXMuaXNPcGVuKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJTZXJ2aWNlLm9wZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKiBDbG9zZXMgdGhlIG1lbnUgKi9cbiAgICBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5pc09wZW5DaGFuZ2UuZW1pdCh0aGlzLmlzT3Blbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9wb3BvdmVyU2VydmljZS5jbG9zZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2xlYW5VcE1lbnVBZnRlckNsb3NlKCk7XG4gICAgICAgIHRoaXMuX2ZvY3VzVHJpZ2dlcigpO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogVG9nZ2xlcyBtZW51IG9wZW4vY2xvc2Ugc3RhdGUgKi9cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNPcGVuID8gdGhpcy5jbG9zZSgpIDogdGhpcy5vcGVuKCk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCBjYWxsZWQgdG8gcmVmcmVzaCBwb3NpdGlvbiBvZiBvcGVuZWQgcG9wb3ZlciAqL1xuICAgIHJlZnJlc2hQb3NpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcG9wb3ZlclNlcnZpY2UucmVmcmVzaFBvc2l0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jbGVhblVwTWVudUFmdGVyQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX21lbnVTZXJ2aWNlLnJlc2V0TWVudVN0YXRlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gU2VsZWN0IGFuZCBpbnN0YW50aWF0ZSBtZW51IHZpZXcgbW9kZSAqL1xuICAgIHByaXZhdGUgX3NldHVwVmlldygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLl9zZXR1cE1vYmlsZU1vZGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NldHVwUG9wb3ZlclNlcnZpY2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldHVwUG9wb3ZlclNlcnZpY2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgdGhpcy5fcG9wb3ZlclNlcnZpY2UuX29uTG9hZC5zdWJzY3JpYmUoKGVsZW1lbnRSZWYpID0+IHRoaXMuX21lbnVTZXJ2aWNlLmFkZEtleWJvYXJkU3VwcG9ydChlbGVtZW50UmVmKSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9wb3BvdmVyU2VydmljZS50ZW1wbGF0ZUNvbnRlbnQgPSB0aGlzLl9tZW51Um9vdFRlbXBsYXRlO1xuICAgICAgICB0aGlzLl9wb3BvdmVyU2VydmljZS5pbml0aWFsaXNlKHRoaXMuX2V4dGVybmFsVHJpZ2dlciwgdGhpcy5fcG9wb3ZlckNvbmZpZyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gT3BlbiBNZW51IGluIG1vYmlsZSBtb2RlICovXG4gICAgcHJpdmF0ZSBhc3luYyBfc2V0dXBNb2JpbGVNb2RlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1FTlVfQ09NUE9ORU5ULCB1c2VWYWx1ZTogdGhpcyB9XSxcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5faW5qZWN0b3JcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fbW9iaWxlTW9kZUNvbXBvbmVudFJlZiA9IGF3YWl0IHRoaXMuX2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlLmNyZWF0ZUR5bmFtaWNNb2R1bGUoXG4gICAgICAgICAgICB0aGlzLl9tZW51Um9vdFRlbXBsYXRlLFxuICAgICAgICAgICAgTWVudU1vYmlsZU1vZHVsZSxcbiAgICAgICAgICAgIE1lbnVNb2JpbGVDb21wb25lbnQsXG4gICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgaW5qZWN0b3JcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9saXN0ZW5PblRyaWdnZXJSZWZDbGlja3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBMaXN0ZW4gb24gbWVudSBpdGVtcyBjaGFuZ2UgYW5kIHJlYnVpbGQgbWVudSAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uTWVudUl0ZW1zQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZCh0aGlzLl9tZW51SXRlbXMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fbWVudVNlcnZpY2UucmVidWlsZE1lbnUoKSkpO1xuXG4gICAgICAgIC8vIFdoZXRoZXIgbWVudSBoYXZlIHN1Ym1lbnUgb3Igbm90LlxuICAgICAgICBsZXQgaXNTdWJtZW51ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX21lbnVJdGVtcy5mb3JFYWNoKChtZW51SXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKG1lbnVJdGVtLnN1Ym1lbnU/Lm1lbnVJdGVtcykge1xuICAgICAgICAgICAgICAgIGlzU3VibWVudSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgICAgICAgICAgICAgIG1lbnVJdGVtLnN1Ym1lbnUuX21lbnVJdGVtc0NoYW5nZSQuc3Vic2NyaWJlKCgpID0+IHRoaXMuX21lbnVTZXJ2aWNlLnJlYnVpbGRNZW51KCkpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZGlzYWJsZVNjcm9sbGJhciA9IGlzU3VibWVudTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVGhpcyBpcyBnb2luZyB0byBiZSByZW1vdmVkIGluIGZlYXR1cmUsIG9uIGRpYWxvZyBhbmQgZHluYW1pYyBzZXJ2aWNlIGNvbXBvbmVudCByZWZhY3RvclxuICAgICAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uVHJpZ2dlclJlZkNsaWNrcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGVzdHJveUV2ZW50TGlzdGVuZXJzKCk7XG5cbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlciAmJiB0aGlzLm1vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5fY2xpY2tFdmVudExpc3RlbmVyID0gdGhpcy5fcmVuZGVyZWQubGlzdGVuKHRoaXMudHJpZ2dlci5uYXRpdmVFbGVtZW50LCAnY2xpY2snLCAoKSA9PiB0aGlzLnRvZ2dsZSgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBUaGlzIGlzIGdvaW5nIHRvIGJlIHJlbW92ZWQgaW4gZmVhdHVyZSwgb24gZGlhbG9nIGFuZCBkeW5hbWljIHNlcnZpY2UgY29tcG9uZW50IHJlZmFjdG9yXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZGVzdHJveUV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY2xpY2tFdmVudExpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLl9jbGlja0V2ZW50TGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMuX2NsaWNrRXZlbnRMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Rlc3Ryb3lNb2JpbGVDb21wb25lbnQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9tb2JpbGVNb2RlQ29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICB0aGlzLl9tb2JpbGVNb2RlQ29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZm9jdXNUcmlnZ2VyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb2N1c1RyYXBwZWQgJiYgdGhpcy50cmlnZ2VyKSB7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXIubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAjdmlld0NvbnRhaW5lcj48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNtZW51Um9vdFRlbXBsYXRlPlxuICAgIDxuYXZcbiAgICAgICAgY2xhc3M9XCJmZC1tZW51XCJcbiAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZGJ5XCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgICByb2xlPVwibWVudVwiXG4gICAgICAgIFtjbGFzcy5mZC1tZW51LS1jb21wYWN0XT1cIl9jb250ZW50RGVuc2l0eU9ic2VydmVyLmlzQ29tcGFjdCQgfCBhc3luY1wiXG4gICAgICAgIFtjbGFzcy5mZC1tZW51LS1tb2JpbGVdPVwibW9iaWxlXCJcbiAgICA+XG4gICAgICAgIDx1bCByb2xlPVwibm9uZVwiIGNsYXNzPVwiZmQtbWVudV9fbGlzdCBmZC1tZW51X19saXN0LS1uby1zaGFkb3dcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC91bD5cbiAgICA8L25hdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=