@alauda/ui 6.5.9-beta.23 → 6.5.9-beta.25
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/accordion/accordion-item/accordion-item.component.d.ts +1 -1
- package/accordion/accordion.component.d.ts +1 -1
- package/anchor/anchor.component.d.ts +2 -2
- package/anchor/anchor.directive.d.ts +2 -2
- package/autocomplete/autocomplete.directive.d.ts +2 -2
- package/autocomplete/suggestion/suggestion.component.d.ts +1 -1
- package/back-top/back-top.component.d.ts +1 -1
- package/breadcrumb/breadcrumb.component.d.ts +1 -1
- package/button/button.component.d.ts +1 -1
- package/card/card.component.d.ts +1 -1
- package/card/helper-directives.d.ts +1 -1
- package/checkbox/checkbox-group/checkbox-group.component.d.ts +1 -1
- package/checkbox/checkbox.component.d.ts +1 -1
- package/date-picker/calendar/date-picker-panel/component.d.ts +1 -1
- package/date-picker/calendar/footer/component.d.ts +1 -1
- package/date-picker/calendar/header/component.d.ts +1 -1
- package/date-picker/calendar/panel/picker-panel.d.ts +1 -1
- package/date-picker/calendar/range-picker-panel/component.d.ts +1 -1
- package/date-picker/date-picker/date-picker.component.d.ts +1 -1
- package/date-picker/range-picker/range-picker.component.d.ts +1 -1
- package/date-picker/trigger/trigger.component.d.ts +1 -1
- package/dialog/dialog-content/dialog-close.directive.d.ts +1 -1
- package/dialog/dialog-content/dialog-header.component.d.ts +1 -1
- package/drawer/component/drawer.component.d.ts +1 -1
- package/dropdown/dropdown-active.directive.d.ts +1 -1
- package/dropdown/dropdown-button/dropdown-button.component.d.ts +1 -1
- package/dropdown/dropdown.directive.d.ts +1 -1
- package/dropdown/menu/menu.component.d.ts +1 -1
- package/dropdown/menu-item/menu-item.component.d.ts +1 -1
- package/dropdown/submenu/submenu.component.d.ts +1 -1
- package/esm2022/accordion/accordion-item/accordion-item.component.mjs +73 -0
- package/esm2022/accordion/accordion.component.mjs +29 -0
- package/{esm2020 → esm2022}/accordion/accordion.module.mjs +11 -11
- package/esm2022/anchor/anchor.component.mjs +141 -0
- package/esm2022/anchor/anchor.directive.mjs +198 -0
- package/{esm2020 → esm2022}/anchor/anchor.module.mjs +11 -11
- package/{esm2020 → esm2022}/autocomplete/autocomplete-placeholder.component.mjs +4 -4
- package/esm2022/autocomplete/autocomplete.component.mjs +72 -0
- package/esm2022/autocomplete/autocomplete.directive.mjs +278 -0
- package/{esm2020 → esm2022}/autocomplete/autocomplete.module.mjs +17 -17
- package/{esm2020 → esm2022}/autocomplete/helper-directives.mjs +4 -4
- package/esm2022/autocomplete/suggestion/suggestion.component.mjs +85 -0
- package/esm2022/autocomplete/suggestion-group/suggestion-group.component.mjs +25 -0
- package/esm2022/back-top/back-top.component.mjs +68 -0
- package/{esm2020 → esm2022}/back-top/back-top.module.mjs +5 -5
- package/esm2022/breadcrumb/breadcrumb-item.component.mjs +33 -0
- package/esm2022/breadcrumb/breadcrumb.component.mjs +56 -0
- package/{esm2020 → esm2022}/breadcrumb/breadcrumb.module.mjs +5 -5
- package/{esm2020 → esm2022}/button/button-group/button-group.component.mjs +4 -4
- package/esm2022/button/button.component.mjs +124 -0
- package/{esm2020 → esm2022}/button/button.module.mjs +5 -5
- package/esm2022/card/card.component.mjs +14 -0
- package/{esm2020 → esm2022}/card/card.module.mjs +13 -13
- package/esm2022/card/helper-directives.mjs +45 -0
- package/{esm2020 → esm2022}/card/section.component.mjs +4 -4
- package/esm2022/checkbox/checkbox-group/checkbox-group.component.mjs +60 -0
- package/esm2022/checkbox/checkbox.component.mjs +116 -0
- package/{esm2020 → esm2022}/checkbox/checkbox.module.mjs +5 -5
- package/esm2022/color-picker/color-picker.component.mjs +28 -0
- package/{esm2020 → esm2022}/color-picker/color-picker.module.mjs +5 -5
- package/esm2022/date-picker/calendar/date-picker-panel/component.mjs +137 -0
- package/esm2022/date-picker/calendar/footer/component.mjs +29 -0
- package/esm2022/date-picker/calendar/header/component.mjs +99 -0
- package/esm2022/date-picker/calendar/panel/picker-panel.mjs +158 -0
- package/esm2022/date-picker/calendar/range-picker-panel/component.mjs +210 -0
- package/esm2022/date-picker/calendar/util.mjs +152 -0
- package/esm2022/date-picker/date-picker/date-picker.component.mjs +115 -0
- package/{esm2020 → esm2022}/date-picker/date-picker.module.mjs +35 -35
- package/esm2022/date-picker/range-picker/range-picker.component.mjs +88 -0
- package/esm2022/date-picker/trigger/trigger.component.mjs +76 -0
- package/esm2022/dialog/confirm-dialog/confirm-dialog-config.mjs +13 -0
- package/esm2022/dialog/confirm-dialog/confirm-dialog.component.mjs +88 -0
- package/esm2022/dialog/dialog-config.mjs +14 -0
- package/esm2022/dialog/dialog-content/dialog-close.directive.mjs +42 -0
- package/{esm2020 → esm2022}/dialog/dialog-content/dialog-content.component.mjs +5 -5
- package/esm2022/dialog/dialog-content/dialog-footer.component.mjs +13 -0
- package/esm2022/dialog/dialog-content/dialog-header.component.mjs +42 -0
- package/esm2022/dialog/dialog-ref.mjs +52 -0
- package/esm2022/dialog/dialog.component.mjs +154 -0
- package/{esm2020 → esm2022}/dialog/dialog.module.mjs +22 -22
- package/esm2022/dialog/dialog.service.mjs +124 -0
- package/esm2022/drawer/component/drawer.component.mjs +248 -0
- package/{esm2020 → esm2022}/drawer/component/helper-directives.mjs +10 -10
- package/{esm2020 → esm2022}/drawer/drawer.module.mjs +11 -11
- package/esm2022/drawer/drawer.service.mjs +47 -0
- package/esm2022/dropdown/dropdown-active.directive.mjs +18 -0
- package/esm2022/dropdown/dropdown-button/dropdown-button.component.mjs +50 -0
- package/esm2022/dropdown/dropdown.directive.mjs +83 -0
- package/{esm2020 → esm2022}/dropdown/dropdown.module.mjs +21 -21
- package/{esm2020 → esm2022}/dropdown/helper-directives.mjs +4 -4
- package/esm2022/dropdown/menu/menu-content.directive.mjs +59 -0
- package/esm2022/dropdown/menu/menu.component.mjs +34 -0
- package/{esm2020 → esm2022}/dropdown/menu-group/menu-group.component.mjs +4 -4
- package/esm2022/dropdown/menu-item/menu-item.component.mjs +35 -0
- package/esm2022/dropdown/submenu/submenu.component.mjs +38 -0
- package/esm2022/form/common-form.mjs +88 -0
- package/esm2022/form/form-item/form-item.component.mjs +121 -0
- package/esm2022/form/form.directive.mjs +70 -0
- package/{esm2020 → esm2022}/form/form.module.mjs +17 -17
- package/esm2022/form/helper-directives.mjs +78 -0
- package/{esm2020 → esm2022}/i18n/i18n.module.mjs +5 -5
- package/esm2022/i18n/i18n.pipe.mjs +21 -0
- package/esm2022/i18n/i18n.service.mjs +46 -0
- package/esm2022/icon/icon-register.service.mjs +75 -0
- package/esm2022/icon/icon.component.mjs +74 -0
- package/{esm2020 → esm2022}/icon/icon.module.mjs +5 -5
- package/{esm2020 → esm2022}/inline-alert/helper-directives.mjs +4 -4
- package/esm2022/inline-alert/inline-alert.component.mjs +54 -0
- package/{esm2020 → esm2022}/inline-alert/inline-alert.module.mjs +5 -5
- package/esm2022/input/autosize.directive.mjs +56 -0
- package/esm2022/input/helper-directives.mjs +43 -0
- package/esm2022/input/input-group/input-group.component.mjs +46 -0
- package/esm2022/input/input.component.mjs +59 -0
- package/{esm2020 → esm2022}/input/input.module.mjs +33 -33
- package/esm2022/input/number-input/number-input.component.mjs +115 -0
- package/esm2022/input/search/search.component.mjs +87 -0
- package/esm2022/input/tags-input/tags-input.component.mjs +264 -0
- package/esm2022/message/base-message.mjs +99 -0
- package/esm2022/message/message-wrapper.component.mjs +15 -0
- package/esm2022/message/message.component.mjs +77 -0
- package/esm2022/message/message.config.mjs +20 -0
- package/{esm2020 → esm2022}/message/message.module.mjs +5 -5
- package/{esm2020 → esm2022}/message/message.service.mjs +4 -4
- package/esm2022/notification/notification-wrapper.component.mjs +17 -0
- package/esm2022/notification/notification.component.mjs +106 -0
- package/{esm2020 → esm2022}/notification/notification.module.mjs +5 -5
- package/{esm2020 → esm2022}/notification/notification.service.mjs +4 -4
- package/esm2022/paginator/paginator-intl.mjs +24 -0
- package/esm2022/paginator/paginator.component.mjs +124 -0
- package/{esm2020 → esm2022}/paginator/paginator.module.mjs +5 -5
- package/esm2022/radio/base-radio.mjs +72 -0
- package/esm2022/radio/radio-button/radio-button.component.mjs +41 -0
- package/esm2022/radio/radio-group/radio-group.component.mjs +70 -0
- package/{esm2020 → esm2022}/radio/radio.component.mjs +5 -5
- package/{esm2020 → esm2022}/radio/radio.module.mjs +5 -5
- package/{esm2020 → esm2022}/scrolling/fixed-size-table-virtual-scroll-strategy.mjs +13 -14
- package/esm2022/scrolling/fixed-size-table-virtual-scroll.directive.mjs +119 -0
- package/esm2022/scrolling/fixed-size-virtual-scroll.directive.mjs +27 -0
- package/{esm2020 → esm2022}/scrolling/scrolling.module.mjs +9 -9
- package/{esm2020 → esm2022}/scrolling/virtual-for-of.directive.mjs +4 -4
- package/esm2022/scrolling/virtual-scroll-viewport.component.mjs +26 -0
- package/esm2022/select/base-select.mjs +345 -0
- package/{esm2020 → esm2022}/select/helper-directives.mjs +7 -7
- package/esm2022/select/multi-select/multi-select.component.mjs +318 -0
- package/esm2022/select/option/option.component.mjs +119 -0
- package/esm2022/select/option-group/option-group.component.mjs +25 -0
- package/{esm2020 → esm2022}/select/option-placeholder.component.mjs +4 -4
- package/esm2022/select/select.component.mjs +107 -0
- package/{esm2020 → esm2022}/select/select.module.mjs +29 -29
- package/esm2022/select/validators.mjs +78 -0
- package/esm2022/shared/click-outside.directive.mjs +29 -0
- package/{esm2020 → esm2022}/shared/shared.module.mjs +5 -5
- package/esm2022/sort/sort-header.component.mjs +74 -0
- package/esm2022/sort/sort.directive.mjs +73 -0
- package/{esm2020 → esm2022}/sort/sort.module.mjs +5 -5
- package/esm2022/status-bar/status-bar.component.mjs +28 -0
- package/{esm2020 → esm2022}/status-bar/status-bar.module.mjs +5 -5
- package/esm2022/steps/steps.component.mjs +180 -0
- package/{esm2020 → esm2022}/steps/steps.module.mjs +5 -5
- package/esm2022/switch/switch.component.mjs +43 -0
- package/{esm2020 → esm2022}/switch/switch.module.mjs +5 -5
- package/esm2022/table/table-cell-def.directive.mjs +25 -0
- package/esm2022/table/table-cell.component.mjs +115 -0
- package/{esm2020 → esm2022}/table/table-cell.directive.mjs +5 -5
- package/esm2022/table/table-column-def.directive.mjs +31 -0
- package/esm2022/table/table-header-cell-def.directive.mjs +25 -0
- package/{esm2020 → esm2022}/table/table-header-cell.directive.mjs +4 -4
- package/esm2022/table/table-header-row-def.directive.mjs +33 -0
- package/{esm2020 → esm2022}/table/table-header-row.component.mjs +4 -4
- package/esm2022/table/table-placeholder.directive.mjs +33 -0
- package/esm2022/table/table-row-def.directive.mjs +34 -0
- package/esm2022/table/table-row.component.mjs +43 -0
- package/esm2022/table/table-scroll.directive.mjs +133 -0
- package/esm2022/table/table.component.mjs +79 -0
- package/{esm2020 → esm2022}/table/table.module.mjs +35 -35
- package/{esm2020 → esm2022}/table-of-contents/table-of-contents.module.mjs +5 -5
- package/esm2022/table-of-contents/toc-container.directive.mjs +111 -0
- package/esm2022/table-of-contents/toc-content.directive.mjs +39 -0
- package/esm2022/table-of-contents/toc-link.directive.mjs +48 -0
- package/esm2022/tabs/tab-body.component.mjs +151 -0
- package/esm2022/tabs/tab-context.service.mjs +30 -0
- package/esm2022/tabs/tab-group.component.mjs +256 -0
- package/esm2022/tabs/tab-header-active-indicator.component.mjs +46 -0
- package/esm2022/tabs/tab-header.component.mjs +276 -0
- package/esm2022/tabs/tab.component.mjs +77 -0
- package/{esm2020 → esm2022}/tabs/tabs.module.mjs +34 -34
- package/esm2022/tag/check-tag/check-tag.component.mjs +31 -0
- package/esm2022/tag/tag.component.mjs +63 -0
- package/{esm2020 → esm2022}/tag/tag.module.mjs +5 -5
- package/{esm2020 → esm2022}/theme/theme.module.mjs +5 -5
- package/esm2022/theme/theme.pipe.mjs +64 -0
- package/esm2022/theme/theme.service.mjs +55 -0
- package/esm2022/time-picker/component.mjs +181 -0
- package/esm2022/time-picker/panel/panel.component.mjs +240 -0
- package/{esm2020 → esm2022}/time-picker/time-picker.module.mjs +23 -23
- package/esm2022/tooltip/base-tooltip.mjs +329 -0
- package/esm2022/tooltip/tooltip-active.directive.mjs +51 -0
- package/esm2022/tooltip/tooltip-copy.directive.mjs +87 -0
- package/esm2022/tooltip/tooltip-intl.mjs +21 -0
- package/esm2022/tooltip/tooltip.component.mjs +120 -0
- package/esm2022/tooltip/tooltip.directive.mjs +44 -0
- package/{esm2020 → esm2022}/tooltip/tooltip.module.mjs +8 -8
- package/{esm2020 → esm2022}/tree-select/tree-node-placeholder.component.mjs +4 -4
- package/esm2022/tree-select/tree-select.component.mjs +350 -0
- package/{esm2020 → esm2022}/tree-select/tree-select.module.mjs +9 -9
- package/esm2022/utils/bem.mjs +44 -0
- package/{fesm2020 → fesm2022}/alauda-ui.mjs +2200 -1860
- package/fesm2022/alauda-ui.mjs.map +1 -0
- package/form/common-form.d.ts +1 -1
- package/form/form-item/form-item.component.d.ts +1 -1
- package/form/form.directive.d.ts +1 -1
- package/form/helper-directives.d.ts +1 -1
- package/icon/icon.component.d.ts +1 -1
- package/inline-alert/inline-alert.component.d.ts +1 -1
- package/input/autosize.directive.d.ts +1 -1
- package/input/input.component.d.ts +1 -1
- package/input/number-input/number-input.component.d.ts +1 -1
- package/input/search/search.component.d.ts +1 -1
- package/input/tags-input/tags-input.component.d.ts +1 -1
- package/package.json +11 -17
- package/paginator/paginator.component.d.ts +1 -1
- package/radio/base-radio.d.ts +1 -1
- package/radio/radio-group/radio-group.component.d.ts +1 -1
- package/scrolling/fixed-size-table-virtual-scroll.directive.d.ts +1 -1
- package/scrolling/virtual-for-of.directive.d.ts +1 -1
- package/select/base-select.d.ts +1 -1
- package/select/multi-select/multi-select.component.d.ts +1 -1
- package/select/option/option.component.d.ts +1 -1
- package/select/validators.d.ts +1 -1
- package/sort/sort-header.component.d.ts +1 -1
- package/sort/sort.directive.d.ts +1 -1
- package/status-bar/status-bar.component.d.ts +1 -1
- package/steps/steps.component.d.ts +1 -1
- package/switch/switch.component.d.ts +1 -1
- package/table/table-cell.component.d.ts +2 -2
- package/table/table-cell.directive.d.ts +1 -1
- package/table/table-column-def.directive.d.ts +1 -1
- package/table/table-header-row-def.directive.d.ts +1 -1
- package/table/table-row-def.directive.d.ts +1 -1
- package/table/table-row.component.d.ts +1 -1
- package/table/table-scroll.directive.d.ts +2 -2
- package/table/table.component.d.ts +1 -1
- package/table-of-contents/toc-content.directive.d.ts +1 -1
- package/table-of-contents/toc-link.directive.d.ts +1 -1
- package/tabs/tab-body.component.d.ts +2 -2
- package/tabs/tab-group.component.d.ts +1 -1
- package/tabs/tab-header-active-indicator.component.d.ts +1 -1
- package/tabs/tab-header.component.d.ts +1 -1
- package/tabs/tab.component.d.ts +1 -1
- package/tag/check-tag/check-tag.component.d.ts +1 -1
- package/tag/tag.component.d.ts +1 -1
- package/time-picker/component.d.ts +1 -1
- package/time-picker/panel/panel.component.d.ts +1 -1
- package/tooltip/tooltip-active.directive.d.ts +1 -1
- package/tooltip/tooltip-copy.directive.d.ts +1 -1
- package/tooltip/tooltip.directive.d.ts +1 -1
- package/tree-select/tree-select.component.d.ts +2 -2
- package/esm2020/accordion/accordion-item/accordion-item.component.mjs +0 -71
- package/esm2020/accordion/accordion.component.mjs +0 -27
- package/esm2020/anchor/anchor.component.mjs +0 -137
- package/esm2020/anchor/anchor.directive.mjs +0 -182
- package/esm2020/autocomplete/autocomplete.component.mjs +0 -64
- package/esm2020/autocomplete/autocomplete.directive.mjs +0 -277
- package/esm2020/autocomplete/suggestion/suggestion.component.mjs +0 -79
- package/esm2020/autocomplete/suggestion-group/suggestion-group.component.mjs +0 -23
- package/esm2020/back-top/back-top.component.mjs +0 -65
- package/esm2020/breadcrumb/breadcrumb-item.component.mjs +0 -32
- package/esm2020/breadcrumb/breadcrumb.component.mjs +0 -57
- package/esm2020/button/button.component.mjs +0 -121
- package/esm2020/card/card.component.mjs +0 -16
- package/esm2020/card/helper-directives.mjs +0 -47
- package/esm2020/checkbox/checkbox-group/checkbox-group.component.mjs +0 -61
- package/esm2020/checkbox/checkbox.component.mjs +0 -112
- package/esm2020/color-picker/color-picker.component.mjs +0 -28
- package/esm2020/date-picker/calendar/date-picker-panel/component.mjs +0 -128
- package/esm2020/date-picker/calendar/footer/component.mjs +0 -29
- package/esm2020/date-picker/calendar/header/component.mjs +0 -99
- package/esm2020/date-picker/calendar/panel/picker-panel.mjs +0 -151
- package/esm2020/date-picker/calendar/range-picker-panel/component.mjs +0 -207
- package/esm2020/date-picker/calendar/util.mjs +0 -145
- package/esm2020/date-picker/date-picker/date-picker.component.mjs +0 -110
- package/esm2020/date-picker/range-picker/range-picker.component.mjs +0 -86
- package/esm2020/date-picker/trigger/trigger.component.mjs +0 -69
- package/esm2020/dialog/confirm-dialog/confirm-dialog-config.mjs +0 -12
- package/esm2020/dialog/confirm-dialog/confirm-dialog.component.mjs +0 -85
- package/esm2020/dialog/dialog-config.mjs +0 -15
- package/esm2020/dialog/dialog-content/dialog-close.directive.mjs +0 -38
- package/esm2020/dialog/dialog-content/dialog-footer.component.mjs +0 -15
- package/esm2020/dialog/dialog-content/dialog-header.component.mjs +0 -39
- package/esm2020/dialog/dialog-ref.mjs +0 -48
- package/esm2020/dialog/dialog.component.mjs +0 -147
- package/esm2020/dialog/dialog.service.mjs +0 -120
- package/esm2020/drawer/component/drawer.component.mjs +0 -229
- package/esm2020/drawer/drawer.service.mjs +0 -44
- package/esm2020/dropdown/dropdown-active.directive.mjs +0 -21
- package/esm2020/dropdown/dropdown-button/dropdown-button.component.mjs +0 -51
- package/esm2020/dropdown/dropdown.directive.mjs +0 -81
- package/esm2020/dropdown/menu/menu-content.directive.mjs +0 -51
- package/esm2020/dropdown/menu/menu.component.mjs +0 -33
- package/esm2020/dropdown/menu-item/menu-item.component.mjs +0 -37
- package/esm2020/dropdown/submenu/submenu.component.mjs +0 -40
- package/esm2020/form/common-form.mjs +0 -84
- package/esm2020/form/form-item/form-item.component.mjs +0 -108
- package/esm2020/form/form.directive.mjs +0 -69
- package/esm2020/form/helper-directives.mjs +0 -80
- package/esm2020/i18n/i18n.pipe.mjs +0 -20
- package/esm2020/i18n/i18n.service.mjs +0 -43
- package/esm2020/icon/icon-register.service.mjs +0 -73
- package/esm2020/icon/icon.component.mjs +0 -65
- package/esm2020/inline-alert/inline-alert.component.mjs +0 -53
- package/esm2020/input/autosize.directive.mjs +0 -54
- package/esm2020/input/helper-directives.mjs +0 -43
- package/esm2020/input/input-group/input-group.component.mjs +0 -39
- package/esm2020/input/input.component.mjs +0 -57
- package/esm2020/input/number-input/number-input.component.mjs +0 -112
- package/esm2020/input/search/search.component.mjs +0 -88
- package/esm2020/input/tags-input/tags-input.component.mjs +0 -255
- package/esm2020/message/base-message.mjs +0 -90
- package/esm2020/message/message-wrapper.component.mjs +0 -14
- package/esm2020/message/message.component.mjs +0 -70
- package/esm2020/message/message.config.mjs +0 -16
- package/esm2020/notification/notification-wrapper.component.mjs +0 -16
- package/esm2020/notification/notification.component.mjs +0 -103
- package/esm2020/paginator/paginator-intl.mjs +0 -26
- package/esm2020/paginator/paginator.component.mjs +0 -117
- package/esm2020/radio/base-radio.mjs +0 -67
- package/esm2020/radio/radio-button/radio-button.component.mjs +0 -41
- package/esm2020/radio/radio-group/radio-group.component.mjs +0 -73
- package/esm2020/scrolling/fixed-size-table-virtual-scroll.directive.mjs +0 -119
- package/esm2020/scrolling/fixed-size-virtual-scroll.directive.mjs +0 -27
- package/esm2020/scrolling/virtual-scroll-viewport.component.mjs +0 -26
- package/esm2020/select/base-select.mjs +0 -334
- package/esm2020/select/multi-select/multi-select.component.mjs +0 -310
- package/esm2020/select/option/option.component.mjs +0 -112
- package/esm2020/select/option-group/option-group.component.mjs +0 -23
- package/esm2020/select/select.component.mjs +0 -107
- package/esm2020/select/validators.mjs +0 -75
- package/esm2020/shared/click-outside.directive.mjs +0 -28
- package/esm2020/sort/sort-header.component.mjs +0 -68
- package/esm2020/sort/sort.directive.mjs +0 -74
- package/esm2020/status-bar/status-bar.component.mjs +0 -29
- package/esm2020/steps/steps.component.mjs +0 -180
- package/esm2020/switch/switch.component.mjs +0 -46
- package/esm2020/table/table-cell-def.directive.mjs +0 -25
- package/esm2020/table/table-cell.component.mjs +0 -121
- package/esm2020/table/table-column-def.directive.mjs +0 -31
- package/esm2020/table/table-header-cell-def.directive.mjs +0 -25
- package/esm2020/table/table-header-row-def.directive.mjs +0 -35
- package/esm2020/table/table-placeholder.directive.mjs +0 -30
- package/esm2020/table/table-row-def.directive.mjs +0 -37
- package/esm2020/table/table-row.component.mjs +0 -42
- package/esm2020/table/table-scroll.directive.mjs +0 -133
- package/esm2020/table/table.component.mjs +0 -76
- package/esm2020/table-of-contents/toc-container.directive.mjs +0 -109
- package/esm2020/table-of-contents/toc-content.directive.mjs +0 -35
- package/esm2020/table-of-contents/toc-link.directive.mjs +0 -44
- package/esm2020/tabs/tab-body.component.mjs +0 -147
- package/esm2020/tabs/tab-context.service.mjs +0 -28
- package/esm2020/tabs/tab-group.component.mjs +0 -246
- package/esm2020/tabs/tab-header-active-indicator.component.mjs +0 -44
- package/esm2020/tabs/tab-header.component.mjs +0 -264
- package/esm2020/tabs/tab.component.mjs +0 -71
- package/esm2020/tag/check-tag/check-tag.component.mjs +0 -33
- package/esm2020/tag/tag.component.mjs +0 -65
- package/esm2020/theme/theme.pipe.mjs +0 -69
- package/esm2020/theme/theme.service.mjs +0 -52
- package/esm2020/time-picker/component.mjs +0 -179
- package/esm2020/time-picker/panel/panel.component.mjs +0 -228
- package/esm2020/tooltip/base-tooltip.mjs +0 -318
- package/esm2020/tooltip/tooltip-active.directive.mjs +0 -49
- package/esm2020/tooltip/tooltip-copy.directive.mjs +0 -82
- package/esm2020/tooltip/tooltip-intl.mjs +0 -23
- package/esm2020/tooltip/tooltip.component.mjs +0 -107
- package/esm2020/tooltip/tooltip.directive.mjs +0 -47
- package/esm2020/tree-select/tree-select.component.mjs +0 -339
- package/esm2020/utils/bem.mjs +0 -43
- package/fesm2015/alauda-ui.mjs +0 -11663
- package/fesm2015/alauda-ui.mjs.map +0 -1
- package/fesm2020/alauda-ui.mjs.map +0 -1
- /package/{esm2020 → esm2022}/accordion/index.mjs +0 -0
- /package/{esm2020 → esm2022}/alauda-ui.mjs +0 -0
- /package/{esm2020 → esm2022}/anchor/index.mjs +0 -0
- /package/{esm2020 → esm2022}/anchor/types.mjs +0 -0
- /package/{esm2020 → esm2022}/anchor/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/autocomplete/autocomplete.types.mjs +0 -0
- /package/{esm2020 → esm2022}/autocomplete/index.mjs +0 -0
- /package/{esm2020 → esm2022}/back-top/index.mjs +0 -0
- /package/{esm2020 → esm2022}/breadcrumb/index.mjs +0 -0
- /package/{esm2020 → esm2022}/button/button.types.mjs +0 -0
- /package/{esm2020 → esm2022}/button/index.mjs +0 -0
- /package/{esm2020 → esm2022}/card/index.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox/index.mjs +0 -0
- /package/{esm2020 → esm2022}/color-picker/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/animation/animation-consts.mjs +0 -0
- /package/{esm2020 → esm2022}/date-picker/calendar/constant.mjs +0 -0
- /package/{esm2020 → esm2022}/date-picker/date-picker.type.mjs +0 -0
- /package/{esm2020 → esm2022}/date-picker/index.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/dialog-animations.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/dialog.types.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/index.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/utils/errors.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/drawer/component/drawer-ref.mjs +0 -0
- /package/{esm2020 → esm2022}/drawer/index.mjs +0 -0
- /package/{esm2020 → esm2022}/dropdown/dropdown.types.mjs +0 -0
- /package/{esm2020 → esm2022}/dropdown/index.mjs +0 -0
- /package/{esm2020 → esm2022}/form/form.types.mjs +0 -0
- /package/{esm2020 → esm2022}/form/index.mjs +0 -0
- /package/{esm2020 → esm2022}/i18n/i18n.type.mjs +0 -0
- /package/{esm2020 → esm2022}/i18n/index.mjs +0 -0
- /package/{esm2020 → esm2022}/i18n/language/en.mjs +0 -0
- /package/{esm2020 → esm2022}/i18n/language/zh.mjs +0 -0
- /package/{esm2020 → esm2022}/icon/icons.mjs +0 -0
- /package/{esm2020 → esm2022}/icon/index.mjs +0 -0
- /package/{esm2020 → esm2022}/icon/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/inline-alert/index.mjs +0 -0
- /package/{esm2020 → esm2022}/inline-alert/inline-alert.types.mjs +0 -0
- /package/{esm2020 → esm2022}/input/index.mjs +0 -0
- /package/{esm2020 → esm2022}/input/tags-input/with-max-row-count.mjs +0 -0
- /package/{esm2020 → esm2022}/input/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/message/index.mjs +0 -0
- /package/{esm2020 → esm2022}/message/message-animations.mjs +0 -0
- /package/{esm2020 → esm2022}/notification/index.mjs +0 -0
- /package/{esm2020 → esm2022}/notification/notification.config.mjs +0 -0
- /package/{esm2020 → esm2022}/paginator/index.mjs +0 -0
- /package/{esm2020 → esm2022}/radio/index.mjs +0 -0
- /package/{esm2020 → esm2022}/radio/radio.types.mjs +0 -0
- /package/{esm2020 → esm2022}/scrolling/index.mjs +0 -0
- /package/{esm2020 → esm2022}/select/index.mjs +0 -0
- /package/{esm2020 → esm2022}/select/select.types.mjs +0 -0
- /package/{esm2020 → esm2022}/sort/index.mjs +0 -0
- /package/{esm2020 → esm2022}/sort/sort-errors.mjs +0 -0
- /package/{esm2020 → esm2022}/sort/sort.types.mjs +0 -0
- /package/{esm2020 → esm2022}/status-bar/index.mjs +0 -0
- /package/{esm2020 → esm2022}/status-bar/status-bar.types.mjs +0 -0
- /package/{esm2020 → esm2022}/steps/index.mjs +0 -0
- /package/{esm2020 → esm2022}/steps/types.mjs +0 -0
- /package/{esm2020 → esm2022}/switch/index.mjs +0 -0
- /package/{esm2020 → esm2022}/table/index.mjs +0 -0
- /package/{esm2020 → esm2022}/table-of-contents/index.mjs +0 -0
- /package/{esm2020 → esm2022}/tabs/index.mjs +0 -0
- /package/{esm2020 → esm2022}/tabs/tabs.types.mjs +0 -0
- /package/{esm2020 → esm2022}/tag/index.mjs +0 -0
- /package/{esm2020 → esm2022}/tag/tag.types.mjs +0 -0
- /package/{esm2020 → esm2022}/theme/index.mjs +0 -0
- /package/{esm2020 → esm2022}/theme/theme.types.mjs +0 -0
- /package/{esm2020 → esm2022}/theme/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/time-picker/constant.mjs +0 -0
- /package/{esm2020 → esm2022}/time-picker/index.mjs +0 -0
- /package/{esm2020 → esm2022}/time-picker/time-picker.type.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/tooltip.types.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/tree-select/index.mjs +0 -0
- /package/{esm2020 → esm2022}/tree-select/tree-select.types.mjs +0 -0
- /package/{esm2020 → esm2022}/types.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/animations.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/async.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/coercion.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/fn.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/observe-dom.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/operators.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/scroll-into-view.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/watch-content-exist.mjs +0 -0
|
@@ -1,339 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, ViewChildren, ViewEncapsulation, forwardRef, } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { BehaviorSubject, combineLatest, map, of, startWith, Subject, switchMap, takeUntil, tap, } from 'rxjs';
|
|
4
|
-
import { CommonFormControl } from '../form';
|
|
5
|
-
import { buildBem, coerceAttrBoolean, coerceString, publishRef, scrollIntoView, } from '../utils';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common";
|
|
8
|
-
import * as i2 from "../tooltip/tooltip.directive";
|
|
9
|
-
import * as i3 from "../icon/icon.component";
|
|
10
|
-
import * as i4 from "../input/input.component";
|
|
11
|
-
import * as i5 from "../input/input-group/input-group.component";
|
|
12
|
-
import * as i6 from "../input/helper-directives";
|
|
13
|
-
export class TreeSelectComponent extends CommonFormControl {
|
|
14
|
-
constructor() {
|
|
15
|
-
super(...arguments);
|
|
16
|
-
this.loading = false;
|
|
17
|
-
this.placeholder = '';
|
|
18
|
-
this.filterFn = this._filterFn;
|
|
19
|
-
this.trackFn = this._trackFn;
|
|
20
|
-
this.filterChange = new EventEmitter();
|
|
21
|
-
this.show = new EventEmitter();
|
|
22
|
-
this.hide = new EventEmitter();
|
|
23
|
-
this._nodesData = [];
|
|
24
|
-
this._filterString = '';
|
|
25
|
-
this._filterable = false;
|
|
26
|
-
this._clearable = false;
|
|
27
|
-
this._leafOnly = false;
|
|
28
|
-
this.filterString$$ = new BehaviorSubject(this.filterString);
|
|
29
|
-
this.filterString$ = this.filterString$$.asObservable();
|
|
30
|
-
this.displayText = '';
|
|
31
|
-
this.flattedNodes = [];
|
|
32
|
-
this.trackByLabel = (_, node) => this.getLabelFromNode(node);
|
|
33
|
-
}
|
|
34
|
-
get nodesData() {
|
|
35
|
-
return this._nodesData;
|
|
36
|
-
}
|
|
37
|
-
set nodesData(val) {
|
|
38
|
-
if (!val || val === this._nodesData) {
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
this._nodesData = val;
|
|
42
|
-
this.flattedNodes = this.flatNodesData(val);
|
|
43
|
-
this.updateSelectDisplay(this.model);
|
|
44
|
-
}
|
|
45
|
-
get filterable() {
|
|
46
|
-
return this._filterable;
|
|
47
|
-
}
|
|
48
|
-
set filterable(val) {
|
|
49
|
-
this._filterable = coerceAttrBoolean(val);
|
|
50
|
-
}
|
|
51
|
-
get clearable() {
|
|
52
|
-
return this._clearable;
|
|
53
|
-
}
|
|
54
|
-
set clearable(val) {
|
|
55
|
-
this._clearable = coerceAttrBoolean(val);
|
|
56
|
-
}
|
|
57
|
-
get leafOnly() {
|
|
58
|
-
return this._leafOnly;
|
|
59
|
-
}
|
|
60
|
-
set leafOnly(val) {
|
|
61
|
-
this._leafOnly = coerceAttrBoolean(val);
|
|
62
|
-
}
|
|
63
|
-
get isClearable() {
|
|
64
|
-
return !this.disabled && this.clearable && this.getInputValue();
|
|
65
|
-
}
|
|
66
|
-
get opened() {
|
|
67
|
-
return this.tooltipRef.isCreated;
|
|
68
|
-
}
|
|
69
|
-
get inputReadonly() {
|
|
70
|
-
return !(this.filterable && this.opened);
|
|
71
|
-
}
|
|
72
|
-
get filterString() {
|
|
73
|
-
return this._filterString;
|
|
74
|
-
}
|
|
75
|
-
set filterString(val) {
|
|
76
|
-
if (val !== this._filterString) {
|
|
77
|
-
this._filterString = val;
|
|
78
|
-
this.filterString$$.next(val);
|
|
79
|
-
this.filterChange.emit(val);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
updatePosition() {
|
|
83
|
-
this.tooltipRef.updatePosition();
|
|
84
|
-
}
|
|
85
|
-
onVisibleNodes(visible) {
|
|
86
|
-
if (visible) {
|
|
87
|
-
this.containerWidth = this.selectRef.nativeElement.offsetWidth + 'px';
|
|
88
|
-
this.show.emit();
|
|
89
|
-
this.cdr.detectChanges();
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
if (this.onTouched) {
|
|
93
|
-
this.onTouched();
|
|
94
|
-
}
|
|
95
|
-
this.filterString = '';
|
|
96
|
-
this.hide.emit();
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
onInput(event) {
|
|
100
|
-
const value = event.target.value;
|
|
101
|
-
this.filterString = value;
|
|
102
|
-
this.cdr.markForCheck();
|
|
103
|
-
}
|
|
104
|
-
onNodeClick(node) {
|
|
105
|
-
this.selectNode(node);
|
|
106
|
-
}
|
|
107
|
-
getVisibleNodeCount() {
|
|
108
|
-
return this.flattedNodes.filter(node => this.filterFn(this.filterString, node)).length;
|
|
109
|
-
}
|
|
110
|
-
selectNode(node) {
|
|
111
|
-
if (!node.selected) {
|
|
112
|
-
this.emitValue(node.nodeData.value);
|
|
113
|
-
if (this.onChange) {
|
|
114
|
-
this.closeOption();
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
onKeyDown(event) {
|
|
119
|
-
if (event.key === 'Escape') {
|
|
120
|
-
this.closeOption();
|
|
121
|
-
event.stopPropagation();
|
|
122
|
-
event.preventDefault();
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
openOption() {
|
|
126
|
-
this.tooltipRef.show();
|
|
127
|
-
}
|
|
128
|
-
closeOption() {
|
|
129
|
-
this.inputRef.elementRef.nativeElement.value = this.displayText;
|
|
130
|
-
this.tooltipRef.hide();
|
|
131
|
-
}
|
|
132
|
-
updateSelectDisplay(value) {
|
|
133
|
-
const pickedNode = this.flattedNodes.find(node => this.trackFn(node.value) === this.trackFn(value));
|
|
134
|
-
this.displayText = pickedNode
|
|
135
|
-
? this.getLabelFromNode(pickedNode).toString()
|
|
136
|
-
: coerceString(this.trackFn(value));
|
|
137
|
-
}
|
|
138
|
-
clearValue(event) {
|
|
139
|
-
this.emitValue(null);
|
|
140
|
-
event.stopPropagation();
|
|
141
|
-
event.preventDefault();
|
|
142
|
-
}
|
|
143
|
-
valueIn(v) {
|
|
144
|
-
this.updateSelectDisplay(v);
|
|
145
|
-
this.closeOption();
|
|
146
|
-
return v;
|
|
147
|
-
}
|
|
148
|
-
getPlaceholder() {
|
|
149
|
-
return this.filterable && this.opened ? this.displayText : this.placeholder;
|
|
150
|
-
}
|
|
151
|
-
getInputValue() {
|
|
152
|
-
return this.filterable && this.opened ? '' : this.displayText;
|
|
153
|
-
}
|
|
154
|
-
flatNodesData(nodes = []) {
|
|
155
|
-
return nodes.reduce((prevValue, currentNode) => prevValue.concat(currentNode, this.flatNodesData(currentNode.children)), []);
|
|
156
|
-
}
|
|
157
|
-
getLabelFromNode(node) {
|
|
158
|
-
return (this.labelFn?.(node.value) ||
|
|
159
|
-
node.label ||
|
|
160
|
-
coerceString(this.trackFn(node.value)));
|
|
161
|
-
}
|
|
162
|
-
_filterFn(filterString, node) {
|
|
163
|
-
return this.getLabelFromNode(node)?.includes(filterString ?? '');
|
|
164
|
-
}
|
|
165
|
-
_trackFn(value) {
|
|
166
|
-
return value;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
TreeSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
170
|
-
TreeSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TreeSelectComponent, selector: "aui-tree-select", inputs: { nodesData: "nodesData", loading: "loading", placeholder: "placeholder", filterable: "filterable", clearable: "clearable", leafOnly: "leafOnly", filterFn: "filterFn", trackFn: "trackFn", labelFn: "labelFn" }, outputs: { filterChange: "filterChange", show: "show", hide: "hide" }, providers: [
|
|
171
|
-
{
|
|
172
|
-
provide: NG_VALUE_ACCESSOR,
|
|
173
|
-
useExisting: forwardRef(() => TreeSelectComponent),
|
|
174
|
-
multi: true,
|
|
175
|
-
},
|
|
176
|
-
], viewQueries: [{ propertyName: "selectRef", first: true, predicate: ["selectRef"], descendants: true, static: true }, { propertyName: "tooltipRef", first: true, predicate: ["tooltipRef"], descendants: true, static: true }, { propertyName: "nodeListRef", first: true, predicate: ["nodeListRef"], descendants: true, static: true }, { propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"aui-tree-select\"\n [class.isDisabled]=\"disabled\"\n [class.isClearable]=\"isClearable\"\n #selectRef\n #tooltipRef=\"auiTooltip\"\n [auiTooltip]=\"templateRef\"\n [auiTooltipDisabled]=\"disabled\"\n [auiDisableAnimation]=\"true\"\n auiTooltipTrigger=\"click\"\n auiTooltipPosition=\"bottom start\"\n auiTooltipType=\"plain\"\n (auiTooltipVisibleChange)=\"onVisibleNodes($event)\"\n>\n <aui-input-group>\n <input\n #inputRef\n class=\"aui-tree-select__input\"\n autocomplete=\"off\"\n aui-input\n [value]=\"getInputValue()\"\n [disabled]=\"disabled\"\n [placeholder]=\"getPlaceholder()\"\n [readonly]=\"inputReadonly\"\n (input)=\"onInput($event)\"\n (blur)=\"closeOption()\"\n (keydown)=\"onKeyDown($event)\"\n />\n <span\n auiInputSuffix\n class=\"aui-tree-select__icon-container\"\n >\n <aui-icon\n class=\"aui-tree-select__indicator\"\n [icon]=\"loading ? 'spinner' : 'caret_down_s'\"\n ></aui-icon>\n <aui-icon\n class=\"aui-tree-select__clear\"\n icon=\"xmark_small\"\n (click)=\"clearValue($event)\"\n ></aui-icon>\n </span>\n </aui-input-group>\n</div>\n\n<ng-template #templateRef>\n <div\n class=\"aui-tree-node-container\"\n [style.minWidth]=\"containerWidth\"\n (mousedown)=\"$event.preventDefault()\"\n >\n <div\n #nodeListRef\n class=\"aui-tree-node-container__content\"\n >\n <aui-tree-node\n *ngFor=\"let data of nodesData; trackBy: trackByLabel\"\n [nodeData]=\"data\"\n [leafOnly]=\"leafOnly\"\n ></aui-tree-node>\n </div>\n <div\n *ngIf=\"!getVisibleNodeCount()\"\n class=\"aui-tree-node-container__placeholder\"\n >\n <ng-content select=\"aui-tree-node-placeholder\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".aui-tree-node-container{padding:8px 0;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-popper-bg))}:root .aui-tree-node-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-tree-node-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-tree-node-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-tree-node-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-tree-node-container__content{max-height:calc(var(--aui-inline-height-s) * 10);position:relative;overflow:auto}.aui-tree-node-container__content::-webkit-scrollbar{width:4px;height:4px}.aui-tree-node-container__content::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-tree-node-container__content::-webkit-scrollbar-corner{background-color:transparent}.aui-tree-node-container__content .divider{border:none;border-top:1px solid rgb(var(--aui-color-n-8))}.aui-tree-node-container__placeholder{color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m);text-align:center}.aui-tree-node-container--small .aui-tree-node-container__content{max-height:calc(var(--aui-inline-height-s) * 10)}.aui-tree-node-container--small .aui-tree-node-container__placeholder{font-size:var(--aui-font-size-s)}.aui-tree-select{display:inline-block;position:relative;width:100%}.aui-tree-select__icon-container{display:block;position:relative}.aui-tree-select.isDisabled .aui-tree-select__icon-container{color:rgb(var(--aui-color-n-4))}.aui-tree-select__clear{display:none}.aui-tree-select__clear .aui-icon{border-radius:50%;color:rgb(var(--aui-color-help-text));cursor:pointer;transition:all .3s ease}.aui-tree-select__clear .aui-icon:hover{color:rgb(var(--aui-color-main-bg));background-color:rgb(var(--aui-color-help-text))}.aui-tree-select.isClearable:not(.isDisabled):hover .aui-tree-select__indicator{display:none}.aui-tree-select.isClearable:not(.isDisabled):hover .aui-tree-select__clear{display:flex}.aui-tree-select:not(.isDisabled):hover .aui-input{border-color:rgb(var(--aui-color-primary))}.aui-tree-select__input.aui-input[readonly]:not([disabled]){background-color:rgb(var(--aui-color-n-9));cursor:text}aui-tree-select.ng-invalid.ng-dirty .aui-input,.ng-submitted aui-tree-select.ng-invalid .aui-input{border-color:rgb(var(--aui-color-red))!important}:root aui-tree-select.ng-invalid.ng-dirty .aui-input:focus,:root aui-tree-select.ng-invalid.ng-dirty .aui-input.isFocused,:root .ng-submitted aui-tree-select.ng-invalid .aui-input:focus,:root .ng-submitted aui-tree-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] aui-tree-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=light] aui-tree-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-tree-select.ng-invalid .aui-input:focus,html[aui-theme-mode=light] .ng-submitted aui-tree-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] aui-tree-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=system] aui-tree-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-tree-select.ng-invalid .aui-input:focus,html[aui-theme-mode=system] .ng-submitted aui-tree-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] aui-tree-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=dark] aui-tree-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-tree-select.ng-invalid .aui-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-tree-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.TooltipDirective; }), selector: "[auiTooltip]", inputs: ["auiTooltip", "auiTooltipContext", "auiTooltipClass", "auiTooltipType", "auiTooltipPosition", "auiTooltipTrigger", "auiTooltipDisabled", "auiTooltipHideOnClick", "auiDisableAnimation"], outputs: ["auiTooltipVisibleChange"], exportAs: ["auiTooltip"] }, { kind: "component", type: i0.forwardRef(function () { return i3.IconComponent; }), selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "component", type: i0.forwardRef(function () { return i4.InputComponent; }), selector: "input[aui-input],textarea[aui-input]", inputs: ["size", "disabled"] }, { kind: "component", type: i0.forwardRef(function () { return i5.InputGroupComponent; }), selector: "aui-input-group" }, { kind: "directive", type: i0.forwardRef(function () { return i6.InputSuffixDirective; }), selector: "[auiInputSuffix]" }, { kind: "component", type: i0.forwardRef(function () { return TreeNodeComponent; }), selector: "aui-tree-node", inputs: ["nodeData", "leafOnly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
177
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeSelectComponent, decorators: [{
|
|
178
|
-
type: Component,
|
|
179
|
-
args: [{ selector: 'aui-tree-select', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, providers: [
|
|
180
|
-
{
|
|
181
|
-
provide: NG_VALUE_ACCESSOR,
|
|
182
|
-
useExisting: forwardRef(() => TreeSelectComponent),
|
|
183
|
-
multi: true,
|
|
184
|
-
},
|
|
185
|
-
], template: "<div\n class=\"aui-tree-select\"\n [class.isDisabled]=\"disabled\"\n [class.isClearable]=\"isClearable\"\n #selectRef\n #tooltipRef=\"auiTooltip\"\n [auiTooltip]=\"templateRef\"\n [auiTooltipDisabled]=\"disabled\"\n [auiDisableAnimation]=\"true\"\n auiTooltipTrigger=\"click\"\n auiTooltipPosition=\"bottom start\"\n auiTooltipType=\"plain\"\n (auiTooltipVisibleChange)=\"onVisibleNodes($event)\"\n>\n <aui-input-group>\n <input\n #inputRef\n class=\"aui-tree-select__input\"\n autocomplete=\"off\"\n aui-input\n [value]=\"getInputValue()\"\n [disabled]=\"disabled\"\n [placeholder]=\"getPlaceholder()\"\n [readonly]=\"inputReadonly\"\n (input)=\"onInput($event)\"\n (blur)=\"closeOption()\"\n (keydown)=\"onKeyDown($event)\"\n />\n <span\n auiInputSuffix\n class=\"aui-tree-select__icon-container\"\n >\n <aui-icon\n class=\"aui-tree-select__indicator\"\n [icon]=\"loading ? 'spinner' : 'caret_down_s'\"\n ></aui-icon>\n <aui-icon\n class=\"aui-tree-select__clear\"\n icon=\"xmark_small\"\n (click)=\"clearValue($event)\"\n ></aui-icon>\n </span>\n </aui-input-group>\n</div>\n\n<ng-template #templateRef>\n <div\n class=\"aui-tree-node-container\"\n [style.minWidth]=\"containerWidth\"\n (mousedown)=\"$event.preventDefault()\"\n >\n <div\n #nodeListRef\n class=\"aui-tree-node-container__content\"\n >\n <aui-tree-node\n *ngFor=\"let data of nodesData; trackBy: trackByLabel\"\n [nodeData]=\"data\"\n [leafOnly]=\"leafOnly\"\n ></aui-tree-node>\n </div>\n <div\n *ngIf=\"!getVisibleNodeCount()\"\n class=\"aui-tree-node-container__placeholder\"\n >\n <ng-content select=\"aui-tree-node-placeholder\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: [".aui-tree-node-container{padding:8px 0;border-radius:var(--aui-border-radius-m);background-color:rgb(var(--aui-color-popper-bg))}:root .aui-tree-node-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}html[aui-theme-mode=light] .aui-tree-node-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.2)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] .aui-tree-node-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}}html[aui-theme-mode=dark] .aui-tree-node-container{box-shadow:0 2px 8px 0 rgba(var(--aui-color-origin-shadow),.75)}.aui-tree-node-container__content{max-height:calc(var(--aui-inline-height-s) * 10);position:relative;overflow:auto}.aui-tree-node-container__content::-webkit-scrollbar{width:4px;height:4px}.aui-tree-node-container__content::-webkit-scrollbar-thumb{border-radius:2px;background-color:rgba(var(--aui-color-n-1),.2)}.aui-tree-node-container__content::-webkit-scrollbar-corner{background-color:transparent}.aui-tree-node-container__content .divider{border:none;border-top:1px solid rgb(var(--aui-color-n-8))}.aui-tree-node-container__placeholder{color:rgb(var(--aui-color-n-4));font-size:var(--aui-font-size-m);text-align:center}.aui-tree-node-container--small .aui-tree-node-container__content{max-height:calc(var(--aui-inline-height-s) * 10)}.aui-tree-node-container--small .aui-tree-node-container__placeholder{font-size:var(--aui-font-size-s)}.aui-tree-select{display:inline-block;position:relative;width:100%}.aui-tree-select__icon-container{display:block;position:relative}.aui-tree-select.isDisabled .aui-tree-select__icon-container{color:rgb(var(--aui-color-n-4))}.aui-tree-select__clear{display:none}.aui-tree-select__clear .aui-icon{border-radius:50%;color:rgb(var(--aui-color-help-text));cursor:pointer;transition:all .3s ease}.aui-tree-select__clear .aui-icon:hover{color:rgb(var(--aui-color-main-bg));background-color:rgb(var(--aui-color-help-text))}.aui-tree-select.isClearable:not(.isDisabled):hover .aui-tree-select__indicator{display:none}.aui-tree-select.isClearable:not(.isDisabled):hover .aui-tree-select__clear{display:flex}.aui-tree-select:not(.isDisabled):hover .aui-input{border-color:rgb(var(--aui-color-primary))}.aui-tree-select__input.aui-input[readonly]:not([disabled]){background-color:rgb(var(--aui-color-n-9));cursor:text}aui-tree-select.ng-invalid.ng-dirty .aui-input,.ng-submitted aui-tree-select.ng-invalid .aui-input{border-color:rgb(var(--aui-color-red))!important}:root aui-tree-select.ng-invalid.ng-dirty .aui-input:focus,:root aui-tree-select.ng-invalid.ng-dirty .aui-input.isFocused,:root .ng-submitted aui-tree-select.ng-invalid .aui-input:focus,:root .ng-submitted aui-tree-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}html[aui-theme-mode=light] aui-tree-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=light] aui-tree-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=light] .ng-submitted aui-tree-select.ng-invalid .aui-input:focus,html[aui-theme-mode=light] .ng-submitted aui-tree-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.16)}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] aui-tree-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=system] aui-tree-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=system] .ng-submitted aui-tree-select.ng-invalid .aui-input:focus,html[aui-theme-mode=system] .ng-submitted aui-tree-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}}html[aui-theme-mode=dark] aui-tree-select.ng-invalid.ng-dirty .aui-input:focus,html[aui-theme-mode=dark] aui-tree-select.ng-invalid.ng-dirty .aui-input.isFocused,html[aui-theme-mode=dark] .ng-submitted aui-tree-select.ng-invalid .aui-input:focus,html[aui-theme-mode=dark] .ng-submitted aui-tree-select.ng-invalid .aui-input.isFocused{box-shadow:0 0 0 2px rgba(var(--aui-color-red),.3)}\n"] }]
|
|
186
|
-
}], propDecorators: { nodesData: [{
|
|
187
|
-
type: Input
|
|
188
|
-
}], loading: [{
|
|
189
|
-
type: Input
|
|
190
|
-
}], placeholder: [{
|
|
191
|
-
type: Input
|
|
192
|
-
}], filterable: [{
|
|
193
|
-
type: Input
|
|
194
|
-
}], clearable: [{
|
|
195
|
-
type: Input
|
|
196
|
-
}], leafOnly: [{
|
|
197
|
-
type: Input
|
|
198
|
-
}], filterFn: [{
|
|
199
|
-
type: Input
|
|
200
|
-
}], trackFn: [{
|
|
201
|
-
type: Input
|
|
202
|
-
}], labelFn: [{
|
|
203
|
-
type: Input
|
|
204
|
-
}], filterChange: [{
|
|
205
|
-
type: Output
|
|
206
|
-
}], show: [{
|
|
207
|
-
type: Output
|
|
208
|
-
}], hide: [{
|
|
209
|
-
type: Output
|
|
210
|
-
}], selectRef: [{
|
|
211
|
-
type: ViewChild,
|
|
212
|
-
args: ['selectRef', { static: true }]
|
|
213
|
-
}], tooltipRef: [{
|
|
214
|
-
type: ViewChild,
|
|
215
|
-
args: ['tooltipRef', { static: true }]
|
|
216
|
-
}], nodeListRef: [{
|
|
217
|
-
type: ViewChild,
|
|
218
|
-
args: ['nodeListRef', { static: true }]
|
|
219
|
-
}], inputRef: [{
|
|
220
|
-
type: ViewChild,
|
|
221
|
-
args: ['inputRef', { static: true }]
|
|
222
|
-
}] } });
|
|
223
|
-
export class TreeNodeComponent {
|
|
224
|
-
get nodeData() {
|
|
225
|
-
return this._nodeData;
|
|
226
|
-
}
|
|
227
|
-
set nodeData(val) {
|
|
228
|
-
if (val === this._nodeData) {
|
|
229
|
-
return;
|
|
230
|
-
}
|
|
231
|
-
this._nodeData = val;
|
|
232
|
-
this.nodeData$$.next(val);
|
|
233
|
-
}
|
|
234
|
-
get leafOnly() {
|
|
235
|
-
return this._leafOnly;
|
|
236
|
-
}
|
|
237
|
-
set leafOnly(val) {
|
|
238
|
-
this._leafOnly = coerceAttrBoolean(val);
|
|
239
|
-
}
|
|
240
|
-
constructor(select, cdr) {
|
|
241
|
-
this.cdr = cdr;
|
|
242
|
-
this.bem = buildBem('aui-tree-node');
|
|
243
|
-
this.nodeData$$ = new BehaviorSubject(this.nodeData);
|
|
244
|
-
this.destroy$$ = new Subject();
|
|
245
|
-
this.selected = false;
|
|
246
|
-
this.visible = true;
|
|
247
|
-
this.isLeaf = false;
|
|
248
|
-
this._leafOnly = true;
|
|
249
|
-
this.select = select;
|
|
250
|
-
this.selected$ = combineLatest([
|
|
251
|
-
this.select.model$,
|
|
252
|
-
this.nodeData$$.pipe(map(data => data.value)),
|
|
253
|
-
]).pipe(map(([selectValue, selfValue]) => selectValue &&
|
|
254
|
-
this.select.trackFn(selectValue) === this.select.trackFn(selfValue)), tap(selected => {
|
|
255
|
-
this.selected = selected;
|
|
256
|
-
}), publishRef());
|
|
257
|
-
this.selfVisible$ = combineLatest([
|
|
258
|
-
this.select.filterString$,
|
|
259
|
-
this.nodeData$$,
|
|
260
|
-
]).pipe(map(([filterString, nodeData]) => this.select.filterFn(filterString, nodeData)), publishRef());
|
|
261
|
-
}
|
|
262
|
-
ngAfterViewInit() {
|
|
263
|
-
const hasVisibleChildNodes$ = this.childNodes.changes.pipe(startWith(this.childNodes), switchMap((nodes) => nodes.length > 0
|
|
264
|
-
? combineLatest(nodes.map(node => node.visible$))
|
|
265
|
-
: of([false])), map(visible => visible.some(Boolean)), tap(hasVisibleChildren => (this.isLeaf = !hasVisibleChildren)));
|
|
266
|
-
this.visible$ = combineLatest([
|
|
267
|
-
this.selfVisible$,
|
|
268
|
-
hasVisibleChildNodes$,
|
|
269
|
-
]).pipe(map(visible => visible.some(Boolean)), publishRef());
|
|
270
|
-
this.visible$.pipe(takeUntil(this.destroy$$)).subscribe(visible => {
|
|
271
|
-
this.visible = visible;
|
|
272
|
-
this.cdr.markForCheck();
|
|
273
|
-
});
|
|
274
|
-
this.selected$.pipe(takeUntil(this.destroy$$)).subscribe(selected => {
|
|
275
|
-
this.selected = selected;
|
|
276
|
-
this.cdr.markForCheck();
|
|
277
|
-
});
|
|
278
|
-
if (this.selected) {
|
|
279
|
-
requestAnimationFrame(() => {
|
|
280
|
-
this.scrollToNode(this);
|
|
281
|
-
});
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
ngOnDestroy() {
|
|
285
|
-
this.destroy$$.next();
|
|
286
|
-
this.destroy$$.complete();
|
|
287
|
-
}
|
|
288
|
-
onClick() {
|
|
289
|
-
if (this.nodeData.disabled || this.nodeData.loading) {
|
|
290
|
-
return;
|
|
291
|
-
}
|
|
292
|
-
if (this.leafOnly && !this.isLeaf) {
|
|
293
|
-
this.switchExpanded();
|
|
294
|
-
return;
|
|
295
|
-
}
|
|
296
|
-
this.select.onNodeClick(this);
|
|
297
|
-
}
|
|
298
|
-
switchExpanded() {
|
|
299
|
-
this.nodeData.expanded = !this.nodeData.expanded;
|
|
300
|
-
if (this.nodeData.expanded && this.childNodes.last) {
|
|
301
|
-
requestAnimationFrame(() => {
|
|
302
|
-
this.scrollToNode(this.childNodes.last);
|
|
303
|
-
});
|
|
304
|
-
}
|
|
305
|
-
requestAnimationFrame(() => {
|
|
306
|
-
this.select.updatePosition();
|
|
307
|
-
});
|
|
308
|
-
}
|
|
309
|
-
getIcon() {
|
|
310
|
-
return this.nodeData.expanded
|
|
311
|
-
? this.nodeData.expandedIcon || this.nodeData.icon
|
|
312
|
-
: this.nodeData.icon;
|
|
313
|
-
}
|
|
314
|
-
trackByLabel(_, data) {
|
|
315
|
-
return data.label;
|
|
316
|
-
}
|
|
317
|
-
scrollToNode(node) {
|
|
318
|
-
if (this.select.nodeListRef) {
|
|
319
|
-
scrollIntoView(this.select.nodeListRef.nativeElement, node.titleRef.nativeElement);
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
TreeNodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeNodeComponent, deps: [{ token: TreeSelectComponent }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
324
|
-
TreeNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TreeNodeComponent, selector: "aui-tree-node", inputs: { nodeData: "nodeData", leafOnly: "leafOnly" }, viewQueries: [{ propertyName: "titleRef", first: true, predicate: ["titleRef"], descendants: true, static: true }, { propertyName: "childNodes", predicate: TreeNodeComponent, descendants: true }], ngImport: i0, template: "<div\n [hidden]=\"!visible\"\n class=\"aui-tree-node\"\n [class.isDisabled]=\"nodeData.disabled\"\n [class.isSelected]=\"selected\"\n [attr.data-value]=\"nodeData.value\"\n>\n <div\n class=\"aui-tree-node__content\"\n [class.isLeftOnly]=\"leafOnly && !isLeaf && !nodeData.disabled\"\n >\n <aui-icon\n *ngIf=\"nodeData.loading\"\n class=\"aui-tree-node__loading\"\n margin=\"left\"\n size=\"16\"\n [icon]=\"'spinner'\"\n ></aui-icon>\n <aui-icon\n *ngIf=\"nodeData.children && !nodeData.loading\"\n class=\"aui-tree-node__indicator\"\n margin=\"left\"\n size=\"16\"\n [icon]=\"nodeData.expanded ? 'angle_down' : 'angle_right'\"\n (click)=\"switchExpanded()\"\n ></aui-icon>\n <span\n #titleRef\n class=\"aui-tree-node__title\"\n [class.isDisabled]=\"nodeData.disabled || nodeData.loading\"\n [class.isSelected]=\"selected\"\n [class.unselectable]=\"leafOnly && !isLeaf\"\n (click)=\"onClick()\"\n >\n <aui-icon\n *ngIf=\"nodeData.icon\"\n margin=\"right\"\n [icon]=\"getIcon()\"\n ></aui-icon>\n {{ nodeData.label }}\n </span>\n </div>\n <div\n *ngIf=\"nodeData.children\"\n [hidden]=\"!nodeData.expanded\"\n class=\"aui-tree-node__children\"\n >\n <aui-tree-node\n *ngFor=\"let data of nodeData.children; trackBy: trackByLabel\"\n [nodeData]=\"data\"\n [leafOnly]=\"leafOnly\"\n ></aui-tree-node>\n </div>\n</div>\n", styles: [".aui-tree-node__content{display:flex;height:var(--aui-inline-height-m);line-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);color:rgb(var(--aui-color-main-text));margin-left:4px;cursor:pointer}.aui-tree-node__content aui-icon{color:rgb(var(--aui-color-n-2))}.aui-tree-node__content.isLeftOnly:hover{background-color:rgb(var(--aui-color-p-6))}.aui-tree-node__title{display:inline-block;padding:6px 8px;width:100%;height:100%;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-tree-node__title:hover{background-color:rgb(var(--aui-color-p-6))}.aui-tree-node__title.unselectable{color:rgb(var(--aui-color-n-4))}.aui-tree-node__title.unselectable aui-icon{color:rgb(var(--aui-color-n-4))}.aui-tree-node__title.isSelected{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tree-node__title.isSelected aui-icon{color:rgb(var(--aui-color-primary))}.aui-tree-node__title.isDisabled{color:rgb(var(--aui-color-n-6));cursor:not-allowed}.aui-tree-node__title.isDisabled aui-icon{color:rgb(var(--aui-color-n-6))}.aui-tree-node__loading{cursor:not-allowed}.aui-tree-node__indicator:hover{color:rgb(var(--aui-color-primary))}.aui-tree-node__children{margin-left:calc(var(--aui-font-size-m) + 6px)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }, { kind: "component", type: TreeNodeComponent, selector: "aui-tree-node", inputs: ["nodeData", "leafOnly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
325
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TreeNodeComponent, decorators: [{
|
|
326
|
-
type: Component,
|
|
327
|
-
args: [{ selector: 'aui-tree-node', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, template: "<div\n [hidden]=\"!visible\"\n class=\"aui-tree-node\"\n [class.isDisabled]=\"nodeData.disabled\"\n [class.isSelected]=\"selected\"\n [attr.data-value]=\"nodeData.value\"\n>\n <div\n class=\"aui-tree-node__content\"\n [class.isLeftOnly]=\"leafOnly && !isLeaf && !nodeData.disabled\"\n >\n <aui-icon\n *ngIf=\"nodeData.loading\"\n class=\"aui-tree-node__loading\"\n margin=\"left\"\n size=\"16\"\n [icon]=\"'spinner'\"\n ></aui-icon>\n <aui-icon\n *ngIf=\"nodeData.children && !nodeData.loading\"\n class=\"aui-tree-node__indicator\"\n margin=\"left\"\n size=\"16\"\n [icon]=\"nodeData.expanded ? 'angle_down' : 'angle_right'\"\n (click)=\"switchExpanded()\"\n ></aui-icon>\n <span\n #titleRef\n class=\"aui-tree-node__title\"\n [class.isDisabled]=\"nodeData.disabled || nodeData.loading\"\n [class.isSelected]=\"selected\"\n [class.unselectable]=\"leafOnly && !isLeaf\"\n (click)=\"onClick()\"\n >\n <aui-icon\n *ngIf=\"nodeData.icon\"\n margin=\"right\"\n [icon]=\"getIcon()\"\n ></aui-icon>\n {{ nodeData.label }}\n </span>\n </div>\n <div\n *ngIf=\"nodeData.children\"\n [hidden]=\"!nodeData.expanded\"\n class=\"aui-tree-node__children\"\n >\n <aui-tree-node\n *ngFor=\"let data of nodeData.children; trackBy: trackByLabel\"\n [nodeData]=\"data\"\n [leafOnly]=\"leafOnly\"\n ></aui-tree-node>\n </div>\n</div>\n", styles: [".aui-tree-node__content{display:flex;height:var(--aui-inline-height-m);line-height:var(--aui-inline-height-m);font-size:var(--aui-font-size-m);color:rgb(var(--aui-color-main-text));margin-left:4px;cursor:pointer}.aui-tree-node__content aui-icon{color:rgb(var(--aui-color-n-2))}.aui-tree-node__content.isLeftOnly:hover{background-color:rgb(var(--aui-color-p-6))}.aui-tree-node__title{display:inline-block;padding:6px 8px;width:100%;height:100%;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);font-weight:var(--aui-font-weight-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aui-tree-node__title:hover{background-color:rgb(var(--aui-color-p-6))}.aui-tree-node__title.unselectable{color:rgb(var(--aui-color-n-4))}.aui-tree-node__title.unselectable aui-icon{color:rgb(var(--aui-color-n-4))}.aui-tree-node__title.isSelected{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-6))}.aui-tree-node__title.isSelected aui-icon{color:rgb(var(--aui-color-primary))}.aui-tree-node__title.isDisabled{color:rgb(var(--aui-color-n-6));cursor:not-allowed}.aui-tree-node__title.isDisabled aui-icon{color:rgb(var(--aui-color-n-6))}.aui-tree-node__loading{cursor:not-allowed}.aui-tree-node__indicator:hover{color:rgb(var(--aui-color-primary))}.aui-tree-node__children{margin-left:calc(var(--aui-font-size-m) + 6px)}\n"] }]
|
|
328
|
-
}], ctorParameters: function () { return [{ type: TreeSelectComponent }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { nodeData: [{
|
|
329
|
-
type: Input
|
|
330
|
-
}], leafOnly: [{
|
|
331
|
-
type: Input
|
|
332
|
-
}], titleRef: [{
|
|
333
|
-
type: ViewChild,
|
|
334
|
-
args: ['titleRef', { static: true }]
|
|
335
|
-
}], childNodes: [{
|
|
336
|
-
type: ViewChildren,
|
|
337
|
-
args: [TreeNodeComponent]
|
|
338
|
-
}] } });
|
|
339
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyZWUtc2VsZWN0L3RyZWUtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy90cmVlLXNlbGVjdC90cmVlLXNlbGVjdC5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uL3NyYy90cmVlLXNlbGVjdC90cmVlLW5vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDakIsVUFBVSxHQUtYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLEdBQUcsRUFFSCxFQUFFLEVBQ0YsU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUk1QyxPQUFPLEVBRUwsUUFBUSxFQUNSLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osVUFBVSxFQUNWLGNBQWMsR0FDZixNQUFNLFVBQVUsQ0FBQzs7Ozs7Ozs7QUFtQmxCLE1BQU0sT0FBTyxtQkFBaUMsU0FBUSxpQkFBb0I7SUFmMUU7O1FBK0JFLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFHaEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUE4QmpCLGFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRzFCLFlBQU8sR0FBZSxJQUFJLENBQUMsUUFBUSxDQUFDO1FBTXBDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUcxQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdoQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQWN4QixlQUFVLEdBQXVCLEVBQUUsQ0FBQztRQUNwQyxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDVCxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV6RSxrQkFBYSxHQUF1QixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBR3ZFLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGlCQUFZLEdBQXVCLEVBQUUsQ0FBQztRQW9IdEMsaUJBQVksR0FBRyxDQUFDLENBQVMsRUFBRSxJQUFpQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7S0F5QjlFO0lBck9DLElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsR0FBRztRQUNmLElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQVFELElBQ0ksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsR0FBaUI7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFDSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxHQUFpQjtRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEdBQWlCO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQTZDRCxJQUFJLFdBQVc7UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxZQUFZLENBQUMsR0FBRztRQUNsQixJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBZ0I7UUFDN0IsSUFBSSxPQUFPLEVBQUU7WUFDWCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDdEUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQzFCO2FBQU07WUFDTCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNsQjtZQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVk7UUFDbEIsTUFBTSxLQUFLLEdBQUksS0FBSyxDQUFDLE1BQTJCLENBQUMsS0FBSyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUEwQjtRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQ3ZDLENBQUMsTUFBTSxDQUFDO0lBQ1gsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUEwQjtRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDcEI7U0FDRjtJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsS0FBb0I7UUFDNUIsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRTtZQUMxQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNoRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFVO1FBQzVCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN2QyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQ3pELENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVU7WUFDM0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUU7WUFDOUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFZO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRWtCLE9BQU8sQ0FBQyxDQUFJO1FBQzdCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzlFLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUNoRSxDQUFDO0lBS08sYUFBYSxDQUFDLFFBQTRCLEVBQUU7UUFDbEQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUNqQixDQUFDLFNBQTZCLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FDN0MsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDekUsRUFBRSxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsSUFBaUI7UUFDeEMsT0FBTyxDQUNMLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxLQUFLO1lBQ1YsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3ZDLENBQUM7SUFDSixDQUFDO0lBRU8sU0FBUyxDQUFDLFlBQW9CLEVBQUUsSUFBaUI7UUFDdkQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU8sUUFBUSxDQUFJLEtBQVE7UUFDMUIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOztnSEFyT1UsbUJBQW1CO29HQUFuQixtQkFBbUIsMlVBUm5CO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7WUFDbEQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLGdlQzFESCxpMkRBcUVBLGt5S0R1T2EsaUJBQWlCOzJGQWhQakIsbUJBQW1CO2tCQWYvQixTQUFTOytCQUNFLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLHVCQUNoQixLQUFLLGFBQ2Y7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUlHLFNBQVM7c0JBRFosS0FBSztnQkFlTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlGLFVBQVU7c0JBRGIsS0FBSztnQkFVRixTQUFTO3NCQURaLEtBQUs7Z0JBVUYsUUFBUTtzQkFEWCxLQUFLO2dCQVVOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsTUFBTTtnQkFJUCxJQUFJO3NCQURILE1BQU07Z0JBSVAsSUFBSTtzQkFESCxNQUFNO2dCQUlHLFNBQVM7c0JBRGxCLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJOUIsVUFBVTtzQkFEbkIsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl6QyxXQUFXO3NCQURWLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJMUMsUUFBUTtzQkFEUCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0FBcUt6QyxNQUFNLE9BQU8saUJBQWlCO0lBTzVCLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsR0FBRztRQUNkLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDMUIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsR0FBaUI7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBa0JELFlBQ0UsTUFBOEIsRUFDYixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTlDekMsUUFBRyxHQUFRLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUdwQixlQUFVLEdBQUcsSUFBSSxlQUFlLENBQWMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBOEJqRCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRVAsY0FBUyxHQUFHLElBQUksQ0FBQztRQVV2QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQztZQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlDLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUNELENBQUMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUMzQixXQUFXO1lBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQ3RFLEVBQ0QsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDM0IsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxFQUFFLENBQ2IsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYTtZQUN6QixJQUFJLENBQUMsVUFBVTtTQUNoQixDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUM3QyxFQUNELFVBQVUsRUFBRSxDQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUN4RCxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUMxQixTQUFTLENBQUMsQ0FBQyxLQUFzQyxFQUFFLEVBQUUsQ0FDbkQsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ2QsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNoQixFQUNELEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDckMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQy9ELENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQztZQUM1QixJQUFJLENBQUMsWUFBWTtZQUNqQixxQkFBcUI7U0FDdEIsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQ3JDLFVBQVUsRUFBRSxDQUNiLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2hFLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2xFLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIscUJBQXFCLENBQUMsR0FBRyxFQUFFO2dCQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUU7WUFDbkQsT0FBTztTQUNSO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNqQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQ2pELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDbEQscUJBQXFCLENBQUMsR0FBRyxFQUFFO2dCQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUMsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELHFCQUFxQixDQUFDLEdBQUcsRUFBRTtZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUTtZQUMzQixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJO1lBQ2xELENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFBWSxDQUFDLENBQVMsRUFBRSxJQUFpQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUEwQjtRQUNyQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFO1lBQzNCLGNBQWMsQ0FDWixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUM1QixDQUFDO1NBQ0g7SUFDSCxDQUFDOzs4R0EzSlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsaVBBZ0NkLGlCQUFpQixnREU1VWpDLGsrQ0FzREEsdXhERnNQYSxpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDRSxlQUFlLG1CQUdSLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksdUJBQ2hCLEtBQUs7dUlBVXRCLFFBQVE7c0JBRFgsS0FBSztnQkFjRixRQUFRO3NCQURYLEtBQUs7Z0JBVU4sUUFBUTtzQkFEUCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXZDLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgZm9yd2FyZFJlZixcbiAgUXVlcnlMaXN0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzdGFydFdpdGgsXG4gIFN1YmplY3QsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZVVudGlsLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDb21tb25Gb3JtQ29udHJvbCB9IGZyb20gJy4uL2Zvcm0nO1xuaW1wb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dCc7XG5pbXBvcnQgeyBUcmFja0ZuIH0gZnJvbSAnLi4vc2VsZWN0L3NlbGVjdC50eXBlcyc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi4vdG9vbHRpcCc7XG5pbXBvcnQge1xuICBCZW0sXG4gIGJ1aWxkQmVtLFxuICBjb2VyY2VBdHRyQm9vbGVhbixcbiAgY29lcmNlU3RyaW5nLFxuICBwdWJsaXNoUmVmLFxuICBzY3JvbGxJbnRvVmlldyxcbn0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gJy4vdHJlZS1zZWxlY3QudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktdHJlZS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90cmVlLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHJlZVNlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUcmVlU2VsZWN0Q29tcG9uZW50PFQgPSB1bmtub3duPiBleHRlbmRzIENvbW1vbkZvcm1Db250cm9sPFQ+IHtcbiAgQElucHV0KClcbiAgZ2V0IG5vZGVzRGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbm9kZXNEYXRhO1xuICB9XG5cbiAgc2V0IG5vZGVzRGF0YSh2YWwpIHtcbiAgICBpZiAoIXZhbCB8fCB2YWwgPT09IHRoaXMuX25vZGVzRGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9ub2Rlc0RhdGEgPSB2YWw7XG4gICAgdGhpcy5mbGF0dGVkTm9kZXMgPSB0aGlzLmZsYXROb2Rlc0RhdGEodmFsKTtcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdERpc3BsYXkodGhpcy5tb2RlbCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBsb2FkaW5nID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXIgPSAnJztcblxuICBASW5wdXQoKVxuICBnZXQgZmlsdGVyYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyYWJsZTtcbiAgfVxuXG4gIHNldCBmaWx0ZXJhYmxlKHZhbDogYm9vbGVhbiB8ICcnKSB7XG4gICAgdGhpcy5fZmlsdGVyYWJsZSA9IGNvZXJjZUF0dHJCb29sZWFuKHZhbCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgY2xlYXJhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLl9jbGVhcmFibGU7XG4gIH1cblxuICBzZXQgY2xlYXJhYmxlKHZhbDogYm9vbGVhbiB8ICcnKSB7XG4gICAgdGhpcy5fY2xlYXJhYmxlID0gY29lcmNlQXR0ckJvb2xlYW4odmFsKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBsZWFmT25seSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbGVhZk9ubHk7XG4gIH1cblxuICBzZXQgbGVhZk9ubHkodmFsOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9sZWFmT25seSA9IGNvZXJjZUF0dHJCb29sZWFuKHZhbCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBmaWx0ZXJGbiA9IHRoaXMuX2ZpbHRlckZuO1xuXG4gIEBJbnB1dCgpXG4gIHRyYWNrRm46IFRyYWNrRm48VD4gPSB0aGlzLl90cmFja0ZuO1xuXG4gIEBJbnB1dCgpXG4gIGxhYmVsRm4/OiAodmFsdWU6IFQpID0+IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgZmlsdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHNob3cgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGhpZGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0UmVmJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJvdGVjdGVkIHNlbGVjdFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgndG9vbHRpcFJlZicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByb3RlY3RlZCB0b29sdGlwUmVmOiBUb29sdGlwRGlyZWN0aXZlO1xuXG4gIEBWaWV3Q2hpbGQoJ25vZGVMaXN0UmVmJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgbm9kZUxpc3RSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0UmVmJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgaW5wdXRSZWY6IElucHV0Q29tcG9uZW50O1xuXG4gIHByaXZhdGUgX25vZGVzRGF0YTogQXJyYXk8VHJlZU5vZGU8VD4+ID0gW107XG4gIHByaXZhdGUgX2ZpbHRlclN0cmluZyA9ICcnO1xuICBwcml2YXRlIF9maWx0ZXJhYmxlID0gZmFsc2U7XG4gIHByaXZhdGUgX2NsZWFyYWJsZSA9IGZhbHNlO1xuICBwcml2YXRlIF9sZWFmT25seSA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlclN0cmluZyQkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLmZpbHRlclN0cmluZyk7XG5cbiAgZmlsdGVyU3RyaW5nJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5maWx0ZXJTdHJpbmckJC5hc09ic2VydmFibGUoKTtcblxuICBjb250YWluZXJXaWR0aDogc3RyaW5nO1xuICBkaXNwbGF5VGV4dCA9ICcnO1xuICBmbGF0dGVkTm9kZXM6IEFycmF5PFRyZWVOb2RlPFQ+PiA9IFtdO1xuXG4gIGdldCBpc0NsZWFyYWJsZSgpIHtcbiAgICByZXR1cm4gIXRoaXMuZGlzYWJsZWQgJiYgdGhpcy5jbGVhcmFibGUgJiYgdGhpcy5nZXRJbnB1dFZhbHVlKCk7XG4gIH1cblxuICBnZXQgb3BlbmVkKCkge1xuICAgIHJldHVybiB0aGlzLnRvb2x0aXBSZWYuaXNDcmVhdGVkO1xuICB9XG5cbiAgZ2V0IGlucHV0UmVhZG9ubHkoKSB7XG4gICAgcmV0dXJuICEodGhpcy5maWx0ZXJhYmxlICYmIHRoaXMub3BlbmVkKTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlclN0cmluZztcbiAgfVxuXG4gIHNldCBmaWx0ZXJTdHJpbmcodmFsKSB7XG4gICAgaWYgKHZhbCAhPT0gdGhpcy5fZmlsdGVyU3RyaW5nKSB7XG4gICAgICB0aGlzLl9maWx0ZXJTdHJpbmcgPSB2YWw7XG4gICAgICB0aGlzLmZpbHRlclN0cmluZyQkLm5leHQodmFsKTtcbiAgICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQodmFsKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVQb3NpdGlvbigpIHtcbiAgICB0aGlzLnRvb2x0aXBSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgfVxuXG4gIG9uVmlzaWJsZU5vZGVzKHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmlzaWJsZSkge1xuICAgICAgdGhpcy5jb250YWluZXJXaWR0aCA9IHRoaXMuc2VsZWN0UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggKyAncHgnO1xuICAgICAgdGhpcy5zaG93LmVtaXQoKTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMub25Ub3VjaGVkKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB9XG4gICAgICB0aGlzLmZpbHRlclN0cmluZyA9ICcnO1xuICAgICAgdGhpcy5oaWRlLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICB0aGlzLmZpbHRlclN0cmluZyA9IHZhbHVlO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25Ob2RlQ2xpY2sobm9kZTogVHJlZU5vZGVDb21wb25lbnQ8VD4pIHtcbiAgICB0aGlzLnNlbGVjdE5vZGUobm9kZSk7XG4gIH1cblxuICBnZXRWaXNpYmxlTm9kZUNvdW50KCkge1xuICAgIHJldHVybiB0aGlzLmZsYXR0ZWROb2Rlcy5maWx0ZXIobm9kZSA9PlxuICAgICAgdGhpcy5maWx0ZXJGbih0aGlzLmZpbHRlclN0cmluZywgbm9kZSksXG4gICAgKS5sZW5ndGg7XG4gIH1cblxuICBzZWxlY3ROb2RlKG5vZGU6IFRyZWVOb2RlQ29tcG9uZW50PFQ+KSB7XG4gICAgaWYgKCFub2RlLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLmVtaXRWYWx1ZShub2RlLm5vZGVEYXRhLnZhbHVlKTtcbiAgICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICAgIHRoaXMuY2xvc2VPcHRpb24oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5jbG9zZU9wdGlvbigpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5PcHRpb24oKSB7XG4gICAgdGhpcy50b29sdGlwUmVmLnNob3coKTtcbiAgfVxuXG4gIGNsb3NlT3B0aW9uKCkge1xuICAgIHRoaXMuaW5wdXRSZWYuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5kaXNwbGF5VGV4dDtcbiAgICB0aGlzLnRvb2x0aXBSZWYuaGlkZSgpO1xuICB9XG5cbiAgdXBkYXRlU2VsZWN0RGlzcGxheSh2YWx1ZTogYW55KSB7XG4gICAgY29uc3QgcGlja2VkTm9kZSA9IHRoaXMuZmxhdHRlZE5vZGVzLmZpbmQoXG4gICAgICBub2RlID0+IHRoaXMudHJhY2tGbihub2RlLnZhbHVlKSA9PT0gdGhpcy50cmFja0ZuKHZhbHVlKSxcbiAgICApO1xuICAgIHRoaXMuZGlzcGxheVRleHQgPSBwaWNrZWROb2RlXG4gICAgICA/IHRoaXMuZ2V0TGFiZWxGcm9tTm9kZShwaWNrZWROb2RlKS50b1N0cmluZygpXG4gICAgICA6IGNvZXJjZVN0cmluZyh0aGlzLnRyYWNrRm4odmFsdWUpKTtcbiAgfVxuXG4gIGNsZWFyVmFsdWUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5lbWl0VmFsdWUobnVsbCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB2YWx1ZUluKHY6IFQpOiBUIHtcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdERpc3BsYXkodik7XG4gICAgdGhpcy5jbG9zZU9wdGlvbigpO1xuICAgIHJldHVybiB2O1xuICB9XG5cbiAgZ2V0UGxhY2Vob2xkZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyYWJsZSAmJiB0aGlzLm9wZW5lZCA/IHRoaXMuZGlzcGxheVRleHQgOiB0aGlzLnBsYWNlaG9sZGVyO1xuICB9XG5cbiAgZ2V0SW5wdXRWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJhYmxlICYmIHRoaXMub3BlbmVkID8gJycgOiB0aGlzLmRpc3BsYXlUZXh0O1xuICB9XG5cbiAgLy8gYHRoaXNgIGlzIG5vdCBhdmFpbGFibGUgaW4gYHRyYWNrQnlgLi4uXG4gIHRyYWNrQnlMYWJlbCA9IChfOiBudW1iZXIsIG5vZGU6IFRyZWVOb2RlPFQ+KSA9PiB0aGlzLmdldExhYmVsRnJvbU5vZGUobm9kZSk7XG5cbiAgcHJpdmF0ZSBmbGF0Tm9kZXNEYXRhKG5vZGVzOiBBcnJheTxUcmVlTm9kZTxUPj4gPSBbXSk6IEFycmF5PFRyZWVOb2RlPFQ+PiB7XG4gICAgcmV0dXJuIG5vZGVzLnJlZHVjZShcbiAgICAgIChwcmV2VmFsdWU6IEFycmF5PFRyZWVOb2RlPFQ+PiwgY3VycmVudE5vZGUpID0+XG4gICAgICAgIHByZXZWYWx1ZS5jb25jYXQoY3VycmVudE5vZGUsIHRoaXMuZmxhdE5vZGVzRGF0YShjdXJyZW50Tm9kZS5jaGlsZHJlbikpLFxuICAgICAgW10sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGFiZWxGcm9tTm9kZShub2RlOiBUcmVlTm9kZTxUPikge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmxhYmVsRm4/Lihub2RlLnZhbHVlKSB8fFxuICAgICAgbm9kZS5sYWJlbCB8fFxuICAgICAgY29lcmNlU3RyaW5nKHRoaXMudHJhY2tGbihub2RlLnZhbHVlKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmlsdGVyRm4oZmlsdGVyU3RyaW5nOiBzdHJpbmcsIG5vZGU6IFRyZWVOb2RlPFQ+KSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGFiZWxGcm9tTm9kZShub2RlKT8uaW5jbHVkZXMoZmlsdGVyU3RyaW5nID8/ICcnKTtcbiAgfVxuXG4gIHByaXZhdGUgX3RyYWNrRm48VD4odmFsdWU6IFQpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLXRyZWUtbm9kZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90cmVlLW5vZGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90cmVlLW5vZGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBUcmVlTm9kZUNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIGJlbTogQmVtID0gYnVpbGRCZW0oJ2F1aS10cmVlLW5vZGUnKTtcblxuICBwcml2YXRlIF9ub2RlRGF0YTogVHJlZU5vZGU8VD47XG4gIHByaXZhdGUgcmVhZG9ubHkgbm9kZURhdGEkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJlZU5vZGU8VD4+KHRoaXMubm9kZURhdGEpO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgQElucHV0KClcbiAgZ2V0IG5vZGVEYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9ub2RlRGF0YTtcbiAgfVxuXG4gIHNldCBub2RlRGF0YSh2YWwpIHtcbiAgICBpZiAodmFsID09PSB0aGlzLl9ub2RlRGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9ub2RlRGF0YSA9IHZhbDtcbiAgICB0aGlzLm5vZGVEYXRhJCQubmV4dCh2YWwpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGxlYWZPbmx5KCkge1xuICAgIHJldHVybiB0aGlzLl9sZWFmT25seTtcbiAgfVxuXG4gIHNldCBsZWFmT25seSh2YWw6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2xlYWZPbmx5ID0gY29lcmNlQXR0ckJvb2xlYW4odmFsKTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3RpdGxlUmVmJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgdGl0bGVSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGRyZW4oVHJlZU5vZGVDb21wb25lbnQpXG4gIGNoaWxkTm9kZXM6IFF1ZXJ5TGlzdDxUcmVlTm9kZUNvbXBvbmVudDxUPj47XG5cbiAgc2VsZWN0ZWQgPSBmYWxzZTtcbiAgdmlzaWJsZSA9IHRydWU7XG4gIGlzTGVhZiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2xlYWZPbmx5ID0gdHJ1ZTtcbiAgcHJpdmF0ZSByZWFkb25seSBzZWxlY3Q6IFRyZWVTZWxlY3RDb21wb25lbnQ8VD47XG4gIHNlbGVjdGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgc2VsZlZpc2libGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICB2aXNpYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzZWxlY3Q6IFRyZWVTZWxlY3RDb21wb25lbnQ8VD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICB0aGlzLnNlbGVjdCA9IHNlbGVjdDtcbiAgICB0aGlzLnNlbGVjdGVkJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zZWxlY3QubW9kZWwkLFxuICAgICAgdGhpcy5ub2RlRGF0YSQkLnBpcGUobWFwKGRhdGEgPT4gZGF0YS52YWx1ZSkpLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChbc2VsZWN0VmFsdWUsIHNlbGZWYWx1ZV0pID0+XG4gICAgICAgICAgc2VsZWN0VmFsdWUgJiZcbiAgICAgICAgICB0aGlzLnNlbGVjdC50cmFja0ZuKHNlbGVjdFZhbHVlKSA9PT0gdGhpcy5zZWxlY3QudHJhY2tGbihzZWxmVmFsdWUpLFxuICAgICAgKSxcbiAgICAgIHRhcChzZWxlY3RlZCA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgIH0pLFxuICAgICAgcHVibGlzaFJlZigpLFxuICAgICk7XG4gICAgdGhpcy5zZWxmVmlzaWJsZSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc2VsZWN0LmZpbHRlclN0cmluZyQsXG4gICAgICB0aGlzLm5vZGVEYXRhJCQsXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2ZpbHRlclN0cmluZywgbm9kZURhdGFdKSA9PlxuICAgICAgICB0aGlzLnNlbGVjdC5maWx0ZXJGbihmaWx0ZXJTdHJpbmcsIG5vZGVEYXRhKSxcbiAgICAgICksXG4gICAgICBwdWJsaXNoUmVmKCksXG4gICAgKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBoYXNWaXNpYmxlQ2hpbGROb2RlcyQgPSB0aGlzLmNoaWxkTm9kZXMuY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuY2hpbGROb2RlcyksXG4gICAgICBzd2l0Y2hNYXAoKG5vZGVzOiBRdWVyeUxpc3Q8VHJlZU5vZGVDb21wb25lbnQ8VD4+KSA9PlxuICAgICAgICBub2Rlcy5sZW5ndGggPiAwXG4gICAgICAgICAgPyBjb21iaW5lTGF0ZXN0KG5vZGVzLm1hcChub2RlID0+IG5vZGUudmlzaWJsZSQpKVxuICAgICAgICAgIDogb2YoW2ZhbHNlXSksXG4gICAgICApLFxuICAgICAgbWFwKHZpc2libGUgPT4gdmlzaWJsZS5zb21lKEJvb2xlYW4pKSxcbiAgICAgIHRhcChoYXNWaXNpYmxlQ2hpbGRyZW4gPT4gKHRoaXMuaXNMZWFmID0gIWhhc1Zpc2libGVDaGlsZHJlbikpLFxuICAgICk7XG4gICAgdGhpcy52aXNpYmxlJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zZWxmVmlzaWJsZSQsXG4gICAgICBoYXNWaXNpYmxlQ2hpbGROb2RlcyQsXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCh2aXNpYmxlID0+IHZpc2libGUuc29tZShCb29sZWFuKSksXG4gICAgICBwdWJsaXNoUmVmKCksXG4gICAgKTtcblxuICAgIHRoaXMudmlzaWJsZSQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKS5zdWJzY3JpYmUodmlzaWJsZSA9PiB7XG4gICAgICB0aGlzLnZpc2libGUgPSB2aXNpYmxlO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gICAgdGhpcy5zZWxlY3RlZCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKS5zdWJzY3JpYmUoc2VsZWN0ZWQgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy5zY3JvbGxUb05vZGUodGhpcyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG9uQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMubm9kZURhdGEuZGlzYWJsZWQgfHwgdGhpcy5ub2RlRGF0YS5sb2FkaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmxlYWZPbmx5ICYmICF0aGlzLmlzTGVhZikge1xuICAgICAgdGhpcy5zd2l0Y2hFeHBhbmRlZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdC5vbk5vZGVDbGljayh0aGlzKTtcbiAgfVxuXG4gIHN3aXRjaEV4cGFuZGVkKCkge1xuICAgIHRoaXMubm9kZURhdGEuZXhwYW5kZWQgPSAhdGhpcy5ub2RlRGF0YS5leHBhbmRlZDtcbiAgICBpZiAodGhpcy5ub2RlRGF0YS5leHBhbmRlZCAmJiB0aGlzLmNoaWxkTm9kZXMubGFzdCkge1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgdGhpcy5zY3JvbGxUb05vZGUodGhpcy5jaGlsZE5vZGVzLmxhc3QpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdC51cGRhdGVQb3NpdGlvbigpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0SWNvbigpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlRGF0YS5leHBhbmRlZFxuICAgICAgPyB0aGlzLm5vZGVEYXRhLmV4cGFuZGVkSWNvbiB8fCB0aGlzLm5vZGVEYXRhLmljb25cbiAgICAgIDogdGhpcy5ub2RlRGF0YS5pY29uO1xuICB9XG5cbiAgdHJhY2tCeUxhYmVsKF86IG51bWJlciwgZGF0YTogVHJlZU5vZGU8VD4pIHtcbiAgICByZXR1cm4gZGF0YS5sYWJlbDtcbiAgfVxuXG4gIHNjcm9sbFRvTm9kZShub2RlOiBUcmVlTm9kZUNvbXBvbmVudDxUPikge1xuICAgIGlmICh0aGlzLnNlbGVjdC5ub2RlTGlzdFJlZikge1xuICAgICAgc2Nyb2xsSW50b1ZpZXcoXG4gICAgICAgIHRoaXMuc2VsZWN0Lm5vZGVMaXN0UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIG5vZGUudGl0bGVSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYXVpLXRyZWUtc2VsZWN0XCJcbiAgW2NsYXNzLmlzRGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbY2xhc3MuaXNDbGVhcmFibGVdPVwiaXNDbGVhcmFibGVcIlxuICAjc2VsZWN0UmVmXG4gICN0b29sdGlwUmVmPVwiYXVpVG9vbHRpcFwiXG4gIFthdWlUb29sdGlwXT1cInRlbXBsYXRlUmVmXCJcbiAgW2F1aVRvb2x0aXBEaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFthdWlEaXNhYmxlQW5pbWF0aW9uXT1cInRydWVcIlxuICBhdWlUb29sdGlwVHJpZ2dlcj1cImNsaWNrXCJcbiAgYXVpVG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tIHN0YXJ0XCJcbiAgYXVpVG9vbHRpcFR5cGU9XCJwbGFpblwiXG4gIChhdWlUb29sdGlwVmlzaWJsZUNoYW5nZSk9XCJvblZpc2libGVOb2RlcygkZXZlbnQpXCJcbj5cbiAgPGF1aS1pbnB1dC1ncm91cD5cbiAgICA8aW5wdXRcbiAgICAgICNpbnB1dFJlZlxuICAgICAgY2xhc3M9XCJhdWktdHJlZS1zZWxlY3RfX2lucHV0XCJcbiAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICBhdWktaW5wdXRcbiAgICAgIFt2YWx1ZV09XCJnZXRJbnB1dFZhbHVlKClcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcbiAgICAgIFtyZWFkb25seV09XCJpbnB1dFJlYWRvbmx5XCJcbiAgICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAgICAgKGJsdXIpPVwiY2xvc2VPcHRpb24oKVwiXG4gICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8c3BhblxuICAgICAgYXVpSW5wdXRTdWZmaXhcbiAgICAgIGNsYXNzPVwiYXVpLXRyZWUtc2VsZWN0X19pY29uLWNvbnRhaW5lclwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgIGNsYXNzPVwiYXVpLXRyZWUtc2VsZWN0X19pbmRpY2F0b3JcIlxuICAgICAgICBbaWNvbl09XCJsb2FkaW5nID8gJ3NwaW5uZXInIDogJ2NhcmV0X2Rvd25fcydcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgY2xhc3M9XCJhdWktdHJlZS1zZWxlY3RfX2NsZWFyXCJcbiAgICAgICAgaWNvbj1cInhtYXJrX3NtYWxsXCJcbiAgICAgICAgKGNsaWNrKT1cImNsZWFyVmFsdWUoJGV2ZW50KVwiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvYXVpLWlucHV0LWdyb3VwPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVSZWY+XG4gIDxkaXZcbiAgICBjbGFzcz1cImF1aS10cmVlLW5vZGUtY29udGFpbmVyXCJcbiAgICBbc3R5bGUubWluV2lkdGhdPVwiY29udGFpbmVyV2lkdGhcIlxuICAgIChtb3VzZWRvd24pPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICA+XG4gICAgPGRpdlxuICAgICAgI25vZGVMaXN0UmVmXG4gICAgICBjbGFzcz1cImF1aS10cmVlLW5vZGUtY29udGFpbmVyX19jb250ZW50XCJcbiAgICA+XG4gICAgICA8YXVpLXRyZWUtbm9kZVxuICAgICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBub2Rlc0RhdGE7IHRyYWNrQnk6IHRyYWNrQnlMYWJlbFwiXG4gICAgICAgIFtub2RlRGF0YV09XCJkYXRhXCJcbiAgICAgICAgW2xlYWZPbmx5XT1cImxlYWZPbmx5XCJcbiAgICAgID48L2F1aS10cmVlLW5vZGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCIhZ2V0VmlzaWJsZU5vZGVDb3VudCgpXCJcbiAgICAgIGNsYXNzPVwiYXVpLXRyZWUtbm9kZS1jb250YWluZXJfX3BsYWNlaG9sZGVyXCJcbiAgICA+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJhdWktdHJlZS1ub2RlLXBsYWNlaG9sZGVyXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iLCI8ZGl2XG4gIFtoaWRkZW5dPVwiIXZpc2libGVcIlxuICBjbGFzcz1cImF1aS10cmVlLW5vZGVcIlxuICBbY2xhc3MuaXNEaXNhYmxlZF09XCJub2RlRGF0YS5kaXNhYmxlZFwiXG4gIFtjbGFzcy5pc1NlbGVjdGVkXT1cInNlbGVjdGVkXCJcbiAgW2F0dHIuZGF0YS12YWx1ZV09XCJub2RlRGF0YS52YWx1ZVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cImF1aS10cmVlLW5vZGVfX2NvbnRlbnRcIlxuICAgIFtjbGFzcy5pc0xlZnRPbmx5XT1cImxlYWZPbmx5ICYmICFpc0xlYWYgJiYgIW5vZGVEYXRhLmRpc2FibGVkXCJcbiAgPlxuICAgIDxhdWktaWNvblxuICAgICAgKm5nSWY9XCJub2RlRGF0YS5sb2FkaW5nXCJcbiAgICAgIGNsYXNzPVwiYXVpLXRyZWUtbm9kZV9fbG9hZGluZ1wiXG4gICAgICBtYXJnaW49XCJsZWZ0XCJcbiAgICAgIHNpemU9XCIxNlwiXG4gICAgICBbaWNvbl09XCInc3Bpbm5lcidcIlxuICAgID48L2F1aS1pY29uPlxuICAgIDxhdWktaWNvblxuICAgICAgKm5nSWY9XCJub2RlRGF0YS5jaGlsZHJlbiAmJiAhbm9kZURhdGEubG9hZGluZ1wiXG4gICAgICBjbGFzcz1cImF1aS10cmVlLW5vZGVfX2luZGljYXRvclwiXG4gICAgICBtYXJnaW49XCJsZWZ0XCJcbiAgICAgIHNpemU9XCIxNlwiXG4gICAgICBbaWNvbl09XCJub2RlRGF0YS5leHBhbmRlZCA/ICdhbmdsZV9kb3duJyA6ICdhbmdsZV9yaWdodCdcIlxuICAgICAgKGNsaWNrKT1cInN3aXRjaEV4cGFuZGVkKClcIlxuICAgID48L2F1aS1pY29uPlxuICAgIDxzcGFuXG4gICAgICAjdGl0bGVSZWZcbiAgICAgIGNsYXNzPVwiYXVpLXRyZWUtbm9kZV9fdGl0bGVcIlxuICAgICAgW2NsYXNzLmlzRGlzYWJsZWRdPVwibm9kZURhdGEuZGlzYWJsZWQgfHwgbm9kZURhdGEubG9hZGluZ1wiXG4gICAgICBbY2xhc3MuaXNTZWxlY3RlZF09XCJzZWxlY3RlZFwiXG4gICAgICBbY2xhc3MudW5zZWxlY3RhYmxlXT1cImxlYWZPbmx5ICYmICFpc0xlYWZcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwibm9kZURhdGEuaWNvblwiXG4gICAgICAgIG1hcmdpbj1cInJpZ2h0XCJcbiAgICAgICAgW2ljb25dPVwiZ2V0SWNvbigpXCJcbiAgICAgID48L2F1aS1pY29uPlxuICAgICAge3sgbm9kZURhdGEubGFiZWwgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgKm5nSWY9XCJub2RlRGF0YS5jaGlsZHJlblwiXG4gICAgW2hpZGRlbl09XCIhbm9kZURhdGEuZXhwYW5kZWRcIlxuICAgIGNsYXNzPVwiYXVpLXRyZWUtbm9kZV9fY2hpbGRyZW5cIlxuICA+XG4gICAgPGF1aS10cmVlLW5vZGVcbiAgICAgICpuZ0Zvcj1cImxldCBkYXRhIG9mIG5vZGVEYXRhLmNoaWxkcmVuOyB0cmFja0J5OiB0cmFja0J5TGFiZWxcIlxuICAgICAgW25vZGVEYXRhXT1cImRhdGFcIlxuICAgICAgW2xlYWZPbmx5XT1cImxlYWZPbmx5XCJcbiAgICA+PC9hdWktdHJlZS1ub2RlPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
package/esm2020/utils/bem.mjs
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
export class Bem {
|
|
2
|
-
constructor(namespace) {
|
|
3
|
-
this.namespace = namespace;
|
|
4
|
-
}
|
|
5
|
-
block(...modifiers) {
|
|
6
|
-
const activatedModifiers = getActivatedModifiers(modifiers);
|
|
7
|
-
if (activatedModifiers.length > 0) {
|
|
8
|
-
return `${this.namespace} ${activatedModifiers
|
|
9
|
-
.map(modifier => this.namespace + '--' + modifier)
|
|
10
|
-
.join(' ')}`;
|
|
11
|
-
}
|
|
12
|
-
return this.namespace;
|
|
13
|
-
}
|
|
14
|
-
modifier(name) {
|
|
15
|
-
return `${this.namespace}--${name}`;
|
|
16
|
-
}
|
|
17
|
-
element(name, ...modifiers) {
|
|
18
|
-
const activatedModifiers = getActivatedModifiers(modifiers);
|
|
19
|
-
if (activatedModifiers.length > 0) {
|
|
20
|
-
return `${this.namespace}__${name} ${activatedModifiers
|
|
21
|
-
.map(modifier => this.namespace + '__' + name + '--' + modifier)
|
|
22
|
-
.join(' ')}`;
|
|
23
|
-
}
|
|
24
|
-
return `${this.namespace}__${name}`;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
function getActivatedModifiers(modifiers) {
|
|
28
|
-
return modifiers.reduce((acc, modifier) => {
|
|
29
|
-
if (!modifier) {
|
|
30
|
-
return acc;
|
|
31
|
-
}
|
|
32
|
-
return acc.concat(typeof modifier === 'string'
|
|
33
|
-
? [modifier]
|
|
34
|
-
: getActivatedModifiersFromObject(modifier));
|
|
35
|
-
}, []);
|
|
36
|
-
}
|
|
37
|
-
function getActivatedModifiersFromObject(modifiers) {
|
|
38
|
-
return Object.keys(modifiers).filter(key => modifiers[key]);
|
|
39
|
-
}
|
|
40
|
-
export function buildBem(namespace) {
|
|
41
|
-
return new Bem(namespace);
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2JlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLE9BQU8sR0FBRztJQUNkLFlBQTZCLFNBQWlCO1FBQWpCLGNBQVMsR0FBVCxTQUFTLENBQVE7SUFBRyxDQUFDO0lBRWxELEtBQUssQ0FBQyxHQUFHLFNBQXNEO1FBQzdELE1BQU0sa0JBQWtCLEdBQUcscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUQsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2pDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLGtCQUFrQjtpQkFDM0MsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsUUFBUSxDQUFDO2lCQUNqRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztTQUNoQjtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVk7UUFDbkIsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELE9BQU8sQ0FDTCxJQUFZLEVBQ1osR0FBRyxTQUEyRDtRQUU5RCxNQUFNLGtCQUFrQixHQUFHLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVELElBQUksa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLElBQUksa0JBQWtCO2lCQUNwRCxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQztpQkFDL0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7U0FDaEI7UUFFRCxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7QUFFRCxTQUFTLHFCQUFxQixDQUM1QixTQUEyRDtJQUUzRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQVcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7UUFDbEQsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFDRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQ2YsT0FBTyxRQUFRLEtBQUssUUFBUTtZQUMxQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDWixDQUFDLENBQUMsK0JBQStCLENBQUMsUUFBUSxDQUFDLENBQzlDLENBQUM7SUFDSixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDO0FBRUQsU0FBUywrQkFBK0IsQ0FBQyxTQUV4QztJQUNDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxTQUFpQjtJQUN4QyxPQUFPLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBFeHBlcmltZW50YWwgYmVtIGNsYXNzbmFtZSBoZWxwZXJcbmV4cG9ydCBjbGFzcyBCZW0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG5hbWVzcGFjZTogc3RyaW5nKSB7fVxuXG4gIGJsb2NrKC4uLm1vZGlmaWVyczogQXJyYXk8eyBbbmFtZTogc3RyaW5nXTogYm9vbGVhbiB9IHwgc3RyaW5nPikge1xuICAgIGNvbnN0IGFjdGl2YXRlZE1vZGlmaWVycyA9IGdldEFjdGl2YXRlZE1vZGlmaWVycyhtb2RpZmllcnMpO1xuICAgIGlmIChhY3RpdmF0ZWRNb2RpZmllcnMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGAke3RoaXMubmFtZXNwYWNlfSAke2FjdGl2YXRlZE1vZGlmaWVyc1xuICAgICAgICAubWFwKG1vZGlmaWVyID0+IHRoaXMubmFtZXNwYWNlICsgJy0tJyArIG1vZGlmaWVyKVxuICAgICAgICAuam9pbignICcpfWA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm5hbWVzcGFjZTtcbiAgfVxuXG4gIG1vZGlmaWVyKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBgJHt0aGlzLm5hbWVzcGFjZX0tLSR7bmFtZX1gO1xuICB9XG5cbiAgZWxlbWVudChcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgLi4ubW9kaWZpZXJzOiBBcnJheTx7IFtuYW1lOiBzdHJpbmddOiBib29sZWFuIHwgJycgfSB8IHN0cmluZz5cbiAgKSB7XG4gICAgY29uc3QgYWN0aXZhdGVkTW9kaWZpZXJzID0gZ2V0QWN0aXZhdGVkTW9kaWZpZXJzKG1vZGlmaWVycyk7XG5cbiAgICBpZiAoYWN0aXZhdGVkTW9kaWZpZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLm5hbWVzcGFjZX1fXyR7bmFtZX0gJHthY3RpdmF0ZWRNb2RpZmllcnNcbiAgICAgICAgLm1hcChtb2RpZmllciA9PiB0aGlzLm5hbWVzcGFjZSArICdfXycgKyBuYW1lICsgJy0tJyArIG1vZGlmaWVyKVxuICAgICAgICAuam9pbignICcpfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3RoaXMubmFtZXNwYWNlfV9fJHtuYW1lfWA7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0QWN0aXZhdGVkTW9kaWZpZXJzKFxuICBtb2RpZmllcnM6IEFycmF5PHsgW25hbWU6IHN0cmluZ106IGJvb2xlYW4gfCAnJyB9IHwgc3RyaW5nPixcbikge1xuICByZXR1cm4gbW9kaWZpZXJzLnJlZHVjZTxzdHJpbmdbXT4oKGFjYywgbW9kaWZpZXIpID0+IHtcbiAgICBpZiAoIW1vZGlmaWVyKSB7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH1cbiAgICByZXR1cm4gYWNjLmNvbmNhdChcbiAgICAgIHR5cGVvZiBtb2RpZmllciA9PT0gJ3N0cmluZydcbiAgICAgICAgPyBbbW9kaWZpZXJdXG4gICAgICAgIDogZ2V0QWN0aXZhdGVkTW9kaWZpZXJzRnJvbU9iamVjdChtb2RpZmllciksXG4gICAgKTtcbiAgfSwgW10pO1xufVxuXG5mdW5jdGlvbiBnZXRBY3RpdmF0ZWRNb2RpZmllcnNGcm9tT2JqZWN0KG1vZGlmaWVyczoge1xuICBbbmFtZTogc3RyaW5nXTogYm9vbGVhbiB8ICcnO1xufSkge1xuICByZXR1cm4gT2JqZWN0LmtleXMobW9kaWZpZXJzKS5maWx0ZXIoa2V5ID0+IG1vZGlmaWVyc1trZXldKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQmVtKG5hbWVzcGFjZTogc3RyaW5nKSB7XG4gIHJldHVybiBuZXcgQmVtKG5hbWVzcGFjZSk7XG59XG4iXX0=
|