@flywheel-io/vision 2.0.0-beta.8 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/color.utils.d.ts +2 -0
- package/components/alert/alert.component.d.ts +1 -1
- package/components/app-icon/app-icon.component.d.ts +1 -1
- package/components/avatar/avatar.component.d.ts +7 -2
- package/components/badge/badge.component.d.ts +1 -1
- package/components/breadcrumbs/crumb.component.d.ts +1 -1
- package/components/button/button.component.d.ts +1 -1
- package/components/button-group/button-group.component.d.ts +1 -1
- package/components/button-toggle/button-toggle-item/button-toggle-item.component.d.ts +1 -1
- package/components/button-toggle/button-toggle.component.d.ts +1 -1
- package/components/card/card-attribute/card-attribute.component.d.ts +1 -1
- package/components/card/card-author/card-author.component.d.ts +1 -1
- package/components/card/card-header/card-header.component.d.ts +1 -1
- package/components/card/card.component.d.ts +1 -1
- package/components/checkbox/checkbox.component.d.ts +1 -1
- package/components/chip/chip.component.d.ts +1 -1
- package/components/contained-input/contained-input.component.d.ts +1 -1
- package/components/date-input/date-input.component.d.ts +1 -1
- package/components/dialog/dialog-confirm.component.d.ts +1 -1
- package/components/dialog/dialog-content.component.d.ts +1 -1
- package/components/dialog/dialog-simple.component.d.ts +1 -1
- package/components/dialog/dialog.component.d.ts +1 -1
- package/components/form-heading/form-heading.component.d.ts +1 -1
- package/components/icon/icon.component.d.ts +1 -1
- package/components/icon/icon.types.d.ts +1 -1
- package/components/icon-button/icon-button.component.d.ts +1 -1
- package/components/layouts/context/context.component.d.ts +1 -1
- package/components/layouts/grid/grid.component.d.ts +1 -1
- package/components/layouts/layout-group.component.d.ts +1 -1
- package/components/layouts/panel/panel.component.d.ts +1 -1
- package/components/layouts/sidebar/sidebar.component.d.ts +1 -1
- package/components/layouts/toolbar/toolbar.component.d.ts +1 -1
- package/components/menu/menu-container/menu-container.component.d.ts +26 -11
- package/components/menu/menu-item/menu-item.component.d.ts +5 -6
- package/components/menu/menu-item-group/menu-item-group.component.d.ts +1 -1
- package/components/menu/menu-sub-item/menu-sub-item.component.d.ts +1 -5
- package/components/menu/menu.component.d.ts +3 -23
- package/components/navbar/navbar-item/navbar-item.component.d.ts +1 -1
- package/components/navbar/navbar-sub-item/navbar-sub-item.component.d.ts +1 -1
- package/components/navbar/navbar.component.d.ts +1 -1
- package/components/number-input/number-input.component.d.ts +1 -1
- package/components/paginator/paginator-advanced/paginator-advanced.component.d.ts +1 -1
- package/components/paginator/paginator.component.d.ts +6 -3
- package/components/phone-input/phone-input.component.d.ts +1 -1
- package/components/phone-input/phone-input.model.d.ts +1 -1
- package/components/popover/popover-panel/popover-panel.component.d.ts +1 -1
- package/components/popover/popover.component.d.ts +1 -1
- package/components/progress/bar/bar.component.d.ts +1 -1
- package/components/progress/spinner/spinner.component.d.ts +1 -1
- package/components/radio/radio-group.component.d.ts +1 -1
- package/components/radio/radio.component.d.ts +1 -1
- package/components/section-heading/back-button/back-button.component.d.ts +1 -1
- package/components/section-heading/section-heading.component.d.ts +1 -1
- package/components/section-heading/subsection-heading/subsection-heading.component.d.ts +1 -1
- package/components/select-menu/multi-select-menu/multi-select-menu.component.d.ts +39 -22
- package/components/select-menu/select-menu.component.d.ts +1 -1
- package/components/select-menu/select-menu.module.d.ts +7 -6
- package/components/snackbar/snackbar/snackbar.component.d.ts +1 -1
- package/components/stepper/step.component.d.ts +1 -1
- package/components/stepper/stepper.component.d.ts +1 -1
- package/components/switch/switch.component.d.ts +1 -1
- package/components/table/cell.d.ts +1 -1
- package/components/table/row.d.ts +3 -5
- package/components/tabs/tab/tab.component.d.ts +1 -1
- package/components/tabs/tab-panel/tab-panel.component.d.ts +1 -1
- package/components/tabs/tabs.component.d.ts +1 -1
- package/components/text-input/text-input.component.d.ts +9 -6
- package/components/textarea-input/textarea-input.component.d.ts +1 -1
- package/components/tooltip/tooltip-panel/tooltip-panel.component.d.ts +1 -1
- package/components/tooltip/tooltip.component.d.ts +1 -1
- package/components/wrapped-input/wrapped-input.component.d.ts +1 -1
- package/esm2022/color.utils.mjs +45 -0
- package/{esm2020 → esm2022}/components/alert/alert.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/alert/alert.module.mjs +9 -9
- package/{esm2020 → esm2022}/components/app-icon/app-icon.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/app-icon/app-icon.module.mjs +7 -7
- package/esm2022/components/avatar/avatar.component.mjs +66 -0
- package/{esm2020 → esm2022}/components/avatar/avatar.module.mjs +7 -7
- package/esm2022/components/badge/badge.component.mjs +45 -0
- package/{esm2020 → esm2022}/components/badge/badge.module.mjs +5 -5
- package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +22 -0
- package/{esm2020 → esm2022}/components/breadcrumbs/breadcrumbs.module.mjs +9 -9
- package/esm2022/components/breadcrumbs/crumb.component.mjs +34 -0
- package/{esm2020 → esm2022}/components/button/button.component.mjs +4 -4
- package/esm2022/components/button/button.directives.mjs +129 -0
- package/{esm2020 → esm2022}/components/button/button.module.mjs +21 -21
- package/esm2022/components/button-group/button-group.component.mjs +131 -0
- package/{esm2020 → esm2022}/components/button-group/button-group.module.mjs +9 -9
- package/esm2022/components/button-toggle/button-toggle-item/button-toggle-item.component.mjs +54 -0
- package/esm2022/components/button-toggle/button-toggle.component.mjs +137 -0
- package/{esm2020 → esm2022}/components/button-toggle/button-toggle.module.mjs +9 -9
- package/{esm2020 → esm2022}/components/card/card-attribute/card-attribute.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/card/card-author/card-author.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/card/card-content/card-content.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/card/card-footer/card-footer.component.mjs +8 -8
- package/{esm2020 → esm2022}/components/card/card-header/card-header.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/card/card.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/card/card.module.mjs +19 -19
- package/esm2022/components/checkbox/checkbox.component.mjs +79 -0
- package/{esm2020 → esm2022}/components/checkbox/checkbox.module.mjs +9 -9
- package/esm2022/components/chip/chip.component.mjs +52 -0
- package/{esm2020 → esm2022}/components/chip/chip.module.mjs +9 -9
- package/esm2022/components/contained-input/contained-input.component.mjs +86 -0
- package/{esm2020 → esm2022}/components/contained-input/contained-input.module.mjs +13 -13
- package/esm2022/components/date-input/date-input.component.mjs +139 -0
- package/{esm2020 → esm2022}/components/date-input/date-input.module.mjs +9 -9
- package/{esm2020 → esm2022}/components/dialog/dialog-actions.component.mjs +9 -9
- package/{esm2020 → esm2022}/components/dialog/dialog-confirm.component.mjs +6 -6
- package/esm2022/components/dialog/dialog-content.component.mjs +38 -0
- package/{esm2020 → esm2022}/components/dialog/dialog-header.component.mjs +9 -9
- package/{esm2020 → esm2022}/components/dialog/dialog-simple.component.mjs +6 -6
- package/{esm2020 → esm2022}/components/dialog/dialog.component.mjs +7 -7
- package/{esm2020 → esm2022}/components/dialog/dialog.service.mjs +6 -6
- package/{esm2020 → esm2022}/components/dialog/dialogs.module.mjs +27 -27
- package/{esm2020 → esm2022}/components/form-heading/form-heading.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/form-heading/form-heading.module.mjs +9 -9
- package/esm2022/components/forms/validators.mjs +81 -0
- package/esm2022/components/icon/icon.component.mjs +61 -0
- package/{esm2020 → esm2022}/components/icon/icon.module.mjs +5 -5
- package/{esm2020 → esm2022}/components/icon-button/icon-button.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/icon-button/icon-button.module.mjs +7 -7
- package/esm2022/components/layouts/context/context.component.mjs +46 -0
- package/{esm2020 → esm2022}/components/layouts/grid/grid.component.mjs +7 -7
- package/esm2022/components/layouts/layout-group.component.mjs +36 -0
- package/{esm2020 → esm2022}/components/layouts/layouts.module.mjs +19 -19
- package/{esm2020 → esm2022}/components/layouts/panel/panel.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/layouts/sidebar/sidebar.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/layouts/toolbar/toolbar.component.mjs +4 -4
- package/esm2022/components/menu/menu-close-triggers.directive.mjs +38 -0
- package/esm2022/components/menu/menu-container/menu-container.component.mjs +126 -0
- package/{esm2020 → esm2022}/components/menu/menu-header/menu-header.component.mjs +4 -4
- package/esm2022/components/menu/menu-item/menu-item.component.mjs +134 -0
- package/{esm2020 → esm2022}/components/menu/menu-item-group/menu-item-group.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/menu/menu-separator/menu-separator.component.mjs +4 -4
- package/esm2022/components/menu/menu-sub-item/menu-sub-item.component.mjs +103 -0
- package/esm2022/components/menu/menu.component.mjs +129 -0
- package/{esm2020 → esm2022}/components/menu/menu.module.mjs +37 -37
- package/{esm2020 → esm2022}/components/navbar/navbar-header/navbar-header.component.mjs +4 -4
- package/esm2022/components/navbar/navbar-item/navbar-item.component.mjs +95 -0
- package/esm2022/components/navbar/navbar-sub-item/navbar-sub-item.component.mjs +76 -0
- package/esm2022/components/navbar/navbar.component.mjs +75 -0
- package/{esm2020 → esm2022}/components/navbar/navbar.module.mjs +25 -25
- package/esm2022/components/number-input/number-input.component.mjs +122 -0
- package/{esm2020 → esm2022}/components/number-input/number-input.module.mjs +9 -9
- package/esm2022/components/paginator/paginator-advanced/paginator-advanced.component.mjs +123 -0
- package/esm2022/components/paginator/paginator.component.mjs +133 -0
- package/{esm2020 → esm2022}/components/paginator/paginator.module.mjs +17 -17
- package/esm2022/components/phone-input/phone-input.component.mjs +285 -0
- package/{esm2020 → esm2022}/components/phone-input/phone-input.module.mjs +17 -17
- package/{esm2020 → esm2022}/components/popover/popover-panel/popover-panel.component.mjs +4 -4
- package/esm2022/components/popover/popover.component.mjs +76 -0
- package/{esm2020 → esm2022}/components/popover/popover.module.mjs +13 -13
- package/{esm2020 → esm2022}/components/progress/bar/bar.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/progress/progress.module.mjs +7 -7
- package/esm2022/components/progress/spinner/spinner.component.mjs +101 -0
- package/esm2022/components/radio/radio-group.component.mjs +117 -0
- package/esm2022/components/radio/radio.component.mjs +51 -0
- package/{esm2020 → esm2022}/components/radio/radio.module.mjs +11 -11
- package/esm2022/components/section-heading/back-button/back-button.component.mjs +30 -0
- package/{esm2020 → esm2022}/components/section-heading/section-heading.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/section-heading/section-heading.module.mjs +13 -13
- package/{esm2020 → esm2022}/components/section-heading/subsection-heading/subsection-heading.component.mjs +5 -5
- package/esm2022/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +354 -0
- package/esm2022/components/select-menu/select-menu.component.mjs +332 -0
- package/esm2022/components/select-menu/select-menu.module.mjs +60 -0
- package/esm2022/components/shared/pipes/pipes.module.mjs +36 -0
- package/esm2022/components/shared/pipes/translate.pipe.mjs +40 -0
- package/{esm2020 → esm2022}/components/shared/pipes/trusthtml.pipe.mjs +5 -5
- package/esm2022/components/shared/services/menu-manager.service.mjs +27 -0
- package/esm2022/components/shared/translation.service.mjs +26 -0
- package/esm2022/components/snackbar/snackbar/snackbar.component.mjs +111 -0
- package/esm2022/components/snackbar/snackbar-container/snackbar-container.component.mjs +63 -0
- package/{esm2020 → esm2022}/components/snackbar/snackbar.module.mjs +15 -15
- package/esm2022/components/snackbar/snackbar.service.mjs +36 -0
- package/esm2022/components/stepper/step.component.mjs +113 -0
- package/esm2022/components/stepper/stepper.component.mjs +95 -0
- package/{esm2020 → esm2022}/components/stepper/stepper.module.mjs +13 -13
- package/esm2022/components/switch/switch.component.mjs +73 -0
- package/{esm2020 → esm2022}/components/switch/switch.module.mjs +5 -5
- package/{esm2020 → esm2022}/components/table/cell.mjs +24 -24
- package/esm2022/components/table/row.mjs +164 -0
- package/esm2022/components/table/table-dense.component.mjs +38 -0
- package/esm2022/components/table/table.component.mjs +38 -0
- package/{esm2020 → esm2022}/components/table/table.module.mjs +37 -37
- package/esm2022/components/tabs/tab/tab.component.mjs +79 -0
- package/{esm2020 → esm2022}/components/tabs/tab-panel/tab-panel.component.mjs +4 -4
- package/esm2022/components/tabs/tabs.component.mjs +68 -0
- package/{esm2020 → esm2022}/components/tabs/tabs.module.mjs +11 -11
- package/esm2022/components/text-input/text-input.component.mjs +125 -0
- package/{esm2020 → esm2022}/components/text-input/text-input.module.mjs +9 -9
- package/esm2022/components/textarea-input/textarea-input.component.mjs +86 -0
- package/{esm2020 → esm2022}/components/textarea-input/textarea-input.module.mjs +11 -11
- package/{esm2020 → esm2022}/components/tooltip/tooltip-panel/tooltip-panel.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/tooltip/tooltip.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/tooltip/tooltip.module.mjs +13 -13
- package/{esm2020 → esm2022}/components/wrapped-input/wrapped-input.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/wrapped-input/wrapped-input.module.mjs +7 -7
- package/{esm2020 → esm2022}/directives/menu-register.directive.mjs +6 -6
- package/{fesm2020 → fesm2022}/flywheel-io-vision.mjs +1512 -1505
- package/fesm2022/flywheel-io-vision.mjs.map +1 -0
- package/global.scss +1 -0
- package/package.json +9 -12
- package/styles.css +5 -0
- package/esm2020/components/avatar/avatar.component.mjs +0 -53
- package/esm2020/components/badge/badge.component.mjs +0 -45
- package/esm2020/components/breadcrumbs/breadcrumbs.component.mjs +0 -22
- package/esm2020/components/breadcrumbs/crumb.component.mjs +0 -34
- package/esm2020/components/button/button.directives.mjs +0 -129
- package/esm2020/components/button-group/button-group.component.mjs +0 -131
- package/esm2020/components/button-toggle/button-toggle-item/button-toggle-item.component.mjs +0 -54
- package/esm2020/components/button-toggle/button-toggle.component.mjs +0 -137
- package/esm2020/components/checkbox/checkbox.component.mjs +0 -79
- package/esm2020/components/chip/chip.component.mjs +0 -52
- package/esm2020/components/contained-input/contained-input.component.mjs +0 -86
- package/esm2020/components/date-input/date-input.component.mjs +0 -139
- package/esm2020/components/dialog/dialog-content.component.mjs +0 -38
- package/esm2020/components/forms/validators.mjs +0 -81
- package/esm2020/components/icon/icon.component.mjs +0 -61
- package/esm2020/components/layouts/context/context.component.mjs +0 -46
- package/esm2020/components/layouts/layout-group.component.mjs +0 -36
- package/esm2020/components/menu/menu-close-triggers.directive.mjs +0 -38
- package/esm2020/components/menu/menu-container/menu-container.component.mjs +0 -90
- package/esm2020/components/menu/menu-item/menu-item.component.mjs +0 -136
- package/esm2020/components/menu/menu-sub-item/menu-sub-item.component.mjs +0 -109
- package/esm2020/components/menu/menu.component.mjs +0 -212
- package/esm2020/components/navbar/navbar-item/navbar-item.component.mjs +0 -95
- package/esm2020/components/navbar/navbar-sub-item/navbar-sub-item.component.mjs +0 -76
- package/esm2020/components/navbar/navbar.component.mjs +0 -75
- package/esm2020/components/number-input/number-input.component.mjs +0 -122
- package/esm2020/components/paginator/paginator-advanced/paginator-advanced.component.mjs +0 -123
- package/esm2020/components/paginator/paginator.component.mjs +0 -133
- package/esm2020/components/phone-input/phone-input.component.mjs +0 -285
- package/esm2020/components/popover/popover.component.mjs +0 -76
- package/esm2020/components/progress/spinner/spinner.component.mjs +0 -101
- package/esm2020/components/radio/radio-group.component.mjs +0 -117
- package/esm2020/components/radio/radio.component.mjs +0 -51
- package/esm2020/components/section-heading/back-button/back-button.component.mjs +0 -30
- package/esm2020/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +0 -357
- package/esm2020/components/select-menu/select-menu.component.mjs +0 -332
- package/esm2020/components/select-menu/select-menu.module.mjs +0 -56
- package/esm2020/components/shared/pipes/pipes.module.mjs +0 -36
- package/esm2020/components/shared/pipes/translate.pipe.mjs +0 -40
- package/esm2020/components/shared/services/menu-manager.service.mjs +0 -27
- package/esm2020/components/shared/translation.service.mjs +0 -26
- package/esm2020/components/snackbar/snackbar/snackbar.component.mjs +0 -111
- package/esm2020/components/snackbar/snackbar-container/snackbar-container.component.mjs +0 -63
- package/esm2020/components/snackbar/snackbar.service.mjs +0 -36
- package/esm2020/components/stepper/step.component.mjs +0 -113
- package/esm2020/components/stepper/stepper.component.mjs +0 -95
- package/esm2020/components/switch/switch.component.mjs +0 -73
- package/esm2020/components/table/row.mjs +0 -170
- package/esm2020/components/table/table-dense.component.mjs +0 -38
- package/esm2020/components/table/table.component.mjs +0 -38
- package/esm2020/components/tabs/tab/tab.component.mjs +0 -79
- package/esm2020/components/tabs/tabs.component.mjs +0 -68
- package/esm2020/components/text-input/text-input.component.mjs +0 -112
- package/esm2020/components/textarea-input/textarea-input.component.mjs +0 -86
- package/fesm2015/flywheel-io-vision.mjs +0 -8126
- package/fesm2015/flywheel-io-vision.mjs.map +0 -1
- package/fesm2020/flywheel-io-vision.mjs.map +0 -1
- package/flywheel-io-vision-2.0.0-beta.8.tgz +0 -0
- /package/{esm2020 → esm2022}/components/icon/icon.types.mjs +0 -0
- /package/{esm2020 → esm2022}/components/paginator/paginator.model.mjs +0 -0
- /package/{esm2020 → esm2022}/components/phone-input/country-code.data.mjs +0 -0
- /package/{esm2020 → esm2022}/components/phone-input/phone-input.model.mjs +0 -0
- /package/{esm2020 → esm2022}/components/snackbar/snackbar-message.model.mjs +0 -0
- /package/{esm2020 → esm2022}/components/snackbar/snackbar-timer.service.mjs +0 -0
- /package/{esm2020 → esm2022}/flywheel-io-vision.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { Component, ContentChildren, EventEmitter, HostBinding, Input, Output, } from '@angular/core';
|
|
2
|
+
import { FwMenuSubItemComponent } from '../menu-sub-item/menu-sub-item.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "../../icon-button/icon-button.component";
|
|
6
|
+
import * as i3 from "../../icon/icon.component";
|
|
7
|
+
import * as i4 from "../../checkbox/checkbox.component";
|
|
8
|
+
import * as i5 from "../../radio/radio.component";
|
|
9
|
+
export class FwMenuItemComponent {
|
|
10
|
+
constructor(elementRef) {
|
|
11
|
+
this.elementRef = elementRef;
|
|
12
|
+
this.size = 'default';
|
|
13
|
+
this.iconColor = 'primary';
|
|
14
|
+
this.showCheckbox = false;
|
|
15
|
+
this.checkboxColor = 'primary';
|
|
16
|
+
this.multiSelect = false;
|
|
17
|
+
this.hidden = false;
|
|
18
|
+
this.subItemsOpen = false;
|
|
19
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
20
|
+
this.click = new EventEmitter();
|
|
21
|
+
this.focused = false;
|
|
22
|
+
this.selected = false;
|
|
23
|
+
this.subscriptions = [];
|
|
24
|
+
}
|
|
25
|
+
scrollIntoView() {
|
|
26
|
+
// eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
|
|
27
|
+
this.elementRef.nativeElement.scrollIntoView({ behavior: 'smooth' });
|
|
28
|
+
}
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
30
|
+
ngOnChanges(changes) {
|
|
31
|
+
this.updateLayout();
|
|
32
|
+
}
|
|
33
|
+
ngOnDestroy() {
|
|
34
|
+
for (const subscription of this.subscriptions) {
|
|
35
|
+
subscription.unsubscribe();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
ngAfterContentInit() {
|
|
39
|
+
this.subItems.forEach(subItem => {
|
|
40
|
+
const sub = subItem.click.subscribe(value => this.click.emit(value));
|
|
41
|
+
this.subscriptions.push(sub);
|
|
42
|
+
});
|
|
43
|
+
this.updateLayout();
|
|
44
|
+
}
|
|
45
|
+
updateLayout() {
|
|
46
|
+
if (this.subItems) {
|
|
47
|
+
this.subItems.forEach(subItem => {
|
|
48
|
+
subItem.size = this.size;
|
|
49
|
+
subItem.hidden = !(this.subItemsOpen && !this.collapsed);
|
|
50
|
+
subItem.collapsed = this.collapsed;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
toggleSubItemsView() {
|
|
55
|
+
this.subItemsOpen = !this.subItemsOpen;
|
|
56
|
+
this.updateLayout();
|
|
57
|
+
}
|
|
58
|
+
handleClick(evt) {
|
|
59
|
+
if (this.disabled) {
|
|
60
|
+
evt.stopPropagation();
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (this.href) {
|
|
64
|
+
if (this.target) {
|
|
65
|
+
// eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
|
|
66
|
+
window.open(this.href, this.target).focus();
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
window.location.href = this.href;
|
|
70
|
+
}
|
|
71
|
+
evt.stopPropagation();
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (this.value) {
|
|
75
|
+
this.click.emit(this.value);
|
|
76
|
+
evt.stopPropagation();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
80
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwMenuItemComponent, selector: "fw-menu-item", inputs: { value: "value", size: "size", title: "title", description: "description", icon: "icon", iconColor: "iconColor", disabled: "disabled", showCheckbox: "showCheckbox", checkboxColor: "checkboxColor", multiSelect: "multiSelect", hidden: "hidden", collapsed: "collapsed", href: "href", target: "target", subItemsOpen: "subItemsOpen", focused: "focused", selected: "selected" }, outputs: { click: "click" }, host: { properties: { "class.collapsed": "this.collapsed", "class.focused": "this.focused", "class.selected": "this.selected" } }, queries: [{ propertyName: "subItems", predicate: FwMenuSubItemComponent }], usesOnChanges: true, ngImport: i0, template: "<div (click)=\"handleClick($event)\" *ngIf=\"!hidden\">\n <div\n [ngClass]=\"['menu-item', 'size-'+size, 'variant-'+variant, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"item-checkbox\" *ngIf=\"showCheckbox && multiSelect\">\n <fw-checkbox\n [disabled]=\"disabled\"\n [color]=\"checkboxColor\"\n [checked]=\"selected\">\n </fw-checkbox>\n </div>\n <div class=\"item-radiobutton\" *ngIf=\"showCheckbox && !multiSelect\">\n <fw-radio-button\n [value]=\"value\"\n [color]=\"checkboxColor\"\n [disabled]=\"disabled\"\n [checked]=\"selected\">\n </fw-radio-button>\n </div>\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n *ngIf=\"subItems.length>0\"\n (click)=\"toggleSubItemsView()\">\n </fw-icon-button>\n </div>\n </div>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-menu-sub-item\"></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host>div{display:flex;flex:1;text-decoration:none;max-width:100%}:host h4{text-overflow:ellipsis}:host:hover:not(.selected) .menu-item:not(.disabled),:host.focused .menu-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-icon,:host.focused .menu-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-text h4,:host.focused .menu-item:not(.disabled) .menu-text h4{color:var(--typography-base)}:host.selected .menu-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .menu-item .menu-icon{color:var(--primary-base)}:host.selected .menu-item .menu-text h4{color:var(--typography-base)}:host.collapsed .menu-item{container-name:menuitem;container-type:size}:host .menu-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px;margin:1px 4px;border-radius:4px;color:var(--typography-muted);min-height:40px;width:stretch}:host .menu-item .item-checkbox:empty{display:none}:host .menu-item .item-radiobutton{padding:0}:host .menu-item .item-radiobutton:empty{display:none}:host .menu-item .menu-icon{font-size:18px;min-width:18px;width:18px;white-space:nowrap}:host .menu-item .menu-text{flex:1;overflow:hidden;padding:2px 0}:host .menu-item .menu-text h4{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .menu-item .menu-text p{margin:0}:host .menu-item .menu-text p.description{color:var(--typography-light)}:host .menu-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .menu-item .key-text fw-icon-button{min-height:22px!important;min-width:22px!important;width:22px!important}:host .menu-item.size-compact{min-height:32px}:host .menu-item.size-compact .menu-text .description{display:none}:host .menu-item.disabled{opacity:.4;cursor:not-allowed}:host .item-subitems{display:flex;flex-direction:column}@container menuitem (max-width: 60px){.menu-item{gap:0}.menu-item .menu-text{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FwIconButtonComponent, selector: "fw-icon-button", inputs: ["color", "icon", "size", "disabled", "selected"] }, { kind: "component", type: i3.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: i4.FwCheckboxComponent, selector: "fw-checkbox", inputs: ["name", "disabled", "size", "color", "title", "focused", "checked"], outputs: ["change"] }, { kind: "component", type: i5.FwRadioComponent, selector: "fw-radio-button", inputs: ["checked", "value", "group", "disabled", "size", "color", "title", "focused"], outputs: ["change"] }] }); }
|
|
81
|
+
}
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuItemComponent, decorators: [{
|
|
83
|
+
type: Component,
|
|
84
|
+
args: [{ selector: 'fw-menu-item', template: "<div (click)=\"handleClick($event)\" *ngIf=\"!hidden\">\n <div\n [ngClass]=\"['menu-item', 'size-'+size, 'variant-'+variant, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"item-checkbox\" *ngIf=\"showCheckbox && multiSelect\">\n <fw-checkbox\n [disabled]=\"disabled\"\n [color]=\"checkboxColor\"\n [checked]=\"selected\">\n </fw-checkbox>\n </div>\n <div class=\"item-radiobutton\" *ngIf=\"showCheckbox && !multiSelect\">\n <fw-radio-button\n [value]=\"value\"\n [color]=\"checkboxColor\"\n [disabled]=\"disabled\"\n [checked]=\"selected\">\n </fw-radio-button>\n </div>\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n *ngIf=\"subItems.length>0\"\n (click)=\"toggleSubItemsView()\">\n </fw-icon-button>\n </div>\n </div>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-menu-sub-item\"></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host>div{display:flex;flex:1;text-decoration:none;max-width:100%}:host h4{text-overflow:ellipsis}:host:hover:not(.selected) .menu-item:not(.disabled),:host.focused .menu-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-icon,:host.focused .menu-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-item:not(.disabled) .menu-text h4,:host.focused .menu-item:not(.disabled) .menu-text h4{color:var(--typography-base)}:host.selected .menu-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .menu-item .menu-icon{color:var(--primary-base)}:host.selected .menu-item .menu-text h4{color:var(--typography-base)}:host.collapsed .menu-item{container-name:menuitem;container-type:size}:host .menu-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px;margin:1px 4px;border-radius:4px;color:var(--typography-muted);min-height:40px;width:stretch}:host .menu-item .item-checkbox:empty{display:none}:host .menu-item .item-radiobutton{padding:0}:host .menu-item .item-radiobutton:empty{display:none}:host .menu-item .menu-icon{font-size:18px;min-width:18px;width:18px;white-space:nowrap}:host .menu-item .menu-text{flex:1;overflow:hidden;padding:2px 0}:host .menu-item .menu-text h4{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .menu-item .menu-text p{margin:0}:host .menu-item .menu-text p.description{color:var(--typography-light)}:host .menu-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .menu-item .key-text fw-icon-button{min-height:22px!important;min-width:22px!important;width:22px!important}:host .menu-item.size-compact{min-height:32px}:host .menu-item.size-compact .menu-text .description{display:none}:host .menu-item.disabled{opacity:.4;cursor:not-allowed}:host .item-subitems{display:flex;flex-direction:column}@container menuitem (max-width: 60px){.menu-item{gap:0}.menu-item .menu-text{opacity:0}}\n"] }]
|
|
85
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { value: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], size: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], title: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}], description: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], icon: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}], iconColor: [{
|
|
96
|
+
type: Input
|
|
97
|
+
}], disabled: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}], showCheckbox: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], checkboxColor: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], multiSelect: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], hidden: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], collapsed: [{
|
|
108
|
+
type: HostBinding,
|
|
109
|
+
args: ['class.collapsed']
|
|
110
|
+
}, {
|
|
111
|
+
type: Input
|
|
112
|
+
}], href: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], target: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], subItemsOpen: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], click: [{
|
|
119
|
+
type: Output
|
|
120
|
+
}], focused: [{
|
|
121
|
+
type: HostBinding,
|
|
122
|
+
args: ['class.focused']
|
|
123
|
+
}, {
|
|
124
|
+
type: Input
|
|
125
|
+
}], selected: [{
|
|
126
|
+
type: HostBinding,
|
|
127
|
+
args: ['class.selected']
|
|
128
|
+
}, {
|
|
129
|
+
type: Input
|
|
130
|
+
}], subItems: [{
|
|
131
|
+
type: ContentChildren,
|
|
132
|
+
args: [FwMenuSubItemComponent]
|
|
133
|
+
}] } });
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21lbnUvbWVudS1pdGVtL21lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxHQUdQLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7O0FBT2xGLE1BQU0sT0FBTyxtQkFBbUI7SUF1QjlCLFlBQW9CLFVBQW1DO1FBQW5DLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBckI5QyxTQUFJLEdBQTJCLFNBQVMsQ0FBQztRQUl6QyxjQUFTLEdBQW1GLFNBQVMsQ0FBQztRQUV0RyxpQkFBWSxHQUFhLEtBQUssQ0FBQztRQUMvQixrQkFBYSxHQUF5QyxTQUFTLENBQUM7UUFDaEUsZ0JBQVcsR0FBYSxLQUFLLENBQUM7UUFDOUIsV0FBTSxHQUFhLEtBQUssQ0FBQztRQUl6QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUN2Qyw0REFBNEQ7UUFDbEQsVUFBSyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzVCLFlBQU8sR0FBYSxLQUFLLENBQUM7UUFDekIsYUFBUSxHQUFhLEtBQUssQ0FBQztRQUUzRCxrQkFBYSxHQUFtQixFQUFFLENBQUM7SUFFZSxDQUFDO0lBRTNELGNBQWM7UUFDWix1RUFBdUU7UUFDdkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJ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RyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ21DLFNBQVM7c0JBQWpELFdBQVc7dUJBQUMsaUJBQWlCOztzQkFBRyxLQUFLO2dCQUM3QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNO2dCQUNnQyxPQUFPO3NCQUE3QyxXQUFXO3VCQUFDLGVBQWU7O3NCQUFHLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBL0MsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUFHLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBaEQsZUFBZTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSWNvblR5cGUgfSBmcm9tICcuLi8uLi9pY29uL2ljb24udHlwZXMnO1xuaW1wb3J0IHsgRndNZW51U3ViSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUtc3ViLWl0ZW0vbWVudS1zdWItaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZ3TWVudUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBJbnB1dCgpIHZhbHVlPzogc3RyaW5nO1xuICBASW5wdXQoKSBzaXplPzogJ2RlZmF1bHQnIHwgJ2NvbXBhY3QnID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgQElucHV0KCkgaWNvbj86IEljb25UeXBlO1xuICBASW5wdXQoKSBpY29uQ29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdyZWQnIHwgJ29yYW5nZScgfCAnZ3JlZW4nIHwgJ3NsYXRlJyB8ICd0eXBvZ3JhcGh5JyA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBzaG93Q2hlY2tib3g/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNoZWNrYm94Q29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdkZWZhdWx0JyA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgbXVsdGlTZWxlY3Q/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhpZGRlbj86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jb2xsYXBzZWQnKSBASW5wdXQoKSBjb2xsYXBzZWQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBocmVmPzogc3RyaW5nO1xuICBASW5wdXQoKSB0YXJnZXQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN1Ykl0ZW1zT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgQE91dHB1dCgpIGNsaWNrOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZvY3VzZWQnKSBASW5wdXQoKSBmb2N1c2VkPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNlbGVjdGVkJykgQElucHV0KCkgc2VsZWN0ZWQ/OiBib29sZWFuID0gZmFsc2U7XG4gIEBDb250ZW50Q2hpbGRyZW4oRndNZW51U3ViSXRlbUNvbXBvbmVudCkgc3ViSXRlbXM6IFF1ZXJ5TGlzdDxGd01lbnVTdWJJdGVtQ29tcG9uZW50PjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgc2Nyb2xsSW50b1ZpZXcoKTogdm9pZCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEByeC1hbmd1bGFyL3ByZWZlci1uby1sYXlvdXQtc2Vuc2l0aXZlLWFwaXNcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiB0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ykl0ZW1zLmZvckVhY2goc3ViSXRlbSA9PiB7XG4gICAgICBjb25zdCBzdWIgPSBzdWJJdGVtLmNsaWNrLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLmNsaWNrLmVtaXQodmFsdWUpKTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1Yik7XG4gICAgfSk7XG4gICAgdGhpcy51cGRhdGVMYXlvdXQoKTtcbiAgfVxuXG4gIHVwZGF0ZUxheW91dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWJJdGVtcykge1xuICAgICAgdGhpcy5zdWJJdGVtcy5mb3JFYWNoKHN1Ykl0ZW0gPT4ge1xuICAgICAgICBzdWJJdGVtLnNpemUgPSB0aGlzLnNpemU7XG4gICAgICAgIHN1Ykl0ZW0uaGlkZGVuID0gISh0aGlzLnN1Ykl0ZW1zT3BlbiAmJiAhdGhpcy5jb2xsYXBzZWQpO1xuICAgICAgICBzdWJJdGVtLmNvbGxhcHNlZCA9IHRoaXMuY29sbGFwc2VkO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU3ViSXRlbXNWaWV3KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViSXRlbXNPcGVuID0gIXRoaXMuc3ViSXRlbXNPcGVuO1xuICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7XG4gIH1cblxuICBoYW5kbGVDbGljayhldnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaHJlZikge1xuICAgICAgaWYgKHRoaXMudGFyZ2V0KSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAcngtYW5ndWxhci9wcmVmZXItbm8tbGF5b3V0LXNlbnNpdGl2ZS1hcGlzXG4gICAgICAgIHdpbmRvdy5vcGVuKHRoaXMuaHJlZiwgdGhpcy50YXJnZXQpLmZvY3VzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHRoaXMuaHJlZjtcbiAgICAgIH1cbiAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5jbGljay5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAoY2xpY2spPVwiaGFuZGxlQ2xpY2soJGV2ZW50KVwiICpuZ0lmPVwiIWhpZGRlblwiPlxuICA8ZGl2XG4gICAgW25nQ2xhc3NdPVwiWydtZW51LWl0ZW0nLCAnc2l6ZS0nK3NpemUsICd2YXJpYW50LScrdmFyaWFudCwgZGlzYWJsZWQ/J2Rpc2FibGVkJzonJ11cIlxuICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJpdGVtLWNoZWNrYm94XCIgKm5nSWY9XCJzaG93Q2hlY2tib3ggJiYgbXVsdGlTZWxlY3RcIj5cbiAgICAgIDxmdy1jaGVja2JveFxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbY29sb3JdPVwiY2hlY2tib3hDb2xvclwiXG4gICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGVkXCI+XG4gICAgICA8L2Z3LWNoZWNrYm94PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpdGVtLXJhZGlvYnV0dG9uXCIgKm5nSWY9XCJzaG93Q2hlY2tib3ggJiYgIW11bHRpU2VsZWN0XCI+XG4gICAgICA8ZnctcmFkaW8tYnV0dG9uXG4gICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgIFtjb2xvcl09XCJjaGVja2JveENvbG9yXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRcIj5cbiAgICAgIDwvZnctcmFkaW8tYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxmdy1pY29uIFtjb2xvcl09XCJpY29uQ29sb3JcIiAqbmdJZj1cImljb25cIiBjbGFzcz1cIm1lbnUtaWNvbiB7e2ljb25Db2xvcn19XCI+e3sgaWNvbiB9fTwvZnctaWNvbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1hdmF0YXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtdGV4dFwiICpuZ0lmPVwidGl0bGVcIj5cbiAgICAgIDxoNCBjbGFzcz1cInZpc2lvbi1oNFwiPnt7IHRpdGxlIH19PC9oND5cbiAgICAgIDxwICpuZ0lmPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cInZpc2lvbi1wNCBkZXNjcmlwdGlvblwiPnt7IGRlc2NyaXB0aW9uIH19PC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJrZXktdGV4dCB2aXNpb24tcDJcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInBcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1iYWRnZVwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWljb25cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1pY29uLWJ1dHRvblwiPjwvbmctY29udGVudD5cbiAgICAgIDxmdy1pY29uLWJ1dHRvblxuICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgW2ljb25dPVwic3ViSXRlbXNPcGVuPydjaGV2cm9uLXVwJzonY2hldnJvbi1kb3duJ1wiXG4gICAgICAgICpuZ0lmPVwic3ViSXRlbXMubGVuZ3RoPjBcIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlU3ViSXRlbXNWaWV3KClcIj5cbiAgICAgIDwvZnctaWNvbi1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiaXRlbS1zdWJpdGVtc1wiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1tZW51LXN1Yi1pdGVtXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|
|
@@ -8,12 +8,12 @@ export class FwMenuItemGroupComponent {
|
|
|
8
8
|
this.iconColor = 'primary';
|
|
9
9
|
this.disabled = false;
|
|
10
10
|
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuItemGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwMenuItemGroupComponent, selector: "fw-menu-item-group", inputs: { role: "role", title: "title", icon: "icon", iconColor: "iconColor", disabled: "disabled" }, host: { properties: { "role": "this.role" } }, ngImport: i0, template: "<div class=\"menu-item-group\">\n <label *ngIf=\"title\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <span>{{ title }}</span>\n </label>\n <div class=\"menu-item-group-items\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700\";.vision-h1{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:22px}.vision-h2{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:18px}.vision-h3{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:16px}.vision-h4,:host .menu-item-group label{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:14px}.vision-h5{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:12px;line-height:130%}.vision-p1{font-size:18px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p2{font-size:14px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p3{font-size:12px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p4{font-size:10px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-link{text-decoration:underline;color:var(--primary-base);cursor:pointer}.vision-link:hover{text-decoration:none}.vision-link:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link:visited{color:var(--secondary-base)}.vision-link-inherited{text-decoration:underline;color:var(--primary-base);cursor:pointer;color:inherit}.vision-link-inherited:hover{text-decoration:none}.vision-link-inherited:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link-inherited:visited{color:var(--secondary-base)}.vision-link-inherited:visited{color:inherit}.vision-link-no-visited{text-decoration:underline;color:var(--primary-base);cursor:pointer}.vision-link-no-visited:hover{text-decoration:none}.vision-link-no-visited:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link-no-visited:visited{color:var(--secondary-base)}.vision-link-no-visited:visited{color:var(--primary-base)}:host .menu-item-group{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:8px;padding:8px;margin:1px 4px;color:var(--typography-base);width:stretch}:host .menu-item-group label{display:flex;align-items:center;gap:8px}:host .menu-item-group label .menu-icon{font-size:18px;white-space:nowrap}:host .menu-item-group .menu-item-group-items{width:stretch}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }] }); }
|
|
11
13
|
}
|
|
12
|
-
|
|
13
|
-
FwMenuItemGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FwMenuItemGroupComponent, selector: "fw-menu-item-group", inputs: { role: "role", title: "title", icon: "icon", iconColor: "iconColor", disabled: "disabled" }, host: { properties: { "role": "this.role" } }, ngImport: i0, template: "<div class=\"menu-item-group\">\n <label *ngIf=\"title\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <span>{{ title }}</span>\n </label>\n <div class=\"menu-item-group-items\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700\";.vision-h1{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:22px}.vision-h2{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:18px}.vision-h3{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:16px}.vision-h4,:host .menu-item-group label{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:14px}.vision-h5{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:12px;line-height:130%}.vision-p1{font-size:18px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p2{font-size:14px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p3{font-size:12px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p4{font-size:10px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-link{text-decoration:underline;color:var(--primary-base);cursor:pointer}.vision-link:hover{text-decoration:none}.vision-link:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link:visited{color:var(--secondary-base)}.vision-link-inherited{text-decoration:underline;color:var(--primary-base);cursor:pointer;color:inherit}.vision-link-inherited:hover{text-decoration:none}.vision-link-inherited:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link-inherited:visited{color:var(--secondary-base)}.vision-link-inherited:visited{color:inherit}.vision-link-no-visited{text-decoration:underline;color:var(--primary-base);cursor:pointer}.vision-link-no-visited:hover{text-decoration:none}.vision-link-no-visited:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link-no-visited:visited{color:var(--secondary-base)}.vision-link-no-visited:visited{color:var(--primary-base)}:host .menu-item-group{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:8px;padding:8px;margin:1px 4px;color:var(--typography-base);width:-webkit-fill-available;width:-moz-available;width:stretch}:host .menu-item-group label{display:flex;align-items:center;gap:8px}:host .menu-item-group label .menu-icon{font-size:18px;white-space:nowrap}:host .menu-item-group .menu-item-group-items{width:-webkit-fill-available;width:-moz-available;width:stretch}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }] });
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwMenuItemGroupComponent, decorators: [{
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuItemGroupComponent, decorators: [{
|
|
15
15
|
type: Component,
|
|
16
|
-
args: [{ selector: 'fw-menu-item-group', template: "<div class=\"menu-item-group\">\n <label *ngIf=\"title\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <span>{{ title }}</span>\n </label>\n <div class=\"menu-item-group-items\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700\";.vision-h1{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:22px}.vision-h2{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:18px}.vision-h3{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:16px}.vision-h4,:host .menu-item-group label{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:14px}.vision-h5{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:12px;line-height:130%}.vision-p1{font-size:18px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p2{font-size:14px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p3{font-size:12px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p4{font-size:10px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-link{text-decoration:underline;color:var(--primary-base);cursor:pointer}.vision-link:hover{text-decoration:none}.vision-link:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link:visited{color:var(--secondary-base)}.vision-link-inherited{text-decoration:underline;color:var(--primary-base);cursor:pointer;color:inherit}.vision-link-inherited:hover{text-decoration:none}.vision-link-inherited:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link-inherited:visited{color:var(--secondary-base)}.vision-link-inherited:visited{color:inherit}.vision-link-no-visited{text-decoration:underline;color:var(--primary-base);cursor:pointer}.vision-link-no-visited:hover{text-decoration:none}.vision-link-no-visited:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link-no-visited:visited{color:var(--secondary-base)}.vision-link-no-visited:visited{color:var(--primary-base)}:host .menu-item-group{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:8px;padding:8px;margin:1px 4px;color:var(--typography-base);width
|
|
16
|
+
args: [{ selector: 'fw-menu-item-group', template: "<div class=\"menu-item-group\">\n <label *ngIf=\"title\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"menu-icon {{iconColor}}\">{{ icon }}</fw-icon>\n <span>{{ title }}</span>\n </label>\n <div class=\"menu-item-group-items\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700\";.vision-h1{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:22px}.vision-h2{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:18px}.vision-h3{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:16px}.vision-h4,:host .menu-item-group label{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:14px}.vision-h5{font-family:Inter,sans-serif;color:var(--typography-base);font-weight:500;font-size:12px;line-height:130%}.vision-p1{font-size:18px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p2{font-size:14px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p3{font-size:12px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-p4{font-size:10px;font-family:Inter,sans-serif;color:var(--typography-base);font-weight:400}.vision-link{text-decoration:underline;color:var(--primary-base);cursor:pointer}.vision-link:hover{text-decoration:none}.vision-link:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link:visited{color:var(--secondary-base)}.vision-link-inherited{text-decoration:underline;color:var(--primary-base);cursor:pointer;color:inherit}.vision-link-inherited:hover{text-decoration:none}.vision-link-inherited:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link-inherited:visited{color:var(--secondary-base)}.vision-link-inherited:visited{color:inherit}.vision-link-no-visited{text-decoration:underline;color:var(--primary-base);cursor:pointer}.vision-link-no-visited:hover{text-decoration:none}.vision-link-no-visited:active{text-decoration:none;outline:2px solid var(--primary-dark);border-radius:4px}.vision-link-no-visited:visited{color:var(--secondary-base)}.vision-link-no-visited:visited{color:var(--primary-base)}:host .menu-item-group{box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:8px;padding:8px;margin:1px 4px;color:var(--typography-base);width:stretch}:host .menu-item-group label{display:flex;align-items:center;gap:8px}:host .menu-item-group label .menu-icon{font-size:18px;white-space:nowrap}:host .menu-item-group .menu-item-group-items{width:stretch}\n"] }]
|
|
17
17
|
}], propDecorators: { role: [{
|
|
18
18
|
type: HostBinding,
|
|
19
19
|
args: ['role']
|
|
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
28
28
|
}], disabled: [{
|
|
29
29
|
type: Input
|
|
30
30
|
}] } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21lbnUvbWVudS1pdGVtLWdyb3VwL21lbnUtaXRlbS1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtaXRlbS1ncm91cC9tZW51LWl0ZW0tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzlELE1BQU0sT0FBTyx3QkFBd0I7SUFMckM7UUFNZ0MsU0FBSSxHQUFHLE9BQU8sQ0FBQztRQUdwQyxjQUFTLEdBQW1GLFNBQVMsQ0FBQztRQUN0RyxhQUFRLEdBQUcsS0FBSyxDQUFDO0tBQzNCOytHQU5ZLHdCQUF3QjttR0FBeEIsd0JBQXdCLCtNQ1RyQyw0U0FTQTs7NEZEQWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLG9CQUFvQjs4QkFLQSxJQUFJO3NCQUFqQyxXQUFXO3VCQUFDLE1BQU07O3NCQUFHLEtBQUs7Z0JBQ2xCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWNvblR5cGUgfSBmcm9tICcuLi8uLi9pY29uL2ljb24udHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51LWl0ZW0tZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS1pdGVtLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS1pdGVtLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZ3TWVudUl0ZW1Hcm91cENvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygncm9sZScpIEBJbnB1dCgpIHJvbGUgPSAnZ3JvdXAnO1xuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgaWNvbj86IEljb25UeXBlO1xuICBASW5wdXQoKSBpY29uQ29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdyZWQnIHwgJ29yYW5nZScgfCAnZ3JlZW4nIHwgJ3NsYXRlJyB8ICd0eXBvZ3JhcGh5JyA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJtZW51LWl0ZW0tZ3JvdXBcIj5cbiAgPGxhYmVsICpuZ0lmPVwidGl0bGVcIj5cbiAgICA8ZnctaWNvbiBbY29sb3JdPVwiaWNvbkNvbG9yXCIgKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJtZW51LWljb24ge3tpY29uQ29sb3J9fVwiPnt7IGljb24gfX08L2Z3LWljb24+XG4gICAgPHNwYW4+e3sgdGl0bGUgfX08L3NwYW4+XG4gIDwvbGFiZWw+XG4gIDxkaXYgY2xhc3M9XCJtZW51LWl0ZW0tZ3JvdXAtaXRlbXNcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class FwMenuSeparatorComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwMenuSeparatorComponent, selector: "fw-menu-separator", ngImport: i0, template: '', isInline: true, styles: [":host{display:flex;flex:1;border-top:1px solid var(--separations-base);margin:1px 0}\n"] }); }
|
|
4
6
|
}
|
|
5
|
-
|
|
6
|
-
FwMenuSeparatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FwMenuSeparatorComponent, selector: "fw-menu-separator", ngImport: i0, template: '', isInline: true, styles: [":host{display:flex;flex:1;border-top:1px solid var(--separations-base);margin:1px 0}\n"] });
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwMenuSeparatorComponent, decorators: [{
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuSeparatorComponent, decorators: [{
|
|
8
8
|
type: Component,
|
|
9
9
|
args: [{ selector: 'fw-menu-separator', template: '', styles: [":host{display:flex;flex:1;border-top:1px solid var(--separations-base);margin:1px 0}\n"] }]
|
|
10
10
|
}] });
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1zZXBhcmF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbWVudS9tZW51LXNlcGFyYXRvci9tZW51LXNlcGFyYXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPMUMsTUFBTSxPQUFPLHdCQUF3QjsrR0FBeEIsd0JBQXdCO21HQUF4Qix3QkFBd0IseURBSHpCLEVBQUU7OzRGQUdELHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxtQkFBbUIsWUFDbkIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51LXNlcGFyYXRvcicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS1zZXBhcmF0b3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRndNZW51U2VwYXJhdG9yQ29tcG9uZW50IHtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { animate, state, style, transition, trigger } from '@angular/animations';
|
|
2
|
+
import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class FwMenuSubItemComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.size = 'default';
|
|
8
|
+
this.hidden = false;
|
|
9
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
10
|
+
this.click = new EventEmitter();
|
|
11
|
+
this.focused = false;
|
|
12
|
+
this.selected = false;
|
|
13
|
+
}
|
|
14
|
+
handleClick(evt) {
|
|
15
|
+
if (this.disabled) {
|
|
16
|
+
evt.stopPropagation();
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (this.href) {
|
|
20
|
+
if (this.target) {
|
|
21
|
+
// eslint-disable-next-line @rx-angular/prefer-no-layout-sensitive-apis
|
|
22
|
+
window.open(this.href, this.target).focus();
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
window.location.href = this.href;
|
|
26
|
+
}
|
|
27
|
+
evt.stopPropagation();
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (this.value) {
|
|
31
|
+
this.click.emit(this.value);
|
|
32
|
+
evt.stopPropagation();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuSubItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwMenuSubItemComponent, selector: "fw-menu-sub-item", inputs: { value: "value", size: "size", title: "title", description: "description", icon: "icon", disabled: "disabled", hidden: "hidden", href: "href", target: "target", collapsed: "collapsed", focused: "focused", selected: "selected" }, outputs: { click: "click" }, host: { properties: { "class.collapsed": "this.collapsed", "class.focused": "this.focused", "class.selected": "this.selected" } }, ngImport: i0, template: "<div\n (click)=\"handleClick($event)\" *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <div\n [ngClass]=\"['menu-sub-item', 'size-'+size, 'variant-'+variant, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host>div{display:flex;flex:1;text-decoration:none}:host h4{text-overflow:ellipsis}:host:hover:not(.selected) .menu-sub-item:not(.disabled),:host.focused:not(.selected) .menu-sub-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-sub-item:not(.disabled) .menu-icon,:host.focused:not(.selected) .menu-sub-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-sub-item:not(.disabled) .menu-text h4,:host.focused:not(.selected) .menu-sub-item:not(.disabled) .menu-text h4{color:var(--typography-base)}:host.selected .menu-sub-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .menu-sub-item .menu-icon{color:var(--primary-base)}:host.selected .menu-sub-item .menu-text h4{color:var(--typography-base)}:host .menu-sub-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px 8px 8px 35px;margin:1px 4px;border-radius:4px;color:var(--typography-muted);min-height:40px;width:100%}:host .menu-sub-item .menu-icon{font-size:18px;white-space:nowrap}:host .menu-sub-item .menu-text{flex:1;overflow:hidden;padding:2px 0}:host .menu-sub-item .menu-text h4{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .menu-sub-item .menu-text p{margin:0}:host .menu-sub-item .menu-text p.description{color:var(--typography-light)}:host .menu-sub-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .menu-sub-item.size-compact{min-height:32px}:host .menu-sub-item.size-compact .menu-text .description{display:none}:host .menu-sub-item.disabled{opacity:.4;cursor:not-allowed}@container menuitem (max-width: 60px){.menu-sub-item{gap:0}.menu-sub-item .menu-text{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
|
|
37
|
+
trigger('openClose', [
|
|
38
|
+
// ...
|
|
39
|
+
state('open', style({
|
|
40
|
+
height: 'auto',
|
|
41
|
+
}), { params: {} }),
|
|
42
|
+
state('closed', style({
|
|
43
|
+
height: '0',
|
|
44
|
+
}), { params: {} }),
|
|
45
|
+
transition('open <=> closed', [
|
|
46
|
+
animate('.33s ease-in-out'),
|
|
47
|
+
]),
|
|
48
|
+
]),
|
|
49
|
+
] }); }
|
|
50
|
+
}
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuSubItemComponent, decorators: [{
|
|
52
|
+
type: Component,
|
|
53
|
+
args: [{ selector: 'fw-menu-sub-item', animations: [
|
|
54
|
+
trigger('openClose', [
|
|
55
|
+
// ...
|
|
56
|
+
state('open', style({
|
|
57
|
+
height: 'auto',
|
|
58
|
+
}), { params: {} }),
|
|
59
|
+
state('closed', style({
|
|
60
|
+
height: '0',
|
|
61
|
+
}), { params: {} }),
|
|
62
|
+
transition('open <=> closed', [
|
|
63
|
+
animate('.33s ease-in-out'),
|
|
64
|
+
]),
|
|
65
|
+
]),
|
|
66
|
+
], template: "<div\n (click)=\"handleClick($event)\" *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <div\n [ngClass]=\"['menu-sub-item', 'size-'+size, 'variant-'+variant, disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"menu-text\" *ngIf=\"title\">\n <h4 class=\"vision-h4\">{{ title }}</h4>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host>div{display:flex;flex:1;text-decoration:none}:host h4{text-overflow:ellipsis}:host:hover:not(.selected) .menu-sub-item:not(.disabled),:host.focused:not(.selected) .menu-sub-item:not(.disabled){background-color:var(--slate-hover);cursor:pointer}:host:hover:not(.selected) .menu-sub-item:not(.disabled) .menu-icon,:host.focused:not(.selected) .menu-sub-item:not(.disabled) .menu-icon{color:var(--primary-base)}:host:hover:not(.selected) .menu-sub-item:not(.disabled) .menu-text h4,:host.focused:not(.selected) .menu-sub-item:not(.disabled) .menu-text h4{color:var(--typography-base)}:host.selected .menu-sub-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .menu-sub-item .menu-icon{color:var(--primary-base)}:host.selected .menu-sub-item .menu-text h4{color:var(--typography-base)}:host .menu-sub-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px 8px 8px 35px;margin:1px 4px;border-radius:4px;color:var(--typography-muted);min-height:40px;width:100%}:host .menu-sub-item .menu-icon{font-size:18px;white-space:nowrap}:host .menu-sub-item .menu-text{flex:1;overflow:hidden;padding:2px 0}:host .menu-sub-item .menu-text h4{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .menu-sub-item .menu-text p{margin:0}:host .menu-sub-item .menu-text p.description{color:var(--typography-light)}:host .menu-sub-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .menu-sub-item.size-compact{min-height:32px}:host .menu-sub-item.size-compact .menu-text .description{display:none}:host .menu-sub-item.disabled{opacity:.4;cursor:not-allowed}@container menuitem (max-width: 60px){.menu-sub-item{gap:0}.menu-sub-item .menu-text{opacity:0}}\n"] }]
|
|
67
|
+
}], propDecorators: { value: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], size: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}], title: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], description: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], icon: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], disabled: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], hidden: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], href: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], target: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], collapsed: [{
|
|
86
|
+
type: HostBinding,
|
|
87
|
+
args: ['class.collapsed']
|
|
88
|
+
}, {
|
|
89
|
+
type: Input
|
|
90
|
+
}], click: [{
|
|
91
|
+
type: Output
|
|
92
|
+
}], focused: [{
|
|
93
|
+
type: HostBinding,
|
|
94
|
+
args: ['class.focused']
|
|
95
|
+
}, {
|
|
96
|
+
type: Input
|
|
97
|
+
}], selected: [{
|
|
98
|
+
type: HostBinding,
|
|
99
|
+
args: ['class.selected']
|
|
100
|
+
}, {
|
|
101
|
+
type: Input
|
|
102
|
+
}] } });
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1zdWItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtc3ViLWl0ZW0vbWVudS1zdWItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUtc3ViLWl0ZW0vbWVudS1zdWItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUF3QnBGLE1BQU0sT0FBTyxzQkFBc0I7SUFuQm5DO1FBcUJXLFNBQUksR0FBMkIsU0FBUyxDQUFDO1FBS3pDLFdBQU0sR0FBYSxLQUFLLENBQUM7UUFJbEMsNERBQTREO1FBQ2xELFVBQUssR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM1QixZQUFPLEdBQWEsS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBYSxLQUFLLENBQUM7S0EwQnBFO0lBeEJDLFdBQVcsQ0FBQyxHQUFXO1FBQ3JCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2hCLHVFQUF1RTtnQkFDdkUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QyxDQUFDO2lCQUNJLENBQUM7Z0JBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNuQyxDQUFDO1lBQ0QsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDOytHQXRDVSxzQkFBc0I7bUdBQXRCLHNCQUFzQixzY0N6Qm5DLHl0QkFrQkEsMGhFRFJjO1lBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsTUFBTTtnQkFDTixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztvQkFDbEIsTUFBTSxFQUFFLE1BQU07aUJBQ2YsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNuQixLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztvQkFDcEIsTUFBTSxFQUFFLEdBQUc7aUJBQ1osQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNuQixVQUFVLENBQUMsaUJBQWlCLEVBQUU7b0JBQzVCLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztpQkFDNUIsQ0FBQzthQUNILENBQUM7U0FDSDs7NEZBRVUsc0JBQXNCO2tCQW5CbEMsU0FBUzsrQkFDRSxrQkFBa0IsY0FHaEI7d0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTs0QkFDbkIsTUFBTTs0QkFDTixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztnQ0FDbEIsTUFBTSxFQUFFLE1BQU07NkJBQ2YsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDOzRCQUNuQixLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztnQ0FDcEIsTUFBTSxFQUFFLEdBQUc7NkJBQ1osQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDOzRCQUNuQixVQUFVLENBQUMsaUJBQWlCLEVBQUU7Z0NBQzVCLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQzs2QkFDNUIsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ21DLFNBQVM7c0JBQWpELFdBQVc7dUJBQUMsaUJBQWlCOztzQkFBRyxLQUFLO2dCQUU1QixLQUFLO3NCQUFkLE1BQU07Z0JBQ2dDLE9BQU87c0JBQTdDLFdBQVc7dUJBQUMsZUFBZTs7c0JBQUcsS0FBSztnQkFDSSxRQUFRO3NCQUEvQyxXQUFXO3VCQUFDLGdCQUFnQjs7c0JBQUcsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25UeXBlIH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uLnR5cGVzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1tZW51LXN1Yi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtc3ViLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LXN1Yi1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2UnLCBbXG4gICAgICAvLyAuLi5cbiAgICAgIHN0YXRlKCdvcGVuJywgc3R5bGUoe1xuICAgICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgIH0pLCB7IHBhcmFtczoge30gfSksXG4gICAgICBzdGF0ZSgnY2xvc2VkJywgc3R5bGUoe1xuICAgICAgICBoZWlnaHQ6ICcwJyxcbiAgICAgIH0pLCB7IHBhcmFtczoge30gfSksXG4gICAgICB0cmFuc2l0aW9uKCdvcGVuIDw9PiBjbG9zZWQnLCBbXG4gICAgICAgIGFuaW1hdGUoJy4zM3MgZWFzZS1pbi1vdXQnKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGd01lbnVTdWJJdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmFsdWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpemU/OiAnZGVmYXVsdCcgfCAnY29tcGFjdCcgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uPzogSWNvblR5cGU7XG4gIEBJbnB1dCgpIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGlkZGVuPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBocmVmPzogc3RyaW5nO1xuICBASW5wdXQoKSB0YXJnZXQ/OiBzdHJpbmc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuY29sbGFwc2VkJykgQElucHV0KCkgY29sbGFwc2VkPzogYm9vbGVhbjtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBjbGljazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mb2N1c2VkJykgQElucHV0KCkgZm9jdXNlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpIEBJbnB1dCgpIHNlbGVjdGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGhhbmRsZUNsaWNrKGV2dD86IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ocmVmKSB7XG4gICAgICBpZiAodGhpcy50YXJnZXQpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEByeC1hbmd1bGFyL3ByZWZlci1uby1sYXlvdXQtc2Vuc2l0aXZlLWFwaXNcbiAgICAgICAgd2luZG93Lm9wZW4odGhpcy5ocmVmLCB0aGlzLnRhcmdldCkuZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHRoaXMuaHJlZjtcbiAgICAgIH1cbiAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5jbGljay5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2XG4gIChjbGljayk9XCJoYW5kbGVDbGljaygkZXZlbnQpXCIgKm5nSWY9XCIhaGlkZGVuXCJcbiAgW0BvcGVuQ2xvc2VdPVwie3ZhbHVlOiBjb2xsYXBzZWQ/J2Nsb3NlZCc6J29wZW4nfVwiPlxuICA8ZGl2XG4gICAgW25nQ2xhc3NdPVwiWydtZW51LXN1Yi1pdGVtJywgJ3NpemUtJytzaXplLCAndmFyaWFudC0nK3ZhcmlhbnQsIGRpc2FibGVkPydkaXNhYmxlZCc6JyddXCJcbiAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWVudS10ZXh0XCIgKm5nSWY9XCJ0aXRsZVwiPlxuICAgICAgPGg0IGNsYXNzPVwidmlzaW9uLWg0XCI+e3sgdGl0bGUgfX08L2g0PlxuICAgICAgPHAgKm5nSWY9XCJkZXNjcmlwdGlvblwiIGNsYXNzPVwidmlzaW9uLXA0IGRlc2NyaXB0aW9uXCI+e3sgZGVzY3JpcHRpb24gfX08L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImtleS10ZXh0IHZpc2lvbi1wMlwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwicFwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWJhZGdlXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctaWNvblwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWljb24tYnV0dG9uXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { Component, ContentChild, ContentChildren, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { FwMenuItemComponent } from './menu-item/menu-item.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class FwMenuComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.disabled = false;
|
|
8
|
+
this.size = 'default';
|
|
9
|
+
this.multiSelect = false;
|
|
10
|
+
this.useCheckbox = undefined;
|
|
11
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
12
|
+
this.change = new EventEmitter();
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
14
|
+
this.onChange = (value) => {
|
|
15
|
+
};
|
|
16
|
+
this.onTouched = () => {
|
|
17
|
+
};
|
|
18
|
+
this.subscriptions = [];
|
|
19
|
+
}
|
|
20
|
+
ngOnChanges() {
|
|
21
|
+
this.updateLayout();
|
|
22
|
+
}
|
|
23
|
+
ngOnDestroy() {
|
|
24
|
+
for (const subscription of this.subscriptions) {
|
|
25
|
+
subscription.unsubscribe();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
ngAfterContentInit() {
|
|
29
|
+
this.menuItems.forEach(item => {
|
|
30
|
+
const sub = item.click.subscribe(value => this.handleSelect(value));
|
|
31
|
+
this.subscriptions.push(sub);
|
|
32
|
+
});
|
|
33
|
+
const menuItemChangeSub = this.menuItems.changes.subscribe((newMenuItems) => {
|
|
34
|
+
newMenuItems.forEach(item => {
|
|
35
|
+
const sub = item.click.subscribe(value => this.handleSelect(value));
|
|
36
|
+
this.subscriptions.push(sub);
|
|
37
|
+
});
|
|
38
|
+
this.updateLayout();
|
|
39
|
+
});
|
|
40
|
+
this.subscriptions.push(menuItemChangeSub);
|
|
41
|
+
this.updateLayout();
|
|
42
|
+
}
|
|
43
|
+
writeValue(value) {
|
|
44
|
+
this.value = value;
|
|
45
|
+
this.onChange(this.value);
|
|
46
|
+
this.change.emit(this.value);
|
|
47
|
+
this.updateLayout();
|
|
48
|
+
}
|
|
49
|
+
registerOnChange(fn) {
|
|
50
|
+
this.onChange = fn;
|
|
51
|
+
}
|
|
52
|
+
registerOnTouched(fn) {
|
|
53
|
+
this.onTouched = fn;
|
|
54
|
+
}
|
|
55
|
+
setDisabledState(isDisabled) {
|
|
56
|
+
this.disabled = isDisabled;
|
|
57
|
+
}
|
|
58
|
+
handleSelect(value) {
|
|
59
|
+
if (this.multiSelect) {
|
|
60
|
+
const newValues = [...this.value];
|
|
61
|
+
if (newValues.indexOf(value) >= 0) {
|
|
62
|
+
newValues.splice(newValues.indexOf(value), 1);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
newValues.push(value);
|
|
66
|
+
}
|
|
67
|
+
this.writeValue(newValues);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
this.writeValue(value);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
updateLayout() {
|
|
74
|
+
if (this.menuItems) {
|
|
75
|
+
this.menuItems.forEach(item => {
|
|
76
|
+
if (this.size !== undefined) {
|
|
77
|
+
item.size = this.size;
|
|
78
|
+
}
|
|
79
|
+
if (this.useCheckbox !== undefined) {
|
|
80
|
+
item.showCheckbox = this.useCheckbox;
|
|
81
|
+
}
|
|
82
|
+
if (this.multiSelect !== undefined) {
|
|
83
|
+
item.multiSelect = this.multiSelect;
|
|
84
|
+
}
|
|
85
|
+
item.disabled = this.disabled;
|
|
86
|
+
if (this.value !== undefined) {
|
|
87
|
+
item.selected = Array.isArray(this.value) ? this.value.includes(item.value) : this.value === item.value;
|
|
88
|
+
}
|
|
89
|
+
item.subItems.forEach(sub => {
|
|
90
|
+
sub.selected = Array.isArray(this.value) ? this.value.includes(sub.value) : this.value === sub.value;
|
|
91
|
+
});
|
|
92
|
+
item.updateLayout();
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
97
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FwMenuComponent, selector: "fw-menu", inputs: { disabled: "disabled", size: "size", multiSelect: "multiSelect", useCheckbox: "useCheckbox", value: "value" }, outputs: { change: "change" }, providers: [{
|
|
98
|
+
provide: NG_VALUE_ACCESSOR,
|
|
99
|
+
useExisting: FwMenuComponent,
|
|
100
|
+
multi: true,
|
|
101
|
+
}], queries: [{ propertyName: "menuContentWrapper", first: true, predicate: ["menuContentWrapper"], descendants: true }, { propertyName: "menuItems", predicate: FwMenuItemComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"fw-menu\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:flex;flex-direction:column;max-height:100%}\n"] }); }
|
|
102
|
+
}
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwMenuComponent, decorators: [{
|
|
104
|
+
type: Component,
|
|
105
|
+
args: [{ selector: 'fw-menu', providers: [{
|
|
106
|
+
provide: NG_VALUE_ACCESSOR,
|
|
107
|
+
useExisting: FwMenuComponent,
|
|
108
|
+
multi: true,
|
|
109
|
+
}], template: "<div class=\"fw-menu\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:flex;flex-direction:column;max-height:100%}\n"] }]
|
|
110
|
+
}], propDecorators: { disabled: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], size: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], multiSelect: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], useCheckbox: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], value: [{
|
|
119
|
+
type: Input
|
|
120
|
+
}], change: [{
|
|
121
|
+
type: Output
|
|
122
|
+
}], menuItems: [{
|
|
123
|
+
type: ContentChildren,
|
|
124
|
+
args: [FwMenuItemComponent, { descendants: true }]
|
|
125
|
+
}], menuContentWrapper: [{
|
|
126
|
+
type: ContentChild,
|
|
127
|
+
args: ['menuContentWrapper']
|
|
128
|
+
}] } });
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tZW51L21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbWVudS9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBWXRFLE1BQU0sT0FBTyxlQUFlO0lBVjVCO1FBV1csYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixTQUFJLEdBQTJCLFNBQVMsQ0FBQztRQUN6QyxnQkFBVyxHQUFhLEtBQUssQ0FBQztRQUM5QixnQkFBVyxHQUFhLFNBQVMsQ0FBQztRQUUzQyw0REFBNEQ7UUFDbEQsV0FBTSxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUkxRiw2REFBNkQ7UUFDN0QsYUFBUSxHQUFHLENBQUMsS0FBd0IsRUFBUSxFQUFFO1FBQzlDLENBQUMsQ0FBQztRQUVGLGNBQVMsR0FBRyxHQUFTLEVBQUU7UUFDdkIsQ0FBQyxDQUFDO1FBRU0sa0JBQWEsR0FBbUIsRUFBRSxDQUFDO0tBeUY1QztJQXZGQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXO1FBQ1QsS0FBSyxNQUFNLFlBQVksSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FB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RUNuQ3RDLGdFQUdBOzs0RkR3QmEsZUFBZTtrQkFWM0IsU0FBUzsrQkFDRSxTQUFTLGFBR1IsQ0FBQzs0QkFDVixPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLGlCQUFpQjs0QkFDNUIsS0FBSyxFQUFFLElBQUk7eUJBQ1osQ0FBQzs4QkFHTyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTTtnQkFDc0QsU0FBUztzQkFBckUsZUFBZTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBQ3ZCLGtCQUFrQjtzQkFBckQsWUFBWTt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLCBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZ3TWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IEZ3TWVudUNvbXBvbmVudCxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEZ3TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNpemU/OiAnZGVmYXVsdCcgfCAnY29tcGFjdCcgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIG11bHRpU2VsZWN0PzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSB1c2VDaGVja2JveD86IGJvb2xlYW4gPSB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHZhbHVlPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgc3RyaW5nW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBzdHJpbmdbXT4oKTtcbiAgQENvbnRlbnRDaGlsZHJlbihGd01lbnVJdGVtQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIG1lbnVJdGVtczogUXVlcnlMaXN0PEZ3TWVudUl0ZW1Db21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkKCdtZW51Q29udGVudFdyYXBwZXInKSBtZW51Q29udGVudFdyYXBwZXI6IEVsZW1lbnRSZWY7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBvbkNoYW5nZSA9ICh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pOiB2b2lkID0+IHtcbiAgfTtcblxuICBvblRvdWNoZWQgPSAoKTogdm9pZCA9PiB7XG4gIH07XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiB0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1lbnVJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgY29uc3Qgc3ViID0gaXRlbS5jbGljay5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5oYW5kbGVTZWxlY3QodmFsdWUpKTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1Yik7XG4gICAgfSk7XG5cbiAgICBjb25zdCBtZW51SXRlbUNoYW5nZVN1YiA9IHRoaXMubWVudUl0ZW1zLmNoYW5nZXMuc3Vic2NyaWJlKChuZXdNZW51SXRlbXMpID0+IHtcbiAgICAgIG5ld01lbnVJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBjb25zdCBzdWIgPSBpdGVtLmNsaWNrLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLmhhbmRsZVNlbGVjdCh2YWx1ZSkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWIpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnVwZGF0ZUxheW91dCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2gobWVudUl0ZW1DaGFuZ2VTdWIpO1xuXG4gICAgdGhpcy51cGRhdGVMYXlvdXQoKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLnVwZGF0ZUxheW91dCgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIGhhbmRsZVNlbGVjdCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubXVsdGlTZWxlY3QpIHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlcyA9IFsuLi50aGlzLnZhbHVlXTtcbiAgICAgIGlmIChuZXdWYWx1ZXMuaW5kZXhPZih2YWx1ZSkgPj0gMCkge1xuICAgICAgICBuZXdWYWx1ZXMuc3BsaWNlKG5ld1ZhbHVlcy5pbmRleE9mKHZhbHVlKSwgMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdWYWx1ZXMucHVzaCh2YWx1ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLndyaXRlVmFsdWUobmV3VmFsdWVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVMYXlvdXQoKTogdm9pZCB7XG5cbiAgICBpZiAodGhpcy5tZW51SXRlbXMpIHtcbiAgICAgIHRoaXMubWVudUl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNpemUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGl0ZW0uc2l6ZSA9IHRoaXMuc2l6ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy51c2VDaGVja2JveCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaXRlbS5zaG93Q2hlY2tib3ggPSB0aGlzLnVzZUNoZWNrYm94O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm11bHRpU2VsZWN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpdGVtLm11bHRpU2VsZWN0ID0gdGhpcy5tdWx0aVNlbGVjdDtcbiAgICAgICAgfVxuICAgICAgICBpdGVtLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGl0ZW0uc2VsZWN0ZWQgPSBBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpID8gdGhpcy52YWx1ZS5pbmNsdWRlcyhpdGVtLnZhbHVlKSA6IHRoaXMudmFsdWUgPT09IGl0ZW0udmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaXRlbS5zdWJJdGVtcy5mb3JFYWNoKHN1YiA9PiB7XG4gICAgICAgICAgc3ViLnNlbGVjdGVkID0gQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSA/IHRoaXMudmFsdWUuaW5jbHVkZXMoc3ViLnZhbHVlKSA6IHRoaXMudmFsdWUgPT09IHN1Yi52YWx1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXRlbS51cGRhdGVMYXlvdXQoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZ3LW1lbnVcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|