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