@ethlete/cdk 4.3.5 → 4.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +59 -2
- package/esm2022/lib/components/accordion/components/accordion/accordion.component.mjs +3 -3
- package/esm2022/lib/components/accordion/components/accordion-group/accordion-group.component.mjs +3 -3
- package/esm2022/lib/components/accordion/partials/accordion-hint/accordion-hint.directive.mjs +3 -3
- package/esm2022/lib/components/accordion/partials/accordion-hint-wrapper/accordion-hint-wrapper.directive.mjs +3 -3
- package/esm2022/lib/components/accordion/partials/accordion-label/accordion-label.directive.mjs +3 -3
- package/esm2022/lib/components/accordion/partials/accordion-label-wrapper/accordion-label-wrapper.directive.mjs +3 -3
- package/esm2022/lib/components/bracket/components/bracket/bracket.component.mjs +3 -3
- package/esm2022/lib/components/bracket/directives/bracket-match/bracket-match.directive.mjs +3 -3
- package/esm2022/lib/components/bracket/directives/bracket-round/bracket-round.directive.mjs +3 -3
- package/esm2022/lib/components/bracket/partials/bracket-match/bracket-match.component.mjs +3 -3
- package/esm2022/lib/components/bracket/partials/bracket-round-header/bracket-round-header.component.mjs +3 -3
- package/esm2022/lib/components/button/components/button/button.component.mjs +3 -3
- package/esm2022/lib/components/button/components/query-button/query-button.component.mjs +3 -3
- package/esm2022/lib/components/button/directives/button/button.directive.mjs +3 -3
- package/esm2022/lib/components/button/directives/query-button/query-button.directive.mjs +3 -3
- package/esm2022/lib/components/filter/filter-overlay/components/filter-overlay-page-outlet/filter-overlay-page-outlet.component.mjs +3 -3
- package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-back-or-close/filter-overlay-back-or-close.directive.mjs +3 -3
- package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-link/filter-overlay-link.directive.mjs +3 -3
- package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-reset/filter-overlay-reset.directive.mjs +3 -3
- package/esm2022/lib/components/filter/filter-overlay/directives/filter-overlay-submit/filter-overlay-submit.directive.mjs +3 -3
- package/esm2022/lib/components/filter/filter-overlay/services/filter-overlay.service.mjs +3 -3
- package/esm2022/lib/components/filter/rich-filter/components/rich-filter-host/rich-filter-host.component.mjs +3 -3
- package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-button/rich-filter-button.directive.mjs +3 -3
- package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-button-slot/rich-filter-button-slot.directive.mjs +3 -3
- package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-content/rich-filter-content.directive.mjs +3 -3
- package/esm2022/lib/components/filter/rich-filter/directives/rich-filter-top/rich-filter-top.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/checkbox/components/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/checkbox/components/checkbox-field/checkbox-field.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/checkbox/components/checkbox-group/checkbox-group.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.mjs +6 -6
- package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group/checkbox-group.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/error/components/error/error.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/components/date-input/date-input.component.mjs +5 -5
- package/esm2022/lib/components/forms/components/input/components/date-time-input/date-time-input.component.mjs +23 -0
- package/esm2022/lib/components/forms/components/input/components/date-time-input/public-api.mjs +2 -0
- package/esm2022/lib/components/forms/components/input/components/email-input/email-input.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/components/input-field/input-field.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/components/number-input/number-input.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/components/password-input/password-input.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/components/public-api.mjs +2 -1
- package/esm2022/lib/components/forms/components/input/components/search-input/search-input.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/components/text-input/text-input.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/components/textarea-input/textarea-input.component.mjs +5 -5
- package/esm2022/lib/components/forms/components/input/directives/autosize-textarea/autosize-textarea.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/date-input/date-input.directive.mjs +15 -15
- package/esm2022/lib/components/forms/components/input/directives/date-time-input/date-time-input.directive.mjs +61 -0
- package/esm2022/lib/components/forms/components/input/directives/date-time-input/public-api.mjs +2 -0
- package/esm2022/lib/components/forms/components/input/directives/email-input/email-input.directive.mjs +9 -9
- package/esm2022/lib/components/forms/components/input/directives/number-input/number-input.directive.mjs +9 -9
- package/esm2022/lib/components/forms/components/input/directives/password-input/password-input.directive.mjs +9 -9
- package/esm2022/lib/components/forms/components/input/directives/public-api.mjs +3 -1
- package/esm2022/lib/components/forms/components/input/directives/search-input/search-input.directive.mjs +9 -9
- package/esm2022/lib/components/forms/components/input/directives/show-picker-trigger/public-api.mjs +2 -0
- package/esm2022/lib/components/forms/components/input/directives/show-picker-trigger/show-picker-trigger.directive.mjs +42 -0
- package/esm2022/lib/components/forms/components/input/directives/text-input/text-input.directive.mjs +9 -9
- package/esm2022/lib/components/forms/components/input/directives/textarea-input/textarea-input.directive.mjs +9 -9
- package/esm2022/lib/components/forms/components/input/input.imports.mjs +5 -2
- package/esm2022/lib/components/forms/components/input/partials/password-input-toggle/password-input-toggle.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/partials/search-input-clear/search-input-clear.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/label/components/label/label.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/label/directives/label-suffix/label-suffix.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/radio/components/radio/radio.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/radio/components/radio-field/radio-field.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/radio/components/radio-group/radio-group.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/radio/directives/radio/radio.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button/segmented-button.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-field/segmented-button-field.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-group/segmented-button-group.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.mjs +5 -5
- package/esm2022/lib/components/forms/components/select/components/combobox/components/combobox/combobox.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.mjs +4 -4
- package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-empty-template/combobox-body-empty-template.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-error-template/combobox-body-error-template.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-loading-template/combobox-body-loading-template.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-body-more-items-hint-template/combobox-body-more-items-hint-template.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-option-template/combobox-option-template.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-selected-option-template/combobox-selected-option-template.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/native-select/components/native-select/native-select.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-input/native-select-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-option/native-select-option.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/native-select/partials/native-select-option/native-select-option.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/select/components/select/select.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/select/directives/select/select.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/select/directives/select-body/select-body.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/select/partials/select-option/select-option.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/components/select-field/select-field.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/select/directives/select-field/select-field.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/selection-list/components/selection-list-field/selection-list-field.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/selection-list/components/selection-list-option/selection-list-option.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/selection-list/directives/selection-list-field/selection-list-field.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/selection-list/directives/selection-list-option/selection-list-option.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle/slide-toggle.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle-field/slide-toggle-field.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/slide-toggle/directives/slide-toggle/slide-toggle.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/slider/components/slider/slider.component.mjs +3 -3
- package/esm2022/lib/components/forms/components/slider/components/slider-field/slider-field.component.mjs +3 -3
- package/esm2022/lib/components/forms/directives/dynamic-form-field/dynamic-form-field.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/dynamic-form-group/dynamic-form-group.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/expose-input-vars/expose-input-vars.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/if-input-empty/if-input-empty.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/if-input-filled/if-input-filled.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/input/input.directive.mjs +12 -4
- package/esm2022/lib/components/forms/directives/input-prefix/input-prefix.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/input-suffix/input-suffix.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/native-input-ref/native-input-ref.directive.mjs +4 -4
- package/esm2022/lib/components/forms/directives/static-form-field/static-form-field.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/static-form-group/static-form-group.directive.mjs +3 -3
- package/esm2022/lib/components/forms/directives/writeable-input/writeable-input.directive.mjs +4 -4
- package/esm2022/lib/components/forms/index.mjs +2 -0
- package/esm2022/lib/components/forms/services/default-validator-errors.service.mjs +3 -3
- package/esm2022/lib/components/forms/services/form-field-state.service.mjs +3 -3
- package/esm2022/lib/components/forms/services/form-group-state.service.mjs +3 -3
- package/esm2022/lib/components/forms/services/input-state.service.mjs +4 -4
- package/esm2022/lib/components/forms/utils/decorated-form-field.base.mjs +3 -3
- package/esm2022/lib/components/forms/utils/decorated-input.base.mjs +3 -3
- package/esm2022/lib/components/forms/utils/input.base.mjs +14 -8
- package/esm2022/lib/components/icons/chevron-icon/chevron-icon.component.mjs +3 -3
- package/esm2022/lib/components/masonry/components/masonry/masonry.component.mjs +3 -3
- package/esm2022/lib/components/masonry/partials/masonry-item/masonry-item.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/bottom-sheet/components/bottom-sheet-container/bottom-sheet-container.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-container-base/bottom-sheet-container-base.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-drag-handle/bottom-sheet-drag-handle.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-title/bottom-sheet-title.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-base.service.mjs +3 -3
- package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-swipe-handler.service.mjs +3 -3
- package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet.service.mjs +3 -3
- package/esm2022/lib/components/overlay/components/dialog/components/dialog-container/dialog-container.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/dialog/partials/dialog-close/dialog-close.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/dialog/partials/dialog-container-base/dialog-container-base.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/dialog/partials/dialog-title/dialog-title.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/dialog/services/dialog-base.service.mjs +3 -3
- package/esm2022/lib/components/overlay/components/dialog/services/dialog.service.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/components/index.mjs +2 -0
- package/esm2022/lib/components/overlay/components/menu/components/menu/menu.component.mjs +168 -0
- package/esm2022/lib/components/overlay/components/menu/components/menu/public-api.mjs +2 -0
- package/esm2022/lib/components/overlay/components/menu/components/menu-checkbox-item/menu-checkbox-item.component.mjs +68 -0
- package/esm2022/lib/components/overlay/components/menu/components/menu-checkbox-item/public-api.mjs +2 -0
- package/esm2022/lib/components/overlay/components/menu/components/menu-container/menu-container.component.mjs +47 -0
- package/esm2022/lib/components/overlay/components/menu/components/menu-container/public-api.mjs +2 -0
- package/esm2022/lib/components/overlay/components/menu/components/menu-radio-item/menu-radio-item.component.mjs +61 -0
- package/esm2022/lib/components/overlay/components/menu/components/menu-radio-item/public-api.mjs +2 -0
- package/esm2022/lib/components/overlay/components/menu/components/public-api.mjs +5 -0
- package/esm2022/lib/components/overlay/components/menu/directives/index.mjs +2 -0
- package/esm2022/lib/components/overlay/components/menu/directives/menu-checkbox-group/menu-checkbox-group.directive.mjs +31 -0
- package/esm2022/lib/components/overlay/components/menu/directives/menu-checkbox-group/public-api.mjs +2 -0
- package/esm2022/lib/components/overlay/components/menu/directives/menu-group/index.mjs +2 -0
- package/esm2022/lib/components/overlay/components/menu/directives/menu-group/menu-group.directive.mjs +43 -0
- package/esm2022/lib/components/overlay/components/menu/directives/menu-group/public-api.mjs +2 -0
- package/esm2022/lib/components/overlay/components/menu/directives/menu-group-title/index.mjs +2 -0
- package/esm2022/lib/components/overlay/components/menu/directives/menu-group-title/menu-group-title.directive.mjs +41 -0
- package/esm2022/lib/components/overlay/components/menu/directives/menu-group-title/public-api.mjs +2 -0
- package/esm2022/lib/components/overlay/components/menu/directives/menu-item/menu-item.directive.mjs +97 -0
- package/esm2022/lib/components/overlay/components/menu/directives/menu-item/public-api.mjs +2 -0
- package/esm2022/lib/components/overlay/components/menu/directives/menu-radio-group/menu-radio-group.directive.mjs +42 -0
- package/esm2022/lib/components/overlay/components/menu/directives/menu-radio-group/public-api.mjs +2 -0
- package/esm2022/lib/components/overlay/components/menu/directives/menu-trigger/index.mjs +2 -0
- package/esm2022/lib/components/overlay/components/menu/directives/menu-trigger/menu-trigger.directive.mjs +145 -0
- package/esm2022/lib/components/overlay/components/menu/directives/menu-trigger/public-api.mjs +2 -0
- package/esm2022/lib/components/overlay/components/menu/directives/public-api.mjs +7 -0
- package/esm2022/lib/components/overlay/components/menu/menu.imports.mjs +14 -0
- package/esm2022/lib/components/overlay/components/menu/public-api.mjs +4 -17
- package/esm2022/lib/components/overlay/components/menu-deprecated/context-menu-trigger.mjs +166 -0
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-aim.mjs +140 -0
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-bar.mjs +116 -0
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-base.mjs +176 -0
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-errors.mjs +7 -0
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-group.mjs +29 -0
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-interface.mjs +3 -0
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-checkbox.mjs +42 -0
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-radio.mjs +59 -0
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-selectable.mjs +38 -0
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item.mjs +216 -0
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-module.mjs +58 -0
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-stack.mjs +104 -0
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-trigger-base.mjs +80 -0
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-trigger.mjs +243 -0
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu.mjs +119 -0
- package/esm2022/lib/components/overlay/components/menu-deprecated/pointer-focus-tracker.mjs +29 -0
- package/esm2022/lib/components/overlay/components/menu-deprecated/public-api.mjs +17 -0
- package/esm2022/lib/components/overlay/components/overlay/components/overlay-container/overlay-container.component.mjs +35 -8
- package/esm2022/lib/components/overlay/components/overlay/overlay.imports.mjs +9 -4
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-body/overlay-body.component.mjs +147 -0
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-body/public-api.mjs +2 -0
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-close/overlay-close.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-footer/overlay-footer.directive.mjs +49 -0
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-footer/public-api.mjs +2 -0
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-header/overlay-header.directive.mjs +49 -0
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-header/public-api.mjs +2 -0
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-title/overlay-title.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/public-api.mjs +4 -1
- package/esm2022/lib/components/overlay/components/overlay/services/overlay.service.mjs +5 -4
- package/esm2022/lib/components/overlay/components/overlay/utils/overlay-ref.mjs +16 -2
- package/esm2022/lib/components/overlay/components/public-api.mjs +2 -1
- package/esm2022/lib/components/overlay/components/toggletip/components/toggletip/toggletip.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/tooltip/components/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/directives/dynamic-overlay-title/dynamic-overlay-title.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/directives/overlay-close-auto-blocker/overlay-close-auto-blocker.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/services/dynamic-overlay.service.mjs +3 -3
- package/esm2022/lib/components/pagination/components/pagination/pagination.component.mjs +3 -3
- package/esm2022/lib/components/pagination/partials/pagination-link/pagination-link.directive.mjs +3 -3
- package/esm2022/lib/components/pagination/services/pagination-head.service.mjs +3 -3
- package/esm2022/lib/components/picture/picture-data.directive.mjs +3 -3
- package/esm2022/lib/components/picture/picture.component.mjs +3 -3
- package/esm2022/lib/components/picture/pipes/normalize-source/normalize-source.pipe.mjs +3 -3
- package/esm2022/lib/components/progress-spinner/progress-spinner.component.mjs +3 -3
- package/esm2022/lib/components/query-error/components/query-error/query-error.component.mjs +3 -3
- package/esm2022/lib/components/query-error/directives/query-error/query-error.directive.mjs +3 -3
- package/esm2022/lib/components/scrollable/components/scrollable/scrollable.component.mjs +5 -5
- package/esm2022/lib/components/scrollable/directives/scrollable-ignore-child/scrollable-ignore-child.directive.mjs +3 -3
- package/esm2022/lib/components/scrollable/directives/scrollable-is-active-child/scrollable-is-active-child.directive.mjs +3 -3
- package/esm2022/lib/components/skeleton/components/skeleton/skeleton.component.mjs +3 -3
- package/esm2022/lib/components/skeleton/partials/skeleton-item/skeleton-item.component.mjs +3 -3
- package/esm2022/lib/components/sort/components/sort-header/sort-header.component.mjs +3 -3
- package/esm2022/lib/components/sort/partials/sort/sort.directive.mjs +3 -3
- package/esm2022/lib/components/sort/services/sort-header-intl.mjs +3 -3
- package/esm2022/lib/components/table/components/table/table.component.mjs +3 -3
- package/esm2022/lib/components/table/partials/cells/cell/cell.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/cells/cell-def/cell-def.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/cells/column-def/column-def.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/cells/footer-cell/footer-cell.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/cells/footer-cell-def/footer-cell-def.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/cells/header-cell/header-cell.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/cells/header-cell-def/header-cell-def.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/cells/text-column/text-column.component.mjs +3 -3
- package/esm2022/lib/components/table/partials/rows/footer-row/footer-row.component.mjs +3 -3
- package/esm2022/lib/components/table/partials/rows/footer-row-def/footer-row-def.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/rows/header-row/header-row.component.mjs +3 -3
- package/esm2022/lib/components/table/partials/rows/header-row-def/header-row-def.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/rows/no-data-row/no-data-row.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/rows/recycle-rows/recycle-rows.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/rows/row/row.component.mjs +3 -3
- package/esm2022/lib/components/table/partials/rows/row-def/row-def.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/table-busy/table-busy.directive.mjs +3 -3
- package/esm2022/lib/components/table/partials/table-busy-outlet/table-busy-outlet.directive.mjs +3 -3
- package/esm2022/lib/components/tabs/components/inline-tabs/inline-tabs.component.mjs +3 -3
- package/esm2022/lib/components/tabs/components/nav-tabs/nav-tabs.component.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab/inline-tab.component.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body/inline-tab-body.component.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body-host/inline-tab-body-host.directive.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-content/inline-tab-content.directive.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-header/inline-tab-header.component.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label/inline-tab-label.directive.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label-wrapper/inline-tab-label-wrapper.directive.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tab-link/nav-tab-link.directive.mjs +3 -3
- package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tabs-outlet/nav-tabs-outlet.component.mjs +3 -3
- package/esm2022/lib/components/tabs/utils/active-tab-underline.util.mjs +3 -3
- package/esm2022/lib/components/tabs/utils/paginated-tab-header.directive.mjs +3 -3
- package/esm2022/lib/services/swipe-handler.service.mjs +3 -3
- package/fesm2022/ethlete-cdk.mjs +8846 -7724
- package/fesm2022/ethlete-cdk.mjs.map +1 -1
- package/lib/components/forms/components/checkbox/components/checkbox-field/checkbox-field.component.d.ts +1 -1
- package/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.d.ts +1 -1
- package/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.d.ts +3 -3
- package/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.d.ts +1 -1
- package/lib/components/forms/components/input/components/date-input/date-input.component.d.ts +1 -1
- package/lib/components/forms/components/input/components/date-time-input/date-time-input.component.d.ts +10 -0
- package/lib/components/forms/components/input/components/date-time-input/public-api.d.ts +1 -0
- package/lib/components/forms/components/input/components/input-field/input-field.component.d.ts +1 -1
- package/lib/components/forms/components/input/components/public-api.d.ts +1 -0
- package/lib/components/forms/components/input/components/textarea-input/textarea-input.component.d.ts +1 -1
- package/lib/components/forms/components/input/directives/autosize-textarea/autosize-textarea.directive.d.ts +1 -1
- package/lib/components/forms/components/input/directives/date-input/date-input.directive.d.ts +2 -3
- package/lib/components/forms/components/input/directives/date-time-input/date-time-input.directive.d.ts +20 -0
- package/lib/components/forms/components/input/directives/date-time-input/public-api.d.ts +1 -0
- package/lib/components/forms/components/input/directives/email-input/email-input.directive.d.ts +1 -1
- package/lib/components/forms/components/input/directives/number-input/number-input.directive.d.ts +1 -1
- package/lib/components/forms/components/input/directives/password-input/password-input.directive.d.ts +1 -1
- package/lib/components/forms/components/input/directives/public-api.d.ts +2 -0
- package/lib/components/forms/components/input/directives/search-input/search-input.directive.d.ts +1 -1
- package/lib/components/forms/components/input/directives/show-picker-trigger/public-api.d.ts +1 -0
- package/lib/components/forms/components/input/directives/show-picker-trigger/show-picker-trigger.directive.d.ts +10 -0
- package/lib/components/forms/components/input/directives/text-input/text-input.directive.d.ts +1 -1
- package/lib/components/forms/components/input/directives/textarea-input/textarea-input.directive.d.ts +1 -1
- package/lib/components/forms/components/input/input.imports.d.ts +3 -2
- package/lib/components/forms/components/input/partials/password-input-toggle/password-input-toggle.component.d.ts +1 -1
- package/lib/components/forms/components/input/partials/search-input-clear/search-input-clear.component.d.ts +1 -1
- package/lib/components/forms/components/radio/components/radio-group/radio-group.component.d.ts +1 -1
- package/lib/components/forms/components/radio/directives/radio/radio.directive.d.ts +1 -1
- package/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.d.ts +1 -1
- package/lib/components/forms/components/segmented-button/components/segmented-button-group/segmented-button-group.component.d.ts +1 -1
- package/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.d.ts +1 -1
- package/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.d.ts +1 -1
- package/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.d.ts +2 -1
- package/lib/components/forms/components/select/components/select/directives/select/select.directive.d.ts +1 -1
- package/lib/components/forms/components/select/components/select-field/select-field.component.d.ts +1 -1
- package/lib/components/forms/components/selection-list/directives/selection-list-field/selection-list-field.directive.d.ts +1 -1
- package/lib/components/forms/components/selection-list/directives/selection-list-option/selection-list-option.directive.d.ts +1 -1
- package/lib/components/forms/components/slide-toggle/components/slide-toggle-field/slide-toggle-field.component.d.ts +1 -1
- package/lib/components/forms/components/slide-toggle/directives/slide-toggle/slide-toggle.directive.d.ts +1 -1
- package/lib/components/forms/components/slider/components/slider-field/slider-field.component.d.ts +1 -1
- package/lib/components/forms/directives/input/input.directive.d.ts +3 -2
- package/lib/components/forms/directives/native-input-ref/native-input-ref.directive.d.ts +2 -2
- package/lib/components/forms/directives/writeable-input/writeable-input.directive.d.ts +1 -1
- package/lib/components/forms/index.d.ts +1 -0
- package/lib/components/forms/services/input-state.service.d.ts +1 -1
- package/lib/components/forms/utils/input.base.d.ts +3 -1
- package/lib/components/overlay/components/menu/components/index.d.ts +1 -0
- package/lib/components/overlay/components/menu/components/menu/menu.component.d.ts +35 -0
- package/lib/components/overlay/components/menu/components/menu/public-api.d.ts +1 -0
- package/lib/components/overlay/components/menu/components/menu-checkbox-item/menu-checkbox-item.component.d.ts +23 -0
- package/lib/components/overlay/components/menu/components/menu-checkbox-item/public-api.d.ts +1 -0
- package/lib/components/overlay/components/menu/components/menu-container/menu-container.component.d.ts +20 -0
- package/lib/components/overlay/components/menu/components/menu-container/public-api.d.ts +1 -0
- package/lib/components/overlay/components/menu/components/menu-radio-item/menu-radio-item.component.d.ts +21 -0
- package/lib/components/overlay/components/menu/components/menu-radio-item/public-api.d.ts +1 -0
- package/lib/components/overlay/components/menu/components/public-api.d.ts +4 -0
- package/lib/components/overlay/components/menu/directives/index.d.ts +1 -0
- package/lib/components/overlay/components/menu/directives/menu-checkbox-group/menu-checkbox-group.directive.d.ts +9 -0
- package/lib/components/overlay/components/menu/directives/menu-checkbox-group/public-api.d.ts +1 -0
- package/lib/components/overlay/components/menu/directives/menu-group/index.d.ts +1 -0
- package/lib/components/overlay/components/menu/directives/menu-group/menu-group.directive.d.ts +15 -0
- package/lib/components/overlay/components/menu/directives/menu-group/public-api.d.ts +1 -0
- package/lib/components/overlay/components/menu/directives/menu-group-title/index.d.ts +1 -0
- package/lib/components/overlay/components/menu/directives/menu-group-title/menu-group-title.directive.d.ts +11 -0
- package/lib/components/overlay/components/menu/directives/menu-group-title/public-api.d.ts +1 -0
- package/lib/components/overlay/components/menu/directives/menu-item/menu-item.directive.d.ts +32 -0
- package/lib/components/overlay/components/menu/directives/menu-item/public-api.d.ts +1 -0
- package/lib/components/overlay/components/menu/directives/menu-radio-group/menu-radio-group.directive.d.ts +12 -0
- package/lib/components/overlay/components/menu/directives/menu-radio-group/public-api.d.ts +1 -0
- package/lib/components/overlay/components/menu/directives/menu-trigger/index.d.ts +1 -0
- package/lib/components/overlay/components/menu/directives/menu-trigger/menu-trigger.directive.d.ts +39 -0
- package/lib/components/overlay/components/menu/directives/menu-trigger/public-api.d.ts +1 -0
- package/lib/components/overlay/components/menu/directives/public-api.d.ts +6 -0
- package/lib/components/overlay/components/menu/menu.imports.d.ts +3 -0
- package/lib/components/overlay/components/menu/public-api.d.ts +3 -16
- package/lib/components/overlay/components/{menu → menu-deprecated}/context-menu-trigger.d.ts +3 -0
- package/lib/components/overlay/components/{menu → menu-deprecated}/menu-bar.d.ts +3 -0
- package/lib/components/overlay/components/{menu → menu-deprecated}/menu-base.d.ts +3 -0
- package/lib/components/overlay/components/{menu → menu-deprecated}/menu-group.d.ts +3 -0
- package/lib/components/overlay/components/{menu → menu-deprecated}/menu-item-checkbox.d.ts +3 -0
- package/lib/components/overlay/components/{menu → menu-deprecated}/menu-item-radio.d.ts +3 -0
- package/lib/components/overlay/components/{menu → menu-deprecated}/menu-item-selectable.d.ts +3 -0
- package/lib/components/overlay/components/{menu → menu-deprecated}/menu-item.d.ts +3 -0
- package/lib/components/overlay/components/{menu → menu-deprecated}/menu-module.d.ts +3 -0
- package/lib/components/overlay/components/{menu → menu-deprecated}/menu-stack.d.ts +3 -0
- package/lib/components/overlay/components/{menu → menu-deprecated}/menu-trigger-base.d.ts +3 -0
- package/lib/components/overlay/components/{menu → menu-deprecated}/menu-trigger.d.ts +3 -0
- package/lib/components/overlay/components/{menu → menu-deprecated}/menu.d.ts +3 -0
- package/lib/components/overlay/components/{menu → menu-deprecated}/pointer-focus-tracker.d.ts +3 -0
- package/lib/components/overlay/components/menu-deprecated/public-api.d.ts +16 -0
- package/lib/components/overlay/components/overlay/components/overlay-container/overlay-container.component.d.ts +9 -0
- package/lib/components/overlay/components/overlay/overlay.imports.d.ts +2 -3
- package/lib/components/overlay/components/overlay/partials/overlay-body/overlay-body.component.d.ts +36 -0
- package/lib/components/overlay/components/overlay/partials/overlay-body/public-api.d.ts +1 -0
- package/lib/components/overlay/components/overlay/partials/overlay-footer/overlay-footer.directive.d.ts +12 -0
- package/lib/components/overlay/components/overlay/partials/overlay-footer/public-api.d.ts +1 -0
- package/lib/components/overlay/components/overlay/partials/overlay-header/overlay-header.directive.d.ts +12 -0
- package/lib/components/overlay/components/overlay/partials/overlay-header/public-api.d.ts +1 -0
- package/lib/components/overlay/components/overlay/partials/public-api.d.ts +3 -0
- package/lib/components/overlay/components/overlay/utils/overlay-ref.d.ts +11 -0
- package/lib/components/overlay/components/public-api.d.ts +1 -0
- package/package.json +8 -8
- package/esm2022/lib/components/overlay/components/menu/context-menu-trigger.mjs +0 -163
- package/esm2022/lib/components/overlay/components/menu/menu-aim.mjs +0 -140
- package/esm2022/lib/components/overlay/components/menu/menu-bar.mjs +0 -113
- package/esm2022/lib/components/overlay/components/menu/menu-base.mjs +0 -173
- package/esm2022/lib/components/overlay/components/menu/menu-errors.mjs +0 -7
- package/esm2022/lib/components/overlay/components/menu/menu-group.mjs +0 -26
- package/esm2022/lib/components/overlay/components/menu/menu-interface.mjs +0 -3
- package/esm2022/lib/components/overlay/components/menu/menu-item-checkbox.mjs +0 -39
- package/esm2022/lib/components/overlay/components/menu/menu-item-radio.mjs +0 -56
- package/esm2022/lib/components/overlay/components/menu/menu-item-selectable.mjs +0 -35
- package/esm2022/lib/components/overlay/components/menu/menu-item.mjs +0 -213
- package/esm2022/lib/components/overlay/components/menu/menu-module.mjs +0 -52
- package/esm2022/lib/components/overlay/components/menu/menu-stack.mjs +0 -101
- package/esm2022/lib/components/overlay/components/menu/menu-trigger-base.mjs +0 -77
- package/esm2022/lib/components/overlay/components/menu/menu-trigger.mjs +0 -240
- package/esm2022/lib/components/overlay/components/menu/menu.mjs +0 -116
- package/esm2022/lib/components/overlay/components/menu/pointer-focus-tracker.mjs +0 -26
- /package/lib/components/overlay/components/{menu → menu-deprecated}/menu-aim.d.ts +0 -0
- /package/lib/components/overlay/components/{menu → menu-deprecated}/menu-errors.d.ts +0 -0
- /package/lib/components/overlay/components/{menu → menu-deprecated}/menu-interface.d.ts +0 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { Directive, ElementRef, InjectionToken, Input, TemplateRef, computed, inject, signal, } from '@angular/core';
|
|
2
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { AnimatedOverlayDirective, ClickObserverService, signalHostAttributes, signalHostClasses } from '@ethlete/core';
|
|
4
|
+
import { THEME_PROVIDER } from '@ethlete/theming';
|
|
5
|
+
import { filter, fromEvent, take, tap } from 'rxjs';
|
|
6
|
+
import { OverlayCloseBlockerDirective } from '../../../../directives/overlay-close-auto-blocker';
|
|
7
|
+
import { MENU_TEMPLATE, MenuContainerComponent } from '../../components';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@ethlete/core";
|
|
10
|
+
import * as i2 from "../../../../directives/overlay-close-auto-blocker/overlay-close-auto-blocker.directive";
|
|
11
|
+
export const MENU_TRIGGER_TOKEN = new InjectionToken('ET_MENU_TRIGGER_TOKEN');
|
|
12
|
+
let uniqueId = 0;
|
|
13
|
+
export class MenuTriggerDirective {
|
|
14
|
+
set __menuTemplate(value) {
|
|
15
|
+
this.menuTemplate.set(value);
|
|
16
|
+
}
|
|
17
|
+
constructor() {
|
|
18
|
+
this._elementRef = inject(ElementRef);
|
|
19
|
+
this._animatedOverlay = inject(AnimatedOverlayDirective);
|
|
20
|
+
this._themeProvider = inject(THEME_PROVIDER, { optional: true });
|
|
21
|
+
this._clickObserverService = inject(ClickObserverService);
|
|
22
|
+
this.id = `et-menu-trigger-${uniqueId++}`;
|
|
23
|
+
this.isOpen = signal(false);
|
|
24
|
+
this._listenerSubscriptions = [];
|
|
25
|
+
this._currentMenu = signal(null);
|
|
26
|
+
this._currentMenuId = computed(() => {
|
|
27
|
+
const menu = this._currentMenu();
|
|
28
|
+
return menu ? menu.id() : null;
|
|
29
|
+
});
|
|
30
|
+
this.currentMenu = this._currentMenu.asReadonly();
|
|
31
|
+
this.menuTemplate = signal(null);
|
|
32
|
+
this.hostClassBindings = signalHostClasses({
|
|
33
|
+
'et-menu-trigger--open': this.isOpen,
|
|
34
|
+
});
|
|
35
|
+
this.hostAttributeBindings = signalHostAttributes({
|
|
36
|
+
'aria-controls': this._currentMenuId,
|
|
37
|
+
'aria-expanded': this.isOpen,
|
|
38
|
+
});
|
|
39
|
+
this._animatedOverlay.autoHide = true;
|
|
40
|
+
this._animatedOverlay.shift = false;
|
|
41
|
+
this._animatedOverlay.placement = 'bottom';
|
|
42
|
+
this._animatedOverlay.autoResize = true;
|
|
43
|
+
this._animatedOverlay.fallbackPlacements = ['bottom', 'bottom-start', 'bottom-end', 'top', 'top-start', 'top-end'];
|
|
44
|
+
fromEvent(this._elementRef.nativeElement, 'click')
|
|
45
|
+
.pipe(tap(() => this.mount()), takeUntilDestroyed())
|
|
46
|
+
.subscribe();
|
|
47
|
+
this._animatedOverlay
|
|
48
|
+
.afterClosed()
|
|
49
|
+
.pipe(tap(() => this._removeListeners()), takeUntilDestroyed())
|
|
50
|
+
.subscribe();
|
|
51
|
+
}
|
|
52
|
+
ngOnDestroy() {
|
|
53
|
+
this._animatedOverlay._destroy();
|
|
54
|
+
this._removeListeners();
|
|
55
|
+
}
|
|
56
|
+
mount() {
|
|
57
|
+
const menuTemplate = this.menuTemplate();
|
|
58
|
+
if (!menuTemplate) {
|
|
59
|
+
throw new Error('No menu template provided');
|
|
60
|
+
}
|
|
61
|
+
if (!this._animatedOverlay.canMount)
|
|
62
|
+
return;
|
|
63
|
+
const menuRef = this._animatedOverlay.mount({
|
|
64
|
+
component: MenuContainerComponent,
|
|
65
|
+
themeProvider: this._themeProvider,
|
|
66
|
+
providers: [
|
|
67
|
+
{
|
|
68
|
+
provide: MENU_TEMPLATE,
|
|
69
|
+
useValue: menuTemplate,
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
});
|
|
73
|
+
if (menuRef) {
|
|
74
|
+
this.isOpen.set(true);
|
|
75
|
+
this._addListeners();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
unmount(restoreFocus = true) {
|
|
79
|
+
if (!this._animatedOverlay.canUnmount)
|
|
80
|
+
return;
|
|
81
|
+
this._animatedOverlay.unmount();
|
|
82
|
+
this.isOpen.set(false);
|
|
83
|
+
if (restoreFocus) {
|
|
84
|
+
this._animatedOverlay
|
|
85
|
+
.afterClosed()
|
|
86
|
+
.pipe(tap(() => this._elementRef.nativeElement.focus()), take(1))
|
|
87
|
+
.subscribe();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
_connectWithMenu(menu) {
|
|
91
|
+
this._currentMenu.set(menu);
|
|
92
|
+
}
|
|
93
|
+
_clearMenuConnection() {
|
|
94
|
+
this._currentMenu.set(null);
|
|
95
|
+
}
|
|
96
|
+
_addListeners() {
|
|
97
|
+
const keyupEscSub = fromEvent(document, 'keyup')
|
|
98
|
+
.pipe(filter((e) => e.key === 'Escape'), tap(() => this.unmount()))
|
|
99
|
+
.subscribe();
|
|
100
|
+
const clickOutsideSub = this._clickObserverService
|
|
101
|
+
.observe(this._animatedOverlay.componentRef?.location.nativeElement)
|
|
102
|
+
.subscribe((e) => {
|
|
103
|
+
const targetElement = e.target;
|
|
104
|
+
const isInside = this._animatedOverlay.componentRef?.location.nativeElement.contains(targetElement);
|
|
105
|
+
if (!isInside) {
|
|
106
|
+
this.unmount();
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
this._listenerSubscriptions.push(keyupEscSub, clickOutsideSub);
|
|
110
|
+
}
|
|
111
|
+
_removeListeners() {
|
|
112
|
+
this._listenerSubscriptions.forEach((s) => s.unsubscribe());
|
|
113
|
+
this._listenerSubscriptions.length = 0;
|
|
114
|
+
}
|
|
115
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: MenuTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
116
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: MenuTriggerDirective, isStandalone: true, selector: "[etMenuTrigger]", inputs: { __menuTemplate: ["etMenuTrigger", "__menuTemplate"] }, host: { attributes: { "aria-haspopup": "menu" }, properties: { "id": "id" }, classAttribute: "et-menu-trigger" }, providers: [
|
|
117
|
+
{
|
|
118
|
+
provide: MENU_TRIGGER_TOKEN,
|
|
119
|
+
useExisting: MenuTriggerDirective,
|
|
120
|
+
},
|
|
121
|
+
], hostDirectives: [{ directive: i1.AnimatedOverlayDirective }, { directive: i2.OverlayCloseBlockerDirective }], ngImport: i0 }); }
|
|
122
|
+
}
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: MenuTriggerDirective, decorators: [{
|
|
124
|
+
type: Directive,
|
|
125
|
+
args: [{
|
|
126
|
+
selector: '[etMenuTrigger]',
|
|
127
|
+
standalone: true,
|
|
128
|
+
providers: [
|
|
129
|
+
{
|
|
130
|
+
provide: MENU_TRIGGER_TOKEN,
|
|
131
|
+
useExisting: MenuTriggerDirective,
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
hostDirectives: [AnimatedOverlayDirective, OverlayCloseBlockerDirective],
|
|
135
|
+
host: {
|
|
136
|
+
'aria-haspopup': 'menu',
|
|
137
|
+
class: 'et-menu-trigger',
|
|
138
|
+
'[id]': 'id',
|
|
139
|
+
},
|
|
140
|
+
}]
|
|
141
|
+
}], ctorParameters: () => [], propDecorators: { __menuTemplate: [{
|
|
142
|
+
type: Input,
|
|
143
|
+
args: [{ alias: 'etMenuTrigger', required: true }]
|
|
144
|
+
}] } });
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvbWVudS9kaXJlY3RpdmVzL21lbnUtdHJpZ2dlci9tZW51LXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLGNBQWMsRUFDZCxLQUFLLEVBRUwsV0FBVyxFQUNYLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFnQixNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDakcsT0FBTyxFQUFFLGFBQWEsRUFBaUIsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUV4RixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBdUIsdUJBQXVCLENBQUMsQ0FBQztBQUVwRyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFrQmpCLE1BQU0sT0FBTyxvQkFBb0I7SUFxQi9CLElBQ0ksY0FBYyxDQUFDLEtBQTJCO1FBQzVDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7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O29CQUNoQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsV0FBVyxzQkFBc0I7eUJBQ2xDO3FCQUNGO29CQUNELGNBQWMsRUFBRSxDQUFDLHdCQUF3QixFQUFFLDRCQUE0QixDQUFDO29CQUN4RSxJQUFJLEVBQUU7d0JBQ0osZUFBZSxFQUFFLE1BQU07d0JBQ3ZCLEtBQUssRUFBRSxpQkFBaUI7d0JBQ3hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2lCQUNGO3dEQXVCSyxjQUFjO3NCQURqQixLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgVGVtcGxhdGVSZWYsXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBBbmltYXRlZE92ZXJsYXlEaXJlY3RpdmUsIENsaWNrT2JzZXJ2ZXJTZXJ2aWNlLCBzaWduYWxIb3N0QXR0cmlidXRlcywgc2lnbmFsSG9zdENsYXNzZXMgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IFRIRU1FX1BST1ZJREVSIH0gZnJvbSAnQGV0aGxldGUvdGhlbWluZyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGZpbHRlciwgZnJvbUV2ZW50LCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE92ZXJsYXlDbG9zZUJsb2NrZXJEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzL292ZXJsYXktY2xvc2UtYXV0by1ibG9ja2VyJztcbmltcG9ydCB7IE1FTlVfVEVNUExBVEUsIE1lbnVDb21wb25lbnQsIE1lbnVDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzJztcblxuZXhwb3J0IGNvbnN0IE1FTlVfVFJJR0dFUl9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNZW51VHJpZ2dlckRpcmVjdGl2ZT4oJ0VUX01FTlVfVFJJR0dFUl9UT0tFTicpO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZXRNZW51VHJpZ2dlcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBNRU5VX1RSSUdHRVJfVE9LRU4sXG4gICAgICB1c2VFeGlzdGluZzogTWVudVRyaWdnZXJEaXJlY3RpdmUsXG4gICAgfSxcbiAgXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtBbmltYXRlZE92ZXJsYXlEaXJlY3RpdmUsIE92ZXJsYXlDbG9zZUJsb2NrZXJEaXJlY3RpdmVdLFxuICBob3N0OiB7XG4gICAgJ2FyaWEtaGFzcG9wdXAnOiAnbWVudScsXG4gICAgY2xhc3M6ICdldC1tZW51LXRyaWdnZXInLFxuICAgICdbaWRdJzogJ2lkJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTWVudVRyaWdnZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcmVhZG9ubHkgX2FuaW1hdGVkT3ZlcmxheSA9IGluamVjdDxBbmltYXRlZE92ZXJsYXlEaXJlY3RpdmU8TWVudUNvbnRhaW5lckNvbXBvbmVudD4+KEFuaW1hdGVkT3ZlcmxheURpcmVjdGl2ZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RoZW1lUHJvdmlkZXIgPSBpbmplY3QoVEhFTUVfUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NsaWNrT2JzZXJ2ZXJTZXJ2aWNlID0gaW5qZWN0KENsaWNrT2JzZXJ2ZXJTZXJ2aWNlKTtcblxuICByZWFkb25seSBpZCA9IGBldC1tZW51LXRyaWdnZXItJHt1bmlxdWVJZCsrfWA7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzT3BlbiA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbGlzdGVuZXJTdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2N1cnJlbnRNZW51ID0gc2lnbmFsPE1lbnVDb21wb25lbnQgfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jdXJyZW50TWVudUlkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG1lbnUgPSB0aGlzLl9jdXJyZW50TWVudSgpO1xuICAgIHJldHVybiBtZW51ID8gbWVudS5pZCgpIDogbnVsbDtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgY3VycmVudE1lbnUgPSB0aGlzLl9jdXJyZW50TWVudS5hc1JlYWRvbmx5KCk7XG5cbiAgQElucHV0KHsgYWxpYXM6ICdldE1lbnVUcmlnZ2VyJywgcmVxdWlyZWQ6IHRydWUgfSlcbiAgc2V0IF9fbWVudVRlbXBsYXRlKHZhbHVlOiBUZW1wbGF0ZVJlZjx1bmtub3duPikge1xuICAgIHRoaXMubWVudVRlbXBsYXRlLnNldCh2YWx1ZSk7XG4gIH1cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1lbnVUZW1wbGF0ZSA9IHNpZ25hbDxUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGw+KG51bGwpO1xuXG4gIHJlYWRvbmx5IGhvc3RDbGFzc0JpbmRpbmdzID0gc2lnbmFsSG9zdENsYXNzZXMoe1xuICAgICdldC1tZW51LXRyaWdnZXItLW9wZW4nOiB0aGlzLmlzT3BlbixcbiAgfSk7XG5cbiAgcmVhZG9ubHkgaG9zdEF0dHJpYnV0ZUJpbmRpbmdzID0gc2lnbmFsSG9zdEF0dHJpYnV0ZXMoe1xuICAgICdhcmlhLWNvbnRyb2xzJzogdGhpcy5fY3VycmVudE1lbnVJZCxcbiAgICAnYXJpYS1leHBhbmRlZCc6IHRoaXMuaXNPcGVuLFxuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9hbmltYXRlZE92ZXJsYXkuYXV0b0hpZGUgPSB0cnVlO1xuICAgIHRoaXMuX2FuaW1hdGVkT3ZlcmxheS5zaGlmdCA9IGZhbHNlO1xuICAgIHRoaXMuX2FuaW1hdGVkT3ZlcmxheS5wbGFjZW1lbnQgPSAnYm90dG9tJztcbiAgICB0aGlzLl9hbmltYXRlZE92ZXJsYXkuYXV0b1Jlc2l6ZSA9IHRydWU7XG4gICAgdGhpcy5fYW5pbWF0ZWRPdmVybGF5LmZhbGxiYWNrUGxhY2VtZW50cyA9IFsnYm90dG9tJywgJ2JvdHRvbS1zdGFydCcsICdib3R0b20tZW5kJywgJ3RvcCcsICd0b3Atc3RhcnQnLCAndG9wLWVuZCddO1xuXG4gICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NsaWNrJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5tb3VudCgpKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl9hbmltYXRlZE92ZXJsYXlcbiAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuX3JlbW92ZUxpc3RlbmVycygpKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9hbmltYXRlZE92ZXJsYXkuX2Rlc3Ryb3koKTtcbiAgICB0aGlzLl9yZW1vdmVMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIG1vdW50KCkge1xuICAgIGNvbnN0IG1lbnVUZW1wbGF0ZSA9IHRoaXMubWVudVRlbXBsYXRlKCk7XG5cbiAgICBpZiAoIW1lbnVUZW1wbGF0ZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBtZW51IHRlbXBsYXRlIHByb3ZpZGVkJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLl9hbmltYXRlZE92ZXJsYXkuY2FuTW91bnQpIHJldHVybjtcblxuICAgIGNvbnN0IG1lbnVSZWYgPSB0aGlzLl9hbmltYXRlZE92ZXJsYXkubW91bnQoe1xuICAgICAgY29tcG9uZW50OiBNZW51Q29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgdGhlbWVQcm92aWRlcjogdGhpcy5fdGhlbWVQcm92aWRlcixcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTUVOVV9URU1QTEFURSxcbiAgICAgICAgICB1c2VWYWx1ZTogbWVudVRlbXBsYXRlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGlmIChtZW51UmVmKSB7XG4gICAgICB0aGlzLmlzT3Blbi5zZXQodHJ1ZSk7XG4gICAgICB0aGlzLl9hZGRMaXN0ZW5lcnMoKTtcbiAgICB9XG4gIH1cblxuICB1bm1vdW50KHJlc3RvcmVGb2N1cyA9IHRydWUpIHtcbiAgICBpZiAoIXRoaXMuX2FuaW1hdGVkT3ZlcmxheS5jYW5Vbm1vdW50KSByZXR1cm47XG5cbiAgICB0aGlzLl9hbmltYXRlZE92ZXJsYXkudW5tb3VudCgpO1xuICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG5cbiAgICBpZiAocmVzdG9yZUZvY3VzKSB7XG4gICAgICB0aGlzLl9hbmltYXRlZE92ZXJsYXlcbiAgICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFwKCgpID0+IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpKSxcbiAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBfY29ubmVjdFdpdGhNZW51KG1lbnU6IE1lbnVDb21wb25lbnQpIHtcbiAgICB0aGlzLl9jdXJyZW50TWVudS5zZXQobWVudSk7XG4gIH1cblxuICBfY2xlYXJNZW51Q29ubmVjdGlvbigpIHtcbiAgICB0aGlzLl9jdXJyZW50TWVudS5zZXQobnVsbCk7XG4gIH1cblxuICBwcml2YXRlIF9hZGRMaXN0ZW5lcnMoKSB7XG4gICAgY29uc3Qga2V5dXBFc2NTdWIgPSBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oZG9jdW1lbnQsICdrZXl1cCcpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChlKSA9PiBlLmtleSA9PT0gJ0VzY2FwZScpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy51bm1vdW50KCkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgY29uc3QgY2xpY2tPdXRzaWRlU3ViID0gdGhpcy5fY2xpY2tPYnNlcnZlclNlcnZpY2VcbiAgICAgIC5vYnNlcnZlKHRoaXMuX2FuaW1hdGVkT3ZlcmxheS5jb21wb25lbnRSZWY/LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpXG4gICAgICAuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBlLnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgY29uc3QgaXNJbnNpZGUgPSB0aGlzLl9hbmltYXRlZE92ZXJsYXkuY29tcG9uZW50UmVmPy5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpO1xuXG4gICAgICAgIGlmICghaXNJbnNpZGUpIHtcbiAgICAgICAgICB0aGlzLnVubW91bnQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICB0aGlzLl9saXN0ZW5lclN1YnNjcmlwdGlvbnMucHVzaChrZXl1cEVzY1N1YiwgY2xpY2tPdXRzaWRlU3ViKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZUxpc3RlbmVycygpIHtcbiAgICB0aGlzLl9saXN0ZW5lclN1YnNjcmlwdGlvbnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB0aGlzLl9saXN0ZW5lclN1YnNjcmlwdGlvbnMubGVuZ3RoID0gMDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './menu-trigger.directive';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvbWVudS9kaXJlY3RpdmVzL21lbnUtdHJpZ2dlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21lbnUtdHJpZ2dlci5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './menu-checkbox-group/public-api';
|
|
2
|
+
export * from './menu-group-title/public-api';
|
|
3
|
+
export * from './menu-group/public-api';
|
|
4
|
+
export * from './menu-item/public-api';
|
|
5
|
+
export * from './menu-radio-group/public-api';
|
|
6
|
+
export * from './menu-trigger/public-api';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvbWVudS9kaXJlY3RpdmVzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21lbnUtY2hlY2tib3gtZ3JvdXAvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL21lbnUtZ3JvdXAtdGl0bGUvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL21lbnUtZ3JvdXAvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL21lbnUtaXRlbS9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbWVudS1yYWRpby1ncm91cC9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbWVudS10cmlnZ2VyL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { MenuCheckboxItemComponent, MenuComponent, MenuRadioItemComponent } from './components';
|
|
2
|
+
import { MenuCheckboxGroupDirective, MenuGroupDirective, MenuGroupTitleDirective, MenuItemDirective, MenuRadioGroupDirective, MenuTriggerDirective, } from './directives';
|
|
3
|
+
export const MenuImports = [
|
|
4
|
+
MenuCheckboxGroupDirective,
|
|
5
|
+
MenuGroupDirective,
|
|
6
|
+
MenuGroupTitleDirective,
|
|
7
|
+
MenuItemDirective,
|
|
8
|
+
MenuRadioGroupDirective,
|
|
9
|
+
MenuTriggerDirective,
|
|
10
|
+
MenuCheckboxItemComponent,
|
|
11
|
+
MenuComponent,
|
|
12
|
+
MenuRadioItemComponent,
|
|
13
|
+
];
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5pbXBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL292ZXJsYXkvY29tcG9uZW50cy9tZW51L21lbnUuaW1wb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsYUFBYSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hHLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLG9CQUFvQixHQUNyQixNQUFNLGNBQWMsQ0FBQztBQUV0QixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsMEJBQTBCO0lBQzFCLGtCQUFrQjtJQUNsQix1QkFBdUI7SUFDdkIsaUJBQWlCO0lBQ2pCLHVCQUF1QjtJQUN2QixvQkFBb0I7SUFDcEIseUJBQXlCO0lBQ3pCLGFBQWE7SUFDYixzQkFBc0I7Q0FDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVudUNoZWNrYm94SXRlbUNvbXBvbmVudCwgTWVudUNvbXBvbmVudCwgTWVudVJhZGlvSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICBNZW51Q2hlY2tib3hHcm91cERpcmVjdGl2ZSxcbiAgTWVudUdyb3VwRGlyZWN0aXZlLFxuICBNZW51R3JvdXBUaXRsZURpcmVjdGl2ZSxcbiAgTWVudUl0ZW1EaXJlY3RpdmUsXG4gIE1lbnVSYWRpb0dyb3VwRGlyZWN0aXZlLFxuICBNZW51VHJpZ2dlckRpcmVjdGl2ZSxcbn0gZnJvbSAnLi9kaXJlY3RpdmVzJztcblxuZXhwb3J0IGNvbnN0IE1lbnVJbXBvcnRzID0gW1xuICBNZW51Q2hlY2tib3hHcm91cERpcmVjdGl2ZSxcbiAgTWVudUdyb3VwRGlyZWN0aXZlLFxuICBNZW51R3JvdXBUaXRsZURpcmVjdGl2ZSxcbiAgTWVudUl0ZW1EaXJlY3RpdmUsXG4gIE1lbnVSYWRpb0dyb3VwRGlyZWN0aXZlLFxuICBNZW51VHJpZ2dlckRpcmVjdGl2ZSxcbiAgTWVudUNoZWNrYm94SXRlbUNvbXBvbmVudCxcbiAgTWVudUNvbXBvbmVudCxcbiAgTWVudVJhZGlvSXRlbUNvbXBvbmVudCxcbl0gYXMgY29uc3Q7XG4iXX0=
|
|
@@ -1,17 +1,4 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './menu
|
|
4
|
-
|
|
5
|
-
export * from './menu-base';
|
|
6
|
-
export * from './menu-group';
|
|
7
|
-
export * from './menu-interface';
|
|
8
|
-
export * from './menu-item';
|
|
9
|
-
export * from './menu-item-checkbox';
|
|
10
|
-
export * from './menu-item-radio';
|
|
11
|
-
export * from './menu-item-selectable';
|
|
12
|
-
export * from './menu-module';
|
|
13
|
-
export * from './menu-stack';
|
|
14
|
-
export * from './menu-trigger';
|
|
15
|
-
export * from './menu-trigger-base';
|
|
16
|
-
export * from './pointer-focus-tracker';
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvbWVudS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29udGV4dC1tZW51LXRyaWdnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9tZW51JztcbmV4cG9ydCAqIGZyb20gJy4vbWVudS1haW0nO1xuZXhwb3J0ICogZnJvbSAnLi9tZW51LWJhcic7XG5leHBvcnQgKiBmcm9tICcuL21lbnUtYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL21lbnUtZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9tZW51LWludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL21lbnUtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL21lbnUtaXRlbS1jaGVja2JveCc7XG5leHBvcnQgKiBmcm9tICcuL21lbnUtaXRlbS1yYWRpbyc7XG5leHBvcnQgKiBmcm9tICcuL21lbnUtaXRlbS1zZWxlY3RhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vbWVudS1tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tZW51LXN0YWNrJztcbmV4cG9ydCAqIGZyb20gJy4vbWVudS10cmlnZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbWVudS10cmlnZ2VyLWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wb2ludGVyLWZvY3VzLXRyYWNrZXInO1xuIl19
|
|
1
|
+
export * from './components/public-api';
|
|
2
|
+
export * from './directives/public-api';
|
|
3
|
+
export * from './menu.imports';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9vdmVybGF5L2NvbXBvbmVudHMvbWVudS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9tZW51LmltcG9ydHMnO1xuIl19
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/* eslint-disable @angular-eslint/directive-class-suffix */
|
|
2
|
+
/* eslint-disable @angular-eslint/no-output-rename */
|
|
3
|
+
/* eslint-disable @angular-eslint/no-outputs-metadata-property */
|
|
4
|
+
/* eslint-disable @angular-eslint/no-input-rename */
|
|
5
|
+
/* eslint-disable @angular-eslint/no-inputs-metadata-property */
|
|
6
|
+
import { Directionality } from '@angular/cdk/bidi';
|
|
7
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
8
|
+
import { Overlay, OverlayConfig, STANDARD_DROPDOWN_BELOW_POSITIONS, } from '@angular/cdk/overlay';
|
|
9
|
+
import { _getEventTarget } from '@angular/cdk/platform';
|
|
10
|
+
import { Directive, Injectable, Input, inject } from '@angular/core';
|
|
11
|
+
import { merge, partition } from 'rxjs';
|
|
12
|
+
import { skip, takeUntil } from 'rxjs/operators';
|
|
13
|
+
import { MENU_STACK, MenuStack } from './menu-stack';
|
|
14
|
+
import { CdkMenuTriggerBase, MENU_TRIGGER } from './menu-trigger-base';
|
|
15
|
+
import * as i0 from "@angular/core";
|
|
16
|
+
const CONTEXT_MENU_POSITIONS = STANDARD_DROPDOWN_BELOW_POSITIONS.map((position) => {
|
|
17
|
+
const offsetX = position.overlayX === 'start' ? 2 : -2;
|
|
18
|
+
const offsetY = position.overlayY === 'top' ? 2 : -2;
|
|
19
|
+
return { ...position, offsetX, offsetY };
|
|
20
|
+
});
|
|
21
|
+
export class ContextMenuTracker {
|
|
22
|
+
update(trigger) {
|
|
23
|
+
if (ContextMenuTracker._openContextMenuTrigger !== trigger) {
|
|
24
|
+
ContextMenuTracker._openContextMenuTrigger?.close();
|
|
25
|
+
ContextMenuTracker._openContextMenuTrigger = trigger;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ContextMenuTracker, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ContextMenuTracker, providedIn: 'root' }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ContextMenuTracker, decorators: [{
|
|
32
|
+
type: Injectable,
|
|
33
|
+
args: [{ providedIn: 'root' }]
|
|
34
|
+
}] });
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated Use the new menu instead
|
|
37
|
+
*/
|
|
38
|
+
export class CdkContextMenuTrigger extends CdkMenuTriggerBase {
|
|
39
|
+
get disabled() {
|
|
40
|
+
return this._disabled;
|
|
41
|
+
}
|
|
42
|
+
set disabled(value) {
|
|
43
|
+
this._disabled = coerceBooleanProperty(value);
|
|
44
|
+
}
|
|
45
|
+
constructor() {
|
|
46
|
+
super();
|
|
47
|
+
this._overlay = inject(Overlay);
|
|
48
|
+
this._directionality = inject(Directionality, { optional: true });
|
|
49
|
+
this._contextMenuTracker = inject(ContextMenuTracker);
|
|
50
|
+
this._disabled = false;
|
|
51
|
+
this._setMenuStackCloseListener();
|
|
52
|
+
}
|
|
53
|
+
open(coordinates) {
|
|
54
|
+
this._open(coordinates, false);
|
|
55
|
+
}
|
|
56
|
+
close() {
|
|
57
|
+
this.menuStack.closeAll();
|
|
58
|
+
}
|
|
59
|
+
_openOnContextMenu(event) {
|
|
60
|
+
if (!this.disabled) {
|
|
61
|
+
event.preventDefault();
|
|
62
|
+
event.stopPropagation();
|
|
63
|
+
this._contextMenuTracker.update(this);
|
|
64
|
+
this._open({ x: event.clientX, y: event.clientY }, true);
|
|
65
|
+
if (event.button === 2) {
|
|
66
|
+
this.childMenu?.focusFirstItem('mouse');
|
|
67
|
+
}
|
|
68
|
+
else if (event.button === 0) {
|
|
69
|
+
this.childMenu?.focusFirstItem('keyboard');
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
this.childMenu?.focusFirstItem('program');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
_getOverlayConfig(coordinates) {
|
|
77
|
+
return new OverlayConfig({
|
|
78
|
+
positionStrategy: this._getOverlayPositionStrategy(coordinates),
|
|
79
|
+
scrollStrategy: this._overlay.scrollStrategies.reposition(),
|
|
80
|
+
direction: this._directionality || undefined,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
_getOverlayPositionStrategy(coordinates) {
|
|
84
|
+
return this._overlay
|
|
85
|
+
.position()
|
|
86
|
+
.flexibleConnectedTo(coordinates)
|
|
87
|
+
.withLockedPosition()
|
|
88
|
+
.withGrowAfterOpen()
|
|
89
|
+
.withPositions(this.menuPosition ?? CONTEXT_MENU_POSITIONS);
|
|
90
|
+
}
|
|
91
|
+
_setMenuStackCloseListener() {
|
|
92
|
+
this.menuStack.closed.pipe(takeUntil(this.destroyed)).subscribe(({ item }) => {
|
|
93
|
+
if (item === this.childMenu && this.isOpen()) {
|
|
94
|
+
this.closed.next();
|
|
95
|
+
this.overlayRef.detach();
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
_subscribeToOutsideClicks(ignoreFirstAuxClick) {
|
|
100
|
+
if (this.overlayRef) {
|
|
101
|
+
let outsideClicks = this.overlayRef.outsidePointerEvents();
|
|
102
|
+
if (ignoreFirstAuxClick) {
|
|
103
|
+
const [auxClicks, nonAuxClicks] = partition(outsideClicks, ({ type }) => type === 'auxclick');
|
|
104
|
+
outsideClicks = merge(nonAuxClicks, auxClicks.pipe(skip(1)));
|
|
105
|
+
}
|
|
106
|
+
outsideClicks.pipe(takeUntil(this.stopOutsideClicksListener)).subscribe((event) => {
|
|
107
|
+
if (!this.isElementInsideMenuStack(_getEventTarget(event))) {
|
|
108
|
+
this.menuStack.closeAll();
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
_open(coordinates, ignoreFirstOutsideAuxClick) {
|
|
114
|
+
if (this.disabled) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
if (this.isOpen()) {
|
|
118
|
+
this.menuStack.closeSubMenuOf(this.childMenu);
|
|
119
|
+
this.overlayRef.getConfig().positionStrategy.setOrigin(coordinates);
|
|
120
|
+
this.overlayRef.updatePosition();
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
this.opened.next();
|
|
124
|
+
if (this.overlayRef) {
|
|
125
|
+
this.overlayRef.getConfig().positionStrategy.setOrigin(coordinates);
|
|
126
|
+
this.overlayRef.updatePosition();
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
this.overlayRef = this._overlay.create(this._getOverlayConfig(coordinates));
|
|
130
|
+
}
|
|
131
|
+
this.overlayRef.attach(this.getMenuContentPortal());
|
|
132
|
+
this._subscribeToOutsideClicks(ignoreFirstOutsideAuxClick);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CdkContextMenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
136
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: CdkContextMenuTrigger, isStandalone: true, selector: "[cdkContextMenuTriggerFor]", inputs: { menuTemplateRef: ["cdkContextMenuTriggerFor", "menuTemplateRef"], menuPosition: ["cdkContextMenuPosition", "menuPosition"], menuData: ["cdkContextMenuTriggerData", "menuData"], disabled: ["cdkContextMenuDisabled", "disabled"] }, outputs: { opened: "cdkContextMenuOpened", closed: "cdkContextMenuClosed" }, host: { listeners: { "contextmenu": "_openOnContextMenu($event)" }, properties: { "attr.data-cdk-menu-stack-id": "null" } }, providers: [
|
|
137
|
+
{ provide: MENU_TRIGGER, useExisting: CdkContextMenuTrigger },
|
|
138
|
+
{ provide: MENU_STACK, useClass: MenuStack },
|
|
139
|
+
], exportAs: ["cdkContextMenuTriggerFor"], usesInheritance: true, ngImport: i0 }); }
|
|
140
|
+
}
|
|
141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CdkContextMenuTrigger, decorators: [{
|
|
142
|
+
type: Directive,
|
|
143
|
+
args: [{
|
|
144
|
+
selector: '[cdkContextMenuTriggerFor]',
|
|
145
|
+
exportAs: 'cdkContextMenuTriggerFor',
|
|
146
|
+
standalone: true,
|
|
147
|
+
host: {
|
|
148
|
+
'[attr.data-cdk-menu-stack-id]': 'null',
|
|
149
|
+
'(contextmenu)': '_openOnContextMenu($event)',
|
|
150
|
+
},
|
|
151
|
+
inputs: [
|
|
152
|
+
'menuTemplateRef: cdkContextMenuTriggerFor',
|
|
153
|
+
'menuPosition: cdkContextMenuPosition',
|
|
154
|
+
'menuData: cdkContextMenuTriggerData',
|
|
155
|
+
],
|
|
156
|
+
outputs: ['opened: cdkContextMenuOpened', 'closed: cdkContextMenuClosed'],
|
|
157
|
+
providers: [
|
|
158
|
+
{ provide: MENU_TRIGGER, useExisting: CdkContextMenuTrigger },
|
|
159
|
+
{ provide: MENU_STACK, useClass: MenuStack },
|
|
160
|
+
],
|
|
161
|
+
}]
|
|
162
|
+
}], ctorParameters: () => [], propDecorators: { disabled: [{
|
|
163
|
+
type: Input,
|
|
164
|
+
args: ['cdkContextMenuDisabled']
|
|
165
|
+
}] } });
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LXRyaWdnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvb3ZlcmxheS9jb21wb25lbnRzL21lbnUtZGVwcmVjYXRlZC9jb250ZXh0LW1lbnUtdHJpZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyREFBMkQ7QUFDM0QscURBQXFEO0FBQ3JELGlFQUFpRTtBQUNqRSxvREFBb0Q7QUFDcEQsZ0VBQWdFO0FBRWhFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUVMLE9BQU8sRUFDUCxhQUFhLEVBQ2IsaUNBQWlDLEdBQ2xDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRXZFLE1BQU0sc0JBQXNCLEdBQUcsaUNBQWlDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7SUFDaEYsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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QUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMseUJBQXlCLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7OEdBaEhVLHFCQUFxQjtrR0FBckIscUJBQXFCLGtnQkFMckI7WUFDVCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFO1lBQzdELEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFO1NBQzdDOzsyRkFFVSxxQkFBcUI7a0JBbkJqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osK0JBQStCLEVBQUUsTUFBTTt3QkFDdkMsZUFBZSxFQUFFLDRCQUE0QjtxQkFDOUM7b0JBQ0QsTUFBTSxFQUFFO3dCQUNOLDJDQUEyQzt3QkFDM0Msc0NBQXNDO3dCQUN0QyxxQ0FBcUM7cUJBQ3RDO29CQUNELE9BQU8sRUFBRSxDQUFDLDhCQUE4QixFQUFFLDhCQUE4QixDQUFDO29CQUN6RSxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsdUJBQXVCLEVBQUU7d0JBQzdELEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFO3FCQUM3QztpQkFDRjt3REFTSyxRQUFRO3NCQURYLEtBQUs7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXggKi9cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtcmVuYW1lICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0cy1tZXRhZGF0YS1wcm9wZXJ0eSAqL1xuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eSAqL1xuXG5pbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcbiAgT3ZlcmxheSxcbiAgT3ZlcmxheUNvbmZpZyxcbiAgU1RBTkRBUkRfRFJPUERPV05fQkVMT1dfUE9TSVRJT05TLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBfZ2V0RXZlbnRUYXJnZXQgfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RhYmxlLCBJbnB1dCwgT25EZXN0cm95LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1lcmdlLCBwYXJ0aXRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNraXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1FTlVfU1RBQ0ssIE1lbnVTdGFjayB9IGZyb20gJy4vbWVudS1zdGFjayc7XG5pbXBvcnQgeyBDZGtNZW51VHJpZ2dlckJhc2UsIE1FTlVfVFJJR0dFUiB9IGZyb20gJy4vbWVudS10cmlnZ2VyLWJhc2UnO1xuXG5jb25zdCBDT05URVhUX01FTlVfUE9TSVRJT05TID0gU1RBTkRBUkRfRFJPUERPV05fQkVMT1dfUE9TSVRJT05TLm1hcCgocG9zaXRpb24pID0+IHtcbiAgY29uc3Qgb2Zmc2V0WCA9IHBvc2l0aW9uLm92ZXJsYXlYID09PSAnc3RhcnQnID8gMiA6IC0yO1xuICBjb25zdCBvZmZzZXRZID0gcG9zaXRpb24ub3ZlcmxheVkgPT09ICd0b3AnID8gMiA6IC0yO1xuICByZXR1cm4geyAuLi5wb3NpdGlvbiwgb2Zmc2V0WCwgb2Zmc2V0WSB9O1xufSk7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ29udGV4dE1lbnVUcmFja2VyIHtcbiAgcHJpdmF0ZSBzdGF0aWMgX29wZW5Db250ZXh0TWVudVRyaWdnZXI/OiBDZGtDb250ZXh0TWVudVRyaWdnZXI7XG5cbiAgdXBkYXRlKHRyaWdnZXI6IENka0NvbnRleHRNZW51VHJpZ2dlcikge1xuICAgIGlmIChDb250ZXh0TWVudVRyYWNrZXIuX29wZW5Db250ZXh0TWVudVRyaWdnZXIgIT09IHRyaWdnZXIpIHtcbiAgICAgIENvbnRleHRNZW51VHJhY2tlci5fb3BlbkNvbnRleHRNZW51VHJpZ2dlcj8uY2xvc2UoKTtcbiAgICAgIENvbnRleHRNZW51VHJhY2tlci5fb3BlbkNvbnRleHRNZW51VHJpZ2dlciA9IHRyaWdnZXI7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCB0eXBlIENvbnRleHRNZW51Q29vcmRpbmF0ZXMgPSB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH07XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBuZXcgbWVudSBpbnN0ZWFkXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjZGtDb250ZXh0TWVudVRyaWdnZXJGb3JdJyxcbiAgZXhwb3J0QXM6ICdjZGtDb250ZXh0TWVudVRyaWdnZXJGb3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmRhdGEtY2RrLW1lbnUtc3RhY2staWRdJzogJ251bGwnLFxuICAgICcoY29udGV4dG1lbnUpJzogJ19vcGVuT25Db250ZXh0TWVudSgkZXZlbnQpJyxcbiAgfSxcbiAgaW5wdXRzOiBbXG4gICAgJ21lbnVUZW1wbGF0ZVJlZjogY2RrQ29udGV4dE1lbnVUcmlnZ2VyRm9yJyxcbiAgICAnbWVudVBvc2l0aW9uOiBjZGtDb250ZXh0TWVudVBvc2l0aW9uJyxcbiAgICAnbWVudURhdGE6IGNka0NvbnRleHRNZW51VHJpZ2dlckRhdGEnLFxuICBdLFxuICBvdXRwdXRzOiBbJ29wZW5lZDogY2RrQ29udGV4dE1lbnVPcGVuZWQnLCAnY2xvc2VkOiBjZGtDb250ZXh0TWVudUNsb3NlZCddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE1FTlVfVFJJR0dFUiwgdXNlRXhpc3Rpbmc6IENka0NvbnRleHRNZW51VHJpZ2dlciB9LFxuICAgIHsgcHJvdmlkZTogTUVOVV9TVEFDSywgdXNlQ2xhc3M6IE1lbnVTdGFjayB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDZGtDb250ZXh0TWVudVRyaWdnZXIgZXh0ZW5kcyBDZGtNZW51VHJpZ2dlckJhc2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IF9vdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RpcmVjdGlvbmFsaXR5ID0gaW5qZWN0KERpcmVjdGlvbmFsaXR5LCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRleHRNZW51VHJhY2tlciA9IGluamVjdChDb250ZXh0TWVudVRyYWNrZXIpO1xuXG4gIEBJbnB1dCgnY2RrQ29udGV4dE1lbnVEaXNhYmxlZCcpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3NldE1lbnVTdGFja0Nsb3NlTGlzdGVuZXIoKTtcbiAgfVxuXG4gIG9wZW4oY29vcmRpbmF0ZXM6IENvbnRleHRNZW51Q29vcmRpbmF0ZXMpIHtcbiAgICB0aGlzLl9vcGVuKGNvb3JkaW5hdGVzLCBmYWxzZSk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLm1lbnVTdGFjay5jbG9zZUFsbCgpO1xuICB9XG5cbiAgX29wZW5PbkNvbnRleHRNZW51KGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgdGhpcy5fY29udGV4dE1lbnVUcmFja2VyLnVwZGF0ZSh0aGlzKTtcbiAgICAgIHRoaXMuX29wZW4oeyB4OiBldmVudC5jbGllbnRYLCB5OiBldmVudC5jbGllbnRZIH0sIHRydWUpO1xuXG4gICAgICBpZiAoZXZlbnQuYnV0dG9uID09PSAyKSB7XG4gICAgICAgIHRoaXMuY2hpbGRNZW51Py5mb2N1c0ZpcnN0SXRlbSgnbW91c2UnKTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQuYnV0dG9uID09PSAwKSB7XG4gICAgICAgIHRoaXMuY2hpbGRNZW51Py5mb2N1c0ZpcnN0SXRlbSgna2V5Ym9hcmQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2hpbGRNZW51Py5mb2N1c0ZpcnN0SXRlbSgncHJvZ3JhbScpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dldE92ZXJsYXlDb25maWcoY29vcmRpbmF0ZXM6IENvbnRleHRNZW51Q29vcmRpbmF0ZXMpIHtcbiAgICByZXR1cm4gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fZ2V0T3ZlcmxheVBvc2l0aW9uU3RyYXRlZ3koY29vcmRpbmF0ZXMpLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCksXG4gICAgICBkaXJlY3Rpb246IHRoaXMuX2RpcmVjdGlvbmFsaXR5IHx8IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5KGNvb3JkaW5hdGVzOiBDb250ZXh0TWVudUNvb3JkaW5hdGVzKTogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKGNvb3JkaW5hdGVzKVxuICAgICAgLndpdGhMb2NrZWRQb3NpdGlvbigpXG4gICAgICAud2l0aEdyb3dBZnRlck9wZW4oKVxuICAgICAgLndpdGhQb3NpdGlvbnModGhpcy5tZW51UG9zaXRpb24gPz8gQ09OVEVYVF9NRU5VX1BPU0lUSU9OUyk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRNZW51U3RhY2tDbG9zZUxpc3RlbmVyKCkge1xuICAgIHRoaXMubWVudVN0YWNrLmNsb3NlZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSgoeyBpdGVtIH0pID0+IHtcbiAgICAgIGlmIChpdGVtID09PSB0aGlzLmNoaWxkTWVudSAmJiB0aGlzLmlzT3BlbigpKSB7XG4gICAgICAgIHRoaXMuY2xvc2VkLm5leHQoKTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmIS5kZXRhY2goKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3N1YnNjcmliZVRvT3V0c2lkZUNsaWNrcyhpZ25vcmVGaXJzdEF1eENsaWNrOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xuICAgICAgbGV0IG91dHNpZGVDbGlja3MgPSB0aGlzLm92ZXJsYXlSZWYub3V0c2lkZVBvaW50ZXJFdmVudHMoKTtcblxuICAgICAgaWYgKGlnbm9yZUZpcnN0QXV4Q2xpY2spIHtcbiAgICAgICAgY29uc3QgW2F1eENsaWNrcywgbm9uQXV4Q2xpY2tzXSA9IHBhcnRpdGlvbihvdXRzaWRlQ2xpY2tzLCAoeyB0eXBlIH0pID0+IHR5cGUgPT09ICdhdXhjbGljaycpO1xuICAgICAgICBvdXRzaWRlQ2xpY2tzID0gbWVyZ2Uobm9uQXV4Q2xpY2tzLCBhdXhDbGlja3MucGlwZShza2lwKDEpKSk7XG4gICAgICB9XG4gICAgICBvdXRzaWRlQ2xpY2tzLnBpcGUodGFrZVVudGlsKHRoaXMuc3RvcE91dHNpZGVDbGlja3NMaXN0ZW5lcikpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmlzRWxlbWVudEluc2lkZU1lbnVTdGFjayhfZ2V0RXZlbnRUYXJnZXQoZXZlbnQpISkpIHtcbiAgICAgICAgICB0aGlzLm1lbnVTdGFjay5jbG9zZUFsbCgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vcGVuKGNvb3JkaW5hdGVzOiBDb250ZXh0TWVudUNvb3JkaW5hdGVzLCBpZ25vcmVGaXJzdE91dHNpZGVBdXhDbGljazogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmlzT3BlbigpKSB7XG4gICAgICB0aGlzLm1lbnVTdGFjay5jbG9zZVN1Yk1lbnVPZih0aGlzLmNoaWxkTWVudSEpO1xuXG4gICAgICAodGhpcy5vdmVybGF5UmVmIS5nZXRDb25maWcoKS5wb3NpdGlvblN0cmF0ZWd5IGFzIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSkuc2V0T3JpZ2luKGNvb3JkaW5hdGVzKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZiEudXBkYXRlUG9zaXRpb24oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuZWQubmV4dCgpO1xuXG4gICAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICAgICh0aGlzLm92ZXJsYXlSZWYuZ2V0Q29uZmlnKCkucG9zaXRpb25TdHJhdGVneSBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kpLnNldE9yaWdpbihjb29yZGluYXRlcyk7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUodGhpcy5fZ2V0T3ZlcmxheUNvbmZpZyhjb29yZGluYXRlcykpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMuZ2V0TWVudUNvbnRlbnRQb3J0YWwoKSk7XG4gICAgICB0aGlzLl9zdWJzY3JpYmVUb091dHNpZGVDbGlja3MoaWdub3JlRmlyc3RPdXRzaWRlQXV4Q2xpY2spO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/* eslint-disable @angular-eslint/directive-class-suffix */
|
|
2
|
+
/* eslint-disable @angular-eslint/no-output-rename */
|
|
3
|
+
/* eslint-disable @angular-eslint/no-outputs-metadata-property */
|
|
4
|
+
/* eslint-disable @angular-eslint/no-input-rename */
|
|
5
|
+
/* eslint-disable @angular-eslint/no-inputs-metadata-property */
|
|
6
|
+
import { Directive, inject, Injectable, InjectionToken, isDevMode, NgZone } from '@angular/core';
|
|
7
|
+
import { fromEvent, Subject } from 'rxjs';
|
|
8
|
+
import { filter, takeUntil } from 'rxjs/operators';
|
|
9
|
+
import { throwMissingMenuReference, throwMissingPointerFocusTracker } from './menu-errors';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export const MENU_AIM = new InjectionToken('cdk-menu-aim');
|
|
12
|
+
const MOUSE_MOVE_SAMPLE_FREQUENCY = 3;
|
|
13
|
+
const NUM_POINTS = 5;
|
|
14
|
+
const CLOSE_DELAY = 300;
|
|
15
|
+
function getSlope(a, b) {
|
|
16
|
+
return (b.y - a.y) / (b.x - a.x);
|
|
17
|
+
}
|
|
18
|
+
function getYIntercept(point, slope) {
|
|
19
|
+
return point.y - slope * point.x;
|
|
20
|
+
}
|
|
21
|
+
function isWithinSubmenu(submenuPoints, m, b) {
|
|
22
|
+
const { left, right, top, bottom } = submenuPoints;
|
|
23
|
+
return ((m * left + b >= top && m * left + b <= bottom) ||
|
|
24
|
+
(m * right + b >= top && m * right + b <= bottom) ||
|
|
25
|
+
((top - b) / m >= left && (top - b) / m <= right) ||
|
|
26
|
+
((bottom - b) / m >= left && (bottom - b) / m <= right));
|
|
27
|
+
}
|
|
28
|
+
export class TargetMenuAim {
|
|
29
|
+
constructor() {
|
|
30
|
+
this._ngZone = inject(NgZone);
|
|
31
|
+
this._points = [];
|
|
32
|
+
this._menu = null;
|
|
33
|
+
this._pointerTracker = null;
|
|
34
|
+
this._timeoutId = null;
|
|
35
|
+
this._destroyed = new Subject();
|
|
36
|
+
}
|
|
37
|
+
ngOnDestroy() {
|
|
38
|
+
this._destroyed.next();
|
|
39
|
+
this._destroyed.complete();
|
|
40
|
+
}
|
|
41
|
+
initialize(menu, pointerTracker) {
|
|
42
|
+
this._menu = menu;
|
|
43
|
+
this._pointerTracker = pointerTracker;
|
|
44
|
+
this._subscribeToMouseMoves();
|
|
45
|
+
}
|
|
46
|
+
toggle(doToggle) {
|
|
47
|
+
if (!this._menu)
|
|
48
|
+
return;
|
|
49
|
+
if (this._menu.orientation === 'horizontal') {
|
|
50
|
+
doToggle();
|
|
51
|
+
}
|
|
52
|
+
this._checkConfigured();
|
|
53
|
+
const siblingItemIsWaiting = !!this._timeoutId;
|
|
54
|
+
const hasPoints = this._points.length > 1;
|
|
55
|
+
if (hasPoints && !siblingItemIsWaiting) {
|
|
56
|
+
if (this._isMovingToSubmenu()) {
|
|
57
|
+
this._startTimeout(doToggle);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
doToggle();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else if (!siblingItemIsWaiting) {
|
|
64
|
+
doToggle();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
_startTimeout(doToggle) {
|
|
68
|
+
const timeoutId = window.setTimeout(() => {
|
|
69
|
+
if (!this._pointerTracker)
|
|
70
|
+
return;
|
|
71
|
+
if (this._pointerTracker.activeElement && timeoutId === this._timeoutId) {
|
|
72
|
+
doToggle();
|
|
73
|
+
}
|
|
74
|
+
this._timeoutId = null;
|
|
75
|
+
}, CLOSE_DELAY);
|
|
76
|
+
this._timeoutId = timeoutId;
|
|
77
|
+
}
|
|
78
|
+
_isMovingToSubmenu() {
|
|
79
|
+
const submenuPoints = this._getSubmenuBounds();
|
|
80
|
+
if (!submenuPoints) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
let numMoving = 0;
|
|
84
|
+
const currPoint = this._points[this._points.length - 1];
|
|
85
|
+
for (let i = this._points.length - 2; i >= 0; i--) {
|
|
86
|
+
const previous = this._points[i];
|
|
87
|
+
const slope = getSlope(currPoint, previous);
|
|
88
|
+
if (isWithinSubmenu(submenuPoints, slope, getYIntercept(currPoint, slope))) {
|
|
89
|
+
numMoving++;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return numMoving >= Math.floor(NUM_POINTS / 2);
|
|
93
|
+
}
|
|
94
|
+
_getSubmenuBounds() {
|
|
95
|
+
return this._pointerTracker?.previousElement?.getMenu()?.nativeElement.getBoundingClientRect();
|
|
96
|
+
}
|
|
97
|
+
_checkConfigured() {
|
|
98
|
+
if (isDevMode()) {
|
|
99
|
+
if (!this._pointerTracker) {
|
|
100
|
+
throwMissingPointerFocusTracker();
|
|
101
|
+
}
|
|
102
|
+
if (!this._menu) {
|
|
103
|
+
throwMissingMenuReference();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
_subscribeToMouseMoves() {
|
|
108
|
+
this._ngZone.runOutsideAngular(() => {
|
|
109
|
+
if (!this._menu)
|
|
110
|
+
return;
|
|
111
|
+
fromEvent(this._menu.nativeElement, 'mousemove')
|
|
112
|
+
.pipe(filter((_, index) => index % MOUSE_MOVE_SAMPLE_FREQUENCY === 0), takeUntil(this._destroyed))
|
|
113
|
+
.subscribe((event) => {
|
|
114
|
+
this._points.push({ x: event.clientX, y: event.clientY });
|
|
115
|
+
if (this._points.length > NUM_POINTS) {
|
|
116
|
+
this._points.shift();
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TargetMenuAim, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
122
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TargetMenuAim }); }
|
|
123
|
+
}
|
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TargetMenuAim, decorators: [{
|
|
125
|
+
type: Injectable
|
|
126
|
+
}] });
|
|
127
|
+
export class CdkTargetMenuAim {
|
|
128
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CdkTargetMenuAim, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
129
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: CdkTargetMenuAim, isStandalone: true, selector: "[cdkTargetMenuAim]", providers: [{ provide: MENU_AIM, useClass: TargetMenuAim }], exportAs: ["cdkTargetMenuAim"], ngImport: i0 }); }
|
|
130
|
+
}
|
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CdkTargetMenuAim, decorators: [{
|
|
132
|
+
type: Directive,
|
|
133
|
+
args: [{
|
|
134
|
+
selector: '[cdkTargetMenuAim]',
|
|
135
|
+
exportAs: 'cdkTargetMenuAim',
|
|
136
|
+
standalone: true,
|
|
137
|
+
providers: [{ provide: MENU_AIM, useClass: TargetMenuAim }],
|
|
138
|
+
}]
|
|
139
|
+
}] });
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1haW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvb3ZlcmxheS9jb21wb25lbnRzL21lbnUtZGVwcmVjYXRlZC9tZW51LWFpbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyREFBMkQ7QUFDM0QscURBQXFEO0FBQ3JELGlFQUFpRTtBQUNqRSxvREFBb0Q7QUFDcEQsZ0VBQWdFO0FBRWhFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVM0YsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksY0FBYyxDQUFVLGNBQWMsQ0FBQyxDQUFDO0FBRXBFLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxDQUFDO0FBRXRDLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQztBQUVyQixNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUM7QUFNeEIsU0FBUyxRQUFRLENBQUMsQ0FBUSxFQUFFLENBQVE7SUFDbEMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLEtBQVksRUFBRSxLQUFhO0lBQ2hELE9BQU8sS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsS0FBSyxD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RSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDO2lCQUM1RCIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LXJlbmFtZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dHMtbWV0YWRhdGEtcHJvcGVydHkgKi9cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWUgKi9cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHkgKi9cblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBpc0Rldk1vZGUsIE5nWm9uZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdGhyb3dNaXNzaW5nTWVudVJlZmVyZW5jZSwgdGhyb3dNaXNzaW5nUG9pbnRlckZvY3VzVHJhY2tlciB9IGZyb20gJy4vbWVudS1lcnJvcnMnO1xuaW1wb3J0IHsgTWVudSB9IGZyb20gJy4vbWVudS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9jdXNhYmxlRWxlbWVudCwgUG9pbnRlckZvY3VzVHJhY2tlciB9IGZyb20gJy4vcG9pbnRlci1mb2N1cy10cmFja2VyJztcblxuZXhwb3J0IGludGVyZmFjZSBNZW51QWltIHtcbiAgaW5pdGlhbGl6ZShtZW51OiBNZW51LCBwb2ludGVyVHJhY2tlcjogUG9pbnRlckZvY3VzVHJhY2tlcjxGb2N1c2FibGVFbGVtZW50ICYgVG9nZ2xlcj4pOiB2b2lkO1xuXG4gIHRvZ2dsZShkb1RvZ2dsZTogKCkgPT4gdm9pZCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBNRU5VX0FJTSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNZW51QWltPignY2RrLW1lbnUtYWltJyk7XG5cbmNvbnN0IE1PVVNFX01PVkVfU0FNUExFX0ZSRVFVRU5DWSA9IDM7XG5cbmNvbnN0IE5VTV9QT0lOVFMgPSA1O1xuXG5jb25zdCBDTE9TRV9ERUxBWSA9IDMwMDtcblxuZXhwb3J0IGludGVyZmFjZSBUb2dnbGVyIHtcbiAgZ2V0TWVudSgpOiBNZW51IHwgdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBnZXRTbG9wZShhOiBQb2ludCwgYjogUG9pbnQpIHtcbiAgcmV0dXJuIChiLnkgLSBhLnkpIC8gKGIueCAtIGEueCk7XG59XG5cbmZ1bmN0aW9uIGdldFlJbnRlcmNlcHQocG9pbnQ6IFBvaW50LCBzbG9wZTogbnVtYmVyKSB7XG4gIHJldHVybiBwb2ludC55IC0gc2xvcGUgKiBwb2ludC54O1xufVxuXG50eXBlIFBvaW50ID0geyB4OiBudW1iZXI7IHk6IG51bWJlciB9O1xuXG5mdW5jdGlvbiBpc1dpdGhpblN1Ym1lbnUoc3VibWVudVBvaW50czogRE9NUmVjdCwgbTogbnVtYmVyLCBiOiBudW1iZXIpIHtcbiAgY29uc3QgeyBsZWZ0LCByaWdodCwgdG9wLCBib3R0b20gfSA9IHN1Ym1lbnVQb2ludHM7XG5cbiAgcmV0dXJuIChcbiAgICAobSAqIGxlZnQgKyBiID49IHRvcCAmJiBtICogbGVmdCArIGIgPD0gYm90dG9tKSB8fFxuICAgIChtICogcmlnaHQgKyBiID49IHRvcCAmJiBtICogcmlnaHQgKyBiIDw9IGJvdHRvbSkgfHxcbiAgICAoKHRvcCAtIGIpIC8gbSA+PSBsZWZ0ICYmICh0b3AgLSBiKSAvIG0gPD0gcmlnaHQpIHx8XG4gICAgKChib3R0b20gLSBiKSAvIG0gPj0gbGVmdCAmJiAoYm90dG9tIC0gYikgLyBtIDw9IHJpZ2h0KVxuICApO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFyZ2V0TWVudUFpbSBpbXBsZW1lbnRzIE1lbnVBaW0sIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX25nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3BvaW50czogUG9pbnRbXSA9IFtdO1xuXG4gIHByaXZhdGUgX21lbnU6IE1lbnUgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9wb2ludGVyVHJhY2tlcjogUG9pbnRlckZvY3VzVHJhY2tlcjxUb2dnbGVyICYgRm9jdXNhYmxlRWxlbWVudD4gfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF90aW1lb3V0SWQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3llZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGluaXRpYWxpemUobWVudTogTWVudSwgcG9pbnRlclRyYWNrZXI6IFBvaW50ZXJGb2N1c1RyYWNrZXI8Rm9jdXNhYmxlRWxlbWVudCAmIFRvZ2dsZXI+KSB7XG4gICAgdGhpcy5fbWVudSA9IG1lbnU7XG4gICAgdGhpcy5fcG9pbnRlclRyYWNrZXIgPSBwb2ludGVyVHJhY2tlcjtcbiAgICB0aGlzLl9zdWJzY3JpYmVUb01vdXNlTW92ZXMoKTtcbiAgfVxuXG4gIHRvZ2dsZShkb1RvZ2dsZTogKCkgPT4gdm9pZCkge1xuICAgIGlmICghdGhpcy5fbWVudSkgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMuX21lbnUub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJykge1xuICAgICAgZG9Ub2dnbGUoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9jaGVja0NvbmZpZ3VyZWQoKTtcblxuICAgIGNvbnN0IHNpYmxpbmdJdGVtSXNXYWl0aW5nID0gISF0aGlzLl90aW1lb3V0SWQ7XG4gICAgY29uc3QgaGFzUG9pbnRzID0gdGhpcy5fcG9pbnRzLmxlbmd0aCA+IDE7XG5cbiAgICBpZiAoaGFzUG9pbnRzICYmICFzaWJsaW5nSXRlbUlzV2FpdGluZykge1xuICAgICAgaWYgKHRoaXMuX2lzTW92aW5nVG9TdWJtZW51KCkpIHtcbiAgICAgICAgdGhpcy5fc3RhcnRUaW1lb3V0KGRvVG9nZ2xlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRvVG9nZ2xlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghc2libGluZ0l0ZW1Jc1dhaXRpbmcpIHtcbiAgICAgIGRvVG9nZ2xlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc3RhcnRUaW1lb3V0KGRvVG9nZ2xlOiAoKSA9PiB2b2lkKSB7XG4gICAgY29uc3QgdGltZW91dElkID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLl9wb2ludGVyVHJhY2tlcikgcmV0dXJuO1xuXG4gICAgICBpZiAodGhpcy5fcG9pbnRlclRyYWNrZXIuYWN0aXZlRWxlbWVudCAmJiB0aW1lb3V0SWQgPT09IHRoaXMuX3RpbWVvdXRJZCkge1xuICAgICAgICBkb1RvZ2dsZSgpO1xuICAgICAgfVxuICAgICAgdGhpcy5fdGltZW91dElkID0gbnVsbDtcbiAgICB9LCBDTE9TRV9ERUxBWSk7XG5cbiAgICB0aGlzLl90aW1lb3V0SWQgPSB0aW1lb3V0SWQ7XG4gIH1cblxuICBwcml2YXRlIF9pc01vdmluZ1RvU3VibWVudSgpIHtcbiAgICBjb25zdCBzdWJtZW51UG9pbnRzID0gdGhpcy5fZ2V0U3VibWVudUJvdW5kcygpO1xuICAgIGlmICghc3VibWVudVBvaW50cykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGxldCBudW1Nb3ZpbmcgPSAwO1xuICAgIGNvbnN0IGN1cnJQb2ludCA9IHRoaXMuX3BvaW50c1t0aGlzLl9wb2ludHMubGVuZ3RoIC0gMV07XG5cbiAgICBmb3IgKGxldCBpID0gdGhpcy5fcG9pbnRzLmxlbmd0aCAtIDI7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMuX3BvaW50c1tpXTtcbiAgICAgIGNvbnN0IHNsb3BlID0gZ2V0U2xvcGUoY3VyclBvaW50ISwgcHJldmlvdXMhKTtcbiAgICAgIGlmIChpc1dpdGhpblN1Ym1lbnUoc3VibWVudVBvaW50cywgc2xvcGUsIGdldFlJbnRlcmNlcHQoY3VyclBvaW50ISwgc2xvcGUpKSkge1xuICAgICAgICBudW1Nb3ZpbmcrKztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bU1vdmluZyA+PSBNYXRoLmZsb29yKE5VTV9QT0lOVFMgLyAyKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFN1Ym1lbnVCb3VuZHMoKTogRE9NUmVjdCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3BvaW50ZXJUcmFja2VyPy5wcmV2aW91c0VsZW1lbnQ/LmdldE1lbnUoKT8ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQ29uZmlndXJlZCgpIHtcbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgIGlmICghdGhpcy5fcG9pbnRlclRyYWNrZXIpIHtcbiAgICAgICAgdGhyb3dNaXNzaW5nUG9pbnRlckZvY3VzVHJhY2tlcigpO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLl9tZW51KSB7XG4gICAgICAgIHRocm93TWlzc2luZ01lbnVSZWZlcmVuY2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zdWJzY3JpYmVUb01vdXNlTW92ZXMoKSB7XG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5fbWVudSkgcmV0dXJuO1xuXG4gICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5fbWVudS5uYXRpdmVFbGVtZW50LCAnbW91c2Vtb3ZlJylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKChfOiBNb3VzZUV2ZW50LCBpbmRleDogbnVtYmVyKSA9PiBpbmRleCAlIE1PVVNFX01PVkVfU0FNUExFX0ZSRVFVRU5DWSA9PT0gMCksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLl9wb2ludHMucHVzaCh7IHg6IGV2ZW50LmNsaWVudFgsIHk6IGV2ZW50LmNsaWVudFkgfSk7XG4gICAgICAgICAgaWYgKHRoaXMuX3BvaW50cy5sZW5ndGggPiBOVU1fUE9JTlRTKSB7XG4gICAgICAgICAgICB0aGlzLl9wb2ludHMuc2hpZnQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjZGtUYXJnZXRNZW51QWltXScsXG4gIGV4cG9ydEFzOiAnY2RrVGFyZ2V0TWVudUFpbScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTUVOVV9BSU0sIHVzZUNsYXNzOiBUYXJnZXRNZW51QWltIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBDZGtUYXJnZXRNZW51QWltIHt9XG4iXX0=
|