@ethlete/cdk 4.14.5 → 4.16.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 +14 -0
- package/esm2022/index.mjs +2 -1
- 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/carousel/carousel.component.mjs +51 -0
- package/esm2022/lib/components/carousel/carousel.directive.mjs +150 -0
- package/esm2022/lib/components/carousel/carousel.imports.mjs +12 -0
- package/esm2022/lib/components/carousel/controls/carousel-item-nav.component.mjs +65 -0
- package/esm2022/lib/components/carousel/controls/carousel-item-nav.directive.mjs +40 -0
- package/esm2022/lib/components/carousel/controls/carousel-next-button.directive.mjs +45 -0
- package/esm2022/lib/components/carousel/controls/carousel-previous-button.directive.mjs +45 -0
- package/esm2022/lib/components/carousel/controls/carousel-toggle-auto-play-button.directive.mjs +43 -0
- package/esm2022/lib/components/carousel/controls/index.mjs +6 -0
- package/esm2022/lib/components/carousel/et-carousel-item.component.mjs +24 -0
- package/esm2022/lib/components/carousel/et-carousel-item.directive.mjs +45 -0
- package/esm2022/lib/components/carousel/public-api/index.mjs +7 -0
- 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 +3 -3
- 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 +3 -3
- package/esm2022/lib/components/forms/components/input/components/date-time-input/date-time-input.component.mjs +3 -3
- 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/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 +3 -3
- 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 +3 -3
- package/esm2022/lib/components/forms/components/input/directives/date-time-input/date-time-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/email-input/email-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/if-supports-show-picker/if-supports-show-picker.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/number-input/number-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/password-input/password-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/search-input/search-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/show-picker-trigger/show-picker-trigger.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/text-input/text-input.directive.mjs +3 -3
- package/esm2022/lib/components/forms/components/input/directives/textarea-input/textarea-input.directive.mjs +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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/menu/menu.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/components/menu-checkbox-item/menu-checkbox-item.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/components/menu-container/menu-container.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/components/menu-radio-item/menu-radio-item.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/directives/menu-checkbox-group/menu-checkbox-group.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/directives/menu-group/menu-group.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/directives/menu-group-title/menu-group-title.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/directives/menu-item/menu-item.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/directives/menu-radio-group/menu-radio-group.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu/directives/menu-trigger/menu-trigger.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/context-menu-trigger.mjs +6 -6
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-aim.mjs +6 -6
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-bar.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-base.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-group.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-checkbox.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-radio.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item-selectable.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-item.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-module.mjs +4 -4
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-stack.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-trigger-base.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu-trigger.mjs +3 -3
- package/esm2022/lib/components/overlay/components/menu-deprecated/menu.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/components/overlay-container/overlay-container.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-back-or-close/overlay-back-or-close.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-body/overlay-body.component.mjs +3 -3
- 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 +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-header/overlay-header.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-header-template/overlay-header-template.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-main/overlay-main.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-route-header-template-outlet/overlay-route-header-template-outlet.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-router-link/overlay-router-link.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-router-outlet/overlay-router-outlet.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-sidebar/overlay-sidebar.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-sidebar-page/overlay-sidebar-page.component.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/partials/overlay-title/overlay-title.directive.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/services/overlay.service.mjs +3 -3
- package/esm2022/lib/components/overlay/components/overlay/utils/filter-overlay.mjs +3 -3
- 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 +5 -5
- package/esm2022/lib/components/overlay/components/toggletip/partials/toggletip-close/toggletip-close.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 +5 -5
- 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/index.mjs +1 -2
- package/esm2022/lib/components/picture/picture.component.mjs +36 -40
- package/esm2022/lib/components/picture/picture.utils.mjs +20 -1
- package/esm2022/lib/components/picture/public-api/index.mjs +1 -2
- 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 +3 -3
- 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 +1203 -785
- package/fesm2022/ethlete-cdk.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/components/carousel/carousel.component.d.ts +11 -0
- package/lib/components/carousel/carousel.directive.d.ts +59 -0
- package/lib/components/carousel/carousel.imports.d.ts +4 -0
- package/lib/components/carousel/controls/carousel-item-nav.component.d.ts +8 -0
- package/lib/components/carousel/controls/carousel-item-nav.directive.d.ts +14 -0
- package/lib/components/carousel/controls/carousel-next-button.directive.d.ts +18 -0
- package/lib/components/carousel/controls/carousel-previous-button.directive.d.ts +18 -0
- package/lib/components/carousel/controls/carousel-toggle-auto-play-button.directive.d.ts +16 -0
- package/lib/components/carousel/controls/index.d.ts +5 -0
- package/lib/components/carousel/et-carousel-item.component.d.ts +8 -0
- package/lib/components/carousel/et-carousel-item.directive.d.ts +25 -0
- package/lib/components/carousel/public-api/index.d.ts +6 -0
- package/lib/components/picture/index.d.ts +0 -1
- package/lib/components/picture/picture.component.d.ts +18 -9
- package/lib/components/picture/picture.utils.d.ts +3 -1
- package/lib/components/picture/public-api/index.d.ts +0 -1
- package/package.json +8 -8
- package/esm2022/lib/components/picture/picture-data.directive.mjs +0 -49
- package/esm2022/lib/components/picture/pipes/normalize-source/index.mjs +0 -2
- package/esm2022/lib/components/picture/pipes/normalize-source/normalize-source.pipe.mjs +0 -18
- package/esm2022/lib/components/picture/pipes/normalize-source/normalize-source.util.mjs +0 -11
- package/lib/components/picture/picture-data.directive.d.ts +0 -19
- package/lib/components/picture/pipes/normalize-source/index.d.ts +0 -1
- package/lib/components/picture/pipes/normalize-source/normalize-source.pipe.d.ts +0 -7
- package/lib/components/picture/pipes/normalize-source/normalize-source.util.d.ts +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @ethlete/cdk
|
|
2
2
|
|
|
3
|
+
## 4.16.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`ef63100`](https://github.com/ethlete-io/ethdk/commit/ef6310039b70c0321021a532b5818822518f47c6) Thanks [@TomTomB](https://github.com/TomTomB)! - Removed the `normalizeSource` pipe. Use the `normalizePictureSource` function instead inside something like a `computed`.
|
|
8
|
+
|
|
9
|
+
- [`ef63100`](https://github.com/ethlete-io/ethdk/commit/ef6310039b70c0321021a532b5818822518f47c6) Thanks [@TomTomB](https://github.com/TomTomB)! - The `normalizeSource` function was renamed to `normalizePictureSource` to better reflect its purpose.
|
|
10
|
+
|
|
11
|
+
## 4.15.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- [`b2828c8`](https://github.com/ethlete-io/ethdk/commit/b2828c8807a3fdba53bf07ef3291872a19a8d8ba) Thanks [@TomTomB](https://github.com/TomTomB)! - Add carousel component and util directives
|
|
16
|
+
|
|
3
17
|
## 4.14.5
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/esm2022/index.mjs
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
export * from './lib/components/accordion/public-api';
|
|
3
3
|
export * from './lib/components/bracket/public-api';
|
|
4
4
|
export * from './lib/components/button/public-api';
|
|
5
|
+
export * from './lib/components/carousel/public-api';
|
|
5
6
|
export * from './lib/components/filter/public-api';
|
|
6
7
|
export * from './lib/components/forms/public-api';
|
|
7
8
|
export * from './lib/components/icons/public-api';
|
|
@@ -20,4 +21,4 @@ export * from './lib/services';
|
|
|
20
21
|
export * from './lib/types';
|
|
21
22
|
export * from './lib/utils';
|
|
22
23
|
// Burst cache
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMENBQTBDO0FBQzFDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxhQUFhLENBQUM7QUFFNUIsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtaW1wb3J0cyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hY2NvcmRpb24vcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JyYWNrZXQvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2J1dHRvbi9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY2Fyb3VzZWwvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ZpbHRlci9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybXMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ljb25zL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tYXNvbnJ5L3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vdmVybGF5L3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9wYWdpbmF0aW9uL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9waWN0dXJlL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9wcm9ncmVzcy1zcGlubmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcXVlcnktZXJyb3IvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Njcm9sbGFibGUvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NrZWxldG9uL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zb3J0L3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90YWJsZS9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFicy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzJztcblxuLy8gQnVyc3QgY2FjaGVcbiJdfQ==
|
|
@@ -42,10 +42,10 @@ export class AccordionComponent {
|
|
|
42
42
|
close() {
|
|
43
43
|
this._isOpen$.next(false);
|
|
44
44
|
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: AccordionComponent, isStandalone: true, selector: "et-accordion", inputs: { isOpenByDefault: ["isOpenByDefault", "isOpenByDefault", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], label: "label" }, host: { classAttribute: "et-accordion" }, providers: [{ provide: ACCORDION_COMPONENT, useExisting: AccordionComponent }], queries: [{ propertyName: "templateLabel", first: true, predicate: ACCORDION_LABEL_WRAPPER_DIRECTIVE, descendants: true }, { propertyName: "templateHint", first: true, predicate: ACCORDION_HINT_WRAPPER_DIRECTIVE, descendants: true }], ngImport: i0, template: "<div *etLet=\"_isOpen$ | async as isOpen\" class=\"et-accordion-container\">\n <h3 class=\"et-accordion-header-wrapper\">\n <button\n [disabled]=\"disabled\"\n [id]=\"headerId\"\n [attr.aria-controls]=\"bodyId\"\n [attr.aria-expanded]=\"isOpen\"\n [class.et-accordion-has-hint]=\"!!templateHint\"\n (click)=\"toggleAccordionOpen()\"\n class=\"et-accordion-header\"\n type=\"button\"\n >\n <div>\n @if (templateLabel) {\n <ng-template [cdkPortalOutlet]=\"templateLabel\" />\n } @else {\n <span et-accordion-label>{{ label }} </span>\n }\n </div>\n\n @if (templateHint) {\n <ng-template [cdkPortalOutlet]=\"templateHint\" />\n }\n\n <et-chevron-icon />\n </button>\n </h3>\n <div\n [@animateOpenClose]=\"(_isOpen$ | async) ? 'open' : 'close'\"\n [attr.aria-labelledby]=\"headerId\"\n [id]=\"bodyId\"\n class=\"et-accordion-body\"\n role=\"region\"\n >\n <div class=\"et-accordion-body-container\">\n <ng-content />\n </div>\n </div>\n <hr class=\"et-accordion-separator\" />\n</div>\n", styles: [":where(.et-accordion){--chevron-size: 15px}.et-accordion .et-accordion-container{position:relative;z-index:1}.et-accordion .et-chevron-icon{display:block;transform:rotate(180deg);transition:transform .3s var(--ease-5);inline-size:var(--chevron-size);block-size:var(--chevron-size)}.et-accordion [aria-expanded=true] .et-chevron-icon{transform:rotate(0)}.et-accordion .et-accordion-header{display:grid;grid-template-columns:1fr auto;inline-size:100%;block-size:100%;text-align:left;background-color:transparent;border:none;align-items:center;padding:0;gap:15px}.et-accordion .et-accordion-header:not(:disabled){cursor:pointer}.et-accordion .et-accordion-header.et-accordion-has-hint{grid-template-columns:1fr auto auto}.et-accordion .et-accordion-header-wrapper{margin:0}.et-accordion .et-accordion-body{overflow:hidden}.et-accordion .et-accordion-separator{position:relative;z-index:-1}\n"], dependencies: [{ kind: "directive", type: LetDirective, selector: "[etLet]", inputs: ["etLet"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: AccordionLabelDirective, selector: "[et-accordion-label]" }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: ChevronIconComponent, selector: "et-chevron-icon" }], animations: [accordionAnimations.animateOpenClose], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
47
47
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AccordionComponent, decorators: [{
|
|
49
49
|
type: Component,
|
|
50
50
|
args: [{ selector: 'et-accordion', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, providers: [{ provide: ACCORDION_COMPONENT, useExisting: AccordionComponent }], imports: [
|
|
51
51
|
LetDirective,
|
package/esm2022/lib/components/accordion/components/accordion-group/accordion-group.component.mjs
CHANGED
|
@@ -35,10 +35,10 @@ export class AccordionGroupComponent {
|
|
|
35
35
|
}), takeUntil(this._destroy$))
|
|
36
36
|
.subscribe();
|
|
37
37
|
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AccordionGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.3", type: AccordionGroupComponent, isStandalone: true, selector: "et-accordion-group", inputs: { autoCloseOthers: ["autoCloseOthers", "autoCloseOthers", booleanAttribute] }, host: { classAttribute: "et-accordion-group" }, queries: [{ propertyName: "_accordions", predicate: ACCORDION_COMPONENT }], ngImport: i0, template: "<ng-content select=\"et-accordion\" />\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
40
40
|
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AccordionGroupComponent, decorators: [{
|
|
42
42
|
type: Component,
|
|
43
43
|
args: [{ selector: 'et-accordion-group', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, host: {
|
|
44
44
|
class: 'et-accordion-group',
|
package/esm2022/lib/components/accordion/partials/accordion-hint/accordion-hint.directive.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Directive } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class AccordionHintDirective {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
5
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AccordionHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: AccordionHintDirective, isStandalone: true, selector: "[et-accordion-hint]", host: { classAttribute: "et-accordion-hint" }, ngImport: i0 }); }
|
|
6
6
|
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AccordionHintDirective, decorators: [{
|
|
8
8
|
type: Directive,
|
|
9
9
|
args: [{
|
|
10
10
|
selector: '[et-accordion-hint]',
|
|
@@ -6,10 +6,10 @@ export class AccordionHintWrapperDirective extends CdkPortal {
|
|
|
6
6
|
constructor(templateRef, viewContainerRef) {
|
|
7
7
|
super(templateRef, viewContainerRef);
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
10
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AccordionHintWrapperDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: AccordionHintWrapperDirective, isStandalone: true, selector: "ng-template[et-accordion-hint-wrapper]", providers: [{ provide: ACCORDION_HINT_WRAPPER_DIRECTIVE, useExisting: AccordionHintWrapperDirective }], usesInheritance: true, ngImport: i0 }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AccordionHintWrapperDirective, decorators: [{
|
|
13
13
|
type: Directive,
|
|
14
14
|
args: [{
|
|
15
15
|
selector: 'ng-template[et-accordion-hint-wrapper]',
|
package/esm2022/lib/components/accordion/partials/accordion-label/accordion-label.directive.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Directive } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class AccordionLabelDirective {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
5
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AccordionLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: AccordionLabelDirective, isStandalone: true, selector: "[et-accordion-label]", host: { classAttribute: "et-accordion-label" }, ngImport: i0 }); }
|
|
6
6
|
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AccordionLabelDirective, decorators: [{
|
|
8
8
|
type: Directive,
|
|
9
9
|
args: [{
|
|
10
10
|
selector: '[et-accordion-label]',
|
|
@@ -6,10 +6,10 @@ export class AccordionLabelWrapperDirective extends CdkPortal {
|
|
|
6
6
|
constructor(templateRef, viewContainerRef) {
|
|
7
7
|
super(templateRef, viewContainerRef);
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
10
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AccordionLabelWrapperDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: AccordionLabelWrapperDirective, isStandalone: true, selector: "ng-template[et-accordion-label-wrapper]", providers: [{ provide: ACCORDION_LABEL_WRAPPER_DIRECTIVE, useExisting: AccordionLabelWrapperDirective }], usesInheritance: true, ngImport: i0 }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AccordionLabelWrapperDirective, decorators: [{
|
|
13
13
|
type: Directive,
|
|
14
14
|
args: [{
|
|
15
15
|
selector: 'ng-template[et-accordion-label-wrapper]',
|
|
@@ -222,8 +222,8 @@ export class BracketComponent {
|
|
|
222
222
|
const round = this._getRoundById(roundId, bracket);
|
|
223
223
|
return round?.matches.find((match) => match.data.id === matchId) ?? null;
|
|
224
224
|
}
|
|
225
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
226
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.
|
|
225
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BracketComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
226
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: BracketComponent, isStandalone: true, selector: "et-bracket", inputs: { itemWith: "itemWith", itemHeight: "itemHeight", roundHeaderHeight: "roundHeaderHeight", upperLowerBracketGap: "upperLowerBracketGap", columnGap: "columnGap", rowGap: "rowGap", roundsWithMatches: "roundsWithMatches", componentConfig: "componentConfig" }, host: { properties: { "attr.has-round-headers": "this.hasRoundHeaders" }, classAttribute: "et-bracket" }, providers: [
|
|
227
227
|
{
|
|
228
228
|
provide: BRACKET_TOKEN,
|
|
229
229
|
useExisting: BracketComponent,
|
|
@@ -300,7 +300,7 @@ __decorate([
|
|
|
300
300
|
__metadata("design:paramtypes", [Object, Bracket]),
|
|
301
301
|
__metadata("design:returntype", void 0)
|
|
302
302
|
], BracketComponent.prototype, "_getNextMatch", null);
|
|
303
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
303
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BracketComponent, decorators: [{
|
|
304
304
|
type: Component,
|
|
305
305
|
args: [{ selector: 'et-bracket', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgClass, LetDirective, PortalModule, AsyncPipe], host: {
|
|
306
306
|
class: 'et-bracket',
|
|
@@ -7,10 +7,10 @@ export class BracketMatchDirective {
|
|
|
7
7
|
this.bracket = inject(BRACKET_TOKEN);
|
|
8
8
|
this.match$ = this.bracket.getBracketMatchById(this.matchId);
|
|
9
9
|
}
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
11
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BracketMatchDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
11
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: BracketMatchDirective, isStandalone: true, ngImport: i0 }); }
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BracketMatchDirective, decorators: [{
|
|
14
14
|
type: Directive,
|
|
15
15
|
args: [{
|
|
16
16
|
standalone: true,
|
|
@@ -7,10 +7,10 @@ export class BracketRoundDirective {
|
|
|
7
7
|
this.bracket = inject(BRACKET_TOKEN);
|
|
8
8
|
this.round$ = this.bracket.getBracketRoundById(this.roundId);
|
|
9
9
|
}
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
11
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BracketRoundDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
11
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: BracketRoundDirective, isStandalone: true, ngImport: i0 }); }
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BracketRoundDirective, decorators: [{
|
|
14
14
|
type: Directive,
|
|
15
15
|
args: [{
|
|
16
16
|
standalone: true,
|
|
@@ -7,10 +7,10 @@ export class BracketMatchComponent {
|
|
|
7
7
|
constructor() {
|
|
8
8
|
this.matchData = inject(BracketMatchDirective);
|
|
9
9
|
}
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
11
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BracketMatchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: BracketMatchComponent, isStandalone: true, selector: "et-bracket-match", host: { classAttribute: "et-bracket-match" }, hostDirectives: [{ directive: i1.BracketMatchDirective }], ngImport: i0, template: "@if (matchData.match$ | async; as match) {\n {{ match.data.id }}\n}\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BracketMatchComponent, decorators: [{
|
|
14
14
|
type: Component,
|
|
15
15
|
args: [{ selector: 'et-bracket-match', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
16
16
|
class: 'et-bracket-match',
|
|
@@ -7,10 +7,10 @@ export class BracketRoundHeaderComponent {
|
|
|
7
7
|
constructor() {
|
|
8
8
|
this.roundData = inject(BracketRoundDirective);
|
|
9
9
|
}
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
11
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BracketRoundHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: BracketRoundHeaderComponent, isStandalone: true, selector: "et-bracket-round-header", host: { classAttribute: "et-bracket-round-header" }, hostDirectives: [{ directive: i1.BracketRoundDirective }], ngImport: i0, template: "@if (roundData.round$ | async; as round) {\n {{ round.name }}\n}\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: BracketRoundHeaderComponent, decorators: [{
|
|
14
14
|
type: Component,
|
|
15
15
|
args: [{ selector: 'et-bracket-round-header', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
16
16
|
class: 'et-bracket-round-header',
|
|
@@ -6,10 +6,10 @@ export class ButtonComponent {
|
|
|
6
6
|
constructor() {
|
|
7
7
|
this.button = inject(ButtonDirective);
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ButtonComponent, isStandalone: true, selector: "[et-button]", host: { classAttribute: "et-button" }, hostDirectives: [{ directive: i1.ButtonDirective, inputs: ["disabled", "disabled", "type", "type", "pressed", "pressed"] }], ngImport: i0, template: "<span class=\"et-button-content\">\n <span class=\"et-button-text\">\n <ng-content />\n </span>\n</span>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
14
|
args: [{ selector: '[et-button]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, hostDirectives: [{ directive: ButtonDirective, inputs: ['disabled', 'type', 'pressed'] }], host: {
|
|
15
15
|
class: 'et-button',
|
|
@@ -11,10 +11,10 @@ export class QueryButtonComponent {
|
|
|
11
11
|
constructor() {
|
|
12
12
|
this.queryButton = inject(QueryButtonDirective);
|
|
13
13
|
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: QueryButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: QueryButtonComponent, isStandalone: true, selector: "[et-query-button]", host: { classAttribute: "et-query-button" }, hostDirectives: [{ directive: i1.QueryButtonDirective, inputs: ["query", "query", "skipSuccess", "skipSuccess", "skipFailure", "skipFailure", "skipLoading", "skipLoading"] }, { directive: i2.ButtonDirective, inputs: ["disabled", "disabled", "type", "type", "pressed", "pressed"] }], ngImport: i0, template: "<ng-container *etLet=\"queryButton.showSuccess$ | async as showSuccess\">\n <ng-container *etLet=\"queryButton.showFailure$ | async as showFailure\">\n <span *etQuery=\"queryButton.query$ | async; loading as loading\" class=\"et-button-content et-query-button-content\">\n <span\n [attr.aria-hidden]=\"(loading && !queryButton.skipLoading) || showSuccess || showFailure ? 'true' : undefined\"\n class=\"et-button-text et-query-button-text et-query-button-text--default\"\n >\n <ng-content />\n </span>\n\n @if (loading && !queryButton.skipLoading) {\n <span class=\"et-query-button-loading\"> </span>\n }\n @if (loading && !queryButton.skipLoading) {\n <span class=\"et-button-text et-query-button-text et-query-button-text--loading\">Loading</span>\n }\n\n @if (showSuccess) {\n <span class=\"et-button-text et-query-button-text et-query-button-text--success\">Success</span>\n }\n @if (showFailure) {\n <span class=\"et-button-text et-query-button-text et-query-button-text--failure\">Failure</span>\n }\n </span>\n </ng-container>\n</ng-container>\n", styles: [".et-query-button .et-button-content{display:grid}.et-query-button .et-query-button-text,.et-query-button .et-query-button-loading{grid-area:1/1/2/2}.et-query-button.et-query-button--loading .et-query-button-text--default,.et-query-button.et-query-button--success .et-query-button-text--default,.et-query-button.et-query-button--failure .et-query-button-text--default{opacity:0;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: QueryDirective, selector: "[etQuery]", inputs: ["etQuery", "etQueryCache"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: LetDirective, selector: "[etLet]", inputs: ["etLet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
16
16
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: QueryButtonComponent, decorators: [{
|
|
18
18
|
type: Component,
|
|
19
19
|
args: [{ selector: '[et-query-button]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, hostDirectives: [
|
|
20
20
|
{ directive: QueryButtonDirective, inputs: ['query', 'skipSuccess', 'skipFailure', 'skipLoading'] },
|
|
@@ -50,10 +50,10 @@ export class ButtonDirective {
|
|
|
50
50
|
_removeTabIndexBindings() {
|
|
51
51
|
this.hostAttributeBindings.remove('tabindex');
|
|
52
52
|
}
|
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
54
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
53
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
54
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: ButtonDirective, isStandalone: true, inputs: { disabled: "disabled", type: "type", pressed: "pressed" }, exportAs: ["etButton"], ngImport: i0 }); }
|
|
55
55
|
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ButtonDirective, decorators: [{
|
|
57
57
|
type: Directive,
|
|
58
58
|
args: [{
|
|
59
59
|
standalone: true,
|
|
@@ -106,10 +106,10 @@ export class QueryButtonDirective {
|
|
|
106
106
|
});
|
|
107
107
|
this._button._removeDisabledBindings();
|
|
108
108
|
}
|
|
109
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
110
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.
|
|
109
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: QueryButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
110
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.3", type: QueryButtonDirective, isStandalone: true, inputs: { skipSuccess: ["skipSuccess", "skipSuccess", booleanAttribute], skipFailure: ["skipFailure", "skipFailure", booleanAttribute], skipLoading: ["skipLoading", "skipLoading", booleanAttribute], query: "query" }, exportAs: ["etQueryButton"], ngImport: i0 }); }
|
|
111
111
|
}
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: QueryButtonDirective, decorators: [{
|
|
113
113
|
type: Directive,
|
|
114
114
|
args: [{
|
|
115
115
|
standalone: true,
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ViewEncapsulation, inject, viewChild } from '@angular/core';
|
|
3
|
+
import { syncSignal } from '@ethlete/core';
|
|
4
|
+
import { CAROUSEL_TOKEN, CarouselDirective } from './carousel.directive';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./carousel.directive";
|
|
7
|
+
export class CarouselComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.carousel = inject(CAROUSEL_TOKEN);
|
|
10
|
+
this.carouselItemsWrapper = viewChild.required('carouselItemsWrapper');
|
|
11
|
+
syncSignal(this.carouselItemsWrapper, this.carousel.carouselItemsWrapper);
|
|
12
|
+
}
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "17.3.3", type: CarouselComponent, isStandalone: true, selector: "et-carousel", host: { classAttribute: "et-carousel-host" }, viewQueries: [{ propertyName: "carouselItemsWrapper", first: true, predicate: ["carouselItemsWrapper"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.CarouselDirective, inputs: ["loop", "loop", "autoPlay", "autoPlay", "autoPlayTime", "autoPlayTime", "pauseAutoPlayOnHover", "pauseAutoPlayOnHover", "pauseAutoPlayOnFocus", "pauseAutoPlayOnFocus", "transitionType", "transitionType", "transitionDuration", "transitionDuration"] }], ngImport: i0, template: `
|
|
15
|
+
<div class="et-carousel">
|
|
16
|
+
<div #carouselItemsWrapper class="et-carousel-items">
|
|
17
|
+
<ng-content select="et-carousel-item, [etCarouselItem]" />
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
<ng-content />
|
|
21
|
+
</div>
|
|
22
|
+
`, isInline: true, styles: [".et-carousel-host{--et-carousel-slide-easing: cubic-bezier(.25, .64, .44, 1);--et-carousel-dot-size: 10px;--et-carousel-dot-gap: 10px;--et-carousel-dot-radius: 5px;--et-carousel-dot-color: rgb(var(--et-color-primary, 51 51 51));--et-carousel-dot-color-hover: rgb(var(--et-color-primary-hover, 197 197 197));--et-carousel-dot-color-focus: rgb(var(--et-color-primary-focus, 197 197 197));--et-carousel-dot-color-active: rgb(var(--et-color-primary-active, 147 147 147));--et-carousel-dot-color-current: rgb(var(--et-color-primary, 255 255 255));--et-carousel-progress-inline-size: 50px;--_et-carousel-slide-duration: .5s}.et-carousel-host[transition-type=mask-slide]{--et-carousel-slide-translate: 125px;--_et-carousel-slide-direction-inactive: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);--_et-carousel-slide-direction-active: polygon(0 0, 100% 0, 100% 100%, 0 100%);--_et-carousel-slide-transform: translateX(var(--et-carousel-slide-translate));--_et-carousel-slide-transform-inverse: translateX(calc(var(--et-carousel-slide-translate) * -1))}.et-carousel-host[transition-type=mask-slide].et-carousel--slide-left{--_et-carousel-slide-direction-inactive: polygon(0 0, 0 0, 0 100%, 0% 100%);--_et-carousel-slide-transform: translateX(calc(var(--et-carousel-slide-translate) * -1));--_et-carousel-slide-transform-inverse: translateX(var(--et-carousel-slide-translate))}.et-carousel-host[transition-type=mask-slide] .et-carousel-item{transform:var(--_et-carousel-slide-transform);clip-path:var(--_et-carousel-slide-direction-inactive);filter:brightness(.5)}.et-carousel-host[transition-type=mask-slide] .et-carousel-item.active,.et-carousel-host[transition-type=mask-slide] .et-carousel-item.previous-active{transition-timing-function:var(--et-carousel-slide-easing);transition-duration:var(--_et-carousel-slide-duration);transition-property:clip-path,transform,filter;clip-path:var(--_et-carousel-slide-direction-active)}.et-carousel-host[transition-type=mask-slide] .et-carousel-item.active{z-index:1;transform:translate(0);pointer-events:auto;filter:brightness(1)}.et-carousel-host[transition-type=mask-slide] .et-carousel-item.previous-active{transform:var(--_et-carousel-slide-transform-inverse)}.et-carousel-items{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden}.et-carousel-item{grid-area:1/1/2/2;position:relative;pointer-events:none}.et-carousel-item-nav{list-style:none;padding:0;display:flex;gap:var(--et-carousel-dot-gap)}.et-carousel-item-nav .et-carousel-item-nav-button{inline-size:var(--et-carousel-dot-size);block-size:var(--et-carousel-dot-size);border-radius:var(--et-carousel-dot-radius);background-color:var(--et-carousel-dot-color);border:0;padding:0;overflow:hidden;transition:inline-size .1s linear;cursor:pointer}.et-carousel-item-nav .et-carousel-item-nav-button--progressing{inline-size:var(--et-carousel-progress-inline-size)}.et-carousel-item-nav .et-carousel-item-nav-button--progressing .et-carousel-item-nav-button-progress{transition:transform .1s linear}.et-carousel-item-nav .et-carousel-item-nav-button:not(.et-carousel-item-nav .et-carousel-item-nav-button--progressing){transition:background-color .1s linear}.et-carousel-item-nav .et-carousel-item-nav-button:not(.et-carousel-item-nav .et-carousel-item-nav-button--progressing):hover{background-color:var(--et-carousel-dot-color-hover)}.et-carousel-item-nav .et-carousel-item-nav-button:not(.et-carousel-item-nav .et-carousel-item-nav-button--progressing):active{background-color:var(--et-carousel-dot-color-active)}.et-carousel-item-nav .et-carousel-item-nav-button:not(.et-carousel-item-nav .et-carousel-item-nav-button--progressing).et-carousel-item-nav-button--active-static{background-color:var(--et-carousel-dot-color-current)}.et-carousel-item-nav .et-carousel-item-nav-button-progress{inline-size:100%;block-size:100%;background-color:var(--et-carousel-dot-color-current);transform-origin:left;transform:scaleX(var(--_et-carousel-item-nav-button-progress, 0))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
23
|
+
}
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CarouselComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{ selector: 'et-carousel', template: `
|
|
27
|
+
<div class="et-carousel">
|
|
28
|
+
<div #carouselItemsWrapper class="et-carousel-items">
|
|
29
|
+
<ng-content select="et-carousel-item, [etCarouselItem]" />
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<ng-content />
|
|
33
|
+
</div>
|
|
34
|
+
`, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
35
|
+
class: 'et-carousel-host',
|
|
36
|
+
}, imports: [NgTemplateOutlet], hostDirectives: [
|
|
37
|
+
{
|
|
38
|
+
directive: CarouselDirective,
|
|
39
|
+
inputs: [
|
|
40
|
+
'loop',
|
|
41
|
+
'autoPlay',
|
|
42
|
+
'autoPlayTime',
|
|
43
|
+
'pauseAutoPlayOnHover',
|
|
44
|
+
'pauseAutoPlayOnFocus',
|
|
45
|
+
'transitionType',
|
|
46
|
+
'transitionDuration',
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
], styles: [".et-carousel-host{--et-carousel-slide-easing: cubic-bezier(.25, .64, .44, 1);--et-carousel-dot-size: 10px;--et-carousel-dot-gap: 10px;--et-carousel-dot-radius: 5px;--et-carousel-dot-color: rgb(var(--et-color-primary, 51 51 51));--et-carousel-dot-color-hover: rgb(var(--et-color-primary-hover, 197 197 197));--et-carousel-dot-color-focus: rgb(var(--et-color-primary-focus, 197 197 197));--et-carousel-dot-color-active: rgb(var(--et-color-primary-active, 147 147 147));--et-carousel-dot-color-current: rgb(var(--et-color-primary, 255 255 255));--et-carousel-progress-inline-size: 50px;--_et-carousel-slide-duration: .5s}.et-carousel-host[transition-type=mask-slide]{--et-carousel-slide-translate: 125px;--_et-carousel-slide-direction-inactive: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);--_et-carousel-slide-direction-active: polygon(0 0, 100% 0, 100% 100%, 0 100%);--_et-carousel-slide-transform: translateX(var(--et-carousel-slide-translate));--_et-carousel-slide-transform-inverse: translateX(calc(var(--et-carousel-slide-translate) * -1))}.et-carousel-host[transition-type=mask-slide].et-carousel--slide-left{--_et-carousel-slide-direction-inactive: polygon(0 0, 0 0, 0 100%, 0% 100%);--_et-carousel-slide-transform: translateX(calc(var(--et-carousel-slide-translate) * -1));--_et-carousel-slide-transform-inverse: translateX(var(--et-carousel-slide-translate))}.et-carousel-host[transition-type=mask-slide] .et-carousel-item{transform:var(--_et-carousel-slide-transform);clip-path:var(--_et-carousel-slide-direction-inactive);filter:brightness(.5)}.et-carousel-host[transition-type=mask-slide] .et-carousel-item.active,.et-carousel-host[transition-type=mask-slide] .et-carousel-item.previous-active{transition-timing-function:var(--et-carousel-slide-easing);transition-duration:var(--_et-carousel-slide-duration);transition-property:clip-path,transform,filter;clip-path:var(--_et-carousel-slide-direction-active)}.et-carousel-host[transition-type=mask-slide] .et-carousel-item.active{z-index:1;transform:translate(0);pointer-events:auto;filter:brightness(1)}.et-carousel-host[transition-type=mask-slide] .et-carousel-item.previous-active{transform:var(--_et-carousel-slide-transform-inverse)}.et-carousel-items{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden}.et-carousel-item{grid-area:1/1/2/2;position:relative;pointer-events:none}.et-carousel-item-nav{list-style:none;padding:0;display:flex;gap:var(--et-carousel-dot-gap)}.et-carousel-item-nav .et-carousel-item-nav-button{inline-size:var(--et-carousel-dot-size);block-size:var(--et-carousel-dot-size);border-radius:var(--et-carousel-dot-radius);background-color:var(--et-carousel-dot-color);border:0;padding:0;overflow:hidden;transition:inline-size .1s linear;cursor:pointer}.et-carousel-item-nav .et-carousel-item-nav-button--progressing{inline-size:var(--et-carousel-progress-inline-size)}.et-carousel-item-nav .et-carousel-item-nav-button--progressing .et-carousel-item-nav-button-progress{transition:transform .1s linear}.et-carousel-item-nav .et-carousel-item-nav-button:not(.et-carousel-item-nav .et-carousel-item-nav-button--progressing){transition:background-color .1s linear}.et-carousel-item-nav .et-carousel-item-nav-button:not(.et-carousel-item-nav .et-carousel-item-nav-button--progressing):hover{background-color:var(--et-carousel-dot-color-hover)}.et-carousel-item-nav .et-carousel-item-nav-button:not(.et-carousel-item-nav .et-carousel-item-nav-button--progressing):active{background-color:var(--et-carousel-dot-color-active)}.et-carousel-item-nav .et-carousel-item-nav-button:not(.et-carousel-item-nav .et-carousel-item-nav-button--progressing).et-carousel-item-nav-button--active-static{background-color:var(--et-carousel-dot-color-current)}.et-carousel-item-nav .et-carousel-item-nav-button-progress{inline-size:100%;block-size:100%;background-color:var(--et-carousel-dot-color-current);transform-origin:left;transform:scaleX(var(--_et-carousel-item-nav-button-progress, 0))}\n"] }]
|
|
50
|
+
}], ctorParameters: () => [] });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQW9DekUsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QjtRQUhBLGFBQVEsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEMseUJBQW9CLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBMEIsc0JBQXNCLENBQUMsQ0FBQztRQUd6RixVQUFVLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUM1RSxDQUFDOzhHQU5VLGlCQUFpQjtrR0FBakIsaUJBQWlCLDRqQkFoQ2xCOzs7Ozs7OztHQVFUOzsyRkF3QlUsaUJBQWlCO2tCQWxDN0IsU0FBUzsrQkFDRSxhQUFhLFlBQ2I7Ozs7Ozs7O0dBUVQsY0FFVyxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLGtCQUFrQjtxQkFDMUIsV0FDUSxDQUFDLGdCQUFnQixDQUFDLGtCQUNYO3dCQUNkOzRCQUNFLFNBQVMsRUFBRSxpQkFBaUI7NEJBQzVCLE1BQU0sRUFBRTtnQ0FDTixNQUFNO2dDQUNOLFVBQVU7Z0NBQ1YsY0FBYztnQ0FDZCxzQkFBc0I7Z0NBQ3RCLHNCQUFzQjtnQ0FDdEIsZ0JBQWdCO2dDQUNoQixvQkFBb0I7NkJBQ3JCO3lCQUNGO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHN5bmNTaWduYWwgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IENBUk9VU0VMX1RPS0VOLCBDYXJvdXNlbERpcmVjdGl2ZSB9IGZyb20gJy4vY2Fyb3VzZWwuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY2Fyb3VzZWwnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJldC1jYXJvdXNlbFwiPlxuICAgICAgPGRpdiAjY2Fyb3VzZWxJdGVtc1dyYXBwZXIgY2xhc3M9XCJldC1jYXJvdXNlbC1pdGVtc1wiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJldC1jYXJvdXNlbC1pdGVtLCBbZXRDYXJvdXNlbEl0ZW1dXCIgLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8bmctY29udGVudCAvPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybDogJy4vY2Fyb3VzZWwuY29tcG9uZW50LnNjc3MnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtY2Fyb3VzZWwtaG9zdCcsXG4gIH0sXG4gIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0XSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IENhcm91c2VsRGlyZWN0aXZlLFxuICAgICAgaW5wdXRzOiBbXG4gICAgICAgICdsb29wJyxcbiAgICAgICAgJ2F1dG9QbGF5JyxcbiAgICAgICAgJ2F1dG9QbGF5VGltZScsXG4gICAgICAgICdwYXVzZUF1dG9QbGF5T25Ib3ZlcicsXG4gICAgICAgICdwYXVzZUF1dG9QbGF5T25Gb2N1cycsXG4gICAgICAgICd0cmFuc2l0aW9uVHlwZScsXG4gICAgICAgICd0cmFuc2l0aW9uRHVyYXRpb24nLFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDYXJvdXNlbENvbXBvbmVudCB7XG4gIGNhcm91c2VsID0gaW5qZWN0KENBUk9VU0VMX1RPS0VOKTtcbiAgY2Fyb3VzZWxJdGVtc1dyYXBwZXIgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdjYXJvdXNlbEl0ZW1zV3JhcHBlcicpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN5bmNTaWduYWwodGhpcy5jYXJvdXNlbEl0ZW1zV3JhcHBlciwgdGhpcy5jYXJvdXNlbC5jYXJvdXNlbEl0ZW1zV3JhcHBlcik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { Directive, InjectionToken, Injector, booleanAttribute, computed, contentChildren, inject, input, numberAttribute, signal, } from '@angular/core';
|
|
2
|
+
import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { nextFrame, previousSignalValue, signalHostAttributes, signalHostClasses, signalHostStyles, } from '@ethlete/core';
|
|
4
|
+
import { combineLatest, filter, fromEvent, map, merge, of, switchMap, takeWhile, tap, timer } from 'rxjs';
|
|
5
|
+
import { CAROUSEL_ITEM_TOKEN } from './et-carousel-item.directive';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export const CAROUSEL_TOKEN = new InjectionToken('CAROUSEL_TOKEN');
|
|
8
|
+
export class CarouselDirective {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.injector = inject(Injector);
|
|
11
|
+
this.loop = input(true, { transform: booleanAttribute });
|
|
12
|
+
this.autoPlay = input(false, { transform: booleanAttribute });
|
|
13
|
+
this.autoPlayTime = input(5000, { transform: numberAttribute });
|
|
14
|
+
this.pauseAutoPlayOnHover = input(true, { transform: booleanAttribute });
|
|
15
|
+
this.pauseAutoPlayOnFocus = input(true, { transform: booleanAttribute });
|
|
16
|
+
this.transitionType = input('mask-slide');
|
|
17
|
+
this.transitionDuration = input(450, { transform: numberAttribute });
|
|
18
|
+
this.activeIndex = signal(0);
|
|
19
|
+
this.previousActiveIndex = previousSignalValue(this.activeIndex);
|
|
20
|
+
this.transitionDirection = signal('left');
|
|
21
|
+
this.carouselItemsWrapper = signal(null);
|
|
22
|
+
this.isAutoPlayPaused = signal(false);
|
|
23
|
+
this.isAutoPlayPausedByInternalHover = signal(false);
|
|
24
|
+
this.isAutoPlayPausedByInternalFocus = signal(false);
|
|
25
|
+
this.isNavigationLocked = toSignal(toObservable(this.activeIndex).pipe(switchMap(() => merge(of(true), timer(this.transitionDuration()).pipe(map(() => false))))), {
|
|
26
|
+
initialValue: false,
|
|
27
|
+
});
|
|
28
|
+
this.items = contentChildren(CAROUSEL_ITEM_TOKEN);
|
|
29
|
+
this.activeItem = computed(() => this.items()[this.activeIndex()] || null);
|
|
30
|
+
this.isAtStart = computed(() => this.activeIndex() === 0);
|
|
31
|
+
this.isAtEnd = computed(() => this.activeIndex() === this.items().length - 1);
|
|
32
|
+
this.hostClassBindings = signalHostClasses({
|
|
33
|
+
'et-carousel--slide-left': computed(() => this.transitionDirection() === 'left'),
|
|
34
|
+
'et-carousel--slide-right': computed(() => this.transitionDirection() === 'right'),
|
|
35
|
+
});
|
|
36
|
+
this.hostAttributeBindings = signalHostAttributes({
|
|
37
|
+
'transition-type': this.transitionType,
|
|
38
|
+
});
|
|
39
|
+
this.hostStyleBindings = signalHostStyles({
|
|
40
|
+
'--_carousel-slide-duration': computed(() => `${this.transitionDuration()}ms`),
|
|
41
|
+
});
|
|
42
|
+
this.activeItemAutoPlayDuration = computed(() => {
|
|
43
|
+
if (!this.autoPlay())
|
|
44
|
+
return null;
|
|
45
|
+
return this.activeItem()?.autoPlayTime() || this.autoPlayTime();
|
|
46
|
+
});
|
|
47
|
+
this.activeItemAutoPlayProgress = toSignal(combineLatest([toObservable(this.activeItemAutoPlayDuration), toObservable(this.activeItem)]).pipe(switchMap(([duration]) => {
|
|
48
|
+
if (duration === null)
|
|
49
|
+
return of(null);
|
|
50
|
+
let elapsed = 0;
|
|
51
|
+
return combineLatest([
|
|
52
|
+
toObservable(this.isAutoPlayPaused, { injector: this.injector }),
|
|
53
|
+
toObservable(this.isAutoPlayPausedByInternalHover, { injector: this.injector }),
|
|
54
|
+
toObservable(this.isAutoPlayPausedByInternalFocus, { injector: this.injector }),
|
|
55
|
+
]).pipe(switchMap(([isPaused, internalIsPausedDueToHover, internalIsPausedDueToFocus]) => {
|
|
56
|
+
if (isPaused || internalIsPausedDueToHover || internalIsPausedDueToFocus)
|
|
57
|
+
return of(elapsed / duration);
|
|
58
|
+
return timer(0, 100).pipe(tap(() => (elapsed += 100)), map(() => elapsed / duration), takeWhile((progress) => progress < 1, true));
|
|
59
|
+
}));
|
|
60
|
+
})), { initialValue: null });
|
|
61
|
+
this.shouldPlayNextItem = computed(() => {
|
|
62
|
+
if (!this.autoPlay())
|
|
63
|
+
return false;
|
|
64
|
+
return this.activeItemAutoPlayProgress() === 1;
|
|
65
|
+
});
|
|
66
|
+
combineLatest([toObservable(this.activeItemAutoPlayProgress), toObservable(this.autoPlay)])
|
|
67
|
+
.pipe(filter(([progress, autoPlay]) => progress === 1 && autoPlay), tap(() => this.next()), takeUntilDestroyed())
|
|
68
|
+
.subscribe();
|
|
69
|
+
combineLatest([toObservable(this.carouselItemsWrapper), toObservable(this.pauseAutoPlayOnHover)])
|
|
70
|
+
.pipe(switchMap(([wrapper, pauseOnHover]) => {
|
|
71
|
+
if (!wrapper || !pauseOnHover) {
|
|
72
|
+
this.isAutoPlayPausedByInternalHover.set(false);
|
|
73
|
+
return of(null);
|
|
74
|
+
}
|
|
75
|
+
return merge(fromEvent(wrapper.nativeElement, 'mouseenter').pipe(map(() => true)), fromEvent(wrapper.nativeElement, 'mouseleave').pipe(map(() => false))).pipe(tap((isHovering) => this.isAutoPlayPausedByInternalHover.set(isHovering)));
|
|
76
|
+
}), takeUntilDestroyed())
|
|
77
|
+
.subscribe();
|
|
78
|
+
combineLatest([toObservable(this.carouselItemsWrapper), toObservable(this.pauseAutoPlayOnFocus)])
|
|
79
|
+
.pipe(switchMap(([wrapper, pauseOnFocus]) => {
|
|
80
|
+
if (!wrapper || !pauseOnFocus) {
|
|
81
|
+
this.isAutoPlayPausedByInternalFocus.set(false);
|
|
82
|
+
return of(null);
|
|
83
|
+
}
|
|
84
|
+
return merge(fromEvent(wrapper.nativeElement, 'focusin').pipe(map(() => true)), fromEvent(wrapper.nativeElement, 'focusout').pipe(map(() => false))).pipe(tap((isFocused) => this.isAutoPlayPausedByInternalFocus.set(isFocused)));
|
|
85
|
+
}), takeUntilDestroyed())
|
|
86
|
+
.subscribe();
|
|
87
|
+
}
|
|
88
|
+
next() {
|
|
89
|
+
if (this.isNavigationLocked())
|
|
90
|
+
return;
|
|
91
|
+
this.transitionDirection.set('right');
|
|
92
|
+
nextFrame(() => {
|
|
93
|
+
if (this.activeIndex() === this.items().length - 1) {
|
|
94
|
+
if (!this.loop())
|
|
95
|
+
return;
|
|
96
|
+
this.activeIndex.set(0);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
this.activeIndex.set(this.activeIndex() + 1);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
prev() {
|
|
103
|
+
if (this.isNavigationLocked())
|
|
104
|
+
return;
|
|
105
|
+
this.transitionDirection.set('left');
|
|
106
|
+
nextFrame(() => {
|
|
107
|
+
if (this.activeIndex() === 0) {
|
|
108
|
+
if (!this.loop())
|
|
109
|
+
return;
|
|
110
|
+
this.activeIndex.set(this.items().length - 1);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
this.activeIndex.set(this.activeIndex() - 1);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
goTo(index) {
|
|
117
|
+
if (this.isNavigationLocked())
|
|
118
|
+
return;
|
|
119
|
+
this.transitionDirection.set(this.activeIndex() < index ? 'right' : 'left');
|
|
120
|
+
nextFrame(() => {
|
|
121
|
+
this.activeIndex.set(index);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
stopAutoPlay() {
|
|
125
|
+
this.isAutoPlayPaused.set(true);
|
|
126
|
+
}
|
|
127
|
+
resumeAutoPlay() {
|
|
128
|
+
this.isAutoPlayPaused.set(false);
|
|
129
|
+
}
|
|
130
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CarouselDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
131
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "17.3.3", type: CarouselDirective, isStandalone: true, inputs: { loop: { classPropertyName: "loop", publicName: "loop", isSignal: true, isRequired: false, transformFunction: null }, autoPlay: { classPropertyName: "autoPlay", publicName: "autoPlay", isSignal: true, isRequired: false, transformFunction: null }, autoPlayTime: { classPropertyName: "autoPlayTime", publicName: "autoPlayTime", isSignal: true, isRequired: false, transformFunction: null }, pauseAutoPlayOnHover: { classPropertyName: "pauseAutoPlayOnHover", publicName: "pauseAutoPlayOnHover", isSignal: true, isRequired: false, transformFunction: null }, pauseAutoPlayOnFocus: { classPropertyName: "pauseAutoPlayOnFocus", publicName: "pauseAutoPlayOnFocus", isSignal: true, isRequired: false, transformFunction: null }, transitionType: { classPropertyName: "transitionType", publicName: "transitionType", isSignal: true, isRequired: false, transformFunction: null }, transitionDuration: { classPropertyName: "transitionDuration", publicName: "transitionDuration", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
132
|
+
{
|
|
133
|
+
provide: CAROUSEL_TOKEN,
|
|
134
|
+
useExisting: CarouselDirective,
|
|
135
|
+
},
|
|
136
|
+
], queries: [{ propertyName: "items", predicate: CAROUSEL_ITEM_TOKEN, isSignal: true }], ngImport: i0 }); }
|
|
137
|
+
}
|
|
138
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CarouselDirective, decorators: [{
|
|
139
|
+
type: Directive,
|
|
140
|
+
args: [{
|
|
141
|
+
standalone: true,
|
|
142
|
+
providers: [
|
|
143
|
+
{
|
|
144
|
+
provide: CAROUSEL_TOKEN,
|
|
145
|
+
useExisting: CarouselDirective,
|
|
146
|
+
},
|
|
147
|
+
],
|
|
148
|
+
}]
|
|
149
|
+
}], ctorParameters: () => [] });
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Nhcm91c2VsL2Nhcm91c2VsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULGNBQWMsRUFDZCxRQUFRLEVBQ1IsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssRUFDTCxlQUFlLEVBQ2YsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEYsT0FBTyxFQUNMLFNBQVMsRUFDVCxtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFbkUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFvQixnQkFBZ0IsQ0FBQyxDQUFDO0FBZXRGLE1BQU0sT0FBTyxpQkFBaUI7SUF3RjVCO1FBdkZBLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFNUIsU0FBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxF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LEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxjQUFjOzRCQUN2QixXQUFXLG1CQUFtQjt5QkFDL0I7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdGlvblRva2VuLFxuICBJbmplY3RvcixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIGNvbnRlbnRDaGlsZHJlbixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGUsIHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtcbiAgbmV4dEZyYW1lLFxuICBwcmV2aW91c1NpZ25hbFZhbHVlLFxuICBzaWduYWxIb3N0QXR0cmlidXRlcyxcbiAgc2lnbmFsSG9zdENsYXNzZXMsXG4gIHNpZ25hbEhvc3RTdHlsZXMsXG59IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBmcm9tRXZlbnQsIG1hcCwgbWVyZ2UsIG9mLCBzd2l0Y2hNYXAsIHRha2VXaGlsZSwgdGFwLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ0FST1VTRUxfSVRFTV9UT0tFTiB9IGZyb20gJy4vZXQtY2Fyb3VzZWwtaXRlbS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgQ0FST1VTRUxfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Q2Fyb3VzZWxEaXJlY3RpdmU+KCdDQVJPVVNFTF9UT0tFTicpO1xuXG5leHBvcnQgdHlwZSBDYXJvdXNlbFRyYW5zaXRpb25UeXBlID0gJ21hc2stc2xpZGUnO1xuXG5leHBvcnQgdHlwZSBDYXJvdXNlbFRyYW5zaXRpb25EaXJlY3Rpb24gPSAnbGVmdCcgfCAncmlnaHQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQ0FST1VTRUxfVE9LRU4sXG4gICAgICB1c2VFeGlzdGluZzogQ2Fyb3VzZWxEaXJlY3RpdmUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2Fyb3VzZWxEaXJlY3RpdmUge1xuICBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgbG9vcCA9IGlucHV0KHRydWUsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuICBhdXRvUGxheSA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgYXV0b1BsYXlUaW1lID0gaW5wdXQoNTAwMCwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KTtcbiAgcGF1c2VBdXRvUGxheU9uSG92ZXIgPSBpbnB1dCh0cnVlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgcGF1c2VBdXRvUGxheU9uRm9jdXMgPSBpbnB1dCh0cnVlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgdHJhbnNpdGlvblR5cGUgPSBpbnB1dDxDYXJvdXNlbFRyYW5zaXRpb25UeXBlPignbWFzay1zbGlkZScpO1xuICB0cmFuc2l0aW9uRHVyYXRpb24gPSBpbnB1dCg0NTAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG5cbiAgYWN0aXZlSW5kZXggPSBzaWduYWwoMCk7XG4gIHByZXZpb3VzQWN0aXZlSW5kZXggPSBwcmV2aW91c1NpZ25hbFZhbHVlKHRoaXMuYWN0aXZlSW5kZXgpO1xuICB0cmFuc2l0aW9uRGlyZWN0aW9uID0gc2lnbmFsPENhcm91c2VsVHJhbnNpdGlvbkRpcmVjdGlvbj4oJ2xlZnQnKTtcbiAgY2Fyb3VzZWxJdGVtc1dyYXBwZXIgPSBzaWduYWw8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4gfCBudWxsPihudWxsKTtcblxuICBpc0F1dG9QbGF5UGF1c2VkID0gc2lnbmFsKGZhbHNlKTtcbiAgaXNBdXRvUGxheVBhdXNlZEJ5SW50ZXJuYWxIb3ZlciA9IHNpZ25hbChmYWxzZSk7XG4gIGlzQXV0b1BsYXlQYXVzZWRCeUludGVybmFsRm9jdXMgPSBzaWduYWwoZmFsc2UpO1xuXG4gIGlzTmF2aWdhdGlvbkxvY2tlZCA9IHRvU2lnbmFsKFxuICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmFjdGl2ZUluZGV4KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IG1lcmdlKG9mKHRydWUpLCB0aW1lcih0aGlzLnRyYW5zaXRpb25EdXJhdGlvbigpKS5waXBlKG1hcCgoKSA9PiBmYWxzZSkpKSksXG4gICAgKSxcbiAgICB7XG4gICAgICBpbml0aWFsVmFsdWU6IGZhbHNlLFxuICAgIH0sXG4gICk7XG5cbiAgaXRlbXMgPSBjb250ZW50Q2hpbGRyZW4oQ0FST1VTRUxfSVRFTV9UT0tFTik7XG5cbiAgYWN0aXZlSXRlbSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaXRlbXMoKVt0aGlzLmFjdGl2ZUluZGV4KCldIHx8IG51bGwpO1xuXG4gIGlzQXRTdGFydCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYWN0aXZlSW5kZXgoKSA9PT0gMCk7XG4gIGlzQXRFbmQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmFjdGl2ZUluZGV4KCkgPT09IHRoaXMuaXRlbXMoKS5sZW5ndGggLSAxKTtcblxuICBob3N0Q2xhc3NCaW5kaW5ncyA9IHNpZ25hbEhvc3RDbGFzc2VzKHtcbiAgICAnZXQtY2Fyb3VzZWwtLXNsaWRlLWxlZnQnOiBjb21wdXRlZCgoKSA9PiB0aGlzLnRyYW5zaXRpb25EaXJlY3Rpb24oKSA9PT0gJ2xlZnQnKSxcbiAgICAnZXQtY2Fyb3VzZWwtLXNsaWRlLXJpZ2h0JzogY29tcHV0ZWQoKCkgPT4gdGhpcy50cmFuc2l0aW9uRGlyZWN0aW9uKCkgPT09ICdyaWdodCcpLFxuICB9KTtcblxuICBob3N0QXR0cmlidXRlQmluZGluZ3MgPSBzaWduYWxIb3N0QXR0cmlidXRlcyh7XG4gICAgJ3RyYW5zaXRpb24tdHlwZSc6IHRoaXMudHJhbnNpdGlvblR5cGUsXG4gIH0pO1xuXG4gIGhvc3RTdHlsZUJpbmRpbmdzID0gc2lnbmFsSG9zdFN0eWxlcyh7XG4gICAgJy0tX2Nhcm91c2VsLXNsaWRlLWR1cmF0aW9uJzogY29tcHV0ZWQoKCkgPT4gYCR7dGhpcy50cmFuc2l0aW9uRHVyYXRpb24oKX1tc2ApLFxuICB9KTtcblxuICBhY3RpdmVJdGVtQXV0b1BsYXlEdXJhdGlvbiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAoIXRoaXMuYXV0b1BsYXkoKSkgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gdGhpcy5hY3RpdmVJdGVtKCk/LmF1dG9QbGF5VGltZSgpIHx8IHRoaXMuYXV0b1BsYXlUaW1lKCk7XG4gIH0pO1xuXG4gIGFjdGl2ZUl0ZW1BdXRvUGxheVByb2dyZXNzID0gdG9TaWduYWwoXG4gICAgY29tYmluZUxhdGVzdChbdG9PYnNlcnZhYmxlKHRoaXMuYWN0aXZlSXRlbUF1dG9QbGF5RHVyYXRpb24pLCB0b09ic2VydmFibGUodGhpcy5hY3RpdmVJdGVtKV0pLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFtkdXJhdGlvbl0pID0+IHtcbiAgICAgICAgaWYgKGR1cmF0aW9uID09PSBudWxsKSByZXR1cm4gb2YobnVsbCk7XG5cbiAgICAgICAgbGV0IGVsYXBzZWQgPSAwO1xuXG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICB0b09ic2VydmFibGUodGhpcy5pc0F1dG9QbGF5UGF1c2VkLCB7IGluamVjdG9yOiB0aGlzLmluamVjdG9yIH0pLFxuICAgICAgICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmlzQXV0b1BsYXlQYXVzZWRCeUludGVybmFsSG92ZXIsIHsgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IgfSksXG4gICAgICAgICAgdG9PYnNlcnZhYmxlKHRoaXMuaXNBdXRvUGxheVBhdXNlZEJ5SW50ZXJuYWxGb2N1cywgeyBpbmplY3RvcjogdGhpcy5pbmplY3RvciB9KSxcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKFtpc1BhdXNlZCwgaW50ZXJuYWxJc1BhdXNlZER1ZVRvSG92ZXIsIGludGVybmFsSXNQYXVzZWREdWVUb0ZvY3VzXSkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzUGF1c2VkIHx8IGludGVybmFsSXNQYXVzZWREdWVUb0hvdmVyIHx8IGludGVybmFsSXNQYXVzZWREdWVUb0ZvY3VzKSByZXR1cm4gb2YoZWxhcHNlZCAvIGR1cmF0aW9uKTtcblxuICAgICAgICAgICAgcmV0dXJuIHRpbWVyKDAsIDEwMCkucGlwZShcbiAgICAgICAgICAgICAgdGFwKCgpID0+IChlbGFwc2VkICs9IDEwMCkpLFxuICAgICAgICAgICAgICBtYXAoKCkgPT4gZWxhcHNlZCAvIGR1cmF0aW9uKSxcbiAgICAgICAgICAgICAgdGFrZVdoaWxlKChwcm9ncmVzcykgPT4gcHJvZ3Jlc3MgPCAxLCB0cnVlKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9KSxcbiAgICApLFxuICAgIHsgaW5pdGlhbFZhbHVlOiBudWxsIH0sXG4gICk7XG5cbiAgc2hvdWxkUGxheU5leHRJdGVtID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICghdGhpcy5hdXRvUGxheSgpKSByZXR1cm4gZmFsc2U7XG5cbiAgICByZXR1cm4gdGhpcy5hY3RpdmVJdGVtQXV0b1BsYXlQcm9ncmVzcygpID09PSAxO1xuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb21iaW5lTGF0ZXN0KFt0b09ic2VydmFibGUodGhpcy5hY3RpdmVJdGVtQXV0b1BsYXlQcm9ncmVzcyksIHRvT2JzZXJ2YWJsZSh0aGlzLmF1dG9QbGF5KV0pXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChbcHJvZ3Jlc3MsIGF1dG9QbGF5XSkgPT4gcHJvZ3Jlc3MgPT09IDEgJiYgYXV0b1BsYXkpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5uZXh0KCkpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RvT2JzZXJ2YWJsZSh0aGlzLmNhcm91c2VsSXRlbXNXcmFwcGVyKSwgdG9PYnNlcnZhYmxlKHRoaXMucGF1c2VBdXRvUGxheU9uSG92ZXIpXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKFt3cmFwcGVyLCBwYXVzZU9uSG92ZXJdKSA9PiB7XG4gICAgICAgICAgaWYgKCF3cmFwcGVyIHx8ICFwYXVzZU9uSG92ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuaXNBdXRvUGxheVBhdXNlZEJ5SW50ZXJuYWxIb3Zlci5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgICAgIGZyb21FdmVudCh3cmFwcGVyLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWVudGVyJykucGlwZShtYXAoKCkgPT4gdHJ1ZSkpLFxuICAgICAgICAgICAgZnJvbUV2ZW50KHdyYXBwZXIubmF0aXZlRWxlbWVudCwgJ21vdXNlbGVhdmUnKS5waXBlKG1hcCgoKSA9PiBmYWxzZSkpLFxuICAgICAgICAgICkucGlwZSh0YXAoKGlzSG92ZXJpbmcpID0+IHRoaXMuaXNBdXRvUGxheVBhdXNlZEJ5SW50ZXJuYWxIb3Zlci5zZXQoaXNIb3ZlcmluZykpKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgY29tYmluZUxhdGVzdChbdG9PYnNlcnZhYmxlKHRoaXMuY2Fyb3VzZWxJdGVtc1dyYXBwZXIpLCB0b09ic2VydmFibGUodGhpcy5wYXVzZUF1dG9QbGF5T25Gb2N1cyldKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoW3dyYXBwZXIsIHBhdXNlT25Gb2N1c10pID0+IHtcbiAgICAgICAgICBpZiAoIXdyYXBwZXIgfHwgIXBhdXNlT25Gb2N1cykge1xuICAgICAgICAgICAgdGhpcy5pc0F1dG9QbGF5UGF1c2VkQnlJbnRlcm5hbEZvY3VzLnNldChmYWxzZSk7XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICAgICAgZnJvbUV2ZW50KHdyYXBwZXIubmF0aXZlRWxlbWVudCwgJ2ZvY3VzaW4nKS5waXBlKG1hcCgoKSA9PiB0cnVlKSksXG4gICAgICAgICAgICBmcm9tRXZlbnQod3JhcHBlci5uYXRpdmVFbGVtZW50LCAnZm9jdXNvdXQnKS5waXBlKG1hcCgoKSA9PiBmYWxzZSkpLFxuICAgICAgICAgICkucGlwZSh0YXAoKGlzRm9jdXNlZCkgPT4gdGhpcy5pc0F1dG9QbGF5UGF1c2VkQnlJbnRlcm5hbEZvY3VzLnNldChpc0ZvY3VzZWQpKSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5leHQoKSB7XG4gICAgaWYgKHRoaXMuaXNOYXZpZ2F0aW9uTG9ja2VkKCkpIHJldHVybjtcblxuICAgIHRoaXMudHJhbnNpdGlvbkRpcmVjdGlvbi5zZXQoJ3JpZ2h0Jyk7XG5cbiAgICBuZXh0RnJhbWUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuYWN0aXZlSW5kZXgoKSA9PT0gdGhpcy5pdGVtcygpLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgaWYgKCF0aGlzLmxvb3AoKSkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuYWN0aXZlSW5kZXguc2V0KDApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWN0aXZlSW5kZXguc2V0KHRoaXMuYWN0aXZlSW5kZXgoKSArIDEpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJldigpIHtcbiAgICBpZiAodGhpcy5pc05hdmlnYXRpb25Mb2NrZWQoKSkgcmV0dXJuO1xuXG4gICAgdGhpcy50cmFuc2l0aW9uRGlyZWN0aW9uLnNldCgnbGVmdCcpO1xuXG4gICAgbmV4dEZyYW1lKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmFjdGl2ZUluZGV4KCkgPT09IDApIHtcbiAgICAgICAgaWYgKCF0aGlzLmxvb3AoKSkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuYWN0aXZlSW5kZXguc2V0KHRoaXMuaXRlbXMoKS5sZW5ndGggLSAxKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFjdGl2ZUluZGV4LnNldCh0aGlzLmFjdGl2ZUluZGV4KCkgLSAxKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdvVG8oaW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmlzTmF2aWdhdGlvbkxvY2tlZCgpKSByZXR1cm47XG5cbiAgICB0aGlzLnRyYW5zaXRpb25EaXJlY3Rpb24uc2V0KHRoaXMuYWN0aXZlSW5kZXgoKSA8IGluZGV4ID8gJ3JpZ2h0JyA6ICdsZWZ0Jyk7XG5cbiAgICBuZXh0RnJhbWUoKCkgPT4ge1xuICAgICAgdGhpcy5hY3RpdmVJbmRleC5zZXQoaW5kZXgpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RvcEF1dG9QbGF5KCkge1xuICAgIHRoaXMuaXNBdXRvUGxheVBhdXNlZC5zZXQodHJ1ZSk7XG4gIH1cblxuICByZXN1bWVBdXRvUGxheSgpIHtcbiAgICB0aGlzLmlzQXV0b1BsYXlQYXVzZWQuc2V0KGZhbHNlKTtcbiAgfVxufVxuIl19
|