@flywheel-io/vision 2.0.0-beta.8 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/color.utils.d.ts +2 -0
  2. package/components/alert/alert.component.d.ts +1 -1
  3. package/components/app-icon/app-icon.component.d.ts +1 -1
  4. package/components/avatar/avatar.component.d.ts +7 -2
  5. package/components/badge/badge.component.d.ts +1 -1
  6. package/components/breadcrumbs/crumb.component.d.ts +1 -1
  7. package/components/button/button.component.d.ts +1 -1
  8. package/components/button-group/button-group.component.d.ts +1 -1
  9. package/components/button-toggle/button-toggle-item/button-toggle-item.component.d.ts +1 -1
  10. package/components/button-toggle/button-toggle.component.d.ts +1 -1
  11. package/components/card/card-attribute/card-attribute.component.d.ts +1 -1
  12. package/components/card/card-author/card-author.component.d.ts +1 -1
  13. package/components/card/card-header/card-header.component.d.ts +1 -1
  14. package/components/card/card.component.d.ts +1 -1
  15. package/components/checkbox/checkbox.component.d.ts +1 -1
  16. package/components/chip/chip.component.d.ts +1 -1
  17. package/components/contained-input/contained-input.component.d.ts +1 -1
  18. package/components/date-input/date-input.component.d.ts +1 -1
  19. package/components/dialog/dialog-confirm.component.d.ts +1 -1
  20. package/components/dialog/dialog-content.component.d.ts +1 -1
  21. package/components/dialog/dialog-simple.component.d.ts +1 -1
  22. package/components/dialog/dialog.component.d.ts +1 -1
  23. package/components/form-heading/form-heading.component.d.ts +1 -1
  24. package/components/icon/icon.component.d.ts +1 -1
  25. package/components/icon/icon.types.d.ts +1 -1
  26. package/components/icon-button/icon-button.component.d.ts +1 -1
  27. package/components/layouts/context/context.component.d.ts +1 -1
  28. package/components/layouts/grid/grid.component.d.ts +1 -1
  29. package/components/layouts/layout-group.component.d.ts +1 -1
  30. package/components/layouts/panel/panel.component.d.ts +1 -1
  31. package/components/layouts/sidebar/sidebar.component.d.ts +1 -1
  32. package/components/layouts/toolbar/toolbar.component.d.ts +1 -1
  33. package/components/menu/menu-container/menu-container.component.d.ts +26 -11
  34. package/components/menu/menu-item/menu-item.component.d.ts +5 -6
  35. package/components/menu/menu-item-group/menu-item-group.component.d.ts +1 -1
  36. package/components/menu/menu-sub-item/menu-sub-item.component.d.ts +1 -5
  37. package/components/menu/menu.component.d.ts +3 -23
  38. package/components/navbar/navbar-item/navbar-item.component.d.ts +1 -1
  39. package/components/navbar/navbar-sub-item/navbar-sub-item.component.d.ts +1 -1
  40. package/components/navbar/navbar.component.d.ts +1 -1
  41. package/components/number-input/number-input.component.d.ts +1 -1
  42. package/components/paginator/paginator-advanced/paginator-advanced.component.d.ts +1 -1
  43. package/components/paginator/paginator.component.d.ts +6 -3
  44. package/components/phone-input/phone-input.component.d.ts +1 -1
  45. package/components/phone-input/phone-input.model.d.ts +1 -1
  46. package/components/popover/popover-panel/popover-panel.component.d.ts +1 -1
  47. package/components/popover/popover.component.d.ts +1 -1
  48. package/components/progress/bar/bar.component.d.ts +1 -1
  49. package/components/progress/spinner/spinner.component.d.ts +1 -1
  50. package/components/radio/radio-group.component.d.ts +1 -1
  51. package/components/radio/radio.component.d.ts +1 -1
  52. package/components/section-heading/back-button/back-button.component.d.ts +1 -1
  53. package/components/section-heading/section-heading.component.d.ts +1 -1
  54. package/components/section-heading/subsection-heading/subsection-heading.component.d.ts +1 -1
  55. package/components/select-menu/multi-select-menu/multi-select-menu.component.d.ts +39 -22
  56. package/components/select-menu/select-menu.component.d.ts +1 -1
  57. package/components/select-menu/select-menu.module.d.ts +7 -6
  58. package/components/snackbar/snackbar/snackbar.component.d.ts +1 -1
  59. package/components/stepper/step.component.d.ts +1 -1
  60. package/components/stepper/stepper.component.d.ts +1 -1
  61. package/components/switch/switch.component.d.ts +1 -1
  62. package/components/table/cell.d.ts +1 -1
  63. package/components/table/row.d.ts +3 -5
  64. package/components/tabs/tab/tab.component.d.ts +1 -1
  65. package/components/tabs/tab-panel/tab-panel.component.d.ts +1 -1
  66. package/components/tabs/tabs.component.d.ts +1 -1
  67. package/components/text-input/text-input.component.d.ts +9 -6
  68. package/components/textarea-input/textarea-input.component.d.ts +1 -1
  69. package/components/tooltip/tooltip-panel/tooltip-panel.component.d.ts +1 -1
  70. package/components/tooltip/tooltip.component.d.ts +1 -1
  71. package/components/wrapped-input/wrapped-input.component.d.ts +1 -1
  72. package/esm2022/color.utils.mjs +45 -0
  73. package/{esm2020 → esm2022}/components/alert/alert.component.mjs +4 -4
  74. package/{esm2020 → esm2022}/components/alert/alert.module.mjs +9 -9
  75. package/{esm2020 → esm2022}/components/app-icon/app-icon.component.mjs +4 -4
  76. package/{esm2020 → esm2022}/components/app-icon/app-icon.module.mjs +7 -7
  77. package/esm2022/components/avatar/avatar.component.mjs +66 -0
  78. package/{esm2020 → esm2022}/components/avatar/avatar.module.mjs +7 -7
  79. package/esm2022/components/badge/badge.component.mjs +45 -0
  80. package/{esm2020 → esm2022}/components/badge/badge.module.mjs +5 -5
  81. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +22 -0
  82. package/{esm2020 → esm2022}/components/breadcrumbs/breadcrumbs.module.mjs +9 -9
  83. package/esm2022/components/breadcrumbs/crumb.component.mjs +34 -0
  84. package/{esm2020 → esm2022}/components/button/button.component.mjs +4 -4
  85. package/esm2022/components/button/button.directives.mjs +129 -0
  86. package/{esm2020 → esm2022}/components/button/button.module.mjs +21 -21
  87. package/esm2022/components/button-group/button-group.component.mjs +131 -0
  88. package/{esm2020 → esm2022}/components/button-group/button-group.module.mjs +9 -9
  89. package/esm2022/components/button-toggle/button-toggle-item/button-toggle-item.component.mjs +54 -0
  90. package/esm2022/components/button-toggle/button-toggle.component.mjs +137 -0
  91. package/{esm2020 → esm2022}/components/button-toggle/button-toggle.module.mjs +9 -9
  92. package/{esm2020 → esm2022}/components/card/card-attribute/card-attribute.component.mjs +4 -4
  93. package/{esm2020 → esm2022}/components/card/card-author/card-author.component.mjs +4 -4
  94. package/{esm2020 → esm2022}/components/card/card-content/card-content.component.mjs +4 -4
  95. package/{esm2020 → esm2022}/components/card/card-footer/card-footer.component.mjs +8 -8
  96. package/{esm2020 → esm2022}/components/card/card-header/card-header.component.mjs +4 -4
  97. package/{esm2020 → esm2022}/components/card/card.component.mjs +4 -4
  98. package/{esm2020 → esm2022}/components/card/card.module.mjs +19 -19
  99. package/esm2022/components/checkbox/checkbox.component.mjs +79 -0
  100. package/{esm2020 → esm2022}/components/checkbox/checkbox.module.mjs +9 -9
  101. package/esm2022/components/chip/chip.component.mjs +52 -0
  102. package/{esm2020 → esm2022}/components/chip/chip.module.mjs +9 -9
  103. package/esm2022/components/contained-input/contained-input.component.mjs +86 -0
  104. package/{esm2020 → esm2022}/components/contained-input/contained-input.module.mjs +13 -13
  105. package/esm2022/components/date-input/date-input.component.mjs +139 -0
  106. package/{esm2020 → esm2022}/components/date-input/date-input.module.mjs +9 -9
  107. package/{esm2020 → esm2022}/components/dialog/dialog-actions.component.mjs +9 -9
  108. package/{esm2020 → esm2022}/components/dialog/dialog-confirm.component.mjs +6 -6
  109. package/esm2022/components/dialog/dialog-content.component.mjs +38 -0
  110. package/{esm2020 → esm2022}/components/dialog/dialog-header.component.mjs +9 -9
  111. package/{esm2020 → esm2022}/components/dialog/dialog-simple.component.mjs +6 -6
  112. package/{esm2020 → esm2022}/components/dialog/dialog.component.mjs +7 -7
  113. package/{esm2020 → esm2022}/components/dialog/dialog.service.mjs +6 -6
  114. package/{esm2020 → esm2022}/components/dialog/dialogs.module.mjs +27 -27
  115. package/{esm2020 → esm2022}/components/form-heading/form-heading.component.mjs +5 -5
  116. package/{esm2020 → esm2022}/components/form-heading/form-heading.module.mjs +9 -9
  117. package/esm2022/components/forms/validators.mjs +81 -0
  118. package/esm2022/components/icon/icon.component.mjs +61 -0
  119. package/{esm2020 → esm2022}/components/icon/icon.module.mjs +5 -5
  120. package/{esm2020 → esm2022}/components/icon-button/icon-button.component.mjs +4 -4
  121. package/{esm2020 → esm2022}/components/icon-button/icon-button.module.mjs +7 -7
  122. package/esm2022/components/layouts/context/context.component.mjs +46 -0
  123. package/{esm2020 → esm2022}/components/layouts/grid/grid.component.mjs +7 -7
  124. package/esm2022/components/layouts/layout-group.component.mjs +36 -0
  125. package/{esm2020 → esm2022}/components/layouts/layouts.module.mjs +19 -19
  126. package/{esm2020 → esm2022}/components/layouts/panel/panel.component.mjs +5 -5
  127. package/{esm2020 → esm2022}/components/layouts/sidebar/sidebar.component.mjs +4 -4
  128. package/{esm2020 → esm2022}/components/layouts/toolbar/toolbar.component.mjs +4 -4
  129. package/esm2022/components/menu/menu-close-triggers.directive.mjs +38 -0
  130. package/esm2022/components/menu/menu-container/menu-container.component.mjs +126 -0
  131. package/{esm2020 → esm2022}/components/menu/menu-header/menu-header.component.mjs +4 -4
  132. package/esm2022/components/menu/menu-item/menu-item.component.mjs +134 -0
  133. package/{esm2020 → esm2022}/components/menu/menu-item-group/menu-item-group.component.mjs +5 -5
  134. package/{esm2020 → esm2022}/components/menu/menu-separator/menu-separator.component.mjs +4 -4
  135. package/esm2022/components/menu/menu-sub-item/menu-sub-item.component.mjs +103 -0
  136. package/esm2022/components/menu/menu.component.mjs +129 -0
  137. package/{esm2020 → esm2022}/components/menu/menu.module.mjs +37 -37
  138. package/{esm2020 → esm2022}/components/navbar/navbar-header/navbar-header.component.mjs +4 -4
  139. package/esm2022/components/navbar/navbar-item/navbar-item.component.mjs +95 -0
  140. package/esm2022/components/navbar/navbar-sub-item/navbar-sub-item.component.mjs +76 -0
  141. package/esm2022/components/navbar/navbar.component.mjs +75 -0
  142. package/{esm2020 → esm2022}/components/navbar/navbar.module.mjs +25 -25
  143. package/esm2022/components/number-input/number-input.component.mjs +122 -0
  144. package/{esm2020 → esm2022}/components/number-input/number-input.module.mjs +9 -9
  145. package/esm2022/components/paginator/paginator-advanced/paginator-advanced.component.mjs +123 -0
  146. package/esm2022/components/paginator/paginator.component.mjs +133 -0
  147. package/{esm2020 → esm2022}/components/paginator/paginator.module.mjs +17 -17
  148. package/esm2022/components/phone-input/phone-input.component.mjs +285 -0
  149. package/{esm2020 → esm2022}/components/phone-input/phone-input.module.mjs +17 -17
  150. package/{esm2020 → esm2022}/components/popover/popover-panel/popover-panel.component.mjs +4 -4
  151. package/esm2022/components/popover/popover.component.mjs +76 -0
  152. package/{esm2020 → esm2022}/components/popover/popover.module.mjs +13 -13
  153. package/{esm2020 → esm2022}/components/progress/bar/bar.component.mjs +5 -5
  154. package/{esm2020 → esm2022}/components/progress/progress.module.mjs +7 -7
  155. package/esm2022/components/progress/spinner/spinner.component.mjs +101 -0
  156. package/esm2022/components/radio/radio-group.component.mjs +117 -0
  157. package/esm2022/components/radio/radio.component.mjs +51 -0
  158. package/{esm2020 → esm2022}/components/radio/radio.module.mjs +11 -11
  159. package/esm2022/components/section-heading/back-button/back-button.component.mjs +30 -0
  160. package/{esm2020 → esm2022}/components/section-heading/section-heading.component.mjs +5 -5
  161. package/{esm2020 → esm2022}/components/section-heading/section-heading.module.mjs +13 -13
  162. package/{esm2020 → esm2022}/components/section-heading/subsection-heading/subsection-heading.component.mjs +5 -5
  163. package/esm2022/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +354 -0
  164. package/esm2022/components/select-menu/select-menu.component.mjs +332 -0
  165. package/esm2022/components/select-menu/select-menu.module.mjs +60 -0
  166. package/esm2022/components/shared/pipes/pipes.module.mjs +36 -0
  167. package/esm2022/components/shared/pipes/translate.pipe.mjs +40 -0
  168. package/{esm2020 → esm2022}/components/shared/pipes/trusthtml.pipe.mjs +5 -5
  169. package/esm2022/components/shared/services/menu-manager.service.mjs +27 -0
  170. package/esm2022/components/shared/translation.service.mjs +26 -0
  171. package/esm2022/components/snackbar/snackbar/snackbar.component.mjs +111 -0
  172. package/esm2022/components/snackbar/snackbar-container/snackbar-container.component.mjs +63 -0
  173. package/{esm2020 → esm2022}/components/snackbar/snackbar.module.mjs +15 -15
  174. package/esm2022/components/snackbar/snackbar.service.mjs +36 -0
  175. package/esm2022/components/stepper/step.component.mjs +113 -0
  176. package/esm2022/components/stepper/stepper.component.mjs +95 -0
  177. package/{esm2020 → esm2022}/components/stepper/stepper.module.mjs +13 -13
  178. package/esm2022/components/switch/switch.component.mjs +73 -0
  179. package/{esm2020 → esm2022}/components/switch/switch.module.mjs +5 -5
  180. package/{esm2020 → esm2022}/components/table/cell.mjs +24 -24
  181. package/esm2022/components/table/row.mjs +164 -0
  182. package/esm2022/components/table/table-dense.component.mjs +38 -0
  183. package/esm2022/components/table/table.component.mjs +38 -0
  184. package/{esm2020 → esm2022}/components/table/table.module.mjs +37 -37
  185. package/esm2022/components/tabs/tab/tab.component.mjs +79 -0
  186. package/{esm2020 → esm2022}/components/tabs/tab-panel/tab-panel.component.mjs +4 -4
  187. package/esm2022/components/tabs/tabs.component.mjs +68 -0
  188. package/{esm2020 → esm2022}/components/tabs/tabs.module.mjs +11 -11
  189. package/esm2022/components/text-input/text-input.component.mjs +125 -0
  190. package/{esm2020 → esm2022}/components/text-input/text-input.module.mjs +9 -9
  191. package/esm2022/components/textarea-input/textarea-input.component.mjs +86 -0
  192. package/{esm2020 → esm2022}/components/textarea-input/textarea-input.module.mjs +11 -11
  193. package/{esm2020 → esm2022}/components/tooltip/tooltip-panel/tooltip-panel.component.mjs +4 -4
  194. package/{esm2020 → esm2022}/components/tooltip/tooltip.component.mjs +5 -5
  195. package/{esm2020 → esm2022}/components/tooltip/tooltip.module.mjs +13 -13
  196. package/{esm2020 → esm2022}/components/wrapped-input/wrapped-input.component.mjs +4 -4
  197. package/{esm2020 → esm2022}/components/wrapped-input/wrapped-input.module.mjs +7 -7
  198. package/{esm2020 → esm2022}/directives/menu-register.directive.mjs +6 -6
  199. package/{fesm2020 → fesm2022}/flywheel-io-vision.mjs +1512 -1505
  200. package/fesm2022/flywheel-io-vision.mjs.map +1 -0
  201. package/global.scss +1 -0
  202. package/package.json +9 -12
  203. package/styles.css +5 -0
  204. package/esm2020/components/avatar/avatar.component.mjs +0 -53
  205. package/esm2020/components/badge/badge.component.mjs +0 -45
  206. package/esm2020/components/breadcrumbs/breadcrumbs.component.mjs +0 -22
  207. package/esm2020/components/breadcrumbs/crumb.component.mjs +0 -34
  208. package/esm2020/components/button/button.directives.mjs +0 -129
  209. package/esm2020/components/button-group/button-group.component.mjs +0 -131
  210. package/esm2020/components/button-toggle/button-toggle-item/button-toggle-item.component.mjs +0 -54
  211. package/esm2020/components/button-toggle/button-toggle.component.mjs +0 -137
  212. package/esm2020/components/checkbox/checkbox.component.mjs +0 -79
  213. package/esm2020/components/chip/chip.component.mjs +0 -52
  214. package/esm2020/components/contained-input/contained-input.component.mjs +0 -86
  215. package/esm2020/components/date-input/date-input.component.mjs +0 -139
  216. package/esm2020/components/dialog/dialog-content.component.mjs +0 -38
  217. package/esm2020/components/forms/validators.mjs +0 -81
  218. package/esm2020/components/icon/icon.component.mjs +0 -61
  219. package/esm2020/components/layouts/context/context.component.mjs +0 -46
  220. package/esm2020/components/layouts/layout-group.component.mjs +0 -36
  221. package/esm2020/components/menu/menu-close-triggers.directive.mjs +0 -38
  222. package/esm2020/components/menu/menu-container/menu-container.component.mjs +0 -90
  223. package/esm2020/components/menu/menu-item/menu-item.component.mjs +0 -136
  224. package/esm2020/components/menu/menu-sub-item/menu-sub-item.component.mjs +0 -109
  225. package/esm2020/components/menu/menu.component.mjs +0 -212
  226. package/esm2020/components/navbar/navbar-item/navbar-item.component.mjs +0 -95
  227. package/esm2020/components/navbar/navbar-sub-item/navbar-sub-item.component.mjs +0 -76
  228. package/esm2020/components/navbar/navbar.component.mjs +0 -75
  229. package/esm2020/components/number-input/number-input.component.mjs +0 -122
  230. package/esm2020/components/paginator/paginator-advanced/paginator-advanced.component.mjs +0 -123
  231. package/esm2020/components/paginator/paginator.component.mjs +0 -133
  232. package/esm2020/components/phone-input/phone-input.component.mjs +0 -285
  233. package/esm2020/components/popover/popover.component.mjs +0 -76
  234. package/esm2020/components/progress/spinner/spinner.component.mjs +0 -101
  235. package/esm2020/components/radio/radio-group.component.mjs +0 -117
  236. package/esm2020/components/radio/radio.component.mjs +0 -51
  237. package/esm2020/components/section-heading/back-button/back-button.component.mjs +0 -30
  238. package/esm2020/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +0 -357
  239. package/esm2020/components/select-menu/select-menu.component.mjs +0 -332
  240. package/esm2020/components/select-menu/select-menu.module.mjs +0 -56
  241. package/esm2020/components/shared/pipes/pipes.module.mjs +0 -36
  242. package/esm2020/components/shared/pipes/translate.pipe.mjs +0 -40
  243. package/esm2020/components/shared/services/menu-manager.service.mjs +0 -27
  244. package/esm2020/components/shared/translation.service.mjs +0 -26
  245. package/esm2020/components/snackbar/snackbar/snackbar.component.mjs +0 -111
  246. package/esm2020/components/snackbar/snackbar-container/snackbar-container.component.mjs +0 -63
  247. package/esm2020/components/snackbar/snackbar.service.mjs +0 -36
  248. package/esm2020/components/stepper/step.component.mjs +0 -113
  249. package/esm2020/components/stepper/stepper.component.mjs +0 -95
  250. package/esm2020/components/switch/switch.component.mjs +0 -73
  251. package/esm2020/components/table/row.mjs +0 -170
  252. package/esm2020/components/table/table-dense.component.mjs +0 -38
  253. package/esm2020/components/table/table.component.mjs +0 -38
  254. package/esm2020/components/tabs/tab/tab.component.mjs +0 -79
  255. package/esm2020/components/tabs/tabs.component.mjs +0 -68
  256. package/esm2020/components/text-input/text-input.component.mjs +0 -112
  257. package/esm2020/components/textarea-input/textarea-input.component.mjs +0 -86
  258. package/fesm2015/flywheel-io-vision.mjs +0 -8126
  259. package/fesm2015/flywheel-io-vision.mjs.map +0 -1
  260. package/fesm2020/flywheel-io-vision.mjs.map +0 -1
  261. package/flywheel-io-vision-2.0.0-beta.8.tgz +0 -0
  262. /package/{esm2020 → esm2022}/components/icon/icon.types.mjs +0 -0
  263. /package/{esm2020 → esm2022}/components/paginator/paginator.model.mjs +0 -0
  264. /package/{esm2020 → esm2022}/components/phone-input/country-code.data.mjs +0 -0
  265. /package/{esm2020 → esm2022}/components/phone-input/phone-input.model.mjs +0 -0
  266. /package/{esm2020 → esm2022}/components/snackbar/snackbar-message.model.mjs +0 -0
  267. /package/{esm2020 → esm2022}/components/snackbar/snackbar-timer.service.mjs +0 -0
  268. /package/{esm2020 → esm2022}/flywheel-io-vision.mjs +0 -0
  269. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -0,0 +1,134 @@
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(elementRef) {
11
+ this.elementRef = elementRef;
12
+ this.size = 'default';
13
+ this.iconColor = 'primary';
14
+ this.showCheckbox = false;
15
+ this.checkboxColor = 'primary';
16
+ this.multiSelect = false;
17
+ this.hidden = false;
18
+ this.subItemsOpen = false;
19
+ // eslint-disable-next-line @angular-eslint/no-output-native
20
+ this.click = new EventEmitter();
21
+ this.focused = false;
22
+ this.selected = false;
23
+ this.subscriptions = [];
24
+ }
25
+ scrollIntoView() {
26
+ // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
27
+ this.elementRef.nativeElement.scrollIntoView({ behavior: 'smooth' });
28
+ }
29
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
30
+ ngOnChanges(changes) {
31
+ this.updateLayout();
32
+ }
33
+ ngOnDestroy() {
34
+ for (const subscription of this.subscriptions) {
35
+ subscription.unsubscribe();
36
+ }
37
+ }
38
+ ngAfterContentInit() {
39
+ this.subItems.forEach(subItem => {
40
+ const sub = subItem.click.subscribe(value => this.click.emit(value));
41
+ this.subscriptions.push(sub);
42
+ });
43
+ this.updateLayout();
44
+ }
45
+ updateLayout() {
46
+ if (this.subItems) {
47
+ this.subItems.forEach(subItem => {
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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
80
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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" }, 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 .menu-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-icon,:host.focused .menu-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-text h4,:host.focused .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.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: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 .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"] }] }); }
81
+ }
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", 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 .menu-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-icon,:host.focused .menu-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-text h4,:host.focused .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.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: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 .item-subitems{display:flex;flex-direction:column}@container menuitem (max-width: 60px){.menu-item{gap:0}.menu-item .menu-text{opacity:0}}\n"] }]
85
+ }], ctorParameters: () => [{ type: i0.ElementRef }], 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
+ }] } });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21lbnUvbWVudS1pdGVtL21lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxHQUdQLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7O0FBT2xGLE1BQU0sT0FBTyxtQkFBbUI7SUF1QjlCLFlBQW9CLFVBQW1DO1FBQW5DLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBckI5QyxTQUFJLEdBQTJCLFNBQVMsQ0FBQztRQUl6QyxjQUFTLEdBQW1GLFNBQVMsQ0FBQztRQUV0RyxpQkFBWSxHQUFhLEtBQUssQ0FBQztRQUMvQixrQkFBYSxHQUF5QyxTQUFTLENBQUM7UUFDaEUsZ0JBQVcsR0FBYSxLQUFLLENBQUM7UUFDOUIsV0FBTSxHQUFhLEtBQUssQ0FBQztRQUl6QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUN2Qyw0REFBNEQ7UUFDbEQsVUFBSyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzVCLFlBQU8sR0FBYSxLQUFLLENBQUM7UUFDekIsYUFBUSxHQUFhLEtBQUssQ0FBQztRQUUzRCxrQkFBYSxHQUFtQixFQUFFLENBQUM7SUFFZSxDQUFDO0lBRTNELGNBQWM7UUFDWix1RUFBdUU7UUFDdkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJ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RyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ21DLFNBQVM7c0JBQWpELFdBQVc7dUJBQUMsaUJBQWlCOztzQkFBRyxLQUFLO2dCQUM3QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNO2dCQUNnQyxPQUFPO3NCQUE3QyxXQUFXO3VCQUFDLGVBQWU7O3NCQUFHLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBL0MsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUFHLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBaEQsZUFBZTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSWNvblR5cGUgfSBmcm9tICcuLi8uLi9pY29uL2ljb24udHlwZXMnO1xuaW1wb3J0IHsgRndNZW51U3ViSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUtc3ViLWl0ZW0vbWVudS1zdWItaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZ3TWVudUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBJbnB1dCgpIHZhbHVlPzogc3RyaW5nO1xuICBASW5wdXQoKSBzaXplPzogJ2RlZmF1bHQnIHwgJ2NvbXBhY3QnID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgQElucHV0KCkgaWNvbj86IEljb25UeXBlO1xuICBASW5wdXQoKSBpY29uQ29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdyZWQnIHwgJ29yYW5nZScgfCAnZ3JlZW4nIHwgJ3NsYXRlJyB8ICd0eXBvZ3JhcGh5JyA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBzaG93Q2hlY2tib3g/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNoZWNrYm94Q29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdkZWZhdWx0JyA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgbXVsdGlTZWxlY3Q/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhpZGRlbj86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jb2xsYXBzZWQnKSBASW5wdXQoKSBjb2xsYXBzZWQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBocmVmPzogc3RyaW5nO1xuICBASW5wdXQoKSB0YXJnZXQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN1Ykl0ZW1zT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgQE91dHB1dCgpIGNsaWNrOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZvY3VzZWQnKSBASW5wdXQoKSBmb2N1c2VkPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNlbGVjdGVkJykgQElucHV0KCkgc2VsZWN0ZWQ/OiBib29sZWFuID0gZmFsc2U7XG4gIEBDb250ZW50Q2hpbGRyZW4oRndNZW51U3ViSXRlbUNvbXBvbmVudCkgc3ViSXRlbXM6IFF1ZXJ5TGlzdDxGd01lbnVTdWJJdGVtQ29tcG9uZW50PjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgc2Nyb2xsSW50b1ZpZXcoKTogdm9pZCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEByeC1hbmd1bGFyL3ByZWZlci1uby1sYXlvdXQtc2Vuc2l0aXZlLWFwaXNcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiB0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ykl0ZW1zLmZvckVhY2goc3ViSXRlbSA9PiB7XG4gICAgICBjb25zdCBzdWIgPSBzdWJJdGVtLmNsaWNrLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLmNsaWNrLmVtaXQodmFsdWUpKTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1Yik7XG4gICAgfSk7XG4gICAgdGhpcy51cGRhdGVMYXlvdXQoKTtcbiAgfVxuXG4gIHVwZGF0ZUxheW91dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWJJdGVtcykge1xuICAgICAgdGhpcy5zdWJJdGVtcy5mb3JFYWNoKHN1Ykl0ZW0gPT4ge1xuICAgICAgICBzdWJJdGVtLnNpemUgPSB0aGlzLnNpemU7XG4gICAgICAgIHN1Ykl0ZW0uaGlkZGVuID0gISh0aGlzLnN1Ykl0ZW1zT3BlbiAmJiAhdGhpcy5jb2xsYXBzZWQpO1xuICAgICAgICBzdWJJdGVtLmNvbGxhcHNlZCA9IHRoaXMuY29sbGFwc2VkO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU3ViSXRlbXNWaWV3KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViSXRlbXNPcGVuID0gIXRoaXMuc3ViSXRlbXNPcGVuO1xuICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7XG4gIH1cblxuICBoYW5kbGVDbGljayhldnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaHJlZikge1xuICAgICAgaWYgKHRoaXMudGFyZ2V0KSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAcngtYW5ndWxhci9wcmVmZXItbm8tbGF5b3V0LXNlbnNpdGl2ZS1hcGlzXG4gICAgICAgIHdpbmRvdy5vcGVuKHRoaXMuaHJlZiwgdGhpcy50YXJnZXQpLmZvY3VzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHRoaXMuaHJlZjtcbiAgICAgIH1cbiAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5jbGljay5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAoY2xpY2spPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiICpuZ0lmPVwiIWhpZGRlblwiPlxuICA8ZGl2XG4gICAgW25nQ2xhc3NdPVwiWydtZW51LWl0ZW0nLCAnc2l6ZS0nK3NpemUsICd2YXJpYW50LScrdmFyaWFudCwgZGlzYWJsZWQ/J2Rpc2FibGVkJzonJ11cIlxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJpdGVtLWNoZWNrYm94XCIgKm5nSWY9XCJzaG93Q2hlY2tib3ggJiYgbXVsdGlTZWxlY3RcIj5cbiAgICAgIDxmdy1jaGVja2JveFxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbY29sb3JdPVwiY2hlY2tib3hDb2xvclwiXG4gICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGVkXCI+XG4gICAgICA8L2Z3LWNoZWNrYm94PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpdGVtLXJhZGlvYnV0dG9uXCIgKm5nSWY9XCJzaG93Q2hlY2tib3ggJiYgIW11bHRpU2VsZWN0XCI+XG4gICAgICA8ZnctcmFkaW8tYnV0dG9uXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgIFtjb2xvcl09XCJjaGVja2JveENvbG9yXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRcIj5cbiAgICAgIDwvZnctcmFkaW8tYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxmdy1pY29uIFtjb2xvcl09XCJpY29uQ29sb3JcIiAqbmdJZj1cImljb25cIiBjbGFzcz1cIm1lbnUtaWNvbiB7e2ljb25Db2xvcn19XCI+e3sgaWNvbiB9fTwvZnctaWNvbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1hdmF0YXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtdGV4dFwiICpuZ0lmPVwidGl0bGVcIj5cbiAgICAgIDxoNCBjbGFzcz1cInZpc2lvbi1oNFwiPnt7IHRpdGxlIH19PC9oND5cbiAgICAgIDxwICpuZ0lmPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cInZpc2lvbi1wNCBkZXNjcmlwdGlvblwiPnt7IGRlc2NyaXB0aW9uIH19PC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJrZXktdGV4dCB2aXNpb24tcDJcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInBcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1iYWRnZVwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWljb25cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1pY29uLWJ1dHRvblwiPjwvbmctY29udGVudD5cbiAgICAgIDxmdy1pY29uLWJ1dHRvblxuICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgW2ljb25dPVwic3ViSXRlbXNPcGVuPydjaGV2cm9uLXVwJzonY2hldnJvbi1kb3duJ1wiXG4gICAgICAgICpuZ0lmPVwic3ViSXRlbXMubGVuZ3RoPjBcIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlU3ViSXRlbXNWaWV3KClcIj5cbiAgICAgIDwvZnctaWNvbi1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiaXRlbS1zdWJpdGVtc1wiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1tZW51LXN1Yi1pdGVtXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -8,12 +8,12 @@ export class FwMenuItemGroupComponent {
8
8
  this.iconColor = 'primary';
9
9
  this.disabled = false;
10
10
  }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuItemGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwMenuItemGroupComponent, selector: "fw-menu-item-group", inputs: { role: "role", title: "title", icon: "icon", iconColor: "iconColor", disabled: "disabled" }, host: { properties: { "role": "this.role" } }, ngImport: i0, template: "<div class=\"menu-item-group\">\n <label *ngIf=\"title\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <span>{{ title }}</span>\n </label>\n <div class=\"menu-item-group-items\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700\";.vision-h1{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:22px}.vision-h2{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:18px}.vision-h3{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:16px}.vision-h4,:host .menu-item-group label{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:14px}.vision-h5{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:12px;line-height:130%}.vision-p1{font-size:18px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p2{font-size:14px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p3{font-size:12px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p4{font-size:10px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-link{text-decoration:underline;color:var(--primary-base);cursor:pointer}.vision-link:hover{text-decoration:none}.vision-link:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link:visited{color:var(--secondary-base)}.vision-link-inherited{text-decoration:underline;color:var(--primary-base);cursor:pointer;color:inherit}.vision-link-inherited:hover{text-decoration:none}.vision-link-inherited:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link-inherited:visited{color:var(--secondary-base)}.vision-link-inherited:visited{color:inherit}.vision-link-no-visited{text-decoration:underline;color:var(--primary-base);cursor:pointer}.vision-link-no-visited:hover{text-decoration:none}.vision-link-no-visited:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link-no-visited:visited{color:var(--secondary-base)}.vision-link-no-visited:visited{color:var(--primary-base)}:host .menu-item-group{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:8px;padding:8px;margin:1px 4px;color:var(--typography-base);width:stretch}:host .menu-item-group label{display:flex;align-items:center;gap:8px}:host .menu-item-group label .menu-icon{font-size:18px;white-space:nowrap}:host .menu-item-group .menu-item-group-items{width:stretch}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }] }); }
