@flywheel-io/vision 2.10.2 → 19.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 (270) hide show
  1. package/README.md +5 -5
  2. package/components/alert/alert.component.d.ts +1 -1
  3. package/components/alert/alert.module.d.ts +8 -5
  4. package/components/app-icon/app-icon.component.d.ts +1 -1
  5. package/components/app-icon/app-icon.module.d.ts +7 -4
  6. package/components/avatar/avatar.component.d.ts +1 -1
  7. package/components/avatar/avatar.module.d.ts +7 -4
  8. package/components/badge/badge.component.d.ts +1 -1
  9. package/components/badge/badge.module.d.ts +6 -3
  10. package/components/breadcrumbs/breadcrumbs.component.d.ts +1 -1
  11. package/components/breadcrumbs/breadcrumbs.module.d.ts +8 -5
  12. package/components/breadcrumbs/crumb.component.d.ts +1 -1
  13. package/components/button/button.component.d.ts +1 -1
  14. package/components/button/button.directives.d.ts +5 -5
  15. package/components/button/button.module.d.ts +9 -6
  16. package/components/button-group/button-group.component.d.ts +1 -1
  17. package/components/button-group/button-group.module.d.ts +8 -5
  18. package/components/button-toggle/button-toggle-item/button-toggle-item.component.d.ts +1 -1
  19. package/components/button-toggle/button-toggle.component.d.ts +1 -1
  20. package/components/button-toggle/button-toggle.module.d.ts +8 -5
  21. package/components/card/card-attribute/card-attribute.component.d.ts +1 -1
  22. package/components/card/card-author/card-author.component.d.ts +1 -1
  23. package/components/card/card-content/card-content.component.d.ts +1 -1
  24. package/components/card/card-footer/card-footer.component.d.ts +1 -1
  25. package/components/card/card-header/card-header.component.d.ts +1 -1
  26. package/components/card/card.component.d.ts +1 -1
  27. package/components/card/card.module.d.ts +13 -10
  28. package/components/checkbox/checkbox.component.d.ts +1 -1
  29. package/components/checkbox/checkbox.module.d.ts +7 -4
  30. package/components/chip/chip.component.d.ts +1 -1
  31. package/components/chip/chip.module.d.ts +8 -5
  32. package/components/contained-input/contained-input.component.d.ts +1 -1
  33. package/components/contained-input/contained-input.module.d.ts +10 -7
  34. package/components/date-input/date-input.component.d.ts +1 -1
  35. package/components/date-input/date-input.module.d.ts +8 -5
  36. package/components/dialog/dialog-actions.component.d.ts +1 -1
  37. package/components/dialog/dialog-confirm.component.d.ts +1 -1
  38. package/components/dialog/dialog-content.component.d.ts +1 -1
  39. package/components/dialog/dialog-header.component.d.ts +1 -1
  40. package/components/dialog/dialog-simple.component.d.ts +1 -1
  41. package/components/dialog/dialog.component.d.ts +1 -1
  42. package/components/dialog/dialogs.module.d.ts +16 -13
  43. package/components/form-heading/form-heading.component.d.ts +1 -1
  44. package/components/form-heading/form-heading.module.d.ts +9 -6
  45. package/components/icon/icon.component.d.ts +1 -1
  46. package/components/icon/icon.module.d.ts +6 -3
  47. package/components/icon-button/icon-button.component.d.ts +1 -1
  48. package/components/icon-button/icon-button.module.d.ts +7 -4
  49. package/components/layouts/context/context.component.d.ts +1 -1
  50. package/components/layouts/grid/grid.component.d.ts +2 -2
  51. package/components/layouts/layout-group.component.d.ts +1 -1
  52. package/components/layouts/layouts.module.d.ts +12 -9
  53. package/components/layouts/panel/panel.component.d.ts +1 -1
  54. package/components/layouts/sidebar/sidebar.component.d.ts +1 -1
  55. package/components/layouts/toolbar/toolbar.component.d.ts +1 -1
  56. package/components/menu/menu-close-triggers.directive.d.ts +1 -1
  57. package/components/menu/menu-container/menu-container.component.d.ts +1 -1
  58. package/components/menu/menu-header/menu-header.component.d.ts +1 -1
  59. package/components/menu/menu-item/menu-item.component.d.ts +1 -1
  60. package/components/menu/menu-item-group/menu-item-group.component.d.ts +1 -1
  61. package/components/menu/menu-separator/menu-separator.component.d.ts +1 -1
  62. package/components/menu/menu-sub-item/menu-sub-item.component.d.ts +1 -1
  63. package/components/menu/menu.component.d.ts +1 -1
  64. package/components/menu/menu.module.d.ts +22 -19
  65. package/components/navbar/navbar-header/navbar-header.component.d.ts +1 -1
  66. package/components/navbar/navbar-item/navbar-item.component.d.ts +1 -1
  67. package/components/navbar/navbar-sub-item/navbar-sub-item.component.d.ts +1 -1
  68. package/components/navbar/navbar.component.d.ts +1 -1
  69. package/components/navbar/navbar.module.d.ts +16 -13
  70. package/components/number-input/number-input.component.d.ts +1 -1
  71. package/components/number-input/number-input.module.d.ts +8 -5
  72. package/components/paginator/paginator-advanced/paginator-advanced.component.d.ts +1 -1
  73. package/components/paginator/paginator.component.d.ts +1 -1
  74. package/components/paginator/paginator.module.d.ts +12 -9
  75. package/components/phone-input/phone-input.component.d.ts +1 -1
  76. package/components/phone-input/phone-input.module.d.ts +11 -8
  77. package/components/popover/popover-panel/popover-panel.component.d.ts +1 -1
  78. package/components/popover/popover.component.d.ts +2 -2
  79. package/components/popover/popover.module.d.ts +9 -6
  80. package/components/progress/bar/bar.component.d.ts +1 -1
  81. package/components/progress/progress.module.d.ts +7 -4
  82. package/components/progress/spinner/spinner.component.d.ts +1 -1
  83. package/components/radio/radio-group.component.d.ts +1 -1
  84. package/components/radio/radio.component.d.ts +1 -1
  85. package/components/radio/radio.module.d.ts +8 -5
  86. package/components/section-heading/back-button/back-button.component.d.ts +1 -1
  87. package/components/section-heading/section-heading.component.d.ts +1 -1
  88. package/components/section-heading/section-heading.module.d.ts +10 -7
  89. package/components/section-heading/subsection-heading/subsection-heading.component.d.ts +1 -1
  90. package/components/select-menu/multi-select-menu/multi-select-menu.component.d.ts +1 -1
  91. package/components/select-menu/select-menu.component.d.ts +1 -1
  92. package/components/select-menu/select-menu.module.d.ts +15 -12
  93. package/components/shared/pipes/pipes.module.d.ts +4 -1
  94. package/components/shared/pipes/translate.pipe.d.ts +1 -1
  95. package/components/shared/pipes/trusthtml.pipe.d.ts +1 -1
  96. package/components/snackbar/snackbar/snackbar.component.d.ts +2 -2
  97. package/components/snackbar/snackbar-container/snackbar-container.component.d.ts +1 -1
  98. package/components/snackbar/snackbar.module.d.ts +10 -7
  99. package/components/stepper/step.component.d.ts +2 -2
  100. package/components/stepper/stepper.component.d.ts +1 -1
  101. package/components/stepper/stepper.module.d.ts +9 -6
  102. package/components/switch/switch.component.d.ts +1 -1
  103. package/components/switch/switch.module.d.ts +6 -3
  104. package/components/table/row.d.ts +7 -7
  105. package/components/table/table-dense.component.d.ts +1 -1
  106. package/components/table/table.component.d.ts +1 -1
  107. package/components/table/table.module.d.ts +10 -7
  108. package/components/tabs/tab/tab.component.d.ts +1 -1
  109. package/components/tabs/tab-panel/tab-panel.component.d.ts +1 -1
  110. package/components/tabs/tabs.component.d.ts +1 -1
  111. package/components/tabs/tabs.module.d.ts +9 -6
  112. package/components/tag/tag.component.d.ts +1 -1
  113. package/components/tag/tag.module.d.ts +7 -4
  114. package/components/text-input/text-input.component.d.ts +1 -1
  115. package/components/text-input/text-input.module.d.ts +9 -6
  116. package/components/textarea-input/textarea-input.component.d.ts +1 -1
  117. package/components/textarea-input/textarea-input.module.d.ts +9 -6
  118. package/components/tooltip/tooltip-panel/tooltip-panel.component.d.ts +1 -1
  119. package/components/tooltip/tooltip.component.d.ts +1 -1
  120. package/components/tooltip/tooltip.module.d.ts +11 -8
  121. package/components/wrapped-input/wrapped-input.component.d.ts +1 -1
  122. package/components/wrapped-input/wrapped-input.module.d.ts +7 -4
  123. package/fesm2022/flywheel-io-vision.mjs +1087 -836
  124. package/fesm2022/flywheel-io-vision.mjs.map +1 -1
  125. package/package.json +14 -7
  126. package/scss/icons/_icon-font-face.scss +5 -5
  127. package/scss/icons/_icon-glyphs.scss +2 -2
  128. package/scss/icons/_icon-variables.scss +350 -349
  129. package/styles.css +0 -1
  130. package/esm2022/color.utils.mjs +0 -27
  131. package/esm2022/components/alert/alert.component.mjs +0 -34
  132. package/esm2022/components/alert/alert.module.mjs +0 -32
  133. package/esm2022/components/app-icon/app-icon.component.mjs +0 -63
  134. package/esm2022/components/app-icon/app-icon.module.mjs +0 -28
  135. package/esm2022/components/avatar/avatar.component.mjs +0 -82
  136. package/esm2022/components/avatar/avatar.module.mjs +0 -28
  137. package/esm2022/components/avatar-list/avatar-list.component.mjs +0 -87
  138. package/esm2022/components/badge/badge.component.mjs +0 -45
  139. package/esm2022/components/badge/badge.module.mjs +0 -24
  140. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +0 -22
  141. package/esm2022/components/breadcrumbs/breadcrumbs.module.mjs +0 -33
  142. package/esm2022/components/breadcrumbs/crumb.component.mjs +0 -34
  143. package/esm2022/components/button/button.component.mjs +0 -59
  144. package/esm2022/components/button/button.directives.mjs +0 -129
  145. package/esm2022/components/button/button.module.mjs +0 -53
  146. package/esm2022/components/button-group/button-group.component.mjs +0 -131
  147. package/esm2022/components/button-group/button-group.module.mjs +0 -32
  148. package/esm2022/components/button-toggle/button-toggle-item/button-toggle-item.component.mjs +0 -56
  149. package/esm2022/components/button-toggle/button-toggle.component.mjs +0 -137
  150. package/esm2022/components/button-toggle/button-toggle.module.mjs +0 -33
  151. package/esm2022/components/card/card-attribute/card-attribute.component.mjs +0 -17
  152. package/esm2022/components/card/card-author/card-author.component.mjs +0 -15
  153. package/esm2022/components/card/card-content/card-content.component.mjs +0 -11
  154. package/esm2022/components/card/card-footer/card-footer.component.mjs +0 -29
  155. package/esm2022/components/card/card-header/card-header.component.mjs +0 -24
  156. package/esm2022/components/card/card.component.mjs +0 -27
  157. package/esm2022/components/card/card.module.mjs +0 -57
  158. package/esm2022/components/checkbox/checkbox.component.mjs +0 -79
  159. package/esm2022/components/checkbox/checkbox.module.mjs +0 -31
  160. package/esm2022/components/chip/chip.component.mjs +0 -55
  161. package/esm2022/components/chip/chip.module.mjs +0 -32
  162. package/esm2022/components/chip-list/chip-list.component.mjs +0 -96
  163. package/esm2022/components/contained-input/contained-input.component.mjs +0 -86
  164. package/esm2022/components/contained-input/contained-input.module.mjs +0 -40
  165. package/esm2022/components/date-input/date-input.component.mjs +0 -139
  166. package/esm2022/components/date-input/date-input.module.mjs +0 -32
  167. package/esm2022/components/dialog/dialog-actions.component.mjs +0 -32
  168. package/esm2022/components/dialog/dialog-confirm.component.mjs +0 -120
  169. package/esm2022/components/dialog/dialog-content.component.mjs +0 -38
  170. package/esm2022/components/dialog/dialog-header.component.mjs +0 -35
  171. package/esm2022/components/dialog/dialog-simple.component.mjs +0 -105
  172. package/esm2022/components/dialog/dialog.component.mjs +0 -93
  173. package/esm2022/components/dialog/dialog.service.mjs +0 -103
  174. package/esm2022/components/dialog/dialogs.module.mjs +0 -75
  175. package/esm2022/components/form-heading/form-heading.component.mjs +0 -30
  176. package/esm2022/components/form-heading/form-heading.module.mjs +0 -36
  177. package/esm2022/components/forms/validators.mjs +0 -81
  178. package/esm2022/components/icon/icon.component.mjs +0 -69
  179. package/esm2022/components/icon/icon.module.mjs +0 -24
  180. package/esm2022/components/icon/icon.types.mjs +0 -352
  181. package/esm2022/components/icon-button/icon-button.component.mjs +0 -40
  182. package/esm2022/components/icon-button/icon-button.module.mjs +0 -28
  183. package/esm2022/components/layouts/context/context.component.mjs +0 -46
  184. package/esm2022/components/layouts/grid/grid.component.mjs +0 -62
  185. package/esm2022/components/layouts/layout-group.component.mjs +0 -36
  186. package/esm2022/components/layouts/layouts.module.mjs +0 -57
  187. package/esm2022/components/layouts/panel/panel.component.mjs +0 -32
  188. package/esm2022/components/layouts/sidebar/sidebar.component.mjs +0 -26
  189. package/esm2022/components/layouts/toolbar/toolbar.component.mjs +0 -21
  190. package/esm2022/components/menu/menu-close-triggers.directive.mjs +0 -44
  191. package/esm2022/components/menu/menu-container/menu-container.component.mjs +0 -126
  192. package/esm2022/components/menu/menu-header/menu-header.component.mjs +0 -11
  193. package/esm2022/components/menu/menu-item/menu-item.component.mjs +0 -152
  194. package/esm2022/components/menu/menu-item-group/menu-item-group.component.mjs +0 -31
  195. package/esm2022/components/menu/menu-separator/menu-separator.component.mjs +0 -11
  196. package/esm2022/components/menu/menu-sub-item/menu-sub-item.component.mjs +0 -103
  197. package/esm2022/components/menu/menu.component.mjs +0 -132
  198. package/esm2022/components/menu/menu.module.mjs +0 -95
  199. package/esm2022/components/navbar/navbar-header/navbar-header.component.mjs +0 -11
  200. package/esm2022/components/navbar/navbar-item/navbar-item.component.mjs +0 -95
  201. package/esm2022/components/navbar/navbar-sub-item/navbar-sub-item.component.mjs +0 -76
  202. package/esm2022/components/navbar/navbar.component.mjs +0 -75
  203. package/esm2022/components/navbar/navbar.module.mjs +0 -67
  204. package/esm2022/components/number-input/number-input.component.mjs +0 -122
  205. package/esm2022/components/number-input/number-input.module.mjs +0 -32
  206. package/esm2022/components/paginator/paginator-advanced/paginator-advanced.component.mjs +0 -123
  207. package/esm2022/components/paginator/paginator.component.mjs +0 -133
  208. package/esm2022/components/paginator/paginator.model.mjs +0 -2
  209. package/esm2022/components/paginator/paginator.module.mjs +0 -49
  210. package/esm2022/components/phone-input/country-code.data.mjs +0 -495
  211. package/esm2022/components/phone-input/phone-input.component.mjs +0 -285
  212. package/esm2022/components/phone-input/phone-input.model.mjs +0 -2
  213. package/esm2022/components/phone-input/phone-input.module.mjs +0 -47
  214. package/esm2022/components/popover/popover-panel/popover-panel.component.mjs +0 -32
  215. package/esm2022/components/popover/popover.component.mjs +0 -164
  216. package/esm2022/components/popover/popover.module.mjs +0 -42
  217. package/esm2022/components/progress/bar/bar.component.mjs +0 -83
  218. package/esm2022/components/progress/progress.module.mjs +0 -29
  219. package/esm2022/components/progress/spinner/spinner.component.mjs +0 -101
  220. package/esm2022/components/radio/radio-group.component.mjs +0 -117
  221. package/esm2022/components/radio/radio.component.mjs +0 -48
  222. package/esm2022/components/radio/radio.module.mjs +0 -36
  223. package/esm2022/components/section-heading/back-button/back-button.component.mjs +0 -30
  224. package/esm2022/components/section-heading/section-heading.component.mjs +0 -31
  225. package/esm2022/components/section-heading/section-heading.module.mjs +0 -42
  226. package/esm2022/components/section-heading/subsection-heading/subsection-heading.component.mjs +0 -19
  227. package/esm2022/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +0 -374
  228. package/esm2022/components/select-menu/select-menu.component.mjs +0 -343
  229. package/esm2022/components/select-menu/select-menu.module.mjs +0 -60
  230. package/esm2022/components/shared/pipes/pipes.module.mjs +0 -36
  231. package/esm2022/components/shared/pipes/translate.pipe.mjs +0 -40
  232. package/esm2022/components/shared/pipes/trusthtml.pipe.mjs +0 -21
  233. package/esm2022/components/shared/services/menu-manager.service.mjs +0 -27
  234. package/esm2022/components/shared/translation.service.mjs +0 -26
  235. package/esm2022/components/snackbar/snackbar/snackbar.component.mjs +0 -95
  236. package/esm2022/components/snackbar/snackbar-container/snackbar-container.component.mjs +0 -63
  237. package/esm2022/components/snackbar/snackbar-message.model.mjs +0 -2
  238. package/esm2022/components/snackbar/snackbar-timer.service.mjs +0 -29
  239. package/esm2022/components/snackbar/snackbar.module.mjs +0 -41
  240. package/esm2022/components/snackbar/snackbar.service.mjs +0 -36
  241. package/esm2022/components/stepper/step.component.mjs +0 -113
  242. package/esm2022/components/stepper/stepper.component.mjs +0 -95
  243. package/esm2022/components/stepper/stepper.module.mjs +0 -41
  244. package/esm2022/components/switch/switch.component.mjs +0 -73
  245. package/esm2022/components/switch/switch.module.mjs +0 -24
  246. package/esm2022/components/table/cell.mjs +0 -151
  247. package/esm2022/components/table/row.mjs +0 -164
  248. package/esm2022/components/table/table-dense.component.mjs +0 -38
  249. package/esm2022/components/table/table.component.mjs +0 -38
  250. package/esm2022/components/table/table.module.mjs +0 -91
  251. package/esm2022/components/tabs/tab/tab.component.mjs +0 -79
  252. package/esm2022/components/tabs/tab-panel/tab-panel.component.mjs +0 -19
  253. package/esm2022/components/tabs/tabs.component.mjs +0 -68
  254. package/esm2022/components/tabs/tabs.module.mjs +0 -38
  255. package/esm2022/components/tag/tag.component.mjs +0 -25
  256. package/esm2022/components/tag/tag.module.mjs +0 -28
  257. package/esm2022/components/text-input/text-input.component.mjs +0 -129
  258. package/esm2022/components/text-input/text-input.module.mjs +0 -35
  259. package/esm2022/components/textarea-input/textarea-input.component.mjs +0 -95
  260. package/esm2022/components/textarea-input/textarea-input.module.mjs +0 -36
  261. package/esm2022/components/tooltip/tooltip-panel/tooltip-panel.component.mjs +0 -92
  262. package/esm2022/components/tooltip/tooltip.component.mjs +0 -59
  263. package/esm2022/components/tooltip/tooltip.directive.mjs +0 -177
  264. package/esm2022/components/tooltip/tooltip.module.mjs +0 -50
  265. package/esm2022/components/typeahead/typeahead.component.mjs +0 -264
  266. package/esm2022/components/wrapped-input/wrapped-input.component.mjs +0 -34
  267. package/esm2022/components/wrapped-input/wrapped-input.module.mjs +0 -28
  268. package/esm2022/directives/menu-register.directive.mjs +0 -38
  269. package/esm2022/flywheel-io-vision.mjs +0 -5
  270. package/esm2022/public-api.mjs +0 -132
