@alauda/ui 6.5.10-beta.4 → 6.5.10-beta.41
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 +3 -3
- package/accordion/accordion.component.d.ts +1 -1
- package/anchor/anchor.component.d.ts +2 -2
- package/anchor/anchor.directive.d.ts +3 -3
- package/autocomplete/autocomplete-placeholder.component.d.ts +1 -1
- package/autocomplete/autocomplete.component.d.ts +1 -1
- package/autocomplete/autocomplete.directive.d.ts +2 -2
- package/autocomplete/autocomplete.types.d.ts +1 -1
- package/autocomplete/helper-directives.d.ts +1 -1
- package/autocomplete/suggestion/suggestion.component.d.ts +6 -6
- package/autocomplete/suggestion-group/suggestion-group.component.d.ts +1 -1
- package/back-top/back-top.component.d.ts +3 -2
- package/back-top/back-top.module.d.ts +2 -1
- package/breadcrumb/breadcrumb-item.component.d.ts +1 -1
- package/breadcrumb/breadcrumb.component.d.ts +1 -1
- package/button/button-group/button-group.component.d.ts +1 -1
- package/button/button.component.d.ts +1 -1
- package/button/button.types.d.ts +1 -12
- package/card/card.component.d.ts +1 -1
- package/card/helper-directives.d.ts +3 -7
- package/card/section.component.d.ts +1 -1
- package/checkbox/checkbox-group/checkbox-group.component.d.ts +3 -3
- package/checkbox/checkbox.component.d.ts +1 -1
- package/color-picker/color-picker.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/date-picker.type.d.ts +2 -2
- package/date-picker/range-picker/range-picker.component.d.ts +1 -1
- package/date-picker/trigger/trigger.component.d.ts +1 -1
- package/dialog/confirm-dialog/confirm-dialog.component.d.ts +1 -1
- package/dialog/dialog-content/dialog-close.directive.d.ts +1 -1
- package/dialog/dialog-content/dialog-content.component.d.ts +1 -1
- package/dialog/dialog-content/dialog-footer.component.d.ts +1 -1
- package/dialog/dialog-content/dialog-header.component.d.ts +1 -1
- package/dialog/dialog.component.d.ts +1 -1
- package/dialog/dialog.types.d.ts +3 -3
- package/drawer/component/drawer.component.d.ts +1 -1
- package/drawer/component/helper-directives.d.ts +3 -3
- package/dropdown/dropdown-active.directive.d.ts +1 -1
- package/dropdown/dropdown-button/dropdown-button.component.d.ts +3 -4
- package/dropdown/dropdown.directive.d.ts +1 -1
- package/dropdown/dropdown.types.d.ts +1 -1
- package/dropdown/helper-directives.d.ts +1 -1
- package/dropdown/menu/menu-content.directive.d.ts +1 -1
- package/dropdown/menu/menu.component.d.ts +1 -1
- package/dropdown/menu-group/menu-group.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/esm2022/accordion/accordion.module.mjs +39 -0
- package/esm2022/alauda-ui.mjs +2 -0
- package/esm2022/anchor/anchor.component.mjs +141 -0
- package/esm2022/anchor/anchor.directive.mjs +198 -0
- package/esm2022/anchor/anchor.module.mjs +35 -0
- package/{esm2020 → esm2022}/autocomplete/autocomplete-placeholder.component.mjs +4 -4
- package/esm2022/autocomplete/autocomplete.component.mjs +72 -0
- package/esm2022/autocomplete/autocomplete.directive.mjs +282 -0
- package/esm2022/autocomplete/autocomplete.module.mjs +53 -0
- package/{esm2020 → esm2022}/autocomplete/helper-directives.mjs +4 -4
- package/esm2022/autocomplete/suggestion/suggestion.component.mjs +77 -0
- package/esm2022/autocomplete/suggestion-group/suggestion-group.component.mjs +25 -0
- package/esm2022/back-top/back-top.component.mjs +84 -0
- package/esm2022/back-top/back-top.module.mjs +20 -0
- package/esm2022/breadcrumb/breadcrumb-item.component.mjs +33 -0
- package/esm2022/breadcrumb/breadcrumb.component.mjs +56 -0
- package/esm2022/breadcrumb/breadcrumb.module.mjs +20 -0
- package/{esm2020 → esm2022}/button/button-group/button-group.component.mjs +4 -4
- package/esm2022/button/button.component.mjs +124 -0
- package/esm2022/button/button.module.mjs +20 -0
- package/esm2022/button/button.types.mjs +11 -0
- package/esm2022/card/card.component.mjs +14 -0
- package/esm2022/card/card.module.mjs +40 -0
- package/esm2022/card/helper-directives.mjs +42 -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/esm2022/checkbox/checkbox.module.mjs +20 -0
- package/esm2022/color-picker/color-picker.component.mjs +28 -0
- package/esm2022/color-picker/color-picker.module.mjs +19 -0
- package/esm2022/date-picker/calendar/constant.mjs +31 -0
- 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 +100 -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/esm2022/date-picker/date-picker.module.mjs +82 -0
- 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 +91 -0
- package/{esm2020 → esm2022}/dialog/dialog-animations.mjs +1 -2
- package/esm2022/dialog/dialog-config.mjs +14 -0
- package/esm2022/dialog/dialog-content/dialog-close.directive.mjs +42 -0
- package/esm2022/dialog/dialog-content/dialog-content.component.mjs +19 -0
- 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/esm2022/dialog/dialog.module.mjs +65 -0
- package/esm2022/dialog/dialog.service.mjs +124 -0
- package/esm2022/drawer/component/drawer.component.mjs +248 -0
- package/esm2022/drawer/component/helper-directives.mjs +33 -0
- package/esm2022/drawer/drawer.module.mjs +36 -0
- 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 +53 -0
- package/esm2022/dropdown/dropdown.directive.mjs +83 -0
- package/esm2022/dropdown/dropdown.module.mjs +65 -0
- 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 +26 -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 +87 -0
- package/esm2022/form/form-item/form-item.component.mjs +121 -0
- package/esm2022/form/form.directive.mjs +70 -0
- package/esm2022/form/form.module.mjs +48 -0
- package/esm2022/form/helper-directives.mjs +73 -0
- package/{esm2020 → esm2022}/i18n/i18n.module.mjs +5 -5
- package/esm2022/i18n/i18n.pipe.mjs +21 -0
- package/esm2022/i18n/i18n.service.mjs +48 -0
- package/esm2022/icon/icon-register.service.mjs +75 -0
- package/esm2022/icon/icon.component.mjs +74 -0
- package/esm2022/icon/icon.module.mjs +21 -0
- package/{esm2020 → esm2022}/inline-alert/helper-directives.mjs +4 -4
- package/esm2022/inline-alert/inline-alert.component.mjs +58 -0
- package/esm2022/inline-alert/inline-alert.module.mjs +20 -0
- 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/esm2022/input/input.module.mjs +85 -0
- package/esm2022/input/number-input/number-input.component.mjs +121 -0
- package/esm2022/input/search/search.component.mjs +87 -0
- package/esm2022/input/tags-input/tags-input.component.mjs +264 -0
- package/esm2022/input/tags-input/with-max-row-count.mjs +50 -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/esm2022/message/message.module.mjs +22 -0
- 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/esm2022/notification/notification.module.mjs +23 -0
- package/{esm2020 → esm2022}/notification/notification.service.mjs +4 -4
- package/esm2022/paginator/paginator-intl.mjs +24 -0
- package/esm2022/paginator/paginator.component.mjs +126 -0
- package/esm2022/paginator/paginator.module.mjs +24 -0
- 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 +65 -0
- package/esm2022/radio/radio.component.mjs +23 -0
- package/esm2022/radio/radio.module.mjs +21 -0
- package/esm2022/scrolling/fixed-size-table-virtual-scroll-strategy.mjs +80 -0
- 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 +333 -0
- package/{esm2020 → esm2022}/select/helper-directives.mjs +7 -7
- package/esm2022/select/multi-select/multi-select.component.mjs +311 -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/esm2022/select/select.module.mjs +78 -0
- 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-errors.mjs +13 -0
- package/esm2022/sort/sort-header.component.mjs +74 -0
- package/esm2022/sort/sort.directive.mjs +73 -0
- package/esm2022/sort/sort.module.mjs +19 -0
- package/esm2022/status-bar/status-bar.component.mjs +28 -0
- package/esm2022/status-bar/status-bar.module.mjs +19 -0
- package/esm2022/steps/steps.component.mjs +166 -0
- package/esm2022/steps/steps.module.mjs +19 -0
- package/{esm2020 → esm2022}/steps/types.mjs +1 -1
- package/esm2022/switch/switch.component.mjs +43 -0
- package/esm2022/switch/switch.module.mjs +18 -0
- package/esm2022/table/table-cell-def.directive.mjs +25 -0
- package/esm2022/table/table-cell.component.mjs +115 -0
- package/esm2022/table/table-cell.directive.mjs +29 -0
- package/esm2022/table/table-column-def.directive.mjs +31 -0
- package/esm2022/table/table-header-cell-def.directive.mjs +25 -0
- package/esm2022/table/table-header-cell.directive.mjs +25 -0
- package/esm2022/table/table-header-row-def.directive.mjs +33 -0
- package/esm2022/table/table-header-row.component.mjs +24 -0
- 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/esm2022/table/table.module.mjs +96 -0
- package/esm2022/table-of-contents/table-of-contents.module.mjs +20 -0
- 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 +146 -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 +41 -0
- package/esm2022/tabs/tab-header.component.mjs +277 -0
- package/esm2022/tabs/tab.component.mjs +72 -0
- package/esm2022/tabs/tabs.module.mjs +86 -0
- package/esm2022/tabs/tabs.types.mjs +10 -0
- package/esm2022/tag/check-tag/check-tag.component.mjs +31 -0
- package/esm2022/tag/tag.component.mjs +63 -0
- package/esm2022/tag/tag.module.mjs +20 -0
- package/esm2022/theme/theme.module.mjs +18 -0
- package/esm2022/theme/theme.pipe.mjs +64 -0
- package/esm2022/theme/theme.service.mjs +59 -0
- package/esm2022/time-picker/component.mjs +183 -0
- package/esm2022/time-picker/panel/panel.component.mjs +240 -0
- package/esm2022/time-picker/time-picker.module.mjs +56 -0
- package/esm2022/time-picker/time-picker.type.mjs +13 -0
- package/esm2022/tooltip/base-tooltip.mjs +333 -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/esm2022/tooltip/tooltip.module.mjs +32 -0
- package/esm2022/tooltip/utils/index.mjs +58 -0
- package/{esm2020 → esm2022}/tree-select/tree-node-placeholder.component.mjs +4 -4
- package/esm2022/tree-select/tree-select.component.mjs +329 -0
- package/esm2022/tree-select/tree-select.module.mjs +34 -0
- package/esm2022/types.mjs +8 -0
- package/esm2022/utils/bem.mjs +44 -0
- package/esm2022/utils/coercion.mjs +5 -0
- package/esm2022/utils/fn.mjs +16 -0
- package/{fesm2020 → fesm2022}/alauda-ui.mjs +3144 -3252
- package/fesm2022/alauda-ui.mjs.map +1 -0
- package/form/common-form.d.ts +1 -9
- package/form/form-item/form-item.component.d.ts +1 -1
- package/form/form.directive.d.ts +1 -1
- package/form/form.types.d.ts +2 -2
- package/form/helper-directives.d.ts +7 -8
- package/i18n/i18n.pipe.d.ts +1 -1
- package/i18n/i18n.type.d.ts +1 -1
- package/icon/icon.component.d.ts +1 -1
- package/inline-alert/helper-directives.d.ts +1 -1
- package/inline-alert/inline-alert.component.d.ts +1 -1
- package/inline-alert/inline-alert.types.d.ts +1 -1
- package/input/autosize.directive.d.ts +1 -4
- package/input/helper-directives.d.ts +4 -4
- package/input/input-group/input-group.component.d.ts +1 -1
- package/input/input.component.d.ts +2 -5
- package/input/number-input/number-input.component.d.ts +5 -3
- package/input/search/search.component.d.ts +1 -1
- package/input/tags-input/tags-input.component.d.ts +3 -3
- package/message/message-wrapper.component.d.ts +1 -1
- package/message/message.component.d.ts +1 -1
- package/message/message.config.d.ts +0 -20
- package/notification/notification-wrapper.component.d.ts +1 -1
- package/notification/notification.component.d.ts +1 -5
- package/notification/notification.config.d.ts +1 -1
- package/package.json +14 -20
- package/paginator/paginator-intl.d.ts +0 -9
- package/paginator/paginator.component.d.ts +8 -25
- package/radio/base-radio.d.ts +1 -1
- package/radio/radio-button/radio-button.component.d.ts +1 -1
- package/radio/radio-group/radio-group.component.d.ts +1 -5
- package/radio/radio.component.d.ts +1 -1
- package/radio/radio.types.d.ts +1 -1
- package/scrolling/fixed-size-table-virtual-scroll.directive.d.ts +1 -1
- package/scrolling/fixed-size-virtual-scroll.directive.d.ts +1 -1
- package/scrolling/virtual-for-of.directive.d.ts +1 -1
- package/scrolling/virtual-scroll-viewport.component.d.ts +1 -1
- package/select/base-select.d.ts +7 -13
- package/select/helper-directives.d.ts +2 -2
- package/select/multi-select/multi-select.component.d.ts +3 -4
- package/select/option/option.component.d.ts +1 -1
- package/select/option-group/option-group.component.d.ts +1 -1
- package/select/option-placeholder.component.d.ts +1 -1
- package/select/select.component.d.ts +1 -1
- package/select/select.types.d.ts +3 -3
- package/select/validators.d.ts +1 -1
- package/shared/click-outside.directive.d.ts +1 -1
- package/sort/sort-errors.d.ts +0 -4
- package/sort/sort-header.component.d.ts +1 -1
- package/sort/sort.directive.d.ts +1 -1
- package/sort/sort.types.d.ts +2 -2
- package/status-bar/status-bar.component.d.ts +1 -1
- package/status-bar/status-bar.types.d.ts +2 -2
- package/steps/steps.component.d.ts +1 -5
- package/steps/types.d.ts +3 -7
- package/switch/switch.component.d.ts +1 -1
- package/table/table-cell-def.directive.d.ts +1 -5
- package/table/table-cell.component.d.ts +2 -2
- package/table/table-cell.directive.d.ts +1 -2
- package/table/table-column-def.directive.d.ts +1 -5
- package/table/table-header-cell-def.directive.d.ts +1 -5
- package/table/table-header-cell.directive.d.ts +1 -2
- package/table/table-header-row-def.directive.d.ts +1 -5
- package/table/table-header-row.component.d.ts +1 -2
- package/table/table-placeholder.directive.d.ts +2 -2
- package/table/table-row-def.directive.d.ts +1 -6
- package/table/table-row.component.d.ts +1 -2
- package/table/table-scroll.directive.d.ts +2 -2
- package/table/table.component.d.ts +1 -1
- package/table-of-contents/toc-container.directive.d.ts +2 -2
- 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 +9 -26
- package/tabs/tab-context.service.d.ts +0 -3
- package/tabs/tab-group.component.d.ts +3 -31
- package/tabs/tab-header-active-indicator.component.d.ts +1 -10
- package/tabs/tab-header.component.d.ts +2 -85
- package/tabs/tab.component.d.ts +3 -22
- package/tabs/tabs.types.d.ts +2 -5
- package/tag/check-tag/check-tag.component.d.ts +1 -1
- package/tag/tag.component.d.ts +1 -1
- package/tag/tag.types.d.ts +1 -1
- package/theme/style.css +5 -1
- package/theme/theme.pipe.d.ts +4 -4
- package/theme/theme.types.d.ts +3 -3
- package/time-picker/component.d.ts +1 -1
- package/time-picker/panel/panel.component.d.ts +1 -1
- package/time-picker/time-picker.type.d.ts +1 -1
- package/tooltip/base-tooltip.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-intl.d.ts +0 -4
- package/tooltip/tooltip.component.d.ts +1 -1
- package/tooltip/tooltip.directive.d.ts +1 -1
- package/tree-select/tree-node-placeholder.component.d.ts +1 -1
- package/tree-select/tree-select.component.d.ts +11 -15
- package/tree-select/tree-select.types.d.ts +1 -1
- package/types.d.ts +2 -5
- package/utils/coercion.d.ts +4 -4
- package/utils/fn.d.ts +0 -1
- package/utils/operators.d.ts +1 -1
- package/.changeset/README.md +0 -8
- package/alauda-ui.d.ts +0 -5
- package/esm2020/accordion/accordion-item/accordion-item.component.mjs +0 -73
- package/esm2020/accordion/accordion.component.mjs +0 -27
- package/esm2020/accordion/accordion.module.mjs +0 -39
- package/esm2020/alauda-ui.mjs +0 -5
- package/esm2020/anchor/anchor.component.mjs +0 -138
- package/esm2020/anchor/anchor.directive.mjs +0 -182
- package/esm2020/anchor/anchor.module.mjs +0 -36
- package/esm2020/autocomplete/autocomplete.component.mjs +0 -64
- package/esm2020/autocomplete/autocomplete.directive.mjs +0 -278
- package/esm2020/autocomplete/autocomplete.module.mjs +0 -53
- 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 -67
- package/esm2020/back-top/back-top.module.mjs +0 -19
- package/esm2020/breadcrumb/breadcrumb-item.component.mjs +0 -32
- package/esm2020/breadcrumb/breadcrumb.component.mjs +0 -57
- package/esm2020/breadcrumb/breadcrumb.module.mjs +0 -20
- package/esm2020/button/button.component.mjs +0 -122
- package/esm2020/button/button.module.mjs +0 -20
- package/esm2020/button/button.types.mjs +0 -22
- package/esm2020/card/card.component.mjs +0 -16
- package/esm2020/card/card.module.mjs +0 -40
- package/esm2020/card/helper-directives.mjs +0 -50
- package/esm2020/checkbox/checkbox-group/checkbox-group.component.mjs +0 -61
- package/esm2020/checkbox/checkbox.component.mjs +0 -112
- package/esm2020/checkbox/checkbox.module.mjs +0 -20
- package/esm2020/color-picker/color-picker.component.mjs +0 -28
- package/esm2020/color-picker/color-picker.module.mjs +0 -19
- package/esm2020/date-picker/calendar/constant.mjs +0 -32
- 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 -103
- package/esm2020/date-picker/calendar/panel/picker-panel.mjs +0 -155
- package/esm2020/date-picker/calendar/range-picker-panel/component.mjs +0 -209
- package/esm2020/date-picker/calendar/util.mjs +0 -146
- package/esm2020/date-picker/date-picker/date-picker.component.mjs +0 -110
- package/esm2020/date-picker/date-picker.module.mjs +0 -84
- 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-content.component.mjs +0 -20
- 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 -148
- package/esm2020/dialog/dialog.module.mjs +0 -68
- package/esm2020/dialog/dialog.service.mjs +0 -121
- package/esm2020/drawer/component/drawer.component.mjs +0 -232
- package/esm2020/drawer/component/helper-directives.mjs +0 -37
- package/esm2020/drawer/drawer.module.mjs +0 -37
- 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 -57
- package/esm2020/dropdown/dropdown.directive.mjs +0 -81
- package/esm2020/dropdown/dropdown.module.mjs +0 -65
- package/esm2020/dropdown/menu/menu-content.directive.mjs +0 -51
- package/esm2020/dropdown/menu/menu.component.mjs +0 -26
- 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 -91
- package/esm2020/form/form-item/form-item.component.mjs +0 -108
- package/esm2020/form/form.directive.mjs +0 -69
- package/esm2020/form/form.module.mjs +0 -48
- 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 -74
- package/esm2020/icon/icon.component.mjs +0 -65
- package/esm2020/icon/icon.module.mjs +0 -21
- package/esm2020/inline-alert/inline-alert.component.mjs +0 -53
- package/esm2020/inline-alert/inline-alert.module.mjs +0 -20
- package/esm2020/input/autosize.directive.mjs +0 -59
- 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 -61
- package/esm2020/input/input.module.mjs +0 -87
- 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 -260
- package/esm2020/input/tags-input/with-max-row-count.mjs +0 -43
- 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 -21
- package/esm2020/message/message.module.mjs +0 -23
- package/esm2020/notification/notification-wrapper.component.mjs +0 -16
- package/esm2020/notification/notification.component.mjs +0 -107
- package/esm2020/notification/notification.module.mjs +0 -24
- package/esm2020/paginator/paginator-intl.mjs +0 -37
- package/esm2020/paginator/paginator.component.mjs +0 -125
- package/esm2020/paginator/paginator.module.mjs +0 -24
- package/esm2020/radio/base-radio.mjs +0 -67
- package/esm2020/radio/radio-button/radio-button.component.mjs +0 -42
- package/esm2020/radio/radio-group/radio-group.component.mjs +0 -76
- package/esm2020/radio/radio.component.mjs +0 -24
- package/esm2020/radio/radio.module.mjs +0 -21
- package/esm2020/scrolling/fixed-size-table-virtual-scroll-strategy.mjs +0 -83
- package/esm2020/scrolling/fixed-size-table-virtual-scroll.directive.mjs +0 -121
- package/esm2020/scrolling/fixed-size-virtual-scroll.directive.mjs +0 -28
- package/esm2020/scrolling/virtual-scroll-viewport.component.mjs +0 -26
- package/esm2020/select/base-select.mjs +0 -337
- package/esm2020/select/multi-select/multi-select.component.mjs +0 -313
- 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 -108
- package/esm2020/select/select.module.mjs +0 -80
- package/esm2020/select/validators.mjs +0 -79
- package/esm2020/shared/click-outside.directive.mjs +0 -28
- package/esm2020/sort/sort-errors.mjs +0 -17
- package/esm2020/sort/sort-header.component.mjs +0 -72
- package/esm2020/sort/sort.directive.mjs +0 -75
- package/esm2020/sort/sort.module.mjs +0 -19
- package/esm2020/status-bar/status-bar.component.mjs +0 -29
- package/esm2020/status-bar/status-bar.module.mjs +0 -19
- package/esm2020/steps/steps.component.mjs +0 -184
- package/esm2020/steps/steps.module.mjs +0 -19
- package/esm2020/switch/switch.component.mjs +0 -46
- package/esm2020/switch/switch.module.mjs +0 -18
- package/esm2020/table/table-cell-def.directive.mjs +0 -29
- package/esm2020/table/table-cell.component.mjs +0 -121
- package/esm2020/table/table-cell.directive.mjs +0 -31
- package/esm2020/table/table-column-def.directive.mjs +0 -37
- package/esm2020/table/table-header-cell-def.directive.mjs +0 -29
- package/esm2020/table/table-header-cell.directive.mjs +0 -27
- package/esm2020/table/table-header-row-def.directive.mjs +0 -39
- package/esm2020/table/table-header-row.component.mjs +0 -25
- package/esm2020/table/table-placeholder.directive.mjs +0 -30
- package/esm2020/table/table-row-def.directive.mjs +0 -42
- package/esm2020/table/table-row.component.mjs +0 -43
- package/esm2020/table/table-scroll.directive.mjs +0 -134
- package/esm2020/table/table.component.mjs +0 -79
- package/esm2020/table/table.module.mjs +0 -96
- package/esm2020/table-of-contents/table-of-contents.module.mjs +0 -20
- 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 -165
- package/esm2020/tabs/tab-context.service.mjs +0 -31
- package/esm2020/tabs/tab-group.component.mjs +0 -291
- package/esm2020/tabs/tab-header-active-indicator.component.mjs +0 -53
- package/esm2020/tabs/tab-header.component.mjs +0 -367
- package/esm2020/tabs/tab.component.mjs +0 -85
- package/esm2020/tabs/tabs.module.mjs +0 -88
- package/esm2020/tabs/tabs.types.mjs +0 -13
- package/esm2020/tag/check-tag/check-tag.component.mjs +0 -33
- package/esm2020/tag/tag.component.mjs +0 -66
- package/esm2020/tag/tag.module.mjs +0 -20
- package/esm2020/theme/theme.module.mjs +0 -18
- 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 -230
- package/esm2020/time-picker/time-picker.module.mjs +0 -58
- package/esm2020/time-picker/time-picker.type.mjs +0 -13
- package/esm2020/tooltip/base-tooltip.mjs +0 -322
- 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 -29
- package/esm2020/tooltip/tooltip.component.mjs +0 -107
- package/esm2020/tooltip/tooltip.directive.mjs +0 -47
- package/esm2020/tooltip/tooltip.module.mjs +0 -33
- package/esm2020/tooltip/utils/index.mjs +0 -58
- package/esm2020/tree-select/tree-select.component.mjs +0 -340
- package/esm2020/tree-select/tree-select.module.mjs +0 -34
- package/esm2020/types.mjs +0 -11
- package/esm2020/utils/bem.mjs +0 -44
- package/esm2020/utils/coercion.mjs +0 -17
- package/esm2020/utils/fn.mjs +0 -19
- package/fesm2015/alauda-ui.mjs +0 -12051
- package/fesm2015/alauda-ui.mjs.map +0 -1
- package/fesm2020/alauda-ui.mjs.map +0 -1
- package/src/accordion/README.md +0 -13
- package/src/anchor/README.md +0 -23
- package/src/dropdown/README.md +0 -57
- package/src/form/README.md +0 -32
- package/src/icon/README.md +0 -28
- package/src/inline-alert/README.md +0 -16
- package/src/input/number-input/README.md +0 -16
- package/src/select/README.md +0 -57
- package/src/sort/README.md +0 -13
- package/src/table/README.md +0 -8
- package/src/table-of-contents/README.md +0 -94
- package/src/tag/README.md +0 -32
- package/src/tree-select/README.md +0 -34
- /package/{esm2020 → esm2022}/accordion/index.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/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/date-picker.type.mjs +0 -0
- /package/{esm2020 → esm2022}/date-picker/index.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/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.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}/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}/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}/tooltip/index.mjs +0 -0
- /package/{esm2020 → esm2022}/tooltip/tooltip.types.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}/utils/animations.mjs +0 -0
- /package/{esm2020 → esm2022}/utils/async.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
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, ViewChild, ViewChildren, ViewEncapsulation, } 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
|
+
get nodesData() {
|
|
15
|
+
return this._nodesData;
|
|
16
|
+
}
|
|
17
|
+
set nodesData(val) {
|
|
18
|
+
if (!val || val === this._nodesData) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
this._nodesData = val;
|
|
22
|
+
this.flattedNodes = this.flatNodesData(val);
|
|
23
|
+
this.updateSelectDisplay(this.model);
|
|
24
|
+
}
|
|
25
|
+
loading = false;
|
|
26
|
+
placeholder = '';
|
|
27
|
+
filterable;
|
|
28
|
+
clearable;
|
|
29
|
+
leafOnly;
|
|
30
|
+
filterFn = this._filterFn;
|
|
31
|
+
trackFn = this._trackFn;
|
|
32
|
+
labelFn;
|
|
33
|
+
filterChange = new EventEmitter();
|
|
34
|
+
show = new EventEmitter();
|
|
35
|
+
hide = new EventEmitter();
|
|
36
|
+
selectRef;
|
|
37
|
+
tooltipRef;
|
|
38
|
+
nodeListRef;
|
|
39
|
+
inputRef;
|
|
40
|
+
_nodesData = [];
|
|
41
|
+
_filterString = '';
|
|
42
|
+
filterString$$ = new BehaviorSubject(this.filterString);
|
|
43
|
+
filterString$ = this.filterString$$.asObservable();
|
|
44
|
+
containerWidth;
|
|
45
|
+
displayText = '';
|
|
46
|
+
flattedNodes = [];
|
|
47
|
+
get isClearable() {
|
|
48
|
+
return !this.disabled && this.clearable && this.getInputValue();
|
|
49
|
+
}
|
|
50
|
+
get opened() {
|
|
51
|
+
return this.tooltipRef.isCreated;
|
|
52
|
+
}
|
|
53
|
+
get inputReadonly() {
|
|
54
|
+
return !(this.filterable && this.opened);
|
|
55
|
+
}
|
|
56
|
+
get filterString() {
|
|
57
|
+
return this._filterString;
|
|
58
|
+
}
|
|
59
|
+
set filterString(val) {
|
|
60
|
+
if (val !== this._filterString) {
|
|
61
|
+
this._filterString = val;
|
|
62
|
+
this.filterString$$.next(val);
|
|
63
|
+
this.filterChange.emit(val);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
updatePosition() {
|
|
67
|
+
this.tooltipRef.updatePosition();
|
|
68
|
+
}
|
|
69
|
+
onVisibleNodes(visible) {
|
|
70
|
+
if (visible) {
|
|
71
|
+
this.containerWidth = this.selectRef.nativeElement.offsetWidth + 'px';
|
|
72
|
+
this.show.emit();
|
|
73
|
+
this.cdr.detectChanges();
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
if (this.onTouched) {
|
|
77
|
+
this.onTouched();
|
|
78
|
+
}
|
|
79
|
+
this.filterString = '';
|
|
80
|
+
this.hide.emit();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
onInput(event) {
|
|
84
|
+
this.filterString = event.target.value;
|
|
85
|
+
this.cdr.markForCheck();
|
|
86
|
+
}
|
|
87
|
+
onNodeClick(node) {
|
|
88
|
+
this.selectNode(node);
|
|
89
|
+
}
|
|
90
|
+
getVisibleNodeCount() {
|
|
91
|
+
return this.flattedNodes.filter(node => this.filterFn(this.filterString, node)).length;
|
|
92
|
+
}
|
|
93
|
+
selectNode(node) {
|
|
94
|
+
if (!node.selected) {
|
|
95
|
+
this.emitValue(node.nodeData.value);
|
|
96
|
+
if (this.onChange) {
|
|
97
|
+
this.closeOption();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
onKeyDown(event) {
|
|
102
|
+
if (event.key === 'Escape') {
|
|
103
|
+
this.closeOption();
|
|
104
|
+
event.stopPropagation();
|
|
105
|
+
event.preventDefault();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
openOption() {
|
|
109
|
+
this.tooltipRef.show();
|
|
110
|
+
}
|
|
111
|
+
closeOption() {
|
|
112
|
+
this.inputRef.elementRef.nativeElement.value = this.displayText;
|
|
113
|
+
this.tooltipRef.hide();
|
|
114
|
+
}
|
|
115
|
+
updateSelectDisplay(value) {
|
|
116
|
+
const pickedNode = this.flattedNodes.find(node => this.trackFn(node.value) === this.trackFn(value));
|
|
117
|
+
this.displayText = pickedNode
|
|
118
|
+
? this.getLabelFromNode(pickedNode).toString()
|
|
119
|
+
: coerceString(this.trackFn(value));
|
|
120
|
+
}
|
|
121
|
+
clearValue(event) {
|
|
122
|
+
this.emitValue(null);
|
|
123
|
+
event.stopPropagation();
|
|
124
|
+
event.preventDefault();
|
|
125
|
+
}
|
|
126
|
+
valueIn(v) {
|
|
127
|
+
this.updateSelectDisplay(v);
|
|
128
|
+
this.closeOption();
|
|
129
|
+
return v;
|
|
130
|
+
}
|
|
131
|
+
getPlaceholder() {
|
|
132
|
+
return this.filterable && this.opened ? this.displayText : this.placeholder;
|
|
133
|
+
}
|
|
134
|
+
getInputValue() {
|
|
135
|
+
return this.filterable && this.opened ? '' : this.displayText;
|
|
136
|
+
}
|
|
137
|
+
trackByLabel = (_, node) => this.getLabelFromNode(node);
|
|
138
|
+
flatNodesData(nodes = []) {
|
|
139
|
+
return nodes.reduce((prevValue, currentNode) => prevValue.concat(currentNode, this.flatNodesData(currentNode.children)), []);
|
|
140
|
+
}
|
|
141
|
+
getLabelFromNode(node) {
|
|
142
|
+
return (this.labelFn?.(node.value) ||
|
|
143
|
+
node.label ||
|
|
144
|
+
coerceString(this.trackFn(node.value)));
|
|
145
|
+
}
|
|
146
|
+
_filterFn(filterString, node) {
|
|
147
|
+
return this.getLabelFromNode(node)?.includes(filterString ?? '');
|
|
148
|
+
}
|
|
149
|
+
_trackFn(value) {
|
|
150
|
+
return value;
|
|
151
|
+
}
|
|
152
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
153
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TreeSelectComponent, selector: "aui-tree-select", inputs: { nodesData: "nodesData", loading: "loading", placeholder: "placeholder", filterable: ["filterable", "filterable", coerceAttrBoolean], clearable: ["clearable", "clearable", coerceAttrBoolean], leafOnly: ["leafOnly", "leafOnly", coerceAttrBoolean], filterFn: "filterFn", trackFn: "trackFn", labelFn: "labelFn" }, outputs: { filterChange: "filterChange", show: "show", hide: "hide" }, providers: [
|
|
154
|
+
{
|
|
155
|
+
provide: NG_VALUE_ACCESSOR,
|
|
156
|
+
useExisting: forwardRef(() => TreeSelectComponent),
|
|
157
|
+
multi: true,
|
|
158
|
+
},
|
|
159
|
+
], 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__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 });
|
|
160
|
+
}
|
|
161
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeSelectComponent, decorators: [{
|
|
162
|
+
type: Component,
|
|
163
|
+
args: [{ selector: 'aui-tree-select', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, providers: [
|
|
164
|
+
{
|
|
165
|
+
provide: NG_VALUE_ACCESSOR,
|
|
166
|
+
useExisting: forwardRef(() => TreeSelectComponent),
|
|
167
|
+
multi: true,
|
|
168
|
+
},
|
|
169
|
+
], 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__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"] }]
|
|
170
|
+
}], propDecorators: { nodesData: [{
|
|
171
|
+
type: Input
|
|
172
|
+
}], loading: [{
|
|
173
|
+
type: Input
|
|
174
|
+
}], placeholder: [{
|
|
175
|
+
type: Input
|
|
176
|
+
}], filterable: [{
|
|
177
|
+
type: Input,
|
|
178
|
+
args: [{ transform: coerceAttrBoolean }]
|
|
179
|
+
}], clearable: [{
|
|
180
|
+
type: Input,
|
|
181
|
+
args: [{ transform: coerceAttrBoolean }]
|
|
182
|
+
}], leafOnly: [{
|
|
183
|
+
type: Input,
|
|
184
|
+
args: [{ transform: coerceAttrBoolean }]
|
|
185
|
+
}], filterFn: [{
|
|
186
|
+
type: Input
|
|
187
|
+
}], trackFn: [{
|
|
188
|
+
type: Input
|
|
189
|
+
}], labelFn: [{
|
|
190
|
+
type: Input
|
|
191
|
+
}], filterChange: [{
|
|
192
|
+
type: Output
|
|
193
|
+
}], show: [{
|
|
194
|
+
type: Output
|
|
195
|
+
}], hide: [{
|
|
196
|
+
type: Output
|
|
197
|
+
}], selectRef: [{
|
|
198
|
+
type: ViewChild,
|
|
199
|
+
args: ['selectRef', { static: true }]
|
|
200
|
+
}], tooltipRef: [{
|
|
201
|
+
type: ViewChild,
|
|
202
|
+
args: ['tooltipRef', { static: true }]
|
|
203
|
+
}], nodeListRef: [{
|
|
204
|
+
type: ViewChild,
|
|
205
|
+
args: ['nodeListRef', { static: true }]
|
|
206
|
+
}], inputRef: [{
|
|
207
|
+
type: ViewChild,
|
|
208
|
+
args: ['inputRef', { static: true }]
|
|
209
|
+
}] } });
|
|
210
|
+
export class TreeNodeComponent {
|
|
211
|
+
cdr;
|
|
212
|
+
bem = buildBem('aui-tree-node');
|
|
213
|
+
_nodeData;
|
|
214
|
+
nodeData$$ = new BehaviorSubject(this.nodeData);
|
|
215
|
+
destroy$$ = new Subject();
|
|
216
|
+
get nodeData() {
|
|
217
|
+
return this._nodeData;
|
|
218
|
+
}
|
|
219
|
+
set nodeData(val) {
|
|
220
|
+
if (val === this._nodeData) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
this._nodeData = val;
|
|
224
|
+
this.nodeData$$.next(val);
|
|
225
|
+
}
|
|
226
|
+
leafOnly = true;
|
|
227
|
+
titleRef;
|
|
228
|
+
childNodes;
|
|
229
|
+
selected = false;
|
|
230
|
+
visible = true;
|
|
231
|
+
isLeaf = false;
|
|
232
|
+
select;
|
|
233
|
+
selected$;
|
|
234
|
+
selfVisible$;
|
|
235
|
+
visible$;
|
|
236
|
+
constructor(select, cdr) {
|
|
237
|
+
this.cdr = cdr;
|
|
238
|
+
this.select = select;
|
|
239
|
+
this.selected$ = combineLatest([
|
|
240
|
+
this.select.model$,
|
|
241
|
+
this.nodeData$$.pipe(map(data => data.value)),
|
|
242
|
+
]).pipe(map(([selectValue, selfValue]) => selectValue &&
|
|
243
|
+
this.select.trackFn(selectValue) === this.select.trackFn(selfValue)), tap(selected => {
|
|
244
|
+
this.selected = selected;
|
|
245
|
+
}), publishRef());
|
|
246
|
+
this.selfVisible$ = combineLatest([
|
|
247
|
+
this.select.filterString$,
|
|
248
|
+
this.nodeData$$,
|
|
249
|
+
]).pipe(map(([filterString, nodeData]) => this.select.filterFn(filterString, nodeData)), publishRef());
|
|
250
|
+
}
|
|
251
|
+
ngAfterViewInit() {
|
|
252
|
+
const hasVisibleChildNodes$ = this.childNodes.changes.pipe(startWith(this.childNodes), switchMap((nodes) => nodes.length > 0
|
|
253
|
+
? combineLatest(nodes.map(node => node.visible$))
|
|
254
|
+
: of([false])), map(visible => visible.some(Boolean)), tap(hasVisibleChildren => (this.isLeaf = !hasVisibleChildren)));
|
|
255
|
+
this.visible$ = combineLatest([
|
|
256
|
+
this.selfVisible$,
|
|
257
|
+
hasVisibleChildNodes$,
|
|
258
|
+
]).pipe(map(visible => visible.some(Boolean)), publishRef());
|
|
259
|
+
this.visible$.pipe(takeUntil(this.destroy$$)).subscribe(visible => {
|
|
260
|
+
this.visible = visible;
|
|
261
|
+
this.cdr.markForCheck();
|
|
262
|
+
});
|
|
263
|
+
this.selected$.pipe(takeUntil(this.destroy$$)).subscribe(selected => {
|
|
264
|
+
this.selected = selected;
|
|
265
|
+
this.cdr.markForCheck();
|
|
266
|
+
});
|
|
267
|
+
if (this.selected) {
|
|
268
|
+
requestAnimationFrame(() => {
|
|
269
|
+
this.scrollToNode(this);
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
ngOnDestroy() {
|
|
274
|
+
this.destroy$$.next();
|
|
275
|
+
this.destroy$$.complete();
|
|
276
|
+
}
|
|
277
|
+
onClick() {
|
|
278
|
+
if (this.nodeData.disabled || this.nodeData.loading) {
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
if (this.leafOnly && !this.isLeaf) {
|
|
282
|
+
this.switchExpanded();
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
this.select.onNodeClick(this);
|
|
286
|
+
}
|
|
287
|
+
switchExpanded() {
|
|
288
|
+
this.nodeData.expanded = !this.nodeData.expanded;
|
|
289
|
+
if (this.nodeData.expanded && this.childNodes.last) {
|
|
290
|
+
requestAnimationFrame(() => {
|
|
291
|
+
this.scrollToNode(this.childNodes.last);
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
requestAnimationFrame(() => {
|
|
295
|
+
this.select.updatePosition();
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
getIcon() {
|
|
299
|
+
return this.nodeData.expanded
|
|
300
|
+
? this.nodeData.expandedIcon || this.nodeData.icon
|
|
301
|
+
: this.nodeData.icon;
|
|
302
|
+
}
|
|
303
|
+
trackByLabel(_, data) {
|
|
304
|
+
return data.label;
|
|
305
|
+
}
|
|
306
|
+
scrollToNode(node) {
|
|
307
|
+
if (this.select.nodeListRef) {
|
|
308
|
+
scrollIntoView(this.select.nodeListRef.nativeElement, node.titleRef.nativeElement);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeNodeComponent, deps: [{ token: TreeSelectComponent }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
312
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: TreeNodeComponent, selector: "aui-tree-node", inputs: { nodeData: "nodeData", leafOnly: ["leafOnly", "leafOnly", coerceAttrBoolean] }, viewQueries: [{ propertyName: "titleRef", first: true, predicate: ["titleRef"], descendants: true, static: true }, { propertyName: "childNodes", predicate: ["treeNodes"], 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.loading\"\n class=\"aui-tree-node__indicator\"\n [class.isVisible]=\"nodeData.children\"\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 #treeNodes\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:not(.isVisible){visibility:hidden}.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 });
|
|
313
|
+
}
|
|
314
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeNodeComponent, decorators: [{
|
|
315
|
+
type: Component,
|
|
316
|
+
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.loading\"\n class=\"aui-tree-node__indicator\"\n [class.isVisible]=\"nodeData.children\"\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 #treeNodes\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:not(.isVisible){visibility:hidden}.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"] }]
|
|
317
|
+
}], ctorParameters: function () { return [{ type: TreeSelectComponent }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { nodeData: [{
|
|
318
|
+
type: Input
|
|
319
|
+
}], leafOnly: [{
|
|
320
|
+
type: Input,
|
|
321
|
+
args: [{ transform: coerceAttrBoolean }]
|
|
322
|
+
}], titleRef: [{
|
|
323
|
+
type: ViewChild,
|
|
324
|
+
args: ['titleRef', { static: true }]
|
|
325
|
+
}], childNodes: [{
|
|
326
|
+
type: ViewChildren,
|
|
327
|
+
args: ['treeNodes']
|
|
328
|
+
}] } });
|
|
329
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyZWUtc2VsZWN0L3RyZWUtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy90cmVlLXNlbGVjdC90cmVlLXNlbGVjdC5jb21wb25lbnQuaHRtbCIsIi4uLy4uLy4uL3NyYy90cmVlLXNlbGVjdC90cmVlLW5vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLEdBQUcsRUFFSCxFQUFFLEVBQ0YsU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUk1QyxPQUFPLEVBRUwsUUFBUSxFQUNSLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osVUFBVSxFQUNWLGNBQWMsR0FDZixNQUFNLFVBQVUsQ0FBQzs7Ozs7Ozs7QUFtQmxCLE1BQU0sT0FBTyxtQkFBaUMsU0FBUSxpQkFBb0I7SUFDeEUsSUFDSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxHQUFHO1FBQ2YsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcs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MVN2Qyw4Z0RBd0RBLG0xREY4TmEsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQVI3QixTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSzt1SUFVdEIsUUFBUTtzQkFEWCxLQUFLO2dCQWNOLFFBQVE7c0JBRFAsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRTtnQkFJdkMsUUFBUTtzQkFEUCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXZDLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc3RhcnRXaXRoLFxuICBTdWJqZWN0LFxuICBzd2l0Y2hNYXAsXG4gIHRha2VVbnRpbCxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ29tbW9uRm9ybUNvbnRyb2wgfSBmcm9tICcuLi9mb3JtJztcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQnO1xuaW1wb3J0IHsgVHJhY2tGbiB9IGZyb20gJy4uL3NlbGVjdC9zZWxlY3QudHlwZXMnO1xuaW1wb3J0IHsgVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJy4uL3Rvb2x0aXAnO1xuaW1wb3J0IHtcbiAgQmVtLFxuICBidWlsZEJlbSxcbiAgY29lcmNlQXR0ckJvb2xlYW4sXG4gIGNvZXJjZVN0cmluZyxcbiAgcHVibGlzaFJlZixcbiAgc2Nyb2xsSW50b1ZpZXcsXG59IGZyb20gJy4uL3V0aWxzJztcblxuaW1wb3J0IHsgVHJlZU5vZGUgfSBmcm9tICcuL3RyZWUtc2VsZWN0LnR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVpLXRyZWUtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdHJlZS1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRyZWVTZWxlY3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHJlZVNlbGVjdENvbXBvbmVudDxUID0gdW5rbm93bj4gZXh0ZW5kcyBDb21tb25Gb3JtQ29udHJvbDxUPiB7XG4gIEBJbnB1dCgpXG4gIGdldCBub2Rlc0RhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX25vZGVzRGF0YTtcbiAgfVxuXG4gIHNldCBub2Rlc0RhdGEodmFsKSB7XG4gICAgaWYgKCF2YWwgfHwgdmFsID09PSB0aGlzLl9ub2Rlc0RhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fbm9kZXNEYXRhID0gdmFsO1xuICAgIHRoaXMuZmxhdHRlZE5vZGVzID0gdGhpcy5mbGF0Tm9kZXNEYXRhKHZhbCk7XG4gICAgdGhpcy51cGRhdGVTZWxlY3REaXNwbGF5KHRoaXMubW9kZWwpO1xuICB9XG5cbiAgQElucHV0KClcbiAgbG9hZGluZyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VBdHRyQm9vbGVhbiB9KVxuICBmaWx0ZXJhYmxlOiBib29sZWFuO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQXR0ckJvb2xlYW4gfSlcbiAgY2xlYXJhYmxlOiBib29sZWFuO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQXR0ckJvb2xlYW4gfSlcbiAgbGVhZk9ubHk6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgZmlsdGVyRm4gPSB0aGlzLl9maWx0ZXJGbjtcblxuICBASW5wdXQoKVxuICB0cmFja0ZuOiBUcmFja0ZuPFQ+ID0gdGhpcy5fdHJhY2tGbjtcblxuICBASW5wdXQoKVxuICBsYWJlbEZuPzogKHZhbHVlOiBUKSA9PiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIGZpbHRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBzaG93ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBoaWRlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdFJlZicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByb3RlY3RlZCBzZWxlY3RSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXBSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcm90ZWN0ZWQgdG9vbHRpcFJlZjogVG9vbHRpcERpcmVjdGl2ZTtcblxuICBAVmlld0NoaWxkKCdub2RlTGlzdFJlZicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIG5vZGVMaXN0UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdpbnB1dFJlZicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGlucHV0UmVmOiBJbnB1dENvbXBvbmVudDtcblxuICBwcml2YXRlIF9ub2Rlc0RhdGE6IEFycmF5PFRyZWVOb2RlPFQ+PiA9IFtdO1xuICBwcml2YXRlIF9maWx0ZXJTdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJTdHJpbmckJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5maWx0ZXJTdHJpbmcpO1xuXG4gIGZpbHRlclN0cmluZyQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuZmlsdGVyU3RyaW5nJCQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29udGFpbmVyV2lkdGg6IHN0cmluZztcbiAgZGlzcGxheVRleHQgPSAnJztcbiAgZmxhdHRlZE5vZGVzOiBBcnJheTxUcmVlTm9kZTxUPj4gPSBbXTtcblxuICBnZXQgaXNDbGVhcmFibGUoKSB7XG4gICAgcmV0dXJuICF0aGlzLmRpc2FibGVkICYmIHRoaXMuY2xlYXJhYmxlICYmIHRoaXMuZ2V0SW5wdXRWYWx1ZSgpO1xuICB9XG5cbiAgZ2V0IG9wZW5lZCgpIHtcbiAgICByZXR1cm4gdGhpcy50b29sdGlwUmVmLmlzQ3JlYXRlZDtcbiAgfVxuXG4gIGdldCBpbnB1dFJlYWRvbmx5KCkge1xuICAgIHJldHVybiAhKHRoaXMuZmlsdGVyYWJsZSAmJiB0aGlzLm9wZW5lZCk7XG4gIH1cblxuICBnZXQgZmlsdGVyU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJTdHJpbmc7XG4gIH1cblxuICBzZXQgZmlsdGVyU3RyaW5nKHZhbCkge1xuICAgIGlmICh2YWwgIT09IHRoaXMuX2ZpbHRlclN0cmluZykge1xuICAgICAgdGhpcy5fZmlsdGVyU3RyaW5nID0gdmFsO1xuICAgICAgdGhpcy5maWx0ZXJTdHJpbmckJC5uZXh0KHZhbCk7XG4gICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHZhbCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlUG9zaXRpb24oKSB7XG4gICAgdGhpcy50b29sdGlwUmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gIH1cblxuICBvblZpc2libGVOb2Rlcyh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgaWYgKHZpc2libGUpIHtcbiAgICAgIHRoaXMuY29udGFpbmVyV2lkdGggPSB0aGlzLnNlbGVjdFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICsgJ3B4JztcbiAgICAgIHRoaXMuc2hvdy5lbWl0KCk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLm9uVG91Y2hlZCkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5maWx0ZXJTdHJpbmcgPSAnJztcbiAgICAgIHRoaXMuaGlkZS5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmZpbHRlclN0cmluZyA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbk5vZGVDbGljayhub2RlOiBUcmVlTm9kZUNvbXBvbmVudDxUPikge1xuICAgIHRoaXMuc2VsZWN0Tm9kZShub2RlKTtcbiAgfVxuXG4gIGdldFZpc2libGVOb2RlQ291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhdHRlZE5vZGVzLmZpbHRlcihub2RlID0+XG4gICAgICB0aGlzLmZpbHRlckZuKHRoaXMuZmlsdGVyU3RyaW5nLCBub2RlKSxcbiAgICApLmxlbmd0aDtcbiAgfVxuXG4gIHNlbGVjdE5vZGUobm9kZTogVHJlZU5vZGVDb21wb25lbnQ8VD4pIHtcbiAgICBpZiAoIW5vZGUuc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuZW1pdFZhbHVlKG5vZGUubm9kZURhdGEudmFsdWUpO1xuICAgICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgICAgdGhpcy5jbG9zZU9wdGlvbigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLmNsb3NlT3B0aW9uKCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgb3Blbk9wdGlvbigpIHtcbiAgICB0aGlzLnRvb2x0aXBSZWYuc2hvdygpO1xuICB9XG5cbiAgY2xvc2VPcHRpb24oKSB7XG4gICAgdGhpcy5pbnB1dFJlZi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmRpc3BsYXlUZXh0O1xuICAgIHRoaXMudG9vbHRpcFJlZi5oaWRlKCk7XG4gIH1cblxuICB1cGRhdGVTZWxlY3REaXNwbGF5KHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBwaWNrZWROb2RlID0gdGhpcy5mbGF0dGVkTm9kZXMuZmluZChcbiAgICAgIG5vZGUgPT4gdGhpcy50cmFja0ZuKG5vZGUudmFsdWUpID09PSB0aGlzLnRyYWNrRm4odmFsdWUpLFxuICAgICk7XG4gICAgdGhpcy5kaXNwbGF5VGV4dCA9IHBpY2tlZE5vZGVcbiAgICAgID8gdGhpcy5nZXRMYWJlbEZyb21Ob2RlKHBpY2tlZE5vZGUpLnRvU3RyaW5nKClcbiAgICAgIDogY29lcmNlU3RyaW5nKHRoaXMudHJhY2tGbih2YWx1ZSkpO1xuICB9XG5cbiAgY2xlYXJWYWx1ZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmVtaXRWYWx1ZShudWxsKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbHVlSW4odjogVCk6IFQge1xuICAgIHRoaXMudXBkYXRlU2VsZWN0RGlzcGxheSh2KTtcbiAgICB0aGlzLmNsb3NlT3B0aW9uKCk7XG4gICAgcmV0dXJuIHY7XG4gIH1cblxuICBnZXRQbGFjZWhvbGRlcigpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJhYmxlICYmIHRoaXMub3BlbmVkID8gdGhpcy5kaXNwbGF5VGV4dCA6IHRoaXMucGxhY2Vob2xkZXI7XG4gIH1cblxuICBnZXRJbnB1dFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcmFibGUgJiYgdGhpcy5vcGVuZWQgPyAnJyA6IHRoaXMuZGlzcGxheVRleHQ7XG4gIH1cblxuICAvLyBgdGhpc2AgaXMgbm90IGF2YWlsYWJsZSBpbiBgdHJhY2tCeWAuLi5cbiAgdHJhY2tCeUxhYmVsID0gKF86IG51bWJlciwgbm9kZTogVHJlZU5vZGU8VD4pID0+IHRoaXMuZ2V0TGFiZWxGcm9tTm9kZShub2RlKTtcblxuICBwcml2YXRlIGZsYXROb2Rlc0RhdGEobm9kZXM6IEFycmF5PFRyZWVOb2RlPFQ+PiA9IFtdKTogQXJyYXk8VHJlZU5vZGU8VD4+IHtcbiAgICByZXR1cm4gbm9kZXMucmVkdWNlKFxuICAgICAgKHByZXZWYWx1ZTogQXJyYXk8VHJlZU5vZGU8VD4+LCBjdXJyZW50Tm9kZSkgPT5cbiAgICAgICAgcHJldlZhbHVlLmNvbmNhdChjdXJyZW50Tm9kZSwgdGhpcy5mbGF0Tm9kZXNEYXRhKGN1cnJlbnROb2RlLmNoaWxkcmVuKSksXG4gICAgICBbXSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMYWJlbEZyb21Ob2RlKG5vZGU6IFRyZWVOb2RlPFQ+KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMubGFiZWxGbj8uKG5vZGUudmFsdWUpIHx8XG4gICAgICBub2RlLmxhYmVsIHx8XG4gICAgICBjb2VyY2VTdHJpbmcodGhpcy50cmFja0ZuKG5vZGUudmFsdWUpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9maWx0ZXJGbihmaWx0ZXJTdHJpbmc6IHN0cmluZywgbm9kZTogVHJlZU5vZGU8VD4pIHtcbiAgICByZXR1cm4gdGhpcy5nZXRMYWJlbEZyb21Ob2RlKG5vZGUpPy5pbmNsdWRlcyhmaWx0ZXJTdHJpbmcgPz8gJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHJhY2tGbjxUPih2YWx1ZTogVCkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktdHJlZS1ub2RlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtbm9kZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RyZWUtbm9kZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVOb2RlQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgYmVtOiBCZW0gPSBidWlsZEJlbSgnYXVpLXRyZWUtbm9kZScpO1xuXG4gIHByaXZhdGUgX25vZGVEYXRhOiBUcmVlTm9kZTxUPjtcbiAgcHJpdmF0ZSByZWFkb25seSBub2RlRGF0YSQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUcmVlTm9kZTxUPj4odGhpcy5ub2RlRGF0YSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBASW5wdXQoKVxuICBnZXQgbm9kZURhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX25vZGVEYXRhO1xuICB9XG5cbiAgc2V0IG5vZGVEYXRhKHZhbCkge1xuICAgIGlmICh2YWwgPT09IHRoaXMuX25vZGVEYXRhKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX25vZGVEYXRhID0gdmFsO1xuICAgIHRoaXMubm9kZURhdGEkJC5uZXh0KHZhbCk7XG4gIH1cblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUF0dHJCb29sZWFuIH0pXG4gIGxlYWZPbmx5ID0gdHJ1ZTtcblxuICBAVmlld0NoaWxkKCd0aXRsZVJlZicsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHRpdGxlUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAVmlld0NoaWxkcmVuKCd0cmVlTm9kZXMnKVxuICBjaGlsZE5vZGVzOiBRdWVyeUxpc3Q8VHJlZU5vZGVDb21wb25lbnQ8VD4+O1xuXG4gIHNlbGVjdGVkID0gZmFsc2U7XG4gIHZpc2libGUgPSB0cnVlO1xuICBpc0xlYWYgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHNlbGVjdDogVHJlZVNlbGVjdENvbXBvbmVudDxUPjtcbiAgc2VsZWN0ZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBzZWxmVmlzaWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHZpc2libGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNlbGVjdDogVHJlZVNlbGVjdENvbXBvbmVudDxUPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHRoaXMuc2VsZWN0ID0gc2VsZWN0O1xuICAgIHRoaXMuc2VsZWN0ZWQkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnNlbGVjdC5tb2RlbCQsXG4gICAgICB0aGlzLm5vZGVEYXRhJCQucGlwZShtYXAoZGF0YSA9PiBkYXRhLnZhbHVlKSksXG4gICAgXSkucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgKFtzZWxlY3RWYWx1ZSwgc2VsZlZhbHVlXSkgPT5cbiAgICAgICAgICBzZWxlY3RWYWx1ZSAmJlxuICAgICAgICAgIHRoaXMuc2VsZWN0LnRyYWNrRm4oc2VsZWN0VmFsdWUpID09PSB0aGlzLnNlbGVjdC50cmFja0ZuKHNlbGZWYWx1ZSksXG4gICAgICApLFxuICAgICAgdGFwKHNlbGVjdGVkID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgfSksXG4gICAgICBwdWJsaXNoUmVmKCksXG4gICAgKTtcbiAgICB0aGlzLnNlbGZWaXNpYmxlJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zZWxlY3QuZmlsdGVyU3RyaW5nJCxcbiAgICAgIHRoaXMubm9kZURhdGEkJCxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbZmlsdGVyU3RyaW5nLCBub2RlRGF0YV0pID0+XG4gICAgICAgIHRoaXMuc2VsZWN0LmZpbHRlckZuKGZpbHRlclN0cmluZywgbm9kZURhdGEpLFxuICAgICAgKSxcbiAgICAgIHB1Ymxpc2hSZWYoKSxcbiAgICApO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IGhhc1Zpc2libGVDaGlsZE5vZGVzJCA9IHRoaXMuY2hpbGROb2Rlcy5jaGFuZ2VzLnBpcGUoXG4gICAgICBzdGFydFdpdGgodGhpcy5jaGlsZE5vZGVzKSxcbiAgICAgIHN3aXRjaE1hcCgobm9kZXM6IFF1ZXJ5TGlzdDxUcmVlTm9kZUNvbXBvbmVudDxUPj4pID0+XG4gICAgICAgIG5vZGVzLmxlbmd0aCA+IDBcbiAgICAgICAgICA/IGNvbWJpbmVMYXRlc3Qobm9kZXMubWFwKG5vZGUgPT4gbm9kZS52aXNpYmxlJCkpXG4gICAgICAgICAgOiBvZihbZmFsc2VdKSxcbiAgICAgICksXG4gICAgICBtYXAodmlzaWJsZSA9PiB2aXNpYmxlLnNvbWUoQm9vbGVhbikpLFxuICAgICAgdGFwKGhhc1Zpc2libGVDaGlsZHJlbiA9PiAodGhpcy5pc0xlYWYgPSAhaGFzVmlzaWJsZUNoaWxkcmVuKSksXG4gICAgKTtcbiAgICB0aGlzLnZpc2libGUkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnNlbGZWaXNpYmxlJCxcbiAgICAgIGhhc1Zpc2libGVDaGlsZE5vZGVzJCxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKHZpc2libGUgPT4gdmlzaWJsZS5zb21lKEJvb2xlYW4pKSxcbiAgICAgIHB1Ymxpc2hSZWYoKSxcbiAgICApO1xuXG4gICAgdGhpcy52aXNpYmxlJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpLnN1YnNjcmliZSh2aXNpYmxlID0+IHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IHZpc2libGU7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgICB0aGlzLnNlbGVjdGVkJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpLnN1YnNjcmliZShzZWxlY3RlZCA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNjcm9sbFRvTm9kZSh0aGlzKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgb25DbGljaygpIHtcbiAgICBpZiAodGhpcy5ub2RlRGF0YS5kaXNhYmxlZCB8fCB0aGlzLm5vZGVEYXRhLmxvYWRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMubGVhZk9ubHkgJiYgIXRoaXMuaXNMZWFmKSB7XG4gICAgICB0aGlzLnN3aXRjaEV4cGFuZGVkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0Lm9uTm9kZUNsaWNrKHRoaXMpO1xuICB9XG5cbiAgc3dpdGNoRXhwYW5kZWQoKSB7XG4gICAgdGhpcy5ub2RlRGF0YS5leHBhbmRlZCA9ICF0aGlzLm5vZGVEYXRhLmV4cGFuZGVkO1xuICAgIGlmICh0aGlzLm5vZGVEYXRhLmV4cGFuZGVkICYmIHRoaXMuY2hpbGROb2Rlcy5sYXN0KSB7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNjcm9sbFRvTm9kZSh0aGlzLmNoaWxkTm9kZXMubGFzdCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0LnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXRJY29uKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGVEYXRhLmV4cGFuZGVkXG4gICAgICA/IHRoaXMubm9kZURhdGEuZXhwYW5kZWRJY29uIHx8IHRoaXMubm9kZURhdGEuaWNvblxuICAgICAgOiB0aGlzLm5vZGVEYXRhLmljb247XG4gIH1cblxuICB0cmFja0J5TGFiZWwoXzogbnVtYmVyLCBkYXRhOiBUcmVlTm9kZTxUPikge1xuICAgIHJldHVybiBkYXRhLmxhYmVsO1xuICB9XG5cbiAgc2Nyb2xsVG9Ob2RlKG5vZGU6IFRyZWVOb2RlQ29tcG9uZW50PFQ+KSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0Lm5vZGVMaXN0UmVmKSB7XG4gICAgICBzY3JvbGxJbnRvVmlldyhcbiAgICAgICAgdGhpcy5zZWxlY3Qubm9kZUxpc3RSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgbm9kZS50aXRsZVJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJhdWktdHJlZS1zZWxlY3RcIlxuICBbY2xhc3MuaXNEaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtjbGFzcy5pc0NsZWFyYWJsZV09XCJpc0NsZWFyYWJsZVwiXG4gICNzZWxlY3RSZWZcbiAgI3Rvb2x0aXBSZWY9XCJhdWlUb29sdGlwXCJcbiAgW2F1aVRvb2x0aXBdPVwidGVtcGxhdGVSZWZcIlxuICBbYXVpVG9vbHRpcERpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2F1aURpc2FibGVBbmltYXRpb25dPVwidHJ1ZVwiXG4gIGF1aVRvb2x0aXBUcmlnZ2VyPVwiY2xpY2tcIlxuICBhdWlUb29sdGlwUG9zaXRpb249XCJib3R0b20gc3RhcnRcIlxuICBhdWlUb29sdGlwVHlwZT1cInBsYWluXCJcbiAgKGF1aVRvb2x0aXBWaXNpYmxlQ2hhbmdlKT1cIm9uVmlzaWJsZU5vZGVzKCRldmVudClcIlxuPlxuICA8YXVpLWlucHV0LWdyb3VwPlxuICAgIDxpbnB1dFxuICAgICAgI2lucHV0UmVmXG4gICAgICBjbGFzcz1cImF1aS10cmVlLXNlbGVjdF9faW5wdXRcIlxuICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgIGF1aS1pbnB1dFxuICAgICAgW3ZhbHVlXT1cImdldElucHV0VmFsdWUoKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIlxuICAgICAgW3JlYWRvbmx5XT1cImlucHV0UmVhZG9ubHlcIlxuICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAoYmx1cik9XCJjbG9zZU9wdGlvbigpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxzcGFuXG4gICAgICBhdWlJbnB1dFN1ZmZpeFxuICAgICAgY2xhc3M9XCJhdWktdHJlZS1zZWxlY3RfX2ljb24tY29udGFpbmVyXCJcbiAgICA+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgY2xhc3M9XCJhdWktdHJlZS1zZWxlY3RfX2luZGljYXRvclwiXG4gICAgICAgIFtpY29uXT1cImxvYWRpbmcgPyAnc3Bpbm5lcicgOiAnY2FyZXRfZG93bl9zJ1wiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDxhdWktaWNvblxuICAgICAgICBjbGFzcz1cImF1aS10cmVlLXNlbGVjdF9fY2xlYXJcIlxuICAgICAgICBpY29uPVwieG1hcmtfc21hbGxcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgkZXZlbnQpXCJcbiAgICAgID48L2F1aS1pY29uPlxuICAgIDwvc3Bhbj5cbiAgPC9hdWktaW5wdXQtZ3JvdXA+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZVJlZj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYXVpLXRyZWUtbm9kZS1jb250YWluZXJcIlxuICAgIFtzdHlsZS5taW5XaWR0aF09XCJjb250YWluZXJXaWR0aFwiXG4gICAgKG1vdXNlZG93bik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICAjbm9kZUxpc3RSZWZcbiAgICAgIGNsYXNzPVwiYXVpLXRyZWUtbm9kZS1jb250YWluZXJfX2NvbnRlbnRcIlxuICAgID5cbiAgICAgIDxhdWktdHJlZS1ub2RlXG4gICAgICAgICpuZ0Zvcj1cImxldCBkYXRhIG9mIG5vZGVzRGF0YTsgdHJhY2tCeTogdHJhY2tCeUxhYmVsXCJcbiAgICAgICAgW25vZGVEYXRhXT1cImRhdGFcIlxuICAgICAgICBbbGVhZk9ubHldPVwibGVhZk9ubHlcIlxuICAgICAgPjwvYXVpLXRyZWUtbm9kZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFnZXRWaXNpYmxlTm9kZUNvdW50KClcIlxuICAgICAgY2xhc3M9XCJhdWktdHJlZS1ub2RlLWNvbnRhaW5lcl9fcGxhY2Vob2xkZXJcIlxuICAgID5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF1aS10cmVlLW5vZGUtcGxhY2Vob2xkZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiIsIjxkaXZcbiAgW2hpZGRlbl09XCIhdmlzaWJsZVwiXG4gIGNsYXNzPVwiYXVpLXRyZWUtbm9kZVwiXG4gIFtjbGFzcy5pc0Rpc2FibGVkXT1cIm5vZGVEYXRhLmRpc2FibGVkXCJcbiAgW2NsYXNzLmlzU2VsZWN0ZWRdPVwic2VsZWN0ZWRcIlxuICBbYXR0ci5kYXRhLXZhbHVlXT1cIm5vZGVEYXRhLnZhbHVlXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYXVpLXRyZWUtbm9kZV9fY29udGVudFwiXG4gICAgW2NsYXNzLmlzTGVmdE9ubHldPVwibGVhZk9ubHkgJiYgIWlzTGVhZiAmJiAhbm9kZURhdGEuZGlzYWJsZWRcIlxuICA+XG4gICAgPGF1aS1pY29uXG4gICAgICAqbmdJZj1cIm5vZGVEYXRhLmxvYWRpbmdcIlxuICAgICAgY2xhc3M9XCJhdWktdHJlZS1ub2RlX19sb2FkaW5nXCJcbiAgICAgIG1hcmdpbj1cImxlZnRcIlxuICAgICAgc2l6ZT1cIjE2XCJcbiAgICAgIFtpY29uXT1cIidzcGlubmVyJ1wiXG4gICAgPjwvYXVpLWljb24+XG4gICAgPGF1aS1pY29uXG4gICAgICAqbmdJZj1cIiFub2RlRGF0YS5sb2FkaW5nXCJcbiAgICAgIGNsYXNzPVwiYXVpLXRyZWUtbm9kZV9faW5kaWNhdG9yXCJcbiAgICAgIFtjbGFzcy5pc1Zpc2libGVdPVwibm9kZURhdGEuY2hpbGRyZW5cIlxuICAgICAgbWFyZ2luPVwibGVmdFwiXG4gICAgICBzaXplPVwiMTZcIlxuICAgICAgW2ljb25dPVwibm9kZURhdGEuZXhwYW5kZWQgPyAnYW5nbGVfZG93bicgOiAnYW5nbGVfcmlnaHQnXCJcbiAgICAgIChjbGljayk9XCJzd2l0Y2hFeHBhbmRlZCgpXCJcbiAgICA+PC9hdWktaWNvbj5cbiAgICA8c3BhblxuICAgICAgI3RpdGxlUmVmXG4gICAgICBjbGFzcz1cImF1aS10cmVlLW5vZGVfX3RpdGxlXCJcbiAgICAgIFtjbGFzcy5pc0Rpc2FibGVkXT1cIm5vZGVEYXRhLmRpc2FibGVkIHx8IG5vZGVEYXRhLmxvYWRpbmdcIlxuICAgICAgW2NsYXNzLmlzU2VsZWN0ZWRdPVwic2VsZWN0ZWRcIlxuICAgICAgW2NsYXNzLnVuc2VsZWN0YWJsZV09XCJsZWFmT25seSAmJiAhaXNMZWFmXCJcbiAgICAgIChjbGljayk9XCJvbkNsaWNrKClcIlxuICAgID5cbiAgICAgIDxhdWktaWNvblxuICAgICAgICAqbmdJZj1cIm5vZGVEYXRhLmljb25cIlxuICAgICAgICBtYXJnaW49XCJyaWdodFwiXG4gICAgICAgIFtpY29uXT1cImdldEljb24oKVwiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIHt7IG5vZGVEYXRhLmxhYmVsIH19XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgICpuZ0lmPVwibm9kZURhdGEuY2hpbGRyZW5cIlxuICAgIFtoaWRkZW5dPVwiIW5vZGVEYXRhLmV4cGFuZGVkXCJcbiAgICBjbGFzcz1cImF1aS10cmVlLW5vZGVfX2NoaWxkcmVuXCJcbiAgPlxuICAgIDxhdWktdHJlZS1ub2RlXG4gICAgICAjdHJlZU5vZGVzXG4gICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBub2RlRGF0YS5jaGlsZHJlbjsgdHJhY2tCeTogdHJhY2tCeUxhYmVsXCJcbiAgICAgIFtub2RlRGF0YV09XCJkYXRhXCJcbiAgICAgIFtsZWFmT25seV09XCJsZWFmT25seVwiXG4gICAgPjwvYXVpLXRyZWUtbm9kZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { IconModule } from '../icon';
|
|
4
|
+
import { InputModule } from '../input';
|
|
5
|
+
import { TooltipModule } from '../tooltip';
|
|
6
|
+
import { TreeNodePlaceholderComponent } from './tree-node-placeholder.component';
|
|
7
|
+
import { TreeNodeComponent, TreeSelectComponent, } from './tree-select.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class TreeSelectModule {
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: TreeSelectModule, declarations: [TreeSelectComponent,
|
|
12
|
+
TreeNodeComponent,
|
|
13
|
+
TreeNodePlaceholderComponent], imports: [CommonModule, TooltipModule, IconModule, InputModule], exports: [TreeSelectComponent,
|
|
14
|
+
TreeNodeComponent,
|
|
15
|
+
TreeNodePlaceholderComponent] });
|
|
16
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeSelectModule, imports: [CommonModule, TooltipModule, IconModule, InputModule] });
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: TreeSelectModule, decorators: [{
|
|
19
|
+
type: NgModule,
|
|
20
|
+
args: [{
|
|
21
|
+
imports: [CommonModule, TooltipModule, IconModule, InputModule],
|
|
22
|
+
declarations: [
|
|
23
|
+
TreeSelectComponent,
|
|
24
|
+
TreeNodeComponent,
|
|
25
|
+
TreeNodePlaceholderComponent,
|
|
26
|
+
],
|
|
27
|
+
exports: [
|
|
28
|
+
TreeSelectComponent,
|
|
29
|
+
TreeNodeComponent,
|
|
30
|
+
TreeNodePlaceholderComponent,
|
|
31
|
+
],
|
|
32
|
+
}]
|
|
33
|
+
}] });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1zZWxlY3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyZWUtc2VsZWN0L3RyZWUtc2VsZWN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLG1CQUFtQixHQUNwQixNQUFNLHlCQUF5QixDQUFDOztBQWVqQyxNQUFNLE9BQU8sZ0JBQWdCO3VHQUFoQixnQkFBZ0I7d0dBQWhCLGdCQUFnQixpQkFWekIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQiw0QkFBNEIsYUFKcEIsWUFBWSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsV0FBVyxhQU81RCxtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLDRCQUE0Qjt3R0FHbkIsZ0JBQWdCLFlBWmpCLFlBQVksRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFdBQVc7OzJGQVluRCxnQkFBZ0I7a0JBYjVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDO29CQUMvRCxZQUFZLEVBQUU7d0JBQ1osbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQiw0QkFBNEI7cUJBQzdCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uJztcbmltcG9ydCB7IElucHV0TW9kdWxlIH0gZnJvbSAnLi4vaW5wdXQnO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBUcmVlTm9kZVBsYWNlaG9sZGVyQ29tcG9uZW50IH0gZnJvbSAnLi90cmVlLW5vZGUtcGxhY2Vob2xkZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFRyZWVOb2RlQ29tcG9uZW50LFxuICBUcmVlU2VsZWN0Q29tcG9uZW50LFxufSBmcm9tICcuL3RyZWUtc2VsZWN0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRvb2x0aXBNb2R1bGUsIEljb25Nb2R1bGUsIElucHV0TW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgVHJlZVNlbGVjdENvbXBvbmVudCxcbiAgICBUcmVlTm9kZUNvbXBvbmVudCxcbiAgICBUcmVlTm9kZVBsYWNlaG9sZGVyQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVHJlZVNlbGVjdENvbXBvbmVudCxcbiAgICBUcmVlTm9kZUNvbXBvbmVudCxcbiAgICBUcmVlTm9kZVBsYWNlaG9sZGVyQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUcmVlU2VsZWN0TW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const ComponentSize = {
|
|
2
|
+
Large: 'large',
|
|
3
|
+
Medium: 'medium',
|
|
4
|
+
Small: 'small',
|
|
5
|
+
Mini: 'mini',
|
|
6
|
+
Empty: '',
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLEtBQUssRUFBRSxPQUFPO0lBQ2QsTUFBTSxFQUFFLFFBQVE7SUFDaEIsS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsTUFBTTtJQUlaLEtBQUssRUFBRSxFQUFFO0NBQ0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFZhbHVlT2Y8VD4gPSBUW2tleW9mIFRdO1xuXG5leHBvcnQgY29uc3QgQ29tcG9uZW50U2l6ZSA9IHtcbiAgTGFyZ2U6ICdsYXJnZScsXG4gIE1lZGl1bTogJ21lZGl1bScsXG4gIFNtYWxsOiAnc21hbGwnLFxuICBNaW5pOiAnbWluaScsXG4gIC8qKlxuICAgKiByZXByZXNlbnRzIGRlZmF1bHQgaW50ZXJuYWxseSwgQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvdnNjb2RlLW5nLWxhbmd1YWdlLXNlcnZpY2UvaXNzdWVzLzExNDdcbiAgICovXG4gIEVtcHR5OiAnJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIENvbXBvbmVudFNpemUgPSBWYWx1ZU9mPHR5cGVvZiBDb21wb25lbnRTaXplPjtcbiJdfQ==
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export class Bem {
|
|
2
|
+
namespace;
|
|
3
|
+
constructor(namespace) {
|
|
4
|
+
this.namespace = namespace;
|
|
5
|
+
}
|
|
6
|
+
block(...modifiers) {
|
|
7
|
+
const activatedModifiers = getActivatedModifiers(modifiers);
|
|
8
|
+
if (activatedModifiers.length > 0) {
|
|
9
|
+
return `${this.namespace} ${activatedModifiers
|
|
10
|
+
.map(modifier => this.namespace + '--' + modifier)
|
|
11
|
+
.join(' ')}`;
|
|
12
|
+
}
|
|
13
|
+
return this.namespace;
|
|
14
|
+
}
|
|
15
|
+
modifier(name) {
|
|
16
|
+
return `${this.namespace}--${name}`;
|
|
17
|
+
}
|
|
18
|
+
element(name, ...modifiers) {
|
|
19
|
+
const activatedModifiers = getActivatedModifiers(modifiers);
|
|
20
|
+
if (activatedModifiers.length > 0) {
|
|
21
|
+
return `${this.namespace}__${name} ${activatedModifiers
|
|
22
|
+
.map(modifier => this.namespace + '__' + name + '--' + modifier)
|
|
23
|
+
.join(' ')}`;
|
|
24
|
+
}
|
|
25
|
+
return `${this.namespace}__${name}`;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function getActivatedModifiers(modifiers) {
|
|
29
|
+
return modifiers.reduce((acc, modifier) => {
|
|
30
|
+
if (!modifier) {
|
|
31
|
+
return acc;
|
|
32
|
+
}
|
|
33
|
+
return acc.concat(typeof modifier === 'string'
|
|
34
|
+
? [modifier]
|
|
35
|
+
: getActivatedModifiersFromObject(modifier));
|
|
36
|
+
}, []);
|
|
37
|
+
}
|
|
38
|
+
function getActivatedModifiersFromObject(modifiers) {
|
|
39
|
+
return Object.keys(modifiers).filter(key => modifiers[key]);
|
|
40
|
+
}
|
|
41
|
+
export function buildBem(namespace) {
|
|
42
|
+
return new Bem(namespace);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2JlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLE9BQU8sR0FBRztJQUNlO0lBQTdCLFlBQTZCLFNBQWlCO1FBQWpCLGNBQVMsR0FBVCxTQUFTLENBQVE7SUFBRyxDQUFDO0lBRWxELEtBQUssQ0FBQyxHQUFHLFNBQXNEO1FBQzdELE1BQU0sa0JBQWtCLEdBQUcscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUQsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2pDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLGtCQUFrQjtpQkFDM0MsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsUUFBUSxDQUFDO2lCQUNqRCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztTQUNoQjtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVk7UUFDbkIsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELE9BQU8sQ0FDTCxJQUFZLEVBQ1osR0FBRyxTQUEyRDtRQUU5RCxNQUFNLGtCQUFrQixHQUFHLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVELElBQUksa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLElBQUksa0JBQWtCO2lCQUNwRCxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQztpQkFDL0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7U0FDaEI7UUFFRCxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7QUFFRCxTQUFTLHFCQUFxQixDQUM1QixTQUEyRDtJQUUzRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQVcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7UUFDbEQsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFDRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQ2YsT0FBTyxRQUFRLEtBQUssUUFBUTtZQUMxQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDWixDQUFDLENBQUMsK0JBQStCLENBQUMsUUFBUSxDQUFDLENBQzlDLENBQUM7SUFDSixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDO0FBRUQsU0FBUywrQkFBK0IsQ0FBQyxTQUV4QztJQUNDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxTQUFpQjtJQUN4QyxPQUFPLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBFeHBlcmltZW50YWwgYmVtIGNsYXNzbmFtZSBoZWxwZXJcbmV4cG9ydCBjbGFzcyBCZW0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG5hbWVzcGFjZTogc3RyaW5nKSB7fVxuXG4gIGJsb2NrKC4uLm1vZGlmaWVyczogQXJyYXk8eyBbbmFtZTogc3RyaW5nXTogYm9vbGVhbiB9IHwgc3RyaW5nPikge1xuICAgIGNvbnN0IGFjdGl2YXRlZE1vZGlmaWVycyA9IGdldEFjdGl2YXRlZE1vZGlmaWVycyhtb2RpZmllcnMpO1xuICAgIGlmIChhY3RpdmF0ZWRNb2RpZmllcnMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGAke3RoaXMubmFtZXNwYWNlfSAke2FjdGl2YXRlZE1vZGlmaWVyc1xuICAgICAgICAubWFwKG1vZGlmaWVyID0+IHRoaXMubmFtZXNwYWNlICsgJy0tJyArIG1vZGlmaWVyKVxuICAgICAgICAuam9pbignICcpfWA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm5hbWVzcGFjZTtcbiAgfVxuXG4gIG1vZGlmaWVyKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBgJHt0aGlzLm5hbWVzcGFjZX0tLSR7bmFtZX1gO1xuICB9XG5cbiAgZWxlbWVudChcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgLi4ubW9kaWZpZXJzOiBBcnJheTx7IFtuYW1lOiBzdHJpbmddOiBib29sZWFuIHwgJycgfSB8IHN0cmluZz5cbiAgKSB7XG4gICAgY29uc3QgYWN0aXZhdGVkTW9kaWZpZXJzID0gZ2V0QWN0aXZhdGVkTW9kaWZpZXJzKG1vZGlmaWVycyk7XG5cbiAgICBpZiAoYWN0aXZhdGVkTW9kaWZpZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLm5hbWVzcGFjZX1fXyR7bmFtZX0gJHthY3RpdmF0ZWRNb2RpZmllcnNcbiAgICAgICAgLm1hcChtb2RpZmllciA9PiB0aGlzLm5hbWVzcGFjZSArICdfXycgKyBuYW1lICsgJy0tJyArIG1vZGlmaWVyKVxuICAgICAgICAuam9pbignICcpfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3RoaXMubmFtZXNwYWNlfV9fJHtuYW1lfWA7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0QWN0aXZhdGVkTW9kaWZpZXJzKFxuICBtb2RpZmllcnM6IEFycmF5PHsgW25hbWU6IHN0cmluZ106IGJvb2xlYW4gfCAnJyB9IHwgc3RyaW5nPixcbikge1xuICByZXR1cm4gbW9kaWZpZXJzLnJlZHVjZTxzdHJpbmdbXT4oKGFjYywgbW9kaWZpZXIpID0+IHtcbiAgICBpZiAoIW1vZGlmaWVyKSB7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH1cbiAgICByZXR1cm4gYWNjLmNvbmNhdChcbiAgICAgIHR5cGVvZiBtb2RpZmllciA9PT0gJ3N0cmluZydcbiAgICAgICAgPyBbbW9kaWZpZXJdXG4gICAgICAgIDogZ2V0QWN0aXZhdGVkTW9kaWZpZXJzRnJvbU9iamVjdChtb2RpZmllciksXG4gICAgKTtcbiAgfSwgW10pO1xufVxuXG5mdW5jdGlvbiBnZXRBY3RpdmF0ZWRNb2RpZmllcnNGcm9tT2JqZWN0KG1vZGlmaWVyczoge1xuICBbbmFtZTogc3RyaW5nXTogYm9vbGVhbiB8ICcnO1xufSkge1xuICByZXR1cm4gT2JqZWN0LmtleXMobW9kaWZpZXJzKS5maWx0ZXIoa2V5ID0+IG1vZGlmaWVyc1trZXldKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQmVtKG5hbWVzcGFjZTogc3RyaW5nKSB7XG4gIHJldHVybiBuZXcgQmVtKG5hbWVzcGFjZSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { booleanAttribute } from '@angular/core';
|
|
2
|
+
export const coerceString = (val) => (val == null ? '' : String(val));
|
|
3
|
+
export const coerceAttrBoolean = booleanAttribute;
|
|
4
|
+
export const isNumberValue = (val) => !isNaN(parseFloat(val)) && !isNaN(Number(val));
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lcmNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvY29lcmNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBSy9FLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUM1QixnQkFBZ0IsQ0FBQztBQUduQixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxHQUFZLEVBQUUsRUFBRSxDQUM1QyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IGNvZXJjZVN0cmluZyA9ICh2YWw6IHVua25vd24pID0+ICh2YWwgPT0gbnVsbCA/ICcnIDogU3RyaW5nKHZhbCkpO1xuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy81MTE5MCNpc3N1ZWNvbW1lbnQtMTY1NTU2NjMzMlxuZXhwb3J0IHR5cGUgQXR0ckJvb2xlYW4gPSBib29sZWFuIHwgJyc7XG5cbmV4cG9ydCBjb25zdCBjb2VyY2VBdHRyQm9vbGVhbjogKHZhbDogQXR0ckJvb2xlYW4pID0+IGJvb2xlYW4gPVxuICBib29sZWFuQXR0cmlidXRlO1xuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvMWM1NTNlZTkxNWI1MDA4MjBlMTFjNTNiZmZjNTgyYjY1YmI2YjdhYy9wYWNrYWdlcy9jb3JlL3NyYy91dGlsL2NvZXJjaW9uLnRzI0wzOVxuZXhwb3J0IGNvbnN0IGlzTnVtYmVyVmFsdWUgPSAodmFsOiB1bmtub3duKSA9PlxuICAhaXNOYU4ocGFyc2VGbG9hdCh2YWwgYXMgYW55KSkgJiYgIWlzTmFOKE51bWJlcih2YWwpKTtcbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
|
2
|
+
export const last = (values) => values?.[values.length - 1];
|
|
3
|
+
export const isTemplateRef = (label) => label instanceof TemplateRef;
|
|
4
|
+
export const isString = (label) => typeof label === 'string';
|
|
5
|
+
export const handlePixel = (value) => Number.isNaN(+value) ? value : value + 'px';
|
|
6
|
+
export function getElementOffset(elem) {
|
|
7
|
+
if (!elem.getClientRects().length) {
|
|
8
|
+
return { top: 0, left: 0 };
|
|
9
|
+
}
|
|
10
|
+
const rect = elem.getBoundingClientRect();
|
|
11
|
+
return {
|
|
12
|
+
top: rect.top,
|
|
13
|
+
left: rect.left,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1QyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBSSxNQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFcEUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBVSxFQUFpQyxFQUFFLENBQ3pFLEtBQUssWUFBWSxXQUFXLENBQUM7QUFFL0IsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBVSxFQUFtQixFQUFFLENBQ3RELE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztBQUU1QixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFzQixFQUFFLEVBQUUsQ0FDcEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBRSxLQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0FBRTFELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFpQjtJQUloRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLE1BQU0sRUFBRTtRQUNqQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7S0FDNUI7SUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMxQyxPQUFPO1FBQ0wsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1FBQ2IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO0tBQ2hCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IGxhc3QgPSA8VD4odmFsdWVzOiBUW10pID0+IHZhbHVlcz8uW3ZhbHVlcy5sZW5ndGggLSAxXTtcblxuZXhwb3J0IGNvbnN0IGlzVGVtcGxhdGVSZWYgPSAobGFiZWw6IGFueSk6IGxhYmVsIGlzIFRlbXBsYXRlUmVmPHVua25vd24+ID0+XG4gIGxhYmVsIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG5cbmV4cG9ydCBjb25zdCBpc1N0cmluZyA9IChsYWJlbDogYW55KTogbGFiZWwgaXMgc3RyaW5nID0+XG4gIHR5cGVvZiBsYWJlbCA9PT0gJ3N0cmluZyc7XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVQaXhlbCA9ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKSA9PlxuICBOdW1iZXIuaXNOYU4oK3ZhbHVlKSA/ICh2YWx1ZSBhcyBzdHJpbmcpIDogdmFsdWUgKyAncHgnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudE9mZnNldChlbGVtOiBIVE1MRWxlbWVudCk6IHtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbn0ge1xuICBpZiAoIWVsZW0uZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpIHtcbiAgICByZXR1cm4geyB0b3A6IDAsIGxlZnQ6IDAgfTtcbiAgfVxuXG4gIGNvbnN0IHJlY3QgPSBlbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICByZXR1cm4ge1xuICAgIHRvcDogcmVjdC50b3AsXG4gICAgbGVmdDogcmVjdC5sZWZ0LFxuICB9O1xufVxuIl19
|