@pepperi-addons/ngx-lib 0.4.2-scroll.7 → 0.5.0-ng15.1
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/address/address.component.d.ts +1 -1
- package/attachment/attachment.component.d.ts +2 -1
- package/bread-crumbs/bread-crumbs.component.d.ts +1 -1
- package/bread-crumbs/bread-crumbs.model.d.ts +1 -1
- package/button/button.component.d.ts +1 -1
- package/carousel/carousel-item.directive.d.ts +1 -1
- package/carousel/carousel.component.d.ts +1 -1
- package/checkbox/checkbox.component.d.ts +2 -1
- package/chips/chips.component.d.ts +4 -5
- package/chips/chips.component.theme.scss +15 -5
- package/chips/chips.model.d.ts +2 -2
- package/chips/chips.service.d.ts +0 -3
- package/color/color-picker.component.d.ts +1 -1
- package/color/color-picker.component.theme.scss +2 -1
- package/color/color.component.d.ts +1 -1
- package/color/color.model.d.ts +1 -1
- package/core/clipboard/clipboard.directive.d.ts +1 -1
- package/core/common/directives/auto-width.directive.d.ts +1 -1
- package/core/common/directives/base-destroyer.directive.d.ts +10 -0
- package/core/common/directives/button-blur.directive.d.ts +1 -1
- package/core/common/directives/button-loader.directive.d.ts +1 -1
- package/core/common/directives/data-qa.directive.d.ts +1 -1
- package/core/common/directives/div-loader.directive.d.ts +1 -1
- package/core/common/directives/menu-blur.directive.d.ts +1 -1
- package/core/common/directives/prevent-multi-click.directive.d.ts +1 -1
- package/core/common/directives/print.directive.d.ts +1 -1
- package/core/common/directives/public-api.d.ts +1 -0
- package/core/common/pipes/common-pipes.d.ts +2 -2
- package/core/common/services/addon.service.d.ts +6 -4
- package/core/common/services/file.service.d.ts +1 -1
- package/core/common/services/utilities.service.d.ts +4 -4
- package/core/customization/customization.model.d.ts +15 -12
- package/core/customization/customization.service.d.ts +4 -0
- package/core/layout/layout.service.d.ts +1 -1
- package/core/layout/rtl.directive.d.ts +2 -2
- package/core/portal/attach.directive.d.ts +1 -1
- package/core/portal/target.directive.d.ts +1 -1
- package/date/date.component.d.ts +4 -2
- package/dialog/default-dialog.component.d.ts +1 -1
- package/dialog/dialog.component.d.ts +1 -1
- package/dialog/dialog.model.d.ts +2 -2
- package/draggable-items/draggable-item/draggable-item.component.d.ts +16 -2
- package/draggable-items/draggable-items.component.d.ts +4 -7
- package/draggable-items/draggable-items.model.d.ts +2 -2
- package/draggable-items/draggable-items.module.d.ts +4 -3
- package/esm2020/address/address.component.mjs +16 -16
- package/esm2020/address/address.module.mjs +5 -5
- package/esm2020/attachment/attachment.component.mjs +58 -49
- package/esm2020/attachment/attachment.module.mjs +5 -5
- package/esm2020/bread-crumbs/bread-crumbs.component.mjs +15 -15
- package/esm2020/bread-crumbs/bread-crumbs.module.mjs +5 -5
- package/esm2020/button/button.component.mjs +23 -23
- package/esm2020/button/button.module.mjs +5 -5
- package/esm2020/carousel/carousel-item.directive.mjs +9 -9
- package/esm2020/carousel/carousel.component.mjs +52 -52
- package/esm2020/carousel/carousel.module.mjs +5 -5
- package/esm2020/checkbox/checkbox.component.mjs +40 -31
- package/esm2020/checkbox/checkbox.module.mjs +5 -5
- package/esm2020/chips/chips.component.mjs +26 -28
- package/esm2020/chips/chips.module.mjs +5 -5
- package/esm2020/chips/chips.service.mjs +5 -14
- package/esm2020/color/color-picker.component.mjs +5 -5
- package/esm2020/color/color.component.mjs +4 -4
- package/esm2020/color/color.module.mjs +5 -5
- package/esm2020/core/clipboard/clipboard.directive.mjs +4 -4
- package/esm2020/core/clipboard/clipboard.service.mjs +4 -4
- package/esm2020/core/common/directives/auto-width.directive.mjs +4 -4
- package/esm2020/core/common/directives/base-destroyer.directive.mjs +22 -0
- package/esm2020/core/common/directives/button-blur.directive.mjs +4 -4
- package/esm2020/core/common/directives/button-loader.directive.mjs +10 -10
- package/esm2020/core/common/directives/data-qa.directive.mjs +4 -4
- package/esm2020/core/common/directives/div-loader.directive.mjs +4 -4
- package/esm2020/core/common/directives/menu-blur.directive.mjs +4 -4
- package/esm2020/core/common/directives/prevent-multi-click.directive.mjs +4 -4
- package/esm2020/core/common/directives/print.directive.mjs +4 -4
- package/esm2020/core/common/directives/public-api.mjs +2 -1
- package/esm2020/core/common/pipes/common-pipes.mjs +35 -35
- package/esm2020/core/common/pipes/date-ago.pipe.mjs +4 -4
- package/esm2020/core/common/services/addon.service.mjs +36 -12
- package/esm2020/core/common/services/color.service.mjs +4 -4
- package/esm2020/core/common/services/cookie.service.mjs +4 -4
- package/esm2020/core/common/services/data-convertor.service.mjs +6 -6
- package/esm2020/core/common/services/file.service.mjs +4 -4
- package/esm2020/core/common/services/jwt-helper.service.mjs +4 -4
- package/esm2020/core/common/services/session.service.mjs +4 -4
- package/esm2020/core/common/services/translate.service.mjs +4 -4
- package/esm2020/core/common/services/utilities.service.mjs +10 -10
- package/esm2020/core/common/services/validator.service.mjs +4 -4
- package/esm2020/core/common/services/window-scrolling.service.mjs +4 -4
- package/esm2020/core/customization/customization.model.mjs +40 -11
- package/esm2020/core/customization/customization.service.mjs +22 -4
- package/esm2020/core/http/interceptors/error.interceptor.mjs +4 -4
- package/esm2020/core/http/interceptors/loader.interceptor.mjs +4 -4
- package/esm2020/core/http/interceptors/profiler.interceptor.mjs +4 -4
- package/esm2020/core/http/services/http.service.mjs +4 -4
- package/esm2020/core/http/services/loader.service.mjs +9 -9
- package/esm2020/core/layout/layout.service.mjs +12 -12
- package/esm2020/core/layout/rtl.directive.mjs +7 -7
- package/esm2020/core/portal/attach.directive.mjs +4 -4
- package/esm2020/core/portal/portal.service.mjs +4 -4
- package/esm2020/core/portal/target.directive.mjs +4 -4
- package/esm2020/core/scroll-to/scroll-to.service.mjs +4 -4
- package/esm2020/date/date.component.mjs +81 -59
- package/esm2020/date/date.model.mjs +7 -7
- package/esm2020/date/date.module.mjs +5 -5
- package/esm2020/dialog/default-dialog.component.mjs +4 -4
- package/esm2020/dialog/dialog.component.mjs +4 -4
- package/esm2020/dialog/dialog.module.mjs +5 -5
- package/esm2020/dialog/dialog.service.mjs +4 -4
- package/esm2020/draggable-items/draggable-item/draggable-item.component.mjs +46 -6
- package/esm2020/draggable-items/draggable-items.component.mjs +21 -29
- package/esm2020/draggable-items/draggable-items.module.mjs +9 -5
- package/esm2020/field-title/field-title.component.mjs +8 -5
- package/esm2020/field-title/field-title.module.mjs +5 -5
- package/esm2020/files-uploader/files-uploader.component.mjs +12 -12
- package/esm2020/files-uploader/files-uploader.module.mjs +5 -5
- package/esm2020/form/field-generator.component.mjs +5 -5
- package/esm2020/form/form.component.mjs +29 -27
- package/esm2020/form/form.module.mjs +5 -5
- package/esm2020/form/indicators.component.mjs +4 -4
- package/esm2020/form/internal-button.component.mjs +17 -17
- package/esm2020/form/internal-carusel.component.mjs +18 -18
- package/esm2020/form/internal-carusel.service.mjs +4 -4
- package/esm2020/form/internal-field-generator.component.mjs +5 -5
- package/esm2020/form/internal-form.component.mjs +29 -27
- package/esm2020/form/internal-list.component.mjs +7 -7
- package/esm2020/form/internal-menu.component.mjs +4 -4
- package/esm2020/form/internal-page.component.mjs +4 -4
- package/esm2020/form/internal-page.service.mjs +4 -4
- package/esm2020/group-buttons/group-buttons.component.mjs +5 -5
- package/esm2020/group-buttons/group-buttons.module.mjs +5 -5
- package/esm2020/icon/icon-registry.service.mjs +4 -4
- package/esm2020/icon/icon.component.mjs +11 -11
- package/esm2020/icon/icon.module.mjs +5 -5
- package/esm2020/icon/icon.service.mjs +4 -4
- package/esm2020/image/image.component.mjs +52 -43
- package/esm2020/image/image.module.mjs +5 -5
- package/esm2020/image/image.service.mjs +4 -4
- package/esm2020/images-filmstrip/images-filmstrip.component.mjs +26 -25
- package/esm2020/images-filmstrip/images-filmstrip.module.mjs +5 -5
- package/esm2020/link/link.component.mjs +59 -50
- package/esm2020/link/link.module.mjs +5 -5
- package/esm2020/link/link.pipes.mjs +4 -4
- package/esm2020/list/list-actions.component.mjs +6 -6
- package/esm2020/list/list-carousel.component.mjs +20 -20
- package/esm2020/list/list-chooser.component.mjs +6 -6
- package/esm2020/list/list-pager.component.mjs +12 -12
- package/esm2020/list/list-sorting.component.mjs +6 -6
- package/esm2020/list/list-total.component.mjs +9 -6
- package/esm2020/list/list-views.component.mjs +6 -6
- package/esm2020/list/list.component.mjs +135 -83
- package/esm2020/list/list.module.mjs +5 -5
- package/esm2020/list/list.pipes.mjs +7 -7
- package/esm2020/list/virtual-scroller.mjs +58 -58
- package/esm2020/menu/menu-item.component.mjs +5 -5
- package/esm2020/menu/menu.component.mjs +11 -11
- package/esm2020/menu/menu.module.mjs +5 -5
- package/esm2020/ngx-lib.module.mjs +5 -5
- package/esm2020/page-layout/page-layout.component.mjs +4 -4
- package/esm2020/page-layout/page-layout.module.mjs +5 -5
- package/esm2020/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +4 -4
- package/esm2020/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +4 -4
- package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +17 -17
- package/esm2020/profile-data-views-list/profile-data-views-list.module.mjs +5 -5
- package/esm2020/quantity-selector/quantity-selector-validation.directive.mjs +4 -4
- package/esm2020/quantity-selector/quantity-selector.component.mjs +102 -89
- package/esm2020/quantity-selector/quantity-selector.module.mjs +5 -5
- package/esm2020/quantity-selector/quantity-selector.pipes.mjs +4 -4
- package/esm2020/query-builder/common/services/output-query.service.mjs +4 -4
- package/esm2020/query-builder/common/services/query-structure.service.mjs +14 -5
- package/esm2020/query-builder/common/services/type-convertor.service.mjs +10 -10
- package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +24 -22
- package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +4 -4
- package/esm2020/query-builder/query-builder.component.mjs +19 -19
- package/esm2020/query-builder/query-builder.module.mjs +5 -5
- package/esm2020/query-builder/query-builder.service.mjs +4 -4
- package/esm2020/remote-loader/addon-block-loader.component.mjs +45 -35
- package/esm2020/remote-loader/addon-block-loader.service.mjs +8 -5
- package/esm2020/remote-loader/remote-loader-element.component.mjs +81 -26
- package/esm2020/remote-loader/remote-loader.component.mjs +13 -13
- package/esm2020/remote-loader/remote-loader.model.mjs +1 -1
- package/esm2020/remote-loader/remote-loader.module.mjs +5 -5
- package/esm2020/remote-loader/remote-loader.service.mjs +38 -15
- package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +47 -38
- package/esm2020/rich-html-textarea/rich-html-textarea.module.mjs +5 -5
- package/esm2020/search/search.component.mjs +35 -35
- package/esm2020/search/search.module.mjs +5 -5
- package/esm2020/select/select.component.mjs +89 -45
- package/esm2020/select/select.module.mjs +5 -5
- package/esm2020/select-panel/select-panel.component.mjs +26 -26
- package/esm2020/select-panel/select-panel.module.mjs +5 -5
- package/esm2020/separator/separator.component.mjs +16 -16
- package/esm2020/separator/separator.module.mjs +5 -5
- package/esm2020/side-bar/side-bar.component.mjs +29 -15
- package/esm2020/side-bar/side-bar.module.mjs +5 -5
- package/esm2020/signature/signature-dialog.component.mjs +4 -4
- package/esm2020/signature/signature.component.mjs +40 -31
- package/esm2020/signature/signature.module.mjs +5 -5
- package/esm2020/size-detector/size-detector.component.mjs +15 -13
- package/esm2020/size-detector/size-detector.module.mjs +5 -5
- package/esm2020/skeleton-loader/skeleton-loader.component.mjs +5 -5
- package/esm2020/skeleton-loader/skeleton-loader.module.mjs +5 -5
- package/esm2020/slider/slider.component.mjs +21 -21
- package/esm2020/slider/slider.module.mjs +5 -5
- package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +4 -4
- package/esm2020/smart-filters/common/filter-actions.component.mjs +4 -4
- package/esm2020/smart-filters/common/model/base-filter-component.mjs +28 -34
- package/esm2020/smart-filters/common/model/field.mjs +7 -7
- package/esm2020/smart-filters/common/model/operator.mjs +6 -4
- package/esm2020/smart-filters/date-filter/date-filter.component.mjs +4 -4
- package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +5 -5
- package/esm2020/smart-filters/number-filter/number-filter.component.mjs +4 -4
- package/esm2020/smart-filters/smart-filters.component.mjs +19 -19
- package/esm2020/smart-filters/smart-filters.module.mjs +5 -5
- package/esm2020/smart-filters/text-filter/text-filter.component.mjs +29 -9
- package/esm2020/snack-bar/default-snack-bar.component.mjs +4 -4
- package/esm2020/snack-bar/snack-bar.component.mjs +4 -4
- package/esm2020/snack-bar/snack-bar.module.mjs +5 -5
- package/esm2020/snack-bar/snack-bar.service.mjs +4 -4
- package/esm2020/textarea/textarea.component.mjs +40 -31
- package/esm2020/textarea/textarea.module.mjs +5 -5
- package/esm2020/textbox/textbox-validation.directive.mjs +5 -5
- package/esm2020/textbox/textbox.component.mjs +152 -116
- package/esm2020/textbox/textbox.module.mjs +5 -5
- package/esm2020/textbox-icon/textbox-icon.component.mjs +4 -4
- package/esm2020/textbox-icon/textbox-icon.module.mjs +5 -5
- package/esm2020/top-bar/top-bar.component.mjs +5 -5
- package/esm2020/top-bar/top-bar.module.mjs +5 -5
- package/fesm2015/pepperi-addons-ngx-lib-address.mjs +19 -19
- package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +61 -52
- package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs +18 -18
- package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-button.mjs +26 -26
- package/fesm2015/pepperi-addons-ngx-lib-button.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs +63 -63
- package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +43 -34
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +33 -44
- package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-color.mjs +11 -11
- package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-date.mjs +91 -68
- package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs +13 -13
- package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs +75 -40
- package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +11 -8
- package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +15 -15
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-form.mjs +122 -118
- package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +8 -8
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +20 -20
- package/fesm2015/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-image.mjs +58 -49
- package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +29 -28
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-link.mjs +65 -56
- package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs +261 -204
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +18 -18
- package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +7 -7
- package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +26 -26
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +110 -97
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +75 -65
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +197 -108
- package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +50 -41
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-search.mjs +38 -38
- package/fesm2015/pepperi-addons-ngx-lib-search.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs +29 -29
- package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs +92 -48
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-separator.mjs +19 -19
- package/fesm2015/pepperi-addons-ngx-lib-separator.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +32 -18
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +46 -37
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +18 -16
- package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs +8 -8
- package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +24 -24
- package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +105 -89
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs +13 -13
- package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +43 -34
- package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +7 -7
- package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +161 -124
- package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs +8 -8
- package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib.mjs +282 -190
- package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-address.mjs +19 -19
- package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +61 -52
- package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-bread-crumbs.mjs +18 -18
- package/fesm2020/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-button.mjs +26 -26
- package/fesm2020/pepperi-addons-ngx-lib-button.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs +63 -63
- package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +43 -34
- package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +33 -44
- package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-color.mjs +11 -11
- package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-date.mjs +90 -68
- package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs +13 -13
- package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs +74 -39
- package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +11 -8
- package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs +15 -15
- package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-form.mjs +122 -118
- package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +8 -8
- package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +20 -20
- package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-image.mjs +58 -49
- package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +29 -28
- package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-link.mjs +65 -56
- package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-list.mjs +259 -204
- package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +18 -18
- package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +7 -7
- package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +26 -26
- package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +110 -97
- package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +75 -65
- package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +184 -93
- package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +50 -41
- package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-search.mjs +38 -38
- package/fesm2020/pepperi-addons-ngx-lib-search.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs +29 -29
- package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-select.mjs +92 -48
- package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-separator.mjs +19 -19
- package/fesm2020/pepperi-addons-ngx-lib-separator.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +32 -18
- package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +46 -37
- package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +18 -16
- package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs +8 -8
- package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +24 -24
- package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +105 -89
- package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs +13 -13
- package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +43 -34
- package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +7 -7
- package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +160 -124
- package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs +8 -8
- package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib.mjs +281 -190
- package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
- package/field-title/field-title.component.d.ts +2 -1
- package/files-uploader/files-uploader.component.d.ts +1 -1
- package/form/field-generator.component.d.ts +1 -1
- package/form/form.component.d.ts +1 -1
- package/form/indicators.component.d.ts +1 -1
- package/form/internal-button.component.d.ts +1 -1
- package/form/internal-carusel.component.d.ts +1 -1
- package/form/internal-field-generator.component.d.ts +1 -1
- package/form/internal-form.component.d.ts +1 -1
- package/form/internal-list.component.d.ts +2 -2
- package/form/internal-menu.component.d.ts +1 -1
- package/form/internal-page.component.d.ts +1 -1
- package/group-buttons/group-buttons.component.d.ts +2 -2
- package/icon/icon-generated.model.d.ts +2 -2
- package/icon/icon.component.d.ts +1 -1
- package/image/image.component.d.ts +2 -1
- package/image/image.component.theme.scss +4 -2
- package/images-filmstrip/images-filmstrip.component.d.ts +1 -1
- package/link/link.component.d.ts +2 -1
- package/list/list-actions.component.d.ts +1 -1
- package/list/list-carousel.component.d.ts +2 -2
- package/list/list-chooser.component.d.ts +1 -1
- package/list/list-pager.component.d.ts +1 -1
- package/list/list-sorting.component.d.ts +1 -1
- package/list/list-total.component.d.ts +2 -1
- package/list/list-views.component.d.ts +2 -2
- package/list/list.component.d.ts +8 -5
- package/list/list.model.d.ts +6 -6
- package/list/virtual-scroller.d.ts +2 -2
- package/menu/menu-item.component.d.ts +1 -1
- package/menu/menu.component.d.ts +1 -1
- package/menu/menu.model.d.ts +3 -3
- package/package.json +1 -1
- package/page-layout/page-layout.component.d.ts +1 -1
- package/profile-data-views-list/profile-data-view/profile-data-view.component.d.ts +1 -1
- package/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.d.ts +1 -1
- package/profile-data-views-list/profile-data-views-list.component.d.ts +1 -1
- package/quantity-selector/quantity-selector-validation.directive.d.ts +1 -1
- package/quantity-selector/quantity-selector.component.d.ts +8 -9
- package/quantity-selector/quantity-selector.component.theme.scss +12 -6
- package/query-builder/common/model/operator.d.ts +1 -1
- package/query-builder/query-builder-item/query-builder-item.component.d.ts +4 -2
- package/query-builder/query-builder-section/query-builder-section.component.d.ts +1 -1
- package/query-builder/query-builder.component.d.ts +1 -1
- package/remote-loader/addon-block-loader.component.d.ts +4 -2
- package/remote-loader/remote-loader-element.component.d.ts +9 -2
- package/remote-loader/remote-loader.component.d.ts +1 -1
- package/remote-loader/remote-loader.model.d.ts +3 -2
- package/remote-loader/remote-loader.service.d.ts +2 -0
- package/rich-html-textarea/rich-html-textarea.component.d.ts +2 -1
- package/rich-html-textarea/rich-html-textarea.component.theme.scss +6 -3
- package/search/search.component.d.ts +1 -1
- package/search/search.model.d.ts +4 -4
- package/select/select.component.d.ts +9 -1
- package/select/select.component.theme.scss +22 -11
- package/select-panel/select-panel.component.d.ts +1 -1
- package/select-panel/select-panel.component.theme.scss +0 -2
- package/separator/separator.component.d.ts +1 -1
- package/side-bar/side-bar.component.d.ts +4 -1
- package/side-bar/side-bar.model.d.ts +1 -1
- package/signature/signature-dialog.component.d.ts +1 -1
- package/signature/signature.component.d.ts +2 -1
- package/size-detector/size-detector.component.d.ts +1 -1
- package/skeleton-loader/skeleton-loader.component.d.ts +2 -2
- package/slider/slider.component.d.ts +1 -1
- package/slider/slider.component.theme.scss +15 -5
- package/smart-filters/boolean-filter/boolean-filter.component.d.ts +3 -1
- package/smart-filters/common/filter-actions.component.d.ts +1 -1
- package/smart-filters/common/model/base-filter-component.d.ts +3 -5
- package/smart-filters/common/model/operator.d.ts +2 -0
- package/smart-filters/common/model/type.d.ts +4 -4
- package/smart-filters/date-filter/date-filter.component.d.ts +3 -1
- package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +3 -1
- package/smart-filters/number-filter/number-filter.component.d.ts +3 -1
- package/smart-filters/smart-filters.component.d.ts +1 -1
- package/smart-filters/text-filter/text-filter.component.d.ts +4 -1
- package/snack-bar/default-snack-bar.component.d.ts +1 -1
- package/snack-bar/snack-bar.component.d.ts +1 -1
- package/src/assets/i18n/ar.ngx-lib.json +180 -0
- package/src/assets/i18n/de.ngx-lib.json +104 -5
- package/src/assets/i18n/en.ngx-lib.json +4 -3
- package/src/assets/i18n/es.ngx-lib.json +113 -11
- package/src/assets/i18n/fr.ngx-lib.json +105 -4
- package/src/assets/i18n/he.ngx-lib.json +105 -4
- package/src/assets/i18n/it.ngx-lib.json +114 -13
- package/src/assets/i18n/ja.ngx-lib.json +105 -4
- package/src/assets/i18n/pl.ngx-lib.json +105 -4
- package/src/assets/i18n/pt.ngx-lib.json +105 -4
- package/src/assets/i18n/sr.ngx-lib.json +180 -0
- package/src/assets/i18n/zh.ngx-lib.json +105 -2
- package/src/core/style/abstracts/mixins.scss +88 -30
- package/src/core/style/abstracts/variables.scss +9 -0
- package/src/core/style/base/Spacing.stories.mdx +22 -22
- package/src/core/style/base/base.scss +215 -115
- package/src/core/style/components/button.scss +41 -19
- package/src/core/style/components/checkbox.scss +132 -128
- package/src/core/style/components/file.scss +13 -9
- package/src/core/style/components/general.scss +149 -65
- package/src/core/style/components/radio-button.scss +50 -23
- package/src/core/style/components/textarea.scss +69 -30
- package/textarea/textarea.component.d.ts +2 -1
- package/textbox/textbox-validation.directive.d.ts +1 -1
- package/textbox/textbox.component.d.ts +2 -1
- package/textbox-icon/textbox-icon.component.d.ts +1 -1
- package/theming-offline.scss +2 -1
- package/theming.scss +2 -1
- package/top-bar/top-bar.component.d.ts +1 -1
- package/top-bar/top-bar.model.d.ts +1 -1
|
@@ -3,21 +3,21 @@ import { ElementRef, Directive, Inject, HostBinding, Input, EventEmitter, Render
|
|
|
3
3
|
import { DOCUMENT } from '@angular/common';
|
|
4
4
|
|
|
5
5
|
class PepCarouselItemDirective {
|
|
6
|
-
constructor(elementRef) {
|
|
7
|
-
this.display = 'inline-block';
|
|
8
|
-
this._dragDisabled = false;
|
|
9
|
-
this._elementRef = elementRef;
|
|
10
|
-
}
|
|
11
6
|
get dragDisabled() {
|
|
12
7
|
return this._dragDisabled;
|
|
13
8
|
}
|
|
14
9
|
set dragDisabled(value) {
|
|
15
10
|
this._dragDisabled = value;
|
|
16
11
|
}
|
|
12
|
+
constructor(elementRef) {
|
|
13
|
+
this.display = 'inline-block';
|
|
14
|
+
this._dragDisabled = false;
|
|
15
|
+
this._elementRef = elementRef;
|
|
16
|
+
}
|
|
17
17
|
}
|
|
18
|
-
PepCarouselItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
19
|
-
PepCarouselItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
18
|
+
PepCarouselItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepCarouselItemDirective, deps: [{ token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
19
|
+
PepCarouselItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: PepCarouselItemDirective, selector: "[pepCarouselItem]", inputs: { dragDisabled: "dragDisabled" }, host: { properties: { "style.display": "this.display" } }, ngImport: i0 });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepCarouselItemDirective, decorators: [{
|
|
21
21
|
type: Directive,
|
|
22
22
|
args: [{
|
|
23
23
|
selector: '[pepCarouselItem]',
|
|
@@ -34,54 +34,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
34
34
|
}] } });
|
|
35
35
|
|
|
36
36
|
class PepCarouselComponent {
|
|
37
|
-
constructor(_elementRef, _renderer, _document) {
|
|
38
|
-
this._elementRef = _elementRef;
|
|
39
|
-
this._renderer = _renderer;
|
|
40
|
-
this._document = _document;
|
|
41
|
-
this._index = 0;
|
|
42
|
-
this._scrollbarHidden = false;
|
|
43
|
-
this._disabled = false;
|
|
44
|
-
this._xDisabled = false;
|
|
45
|
-
this._xWheelEnabled = false;
|
|
46
|
-
this._yDisabled = false;
|
|
47
|
-
this._dragDisabled = false;
|
|
48
|
-
this._snapDisabled = false;
|
|
49
|
-
this._snapOffset = 0;
|
|
50
|
-
this._snapDuration = 500;
|
|
51
|
-
this._isDragging = false;
|
|
52
|
-
/**
|
|
53
|
-
* Is the user currently pressing the element
|
|
54
|
-
*/
|
|
55
|
-
this.isPressed = false;
|
|
56
|
-
/**
|
|
57
|
-
* Is the user currently scrolling the element
|
|
58
|
-
*/
|
|
59
|
-
this.isScrolling = false;
|
|
60
|
-
/**
|
|
61
|
-
* The x coordinates on the element
|
|
62
|
-
*/
|
|
63
|
-
this.downX = 0;
|
|
64
|
-
/**
|
|
65
|
-
* The y coordinates on the element
|
|
66
|
-
*/
|
|
67
|
-
this.downY = 0;
|
|
68
|
-
this.displayType = 'block';
|
|
69
|
-
this.elWidth = null;
|
|
70
|
-
this.elHeight = null;
|
|
71
|
-
this._pointerEvents = 'auto';
|
|
72
|
-
this.scrollbarWidth = null;
|
|
73
|
-
this.isAnimating = false;
|
|
74
|
-
this.prevChildrenLength = 0;
|
|
75
|
-
this.indexBound = 0;
|
|
76
|
-
this.dsInitialized = new EventEmitter();
|
|
77
|
-
this.indexChanged = new EventEmitter();
|
|
78
|
-
this.reachesLeftBound = new EventEmitter();
|
|
79
|
-
this.reachesRightBound = new EventEmitter();
|
|
80
|
-
this.snapAnimationFinished = new EventEmitter();
|
|
81
|
-
this.dragStart = new EventEmitter();
|
|
82
|
-
this.dragEnd = new EventEmitter();
|
|
83
|
-
this.scrollbarWidth = `${this.getScrollbarWidth()}px`;
|
|
84
|
-
}
|
|
85
37
|
/**
|
|
86
38
|
* Is the user currently dragging the element
|
|
87
39
|
*/
|
|
@@ -166,6 +118,54 @@ class PepCarouselComponent {
|
|
|
166
118
|
set snapDuration(value) {
|
|
167
119
|
this._snapDuration = value;
|
|
168
120
|
}
|
|
121
|
+
constructor(_elementRef, _renderer, _document) {
|
|
122
|
+
this._elementRef = _elementRef;
|
|
123
|
+
this._renderer = _renderer;
|
|
124
|
+
this._document = _document;
|
|
125
|
+
this._index = 0;
|
|
126
|
+
this._scrollbarHidden = false;
|
|
127
|
+
this._disabled = false;
|
|
128
|
+
this._xDisabled = false;
|
|
129
|
+
this._xWheelEnabled = false;
|
|
130
|
+
this._yDisabled = false;
|
|
131
|
+
this._dragDisabled = false;
|
|
132
|
+
this._snapDisabled = false;
|
|
133
|
+
this._snapOffset = 0;
|
|
134
|
+
this._snapDuration = 500;
|
|
135
|
+
this._isDragging = false;
|
|
136
|
+
/**
|
|
137
|
+
* Is the user currently pressing the element
|
|
138
|
+
*/
|
|
139
|
+
this.isPressed = false;
|
|
140
|
+
/**
|
|
141
|
+
* Is the user currently scrolling the element
|
|
142
|
+
*/
|
|
143
|
+
this.isScrolling = false;
|
|
144
|
+
/**
|
|
145
|
+
* The x coordinates on the element
|
|
146
|
+
*/
|
|
147
|
+
this.downX = 0;
|
|
148
|
+
/**
|
|
149
|
+
* The y coordinates on the element
|
|
150
|
+
*/
|
|
151
|
+
this.downY = 0;
|
|
152
|
+
this.displayType = 'block';
|
|
153
|
+
this.elWidth = null;
|
|
154
|
+
this.elHeight = null;
|
|
155
|
+
this._pointerEvents = 'auto';
|
|
156
|
+
this.scrollbarWidth = null;
|
|
157
|
+
this.isAnimating = false;
|
|
158
|
+
this.prevChildrenLength = 0;
|
|
159
|
+
this.indexBound = 0;
|
|
160
|
+
this.dsInitialized = new EventEmitter();
|
|
161
|
+
this.indexChanged = new EventEmitter();
|
|
162
|
+
this.reachesLeftBound = new EventEmitter();
|
|
163
|
+
this.reachesRightBound = new EventEmitter();
|
|
164
|
+
this.snapAnimationFinished = new EventEmitter();
|
|
165
|
+
this.dragStart = new EventEmitter();
|
|
166
|
+
this.dragEnd = new EventEmitter();
|
|
167
|
+
this.scrollbarWidth = `${this.getScrollbarWidth()}px`;
|
|
168
|
+
}
|
|
169
169
|
ngOnChanges() {
|
|
170
170
|
this.setScrollBar();
|
|
171
171
|
if (this.xDisabled || this.disabled || this._scrollbarHidden) {
|
|
@@ -694,13 +694,13 @@ class PepCarouselComponent {
|
|
|
694
694
|
// }
|
|
695
695
|
}
|
|
696
696
|
}
|
|
697
|
-
PepCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
698
|
-
PepCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
697
|
+
PepCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepCarouselComponent, deps: [{ token: ElementRef }, { token: Renderer2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
698
|
+
PepCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PepCarouselComponent, selector: "pep-carousel", inputs: { scrollbarHidden: "scrollbarHidden", disabled: "disabled", xDisabled: "xDisabled", yDisabled: "yDisabled", xWheelEnabled: "xWheelEnabled", dragDisabled: "dragDisabled", snapDisabled: "snapDisabled", snapOffset: "snapOffset", snapDuration: "snapDuration" }, outputs: { dsInitialized: "dsInitialized", indexChanged: "indexChanged", reachesLeftBound: "reachesLeftBound", reachesRightBound: "reachesRightBound", snapAnimationFinished: "snapAnimationFinished", dragStart: "dragStart", dragEnd: "dragEnd" }, host: { listeners: { "wheel": "onWheel($event)", "window:resize": "onWindowResize()" }, properties: { "style.pointer-events": "this._pointerEvents" } }, queries: [{ propertyName: "_children", predicate: PepCarouselItemDirective, descendants: true }], viewQueries: [{ propertyName: "_contentRef", first: true, predicate: ["contentRef"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
699
699
|
<div class="carousel-content" #contentRef>
|
|
700
700
|
<ng-content></ng-content>
|
|
701
701
|
</div>
|
|
702
702
|
`, isInline: true, styles: [":host{overflow:hidden;display:block}.carousel-content{height:100%;overflow:auto;white-space:nowrap}\n"] });
|
|
703
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
703
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepCarouselComponent, decorators: [{
|
|
704
704
|
type: Component,
|
|
705
705
|
args: [{ selector: 'pep-carousel', template: `
|
|
706
706
|
<div class="carousel-content" #contentRef>
|
|
@@ -776,10 +776,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
776
776
|
|
|
777
777
|
class PepCarouselModule {
|
|
778
778
|
}
|
|
779
|
-
PepCarouselModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
780
|
-
PepCarouselModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
781
|
-
PepCarouselModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
782
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
779
|
+
PepCarouselModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepCarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
780
|
+
PepCarouselModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: PepCarouselModule, declarations: [PepCarouselComponent, PepCarouselItemDirective], exports: [PepCarouselComponent, PepCarouselItemDirective] });
|
|
781
|
+
PepCarouselModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepCarouselModule });
|
|
782
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepCarouselModule, decorators: [{
|
|
783
783
|
type: NgModule,
|
|
784
784
|
args: [{
|
|
785
785
|
exports: [PepCarouselComponent, PepCarouselItemDirective],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pepperi-addons-ngx-lib-carousel.mjs","sources":["../../../projects/ngx-lib/carousel/carousel-item.directive.ts","../../../projects/ngx-lib/carousel/carousel.component.ts","../../../projects/ngx-lib/carousel/carousel.module.ts","../../../projects/ngx-lib/carousel/public-api.ts","../../../projects/ngx-lib/carousel/pepperi-addons-ngx-lib-carousel.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n Input,\n HostBinding,\n Inject,\n} from '@angular/core';\n\n@Directive({\n selector: '[pepCarouselItem]',\n})\nexport class PepCarouselItemDirective {\n @HostBinding('style.display')\n display = 'inline-block';\n\n @Input('dragDisabled')\n get dragDisabled() {\n return this._dragDisabled;\n }\n set dragDisabled(value: boolean) {\n this._dragDisabled = value;\n }\n\n _dragDisabled = false;\n\n _elementRef: ElementRef;\n\n constructor(@Inject(ElementRef) elementRef: ElementRef) {\n this._elementRef = elementRef;\n }\n}\n","import {\n ElementRef,\n Component,\n Renderer2,\n OnDestroy,\n Input,\n Output,\n AfterViewInit,\n OnChanges,\n EventEmitter,\n ViewChild,\n ContentChildren,\n AfterViewChecked,\n QueryList,\n Inject,\n HostBinding,\n HostListener,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { PepCarouselItemDirective } from './carousel-item.directive';\n\n@Component({\n selector: 'pep-carousel',\n template: `\n <div class=\"carousel-content\" #contentRef>\n <ng-content></ng-content>\n </div>\n `,\n styles: [\n `\n :host {\n overflow: hidden;\n display: block;\n }\n .carousel-content {\n height: 100%;\n overflow: auto;\n white-space: nowrap;\n }\n `,\n ],\n})\nexport class PepCarouselComponent\n implements OnDestroy, AfterViewInit, OnChanges, AfterViewChecked {\n private _index = 0;\n\n private _scrollbarHidden = false;\n\n private _disabled = false;\n\n private _xDisabled = false;\n\n private _xWheelEnabled = false;\n\n private _yDisabled = false;\n\n private _dragDisabled = false;\n\n private _snapDisabled = false;\n\n private _snapOffset = 0;\n\n private _snapDuration = 500;\n\n private _isDragging = false;\n\n private _onMouseMoveListener: () => any;\n\n private _onMouseUpListener: () => any;\n\n private _onMouseDownListener: () => any;\n\n private _onScrollListener: () => any;\n\n private _onDragStartListener: () => any;\n\n /**\n * Is the user currently pressing the element\n */\n isPressed = false;\n\n /**\n * Is the user currently scrolling the element\n */\n isScrolling = false;\n\n scrollTimer: any; // | NodeJS.Timer = -1;\n\n scrollToTimer: any; // | NodeJS.Timer = -1;\n\n /**\n * Is the user currently dragging the element\n */\n get isDragging(): boolean {\n return this._isDragging;\n }\n\n /**\n * The x coordinates on the element\n */\n downX = 0;\n\n /**\n * The y coordinates on the element\n */\n downY = 0;\n\n displayType: string | null = 'block';\n\n elWidth: string | null = null;\n\n elHeight: string | null = null;\n\n /**\n * The parentNode of carousel Element\n */\n parentNode: HTMLElement;\n\n /**\n * The carousel Element\n */\n\n @ViewChild('contentRef', { static: true }) _contentRef: ElementRef;\n\n @ContentChildren(PepCarouselItemDirective, { descendants: true })\n _children: QueryList<PepCarouselItemDirective>;\n\n @HostBinding('style.pointer-events') _pointerEvents = 'auto';\n\n wrapper: HTMLDivElement | null;\n\n scrollbarWidth: string | null = null;\n\n get currIndex() {\n return this._index;\n }\n set currIndex(value) {\n if (value !== this._index) {\n this._index = value;\n this.indexChanged.emit(value);\n }\n }\n\n isAnimating = false;\n\n prevChildrenLength = 0;\n\n indexBound = 0;\n\n @Output() dsInitialized = new EventEmitter<void>();\n\n @Output() indexChanged = new EventEmitter<number>();\n\n @Output() reachesLeftBound = new EventEmitter<boolean>();\n\n @Output() reachesRightBound = new EventEmitter<boolean>();\n\n @Output() snapAnimationFinished = new EventEmitter<number>();\n\n @Output() dragStart = new EventEmitter<void>();\n\n @Output() dragEnd = new EventEmitter<void>();\n\n /**\n * Whether the scrollbar is hidden\n */\n @Input('scrollbarHidden')\n get scrollbarHidden() {\n return this._scrollbarHidden;\n }\n set scrollbarHidden(value: boolean) {\n this._scrollbarHidden = value;\n }\n\n /**\n * Whether horizontally and vertically draging and scrolling is be disabled\n */\n @Input('disabled')\n get disabled() {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = value;\n }\n\n /**\n * Whether horizontally dragging and scrolling is be disabled\n */\n @Input('xDisabled')\n get xDisabled() {\n return this._xDisabled;\n }\n set xDisabled(value: boolean) {\n this._xDisabled = value;\n }\n\n /**\n * Whether vertically dragging and scrolling events is disabled\n */\n @Input('yDisabled')\n get yDisabled() {\n return this._yDisabled;\n }\n set yDisabled(value: boolean) {\n this._yDisabled = value;\n }\n\n /**\n * Whether scrolling horizontally with mouse wheel is enabled\n */\n @Input('xWheelEnabled')\n get xWheelEnabled() {\n return this._xWheelEnabled;\n }\n set xWheelEnabled(value: boolean) {\n this._xWheelEnabled = value;\n }\n\n @Input('dragDisabled')\n get dragDisabled() {\n return this._dragDisabled;\n }\n set dragDisabled(value: boolean) {\n this._dragDisabled = value;\n }\n\n @Input('snapDisabled')\n get snapDisabled() {\n return this._snapDisabled;\n }\n set snapDisabled(value: boolean) {\n this._snapDisabled = value;\n }\n\n @Input('snapOffset')\n get snapOffset() {\n return this._snapOffset;\n }\n set snapOffset(value: number) {\n this._snapOffset = value;\n }\n\n @Input('snapDuration')\n get snapDuration() {\n return this._snapDuration;\n }\n set snapDuration(value: number) {\n this._snapDuration = value;\n }\n\n constructor(\n @Inject(ElementRef) private _elementRef: ElementRef,\n @Inject(Renderer2) private _renderer: Renderer2,\n @Inject(DOCUMENT) private _document: any\n ) {\n this.scrollbarWidth = `${this.getScrollbarWidth()}px`;\n }\n\n ngOnChanges() {\n this.setScrollBar();\n\n if (this.xDisabled || this.disabled || this._scrollbarHidden) {\n this.disableScroll('x');\n } else {\n this.enableScroll('x');\n }\n\n if (this.yDisabled || this.disabled) {\n this.disableScroll('y');\n } else {\n this.enableScroll('y');\n }\n }\n\n ngAfterViewInit() {\n // auto assign computed css\n this._renderer.setAttribute(\n this._contentRef.nativeElement,\n 'drag-scroll',\n 'true'\n );\n\n this.displayType =\n typeof window !== 'undefined'\n ? window.getComputedStyle(this._elementRef.nativeElement)\n .display\n : 'block';\n\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'display',\n this.displayType\n );\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'whiteSpace',\n 'noWrap'\n );\n\n // store ele width height for later user\n this.markElDimension();\n\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'width',\n this.elWidth\n );\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'height',\n this.elHeight\n );\n\n if (this.wrapper) {\n this.checkScrollbar();\n }\n\n this._onMouseDownListener = this._renderer.listen(\n this._contentRef.nativeElement,\n 'mousedown',\n this.onMouseDownHandler.bind(this)\n );\n this._onScrollListener = this._renderer.listen(\n this._contentRef.nativeElement,\n 'scroll',\n this.onScrollHandler.bind(this)\n );\n // prevent Firefox from dragging images\n this._onDragStartListener = this._renderer.listen(\n 'document',\n 'dragstart',\n (e) => {\n e.preventDefault();\n }\n );\n this.checkNavStatus();\n this.dsInitialized.emit();\n this.adjustMarginToLastChild();\n }\n\n ngAfterViewChecked() {\n // avoid extra checks\n if (this._children.length !== this.prevChildrenLength) {\n this.markElDimension();\n this.checkScrollbar();\n this.prevChildrenLength = this._children.length;\n this.checkNavStatus();\n }\n }\n\n ngOnDestroy() {\n this._renderer.setAttribute(\n this._contentRef.nativeElement,\n 'drag-scroll',\n 'false'\n );\n if (this._onMouseDownListener) {\n this._onMouseDownListener = this._onMouseDownListener();\n }\n if (this._onScrollListener) {\n this._onScrollListener = this._onScrollListener();\n }\n if (this._onDragStartListener) {\n this._onDragStartListener = this._onDragStartListener();\n }\n }\n\n onMouseMoveHandler(event: MouseEvent) {\n this.onMouseMove(event);\n }\n\n onMouseMove(event: MouseEvent) {\n if (this.isPressed && !this.disabled) {\n // Workaround for prevent scroll stuck if browser lost focus\n // MouseEvent.buttons not support by Safari\n if (!event.buttons && !event.which) {\n return this.onMouseUpHandler(event);\n }\n\n this._pointerEvents = 'none';\n this._setIsDragging(true);\n\n // Drag X\n if (!this.xDisabled && !this.dragDisabled) {\n const clientX = (event as MouseEvent).clientX;\n this._contentRef.nativeElement.scrollLeft =\n this._contentRef.nativeElement.scrollLeft -\n clientX +\n this.downX;\n this.downX = clientX;\n }\n\n // Drag Y\n if (!this.yDisabled && !this.dragDisabled) {\n const clientY = (event as MouseEvent).clientY;\n this._contentRef.nativeElement.scrollTop =\n this._contentRef.nativeElement.scrollTop -\n clientY +\n this.downY;\n this.downY = clientY;\n }\n }\n }\n\n onMouseDownHandler(event: MouseEvent) {\n const carouselItem: PepCarouselItemDirective | null = this.locateCarouselItem(\n event.target as Element\n );\n if (carouselItem && carouselItem.dragDisabled) {\n return;\n }\n\n const isTouchEvent = event.type === 'touchstart';\n\n this._startGlobalListening(isTouchEvent);\n this.isPressed = true;\n\n const mouseEvent = event as MouseEvent;\n this.downX = mouseEvent.clientX;\n this.downY = mouseEvent.clientY;\n\n clearTimeout(this.scrollToTimer as number);\n }\n\n onScrollHandler() {\n this.checkNavStatus();\n if (!this.isPressed && !this.isAnimating && !this.snapDisabled) {\n this.isScrolling = true;\n clearTimeout(this.scrollTimer as number);\n this.scrollTimer = setTimeout(() => {\n this.isScrolling = false;\n this.locateCurrentIndex(true);\n }, 500);\n } else {\n this.locateCurrentIndex();\n }\n }\n\n onMouseUpHandler(event: MouseEvent) {\n if (this.isPressed) {\n this.isPressed = false;\n this._pointerEvents = 'auto';\n this._setIsDragging(false);\n if (!this.snapDisabled) {\n this.locateCurrentIndex(true);\n } else {\n this.locateCurrentIndex();\n }\n this._stopGlobalListening();\n }\n }\n\n /*\n * Nav button\n */\n moveLeft() {\n if (this.currIndex !== 0 || this.snapDisabled) {\n this.currIndex--;\n clearTimeout(this.scrollToTimer as number);\n this.scrollTo(\n this._contentRef.nativeElement,\n this.toChildrenLocation(),\n this.snapDuration\n );\n }\n }\n\n moveRight() {\n const container = this.wrapper || this.parentNode;\n const containerWidth = container ? container.clientWidth : 0;\n\n if (\n !this.isScrollReachesRightEnd() &&\n this.currIndex <\n this.maximumIndex(containerWidth, this._children.toArray())\n ) {\n this.currIndex++;\n clearTimeout(this.scrollToTimer as number);\n this.scrollTo(\n this._contentRef.nativeElement,\n this.toChildrenLocation(),\n this.snapDuration\n );\n }\n }\n\n moveTo(index: number) {\n const container = this.wrapper || this.parentNode;\n const containerWidth = container ? container.clientWidth : 0;\n if (\n index >= 0 &&\n index !== this.currIndex &&\n this.currIndex <=\n this.maximumIndex(containerWidth, this._children.toArray())\n ) {\n this.currIndex = Math.min(\n index,\n this.maximumIndex(containerWidth, this._children.toArray())\n );\n clearTimeout(this.scrollToTimer as number);\n this.scrollTo(\n this._contentRef.nativeElement,\n this.toChildrenLocation(),\n this.snapDuration\n );\n }\n }\n\n checkNavStatus() {\n setTimeout(() => {\n const onlyOneItem = Boolean(this._children.length <= 1);\n const containerIsLargerThanContent = Boolean(\n this._contentRef.nativeElement.scrollWidth <=\n this._contentRef.nativeElement.clientWidth\n );\n if (onlyOneItem || containerIsLargerThanContent) {\n // only one element\n this.reachesLeftBound.emit(true);\n this.reachesRightBound.emit(true);\n } else if (this.isScrollReachesRightEnd()) {\n // reached right end\n this.reachesLeftBound.emit(false);\n this.reachesRightBound.emit(true);\n } else if (\n this._contentRef.nativeElement.scrollLeft === 0 &&\n this._contentRef.nativeElement.scrollWidth >\n this._contentRef.nativeElement.clientWidth\n ) {\n // reached left end\n this.reachesLeftBound.emit(true);\n this.reachesRightBound.emit(false);\n } else {\n // in the middle\n this.reachesLeftBound.emit(false);\n this.reachesRightBound.emit(false);\n }\n }, 0);\n }\n\n @HostListener('wheel', ['$event'])\n public onWheel(event: WheelEvent) {\n if (this._xWheelEnabled) {\n event.preventDefault();\n\n if (this._snapDisabled) {\n this._contentRef.nativeElement.scrollBy(event.deltaY, 0);\n } else {\n if (event.deltaY < 0) {\n this.moveLeft();\n } else if (event.deltaY > 0) {\n this.moveRight();\n }\n }\n }\n }\n\n @HostListener('window:resize')\n public onWindowResize() {\n this.refreshWrapperDimensions();\n this.checkNavStatus();\n }\n\n private _setIsDragging(value: boolean) {\n if (this._isDragging === value) {\n return;\n }\n\n this._isDragging = value;\n value ? this.dragStart.emit() : this.dragEnd.emit();\n }\n\n private _startGlobalListening(isTouchEvent: boolean) {\n if (!this._onMouseMoveListener) {\n const eventName = isTouchEvent ? 'touchmove' : 'mousemove';\n this._onMouseMoveListener = this._renderer.listen(\n 'document',\n eventName,\n this.onMouseMoveHandler.bind(this)\n );\n }\n\n if (!this._onMouseUpListener) {\n const eventName = isTouchEvent ? 'touchend' : 'mouseup';\n this._onMouseUpListener = this._renderer.listen(\n 'document',\n eventName,\n this.onMouseUpHandler.bind(this)\n );\n }\n }\n\n private _stopGlobalListening() {\n if (this._onMouseMoveListener) {\n this._onMouseMoveListener = this._onMouseMoveListener();\n }\n\n if (this._onMouseUpListener) {\n this._onMouseUpListener = this._onMouseUpListener();\n }\n }\n\n private disableScroll(axis: string): void {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n `overflow-${axis}`,\n 'hidden'\n );\n }\n\n private enableScroll(axis: string): void {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n `overflow-${axis}`,\n 'auto'\n );\n }\n\n private hideScrollbar(): void {\n if (\n this._contentRef.nativeElement.style.display !== 'none' &&\n !this.wrapper\n ) {\n this.parentNode = this._contentRef.nativeElement.parentNode;\n\n // create container element\n this.wrapper = this._renderer.createElement('div');\n this._renderer.addClass(this.wrapper, 'carousel-wrapper');\n // this._renderer.setAttribute(this.wrapper, 'class', 'carousel-wrapper');\n // this._renderer.addClass(this.wrapper, 'carousel-container');\n\n this.refreshWrapperDimensions();\n\n this._renderer.setStyle(this.wrapper, 'overflow', 'hidden');\n\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'width',\n `calc(100% + ${this.scrollbarWidth})`\n );\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'height',\n `calc(100% + ${this.scrollbarWidth})`\n );\n\n // Append container element to component element.\n this._renderer.appendChild(\n this._elementRef.nativeElement,\n this.wrapper\n );\n\n // Append content element to container element.\n this._renderer.appendChild(\n this.wrapper,\n this._contentRef.nativeElement\n );\n\n this.adjustMarginToLastChild();\n }\n }\n\n private showScrollbar(): void {\n if (this.wrapper) {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'width',\n '100%'\n );\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'height',\n this.wrapper.style.height\n );\n if (this.parentNode !== null) {\n this.parentNode.removeChild(this.wrapper);\n this.parentNode.appendChild(this._contentRef.nativeElement);\n }\n this.wrapper = null;\n\n this.adjustMarginToLastChild();\n }\n }\n\n private checkScrollbar() {\n if (\n this._contentRef.nativeElement.scrollWidth <=\n this._contentRef.nativeElement.clientWidth\n ) {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'height',\n '100%'\n );\n } else {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'height',\n `calc(100% + ${this.scrollbarWidth})`\n );\n }\n if (\n this._contentRef.nativeElement.scrollHeight <=\n this._contentRef.nativeElement.clientHeight\n ) {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'width',\n '100%'\n );\n } else {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'width',\n `calc(100% + ${this.scrollbarWidth})`\n );\n }\n }\n\n private setScrollBar(): void {\n if (this.scrollbarHidden) {\n this.hideScrollbar();\n } else {\n this.showScrollbar();\n }\n }\n\n private getScrollbarWidth(): number {\n /**\n * Browser Scrollbar Widths (2016)\n * OSX (Chrome, Safari, Firefox) - 15px\n * Windows XP (IE7, Chrome, Firefox) - 17px\n * Windows 7 (IE10, IE11, Chrome, Firefox) - 17px\n * Windows 8.1 (IE11, Chrome, Firefox) - 17px\n * Windows 10 (IE11, Chrome, Firefox) - 17px\n * Windows 10 (Edge 12/13) - 12px\n */\n const outer = this._renderer.createElement('div');\n this._renderer.setStyle(outer, 'visibility', 'hidden');\n this._renderer.setStyle(outer, 'width', '100px');\n this._renderer.setStyle(outer, 'msOverflowStyle', 'scrollbar'); // needed for WinJS apps\n // document.body.appendChild(outer);\n this._renderer.appendChild(this._document.body, outer);\n // this._renderer.appendChild(this._renderer.selectRootElement('body'), outer);\n const widthNoScroll = outer.offsetWidth;\n // force scrollbars\n this._renderer.setStyle(outer, 'overflow', 'scroll');\n\n // add innerdiv\n const inner = this._renderer.createElement('div');\n this._renderer.setStyle(inner, 'width', '100%');\n this._renderer.appendChild(outer, inner);\n\n const widthWithScroll = inner.offsetWidth;\n\n // remove divs\n this._renderer.removeChild(this._document.body, outer);\n\n /**\n * Scrollbar width will be 0 on Mac OS with the\n * default \"Only show scrollbars when scrolling\" setting (Yosemite and up).\n * setting default width to 20;\n */\n return widthNoScroll - widthWithScroll || 20;\n }\n\n private refreshWrapperDimensions() {\n if (this.wrapper) {\n const height =\n this._elementRef.nativeElement.style.height ||\n this._elementRef.nativeElement.offsetHeight;\n\n this._renderer.setStyle(this.wrapper, 'width', '100%');\n this._renderer.setStyle(\n this.wrapper,\n 'height',\n height === 0 ? 'auto' : height + 'px'\n );\n }\n }\n\n /*\n * The below solution is heavily inspired from\n * https://gist.github.com/andjosh/6764939\n */\n private scrollTo(element: Element, to: number, duration: number) {\n this.isAnimating = true;\n const start = element.scrollLeft,\n change = to - start - this.snapOffset,\n increment = 20;\n let currentTime = 0;\n\n // t = current time\n // b = start value\n // c = change in value\n // d = duration\n const easeInOutQuad = (t: number, b: number, c: number, d: number) => {\n t /= d / 2;\n if (t < 1) {\n return (c / 2) * t * t + b;\n }\n t--;\n return (-c / 2) * (t * (t - 2) - 1) + b;\n };\n\n const animateScroll = () => {\n currentTime += increment;\n element.scrollLeft = easeInOutQuad(\n currentTime,\n start,\n change,\n duration\n );\n if (currentTime < duration) {\n this.scrollToTimer = setTimeout(animateScroll, increment);\n } else {\n // run one more frame to make sure the animation is fully finished\n setTimeout(() => {\n this.isAnimating = false;\n this.snapAnimationFinished.emit(this.currIndex);\n }, increment);\n }\n };\n animateScroll();\n }\n\n private locateCurrentIndex(snap?: boolean) {\n this.currentChildWidth(\n (\n currentChildWidth,\n nextChildrenWidth,\n childrenWidth,\n idx: number,\n stop\n ) => {\n if (\n this._contentRef.nativeElement.scrollLeft >=\n childrenWidth &&\n this._contentRef.nativeElement.scrollLeft <=\n nextChildrenWidth\n ) {\n if (\n nextChildrenWidth -\n this._contentRef.nativeElement.scrollLeft >\n currentChildWidth / 2 &&\n !this.isScrollReachesRightEnd()\n ) {\n // roll back scrolling\n if (!this.isAnimating) {\n this.currIndex = idx;\n }\n if (snap) {\n this.scrollTo(\n this._contentRef.nativeElement,\n childrenWidth,\n this.snapDuration\n );\n }\n } else if (\n this._contentRef.nativeElement.scrollLeft !== 0\n ) {\n // forward scrolling\n if (!this.isAnimating) {\n this.currIndex = idx + 1;\n }\n if (snap) {\n this.scrollTo(\n this._contentRef.nativeElement,\n childrenWidth + currentChildWidth,\n this.snapDuration\n );\n }\n }\n stop();\n } else if (idx + 1 === this._children.length - 1) {\n // reaches last index\n if (!this.isAnimating) {\n this.currIndex = idx + 1;\n }\n stop();\n }\n }\n );\n }\n\n private currentChildWidth(\n cb: (\n currentClildWidth: number,\n nextChildrenWidth: number,\n childrenWidth: number,\n index: number,\n breakFunc: () => void\n ) => void\n ) {\n let childrenWidth = 0;\n let shouldBreak = false;\n const breakFunc = function () {\n shouldBreak = true;\n };\n const childrenArr = this._children.toArray();\n\n for (let i = 0; i < childrenArr.length; i++) {\n if (i === childrenArr.length - 1) {\n break;\n }\n if (shouldBreak) {\n break;\n }\n\n const nextChildrenWidth =\n childrenWidth +\n childrenArr[i + 1]._elementRef.nativeElement.clientWidth;\n const currentClildWidth =\n childrenArr[i]._elementRef.nativeElement.clientWidth;\n cb(\n currentClildWidth,\n nextChildrenWidth,\n childrenWidth,\n i,\n breakFunc\n );\n\n childrenWidth += currentClildWidth;\n }\n }\n\n private toChildrenLocation(): number {\n let to = 0;\n const childrenArr = this._children.toArray();\n for (let i = 0; i < this.currIndex; i++) {\n to += childrenArr[i]._elementRef.nativeElement.clientWidth;\n }\n return to;\n }\n\n private locateCarouselItem(\n element: Element\n ): PepCarouselItemDirective | null {\n let item: PepCarouselItemDirective | null = null;\n const childrenArr = this._children.toArray();\n for (let i = 0; i < childrenArr.length; i++) {\n if (element === childrenArr[i]._elementRef.nativeElement) {\n item = childrenArr[i];\n }\n }\n return item;\n }\n\n private markElDimension() {\n if (this.wrapper) {\n this.elWidth = this.wrapper.style.width;\n this.elHeight = this.wrapper.style.height;\n } else {\n this.elWidth =\n this._elementRef.nativeElement.style.width ||\n this._elementRef.nativeElement.offsetWidth + 'px';\n this.elHeight =\n this._elementRef.nativeElement.style.height ||\n this._elementRef.nativeElement.offsetHeight + 'px';\n }\n const container = this.wrapper || this.parentNode;\n const containerWidth = container ? container.clientWidth : 0;\n if (this._children.length > 1) {\n this.indexBound = this.maximumIndex(\n containerWidth,\n this._children.toArray()\n );\n }\n }\n\n private maximumIndex(\n containerWidth: number,\n childrenElements: PepCarouselItemDirective[]\n ): number {\n let count = 0;\n let childrenWidth = 0;\n for (let i = 0; i <= childrenElements.length; i++) {\n // last N element\n const carouselItemDirective: PepCarouselItemDirective =\n childrenElements[childrenElements.length - 1 - i];\n if (!carouselItemDirective) {\n break;\n } else {\n const nativeElement =\n carouselItemDirective._elementRef.nativeElement;\n let itemWidth = nativeElement.clientWidth;\n if (itemWidth === 0 && nativeElement.firstElementChild) {\n itemWidth =\n carouselItemDirective._elementRef.nativeElement\n .firstElementChild.clientWidth;\n }\n childrenWidth += itemWidth;\n if (childrenWidth < containerWidth) {\n count++;\n } else {\n break;\n }\n }\n }\n return childrenElements.length - count;\n }\n\n private isScrollReachesRightEnd(): boolean {\n const scrollLeftPos =\n this._contentRef.nativeElement.scrollLeft +\n this._contentRef.nativeElement.offsetWidth;\n return scrollLeftPos >= this._contentRef.nativeElement.scrollWidth;\n }\n\n /**\n * adds a margin right style to the last child element which will resolve the issue\n * of last item gets cutoff.\n */\n private adjustMarginToLastChild(): void {\n // if (this._children && this._children.length > 0 && this.hideScrollbar) {\n // const childrenArr = this._children.toArray();\n // const lastItem = childrenArr[childrenArr.length - 1]._elementRef.nativeElement;\n // if (this.wrapper && childrenArr.length > 1) {\n // this._renderer.setStyle(lastItem, 'margin-right', this.scrollbarWidth);\n // } else {\n // this._renderer.setStyle(lastItem, 'margin-right', 0);\n // }\n // }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { PepCarouselComponent } from './carousel.component';\nimport { PepCarouselItemDirective } from './carousel-item.directive';\n\n@NgModule({\n exports: [PepCarouselComponent, PepCarouselItemDirective],\n declarations: [PepCarouselComponent, PepCarouselItemDirective],\n})\nexport class PepCarouselModule {}\n","/*\n * Public API Surface of carousel\n */\nexport * from './carousel.module';\nexport * from './carousel.component';\nexport * from './carousel-item.directive';\n// export * from './carousel.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pepperi-addons-ngx-lib-carousel.mjs","sources":["../../../projects/ngx-lib/carousel/carousel-item.directive.ts","../../../projects/ngx-lib/carousel/carousel.component.ts","../../../projects/ngx-lib/carousel/carousel.module.ts","../../../projects/ngx-lib/carousel/public-api.ts","../../../projects/ngx-lib/carousel/pepperi-addons-ngx-lib-carousel.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n Input,\n HostBinding,\n Inject,\n} from '@angular/core';\n\n@Directive({\n selector: '[pepCarouselItem]',\n})\nexport class PepCarouselItemDirective {\n @HostBinding('style.display')\n display = 'inline-block';\n\n @Input('dragDisabled')\n get dragDisabled() {\n return this._dragDisabled;\n }\n set dragDisabled(value: boolean) {\n this._dragDisabled = value;\n }\n\n _dragDisabled = false;\n\n _elementRef: ElementRef;\n\n constructor(@Inject(ElementRef) elementRef: ElementRef) {\n this._elementRef = elementRef;\n }\n}\n","import {\n ElementRef,\n Component,\n Renderer2,\n OnDestroy,\n Input,\n Output,\n AfterViewInit,\n OnChanges,\n EventEmitter,\n ViewChild,\n ContentChildren,\n AfterViewChecked,\n QueryList,\n Inject,\n HostBinding,\n HostListener,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { PepCarouselItemDirective } from './carousel-item.directive';\n\n@Component({\n selector: 'pep-carousel',\n template: `\n <div class=\"carousel-content\" #contentRef>\n <ng-content></ng-content>\n </div>\n `,\n styles: [\n `\n :host {\n overflow: hidden;\n display: block;\n }\n .carousel-content {\n height: 100%;\n overflow: auto;\n white-space: nowrap;\n }\n `,\n ],\n})\nexport class PepCarouselComponent\n implements OnDestroy, AfterViewInit, OnChanges, AfterViewChecked {\n private _index = 0;\n\n private _scrollbarHidden = false;\n\n private _disabled = false;\n\n private _xDisabled = false;\n\n private _xWheelEnabled = false;\n\n private _yDisabled = false;\n\n private _dragDisabled = false;\n\n private _snapDisabled = false;\n\n private _snapOffset = 0;\n\n private _snapDuration = 500;\n\n private _isDragging = false;\n\n private _onMouseMoveListener: () => any;\n\n private _onMouseUpListener: () => any;\n\n private _onMouseDownListener: () => any;\n\n private _onScrollListener: () => any;\n\n private _onDragStartListener: () => any;\n\n /**\n * Is the user currently pressing the element\n */\n isPressed = false;\n\n /**\n * Is the user currently scrolling the element\n */\n isScrolling = false;\n\n scrollTimer: any; // | NodeJS.Timer = -1;\n\n scrollToTimer: any; // | NodeJS.Timer = -1;\n\n /**\n * Is the user currently dragging the element\n */\n get isDragging(): boolean {\n return this._isDragging;\n }\n\n /**\n * The x coordinates on the element\n */\n downX = 0;\n\n /**\n * The y coordinates on the element\n */\n downY = 0;\n\n displayType: string | null = 'block';\n\n elWidth: string | null = null;\n\n elHeight: string | null = null;\n\n /**\n * The parentNode of carousel Element\n */\n parentNode: HTMLElement;\n\n /**\n * The carousel Element\n */\n\n @ViewChild('contentRef', { static: true }) _contentRef: ElementRef;\n\n @ContentChildren(PepCarouselItemDirective, { descendants: true })\n _children: QueryList<PepCarouselItemDirective>;\n\n @HostBinding('style.pointer-events') _pointerEvents = 'auto';\n\n wrapper: HTMLDivElement | null;\n\n scrollbarWidth: string | null = null;\n\n get currIndex() {\n return this._index;\n }\n set currIndex(value) {\n if (value !== this._index) {\n this._index = value;\n this.indexChanged.emit(value);\n }\n }\n\n isAnimating = false;\n\n prevChildrenLength = 0;\n\n indexBound = 0;\n\n @Output() dsInitialized = new EventEmitter<void>();\n\n @Output() indexChanged = new EventEmitter<number>();\n\n @Output() reachesLeftBound = new EventEmitter<boolean>();\n\n @Output() reachesRightBound = new EventEmitter<boolean>();\n\n @Output() snapAnimationFinished = new EventEmitter<number>();\n\n @Output() dragStart = new EventEmitter<void>();\n\n @Output() dragEnd = new EventEmitter<void>();\n\n /**\n * Whether the scrollbar is hidden\n */\n @Input('scrollbarHidden')\n get scrollbarHidden() {\n return this._scrollbarHidden;\n }\n set scrollbarHidden(value: boolean) {\n this._scrollbarHidden = value;\n }\n\n /**\n * Whether horizontally and vertically draging and scrolling is be disabled\n */\n @Input('disabled')\n get disabled() {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = value;\n }\n\n /**\n * Whether horizontally dragging and scrolling is be disabled\n */\n @Input('xDisabled')\n get xDisabled() {\n return this._xDisabled;\n }\n set xDisabled(value: boolean) {\n this._xDisabled = value;\n }\n\n /**\n * Whether vertically dragging and scrolling events is disabled\n */\n @Input('yDisabled')\n get yDisabled() {\n return this._yDisabled;\n }\n set yDisabled(value: boolean) {\n this._yDisabled = value;\n }\n\n /**\n * Whether scrolling horizontally with mouse wheel is enabled\n */\n @Input('xWheelEnabled')\n get xWheelEnabled() {\n return this._xWheelEnabled;\n }\n set xWheelEnabled(value: boolean) {\n this._xWheelEnabled = value;\n }\n\n @Input('dragDisabled')\n get dragDisabled() {\n return this._dragDisabled;\n }\n set dragDisabled(value: boolean) {\n this._dragDisabled = value;\n }\n\n @Input('snapDisabled')\n get snapDisabled() {\n return this._snapDisabled;\n }\n set snapDisabled(value: boolean) {\n this._snapDisabled = value;\n }\n\n @Input('snapOffset')\n get snapOffset() {\n return this._snapOffset;\n }\n set snapOffset(value: number) {\n this._snapOffset = value;\n }\n\n @Input('snapDuration')\n get snapDuration() {\n return this._snapDuration;\n }\n set snapDuration(value: number) {\n this._snapDuration = value;\n }\n\n constructor(\n @Inject(ElementRef) private _elementRef: ElementRef,\n @Inject(Renderer2) private _renderer: Renderer2,\n @Inject(DOCUMENT) private _document: any\n ) {\n this.scrollbarWidth = `${this.getScrollbarWidth()}px`;\n }\n\n ngOnChanges() {\n this.setScrollBar();\n\n if (this.xDisabled || this.disabled || this._scrollbarHidden) {\n this.disableScroll('x');\n } else {\n this.enableScroll('x');\n }\n\n if (this.yDisabled || this.disabled) {\n this.disableScroll('y');\n } else {\n this.enableScroll('y');\n }\n }\n\n ngAfterViewInit() {\n // auto assign computed css\n this._renderer.setAttribute(\n this._contentRef.nativeElement,\n 'drag-scroll',\n 'true'\n );\n\n this.displayType =\n typeof window !== 'undefined'\n ? window.getComputedStyle(this._elementRef.nativeElement)\n .display\n : 'block';\n\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'display',\n this.displayType\n );\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'whiteSpace',\n 'noWrap'\n );\n\n // store ele width height for later user\n this.markElDimension();\n\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'width',\n this.elWidth\n );\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'height',\n this.elHeight\n );\n\n if (this.wrapper) {\n this.checkScrollbar();\n }\n\n this._onMouseDownListener = this._renderer.listen(\n this._contentRef.nativeElement,\n 'mousedown',\n this.onMouseDownHandler.bind(this)\n );\n this._onScrollListener = this._renderer.listen(\n this._contentRef.nativeElement,\n 'scroll',\n this.onScrollHandler.bind(this)\n );\n // prevent Firefox from dragging images\n this._onDragStartListener = this._renderer.listen(\n 'document',\n 'dragstart',\n (e) => {\n e.preventDefault();\n }\n );\n this.checkNavStatus();\n this.dsInitialized.emit();\n this.adjustMarginToLastChild();\n }\n\n ngAfterViewChecked() {\n // avoid extra checks\n if (this._children.length !== this.prevChildrenLength) {\n this.markElDimension();\n this.checkScrollbar();\n this.prevChildrenLength = this._children.length;\n this.checkNavStatus();\n }\n }\n\n ngOnDestroy() {\n this._renderer.setAttribute(\n this._contentRef.nativeElement,\n 'drag-scroll',\n 'false'\n );\n if (this._onMouseDownListener) {\n this._onMouseDownListener = this._onMouseDownListener();\n }\n if (this._onScrollListener) {\n this._onScrollListener = this._onScrollListener();\n }\n if (this._onDragStartListener) {\n this._onDragStartListener = this._onDragStartListener();\n }\n }\n\n onMouseMoveHandler(event: MouseEvent) {\n this.onMouseMove(event);\n }\n\n onMouseMove(event: MouseEvent) {\n if (this.isPressed && !this.disabled) {\n // Workaround for prevent scroll stuck if browser lost focus\n // MouseEvent.buttons not support by Safari\n if (!event.buttons && !event.which) {\n return this.onMouseUpHandler(event);\n }\n\n this._pointerEvents = 'none';\n this._setIsDragging(true);\n\n // Drag X\n if (!this.xDisabled && !this.dragDisabled) {\n const clientX = (event as MouseEvent).clientX;\n this._contentRef.nativeElement.scrollLeft =\n this._contentRef.nativeElement.scrollLeft -\n clientX +\n this.downX;\n this.downX = clientX;\n }\n\n // Drag Y\n if (!this.yDisabled && !this.dragDisabled) {\n const clientY = (event as MouseEvent).clientY;\n this._contentRef.nativeElement.scrollTop =\n this._contentRef.nativeElement.scrollTop -\n clientY +\n this.downY;\n this.downY = clientY;\n }\n }\n }\n\n onMouseDownHandler(event: MouseEvent) {\n const carouselItem: PepCarouselItemDirective | null = this.locateCarouselItem(\n event.target as Element\n );\n if (carouselItem && carouselItem.dragDisabled) {\n return;\n }\n\n const isTouchEvent = event.type === 'touchstart';\n\n this._startGlobalListening(isTouchEvent);\n this.isPressed = true;\n\n const mouseEvent = event as MouseEvent;\n this.downX = mouseEvent.clientX;\n this.downY = mouseEvent.clientY;\n\n clearTimeout(this.scrollToTimer as number);\n }\n\n onScrollHandler() {\n this.checkNavStatus();\n if (!this.isPressed && !this.isAnimating && !this.snapDisabled) {\n this.isScrolling = true;\n clearTimeout(this.scrollTimer as number);\n this.scrollTimer = setTimeout(() => {\n this.isScrolling = false;\n this.locateCurrentIndex(true);\n }, 500);\n } else {\n this.locateCurrentIndex();\n }\n }\n\n onMouseUpHandler(event: MouseEvent) {\n if (this.isPressed) {\n this.isPressed = false;\n this._pointerEvents = 'auto';\n this._setIsDragging(false);\n if (!this.snapDisabled) {\n this.locateCurrentIndex(true);\n } else {\n this.locateCurrentIndex();\n }\n this._stopGlobalListening();\n }\n }\n\n /*\n * Nav button\n */\n moveLeft() {\n if (this.currIndex !== 0 || this.snapDisabled) {\n this.currIndex--;\n clearTimeout(this.scrollToTimer as number);\n this.scrollTo(\n this._contentRef.nativeElement,\n this.toChildrenLocation(),\n this.snapDuration\n );\n }\n }\n\n moveRight() {\n const container = this.wrapper || this.parentNode;\n const containerWidth = container ? container.clientWidth : 0;\n\n if (\n !this.isScrollReachesRightEnd() &&\n this.currIndex <\n this.maximumIndex(containerWidth, this._children.toArray())\n ) {\n this.currIndex++;\n clearTimeout(this.scrollToTimer as number);\n this.scrollTo(\n this._contentRef.nativeElement,\n this.toChildrenLocation(),\n this.snapDuration\n );\n }\n }\n\n moveTo(index: number) {\n const container = this.wrapper || this.parentNode;\n const containerWidth = container ? container.clientWidth : 0;\n if (\n index >= 0 &&\n index !== this.currIndex &&\n this.currIndex <=\n this.maximumIndex(containerWidth, this._children.toArray())\n ) {\n this.currIndex = Math.min(\n index,\n this.maximumIndex(containerWidth, this._children.toArray())\n );\n clearTimeout(this.scrollToTimer as number);\n this.scrollTo(\n this._contentRef.nativeElement,\n this.toChildrenLocation(),\n this.snapDuration\n );\n }\n }\n\n checkNavStatus() {\n setTimeout(() => {\n const onlyOneItem = Boolean(this._children.length <= 1);\n const containerIsLargerThanContent = Boolean(\n this._contentRef.nativeElement.scrollWidth <=\n this._contentRef.nativeElement.clientWidth\n );\n if (onlyOneItem || containerIsLargerThanContent) {\n // only one element\n this.reachesLeftBound.emit(true);\n this.reachesRightBound.emit(true);\n } else if (this.isScrollReachesRightEnd()) {\n // reached right end\n this.reachesLeftBound.emit(false);\n this.reachesRightBound.emit(true);\n } else if (\n this._contentRef.nativeElement.scrollLeft === 0 &&\n this._contentRef.nativeElement.scrollWidth >\n this._contentRef.nativeElement.clientWidth\n ) {\n // reached left end\n this.reachesLeftBound.emit(true);\n this.reachesRightBound.emit(false);\n } else {\n // in the middle\n this.reachesLeftBound.emit(false);\n this.reachesRightBound.emit(false);\n }\n }, 0);\n }\n\n @HostListener('wheel', ['$event'])\n public onWheel(event: WheelEvent) {\n if (this._xWheelEnabled) {\n event.preventDefault();\n\n if (this._snapDisabled) {\n this._contentRef.nativeElement.scrollBy(event.deltaY, 0);\n } else {\n if (event.deltaY < 0) {\n this.moveLeft();\n } else if (event.deltaY > 0) {\n this.moveRight();\n }\n }\n }\n }\n\n @HostListener('window:resize')\n public onWindowResize() {\n this.refreshWrapperDimensions();\n this.checkNavStatus();\n }\n\n private _setIsDragging(value: boolean) {\n if (this._isDragging === value) {\n return;\n }\n\n this._isDragging = value;\n value ? this.dragStart.emit() : this.dragEnd.emit();\n }\n\n private _startGlobalListening(isTouchEvent: boolean) {\n if (!this._onMouseMoveListener) {\n const eventName = isTouchEvent ? 'touchmove' : 'mousemove';\n this._onMouseMoveListener = this._renderer.listen(\n 'document',\n eventName,\n this.onMouseMoveHandler.bind(this)\n );\n }\n\n if (!this._onMouseUpListener) {\n const eventName = isTouchEvent ? 'touchend' : 'mouseup';\n this._onMouseUpListener = this._renderer.listen(\n 'document',\n eventName,\n this.onMouseUpHandler.bind(this)\n );\n }\n }\n\n private _stopGlobalListening() {\n if (this._onMouseMoveListener) {\n this._onMouseMoveListener = this._onMouseMoveListener();\n }\n\n if (this._onMouseUpListener) {\n this._onMouseUpListener = this._onMouseUpListener();\n }\n }\n\n private disableScroll(axis: string): void {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n `overflow-${axis}`,\n 'hidden'\n );\n }\n\n private enableScroll(axis: string): void {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n `overflow-${axis}`,\n 'auto'\n );\n }\n\n private hideScrollbar(): void {\n if (\n this._contentRef.nativeElement.style.display !== 'none' &&\n !this.wrapper\n ) {\n this.parentNode = this._contentRef.nativeElement.parentNode;\n\n // create container element\n this.wrapper = this._renderer.createElement('div');\n this._renderer.addClass(this.wrapper, 'carousel-wrapper');\n // this._renderer.setAttribute(this.wrapper, 'class', 'carousel-wrapper');\n // this._renderer.addClass(this.wrapper, 'carousel-container');\n\n this.refreshWrapperDimensions();\n\n this._renderer.setStyle(this.wrapper, 'overflow', 'hidden');\n\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'width',\n `calc(100% + ${this.scrollbarWidth})`\n );\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'height',\n `calc(100% + ${this.scrollbarWidth})`\n );\n\n // Append container element to component element.\n this._renderer.appendChild(\n this._elementRef.nativeElement,\n this.wrapper\n );\n\n // Append content element to container element.\n this._renderer.appendChild(\n this.wrapper,\n this._contentRef.nativeElement\n );\n\n this.adjustMarginToLastChild();\n }\n }\n\n private showScrollbar(): void {\n if (this.wrapper) {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'width',\n '100%'\n );\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'height',\n this.wrapper.style.height\n );\n if (this.parentNode !== null) {\n this.parentNode.removeChild(this.wrapper);\n this.parentNode.appendChild(this._contentRef.nativeElement);\n }\n this.wrapper = null;\n\n this.adjustMarginToLastChild();\n }\n }\n\n private checkScrollbar() {\n if (\n this._contentRef.nativeElement.scrollWidth <=\n this._contentRef.nativeElement.clientWidth\n ) {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'height',\n '100%'\n );\n } else {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'height',\n `calc(100% + ${this.scrollbarWidth})`\n );\n }\n if (\n this._contentRef.nativeElement.scrollHeight <=\n this._contentRef.nativeElement.clientHeight\n ) {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'width',\n '100%'\n );\n } else {\n this._renderer.setStyle(\n this._contentRef.nativeElement,\n 'width',\n `calc(100% + ${this.scrollbarWidth})`\n );\n }\n }\n\n private setScrollBar(): void {\n if (this.scrollbarHidden) {\n this.hideScrollbar();\n } else {\n this.showScrollbar();\n }\n }\n\n private getScrollbarWidth(): number {\n /**\n * Browser Scrollbar Widths (2016)\n * OSX (Chrome, Safari, Firefox) - 15px\n * Windows XP (IE7, Chrome, Firefox) - 17px\n * Windows 7 (IE10, IE11, Chrome, Firefox) - 17px\n * Windows 8.1 (IE11, Chrome, Firefox) - 17px\n * Windows 10 (IE11, Chrome, Firefox) - 17px\n * Windows 10 (Edge 12/13) - 12px\n */\n const outer = this._renderer.createElement('div');\n this._renderer.setStyle(outer, 'visibility', 'hidden');\n this._renderer.setStyle(outer, 'width', '100px');\n this._renderer.setStyle(outer, 'msOverflowStyle', 'scrollbar'); // needed for WinJS apps\n // document.body.appendChild(outer);\n this._renderer.appendChild(this._document.body, outer);\n // this._renderer.appendChild(this._renderer.selectRootElement('body'), outer);\n const widthNoScroll = outer.offsetWidth;\n // force scrollbars\n this._renderer.setStyle(outer, 'overflow', 'scroll');\n\n // add innerdiv\n const inner = this._renderer.createElement('div');\n this._renderer.setStyle(inner, 'width', '100%');\n this._renderer.appendChild(outer, inner);\n\n const widthWithScroll = inner.offsetWidth;\n\n // remove divs\n this._renderer.removeChild(this._document.body, outer);\n\n /**\n * Scrollbar width will be 0 on Mac OS with the\n * default \"Only show scrollbars when scrolling\" setting (Yosemite and up).\n * setting default width to 20;\n */\n return widthNoScroll - widthWithScroll || 20;\n }\n\n private refreshWrapperDimensions() {\n if (this.wrapper) {\n const height =\n this._elementRef.nativeElement.style.height ||\n this._elementRef.nativeElement.offsetHeight;\n\n this._renderer.setStyle(this.wrapper, 'width', '100%');\n this._renderer.setStyle(\n this.wrapper,\n 'height',\n height === 0 ? 'auto' : height + 'px'\n );\n }\n }\n\n /*\n * The below solution is heavily inspired from\n * https://gist.github.com/andjosh/6764939\n */\n private scrollTo(element: Element, to: number, duration: number) {\n this.isAnimating = true;\n const start = element.scrollLeft,\n change = to - start - this.snapOffset,\n increment = 20;\n let currentTime = 0;\n\n // t = current time\n // b = start value\n // c = change in value\n // d = duration\n const easeInOutQuad = (t: number, b: number, c: number, d: number) => {\n t /= d / 2;\n if (t < 1) {\n return (c / 2) * t * t + b;\n }\n t--;\n return (-c / 2) * (t * (t - 2) - 1) + b;\n };\n\n const animateScroll = () => {\n currentTime += increment;\n element.scrollLeft = easeInOutQuad(\n currentTime,\n start,\n change,\n duration\n );\n if (currentTime < duration) {\n this.scrollToTimer = setTimeout(animateScroll, increment);\n } else {\n // run one more frame to make sure the animation is fully finished\n setTimeout(() => {\n this.isAnimating = false;\n this.snapAnimationFinished.emit(this.currIndex);\n }, increment);\n }\n };\n animateScroll();\n }\n\n private locateCurrentIndex(snap?: boolean) {\n this.currentChildWidth(\n (\n currentChildWidth,\n nextChildrenWidth,\n childrenWidth,\n idx: number,\n stop\n ) => {\n if (\n this._contentRef.nativeElement.scrollLeft >=\n childrenWidth &&\n this._contentRef.nativeElement.scrollLeft <=\n nextChildrenWidth\n ) {\n if (\n nextChildrenWidth -\n this._contentRef.nativeElement.scrollLeft >\n currentChildWidth / 2 &&\n !this.isScrollReachesRightEnd()\n ) {\n // roll back scrolling\n if (!this.isAnimating) {\n this.currIndex = idx;\n }\n if (snap) {\n this.scrollTo(\n this._contentRef.nativeElement,\n childrenWidth,\n this.snapDuration\n );\n }\n } else if (\n this._contentRef.nativeElement.scrollLeft !== 0\n ) {\n // forward scrolling\n if (!this.isAnimating) {\n this.currIndex = idx + 1;\n }\n if (snap) {\n this.scrollTo(\n this._contentRef.nativeElement,\n childrenWidth + currentChildWidth,\n this.snapDuration\n );\n }\n }\n stop();\n } else if (idx + 1 === this._children.length - 1) {\n // reaches last index\n if (!this.isAnimating) {\n this.currIndex = idx + 1;\n }\n stop();\n }\n }\n );\n }\n\n private currentChildWidth(\n cb: (\n currentClildWidth: number,\n nextChildrenWidth: number,\n childrenWidth: number,\n index: number,\n breakFunc: () => void\n ) => void\n ) {\n let childrenWidth = 0;\n let shouldBreak = false;\n const breakFunc = function () {\n shouldBreak = true;\n };\n const childrenArr = this._children.toArray();\n\n for (let i = 0; i < childrenArr.length; i++) {\n if (i === childrenArr.length - 1) {\n break;\n }\n if (shouldBreak) {\n break;\n }\n\n const nextChildrenWidth =\n childrenWidth +\n childrenArr[i + 1]._elementRef.nativeElement.clientWidth;\n const currentClildWidth =\n childrenArr[i]._elementRef.nativeElement.clientWidth;\n cb(\n currentClildWidth,\n nextChildrenWidth,\n childrenWidth,\n i,\n breakFunc\n );\n\n childrenWidth += currentClildWidth;\n }\n }\n\n private toChildrenLocation(): number {\n let to = 0;\n const childrenArr = this._children.toArray();\n for (let i = 0; i < this.currIndex; i++) {\n to += childrenArr[i]._elementRef.nativeElement.clientWidth;\n }\n return to;\n }\n\n private locateCarouselItem(\n element: Element\n ): PepCarouselItemDirective | null {\n let item: PepCarouselItemDirective | null = null;\n const childrenArr = this._children.toArray();\n for (let i = 0; i < childrenArr.length; i++) {\n if (element === childrenArr[i]._elementRef.nativeElement) {\n item = childrenArr[i];\n }\n }\n return item;\n }\n\n private markElDimension() {\n if (this.wrapper) {\n this.elWidth = this.wrapper.style.width;\n this.elHeight = this.wrapper.style.height;\n } else {\n this.elWidth =\n this._elementRef.nativeElement.style.width ||\n this._elementRef.nativeElement.offsetWidth + 'px';\n this.elHeight =\n this._elementRef.nativeElement.style.height ||\n this._elementRef.nativeElement.offsetHeight + 'px';\n }\n const container = this.wrapper || this.parentNode;\n const containerWidth = container ? container.clientWidth : 0;\n if (this._children.length > 1) {\n this.indexBound = this.maximumIndex(\n containerWidth,\n this._children.toArray()\n );\n }\n }\n\n private maximumIndex(\n containerWidth: number,\n childrenElements: PepCarouselItemDirective[]\n ): number {\n let count = 0;\n let childrenWidth = 0;\n for (let i = 0; i <= childrenElements.length; i++) {\n // last N element\n const carouselItemDirective: PepCarouselItemDirective =\n childrenElements[childrenElements.length - 1 - i];\n if (!carouselItemDirective) {\n break;\n } else {\n const nativeElement =\n carouselItemDirective._elementRef.nativeElement;\n let itemWidth = nativeElement.clientWidth;\n if (itemWidth === 0 && nativeElement.firstElementChild) {\n itemWidth =\n carouselItemDirective._elementRef.nativeElement\n .firstElementChild.clientWidth;\n }\n childrenWidth += itemWidth;\n if (childrenWidth < containerWidth) {\n count++;\n } else {\n break;\n }\n }\n }\n return childrenElements.length - count;\n }\n\n private isScrollReachesRightEnd(): boolean {\n const scrollLeftPos =\n this._contentRef.nativeElement.scrollLeft +\n this._contentRef.nativeElement.offsetWidth;\n return scrollLeftPos >= this._contentRef.nativeElement.scrollWidth;\n }\n\n /**\n * adds a margin right style to the last child element which will resolve the issue\n * of last item gets cutoff.\n */\n private adjustMarginToLastChild(): void {\n // if (this._children && this._children.length > 0 && this.hideScrollbar) {\n // const childrenArr = this._children.toArray();\n // const lastItem = childrenArr[childrenArr.length - 1]._elementRef.nativeElement;\n // if (this.wrapper && childrenArr.length > 1) {\n // this._renderer.setStyle(lastItem, 'margin-right', this.scrollbarWidth);\n // } else {\n // this._renderer.setStyle(lastItem, 'margin-right', 0);\n // }\n // }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { PepCarouselComponent } from './carousel.component';\nimport { PepCarouselItemDirective } from './carousel-item.directive';\n\n@NgModule({\n exports: [PepCarouselComponent, PepCarouselItemDirective],\n declarations: [PepCarouselComponent, PepCarouselItemDirective],\n})\nexport class PepCarouselModule {}\n","/*\n * Public API Surface of carousel\n */\nexport * from './carousel.module';\nexport * from './carousel.component';\nexport * from './carousel-item.directive';\n// export * from './carousel.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|