@flywheel-io/vision 2.0.0-beta-4 → 2.0.0-beta.11

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 (287) hide show
  1. package/assets/fonts/Flywheel-Vision-Icons.svg +26 -0
  2. package/assets/fonts/Flywheel-Vision-Icons.ttf +0 -0
  3. package/assets/fonts/Flywheel-Vision-Icons.woff +0 -0
  4. package/assets/svg/arrow-redo.svg +4 -0
  5. package/assets/svg/arrow-undo.svg +4 -0
  6. package/assets/svg/arrow-up-high-priority.svg +6 -0
  7. package/assets/svg/arrow-up-low-priority.svg +6 -0
  8. package/assets/svg/certificate.svg +4 -0
  9. package/assets/svg/check-mark-certificate.svg +4 -0
  10. package/assets/svg/document-file-checkmark-bottom-left.svg +4 -0
  11. package/assets/svg/folders-copy-expand-arrow-down.svg +6 -0
  12. package/assets/svg/folders-copy-expand-arrow-up.svg +6 -0
  13. package/assets/svg/monitor-computer.svg +4 -0
  14. package/assets/svg/server-databases-checkmark-user.svg +4 -0
  15. package/assets/svg/stop-minus.svg +4 -0
  16. package/assets/svg/user-profile-cards-pool.svg +4 -0
  17. package/components/alert/alert.component.d.ts +1 -1
  18. package/components/app-icon/app-icon.component.d.ts +1 -1
  19. package/components/avatar/avatar.component.d.ts +1 -1
  20. package/components/badge/badge.component.d.ts +1 -1
  21. package/components/breadcrumbs/crumb.component.d.ts +1 -1
  22. package/components/button/button.component.d.ts +1 -1
  23. package/components/button-group/button-group.component.d.ts +1 -1
  24. package/components/button-toggle/button-toggle-item/button-toggle-item.component.d.ts +1 -1
  25. package/components/button-toggle/button-toggle.component.d.ts +2 -1
  26. package/components/card/card-attribute/card-attribute.component.d.ts +1 -1
  27. package/components/card/card-author/card-author.component.d.ts +1 -1
  28. package/components/card/card-header/card-header.component.d.ts +1 -1
  29. package/components/card/card.component.d.ts +1 -1
  30. package/components/checkbox/checkbox.component.d.ts +1 -1
  31. package/components/chip/chip.component.d.ts +1 -1
  32. package/components/contained-input/contained-input.component.d.ts +1 -1
  33. package/components/date-input/date-input.component.d.ts +1 -1
  34. package/components/dialog/dialog-confirm.component.d.ts +1 -1
  35. package/components/dialog/dialog-content.component.d.ts +1 -1
  36. package/components/dialog/dialog-simple.component.d.ts +1 -1
  37. package/components/dialog/dialog.component.d.ts +1 -1
  38. package/components/form-heading/form-heading.component.d.ts +1 -1
  39. package/components/icon/icon.component.d.ts +1 -1
  40. package/components/icon/icon.types.d.ts +2 -2
  41. package/components/icon-button/icon-button.component.d.ts +1 -1
  42. package/components/layouts/context/context.component.d.ts +1 -1
  43. package/components/layouts/grid/grid.component.d.ts +1 -1
  44. package/components/layouts/layout-group.component.d.ts +1 -1
  45. package/components/layouts/panel/panel.component.d.ts +1 -1
  46. package/components/layouts/sidebar/sidebar.component.d.ts +1 -1
  47. package/components/layouts/toolbar/toolbar.component.d.ts +1 -1
  48. package/components/menu/menu-container/menu-container.component.d.ts +1 -1
  49. package/components/menu/menu-item/menu-item.component.d.ts +1 -1
  50. package/components/menu/menu-item-group/menu-item-group.component.d.ts +1 -1
  51. package/components/menu/menu-sub-item/menu-sub-item.component.d.ts +1 -1
  52. package/components/menu/menu.component.d.ts +1 -1
  53. package/components/navbar/navbar-item/navbar-item.component.d.ts +1 -1
  54. package/components/navbar/navbar-sub-item/navbar-sub-item.component.d.ts +1 -1
  55. package/components/navbar/navbar.component.d.ts +1 -1
  56. package/components/number-input/number-input.component.d.ts +1 -1
  57. package/components/paginator/paginator-advanced/paginator-advanced.component.d.ts +1 -1
  58. package/components/paginator/paginator.component.d.ts +6 -3
  59. package/components/phone-input/phone-input.component.d.ts +1 -1
  60. package/components/phone-input/phone-input.model.d.ts +1 -1
  61. package/components/popover/popover-panel/popover-panel.component.d.ts +1 -1
  62. package/components/popover/popover.component.d.ts +1 -1
  63. package/components/progress/bar/bar.component.d.ts +1 -1
  64. package/components/progress/spinner/spinner.component.d.ts +1 -1
  65. package/components/radio/radio-group.component.d.ts +1 -1
  66. package/components/radio/radio.component.d.ts +1 -1
  67. package/components/section-heading/back-button/back-button.component.d.ts +1 -1
  68. package/components/section-heading/section-heading.component.d.ts +1 -1
  69. package/components/section-heading/subsection-heading/subsection-heading.component.d.ts +1 -1
  70. package/components/select-menu/multi-select-menu/multi-select-menu.component.d.ts +6 -4
  71. package/components/select-menu/select-menu.component.d.ts +6 -4
  72. package/components/select-menu/select-menu.module.d.ts +2 -1
  73. package/components/shared/services/menu-manager.service.d.ts +10 -0
  74. package/components/snackbar/snackbar/snackbar.component.d.ts +1 -1
  75. package/components/stepper/step.component.d.ts +1 -1
  76. package/components/stepper/stepper.component.d.ts +1 -1
  77. package/components/switch/switch.component.d.ts +1 -1
  78. package/components/table/cell.d.ts +1 -1
  79. package/components/table/row.d.ts +3 -5
  80. package/components/tabs/tab/tab.component.d.ts +1 -1
  81. package/components/tabs/tab-panel/tab-panel.component.d.ts +1 -1
  82. package/components/tabs/tabs.component.d.ts +1 -1
  83. package/components/text-input/text-input.component.d.ts +5 -4
  84. package/components/textarea-input/textarea-input.component.d.ts +1 -1
  85. package/components/tooltip/tooltip-panel/tooltip-panel.component.d.ts +1 -1
  86. package/components/tooltip/tooltip.component.d.ts +1 -1
  87. package/components/wrapped-input/wrapped-input.component.d.ts +1 -1
  88. package/directives/menu-register.directive.d.ts +14 -0
  89. package/{esm2020 → esm2022}/components/alert/alert.component.mjs +4 -4
  90. package/{esm2020 → esm2022}/components/alert/alert.module.mjs +9 -9
  91. package/{esm2020 → esm2022}/components/app-icon/app-icon.component.mjs +4 -4
  92. package/{esm2020 → esm2022}/components/app-icon/app-icon.module.mjs +7 -7
  93. package/{esm2020 → esm2022}/components/avatar/avatar.component.mjs +4 -4
  94. package/{esm2020 → esm2022}/components/avatar/avatar.module.mjs +7 -7
  95. package/esm2022/components/badge/badge.component.mjs +45 -0
  96. package/{esm2020 → esm2022}/components/badge/badge.module.mjs +5 -5
  97. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +22 -0
  98. package/{esm2020 → esm2022}/components/breadcrumbs/breadcrumbs.module.mjs +9 -9
  99. package/esm2022/components/breadcrumbs/crumb.component.mjs +34 -0
  100. package/{esm2020 → esm2022}/components/button/button.component.mjs +4 -4
  101. package/esm2022/components/button/button.directives.mjs +129 -0
  102. package/{esm2020 → esm2022}/components/button/button.module.mjs +21 -21
  103. package/esm2022/components/button-group/button-group.component.mjs +131 -0
  104. package/{esm2020 → esm2022}/components/button-group/button-group.module.mjs +9 -9
  105. package/esm2022/components/button-toggle/button-toggle-item/button-toggle-item.component.mjs +54 -0
  106. package/esm2022/components/button-toggle/button-toggle.component.mjs +137 -0
  107. package/{esm2020 → esm2022}/components/button-toggle/button-toggle.module.mjs +9 -9
  108. package/{esm2020 → esm2022}/components/card/card-attribute/card-attribute.component.mjs +4 -4
  109. package/{esm2020 → esm2022}/components/card/card-author/card-author.component.mjs +4 -4
  110. package/{esm2020 → esm2022}/components/card/card-content/card-content.component.mjs +4 -4
  111. package/{esm2020 → esm2022}/components/card/card-footer/card-footer.component.mjs +8 -8
  112. package/{esm2020 → esm2022}/components/card/card-header/card-header.component.mjs +4 -4
  113. package/{esm2020 → esm2022}/components/card/card.component.mjs +4 -4
  114. package/{esm2020 → esm2022}/components/card/card.module.mjs +19 -19
  115. package/esm2022/components/checkbox/checkbox.component.mjs +79 -0
  116. package/{esm2020 → esm2022}/components/checkbox/checkbox.module.mjs +9 -9
  117. package/esm2022/components/chip/chip.component.mjs +52 -0
  118. package/{esm2020 → esm2022}/components/chip/chip.module.mjs +9 -9
  119. package/esm2022/components/contained-input/contained-input.component.mjs +86 -0
  120. package/{esm2020 → esm2022}/components/contained-input/contained-input.module.mjs +13 -13
  121. package/esm2022/components/date-input/date-input.component.mjs +139 -0
  122. package/{esm2020 → esm2022}/components/date-input/date-input.module.mjs +9 -9
  123. package/{esm2020 → esm2022}/components/dialog/dialog-actions.component.mjs +9 -9
  124. package/{esm2020 → esm2022}/components/dialog/dialog-confirm.component.mjs +6 -6
  125. package/esm2022/components/dialog/dialog-content.component.mjs +38 -0
  126. package/{esm2020 → esm2022}/components/dialog/dialog-header.component.mjs +9 -9
  127. package/{esm2020 → esm2022}/components/dialog/dialog-simple.component.mjs +6 -6
  128. package/{esm2020 → esm2022}/components/dialog/dialog.component.mjs +6 -6
  129. package/{esm2020 → esm2022}/components/dialog/dialog.service.mjs +6 -6
  130. package/{esm2020 → esm2022}/components/dialog/dialogs.module.mjs +27 -27
  131. package/{esm2020 → esm2022}/components/form-heading/form-heading.component.mjs +5 -5
  132. package/{esm2020 → esm2022}/components/form-heading/form-heading.module.mjs +9 -9
  133. package/esm2022/components/forms/validators.mjs +81 -0
  134. package/esm2022/components/icon/icon.component.mjs +61 -0
  135. package/{esm2020 → esm2022}/components/icon/icon.module.mjs +5 -5
  136. package/esm2022/components/icon/icon.types.mjs +330 -0
  137. package/{esm2020 → esm2022}/components/icon-button/icon-button.component.mjs +4 -4
  138. package/{esm2020 → esm2022}/components/icon-button/icon-button.module.mjs +7 -7
  139. package/esm2022/components/layouts/context/context.component.mjs +46 -0
  140. package/{esm2020 → esm2022}/components/layouts/grid/grid.component.mjs +7 -7
  141. package/esm2022/components/layouts/layout-group.component.mjs +36 -0
  142. package/{esm2020 → esm2022}/components/layouts/layouts.module.mjs +19 -19
  143. package/{esm2020 → esm2022}/components/layouts/panel/panel.component.mjs +5 -5
  144. package/{esm2020 → esm2022}/components/layouts/sidebar/sidebar.component.mjs +4 -4
  145. package/{esm2020 → esm2022}/components/layouts/toolbar/toolbar.component.mjs +4 -4
  146. package/esm2022/components/menu/menu-close-triggers.directive.mjs +38 -0
  147. package/esm2022/components/menu/menu-container/menu-container.component.mjs +90 -0
  148. package/{esm2020 → esm2022}/components/menu/menu-header/menu-header.component.mjs +4 -4
  149. package/esm2022/components/menu/menu-item/menu-item.component.mjs +136 -0
  150. package/{esm2020 → esm2022}/components/menu/menu-item-group/menu-item-group.component.mjs +5 -5
  151. package/{esm2020 → esm2022}/components/menu/menu-separator/menu-separator.component.mjs +4 -4
  152. package/esm2022/components/menu/menu-sub-item/menu-sub-item.component.mjs +109 -0
  153. package/esm2022/components/menu/menu.component.mjs +212 -0
  154. package/{esm2020 → esm2022}/components/menu/menu.module.mjs +37 -37
  155. package/{esm2020 → esm2022}/components/navbar/navbar-header/navbar-header.component.mjs +4 -4
  156. package/esm2022/components/navbar/navbar-item/navbar-item.component.mjs +95 -0
  157. package/esm2022/components/navbar/navbar-sub-item/navbar-sub-item.component.mjs +76 -0
  158. package/esm2022/components/navbar/navbar.component.mjs +75 -0
  159. package/{esm2020 → esm2022}/components/navbar/navbar.module.mjs +25 -25
  160. package/esm2022/components/number-input/number-input.component.mjs +122 -0
  161. package/{esm2020 → esm2022}/components/number-input/number-input.module.mjs +9 -9
  162. package/esm2022/components/paginator/paginator-advanced/paginator-advanced.component.mjs +123 -0
  163. package/esm2022/components/paginator/paginator.component.mjs +133 -0
  164. package/{esm2020 → esm2022}/components/paginator/paginator.module.mjs +17 -17
  165. package/esm2022/components/phone-input/phone-input.component.mjs +285 -0
  166. package/{esm2020 → esm2022}/components/phone-input/phone-input.module.mjs +17 -17
  167. package/{esm2020 → esm2022}/components/popover/popover-panel/popover-panel.component.mjs +4 -4
  168. package/esm2022/components/popover/popover.component.mjs +76 -0
  169. package/{esm2020 → esm2022}/components/popover/popover.module.mjs +13 -13
  170. package/{esm2020 → esm2022}/components/progress/bar/bar.component.mjs +5 -5
  171. package/{esm2020 → esm2022}/components/progress/progress.module.mjs +7 -7
  172. package/esm2022/components/progress/spinner/spinner.component.mjs +101 -0
  173. package/esm2022/components/radio/radio-group.component.mjs +117 -0
  174. package/esm2022/components/radio/radio.component.mjs +51 -0
  175. package/{esm2020 → esm2022}/components/radio/radio.module.mjs +11 -11
  176. package/esm2022/components/section-heading/back-button/back-button.component.mjs +30 -0
  177. package/{esm2020 → esm2022}/components/section-heading/section-heading.component.mjs +5 -5
  178. package/{esm2020 → esm2022}/components/section-heading/section-heading.module.mjs +13 -13
  179. package/{esm2020 → esm2022}/components/section-heading/subsection-heading/subsection-heading.component.mjs +5 -5
  180. package/esm2022/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +377 -0
  181. package/esm2022/components/select-menu/select-menu.component.mjs +332 -0
  182. package/esm2022/components/select-menu/select-menu.module.mjs +56 -0
  183. package/esm2022/components/shared/pipes/pipes.module.mjs +36 -0
  184. package/esm2022/components/shared/pipes/translate.pipe.mjs +40 -0
  185. package/{esm2020 → esm2022}/components/shared/pipes/trusthtml.pipe.mjs +5 -5
  186. package/esm2022/components/shared/services/menu-manager.service.mjs +27 -0
  187. package/esm2022/components/shared/translation.service.mjs +26 -0
  188. package/esm2022/components/snackbar/snackbar/snackbar.component.mjs +111 -0
  189. package/esm2022/components/snackbar/snackbar-container/snackbar-container.component.mjs +63 -0
  190. package/{esm2020 → esm2022}/components/snackbar/snackbar.module.mjs +15 -15
  191. package/esm2022/components/snackbar/snackbar.service.mjs +36 -0
  192. package/esm2022/components/stepper/step.component.mjs +113 -0
  193. package/esm2022/components/stepper/stepper.component.mjs +95 -0
  194. package/{esm2020 → esm2022}/components/stepper/stepper.module.mjs +13 -13
  195. package/esm2022/components/switch/switch.component.mjs +73 -0
  196. package/{esm2020 → esm2022}/components/switch/switch.module.mjs +5 -5
  197. package/{esm2020 → esm2022}/components/table/cell.mjs +24 -24
  198. package/esm2022/components/table/row.mjs +164 -0
  199. package/esm2022/components/table/table-dense.component.mjs +38 -0
  200. package/esm2022/components/table/table.component.mjs +38 -0
  201. package/{esm2020 → esm2022}/components/table/table.module.mjs +37 -37
  202. package/esm2022/components/tabs/tab/tab.component.mjs +79 -0
  203. package/{esm2020 → esm2022}/components/tabs/tab-panel/tab-panel.component.mjs +4 -4
  204. package/esm2022/components/tabs/tabs.component.mjs +68 -0
  205. package/{esm2020 → esm2022}/components/tabs/tabs.module.mjs +11 -11
  206. package/esm2022/components/text-input/text-input.component.mjs +118 -0
  207. package/{esm2020 → esm2022}/components/text-input/text-input.module.mjs +9 -9
  208. package/esm2022/components/textarea-input/textarea-input.component.mjs +86 -0
  209. package/{esm2020 → esm2022}/components/textarea-input/textarea-input.module.mjs +11 -11
  210. package/{esm2020 → esm2022}/components/tooltip/tooltip-panel/tooltip-panel.component.mjs +4 -4
  211. package/{esm2020 → esm2022}/components/tooltip/tooltip.component.mjs +5 -5
  212. package/{esm2020 → esm2022}/components/tooltip/tooltip.module.mjs +13 -13
  213. package/{esm2020 → esm2022}/components/wrapped-input/wrapped-input.component.mjs +4 -4
  214. package/{esm2020 → esm2022}/components/wrapped-input/wrapped-input.module.mjs +7 -7
  215. package/esm2022/directives/menu-register.directive.mjs +38 -0
  216. package/esm2022/public-api.mjs +128 -0
  217. package/{fesm2020 → fesm2022}/flywheel-io-vision.mjs +1438 -1336
  218. package/fesm2022/flywheel-io-vision.mjs.map +1 -0
  219. package/flywheel-io-vision-2.0.0-beta.11.tgz +0 -0
  220. package/package.json +9 -12
  221. package/public-api.d.ts +2 -0
  222. package/scss/icons/_icon-glyphs.scss +667 -1256
  223. package/styles.css +54 -1
  224. package/esm2020/components/badge/badge.component.mjs +0 -45
  225. package/esm2020/components/breadcrumbs/breadcrumbs.component.mjs +0 -22
  226. package/esm2020/components/breadcrumbs/crumb.component.mjs +0 -34
  227. package/esm2020/components/button/button.directives.mjs +0 -129
  228. package/esm2020/components/button-group/button-group.component.mjs +0 -131
  229. package/esm2020/components/button-toggle/button-toggle-item/button-toggle-item.component.mjs +0 -54
  230. package/esm2020/components/button-toggle/button-toggle.component.mjs +0 -132
  231. package/esm2020/components/checkbox/checkbox.component.mjs +0 -79
  232. package/esm2020/components/chip/chip.component.mjs +0 -52
  233. package/esm2020/components/contained-input/contained-input.component.mjs +0 -86
  234. package/esm2020/components/date-input/date-input.component.mjs +0 -139
  235. package/esm2020/components/dialog/dialog-content.component.mjs +0 -38
  236. package/esm2020/components/forms/validators.mjs +0 -81
  237. package/esm2020/components/icon/icon.component.mjs +0 -61
  238. package/esm2020/components/icon/icon.types.mjs +0 -317
  239. package/esm2020/components/layouts/context/context.component.mjs +0 -46
  240. package/esm2020/components/layouts/layout-group.component.mjs +0 -36
  241. package/esm2020/components/menu/menu-close-triggers.directive.mjs +0 -38
  242. package/esm2020/components/menu/menu-container/menu-container.component.mjs +0 -90
  243. package/esm2020/components/menu/menu-item/menu-item.component.mjs +0 -136
  244. package/esm2020/components/menu/menu-sub-item/menu-sub-item.component.mjs +0 -109
  245. package/esm2020/components/menu/menu.component.mjs +0 -212
  246. package/esm2020/components/navbar/navbar-item/navbar-item.component.mjs +0 -95
  247. package/esm2020/components/navbar/navbar-sub-item/navbar-sub-item.component.mjs +0 -76
  248. package/esm2020/components/navbar/navbar.component.mjs +0 -75
  249. package/esm2020/components/number-input/number-input.component.mjs +0 -122
  250. package/esm2020/components/paginator/paginator-advanced/paginator-advanced.component.mjs +0 -123
  251. package/esm2020/components/paginator/paginator.component.mjs +0 -133
  252. package/esm2020/components/phone-input/phone-input.component.mjs +0 -285
  253. package/esm2020/components/popover/popover.component.mjs +0 -76
  254. package/esm2020/components/progress/spinner/spinner.component.mjs +0 -101
  255. package/esm2020/components/radio/radio-group.component.mjs +0 -117
  256. package/esm2020/components/radio/radio.component.mjs +0 -51
  257. package/esm2020/components/section-heading/back-button/back-button.component.mjs +0 -30
  258. package/esm2020/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +0 -356
  259. package/esm2020/components/select-menu/select-menu.component.mjs +0 -328
  260. package/esm2020/components/select-menu/select-menu.module.mjs +0 -53
  261. package/esm2020/components/shared/pipes/pipes.module.mjs +0 -36
  262. package/esm2020/components/shared/pipes/translate.pipe.mjs +0 -40
  263. package/esm2020/components/shared/translation.service.mjs +0 -26
  264. package/esm2020/components/snackbar/snackbar/snackbar.component.mjs +0 -111
  265. package/esm2020/components/snackbar/snackbar-container/snackbar-container.component.mjs +0 -63
  266. package/esm2020/components/snackbar/snackbar.service.mjs +0 -36
  267. package/esm2020/components/stepper/step.component.mjs +0 -113
  268. package/esm2020/components/stepper/stepper.component.mjs +0 -95
  269. package/esm2020/components/switch/switch.component.mjs +0 -73
  270. package/esm2020/components/table/row.mjs +0 -170
  271. package/esm2020/components/table/table-dense.component.mjs +0 -38
  272. package/esm2020/components/table/table.component.mjs +0 -38
  273. package/esm2020/components/tabs/tab/tab.component.mjs +0 -79
  274. package/esm2020/components/tabs/tabs.component.mjs +0 -68
  275. package/esm2020/components/text-input/text-input.component.mjs +0 -112
  276. package/esm2020/components/textarea-input/textarea-input.component.mjs +0 -86
  277. package/esm2020/public-api.mjs +0 -126
  278. package/fesm2015/flywheel-io-vision.mjs +0 -8039
  279. package/fesm2015/flywheel-io-vision.mjs.map +0 -1
  280. package/fesm2020/flywheel-io-vision.mjs.map +0 -1
  281. package/flywheel-io-vision-2.0.0-beta-4.tgz +0 -0
  282. /package/{esm2020 → esm2022}/components/paginator/paginator.model.mjs +0 -0
  283. /package/{esm2020 → esm2022}/components/phone-input/country-code.data.mjs +0 -0
  284. /package/{esm2020 → esm2022}/components/phone-input/phone-input.model.mjs +0 -0
  285. /package/{esm2020 → esm2022}/components/snackbar/snackbar-message.model.mjs +0 -0
  286. /package/{esm2020 → esm2022}/components/snackbar/snackbar-timer.service.mjs +0 -0
  287. /package/{esm2020 → esm2022}/flywheel-io-vision.mjs +0 -0