@@ -1,126 +0,0 @@
1
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
- import { Component, computed, ContentChild, contentChildren, HostBinding, Input, input, output, signal, ViewChild, ViewEncapsulation, } from '@angular/core';
3
- import { FwMenuComponent } from '../menu.component';
4
- import { FwMenuItemComponent } from '../menu-item/menu-item.component';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/platform-browser";
7
- import * as i2 from "@angular/cdk/menu";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "../../text-input/text-input.component";
10
- import * as i5 from "../menu-item/menu-item.component";
11
- export class FwMenuContainerComponent {
12
- get classes() {
13
- return [
14
- 'fw-menu-container',
15
- `vision-shadow-${this.shadow}`,
16
- `border-${this.border}`,
17
- ].join(' ');
18
- }
19
- ;
20
- get style() {
21
- return this.sanitizer.bypassSecurityTrustStyle(`
22
- width: ${this.width};
23
- max-height: ${this.maxHeight};
24
- min-height: ${this.minHeight};
25
- margin-top: ${this.offset};
26
- `);
27
- }
28
- constructor(sanitizer) {
29
- this.sanitizer = sanitizer;
30
- this.width = 'inherit';
31
- this.maxHeight = 'auto';
32
- this.minHeight = 'auto';
33
- this.border = 'default';
34
- this.shadow = 'large';
35
- this.showFilter = false;
36
- this.filterText = '';
37
- this.focusFilterOnMount = false;
38
- this.offset = '0px';
39
- this.emptyText = input('No results');
40
- this.filteredMenuItemChange = output();
41
- this.defaultFilterFn = (filter, menuItems) => {
42
- return menuItems?.filter(menuItem => menuItem.title?.toLowerCase().includes(filter?.toLowerCase()));
43
- };
44
- this.filterFn = input(this.defaultFilterFn);
45
- this.filterChanged = output();
46
- // for passing menu items for the container to filter
47
- // works around a problem with nested content children
48
- // @see https://stackoverflow.com/questions/62886613/angular-9-nested-ng-content-and-contentchildren
49
- this.additionalMenuItems = input([]);
50
- this.childMenuItems = contentChildren(FwMenuItemComponent, { descendants: true });
51
- this.combinedMenuItems = computed(() => {
52
- return [...this.childMenuItems(), ...this.additionalMenuItems()];
53
- });
54
- this.noResults = signal(false);
55
- }
56
- ngAfterViewInit() {
57
- if (this.focusFilterOnMount && this.showFilter) {
58
- // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
59
- this.filterRef?.focus();
60
- }
61
- // we need to run the filter on init in case the custom filter is filtering things
62
- this.onFilterChange('');
63
- }
64
- handleFilterClick(event) {
65
- // stops filters in menus from closing the parent menu
66
- event.stopPropagation();
67
- }
68
- handleFilterInput(event) {
69
- const input = event.target;
70
- const filterValue = input.value;
71
- this.onFilterChange(filterValue);
72
- }
73
- onFilterChange(filter) {
74
- const allMenuItems = this.combinedMenuItems();
75
- this.filterChanged.emit(filter);
76
- const filterFn = this.filterFn();
77
- this.filteredMenuItems = filterFn(filter, allMenuItems);
78
- allMenuItems.forEach(menuItem => {
79
- const shouldBeHidden = !this.filteredMenuItems.includes(menuItem);
80
- menuItem.hidden = shouldBeHidden;
81
- });
82
- this.noResults.set(allMenuItems.length > 0 && allMenuItems.every(item => item.hidden));
83
- this.filteredMenuItemChange.emit(this.filteredMenuItems);
84
- }
85
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuContainerComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
86
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "17.3.12", type: FwMenuContainerComponent, selector: "fw-menu-container, fw-menu-filter", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: false, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: false, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: false, isRequired: false, transformFunction: null }, border: { classPropertyName: "border", publicName: "border", isSignal: false, isRequired: false, transformFunction: null }, shadow: { classPropertyName: "shadow", publicName: "shadow", isSignal: false, isRequired: false, transformFunction: null }, showFilter: { classPropertyName: "showFilter", publicName: "showFilter", isSignal: false, isRequired: false, transformFunction: (val) => coerceBooleanProperty(val) }, filterText: { classPropertyName: "filterText", publicName: "filterText", isSignal: false, isRequired: false, transformFunction: null }, focusFilterOnMount: { classPropertyName: "focusFilterOnMount", publicName: "focusFilterOnMount", isSignal: false, isRequired: false, transformFunction: (val) => coerceBooleanProperty(val) }, offset: { classPropertyName: "offset", publicName: "offset", isSignal: false, isRequired: false, transformFunction: null }, emptyText: { classPropertyName: "emptyText", publicName: "emptyText", isSignal: true, isRequired: false, transformFunction: null }, filterFn: { classPropertyName: "filterFn", publicName: "filterFn", isSignal: true, isRequired: false, transformFunction: null }, additionalMenuItems: { classPropertyName: "additionalMenuItems", publicName: "additionalMenuItems", isSignal: true, isRequired: false, transformFunction: null }, keyHandler: { classPropertyName: "keyHandler", publicName: "keyHandler", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { filteredMenuItemChange: "filteredMenuItemChange", filterChanged: "filterChanged" }, host: { properties: { "attr.class": "this.classes", "style": "this.style" } }, queries: [{ propertyName: "childMenuItems", predicate: FwMenuItemComponent, descendants: true, isSignal: true }, { propertyName: "menu", first: true, predicate: FwMenuComponent, descendants: true }], viewQueries: [{ propertyName: "filterRef", first: true, predicate: ["menuFilter"], descendants: true }], ngImport: i0, template: "<div #filterBox *ngIf=\"showFilter\" class=\"filter-box\" cdkMenuBar>\n <fw-text-input\n (click)=\"handleFilterClick($event)\"\n #menuFilter\n (keydown)=\"keyHandler?.($event)\"\n placeholder=\"Search\" leftIcon=\"search\" [autofocus]=\"true\"\n [value]=\"filterText\" (input)=\"handleFilterInput($event)\">\n </fw-text-input>\n <ng-content select=\".filter-content\"></ng-content>\n</div>\n<div class=\"menu-wrapper\">\n <fw-menu-item *ngIf=\"noResults()\" [title]=\"emptyText()\" [disabled]=\"true\"></fw-menu-item>\n <ng-content></ng-content>\n <ng-content select=\"custom-menu-items\"></ng-content>\n</div>\n", styles: [".fw-menu-container{display:flex;flex-direction:column;border-radius:8px;background:var(--card-background);position:relative}.fw-menu-container.border-default{border:1px solid var(--separations-border)}.fw-menu-container .filter-box{border-top-left-radius:8px;border-top-right-radius:8px;padding:8px;border-bottom:1px solid var(--separations-base);background-color:var(--card-background);max-width:calc(100% - 16px);height:fit-content}.fw-menu-container .menu-wrapper{flex:1;padding:6px 4px;overflow:hidden auto;margin-bottom:4px}.fw-menu-container fw-menu-separator{margin:6px -8px}\n"], dependencies: [{ kind: "directive", type: i2.CdkMenuBar, selector: "[cdkMenuBar]", exportAs: ["cdkMenuBar"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FwTextInputComponent, selector: "fw-text-input", inputs: ["disabled", "useActionableIcons", "leftIcon", "rightIcon", "prefix", "context", "helperText", "errorText", "errorInIconTooltip", "placeholder", "readOnly", "size", "type", "maxLength", "autofocus", "autocomplete", "value", "error", "width"], outputs: ["leftIconAction", "rightIconAction"] }, { kind: "component", type: i5.FwMenuItemComponent, selector: "fw-menu-item", inputs: ["value", "size", "title", "description", "icon", "iconColor", "disabled", "showCheckbox", "checkboxColor", "multiSelect", "hidden", "collapsed", "href", "target", "subItemsOpen", "mouseEnterHandler", "focused", "selected"], outputs: ["mouseEnterHandlerChange", "click"] }], encapsulation: i0.ViewEncapsulation.None }); }
87
- }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuContainerComponent, decorators: [{
89
- type: Component,
90
- args: [{ selector: 'fw-menu-container, fw-menu-filter', encapsulation: ViewEncapsulation.None, template: "<div #filterBox *ngIf=\"showFilter\" class=\"filter-box\" cdkMenuBar>\n <fw-text-input\n (click)=\"handleFilterClick($event)\"\n #menuFilter\n (keydown)=\"keyHandler?.($event)\"\n placeholder=\"Search\" leftIcon=\"search\" [autofocus]=\"true\"\n [value]=\"filterText\" (input)=\"handleFilterInput($event)\">\n </fw-text-input>\n <ng-content select=\".filter-content\"></ng-content>\n</div>\n<div class=\"menu-wrapper\">\n <fw-menu-item *ngIf=\"noResults()\" [title]=\"emptyText()\" [disabled]=\"true\"></fw-menu-item>\n <ng-content></ng-content>\n <ng-content select=\"custom-menu-items\"></ng-content>\n</div>\n", styles: [".fw-menu-container{display:flex;flex-direction:column;border-radius:8px;background:var(--card-background);position:relative}.fw-menu-container.border-default{border:1px solid var(--separations-border)}.fw-menu-container .filter-box{border-top-left-radius:8px;border-top-right-radius:8px;padding:8px;border-bottom:1px solid var(--separations-base);background-color:var(--card-background);max-width:calc(100% - 16px);height:fit-content}.fw-menu-container .menu-wrapper{flex:1;padding:6px 4px;overflow:hidden auto;margin-bottom:4px}.fw-menu-container fw-menu-separator{margin:6px -8px}\n"] }]
91
- }], ctorParameters: () => [{ type: i1.DomSanitizer }], propDecorators: { width: [{
92
- type: Input
93
- }], maxHeight: [{
94
- type: Input
95
- }], minHeight: [{
96
- type: Input
97
- }], border: [{
98
- type: Input
99
- }], shadow: [{
100
- type: Input
101
- }], showFilter: [{
102
- type: Input,
103
- args: [{ transform: (val) => coerceBooleanProperty(val) }]
104
- }], filterText: [{
105
- type: Input
106
- }], focusFilterOnMount: [{
107
- type: Input,
108
- args: [{ transform: (val) => coerceBooleanProperty(val) }]
109
- }], offset: [{
110
- type: Input
111
- }], filterRef: [{
112
- type: ViewChild,
113
- args: ['menuFilter']
114
- }], menu: [{
115
- type: ContentChild,
116
- args: [FwMenuComponent]
117
- }], keyHandler: [{
118
- type: Input
119
- }], classes: [{
120
- type: HostBinding,
121
- args: ['attr.class']
122
- }], style: [{
123
- type: HostBinding,
124
- args: ['style']
125
- }] } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbWVudS9tZW51LWNvbnRhaW5lci9tZW51LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtY29udGFpbmVyL21lbnUtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBRUwsU0FBUyxFQUNULFFBQVEsRUFDUixZQUFZLEVBQ1osZUFBZSxFQUNmLFdBQVcsRUFDWCxLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFRdkUsTUFBTSxPQUFPLHdCQUF3QjtJQXNDbkMsSUFBK0IsT0FBTztRQUNwQyxPQUFPO1lBQ0wsbUJBQW1CO1lBQ25CLGlCQUFpQixJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzlCLFVBQVUsSUFBSSxDQUFDLE1BQU0sRUFBRTtTQUN4QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNkLENBQUM7SUFBQSxDQUFDO0lBRUYsSUFBMEIsS0FBSztRQUM3QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUM7ZUFDcEMsSUFBSSxDQUFDLEtBQUs7b0JBQ0wsSUFBSSxDQUFDLFNBQVM7b0JBQ2QsSUFBSSxDQUFDLFNBQVM7b0JBQ2QsSUFBSSxDQUFDLE1BQU07S0FDMUIsQ0FBQyxDQUFDO0lBQ0ws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QWU7Z0JBV3BCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRXlCLE9BQU87c0JBQXJDLFdBQVc7dUJBQUMsWUFBWTtnQkFRQyxLQUFLO3NCQUE5QixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBDb250ZW50Q2hpbGQsXG4gIGNvbnRlbnRDaGlsZHJlbixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlU3R5bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgRndUZXh0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEZ3TWVudUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEZ3TWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9tZW51LWl0ZW0vbWVudS1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LW1lbnUtY29udGFpbmVyLCBmdy1tZW51LWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lbnUtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEZ3TWVudUNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gIEBJbnB1dCgpIHdpZHRoPzogc3RyaW5nID0gJ2luaGVyaXQnO1xuICBASW5wdXQoKSBtYXhIZWlnaHQ/OiBzdHJpbmcgPSAnYXV0byc7XG4gIEBJbnB1dCgpIG1pbkhlaWdodD86IHN0cmluZyA9ICdhdXRvJztcbiAgQElucHV0KCkgYm9yZGVyPzogJ25vbmUnIHwgJ2RlZmF1bHQnID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBzaGFkb3c/OiAnbm9uZScgfCAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJ2V4dHJhLWxhcmdlJyB8ICdpbm5lcicgPSAnbGFyZ2UnO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06ICh2YWw6IEJvb2xlYW5JbnB1dCkgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbCkgfSkgc2hvd0ZpbHRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBmaWx0ZXJUZXh0Pzogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogKHZhbDogQm9vbGVhbklucHV0KSA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsKSB9KSBmb2N1c0ZpbHRlck9uTW91bnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgb2Zmc2V0Pzogc3RyaW5nID0gJzBweCc7XG4gIGVtcHR5VGV4dCA9IGlucHV0KCdObyByZXN1bHRzJylcblxuICBmaWx0ZXJlZE1lbnVJdGVtczogRndNZW51SXRlbUNvbXBvbmVudFtdO1xuICBmaWx0ZXJlZE1lbnVJdGVtQ2hhbmdlID0gb3V0cHV0PEZ3TWVudUl0ZW1Db21wb25lbnRbXT4oKTtcblxuICBwcml2YXRlIGRlZmF1bHRGaWx0ZXJGbiA9IChmaWx0ZXI6IHN0cmluZywgbWVudUl0ZW1zOiBGd01lbnVJdGVtQ29tcG9uZW50W10pOiBGd01lbnVJdGVtQ29tcG9uZW50W10gPT4ge1xuICAgIHJldHVybiBtZW51SXRlbXM/LmZpbHRlcihtZW51SXRlbSA9PiBtZW51SXRlbS50aXRsZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXI/LnRvTG93ZXJDYXNlKCkpKTtcbiAgfVxuXG4gIGZpbHRlckZuID0gaW5wdXQodGhpcy5kZWZhdWx0RmlsdGVyRm4pO1xuXG4gIGZpbHRlckNoYW5nZWQgPSBvdXRwdXQ8c3RyaW5nPigpO1xuICBAVmlld0NoaWxkKCdtZW51RmlsdGVyJykgZmlsdGVyUmVmOiBGd1RleHRJbnB1dENvbXBvbmVudDtcblxuICBAQ29udGVudENoaWxkKEZ3TWVudUNvbXBvbmVudCkgbWVudTogRndNZW51Q29tcG9uZW50O1xuXG4gIC8vIGZvciBwYXNzaW5nIG1lbnUgaXRlbXMgZm9yIHRoZSBjb250YWluZXIgdG8gZmlsdGVyXG4gIC8vIHdvcmtzIGFyb3VuZCBhIHByb2JsZW0gd2l0aCBuZXN0ZWQgY29udGVudCBjaGlsZHJlblxuICAvLyBAc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzYyODg2NjEzL2FuZ3VsYXItOS1uZXN0ZWQtbmctY29udGVudC1hbmQtY29udGVudGNoaWxkcmVuXG4gIGFkZGl0aW9uYWxNZW51SXRlbXMgPSBpbnB1dDxGd01lbnVJdGVtQ29tcG9uZW50W10+KFtdKTtcbiAgY2hpbGRNZW51SXRlbXMgPSBjb250ZW50Q2hpbGRyZW4oRndNZW51SXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBjb21iaW5lZE1lbnVJdGVtcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gWy4uLnRoaXMuY2hpbGRNZW51SXRlbXMoKSwgLi4udGhpcy5hZGRpdGlvbmFsTWVudUl0ZW1zKCldO1xuICB9KTtcblxuICBASW5wdXQoKSBrZXlIYW5kbGVyOiAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHZvaWQ7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmNsYXNzJykgZ2V0IGNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ2Z3LW1lbnUtY29udGFpbmVyJyxcbiAgICAgIGB2aXNpb24tc2hhZG93LSR7dGhpcy5zaGFkb3d9YCxcbiAgICAgIGBib3JkZXItJHt0aGlzLmJvcmRlcn1gLFxuICAgIF0uam9pbignICcpO1xuICB9O1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKSBnZXQgc3R5bGUoKTogU2FmZVN0eWxlIHtcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKGBcbiAgICAgIHdpZHRoOiAke3RoaXMud2lkdGh9O1xuICAgICAgbWF4LWhlaWdodDogJHt0aGlzLm1heEhlaWdodH07XG4gICAgICBtaW4taGVpZ2h0OiAke3RoaXMubWluSGVpZ2h0fTtcbiAgICAgIG1hcmdpbi10b3A6ICR7dGhpcy5vZmZzZXR9O1xuICAgIGApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9jdXNGaWx0ZXJPbk1vdW50ICYmIHRoaXMuc2hvd0ZpbHRlcikge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEByeC1hbmd1bGFyL3ByZWZlci1uby1sYXlvdXQtc2Vuc2l0aXZlLWFwaXNcbiAgICAgIHRoaXMuZmlsdGVyUmVmPy5mb2N1cygpO1xuICAgIH1cblxuICAgIC8vIHdlIG5lZWQgdG8gcnVuIHRoZSBmaWx0ZXIgb24gaW5pdCBpbiBjYXNlIHRoZSBjdXN0b20gZmlsdGVyIGlzIGZpbHRlcmluZyB0aGluZ3NcbiAgICB0aGlzLm9uRmlsdGVyQ2hhbmdlKCcnKTtcbiAgfVxuXG4gIG5vUmVzdWx0cyA9IHNpZ25hbChmYWxzZSk7XG5cbiAgaGFuZGxlRmlsdGVyQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZHtcbiAgICAvLyBzdG9wcyBmaWx0ZXJzIGluIG1lbnVzIGZyb20gY2xvc2luZyB0aGUgcGFyZW50IG1lbnVcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGhhbmRsZUZpbHRlcklucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSBpbnB1dC52YWx1ZTtcbiAgICB0aGlzLm9uRmlsdGVyQ2hhbmdlKGZpbHRlclZhbHVlKTtcbiAgfVxuXG4gIG9uRmlsdGVyQ2hhbmdlKGZpbHRlcjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgYWxsTWVudUl0ZW1zID0gdGhpcy5jb21iaW5lZE1lbnVJdGVtcygpO1xuXG4gICAgdGhpcy5maWx0ZXJDaGFuZ2VkLmVtaXQoZmlsdGVyKTtcbiAgICBjb25zdCBmaWx0ZXJGbiA9IHRoaXMuZmlsdGVyRm4oKTtcblxuICAgIHRoaXMuZmlsdGVyZWRNZW51SXRlbXMgPSBmaWx0ZXJGbihmaWx0ZXIsIGFsbE1lbnVJdGVtcyk7XG5cbiAgICBhbGxNZW51SXRlbXMuZm9yRWFjaChtZW51SXRlbSA9PiB7XG4gICAgICBjb25zdCBzaG91bGRCZUhpZGRlbiA9ICF0aGlzLmZpbHRlcmVkTWVudUl0ZW1zLmluY2x1ZGVzKG1lbnVJdGVtKTtcbiAgICAgIG1lbnVJdGVtLmhpZGRlbiA9IHNob3VsZEJlSGlkZGVuO1xuICAgIH0pXG5cbiAgICB0aGlzLm5vUmVzdWx0cy5zZXQoYWxsTWVudUl0ZW1zLmxlbmd0aCA+IDAgJiYgYWxsTWVudUl0ZW1zLmV2ZXJ5KGl0ZW0gPT4gaXRlbS5oaWRkZW4pKTtcblxuICAgIHRoaXMuZmlsdGVyZWRNZW51SXRlbUNoYW5nZS5lbWl0KHRoaXMuZmlsdGVyZWRNZW51SXRlbXMpO1xuICB9XG59XG4iLCI8ZGl2ICNmaWx0ZXJCb3ggKm5nSWY9XCJzaG93RmlsdGVyXCIgY2xhc3M9XCJmaWx0ZXItYm94XCIgY2RrTWVudUJhcj5cbiAgPGZ3LXRleHQtaW5wdXRcbiAgICAoY2xpY2spPVwiaGFuZGxlRmlsdGVyQ2xpY2soJGV2ZW50KVwiXG4gICAgI21lbnVGaWx0ZXJcbiAgICAoa2V5ZG93bik9XCJrZXlIYW5kbGVyPy4oJGV2ZW50KVwiXG4gICAgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIiBsZWZ0SWNvbj1cInNlYXJjaFwiIFthdXRvZm9jdXNdPVwidHJ1ZVwiXG4gICAgW3ZhbHVlXT1cImZpbHRlclRleHRcIiAoaW5wdXQpPVwiaGFuZGxlRmlsdGVySW5wdXQoJGV2ZW50KVwiPlxuICA8L2Z3LXRleHQtaW5wdXQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIi5maWx0ZXItY29udGVudFwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cIm1lbnUtd3JhcHBlclwiPlxuICA8ZnctbWVudS1pdGVtICpuZ0lmPVwibm9SZXN1bHRzKClcIiBbdGl0bGVdPVwiZW1wdHlUZXh0KClcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPjwvZnctbWVudS1pdGVtPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImN1c3RvbS1tZW51LWl0ZW1zXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -1,11 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class FwMenuHeaderComponent {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwMenuHeaderComponent, selector: "fw-menu-header", ngImport: i0, template: "<h3 class=\"vision-h3\">\n <ng-content></ng-content>\n</h3>\n<ng-content select=\"fw-icon-button\"></ng-content>\n<ng-content select=\"fw-badge\"></ng-content>\n", styles: [":host{display:flex;align-items:center;height:40px;overflow:hidden;container-name:menuheader;container-type:size}:host h3{padding:8px;margin:0 4px;width:100%}@container menuheader (max-width: 100px){h3{opacity:0}}\n"] }); }
6
- }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuHeaderComponent, decorators: [{
8
- type: Component,
9
- args: [{ selector: 'fw-menu-header', template: "<h3 class=\"vision-h3\">\n <ng-content></ng-content>\n</h3>\n<ng-content select=\"fw-icon-button\"></ng-content>\n<ng-content select=\"fw-badge\"></ng-content>\n", styles: [":host{display:flex;align-items:center;height:40px;overflow:hidden;container-name:menuheader;container-type:size}:host h3{padding:8px;margin:0 4px;width:100%}@container menuheader (max-width: 100px){h3{opacity:0}}\n"] }]
10
- }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbWVudS9tZW51LWhlYWRlci9tZW51LWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtaGVhZGVyL21lbnUtaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzFDLE1BQU0sT0FBTyxxQkFBcUI7K0dBQXJCLHFCQUFxQjttR0FBckIscUJBQXFCLHNEQ1BsQyxvS0FLQTs7NEZERWEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51LWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21lbnUtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZ3TWVudUhlYWRlckNvbXBvbmVudCB7XG5cbn1cbiIsIjxoMyBjbGFzcz1cInZpc2lvbi1oM1wiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2gzPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctaWNvbi1idXR0b25cIj48L25nLWNvbnRlbnQ+XG48bmctY29udGVudCBzZWxlY3Q9XCJmdy1iYWRnZVwiPjwvbmctY29udGVudD5cbiJdfQ==
@@ -1,152 +0,0 @@
1
- import { Component, ContentChildren, EventEmitter, HostBinding, HostListener, Input, model, 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
- this.mouseEnterHandler = model(() => { });
20
- // eslint-disable-next-line @angular-eslint/no-output-native
21
- this.click = new EventEmitter();
22
- this.focused = false;
23
- this.selected = false;
24
- this.subscriptions = [];
25
- }
26
- scrollIntoView() {
27
- // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
28
- this.elementRef.nativeElement.scrollIntoView({ behavior: 'smooth' });
29
- }
30
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
31
- ngOnChanges(changes) {
32
- this.updateLayout();
33
- }
34
- ngOnDestroy() {
35
- for (const subscription of this.subscriptions) {
36
- subscription.unsubscribe();
37
- }
38
- }
39
- ngAfterContentInit() {
40
- this.subItems.forEach(subItem => {
41
- const sub = subItem.click.subscribe(value => this.click.emit(value));
42
- this.subscriptions.push(sub);
43
- });
44
- this.updateLayout();
45
- }
46
- onMouseEnter(event) {
47
- this.mouseEnterHandler()?.(event, this);
48
- }
49
- updateLayout() {
50
- if (this.subItems) {
51
- this.subItems.forEach(subItem => {
52
- subItem.size = this.size;
53
- subItem.hidden = !(this.subItemsOpen && !this.collapsed);
54
- subItem.collapsed = this.collapsed;
55
- });
56
- }
57
- }
58
- toggleSubItemsView() {
59
- this.subItemsOpen = !this.subItemsOpen;
60
- this.updateLayout();
61
- }
62
- handleClick(evt) {
63
- if (this.disabled) {
64
- evt.stopPropagation();
65
- return;
66
- }
67
- if (this.href) {
68
- if (this.target) {
69
- // eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
70
- window.open(this.href, this.target).focus();
71
- }
72
- else {
73
- window.location.href = this.href;
74
- }
75
- evt.stopPropagation();
76
- return;
77
- }
78
- if (this.value) {
79
- this.click.emit(this.value);
80
- evt.stopPropagation();
81
- }
82
- }
83
- /**
84
- * stops the browser built-in tooltip from showing up
85
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/title
86
- */
87
- get attrTitle() {
88
- return '';
89
- }
90
- ;
91
- 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 }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: FwMenuItemComponent, selector: "fw-menu-item", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: false, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: false, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: false, isRequired: false, transformFunction: null }, iconColor: { classPropertyName: "iconColor", publicName: "iconColor", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, showCheckbox: { classPropertyName: "showCheckbox", publicName: "showCheckbox", isSignal: false, isRequired: false, transformFunction: null }, checkboxColor: { classPropertyName: "checkboxColor", publicName: "checkboxColor", isSignal: false, isRequired: false, transformFunction: null }, multiSelect: { classPropertyName: "multiSelect", publicName: "multiSelect", isSignal: false, isRequired: false, transformFunction: null }, hidden: { classPropertyName: "hidden", publicName: "hidden", isSignal: false, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: false, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: false, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: false, isRequired: false, transformFunction: null }, subItemsOpen: { classPropertyName: "subItemsOpen", publicName: "subItemsOpen", isSignal: false, isRequired: false, transformFunction: null }, mouseEnterHandler: { classPropertyName: "mouseEnterHandler", publicName: "mouseEnterHandler", isSignal: true, isRequired: false, transformFunction: null }, focused: { classPropertyName: "focused", publicName: "focused", isSignal: false, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { mouseEnterHandler: "mouseEnterHandlerChange", click: "click" }, host: { listeners: { "mouseenter": "onMouseEnter($event)" }, properties: { "class.collapsed": "this.collapsed", "class.focused": "this.focused", "class.selected": "this.selected", "attr.title": "this.attrTitle" } }, queries: [{ propertyName: "subItems", predicate: FwMenuSubItemComponent }], usesOnChanges: true, ngImport: i0, template: "<div (click)=\"handleClick($event)\" *ngIf=\"!hidden\">\n <div\n [ngClass]=\"['menu-item', 'size-'+size, 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", "border"] }, { 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: ["value", "checked", "group", "disabled", "size", "color", "title", "focused"], outputs: ["checkedChange", "change"] }] }); }
93
- }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuItemComponent, decorators: [{
95
- type: Component,
96
- args: [{ selector: 'fw-menu-item', template: "<div (click)=\"handleClick($event)\" *ngIf=\"!hidden\">\n <div\n [ngClass]=\"['menu-item', 'size-'+size, 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"] }]
97
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { value: [{
98
- type: Input
99
- }], size: [{
100
- type: Input
101
- }], title: [{
102
- type: Input
103
- }], description: [{
104
- type: Input
105
- }], icon: [{
106
- type: Input
107
- }], iconColor: [{
108
- type: Input
109
- }], disabled: [{
110
- type: Input
111
- }], showCheckbox: [{
112
- type: Input
113
- }], checkboxColor: [{
114
- type: Input
115
- }], multiSelect: [{
116
- type: Input
117
- }], hidden: [{
118
- type: Input
119
- }], collapsed: [{
120
- type: HostBinding,
121
- args: ['class.collapsed']
122
- }, {
123
- type: Input
124
- }], href: [{
125
- type: Input
126
- }], target: [{
127
- type: Input
128
- }], subItemsOpen: [{
129
- type: Input
130
- }], click: [{
131
- type: Output
132
- }], focused: [{
133
- type: HostBinding,
134
- args: ['class.focused']
135
- }, {
136
- type: Input
137
- }], selected: [{
138
- type: HostBinding,
139
- args: ['class.selected']
140
- }, {
141
- type: Input
142
- }], subItems: [{
143
- type: ContentChildren,
144
- args: [FwMenuSubItemComponent]
145
- }], onMouseEnter: [{
146
- type: HostListener,
147
- args: ['mouseenter', ['$event']]
148
- }], attrTitle: [{
149
- type: HostBinding,
150
- args: ['attr.title']
151
- }] } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21lbnUvbWVudS1pdGVtL21lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFHTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7QUFTbEYsTUFBTSxPQUFPLG1CQUFtQjtJQXdCOUIsWUFBb0IsVUFBbUM7UUFBbkMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUF0QjlDLFNBQUksR0FBMkIsU0FBUyxDQUFDO1FBSXpDLGNBQVMsR0FBbUYsU0FBUyxDQUFDO1FBRXRHLGlCQUFZLEdBQWEsS0FBSyxDQUFDO1FBQy9CLGtCQUFhLEdBQTZCLFNBQVMsQ0FBQztRQUNwRCxnQkFBVyxHQUFhLEtBQUssQ0FBQztRQUM5QixXQUFNLEdBQWEsS0FBSyxDQUFDO1FBSXpCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQ3ZDLHNCQUFpQixHQUFHLEtBQUssQ0FBb0IsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkQsNERBQTREO1FBQ2xELFVBQUssR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM1QixZQUFPLEdBQWEsS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFFM0Qsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO0lBRWUsQ0FBQztJQUUzRCxjQUFjO1FBQ1osdUVBQXVFO1FBQ3ZFLElBQUksQ0FB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UzsrQkFDRSxjQUFjOytFQUtmLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ21DLFNBQVM7c0JBQWpELFdBQVc7dUJBQUMsaUJBQWlCOztzQkFBRyxLQUFLO2dCQUM3QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR0ksS0FBSztzQkFBZCxNQUFNO2dCQUNnQyxPQUFPO3NCQUE3QyxXQUFXO3VCQUFDLGVBQWU7O3NCQUFHLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBL0MsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUFHLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBaEQsZUFBZTt1QkFBQyxzQkFBc0I7Z0JBNkJDLFlBQVk7c0JBQW5ELFlBQVk7dUJBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQThDUCxTQUFTO3NCQUF2QyxXQUFXO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgbW9kZWwsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSWNvblR5cGUgfSBmcm9tICcuLi8uLi9pY29uL2ljb24udHlwZXMnO1xuaW1wb3J0IHsgRndNZW51U3ViSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUtc3ViLWl0ZW0vbWVudS1zdWItaXRlbS5jb21wb25lbnQnO1xuXG50eXBlIE1vdXNlRW50ZXJIYW5kbGVyID0gKCRldmVudDogUG9pbnRlckV2ZW50LCBpdGVtOiBGd01lbnVJdGVtQ29tcG9uZW50KSA9PiB2b2lkO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZ3TWVudUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBJbnB1dCgpIHZhbHVlPzogc3RyaW5nO1xuICBASW5wdXQoKSBzaXplPzogJ2RlZmF1bHQnIHwgJ2NvbXBhY3QnID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgQElucHV0KCkgaWNvbj86IEljb25UeXBlO1xuICBASW5wdXQoKSBpY29uQ29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdyZWQnIHwgJ29yYW5nZScgfCAnZ3JlZW4nIHwgJ3NsYXRlJyB8ICd0eXBvZ3JhcGh5JyA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBzaG93Q2hlY2tib3g/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNoZWNrYm94Q29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgbXVsdGlTZWxlY3Q/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhpZGRlbj86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jb2xsYXBzZWQnKSBASW5wdXQoKSBjb2xsYXBzZWQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBocmVmPzogc3RyaW5nO1xuICBASW5wdXQoKSB0YXJnZXQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN1Ykl0ZW1zT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICBtb3VzZUVudGVySGFuZGxlciA9IG1vZGVsPE1vdXNlRW50ZXJIYW5kbGVyPigoKSA9PiB7fSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgY2xpY2s6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZm9jdXNlZCcpIEBJbnB1dCgpIGZvY3VzZWQ/OiBib29sZWFuID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2VsZWN0ZWQnKSBASW5wdXQoKSBzZWxlY3RlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQENvbnRlbnRDaGlsZHJlbihGd01lbnVTdWJJdGVtQ29tcG9uZW50KSBzdWJJdGVtczogUXVlcnlMaXN0PEZ3TWVudVN1Ykl0ZW1Db21wb25lbnQ+O1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge31cblxuICBzY3JvbGxJbnRvVmlldygpOiB2b2lkIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHJ4LWFuZ3VsYXIvcHJlZmVyLW5vLWxheW91dC1zZW5zaXRpdmUtYXBpc1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVMYXlvdXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHRoaXMuc3Vic2NyaXB0aW9ucykge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViSXRlbXMuZm9yRWFjaChzdWJJdGVtID0+IHtcbiAgICAgIGNvbnN0IHN1YiA9IHN1Ykl0ZW0uY2xpY2suc3Vic2NyaWJlKHZhbHVlID0+IHRoaXMuY2xpY2suZW1pdCh2YWx1ZSkpO1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3ViKTtcbiAgICB9KTtcbiAgICB0aGlzLnVwZGF0ZUxheW91dCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicsIFsnJGV2ZW50J10pIG9uTW91c2VFbnRlcihldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5tb3VzZUVudGVySGFuZGxlcigpPy4oZXZlbnQsIHRoaXMpO1xuICB9XG5cbiAgdXBkYXRlTGF5b3V0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1Ykl0ZW1zKSB7XG4gICAgICB0aGlzLnN1Ykl0ZW1zLmZvckVhY2goc3ViSXRlbSA9PiB7XG4gICAgICAgIHN1Ykl0ZW0uc2l6ZSA9IHRoaXMuc2l6ZTtcbiAgICAgICAgc3ViSXRlbS5oaWRkZW4gPSAhKHRoaXMuc3ViSXRlbXNPcGVuICYmICF0aGlzLmNvbGxhcHNlZCk7XG4gICAgICAgIHN1Ykl0ZW0uY29sbGFwc2VkID0gdGhpcy5jb2xsYXBzZWQ7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVTdWJJdGVtc1ZpZXcoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJJdGVtc09wZW4gPSAhdGhpcy5zdWJJdGVtc09wZW47XG4gICAgdGhpcy51cGRhdGVMYXlvdXQoKTtcbiAgfVxuXG4gIGhhbmRsZUNsaWNrKGV2dD86IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ocmVmKSB7XG4gICAgICBpZiAodGhpcy50YXJnZXQpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEByeC1hbmd1bGFyL3ByZWZlci1uby1sYXlvdXQtc2Vuc2l0aXZlLWFwaXNcbiAgICAgICAgd2luZG93Lm9wZW4odGhpcy5ocmVmLCB0aGlzLnRhcmdldCkuZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5ocmVmO1xuICAgICAgfVxuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmNsaWNrLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHN0b3BzIHRoZSBicm93c2VyIGJ1aWx0LWluIHRvb2x0aXAgZnJvbSBzaG93aW5nIHVwXG4gICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRNTC9SZWZlcmVuY2UvR2xvYmFsX2F0dHJpYnV0ZXMvdGl0bGVcbiAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRpdGxlJykgZ2V0IGF0dHJUaXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAnJztcbiAgfTtcbn1cbiIsIjxkaXYgKGNsaWNrKT1cImhhbmRsZUNsaWNrKCRldmVudClcIiAqbmdJZj1cIiFoaWRkZW5cIj5cbiAgPGRpdlxuICAgIFtuZ0NsYXNzXT1cIlsnbWVudS1pdGVtJywgJ3NpemUtJytzaXplLCBkaXNhYmxlZD8nZGlzYWJsZWQnOicnXVwiXG4gICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgPGRpdiBjbGFzcz1cIml0ZW0tY2hlY2tib3hcIiAqbmdJZj1cInNob3dDaGVja2JveCAmJiBtdWx0aVNlbGVjdFwiPlxuICAgICAgPGZ3LWNoZWNrYm94XG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtjb2xvcl09XCJjaGVja2JveENvbG9yXCJcbiAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRcIj5cbiAgICAgIDwvZnctY2hlY2tib3g+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIml0ZW0tcmFkaW9idXR0b25cIiAqbmdJZj1cInNob3dDaGVja2JveCAmJiAhbXVsdGlTZWxlY3RcIj5cbiAgICAgIDxmdy1yYWRpby1idXR0b25cbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgW2NvbG9yXT1cImNoZWNrYm94Q29sb3JcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3RlZFwiPlxuICAgICAgPC9mdy1yYWRpby1idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGZ3LWljb24gW2NvbG9yXT1cImljb25Db2xvclwiICpuZ0lmPVwiaWNvblwiIGNsYXNzPVwibWVudS1pY29uIHt7aWNvbkNvbG9yfX1cIj57eyBpY29uIH19PC9mdy1pY29uPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWF2YXRhclwiPjwvbmctY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwibWVudS10ZXh0XCIgKm5nSWY9XCJ0aXRsZVwiPlxuICAgICAgPGg0IGNsYXNzPVwidmlzaW9uLWg0XCI+e3sgdGl0bGUgfX08L2g0PlxuICAgICAgPHAgKm5nSWY9XCJkZXNjcmlwdGlvblwiIGNsYXNzPVwidmlzaW9uLXA0IGRlc2NyaXB0aW9uXCI+e3sgZGVzY3JpcHRpb24gfX08L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImtleS10ZXh0IHZpc2lvbi1wMlwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwicFwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWJhZGdlXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctaWNvblwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWljb24tYnV0dG9uXCI+PC9uZy1jb250ZW50PlxuICAgICAgPGZ3LWljb24tYnV0dG9uXG4gICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICBbaWNvbl09XCJzdWJJdGVtc09wZW4/J2NoZXZyb24tdXAnOidjaGV2cm9uLWRvd24nXCJcbiAgICAgICAgKm5nSWY9XCJzdWJJdGVtcy5sZW5ndGg+MFwiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVTdWJJdGVtc1ZpZXcoKVwiPlxuICAgICAgPC9mdy1pY29uLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJpdGVtLXN1Yml0ZW1zXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LW1lbnUtc3ViLWl0ZW1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -1,31 +0,0 @@
1
- import { Component, HostBinding, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "../../icon/icon.component";
5
- export class FwMenuItemGroupComponent {
6
- constructor() {
7
- this.role = 'group';
8
- this.iconColor = 'primary';
9
- this.disabled = false;
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-h6{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:10px;line-height:120%}.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-p5{font-size:8px;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}.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,.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"] }] }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuItemGroupComponent, decorators: [{
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-h6{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:10px;line-height:120%}.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-p5{font-size:8px;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}.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,.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
- }], propDecorators: { role: [{
18
- type: HostBinding,
19
- args: ['role']
20
- }, {
21
- type: Input
22
- }], title: [{
23
- type: Input
24
- }], icon: [{
25
- type: Input
26
- }], iconColor: [{
27
- type: Input
28
- }], disabled: [{
29
- type: Input
30
- }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21lbnUvbWVudS1pdGVtLWdyb3VwL21lbnUtaXRlbS1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtaXRlbS1ncm91cC9tZW51LWl0ZW0tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzlELE1BQU0sT0FBTyx3QkFBd0I7SUFMckM7UUFNZ0MsU0FBSSxHQUFHLE9BQU8sQ0FBQztRQUdwQyxjQUFTLEdBQW1GLFNBQVMsQ0FBQztRQUN0RyxhQUFRLEdBQUcsS0FBSyxDQUFDO0tBQzNCOytHQU5ZLHdCQUF3QjttR0FBeEIsd0JBQXdCLCtNQ1RyQyw0U0FTQTs7NEZEQWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLG9CQUFvQjs4QkFLQSxJQUFJO3NCQUFqQyxXQUFXO3VCQUFDLE1BQU07O3NCQUFHLEtBQUs7Z0JBQ2xCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWNvblR5cGUgfSBmcm9tICcuLi8uLi9pY29uL2ljb24udHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51LWl0ZW0tZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS1pdGVtLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS1pdGVtLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZ3TWVudUl0ZW1Hcm91cENvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygncm9sZScpIEBJbnB1dCgpIHJvbGUgPSAnZ3JvdXAnO1xuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgaWNvbj86IEljb25UeXBlO1xuICBASW5wdXQoKSBpY29uQ29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdyZWQnIHwgJ29yYW5nZScgfCAnZ3JlZW4nIHwgJ3NsYXRlJyB8ICd0eXBvZ3JhcGh5JyA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJtZW51LWl0ZW0tZ3JvdXBcIj5cbiAgPGxhYmVsICpuZ0lmPVwidGl0bGVcIj5cbiAgICA8ZnctaWNvbiBbY29sb3JdPVwiaWNvbkNvbG9yXCIgKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJtZW51LWljb24ge3tpY29uQ29sb3J9fVwiPnt7IGljb24gfX08L2Z3LWljb24+XG4gICAgPHNwYW4+e3sgdGl0bGUgfX08L3NwYW4+XG4gIDwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJtZW51LWl0ZW0tZ3JvdXAtaXRlbXNcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,11 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
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"] }); }
6
- }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuSeparatorComponent, decorators: [{
8
- type: Component,
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
- }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1zZXBhcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbWVudS9tZW51LXNlcGFyYXRvci9tZW51LXNlcGFyYXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLHdCQUF3QjsrR0FBeEIsd0JBQXdCO21HQUF4Qix3QkFBd0IseURBSHpCLEVBQUU7OzRGQUdELHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxtQkFBbUIsWUFDbkIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51LXNlcGFyYXRvcicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS1zZXBhcmF0b3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRndNZW51U2VwYXJhdG9yQ29tcG9uZW50IHtcbn1cbiJdfQ==
@@ -1,103 +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
- 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, 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, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1zdWItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtc3ViLWl0ZW0vbWVudS1zdWItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtc3ViLWl0ZW0vbWVudS1zdWItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUF3QnBGLE1BQU0sT0FBTyxzQkFBc0I7SUFuQm5DO1FBcUJXLFNBQUksR0FBMkIsU0FBUyxDQUFDO1FBS3pDLFdBQU0sR0FBYSxLQUFLLENBQUM7UUFJbEMsNERBQTREO1FBQ2xELFVBQUssR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM1QixZQUFPLEdBQWEsS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBYSxLQUFLLENBQUM7S0EwQnBFO0lBeEJDLFdBQVcsQ0FBQyxHQUFXO1FBQ3JCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2hCLHVFQUF1RTtnQkFDdkUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QyxDQUFDO2lCQUNJLENBQUM7Z0JBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNuQyxDQUFDO1lBQ0QsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDOytHQXRDVSxzQkFBc0I7bUdBQXRCLHNCQUFzQixzY0N6Qm5DLHFzQkFrQkEsMGhFRFJjO1lBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsTUFBTTtnQkFDTixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztvQkFDbEIsTUFBTSxFQUFFLE1BQU07aUJBQ2YsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNuQixLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztvQkFDcEIsTUFBTSxFQUFFLEdBQUc7aUJBQ1osQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNuQixVQUFVLENBQUMsaUJBQWlCLEVBQUU7b0JBQzVCLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztpQkFDNUIsQ0FBQzthQUNILENBQUM7U0FDSDs7NEZBRVUsc0JBQXNCO2tCQW5CbEMsU0FBUzsrQkFDRSxrQkFBa0IsY0FHaEI7d0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTs0QkFDbkIsTUFBTTs0QkFDTixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztnQ0FDbEIsTUFBTSxFQUFFLE1BQU07NkJBQ2YsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDOzRCQUNuQixLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztnQ0FDcEIsTUFBTSxFQUFFLEdBQUc7NkJBQ1osQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDOzRCQUNuQixVQUFVLENBQUMsaUJBQWlCLEVBQUU7Z0NBQzVCLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQzs2QkFDNUIsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ21DLFNBQVM7c0JBQWpELFdBQVc7dUJBQUMsaUJBQWlCOztzQkFBRyxLQUFLO2dCQUU1QixLQUFLO3NCQUFkLE1BQU07Z0JBQ2dDLE9BQU87c0JBQTdDLFdBQVc7dUJBQUMsZUFBZTs7c0JBQUcsS0FBSztnQkFDSSxRQUFRO3NCQUEvQyxXQUFXO3VCQUFDLGdCQUFnQjs7c0JBQUcsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uLnR5cGVzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51LXN1Yi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtc3ViLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LXN1Yi1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2UnLCBbXG4gICAgICAvLyAuLi5cbiAgICAgIHN0YXRlKCdvcGVuJywgc3R5bGUoe1xuICAgICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgIH0pLCB7IHBhcmFtczoge30gfSksXG4gICAgICBzdGF0ZSgnY2xvc2VkJywgc3R5bGUoe1xuICAgICAgICBoZWlnaHQ6ICcwJyxcbiAgICAgIH0pLCB7IHBhcmFtczoge30gfSksXG4gICAgICB0cmFuc2l0aW9uKCdvcGVuIDw9PiBjbG9zZWQnLCBbXG4gICAgICAgIGFuaW1hdGUoJy4zM3MgZWFzZS1pbi1vdXQnKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGd01lbnVTdWJJdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFsdWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpemU/OiAnZGVmYXVsdCcgfCAnY29tcGFjdCcgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uPzogSWNvblR5cGU7XG4gIEBJbnB1dCgpIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGlkZGVuPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBocmVmPzogc3RyaW5nO1xuICBASW5wdXQoKSB0YXJnZXQ/OiBzdHJpbmc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuY29sbGFwc2VkJykgQElucHV0KCkgY29sbGFwc2VkPzogYm9vbGVhbjtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBjbGljazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mb2N1c2VkJykgQElucHV0KCkgZm9jdXNlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpIEBJbnB1dCgpIHNlbGVjdGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGhhbmRsZUNsaWNrKGV2dD86IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ocmVmKSB7XG4gICAgICBpZiAodGhpcy50YXJnZXQpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEByeC1hbmd1bGFyL3ByZWZlci1uby1sYXlvdXQtc2Vuc2l0aXZlLWFwaXNcbiAgICAgICAgd2luZG93Lm9wZW4odGhpcy5ocmVmLCB0aGlzLnRhcmdldCkuZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHRoaXMuaHJlZjtcbiAgICAgIH1cbiAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5jbGljay5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2XG4gIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCIgKm5nSWY9XCIhaGlkZGVuXCJcbiAgW0BvcGVuQ2xvc2VdPVwie3ZhbHVlOiBjb2xsYXBzZWQ/J2Nsb3NlZCc6J29wZW4nfVwiPlxuICA8ZGl2XG4gICAgW25nQ2xhc3NdPVwiWydtZW51LXN1Yi1pdGVtJywgJ3NpemUtJytzaXplLCBkaXNhYmxlZD8nZGlzYWJsZWQnOicnXVwiXG4gICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtdGV4dFwiICpuZ0lmPVwidGl0bGVcIj5cbiAgICAgIDxoNCBjbGFzcz1cInZpc2lvbi1oNFwiPnt7IHRpdGxlIH19PC9oND5cbiAgICAgIDxwICpuZ0lmPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cInZpc2lvbi1wNCBkZXNjcmlwdGlvblwiPnt7IGRlc2NyaXB0aW9uIH19PC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJrZXktdGV4dCB2aXNpb24tcDJcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInBcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1iYWRnZVwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWljb25cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1pY29uLWJ1dHRvblwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==