11
13
  }
12
- FwMenuItemGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwMenuItemGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- FwMenuItemGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FwMenuItemGroupComponent, selector: "fw-menu-item-group", inputs: { role: "role", title: "title", icon: "icon", iconColor: "iconColor", disabled: "disabled" }, host: { properties: { "role": "this.role" } }, ngImport: i0, template: "<div class=\"menu-item-group\">\n <label *ngIf=\"title\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <span>{{ title }}</span>\n </label>\n <div class=\"menu-item-group-items\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700\";.vision-h1{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:22px}.vision-h2{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:18px}.vision-h3{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:16px}.vision-h4,:host .menu-item-group label{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:14px}.vision-h5{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:12px;line-height:130%}.vision-p1{font-size:18px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p2{font-size:14px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p3{font-size:12px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p4{font-size:10px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-link{text-decoration:underline;color:var(--primary-base);cursor:pointer}.vision-link:hover{text-decoration:none}.vision-link:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link:visited{color:var(--secondary-base)}.vision-link-inherited{text-decoration:underline;color:var(--primary-base);cursor:pointer;color:inherit}.vision-link-inherited:hover{text-decoration:none}.vision-link-inherited:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link-inherited:visited{color:var(--secondary-base)}.vision-link-inherited:visited{color:inherit}.vision-link-no-visited{text-decoration:underline;color:var(--primary-base);cursor:pointer}.vision-link-no-visited:hover{text-decoration:none}.vision-link-no-visited:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link-no-visited:visited{color:var(--secondary-base)}.vision-link-no-visited:visited{color:var(--primary-base)}:host .menu-item-group{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:8px;padding:8px;margin:1px 4px;color:var(--typography-base);width:-webkit-fill-available;width:-moz-available;width:stretch}:host .menu-item-group label{display:flex;align-items:center;gap:8px}:host .menu-item-group label .menu-icon{font-size:18px;white-space:nowrap}:host .menu-item-group .menu-item-group-items{width:-webkit-fill-available;width:-moz-available;width:stretch}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }] });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwMenuItemGroupComponent, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuItemGroupComponent, decorators: [{
15
15
  type: Component,