@@ -1,136 +0,0 @@
1
- import { Component, ContentChildren, EventEmitter, HostBinding, Input, Output, } from '@angular/core';
2
- import { FwMenuSubItemComponent } from '../menu-sub-item/menu-sub-item.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "../../icon-button/icon-button.component";
6
- import * as i3 from "../../icon/icon.component";
7
- import * as i4 from "../../checkbox/checkbox.component";
8
- import * as i5 from "../../radio/radio.component";
9
- export class FwMenuItemComponent {
10
- constructor() {
11
- this.size = 'default';
12
- this.iconColor = 'primary';
13
- this.showCheckbox = false;
14
- this.checkboxColor = 'primary';
15
- this.multiSelect = false;
16
- this.hidden = false;
17
- this.subItemsOpen = false;
18
- // eslint-disable-next-line @angular-eslint/no-output-native
19
- this.click = new EventEmitter();
20
- this.focused = false;
21
- this.selected = false;
22
- this.subscriptions = [];
23
- /**
24
- * @deprecated please use fw-navbar-item instead
25
- */
26
- this.variant = 'default';
27
- }
28
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
29
- ngOnChanges(changes) {
30
- this.updateLayout();
31
- }
32
- ngOnDestroy() {
33
- for (const subscription of this.subscriptions) {
34
- subscription.unsubscribe();
35
- }
36
- }
37
- ngAfterContentInit() {
38
- this.subItems.forEach(subItem => {
39
- const sub = subItem.click.subscribe(value => this.click.emit(value));
40
- this.subscriptions.push(sub);
41
- });
42
- this.updateLayout();
43
- }
44
- updateLayout() {
45
- if (this.subItems) {
46
- this.subItems.forEach(subItem => {
47
- subItem.variant = this.variant;
48
- subItem.size = this.size;
49
- subItem.hidden = !(this.subItemsOpen && !this.collapsed);
50
- subItem.collapsed = this.collapsed;
51
- });
52
- }
53
- }
54
- toggleSubItemsView() {
55
- this.subItemsOpen = !this.subItemsOpen;
56
- this.updateLayout();
57
- }
58
- handleClick(evt) {
59
- if (this.disabled) {
60
- evt.stopPropagation();
61
- return;
62
- }
63
- if (this.href) {
64
- if (this.target) {
65
- // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
66
- window.open(this.href, this.target).focus();
67
- }
68
- else {
69
- window.location.href = this.href;
70
- }
71
- evt.stopPropagation();
72
- return;
73
- }
74
- if (this.value) {
75
- this.click.emit(this.value);
76
- evt.stopPropagation();
77
- }
78
- }
79
- }
80
- FwMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
81
- FwMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FwMenuItemComponent, selector: "fw-menu-item", inputs: { value: "value", size: "size", title: "title", description: "description", icon: "icon", iconColor: "iconColor", disabled: "disabled", showCheckbox: "showCheckbox", checkboxColor: "checkboxColor", multiSelect: "multiSelect", hidden: "hidden", collapsed: "collapsed", href: "href", target: "target", subItemsOpen: "subItemsOpen", focused: "focused", selected: "selected", variant: "variant" }, outputs: { click: "click" }, host: { properties: { "class.collapsed": "this.collapsed", "class.focused": "this.focused", "class.selected": "this.selected" } }, queries: [{ propertyName: "subItems", predicate: FwMenuSubItemComponent }], usesOnChanges: true, ngImport: i0, template: "<div (click)=\"handleClick($event)\" *ngIf=\"!hidden\">\n <div\n [ngClass]=\"['menu-item', 'size-'+size, 'variant-'+variant, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"item-checkbox\" *ngIf=\"showCheckbox && multiSelect\">\n <fw-checkbox\n [disabled]=\"disabled\"\n [color]=\"checkboxColor\"\n [checked]=\"selected\">\n </fw-checkbox>\n </div>\n <div class=\"item-radiobutton\" *ngIf=\"showCheckbox && !multiSelect\">\n <fw-radio-button\n [value]=\"value\"\n [color]=\"checkboxColor\"\n [disabled]=\"disabled\"\n [checked]=\"selected\">\n </fw-radio-button>\n </div>\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n *ngIf=\"subItems.length>0\"\n (click)=\"toggleSubItemsView()\">\n </fw-icon-button>\n </div>\n </div>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-menu-sub-item\"></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host>div{display:flex;flex:1;text-decoration:none;max-width:100%}:host h4{text-overflow:ellipsis}:host:hover:not(.selected) .menu-item:not(.disabled),:host.focused:not(.selected) .menu-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-icon,:host.focused:not(.selected) .menu-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-text h4,:host.focused:not(.selected) .menu-item:not(.disabled) .menu-text h4{color:var(--typography-base)}:host.selected .menu-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .menu-item .menu-icon{color:var(--primary-base)}:host.selected .menu-item .menu-text h4{color:var(--typography-base)}:host.selected .menu-item.variant-modern:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.selected .menu-item.variant-modern.size-compact:before{height:16px;border-left:3px solid var(--primary-base)}:host.selected .menu-item.variant-button:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-14px;margin-top:10px}:host.selected .menu-item.variant-button.size-compact:before{margin-left:-15px;margin-top:4px;border-left:1px solid var(--primary-base)}:host.variant-modern.selected:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.variant-modern.size-compact.selected:before{height:16px;border-left:3px solid var(--primary-base)}:host.collapsed .menu-item{container-name:menuitem;container-type:size}:host .menu-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px;margin:1px 4px;border-radius:4px;color:var(--typography-muted);min-height:40px;width:-webkit-fill-available;width:-moz-available;width:stretch}:host .menu-item .item-checkbox:empty{display:none}:host .menu-item .item-radiobutton{padding:0}:host .menu-item .item-radiobutton:empty{display:none}:host .menu-item .menu-icon{font-size:18px;min-width:18px;width:18px;white-space:nowrap}:host .menu-item .menu-text{flex:1;overflow:hidden;padding:2px 0}:host .menu-item .menu-text h4{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .menu-item .menu-text p{margin:0}:host .menu-item .menu-text p.description{color:var(--typography-light)}:host .menu-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .menu-item .key-text fw-icon-button{min-height:22px!important;min-width:22px!important;width:22px!important}:host .menu-item.size-compact{min-height:32px}:host .menu-item.size-compact .menu-text .description{display:none}:host .menu-item.disabled{opacity:.4;cursor:not-allowed}:host .menu-item.variant-modern{padding:8px 16px;border-radius:6px}:host .menu-item.variant-modern.size-compact{min-height:34px}:host .menu-item.variant-button{height:52px;width:60px;flex-direction:column;gap:1px;padding:3px 0;border-radius:8px;display:block;text-align:center;flex:unset;white-space:nowrap;overflow:hidden;container-name:menuitem-button}:host .menu-item.variant-button .menu-icon{font-size:32px;min-width:32px;width:32px}:host .menu-item.variant-button .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}:host .menu-item.variant-button .menu-text .description{display:none}:host .menu-item.variant-button.size-compact{min-height:40px;width:50px}:host .menu-item.variant-button.size-compact .menu-icon{font-size:20px;min-width:20px;width:20px}:host .menu-item.variant-button.size-compact .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}:host .item-subitems{display:flex;flex-direction:column}@container menuitem (max-width: 60px){.menu-item{gap:0}.menu-item .menu-text{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FwIconButtonComponent, selector: "fw-icon-button", inputs: ["color", "icon", "size", "disabled", "selected"] }, { kind: "component", type: i3.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: i4.FwCheckboxComponent, selector: "fw-checkbox", inputs: ["name", "disabled", "size", "color", "title", "focused", "checked"], outputs: ["change"] }, { kind: "component", type: i5.FwRadioComponent, selector: "fw-radio-button", inputs: ["checked", "value", "group", "disabled", "size", "color", "title", "focused"], outputs: ["change"] }] });
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwMenuItemComponent, decorators: [{
83
- type: Component,
84
- args: [{ selector: 'fw-menu-item', template: "<div (click)=\"handleClick($event)\" *ngIf=\"!hidden\">\n <div\n [ngClass]=\"['menu-item', 'size-'+size, 'variant-'+variant, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"item-checkbox\" *ngIf=\"showCheckbox && multiSelect\">\n <fw-checkbox\n [disabled]=\"disabled\"\n [color]=\"checkboxColor\"\n [checked]=\"selected\">\n </fw-checkbox>\n </div>\n <div class=\"item-radiobutton\" *ngIf=\"showCheckbox && !multiSelect\">\n <fw-radio-button\n [value]=\"value\"\n [color]=\"checkboxColor\"\n [disabled]=\"disabled\"\n [checked]=\"selected\">\n </fw-radio-button>\n </div>\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n *ngIf=\"subItems.length>0\"\n (click)=\"toggleSubItemsView()\">\n </fw-icon-button>\n </div>\n </div>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-menu-sub-item\"></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host>div{display:flex;flex:1;text-decoration:none;max-width:100%}:host h4{text-overflow:ellipsis}:host:hover:not(.selected) .menu-item:not(.disabled),:host.focused:not(.selected) .menu-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-icon,:host.focused:not(.selected) .menu-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-text h4,:host.focused:not(.selected) .menu-item:not(.disabled) .menu-text h4{color:var(--typography-base)}:host.selected .menu-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .menu-item .menu-icon{color:var(--primary-base)}:host.selected .menu-item .menu-text h4{color:var(--typography-base)}:host.selected .menu-item.variant-modern:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.selected .menu-item.variant-modern.size-compact:before{height:16px;border-left:3px solid var(--primary-base)}:host.selected .menu-item.variant-button:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-14px;margin-top:10px}:host.selected .menu-item.variant-button.size-compact:before{margin-left:-15px;margin-top:4px;border-left:1px solid var(--primary-base)}:host.variant-modern.selected:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.variant-modern.size-compact.selected:before{height:16px;border-left:3px solid var(--primary-base)}:host.collapsed .menu-item{container-name:menuitem;container-type:size}:host .menu-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px;margin:1px 4px;border-radius:4px;color:var(--typography-muted);min-height:40px;width:-webkit-fill-available;width:-moz-available;width:stretch}:host .menu-item .item-checkbox:empty{display:none}:host .menu-item .item-radiobutton{padding:0}:host .menu-item .item-radiobutton:empty{display:none}:host .menu-item .menu-icon{font-size:18px;min-width:18px;width:18px;white-space:nowrap}:host .menu-item .menu-text{flex:1;overflow:hidden;padding:2px 0}:host .menu-item .menu-text h4{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .menu-item .menu-text p{margin:0}:host .menu-item .menu-text p.description{color:var(--typography-light)}:host .menu-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .menu-item .key-text fw-icon-button{min-height:22px!important;min-width:22px!important;width:22px!important}:host .menu-item.size-compact{min-height:32px}:host .menu-item.size-compact .menu-text .description{display:none}:host .menu-item.disabled{opacity:.4;cursor:not-allowed}:host .menu-item.variant-modern{padding:8px 16px;border-radius:6px}:host .menu-item.variant-modern.size-compact{min-height:34px}:host .menu-item.variant-button{height:52px;width:60px;flex-direction:column;gap:1px;padding:3px 0;border-radius:8px;display:block;text-align:center;flex:unset;white-space:nowrap;overflow:hidden;container-name:menuitem-button}:host .menu-item.variant-button .menu-icon{font-size:32px;min-width:32px;width:32px}:host .menu-item.variant-button .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}:host .menu-item.variant-button .menu-text .description{display:none}:host .menu-item.variant-button.size-compact{min-height:40px;width:50px}:host .menu-item.variant-button.size-compact .menu-icon{font-size:20px;min-width:20px;width:20px}:host .menu-item.variant-button.size-compact .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}:host .item-subitems{display:flex;flex-direction:column}@container menuitem (max-width: 60px){.menu-item{gap:0}.menu-item .menu-text{opacity:0}}\n"] }]
85
- }], propDecorators: { value: [{
86
- type: Input
87
- }], size: [{
88
- type: Input
89
- }], title: [{
90
- type: Input
91
- }], description: [{
92
- type: Input
93
- }], icon: [{
94
- type: Input
95
- }], iconColor: [{
96
- type: Input
97
- }], disabled: [{
98
- type: Input
99
- }], showCheckbox: [{
100
- type: Input
101
- }], checkboxColor: [{
102
- type: Input
103
- }], multiSelect: [{
104
- type: Input
105
- }], hidden: [{
106
- type: Input
107
- }], collapsed: [{
108
- type: HostBinding,
109
- args: ['class.collapsed']
110
- }, {
111
- type: Input
112
- }], href: [{
113
- type: Input
114
- }], target: [{
115
- type: Input
116
- }], subItemsOpen: [{
117
- type: Input
118
- }], click: [{
119
- type: Output
120
- }], focused: [{
121
- type: HostBinding,
122
- args: ['class.focused']
123
- }, {
124
- type: Input
125
- }], selected: [{
126
- type: HostBinding,
127
- args: ['class.selected']
128
- }, {
129
- type: Input
130
- }], subItems: [{
131
- type: ContentChildren,
132
- args: [FwMenuSubItemComponent]
133
- }], variant: [{
134
- type: Input
135
- }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21lbnUvbWVudS1pdGVtL21lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxHQUdQLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7O0FBT2xGLE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUFPVyxTQUFJLEdBQTJCLFNBQVMsQ0FBQztRQUl6QyxjQUFTLEdBQW1GLFNBQVMsQ0FBQztRQUV0RyxpQkFBWSxHQUFhLEtBQUssQ0FBQztRQUMvQixrQkFBYSxHQUF5QyxTQUFTLENBQUM7UUFDaEUsZ0JBQVcsR0FBYSxLQUFLLENBQUM7UUFDOUIsV0FBTSxHQUFhLEtBQUssQ0FBQztRQUl6QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUN2Qyw0REFBNEQ7UUFDbEQsVUFBSyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzVCLFlBQU8sR0FBYSxLQUFLLENBQUM7UUFDekIsYUFBUSxHQUFhLEtBQUssQ0FBQztRQUUzRCxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFDM0M7O1dBRUc7UUFDTSxZQUFPLEdBQXFDLFNBQVMsQ0FBQztLQTJEaEU7SUF6REMsNkRBQTZEO0lBQzdELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVc7UUFDVCxLQUFLLE1BQU0sWUFBWSxJQUFJLElBQUksQ0FBQyxh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O3NCQUFkLE1BQU07Z0JBQ2dDLE9BQU87c0JBQTdDLFdBQVc7dUJBQUMsZUFBZTs7c0JBQUcsS0FBSztnQkFDSSxRQUFRO3NCQUEvQyxXQUFXO3VCQUFDLGdCQUFnQjs7c0JBQUcsS0FBSztnQkFDSSxRQUFRO3NCQUFoRCxlQUFlO3VCQUFDLHNCQUFzQjtnQkFLOUIsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uLnR5cGVzJztcbmltcG9ydCB7IEZ3TWVudVN1Ykl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9tZW51LXN1Yi1pdGVtL21lbnUtc3ViLWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctbWVudS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lbnUtaXRlbS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGd01lbnVJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoKSB2YWx1ZT86IHN0cmluZztcbiAgQElucHV0KCkgc2l6ZT86ICdkZWZhdWx0JyB8ICdjb21wYWN0JyA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb24/OiBJY29uVHlwZTtcbiAgQElucHV0KCkgaWNvbkNvbG9yPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAncmVkJyB8ICdvcmFuZ2UnIHwgJ2dyZWVuJyB8ICdzbGF0ZScgfCAndHlwb2dyYXBoeScgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc2hvd0NoZWNrYm94PzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjaGVja2JveENvbG9yPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnZGVmYXVsdCcgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIG11bHRpU2VsZWN0PzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBoaWRkZW4/OiBib29sZWFuID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuY29sbGFwc2VkJykgQElucHV0KCkgY29sbGFwc2VkPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaHJlZj86IHN0cmluZztcbiAgQElucHV0KCkgdGFyZ2V0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBzdWJJdGVtc09wZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBjbGljazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mb2N1c2VkJykgQElucHV0KCkgZm9jdXNlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpIEBJbnB1dCgpIHNlbGVjdGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICBAQ29udGVudENoaWxkcmVuKEZ3TWVudVN1Ykl0ZW1Db21wb25lbnQpIHN1Ykl0ZW1zOiBRdWVyeUxpc3Q8RndNZW51U3ViSXRlbUNvbXBvbmVudD47XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHBsZWFzZSB1c2UgZnctbmF2YmFyLWl0ZW0gaW5zdGVhZFxuICAgKi9cbiAgQElucHV0KCkgdmFyaWFudD86ICdkZWZhdWx0JyB8ICdtb2Rlcm4nIHwgJ2J1dHRvbicgPSAnZGVmYXVsdCc7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVMYXlvdXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHRoaXMuc3Vic2NyaXB0aW9ucykge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViSXRlbXMuZm9yRWFjaChzdWJJdGVtID0+IHtcbiAgICAgIGNvbnN0IHN1YiA9IHN1Ykl0ZW0uY2xpY2suc3Vic2NyaWJlKHZhbHVlID0+IHRoaXMuY2xpY2suZW1pdCh2YWx1ZSkpO1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3ViKTtcbiAgICB9KTtcbiAgICB0aGlzLnVwZGF0ZUxheW91dCgpO1xuICB9XG5cbiAgdXBkYXRlTGF5b3V0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1Ykl0ZW1zKSB7XG4gICAgICB0aGlzLnN1Ykl0ZW1zLmZvckVhY2goc3ViSXRlbSA9PiB7XG4gICAgICAgIHN1Ykl0ZW0udmFyaWFudCA9IHRoaXMudmFyaWFudDtcbiAgICAgICAgc3ViSXRlbS5zaXplID0gdGhpcy5zaXplO1xuICAgICAgICBzdWJJdGVtLmhpZGRlbiA9ICEodGhpcy5zdWJJdGVtc09wZW4gJiYgIXRoaXMuY29sbGFwc2VkKTtcbiAgICAgICAgc3ViSXRlbS5jb2xsYXBzZWQgPSB0aGlzLmNvbGxhcHNlZDtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVN1Ykl0ZW1zVmlldygpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ykl0ZW1zT3BlbiA9ICF0aGlzLnN1Ykl0ZW1zT3BlbjtcbiAgICB0aGlzLnVwZGF0ZUxheW91dCgpO1xuICB9XG5cbiAgaGFuZGxlQ2xpY2soZXZ0PzogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhyZWYpIHtcbiAgICAgIGlmICh0aGlzLnRhcmdldCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHJ4LWFuZ3VsYXIvcHJlZmVyLW5vLWxheW91dC1zZW5zaXRpdmUtYXBpc1xuICAgICAgICB3aW5kb3cub3Blbih0aGlzLmhyZWYsIHRoaXMudGFyZ2V0KS5mb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB0aGlzLmhyZWY7XG4gICAgICB9XG4gICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgIHRoaXMuY2xpY2suZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIiAqbmdJZj1cIiFoaWRkZW5cIj5cbiAgPGRpdlxuICAgIFtuZ0NsYXNzXT1cIlsnbWVudS1pdGVtJywgJ3NpemUtJytzaXplLCAndmFyaWFudC0nK3ZhcmlhbnQsIGRpc2FibGVkPydkaXNhYmxlZCc6JyddXCJcbiAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaXRlbS1jaGVja2JveFwiICpuZ0lmPVwic2hvd0NoZWNrYm94ICYmIG11bHRpU2VsZWN0XCI+XG4gICAgICA8ZnctY2hlY2tib3hcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2NvbG9yXT1cImNoZWNrYm94Q29sb3JcIlxuICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZFwiPlxuICAgICAgPC9mdy1jaGVja2JveD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaXRlbS1yYWRpb2J1dHRvblwiICpuZ0lmPVwic2hvd0NoZWNrYm94ICYmICFtdWx0aVNlbGVjdFwiPlxuICAgICAgPGZ3LXJhZGlvLWJ1dHRvblxuICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICBbY29sb3JdPVwiY2hlY2tib3hDb2xvclwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGVkXCI+XG4gICAgICA8L2Z3LXJhZGlvLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZnctaWNvbiBbY29sb3JdPVwiaWNvbkNvbG9yXCIgKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJtZW51LWljb24ge3tpY29uQ29sb3J9fVwiPnt7IGljb24gfX08L2Z3LWljb24+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctYXZhdGFyXCI+PC9uZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJtZW51LXRleHRcIiAqbmdJZj1cInRpdGxlXCI+XG4gICAgICA8aDQgY2xhc3M9XCJ2aXNpb24taDRcIj57eyB0aXRsZSB9fTwvaDQ+XG4gICAgICA8cCAqbmdJZj1cImRlc2NyaXB0aW9uXCIgY2xhc3M9XCJ2aXNpb24tcDQgZGVzY3JpcHRpb25cIj57eyBkZXNjcmlwdGlvbiB9fTwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwia2V5LXRleHQgdmlzaW9uLXAyXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJwXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctYmFkZ2VcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1pY29uXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctaWNvbi1idXR0b25cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8ZnctaWNvbi1idXR0b25cbiAgICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgIFtpY29uXT1cInN1Ykl0ZW1zT3Blbj8nY2hldnJvbi11cCc6J2NoZXZyb24tZG93bidcIlxuICAgICAgICAqbmdJZj1cInN1Ykl0ZW1zLmxlbmd0aD4wXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVN1Ykl0ZW1zVmlldygpXCI+XG4gICAgICA8L2Z3LWljb24tYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cIml0ZW0tc3ViaXRlbXNcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctbWVudS1zdWItaXRlbVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -1,109 +0,0 @@
1
- import { animate, state, style, transition, trigger } from '@angular/animations';
2
- import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- export class FwMenuSubItemComponent {
6
- constructor() {
7
- this.size = 'default';
8
- this.hidden = false;
9
- // eslint-disable-next-line @angular-eslint/no-output-native
10
- this.click = new EventEmitter();
11
- this.focused = false;
12
- this.selected = false;
13
- /**
14
- * @deprecated please use fw-navbar-sub-item instead
15
- */
16
- this.variant = 'default';
17
- }
18
- handleClick(evt) {
19
- if (this.disabled) {
20
- evt.stopPropagation();
21
- return;
22
- }
23
- if (this.href) {
24
- if (this.target) {
25
- // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
26
- window.open(this.href, this.target).focus();
27
- }
28
- else {
29
- window.location.href = this.href;
30
- }
31
- evt.stopPropagation();
32
- return;
33
- }
34
- if (this.value) {
35
- this.click.emit(this.value);
36
- evt.stopPropagation();
37
- }
38
- }
39
- }
40
- FwMenuSubItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwMenuSubItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
- FwMenuSubItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FwMenuSubItemComponent, selector: "fw-menu-sub-item", inputs: { value: "value", size: "size", title: "title", description: "description", icon: "icon", disabled: "disabled", hidden: "hidden", href: "href", target: "target", collapsed: "collapsed", focused: "focused", selected: "selected", variant: "variant" }, outputs: { click: "click" }, host: { properties: { "class.collapsed": "this.collapsed", "class.focused": "this.focused", "class.selected": "this.selected" } }, ngImport: i0, template: "<div\n (click)=\"handleClick($event)\" *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <div\n [ngClass]=\"['menu-sub-item', 'size-'+size, 'variant-'+variant, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host>div{display:flex;flex:1;text-decoration:none}:host h4{text-overflow:ellipsis}:host:hover:not(.selected) .menu-sub-item:not(.disabled),:host.focused:not(.selected) .menu-sub-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-sub-item:not(.disabled) .menu-icon,:host.focused:not(.selected) .menu-sub-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-sub-item:not(.disabled) .menu-text h4,:host.focused:not(.selected) .menu-sub-item:not(.disabled) .menu-text h4{color:var(--typography-base)}:host.selected .menu-sub-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .menu-sub-item .menu-icon{color:var(--primary-base)}:host.selected .menu-sub-item .menu-text h4{color:var(--typography-base)}:host.selected .menu-sub-item.variant-modern:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-43px}:host.selected .menu-sub-item.variant-modern.size-compact:before{height:16px;border-left:3px solid var(--primary-base)}:host.selected .menu-sub-item.variant-button:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-14px;margin-top:10px}:host.selected .menu-sub-item.variant-button.size-compact:before{margin-left:-15px;margin-top:4px;border-left:1px solid var(--primary-base)}:host.variant-modern.selected:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-43px}:host.variant-modern.size-compact.selected:before{height:16px;border-left:3px solid var(--primary-base)}:host .menu-sub-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px 8px 8px 35px;margin:1px 4px;border-radius:4px;color:var(--typography-muted);min-height:40px;width:100%}:host .menu-sub-item .menu-icon{font-size:18px;white-space:nowrap}:host .menu-sub-item .menu-text{flex:1;overflow:hidden;padding:2px 0}:host .menu-sub-item .menu-text h4{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .menu-sub-item .menu-text p{margin:0}:host .menu-sub-item .menu-text p.description{color:var(--typography-light)}:host .menu-sub-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .menu-sub-item.size-compact{min-height:32px}:host .menu-sub-item.size-compact .menu-text .description{display:none}:host .menu-sub-item.disabled{opacity:.4;cursor:not-allowed}:host .menu-sub-item.variant-modern{padding:8px 8px 8px 43px;border-radius:6px}:host .menu-sub-item.variant-modern.size-compact{min-height:34px}:host .menu-sub-item.variant-button{height:52px;width:60px;flex-direction:column;gap:1px;padding:3px 0;border-radius:8px;display:block;text-align:center;flex:unset;white-space:nowrap;overflow:hidden;container-name:menuitem-button}:host .menu-sub-item.variant-button .menu-icon{font-size:32px}:host .menu-sub-item.variant-button .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}:host .menu-sub-item.variant-button .menu-text .description{display:none}:host .menu-sub-item.variant-button.size-compact{min-height:40px;width:50px}:host .menu-sub-item.variant-button.size-compact .menu-icon{font-size:20px}:host .menu-sub-item.variant-button.size-compact .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}@container menuitem (max-width: 60px){.menu-sub-item{gap:0}.menu-sub-item .menu-text{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
42
- trigger('openClose', [
43
- // ...
44
- state('open', style({
45
- height: 'auto',
46
- }), { params: {} }),
47
- state('closed', style({
48
- height: '0',
49
- }), { params: {} }),
50
- transition('open <=> closed', [
51
- animate('.33s ease-in-out'),
52
- ]),
53
- ]),
54
- ] });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwMenuSubItemComponent, decorators: [{
56
- type: Component,
57
- args: [{ selector: 'fw-menu-sub-item', animations: [
58
- trigger('openClose', [
59
- // ...
60
- state('open', style({
61
- height: 'auto',
62
- }), { params: {} }),
63
- state('closed', style({
64
- height: '0',
65
- }), { params: {} }),
66
- transition('open <=> closed', [
67
- animate('.33s ease-in-out'),
68
- ]),
69
- ]),
70
- ], template: "<div\n (click)=\"handleClick($event)\" *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <div\n [ngClass]=\"['menu-sub-item', 'size-'+size, 'variant-'+variant, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host>div{display:flex;flex:1;text-decoration:none}:host h4{text-overflow:ellipsis}:host:hover:not(.selected) .menu-sub-item:not(.disabled),:host.focused:not(.selected) .menu-sub-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-sub-item:not(.disabled) .menu-icon,:host.focused:not(.selected) .menu-sub-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-sub-item:not(.disabled) .menu-text h4,:host.focused:not(.selected) .menu-sub-item:not(.disabled) .menu-text h4{color:var(--typography-base)}:host.selected .menu-sub-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .menu-sub-item .menu-icon{color:var(--primary-base)}:host.selected .menu-sub-item .menu-text h4{color:var(--typography-base)}:host.selected .menu-sub-item.variant-modern:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-43px}:host.selected .menu-sub-item.variant-modern.size-compact:before{height:16px;border-left:3px solid var(--primary-base)}:host.selected .menu-sub-item.variant-button:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-14px;margin-top:10px}:host.selected .menu-sub-item.variant-button.size-compact:before{margin-left:-15px;margin-top:4px;border-left:1px solid var(--primary-base)}:host.variant-modern.selected:before{position:absolute;content:\" \";height:25px;border-left:3px solid var(--primary-base);margin-left:-43px}:host.variant-modern.size-compact.selected:before{height:16px;border-left:3px solid var(--primary-base)}:host .menu-sub-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px 8px 8px 35px;margin:1px 4px;border-radius:4px;color:var(--typography-muted);min-height:40px;width:100%}:host .menu-sub-item .menu-icon{font-size:18px;white-space:nowrap}:host .menu-sub-item .menu-text{flex:1;overflow:hidden;padding:2px 0}:host .menu-sub-item .menu-text h4{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .menu-sub-item .menu-text p{margin:0}:host .menu-sub-item .menu-text p.description{color:var(--typography-light)}:host .menu-sub-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .menu-sub-item.size-compact{min-height:32px}:host .menu-sub-item.size-compact .menu-text .description{display:none}:host .menu-sub-item.disabled{opacity:.4;cursor:not-allowed}:host .menu-sub-item.variant-modern{padding:8px 8px 8px 43px;border-radius:6px}:host .menu-sub-item.variant-modern.size-compact{min-height:34px}:host .menu-sub-item.variant-button{height:52px;width:60px;flex-direction:column;gap:1px;padding:3px 0;border-radius:8px;display:block;text-align:center;flex:unset;white-space:nowrap;overflow:hidden;container-name:menuitem-button}:host .menu-sub-item.variant-button .menu-icon{font-size:32px}:host .menu-sub-item.variant-button .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}:host .menu-sub-item.variant-button .menu-text .description{display:none}:host .menu-sub-item.variant-button.size-compact{min-height:40px;width:50px}:host .menu-sub-item.variant-button.size-compact .menu-icon{font-size:20px}:host .menu-sub-item.variant-button.size-compact .menu-text h4{font-size:10px;font-style:normal;font-weight:400;line-height:130%}@container menuitem (max-width: 60px){.menu-sub-item{gap:0}.menu-sub-item .menu-text{opacity:0}}\n"] }]
71
- }], propDecorators: { value: [{
72
- type: Input
73
- }], size: [{
74
- type: Input
75
- }], title: [{
76
- type: Input
77
- }], description: [{
78
- type: Input
79
- }], icon: [{
80
- type: Input
81
- }], disabled: [{
82
- type: Input
83
- }], hidden: [{
84
- type: Input
85
- }], href: [{
86
- type: Input
87
- }], target: [{
88
- type: Input
89
- }], collapsed: [{
90
- type: HostBinding,
91
- args: ['class.collapsed']
92
- }, {
93
- type: Input
94
- }], click: [{
95
- type: Output
96
- }], focused: [{
97
- type: HostBinding,
98
- args: ['class.focused']
99
- }, {
100
- type: Input
101
- }], selected: [{
102
- type: HostBinding,
103
- args: ['class.selected']
104
- }, {
105
- type: Input
106
- }], variant: [{
107
- type: Input
108
- }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1zdWItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtc3ViLWl0ZW0vbWVudS1zdWItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtc3ViLWl0ZW0vbWVudS1zdWItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUF3QnBGLE1BQU0sT0FBTyxzQkFBc0I7SUFuQm5DO1FBcUJXLFNBQUksR0FBMkIsU0FBUyxDQUFDO1FBS3pDLFdBQU0sR0FBYSxLQUFLLENBQUM7UUFJbEMsNERBQTREO1FBQ2xELFVBQUssR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM1QixZQUFPLEdBQWEsS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFDbkU7O1dBRUc7UUFDTSxZQUFPLEdBQXFDLFNBQVMsQ0FBQztLQTBCaEU7SUF4QkMsV0FBVyxDQUFDLEdBQVc7UUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN0QixPQUFPO1NBQ1I7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2YsdUVBQXVFO2dCQUN2RSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQzdDO2lCQUNJO2dCQUNILE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDbEM7WUFDRCxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdEIsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7O29IQTFDVSxzQkFBc0I7d0dBQXRCLHNCQUFzQiwwZEN6Qm5DLHl0QkFrQkEsbXVIRFJjO1FBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUNuQixNQUFNO1lBQ04sS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7Z0JBQ2xCLE1BQU0sRUFBRSxNQUFNO2FBQ2YsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ25CLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO2dCQUNwQixNQUFNLEVBQUUsR0FBRzthQUNaLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUNuQixVQUFVLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzVCLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQzthQUM1QixDQUFDO1NBQ0gsQ0FBQztLQUNIOzRGQUVVLHNCQUFzQjtrQkFuQmxDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBR2hCO3dCQUNWLE9BQU8sQ0FBQyxXQUFXLEVBQUU7NEJBQ25CLE1BQU07NEJBQ04sS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7Z0NBQ2xCLE1BQU0sRUFBRSxNQUFNOzZCQUNmLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQzs0QkFDbkIsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7Z0NBQ3BCLE1BQU0sRUFBRSxHQUFHOzZCQUNaLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQzs0QkFDbkIsVUFBVSxDQUFDLGlCQUFpQixFQUFFO2dDQUM1QixPQUFPLENBQUMsa0JBQWtCLENBQUM7NkJBQzVCLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDs4QkFHUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNtQyxTQUFTO3NCQUFqRCxXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQUcsS0FBSztnQkFFNUIsS0FBSztzQkFBZCxNQUFNO2dCQUNnQyxPQUFPO3NCQUE3QyxXQUFXO3VCQUFDLGVBQWU7O3NCQUFHLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBL0MsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUFHLEtBQUs7Z0JBSTVCLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uLnR5cGVzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51LXN1Yi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtc3ViLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LXN1Yi1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2UnLCBbXG4gICAgICAvLyAuLi5cbiAgICAgIHN0YXRlKCdvcGVuJywgc3R5bGUoe1xuICAgICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgIH0pLCB7IHBhcmFtczoge30gfSksXG4gICAgICBzdGF0ZSgnY2xvc2VkJywgc3R5bGUoe1xuICAgICAgICBoZWlnaHQ6ICcwJyxcbiAgICAgIH0pLCB7IHBhcmFtczoge30gfSksXG4gICAgICB0cmFuc2l0aW9uKCdvcGVuIDw9PiBjbG9zZWQnLCBbXG4gICAgICAgIGFuaW1hdGUoJy4zM3MgZWFzZS1pbi1vdXQnKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGd01lbnVTdWJJdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFsdWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpemU/OiAnZGVmYXVsdCcgfCAnY29tcGFjdCcgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uPzogSWNvblR5cGU7XG4gIEBJbnB1dCgpIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGlkZGVuPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBocmVmPzogc3RyaW5nO1xuICBASW5wdXQoKSB0YXJnZXQ/OiBzdHJpbmc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuY29sbGFwc2VkJykgQElucHV0KCkgY29sbGFwc2VkPzogYm9vbGVhbjtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBjbGljazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mb2N1c2VkJykgQElucHV0KCkgZm9jdXNlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpIEBJbnB1dCgpIHNlbGVjdGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgcGxlYXNlIHVzZSBmdy1uYXZiYXItc3ViLWl0ZW0gaW5zdGVhZFxuICAgKi9cbiAgQElucHV0KCkgdmFyaWFudD86ICdkZWZhdWx0JyB8ICdtb2Rlcm4nIHwgJ2J1dHRvbicgPSAnZGVmYXVsdCc7XG5cbiAgaGFuZGxlQ2xpY2soZXZ0PzogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhyZWYpIHtcbiAgICAgIGlmICh0aGlzLnRhcmdldCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHJ4LWFuZ3VsYXIvcHJlZmVyLW5vLWxheW91dC1zZW5zaXRpdmUtYXBpc1xuICAgICAgICB3aW5kb3cub3Blbih0aGlzLmhyZWYsIHRoaXMudGFyZ2V0KS5mb2N1cygpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5ocmVmO1xuICAgICAgfVxuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmNsaWNrLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxkaXZcbiAgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIiAqbmdJZj1cIiFoaWRkZW5cIlxuICBbQG9wZW5DbG9zZV09XCJ7dmFsdWU6IGNvbGxhcHNlZD8nY2xvc2VkJzonb3Blbid9XCI+XG4gIDxkaXZcbiAgICBbbmdDbGFzc109XCJbJ21lbnUtc3ViLWl0ZW0nLCAnc2l6ZS0nK3NpemUsICd2YXJpYW50LScrdmFyaWFudCwgZGlzYWJsZWQ/J2Rpc2FibGVkJzonJ11cIlxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtZW51LXRleHRcIiAqbmdJZj1cInRpdGxlXCI+XG4gICAgICA8aDQgY2xhc3M9XCJ2aXNpb24taDRcIj57eyB0aXRsZSB9fTwvaDQ+XG4gICAgICA8cCAqbmdJZj1cImRlc2NyaXB0aW9uXCIgY2xhc3M9XCJ2aXNpb24tcDQgZGVzY3JpcHRpb25cIj57eyBkZXNjcmlwdGlvbiB9fTwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwia2V5LXRleHQgdmlzaW9uLXAyXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJwXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctYmFkZ2VcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1pY29uXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctaWNvbi1idXR0b25cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,212 +0,0 @@
1
- import { animate, state, style, transition, trigger } from '@angular/animations';
2
- import { Component, ContentChild, ContentChildren, EventEmitter, Input, Output, } from '@angular/core';
3
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { FwMenuItemComponent } from './menu-item/menu-item.component';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "./menu-item/menu-item.component";
8
- export class FwMenuComponent {
9
- constructor() {
10
- this.disabled = false;
11
- this.size = 'default';
12
- this.multiSelect = false;
13
- this.useCheckbox = undefined;
14
- // eslint-disable-next-line @angular-eslint/no-output-native
15
- this.change = new EventEmitter();
16
- this.filteredItemsChange = new EventEmitter();
17
- this._filterText = '';
18
- /**
19
- * @deprecated please use fw-navbar instead
20
- */
21
- this.variant = 'default';
22
- /**
23
- * @deprecated please use fw-navbar instead
24
- */
25
- this.collapsed = false;
26
- /**
27
- * @deprecated please use fw-navbar instead
28
- */
29
- this.collapsedWidth = '44px';
30
- /**
31
- * @deprecated please use fw-navbar instead
32
- */
33
- this.openWidth = 'inherit';
34
- this.noFilterResults = false;
35
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
36
- this.onChange = (value) => {
37
- };
38
- this.onTouched = () => {
39
- };
40
- this.subscriptions = [];
41
- }
42
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
43
- ngOnChanges(changes) {
44
- this.updateLayout();
45
- }
46
- ngOnDestroy() {
47
- for (const subscription of this.subscriptions) {
48
- subscription.unsubscribe();
49
- }
50
- }
51
- ngAfterContentInit() {
52
- this.menuItems.forEach(item => {
53
- const sub = item.click.subscribe(value => this.handleSelect(value));
54
- this.subscriptions.push(sub);
55
- });
56
- const menuItemChangeSub = this.menuItems.changes.subscribe((newMenuItems) => {
57
- newMenuItems.forEach(item => {
58
- const sub = item.click.subscribe(value => this.handleSelect(value));
59
- this.subscriptions.push(sub);
60
- });
61
- this.updateLayout();
62
- });
63
- this.subscriptions.push(menuItemChangeSub);
64
- this.updateLayout();
65
- }
66
- writeValue(value) {
67
- this.value = value;
68
- this.onChange(this.value);
69
- this.change.emit(this.value);
70
- this.updateLayout();
71
- }
72
- registerOnChange(fn) {
73
- this.onChange = fn;
74
- }
75
- registerOnTouched(fn) {
76
- this.onTouched = fn;
77
- }
78
- setDisabledState(isDisabled) {
79
- this.disabled = isDisabled;
80
- }
81
- setFilter(filterText) {
82
- this._filterText = filterText;
83
- this.updateLayout();
84
- }
85
- handleSelect(value) {
86
- if (this.multiSelect) {
87
- const newValues = [...this.value];
88
- if (newValues.indexOf(value) >= 0) {
89
- newValues.splice(newValues.indexOf(value), 1);
90
- }
91
- else {
92
- newValues.push(value);
93
- }
94
- this.writeValue(newValues);
95
- }
96
- else {
97
- this.writeValue(value);
98
- }
99
- }
100
- updateLayout() {
101
- const filteredItems = [];
102
- if (this.menuItems) {
103
- this.menuItems.forEach(item => {
104
- if (this.size !== undefined) {
105
- item.size = this.size;
106
- }
107
- if (this.variant !== undefined) {
108
- item.variant = this.variant;
109
- }
110
- if (this.collapsed !== undefined) {
111
- item.collapsed = this.collapsed;
112
- }
113
- if (this.useCheckbox !== undefined) {
114
- item.showCheckbox = this.useCheckbox;
115
- }
116
- if (this.multiSelect !== undefined) {
117
- item.multiSelect = this.multiSelect;
118
- }
119
- item.disabled = this.disabled;
120
- if (this.value !== undefined) {
121
- item.selected = Array.isArray(this.value) ? this.value.includes(item.value) : this.value === item.value;
122
- }
123
- item.subItems.forEach(sub => {
124
- sub.selected = Array.isArray(this.value) ? this.value.includes(sub.value) : this.value === sub.value;
125
- });
126
- if (this._filterText && this._filterText.length > 0 && item.title) {
127
- item.hidden = !item.title.toLowerCase().includes(this._filterText.toLowerCase());
128
- if (!item.hidden) {
129
- filteredItems.push(item);
130
- }
131
- }
132
- else {
133
- item.hidden = false;
134
- }
135
- item.updateLayout();
136
- });
137
- }
138
- setTimeout(() => {
139
- this.noFilterResults = this._filterText && filteredItems.length === 0 && !this.menuContentWrapper?.nativeElement.children.length;
140
- this.filteredItemsChange.emit(filteredItems);
141
- });
142
- }
143
- }
144
- FwMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
145
- FwMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FwMenuComponent, selector: "fw-menu", inputs: { disabled: "disabled", size: "size", multiSelect: "multiSelect", useCheckbox: "useCheckbox", value: "value", variant: "variant", collapsed: "collapsed", collapsedWidth: "collapsedWidth", openWidth: "openWidth" }, outputs: { change: "change", filteredItemsChange: "filteredItemsChange" }, providers: [{
146
- provide: NG_VALUE_ACCESSOR,
147
- useExisting: FwMenuComponent,
148
- multi: true,
149
- }], queries: [{ propertyName: "menuContentWrapper", first: true, predicate: ["menuContentWrapper"], descendants: true }, { propertyName: "menuItems", predicate: FwMenuItemComponent }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"fw-menu\"\n [@openClose]=\"{value: collapsed?'closed':'open', params: {openWidth: openWidth || 'inherit', collapsedWidth: collapsedWidth || '44px'}}\">\n <fw-menu-item *ngIf=\"noFilterResults\" title=\"No Results Found\" [disabled]=\"true\"></fw-menu-item>\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:flex;flex-direction:column;max-height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FwMenuItemComponent, selector: "fw-menu-item", inputs: ["value", "size", "title", "description", "icon", "iconColor", "disabled", "showCheckbox", "checkboxColor", "multiSelect", "hidden", "collapsed", "href", "target", "subItemsOpen", "focused", "selected", "variant"], outputs: ["click"] }], animations: [
150
- trigger('openClose', [
151
- // ...
152
- state('open', style({
153
- width: '{{openWidth}}',
154
- }), { params: { openWidth: '200px' } }),
155
- state('closed', style({
156
- width: '{{collapsedWidth}}',
157
- }), { params: { collapsedWidth: '44px' } }),
158
- transition('open <=> closed', [
159
- animate('.33s ease-in-out'),
160
- ]),
161
- ]),
162
- ] });
163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwMenuComponent, decorators: [{
164
- type: Component,
165
- args: [{ selector: 'fw-menu', providers: [{
166
- provide: NG_VALUE_ACCESSOR,
167
- useExisting: FwMenuComponent,
168
- multi: true,
169
- }], animations: [
170
- trigger('openClose', [
171
- // ...
172
- state('open', style({
173
- width: '{{openWidth}}',
174
- }), { params: { openWidth: '200px' } }),
175
- state('closed', style({
176
- width: '{{collapsedWidth}}',
177
- }), { params: { collapsedWidth: '44px' } }),
178
- transition('open <=> closed', [
179
- animate('.33s ease-in-out'),
180
- ]),
181
- ]),
182
- ], template: "<div\n class=\"fw-menu\"\n [@openClose]=\"{value: collapsed?'closed':'open', params: {openWidth: openWidth || 'inherit', collapsedWidth: collapsedWidth || '44px'}}\">\n <fw-menu-item *ngIf=\"noFilterResults\" title=\"No Results Found\" [disabled]=\"true\"></fw-menu-item>\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:flex;flex-direction:column;max-height:100%}\n"] }]
183
- }], propDecorators: { disabled: [{
184
- type: Input
185
- }], size: [{
186
- type: Input
187
- }], multiSelect: [{
188
- type: Input
189
- }], useCheckbox: [{
190
- type: Input
191
- }], value: [{
192
- type: Input
193
- }], change: [{
194
- type: Output
195
- }], filteredItemsChange: [{
196
- type: Output
197
- }], menuItems: [{
198
- type: ContentChildren,
199
- args: [FwMenuItemComponent]
200
- }], menuContentWrapper: [{
201
- type: ContentChild,
202
- args: ['menuContentWrapper']
203
- }], variant: [{
204
- type: Input
205
- }], collapsed: [{
206
- type: Input
207
- }], collapsedWidth: [{
208
- type: Input
209
- }], openWidth: [{
210
- type: Input
211
- }] } });
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbWVudS9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUdQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQTBCdEUsTUFBTSxPQUFPLGVBQWU7SUF4QjVCO1FBeUJXLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsU0FBSSxHQUEyQixTQUFTLENBQUM7UUFDekMsZ0JBQVcsR0FBYSxLQUFLLENBQUM7UUFDOUIsZ0JBQVcsR0FBYSxTQUFTLENBQUM7UUFFM0MsNERBQTREO1FBQ2xELFdBQU0sR0FBb0MsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDaEYsd0JBQW1CLEdBQXdDLElBQUksWUFBWSxFQUF5QixDQUFDO1FBSXZHLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ2pDOztXQUVHO1FBQ00sWUFBTyxHQUFxQyxTQUFTLENBQUM7UUFDL0Q7O1dBRUc7UUFDTSxjQUFTLEdBQWEsS0FBSyxDQUFDO1FBQ3JDOztXQUVHO1FBQ00sbUJBQWMsR0FBWSxNQUFNLENBQUM7UUFDMUM7O1dBRUc7UUFDTSxjQUFTLEdBQVksU0FBUyxDQUFDO1FBRXhDLG9CQUFlLEdBQUcsS0FBSyxDQUFD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QUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDOzRCQUN2QyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztnQ0FDcEIsS0FBSyxFQUFFLG9CQUFvQjs2QkFDNUIsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7NEJBQzNDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRTtnQ0FDNUIsT0FBTyxDQUFDLGtCQUFrQixDQUFDOzZCQUM1QixDQUFDO3lCQUNILENBQUM7cUJBQ0g7OEJBR1EsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUMrQixTQUFTO3NCQUE5QyxlQUFlO3VCQUFDLG1CQUFtQjtnQkFDQSxrQkFBa0I7c0JBQXJELFlBQVk7dUJBQUMsb0JBQW9CO2dCQU16QixPQUFPO3NCQUFmLEtBQUs7Z0JBSUcsU0FBUztzQkFBakIsS0FBSztnQkFJRyxjQUFjO3NCQUF0QixLQUFLO2dCQUlHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRndNZW51SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS1pdGVtL21lbnUtaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogRndNZW51Q29tcG9uZW50LFxuICAgIG11bHRpOiB0cnVlLFxuICB9XSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ29wZW5DbG9zZScsIFtcbiAgICAgIC8vIC4uLlxuICAgICAgc3RhdGUoJ29wZW4nLCBzdHlsZSh7XG4gICAgICAgIHdpZHRoOiAne3tvcGVuV2lkdGh9fScsXG4gICAgICB9KSwgeyBwYXJhbXM6IHsgb3BlbldpZHRoOiAnMjAwcHgnIH0gfSksXG4gICAgICBzdGF0ZSgnY2xvc2VkJywgc3R5bGUoe1xuICAgICAgICB3aWR0aDogJ3t7Y29sbGFwc2VkV2lkdGh9fScsXG4gICAgICB9KSwgeyBwYXJhbXM6IHsgY29sbGFwc2VkV2lkdGg6ICc0NHB4JyB9IH0pLFxuICAgICAgdHJhbnNpdGlvbignb3BlbiA8PT4gY2xvc2VkJywgW1xuICAgICAgICBhbmltYXRlKCcuMzNzIGVhc2UtaW4tb3V0JyksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRndNZW51Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgc2l6ZT86ICdkZWZhdWx0JyB8ICdjb21wYWN0JyA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgbXVsdGlTZWxlY3Q/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHVzZUNoZWNrYm94PzogYm9vbGVhbiA9IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgdmFsdWU/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBzdHJpbmdbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IHN0cmluZ1tdPigpO1xuICBAT3V0cHV0KCkgZmlsdGVyZWRJdGVtc0NoYW5nZTogRXZlbnRFbWl0dGVyPEZ3TWVudUl0ZW1Db21wb25lbnRbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPEZ3TWVudUl0ZW1Db21wb25lbnRbXT4oKTtcbiAgQENvbnRlbnRDaGlsZHJlbihGd01lbnVJdGVtQ29tcG9uZW50KSBtZW51SXRlbXM6IFF1ZXJ5TGlzdDxGd01lbnVJdGVtQ29tcG9uZW50PjtcbiAgQENvbnRlbnRDaGlsZCgnbWVudUNvbnRlbnRXcmFwcGVyJykgbWVudUNvbnRlbnRXcmFwcGVyOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgX2ZpbHRlclRleHQ6IHN0cmluZyA9ICcnO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgcGxlYXNlIHVzZSBmdy1uYXZiYXIgaW5zdGVhZFxuICAgKi9cbiAgQElucHV0KCkgdmFyaWFudD86ICdkZWZhdWx0JyB8ICdtb2Rlcm4nIHwgJ2J1dHRvbicgPSAnZGVmYXVsdCc7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBwbGVhc2UgdXNlIGZ3LW5hdmJhciBpbnN0ZWFkXG4gICAqL1xuICBASW5wdXQoKSBjb2xsYXBzZWQ/OiBib29sZWFuID0gZmFsc2U7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBwbGVhc2UgdXNlIGZ3LW5hdmJhciBpbnN0ZWFkXG4gICAqL1xuICBASW5wdXQoKSBjb2xsYXBzZWRXaWR0aD86IHN0cmluZyA9ICc0NHB4JztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHBsZWFzZSB1c2UgZnctbmF2YmFyIGluc3RlYWRcbiAgICovXG4gIEBJbnB1dCgpIG9wZW5XaWR0aD86IHN0cmluZyA9ICdpbmhlcml0JztcblxuICBub0ZpbHRlclJlc3VsdHMgPSBmYWxzZTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIG9uQ2hhbmdlID0gKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQgPT4ge1xuICB9O1xuXG4gIG9uVG91Y2hlZCA9ICgpOiB2b2lkID0+IHtcbiAgfTtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVMYXlvdXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHRoaXMuc3Vic2NyaXB0aW9ucykge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMubWVudUl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCBzdWIgPSBpdGVtLmNsaWNrLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLmhhbmRsZVNlbGVjdCh2YWx1ZSkpO1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3ViKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG1lbnVJdGVtQ2hhbmdlU3ViID0gdGhpcy5tZW51SXRlbXMuY2hhbmdlcy5zdWJzY3JpYmUoKG5ld01lbnVJdGVtcykgPT4ge1xuICAgICAgbmV3TWVudUl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IHN1YiA9IGl0ZW0uY2xpY2suc3Vic2NyaWJlKHZhbHVlID0+IHRoaXMuaGFuZGxlU2VsZWN0KHZhbHVlKSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1Yik7XG4gICAgICB9KTtcbiAgICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChtZW51SXRlbUNoYW5nZVN1Yik7XG5cbiAgICB0aGlzLnVwZGF0ZUxheW91dCgpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgc2V0RmlsdGVyKGZpbHRlclRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX2ZpbHRlclRleHQgPSBmaWx0ZXJUZXh0O1xuICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7XG4gIH1cblxuICBoYW5kbGVTZWxlY3QodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLm11bHRpU2VsZWN0KSB7XG4gICAgICBjb25zdCBuZXdWYWx1ZXMgPSBbLi4udGhpcy52YWx1ZV07XG4gICAgICBpZiAobmV3VmFsdWVzLmluZGV4T2YodmFsdWUpID49IDApIHtcbiAgICAgICAgbmV3VmFsdWVzLnNwbGljZShuZXdWYWx1ZXMuaW5kZXhPZih2YWx1ZSksIDEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3VmFsdWVzLnB1c2godmFsdWUpO1xuICAgICAgfVxuICAgICAgdGhpcy53cml0ZVZhbHVlKG5ld1ZhbHVlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlTGF5b3V0KCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlcmVkSXRlbXMgPSBbXTtcbiAgICBpZiAodGhpcy5tZW51SXRlbXMpIHtcbiAgICAgIHRoaXMubWVudUl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNpemUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGl0ZW0uc2l6ZSA9IHRoaXMuc2l6ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy52YXJpYW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpdGVtLnZhcmlhbnQgPSB0aGlzLnZhcmlhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY29sbGFwc2VkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpdGVtLmNvbGxhcHNlZCA9IHRoaXMuY29sbGFwc2VkO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnVzZUNoZWNrYm94ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpdGVtLnNob3dDaGVja2JveCA9IHRoaXMudXNlQ2hlY2tib3g7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubXVsdGlTZWxlY3QgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGl0ZW0ubXVsdGlTZWxlY3QgPSB0aGlzLm11bHRpU2VsZWN0O1xuICAgICAgICB9XG4gICAgICAgIGl0ZW0uZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkO1xuICAgICAgICBpZiAodGhpcy52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaXRlbS5zZWxlY3RlZCA9IEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkgPyB0aGlzLnZhbHVlLmluY2x1ZGVzKGl0ZW0udmFsdWUpIDogdGhpcy52YWx1ZSA9PT0gaXRlbS52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpdGVtLnN1Ykl0ZW1zLmZvckVhY2goc3ViID0+IHtcbiAgICAgICAgICBzdWIuc2VsZWN0ZWQgPSBBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpID8gdGhpcy52YWx1ZS5pbmNsdWRlcyhzdWIudmFsdWUpIDogdGhpcy52YWx1ZSA9PT0gc3ViLnZhbHVlO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHRoaXMuX2ZpbHRlclRleHQgJiYgdGhpcy5fZmlsdGVyVGV4dC5sZW5ndGggPiAwICYmIGl0ZW0udGl0bGUpIHtcbiAgICAgICAgICBpdGVtLmhpZGRlbiA9ICFpdGVtLnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5fZmlsdGVyVGV4dC50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgICBpZiAoIWl0ZW0uaGlkZGVuKSB7XG4gICAgICAgICAgICBmaWx0ZXJlZEl0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW0uaGlkZGVuID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaXRlbS51cGRhdGVMYXlvdXQoKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5ub0ZpbHRlclJlc3VsdHMgPSB0aGlzLl9maWx0ZXJUZXh0ICYmIGZpbHRlcmVkSXRlbXMubGVuZ3RoID09PSAwICYmICF0aGlzLm1lbnVDb250ZW50V3JhcHBlcj8ubmF0aXZlRWxlbWVudC5jaGlsZHJlbi5sZW5ndGg7XG4gICAgICB0aGlzLmZpbHRlcmVkSXRlbXNDaGFuZ2UuZW1pdChmaWx0ZXJlZEl0ZW1zKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImZ3LW1lbnVcIlxuICBbQG9wZW5DbG9zZV09XCJ7dmFsdWU6IGNvbGxhcHNlZD8nY2xvc2VkJzonb3BlbicsIHBhcmFtczoge29wZW5XaWR0aDogb3BlbldpZHRoIHx8ICdpbmhlcml0JywgY29sbGFwc2VkV2lkdGg6IGNvbGxhcHNlZFdpZHRoIHx8ICc0NHB4J319XCI+XG4gIDxmdy1tZW51LWl0ZW0gKm5nSWY9XCJub0ZpbHRlclJlc3VsdHNcIiB0aXRsZT1cIk5vIFJlc3VsdHMgRm91bmRcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPjwvZnctbWVudS1pdGVtPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==