16
- args: [{ selector: 'fw-menu-item-group', template: "<div class=\"menu-item-group\">\n <label *ngIf=\"title\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <span>{{ title }}</span>\n </label>\n <div class=\"menu-item-group-items\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700\";.vision-h1{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:22px}.vision-h2{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:18px}.vision-h3{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:16px}.vision-h4,:host .menu-item-group label{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:14px}.vision-h5{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:12px;line-height:130%}.vision-p1{font-size:18px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p2{font-size:14px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p3{font-size:12px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p4{font-size:10px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-link{text-decoration:underline;color:var(--primary-base);cursor:pointer}.vision-link:hover{text-decoration:none}.vision-link:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link:visited{color:var(--secondary-base)}.vision-link-inherited{text-decoration:underline;color:var(--primary-base);cursor:pointer;color:inherit}.vision-link-inherited:hover{text-decoration:none}.vision-link-inherited:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link-inherited:visited{color:var(--secondary-base)}.vision-link-inherited:visited{color:inherit}.vision-link-no-visited{text-decoration:underline;color:var(--primary-base);cursor:pointer}.vision-link-no-visited:hover{text-decoration:none}.vision-link-no-visited:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link-no-visited:visited{color:var(--secondary-base)}.vision-link-no-visited:visited{color:var(--primary-base)}:host .menu-item-group{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:8px;padding:8px;margin:1px 4px;color:var(--typography-base);width:-webkit-fill-available;width:-moz-available;width:stretch}:host .menu-item-group label{display:flex;align-items:center;gap:8px}:host .menu-item-group label .menu-icon{font-size:18px;white-space:nowrap}:host .menu-item-group .menu-item-group-items{width:-webkit-fill-available;width:-moz-available;width:stretch}\n"] }]
16
+ args: [{ selector: 'fw-menu-item-group', template: "<div class=\"menu-item-group\">\n <label *ngIf=\"title\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <span>{{ title }}</span>\n </label>\n <div class=\"menu-item-group-items\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700\";.vision-h1{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:22px}.vision-h2{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:18px}.vision-h3{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:16px}.vision-h4,:host .menu-item-group label{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:14px}.vision-h5{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:12px;line-height:130%}.vision-p1{font-size:18px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p2{font-size:14px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p3{font-size:12px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p4{font-size:10px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-link{text-decoration:underline;color:var(--primary-base);cursor:pointer}.vision-link:hover{text-decoration:none}.vision-link:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link:visited{color:var(--secondary-base)}.vision-link-inherited{text-decoration:underline;color:var(--primary-base);cursor:pointer;color:inherit}.vision-link-inherited:hover{text-decoration:none}.vision-link-inherited:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link-inherited:visited{color:var(--secondary-base)}.vision-link-inherited:visited{color:inherit}.vision-link-no-visited{text-decoration:underline;color:var(--primary-base);cursor:pointer}.vision-link-no-visited:hover{text-decoration:none}.vision-link-no-visited:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link-no-visited:visited{color:var(--secondary-base)}.vision-link-no-visited:visited{color:var(--primary-base)}:host .menu-item-group{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:8px;padding:8px;margin:1px 4px;color:var(--typography-base);width:stretch}:host .menu-item-group label{display:flex;align-items:center;gap:8px}:host .menu-item-group label .menu-icon{font-size:18px;white-space:nowrap}:host .menu-item-group .menu-item-group-items{width:stretch}\n"] }]
17
17
  }], propDecorators: { role: [{
18
18
  type: HostBinding,
19
19
  args: ['role']
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
28
28
  }], disabled: [{
29
29
  type: Input
30
30
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21lbnUvbWVudS1pdGVtLWdyb3VwL21lbnUtaXRlbS1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtaXRlbS1ncm91cC9tZW51LWl0ZW0tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzlELE1BQU0sT0FBTyx3QkFBd0I7SUFMckM7UUFNZ0MsU0FBSSxHQUFHLE9BQU8sQ0FBQztRQUdwQyxjQUFTLEdBQW1GLFNBQVMsQ0FBQztRQUN0RyxhQUFRLEdBQUcsS0FBSyxDQUFDO0tBQzNCOztzSEFOWSx3QkFBd0I7MEdBQXhCLHdCQUF3QiwrTUNUckMsNFNBU0E7NEZEQWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLG9CQUFvQjs4QkFLQSxJQUFJO3NCQUFqQyxXQUFXO3VCQUFDLE1BQU07O3NCQUFHLEtBQUs7Z0JBQ2xCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWNvblR5cGUgfSBmcm9tICcuLi8uLi9pY29uL2ljb24udHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51LWl0ZW0tZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS1pdGVtLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS1pdGVtLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZ3TWVudUl0ZW1Hcm91cENvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygncm9sZScpIEBJbnB1dCgpIHJvbGUgPSAnZ3JvdXAnO1xuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgaWNvbj86IEljb25UeXBlO1xuICBASW5wdXQoKSBpY29uQ29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdyZWQnIHwgJ29yYW5nZScgfCAnZ3JlZW4nIHwgJ3NsYXRlJyB8ICd0eXBvZ3JhcGh5JyA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJtZW51LWl0ZW0tZ3JvdXBcIj5cbiAgPGxhYmVsICpuZ0lmPVwidGl0bGVcIj5cbiAgICA8ZnctaWNvbiBbY29sb3JdPVwiaWNvbkNvbG9yXCIgKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJtZW51LWljb24ge3tpY29uQ29sb3J9fVwiPnt7IGljb24gfX08L2Z3LWljb24+XG4gICAgPHNwYW4+e3sgdGl0bGUgfX08L3NwYW4+XG4gIDwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJtZW51LWl0ZW0tZ3JvdXAtaXRlbXNcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21lbnUvbWVudS1pdGVtLWdyb3VwL21lbnUtaXRlbS1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtaXRlbS1ncm91cC9tZW51LWl0ZW0tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzlELE1BQU0sT0FBTyx3QkFBd0I7SUFMckM7UUFNZ0MsU0FBSSxHQUFHLE9BQU8sQ0FBQztRQUdwQyxjQUFTLEdBQW1GLFNBQVMsQ0FBQztRQUN0RyxhQUFRLEdBQUcsS0FBSyxDQUFDO0tBQzNCOytHQU5ZLHdCQUF3QjttR0FBeEIsd0JBQXdCLCtNQ1RyQyw0U0FTQTs7NEZEQWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLG9CQUFvQjs4QkFLQSxJQUFJO3NCQUFqQyxXQUFXO3VCQUFDLE1BQU07O3NCQUFHLEtBQUs7Z0JBQ2xCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWNvblR5cGUgfSBmcm9tICcuLi8uLi9pY29uL2ljb24udHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51LWl0ZW0tZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS1pdGVtLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS1pdGVtLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZ3TWVudUl0ZW1Hcm91cENvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygncm9sZScpIEBJbnB1dCgpIHJvbGUgPSAnZ3JvdXAnO1xuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgaWNvbj86IEljb25UeXBlO1xuICBASW5wdXQoKSBpY29uQ29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdyZWQnIHwgJ29yYW5nZScgfCAnZ3JlZW4nIHwgJ3NsYXRlJyB8ICd0eXBvZ3JhcGh5JyA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJtZW51LWl0ZW0tZ3JvdXBcIj5cbiAgPGxhYmVsICpuZ0lmPVwidGl0bGVcIj5cbiAgICA8ZnctaWNvbiBbY29sb3JdPVwiaWNvbkNvbG9yXCIgKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJtZW51LWljb24ge3tpY29uQ29sb3J9fVwiPnt7IGljb24gfX08L2Z3LWljb24+XG4gICAgPHNwYW4+e3sgdGl0bGUgfX08L3NwYW4+XG4gIDwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJtZW51LWl0ZW0tZ3JvdXAtaXRlbXNcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,11 +1,11 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class FwMenuSeparatorComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwMenuSeparatorComponent, selector: "fw-menu-separator", ngImport: i0, template: '', isInline: true, styles: [":host{display:flex;flex:1;border-top:1px solid var(--separations-base);margin:1px 0}\n"] }); }
4
6
  }
5
- FwMenuSeparatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwMenuSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- FwMenuSeparatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FwMenuSeparatorComponent, selector: "fw-menu-separator", ngImport: i0, template: '', isInline: true, styles: [":host{display:flex;flex:1;border-top:1px solid var(--separations-base);margin:1px 0}\n"] });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwMenuSeparatorComponent, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuSeparatorComponent, decorators: [{
8
8
  type: Component,
9
9
  args: [{ selector: 'fw-menu-separator', template: '', styles: [":host{display:flex;flex:1;border-top:1px solid var(--separations-base);margin:1px 0}\n"] }]
10
10
  }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1zZXBhcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbWVudS9tZW51LXNlcGFyYXRvci9tZW51LXNlcGFyYXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLHdCQUF3Qjs7c0hBQXhCLHdCQUF3QjswR0FBeEIsd0JBQXdCLHlEQUh6QixFQUFFOzRGQUdELHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxtQkFBbUIsWUFDbkIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51LXNlcGFyYXRvcicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS1zZXBhcmF0b3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRndNZW51U2VwYXJhdG9yQ29tcG9uZW50IHtcbn1cbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1zZXBhcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbWVudS9tZW51LXNlcGFyYXRvci9tZW51LXNlcGFyYXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLHdCQUF3QjsrR0FBeEIsd0JBQXdCO21HQUF4Qix3QkFBd0IseURBSHpCLEVBQUU7OzRGQUdELHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxtQkFBbUIsWUFDbkIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51LXNlcGFyYXRvcicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS1zZXBhcmF0b3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRndNZW51U2VwYXJhdG9yQ29tcG9uZW50IHtcbn1cbiJdfQ==
@@ -0,0 +1,103 @@
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
+ handleClick(evt) {
15
+ if (this.disabled) {
16
+ evt.stopPropagation();
17
+ return;
18
+ }
19
+ if (this.href) {
20
+ if (this.target) {
21
+ // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
22
+ window.open(this.href, this.target).focus();
23
+ }
24
+ else {
25
+ window.location.href = this.href;
26
+ }
27
+ evt.stopPropagation();
28
+ return;
29
+ }
30
+ if (this.value) {
31
+ this.click.emit(this.value);
32
+ evt.stopPropagation();
33
+ }
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuSubItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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" }, 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 .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}@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: [
37
+ trigger('openClose', [
38
+ // ...
39
+ state('open', style({
40
+ height: 'auto',
41
+ }), { params: {} }),
42
+ state('closed', style({
43
+ height: '0',
44
+ }), { params: {} }),
45
+ transition('open <=> closed', [
46
+ animate('.33s ease-in-out'),
47
+ ]),
48
+ ]),
49
+ ] }); }
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuSubItemComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'fw-menu-sub-item', animations: [
54
+ trigger('openClose', [
55
+ // ...
56
+ state('open', style({
57
+ height: 'auto',
58
+ }), { params: {} }),
59
+ state('closed', style({
60
+ height: '0',
61
+ }), { params: {} }),
62
+ transition('open <=> closed', [
63
+ animate('.33s ease-in-out'),
64
+ ]),
65
+ ]),
66
+ ], 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 .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}@container menuitem (max-width: 60px){.menu-sub-item{gap:0}.menu-sub-item .menu-text{opacity:0}}\n"] }]
67
+ }], propDecorators: { value: [{
68
+ type: Input
69
+ }], size: [{
70
+ type: Input
71
+ }], title: [{
72
+ type: Input
73
+ }], description: [{
74
+ type: Input
75
+ }], icon: [{
76
+ type: Input
77
+ }], disabled: [{
78
+ type: Input
79
+ }], hidden: [{
80
+ type: Input
81
+ }], href: [{
82
+ type: Input
83
+ }], target: [{
84
+ type: Input
85
+ }], collapsed: [{
86
+ type: HostBinding,
87
+ args: ['class.collapsed']
88
+ }, {
89
+ type: Input
90
+ }], click: [{
91
+ type: Output
92
+ }], focused: [{
93
+ type: HostBinding,
94
+ args: ['class.focused']
95
+ }, {
96
+ type: Input
97
+ }], selected: [{
98
+ type: HostBinding,
99
+ args: ['class.selected']
100
+ }, {
101
+ type: Input
102
+ }] } });
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1zdWItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtc3ViLWl0ZW0vbWVudS1zdWItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtc3ViLWl0ZW0vbWVudS1zdWItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUF3QnBGLE1BQU0sT0FBTyxzQkFBc0I7SUFuQm5DO1FBcUJXLFNBQUksR0FBMkIsU0FBUyxDQUFDO1FBS3pDLFdBQU0sR0FBYSxLQUFLLENBQUM7UUFJbEMsNERBQTREO1FBQ2xELFVBQUssR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM1QixZQUFPLEdBQWEsS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBYSxLQUFLLENBQUM7S0EwQnBFO0lBeEJDLFdBQVcsQ0FBQyxHQUFXO1FBQ3JCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2hCLHVFQUF1RTtnQkFDdkUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QyxDQUFDO2lCQUNJLENBQUM7Z0JBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNuQyxDQUFDO1lBQ0QsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDOytHQXRDVSxzQkFBc0I7bUdBQXRCLHNCQUFzQixzY0N6Qm5DLHl0QkFrQkEsMGhFRFJjO1lBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsTUFBTTtnQkFDTixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztvQkFDbEIsTUFBTSxFQUFFLE1BQU07aUJBQ2YsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNuQixLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztvQkFDcEIsTUFBTSxFQUFFLEdBQUc7aUJBQ1osQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNuQixVQUFVLENBQUMsaUJBQWlCLEVBQUU7b0JBQzVCLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztpQkFDNUIsQ0FBQzthQUNILENBQUM7U0FDSDs7NEZBRVUsc0JBQXNCO2tCQW5CbEMsU0FBUzsrQkFDRSxrQkFBa0IsY0FHaEI7d0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTs0QkFDbkIsTUFBTTs0QkFDTixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztnQ0FDbEIsTUFBTSxFQUFFLE1BQU07NkJBQ2YsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDOzRCQUNuQixLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztnQ0FDcEIsTUFBTSxFQUFFLEdBQUc7NkJBQ1osQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDOzRCQUNuQixVQUFVLENBQUMsaUJBQWlCLEVBQUU7Z0NBQzVCLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQzs2QkFDNUIsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ21DLFNBQVM7c0JBQWpELFdBQVc7dUJBQUMsaUJBQWlCOztzQkFBRyxLQUFLO2dCQUU1QixLQUFLO3NCQUFkLE1BQU07Z0JBQ2dDLE9BQU87c0JBQTdDLFdBQVc7dUJBQUMsZUFBZTs7c0JBQUcsS0FBSztnQkFDSSxRQUFRO3NCQUEvQyxXQUFXO3VCQUFDLGdCQUFnQjs7c0JBQUcsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uLnR5cGVzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51LXN1Yi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtc3ViLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LXN1Yi1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2UnLCBbXG4gICAgICAvLyAuLi5cbiAgICAgIHN0YXRlKCdvcGVuJywgc3R5bGUoe1xuICAgICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgIH0pLCB7IHBhcmFtczoge30gfSksXG4gICAgICBzdGF0ZSgnY2xvc2VkJywgc3R5bGUoe1xuICAgICAgICBoZWlnaHQ6ICcwJyxcbiAgICAgIH0pLCB7IHBhcmFtczoge30gfSksXG4gICAgICB0cmFuc2l0aW9uKCdvcGVuIDw9PiBjbG9zZWQnLCBbXG4gICAgICAgIGFuaW1hdGUoJy4zM3MgZWFzZS1pbi1vdXQnKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGd01lbnVTdWJJdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFsdWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpemU/OiAnZGVmYXVsdCcgfCAnY29tcGFjdCcgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uPzogSWNvblR5cGU7XG4gIEBJbnB1dCgpIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGlkZGVuPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBocmVmPzogc3RyaW5nO1xuICBASW5wdXQoKSB0YXJnZXQ/OiBzdHJpbmc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuY29sbGFwc2VkJykgQElucHV0KCkgY29sbGFwc2VkPzogYm9vbGVhbjtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBjbGljazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mb2N1c2VkJykgQElucHV0KCkgZm9jdXNlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpIEBJbnB1dCgpIHNlbGVjdGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGhhbmRsZUNsaWNrKGV2dD86IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ocmVmKSB7XG4gICAgICBpZiAodGhpcy50YXJnZXQpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEByeC1hbmd1bGFyL3ByZWZlci1uby1sYXlvdXQtc2Vuc2l0aXZlLWFwaXNcbiAgICAgICAgd2luZG93Lm9wZW4odGhpcy5ocmVmLCB0aGlzLnRhcmdldCkuZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHRoaXMuaHJlZjtcbiAgICAgIH1cbiAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5jbGljay5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2XG4gIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCIgKm5nSWY9XCIhaGlkZGVuXCJcbiAgW0BvcGVuQ2xvc2VdPVwie3ZhbHVlOiBjb2xsYXBzZWQ/J2Nsb3NlZCc6J29wZW4nfVwiPlxuICA8ZGl2XG4gICAgW25nQ2xhc3NdPVwiWydtZW51LXN1Yi1pdGVtJywgJ3NpemUtJytzaXplLCAndmFyaWFudC0nK3ZhcmlhbnQsIGRpc2FibGVkPydkaXNhYmxlZCc6JyddXCJcbiAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWVudS10ZXh0XCIgKm5nSWY9XCJ0aXRsZVwiPlxuICAgICAgPGg0IGNsYXNzPVwidmlzaW9uLWg0XCI+e3sgdGl0bGUgfX08L2g0PlxuICAgICAgPHAgKm5nSWY9XCJkZXNjcmlwdGlvblwiIGNsYXNzPVwidmlzaW9uLXA0IGRlc2NyaXB0aW9uXCI+e3sgZGVzY3JpcHRpb24gfX08L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImtleS10ZXh0IHZpc2lvbi1wMlwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwicFwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWJhZGdlXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctaWNvblwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWljb24tYnV0dG9uXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,129 @@
1
+ import { Component, ContentChild, ContentChildren, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { FwMenuItemComponent } from './menu-item/menu-item.component';
4
+ import * as i0 from "@angular/core";
5
+ export class FwMenuComponent {
6
+ constructor() {
7
+ this.disabled = false;
8
+ this.size = 'default';
9
+ this.multiSelect = false;
10
+ this.useCheckbox = undefined;
11
+ // eslint-disable-next-line @angular-eslint/no-output-native
12
+ this.change = new EventEmitter();
13
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
14
+ this.onChange = (value) => {
15
+ };
16
+ this.onTouched = () => {
17
+ };
18
+ this.subscriptions = [];
19
+ }
20
+ ngOnChanges() {
21
+ this.updateLayout();
22
+ }
23
+ ngOnDestroy() {
24
+ for (const subscription of this.subscriptions) {
25
+ subscription.unsubscribe();
26
+ }
27
+ }
28
+ ngAfterContentInit() {
29
+ this.menuItems.forEach(item => {
30
+ const sub = item.click.subscribe(value => this.handleSelect(value));
31
+ this.subscriptions.push(sub);
32
+ });
33
+ const menuItemChangeSub = this.menuItems.changes.subscribe((newMenuItems) => {
34
+ newMenuItems.forEach(item => {
35
+ const sub = item.click.subscribe(value => this.handleSelect(value));
36
+ this.subscriptions.push(sub);
37
+ });
38
+ this.updateLayout();
39
+ });
40
+ this.subscriptions.push(menuItemChangeSub);
41
+ this.updateLayout();
42
+ }
43
+ writeValue(value) {
44
+ this.value = value;
45
+ this.onChange(this.value);
46
+ this.change.emit(this.value);
47
+ this.updateLayout();
48
+ }
49
+ registerOnChange(fn) {
50
+ this.onChange = fn;
51
+ }
52
+ registerOnTouched(fn) {
53
+ this.onTouched = fn;
54
+ }
55
+ setDisabledState(isDisabled) {
56
+ this.disabled = isDisabled;
57
+ }
58
+ handleSelect(value) {
59
+ if (this.multiSelect) {
60
+ const newValues = [...this.value];
61
+ if (newValues.indexOf(value) >= 0) {
62
+ newValues.splice(newValues.indexOf(value), 1);
63
+ }
64
+ else {
65
+ newValues.push(value);
66
+ }
67
+ this.writeValue(newValues);
68
+ }
69
+ else {
70
+ this.writeValue(value);
71
+ }
72
+ }
73
+ updateLayout() {
74
+ if (this.menuItems) {
75
+ this.menuItems.forEach(item => {
76
+ if (this.size !== undefined) {
77
+ item.size = this.size;
78
+ }
79
+ if (this.useCheckbox !== undefined) {
80
+ item.showCheckbox = this.useCheckbox;
81
+ }
82
+ if (this.multiSelect !== undefined) {
83
+ item.multiSelect = this.multiSelect;
84
+ }
85
+ item.disabled = this.disabled;
86
+ if (this.value !== undefined) {
87
+ item.selected = Array.isArray(this.value) ? this.value.includes(item.value) : this.value === item.value;
88
+ }
89
+ item.subItems.forEach(sub => {
90
+ sub.selected = Array.isArray(this.value) ? this.value.includes(sub.value) : this.value === sub.value;
91
+ });
92
+ item.updateLayout();
93
+ });
94
+ }
95
+ }
96
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
97
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwMenuComponent, selector: "fw-menu", inputs: { disabled: "disabled", size: "size", multiSelect: "multiSelect", useCheckbox: "useCheckbox", value: "value" }, outputs: { change: "change" }, providers: [{
98
+ provide: NG_VALUE_ACCESSOR,
99
+ useExisting: FwMenuComponent,
100
+ multi: true,
101
+ }], queries: [{ propertyName: "menuContentWrapper", first: true, predicate: ["menuContentWrapper"], descendants: true }, { propertyName: "menuItems", predicate: FwMenuItemComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"fw-menu\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:flex;flex-direction:column;max-height:100%}\n"] }); }
102
+ }
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuComponent, decorators: [{
104
+ type: Component,
105
+ args: [{ selector: 'fw-menu', providers: [{
106
+ provide: NG_VALUE_ACCESSOR,
107
+ useExisting: FwMenuComponent,
108
+ multi: true,
109
+ }], template: "<div class=\"fw-menu\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:flex;flex-direction:column;max-height:100%}\n"] }]
110
+ }], propDecorators: { disabled: [{
111
+ type: Input
112
+ }], size: [{
113
+ type: Input
114
+ }], multiSelect: [{
115
+ type: Input
116
+ }], useCheckbox: [{
117
+ type: Input
118
+ }], value: [{
119
+ type: Input
120
+ }], change: [{
121
+ type: Output
122
+ }], menuItems: [{
123
+ type: ContentChildren,
124
+ args: [FwMenuItemComponent, { descendants: true }]
125
+ }], menuContentWrapper: [{
126
+ type: ContentChild,
127
+ args: ['menuContentWrapper']
128
+ }] } });
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbWVudS9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBWXRFLE1BQU0sT0FBTyxlQUFlO0lBVjVCO1FBV1csYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixTQUFJLEdBQTJCLFNBQVMsQ0FBQztRQUN6QyxnQkFBVyxHQUFhLEtBQUssQ0FBQztRQUM5QixnQkFBVyxHQUFhLFNBQVMsQ0FBQztRQUUzQyw0REFBNEQ7UUFDbEQsV0FBTSxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUkxRiw2REFBNkQ7UUFDN0QsYUFBUSxHQUFHLENBQUMsS0FBd0IsRUFBUSxFQUFFO1FBQzlDLENBQUMsQ0FBQztRQUVGLGNBQVMsR0FBRyxHQUFTLEVBQUU7UUFDdkIsQ0FBQyxDQUFDO1FBRU0sa0JBQWEsR0FBbUIsRUFBRSxDQUFDO0tBeUY1QztJQXZGQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXO1FBQ1QsS0FBSyxNQUFNLFlBQVksSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FB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RUNuQ3RDLGdFQUdBOzs0RkR3QmEsZUFBZTtrQkFWM0IsU0FBUzsrQkFDRSxTQUFTLGFBR1IsQ0FBQzs0QkFDVixPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLGlCQUFpQjs0QkFDNUIsS0FBSyxFQUFFLElBQUk7eUJBQ1osQ0FBQzs4QkFHTyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTTtnQkFDc0QsU0FBUztzQkFBckUsZUFBZTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBQ3ZCLGtCQUFrQjtzQkFBckQsWUFBWTt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZ3TWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IEZ3TWVudUNvbXBvbmVudCxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEZ3TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNpemU/OiAnZGVmYXVsdCcgfCAnY29tcGFjdCcgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIG11bHRpU2VsZWN0PzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSB1c2VDaGVja2JveD86IGJvb2xlYW4gPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHZhbHVlPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgc3RyaW5nW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBzdHJpbmdbXT4oKTtcbiAgQENvbnRlbnRDaGlsZHJlbihGd01lbnVJdGVtQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIG1lbnVJdGVtczogUXVlcnlMaXN0PEZ3TWVudUl0ZW1Db21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkKCdtZW51Q29udGVudFdyYXBwZXInKSBtZW51Q29udGVudFdyYXBwZXI6IEVsZW1lbnRSZWY7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBvbkNoYW5nZSA9ICh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pOiB2b2lkID0+IHtcbiAgfTtcblxuICBvblRvdWNoZWQgPSAoKTogdm9pZCA9PiB7XG4gIH07XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiB0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1lbnVJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgY29uc3Qgc3ViID0gaXRlbS5jbGljay5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5oYW5kbGVTZWxlY3QodmFsdWUpKTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1Yik7XG4gICAgfSk7XG5cbiAgICBjb25zdCBtZW51SXRlbUNoYW5nZVN1YiA9IHRoaXMubWVudUl0ZW1zLmNoYW5nZXMuc3Vic2NyaWJlKChuZXdNZW51SXRlbXMpID0+IHtcbiAgICAgIG5ld01lbnVJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBzdWIgPSBpdGVtLmNsaWNrLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLmhhbmRsZVNlbGVjdCh2YWx1ZSkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWIpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnVwZGF0ZUxheW91dCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2gobWVudUl0ZW1DaGFuZ2VTdWIpO1xuXG4gICAgdGhpcy51cGRhdGVMYXlvdXQoKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLnVwZGF0ZUxheW91dCgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIGhhbmRsZVNlbGVjdCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubXVsdGlTZWxlY3QpIHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlcyA9IFsuLi50aGlzLnZhbHVlXTtcbiAgICAgIGlmIChuZXdWYWx1ZXMuaW5kZXhPZih2YWx1ZSkgPj0gMCkge1xuICAgICAgICBuZXdWYWx1ZXMuc3BsaWNlKG5ld1ZhbHVlcy5pbmRleE9mKHZhbHVlKSwgMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdWYWx1ZXMucHVzaCh2YWx1ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLndyaXRlVmFsdWUobmV3VmFsdWVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVMYXlvdXQoKTogdm9pZCB7XG5cbiAgICBpZiAodGhpcy5tZW51SXRlbXMpIHtcbiAgICAgIHRoaXMubWVudUl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNpemUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGl0ZW0uc2l6ZSA9IHRoaXMuc2l6ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy51c2VDaGVja2JveCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaXRlbS5zaG93Q2hlY2tib3ggPSB0aGlzLnVzZUNoZWNrYm94O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm11bHRpU2VsZWN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpdGVtLm11bHRpU2VsZWN0ID0gdGhpcy5tdWx0aVNlbGVjdDtcbiAgICAgICAgfVxuICAgICAgICBpdGVtLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGl0ZW0uc2VsZWN0ZWQgPSBBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpID8gdGhpcy52YWx1ZS5pbmNsdWRlcyhpdGVtLnZhbHVlKSA6IHRoaXMudmFsdWUgPT09IGl0ZW0udmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaXRlbS5zdWJJdGVtcy5mb3JFYWNoKHN1YiA9PiB7XG4gICAgICAgICAgc3ViLnNlbGVjdGVkID0gQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSA/IHRoaXMudmFsdWUuaW5jbHVkZXMoc3ViLnZhbHVlKSA6IHRoaXMudmFsdWUgPT09IHN1Yi52YWx1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXRlbS51cGRhdGVMYXlvdXQoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZ3LW1lbnVcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=