@koobiq/components 16.0.0-beta.9 → 17.0.0-beta.2
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/autocomplete/_autocomplete-theme.scss +3 -10
- package/autocomplete/autocomplete-trigger.directive.d.ts +7 -1
- package/autocomplete/autocomplete.scss +0 -5
- package/badge/_badge-theme.scss +4 -0
- package/badge/badge.component.d.ts +1 -0
- package/button/_button-base.scss +1 -1
- package/button/_button-theme.scss +23 -38
- package/button-toggle/_button-toggle-theme.scss +4 -0
- package/checkbox/_checkbox-theme.scss +9 -6
- package/checkbox/checkbox.scss +6 -9
- package/code-block/_code-block-theme.scss +53 -16
- package/code-block/actionbar.component.scss +34 -6
- package/code-block/code-block.component.d.ts +5 -2
- package/code-block/code-block.scss +112 -28
- package/core/common-behaviors/index.d.ts +2 -0
- package/core/datetime/date-adapter.d.ts +1 -1
- package/core/datetime/date-formats.d.ts +1 -1
- package/core/formatters/date/formatter.d.ts +2 -2
- package/core/formatters/date/formatter.pipe.d.ts +1 -1
- package/core/locales/en-US.d.ts +25 -22
- package/core/locales/es-LA.d.ts +24 -27
- package/core/locales/fa-IR.d.ts +24 -28
- package/core/locales/formatters.d.ts +121 -0
- package/core/locales/index.d.ts +7 -2
- package/core/locales/locale-service.d.ts +146 -32
- package/core/locales/pt-BR.d.ts +24 -27
- package/core/locales/ru-RU.d.ts +25 -23
- package/core/locales/zh-CN.d.ts +25 -27
- package/core/option/_option-action-theme.scss +1 -1
- package/core/option/_option-theme.scss +5 -5
- package/core/option/action.scss +1 -1
- package/core/pop-up/pop-up.d.ts +7 -0
- package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +4 -15
- package/core/styles/_koobiq-theme.scss +3 -1
- package/core/styles/_variables.scss +1 -10
- package/core/styles/common/_overlay.scss +4 -0
- package/core/styles/common/_select.scss +2 -1
- package/core/styles/theming/_components-theming.scss +99 -38
- package/core/styles/theming/{_scrollbars-theme.scss → _scrollbar-theme.scss} +25 -4
- package/core/styles/theming/_theming.scss +1 -0
- package/core/styles/typography/_typography.scss +8 -1
- package/core/utils/data-size/data-size.pipe.d.ts +1 -1
- package/dropdown/_dropdown-theme.scss +1 -2
- package/ellipsis-center/ellipsis-center.directive.d.ts +3 -3
- package/esm2022/alert/alert.component.mjs +12 -12
- package/esm2022/alert/alert.module.mjs +4 -4
- package/esm2022/autocomplete/autocomplete-origin.directive.mjs +4 -4
- package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +18 -6
- package/esm2022/autocomplete/autocomplete.component.mjs +8 -8
- package/esm2022/autocomplete/autocomplete.module.mjs +4 -4
- package/esm2022/badge/badge.component.mjs +13 -12
- package/esm2022/badge/badge.module.mjs +4 -4
- package/esm2022/button/button.component.mjs +16 -13
- package/esm2022/button/button.module.mjs +4 -4
- package/esm2022/button-toggle/button-toggle.component.mjs +12 -12
- package/esm2022/button-toggle/button-toggle.module.mjs +4 -4
- package/esm2022/card/card.component.mjs +5 -5
- package/esm2022/card/card.module.mjs +4 -4
- package/esm2022/checkbox/checkbox-module.mjs +4 -4
- package/esm2022/checkbox/checkbox-required-validator.mjs +3 -3
- package/esm2022/checkbox/checkbox.mjs +7 -7
- package/esm2022/code-block/actionbar.component.mjs +5 -5
- package/esm2022/code-block/code-block.component.mjs +32 -14
- package/esm2022/code-block/code-block.module.mjs +8 -8
- package/esm2022/core/common-behaviors/color.mjs +1 -1
- package/esm2022/core/common-behaviors/common-module.mjs +7 -7
- package/esm2022/core/common-behaviors/error-state.mjs +1 -1
- package/esm2022/core/common-behaviors/index.mjs +3 -1
- package/esm2022/core/datetime/date-adapter.mjs +2 -2
- package/esm2022/core/datetime/date-formats.mjs +1 -1
- package/esm2022/core/error/error-options.mjs +6 -6
- package/esm2022/core/formatters/date/formatter.mjs +9 -9
- package/esm2022/core/formatters/date/formatter.pipe.mjs +53 -53
- package/esm2022/core/formatters/index.mjs +7 -6
- package/esm2022/core/formatters/number/formatter.mjs +19 -19
- package/esm2022/core/forms/forms-module.mjs +4 -4
- package/esm2022/core/forms/forms.directive.mjs +8 -8
- package/esm2022/core/highlight/highlight.pipe.mjs +5 -5
- package/esm2022/core/highlight/index.mjs +4 -4
- package/esm2022/core/line/line.mjs +8 -8
- package/esm2022/core/locales/en-US.mjs +25 -22
- package/esm2022/core/locales/es-LA.mjs +24 -29
- package/esm2022/core/locales/fa-IR.mjs +24 -28
- package/esm2022/core/locales/formatters.mjs +126 -0
- package/esm2022/core/locales/index.mjs +8 -3
- package/esm2022/core/locales/locale-service.mjs +14 -13
- package/esm2022/core/locales/locale-service.module.mjs +4 -4
- package/esm2022/core/locales/pt-BR.mjs +24 -27
- package/esm2022/core/locales/ru-RU.mjs +25 -25
- package/esm2022/core/locales/zh-CN.mjs +25 -27
- package/esm2022/core/option/action.mjs +9 -8
- package/esm2022/core/option/optgroup.mjs +4 -4
- package/esm2022/core/option/option-module.mjs +4 -4
- package/esm2022/core/option/option.mjs +8 -8
- package/esm2022/core/overlay/overlay-position-map.mjs +1 -1
- package/esm2022/core/pop-up/pop-up-trigger.mjs +6 -6
- package/esm2022/core/pop-up/pop-up.mjs +12 -5
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +6 -6
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +4 -4
- package/esm2022/core/services/measure-scrollbar.service.mjs +6 -6
- package/esm2022/core/services/theme.service.mjs +5 -5
- package/esm2022/core/utils/data-size/data-size.pipe.mjs +9 -9
- package/esm2022/core/utils/data-size/size.mjs +1 -1
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/calendar-body.component.mjs +4 -4
- package/esm2022/datepicker/calendar-header.component.mjs +5 -5
- package/esm2022/datepicker/calendar.component.mjs +6 -6
- package/esm2022/datepicker/datepicker-animations.mjs +1 -1
- package/esm2022/datepicker/datepicker-input.directive.mjs +6 -6
- package/esm2022/datepicker/datepicker-intl.mjs +3 -3
- package/esm2022/datepicker/datepicker-module.mjs +4 -4
- package/esm2022/datepicker/datepicker-toggle.component.mjs +8 -8
- package/esm2022/datepicker/datepicker.component.mjs +10 -10
- package/esm2022/datepicker/month-view.component.mjs +6 -6
- package/esm2022/divider/divider.component.mjs +3 -3
- package/esm2022/divider/divider.module.mjs +4 -4
- package/esm2022/dl/dl.component.mjs +11 -11
- package/esm2022/dl/dl.module.mjs +4 -4
- package/esm2022/dropdown/dropdown-content.directive.mjs +6 -6
- package/esm2022/dropdown/dropdown-item.component.mjs +9 -8
- package/esm2022/dropdown/dropdown-trigger.directive.mjs +6 -6
- package/esm2022/dropdown/dropdown.component.mjs +6 -6
- package/esm2022/dropdown/dropdown.module.mjs +4 -4
- package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +20 -20
- package/esm2022/file-upload/file-drop.mjs +43 -6
- package/esm2022/file-upload/file-upload.mjs +1 -1
- package/esm2022/file-upload/file-upload.module.mjs +4 -4
- package/esm2022/file-upload/multiple-file-upload.component.mjs +47 -26
- package/esm2022/file-upload/single-file-upload.component.mjs +39 -16
- package/esm2022/form-field/cleaner.mjs +3 -3
- package/esm2022/form-field/form-field.mjs +21 -15
- package/esm2022/form-field/form-field.module.mjs +4 -4
- package/esm2022/form-field/hint.mjs +20 -8
- package/esm2022/form-field/password-hint.mjs +24 -21
- package/esm2022/form-field/password-toggle.mjs +6 -6
- package/esm2022/form-field/prefix.mjs +3 -3
- package/esm2022/form-field/stepper.mjs +4 -4
- package/esm2022/form-field/suffix.mjs +3 -3
- package/esm2022/form-field/validate.directive.mjs +17 -12
- package/esm2022/icon/icon-button.component.mjs +7 -6
- package/esm2022/icon/icon-item.component.mjs +7 -6
- package/esm2022/icon/icon.component.mjs +18 -6
- package/esm2022/icon/icon.module.mjs +4 -4
- package/esm2022/input/input-number-validators.mjs +7 -7
- package/esm2022/input/input-number.mjs +12 -9
- package/esm2022/input/input-password.mjs +6 -6
- package/esm2022/input/input.mjs +9 -9
- package/esm2022/input/input.module.mjs +4 -4
- package/esm2022/link/link.component.mjs +5 -5
- package/esm2022/link/link.module.mjs +4 -4
- package/esm2022/list/list-selection.component.mjs +16 -16
- package/esm2022/list/list.component.mjs +9 -9
- package/esm2022/list/list.module.mjs +4 -4
- package/esm2022/loader-overlay/loader-overlay.component.mjs +15 -15
- package/esm2022/loader-overlay/loader-overlay.module.mjs +4 -4
- package/esm2022/markdown/markdown.component.mjs +5 -5
- package/esm2022/markdown/markdown.module.mjs +4 -4
- package/esm2022/markdown/markdown.service.mjs +3 -3
- package/esm2022/modal/css-unit.pipe.mjs +3 -3
- package/esm2022/modal/modal-control.service.mjs +6 -6
- package/esm2022/modal/modal.component.mjs +22 -16
- package/esm2022/modal/modal.directive.mjs +12 -12
- package/esm2022/modal/modal.module.mjs +4 -4
- package/esm2022/modal/modal.service.mjs +5 -5
- package/esm2022/modal/modal.type.mjs +1 -1
- package/esm2022/navbar/navbar-item.component.mjs +69 -104
- package/esm2022/navbar/navbar.component.mjs +28 -17
- package/esm2022/navbar/navbar.module.mjs +6 -10
- package/esm2022/navbar/vertical-navbar.component.mjs +9 -13
- package/esm2022/popover/popover-confirm.component.mjs +11 -13
- package/esm2022/popover/popover.component.mjs +16 -11
- package/esm2022/popover/popover.module.mjs +4 -4
- package/esm2022/progress-bar/progress-bar.component.mjs +11 -11
- package/esm2022/progress-bar/progress-bar.module.mjs +4 -4
- package/esm2022/progress-spinner/progress-spinner.component.mjs +12 -12
- package/esm2022/progress-spinner/progress-spinner.module.mjs +4 -4
- package/esm2022/radio/radio.component.mjs +10 -10
- package/esm2022/radio/radio.module.mjs +4 -4
- package/esm2022/risk-level/risk-level.component.mjs +3 -3
- package/esm2022/risk-level/risk-level.module.mjs +4 -4
- package/esm2022/scrollbar/index.mjs +2 -0
- package/esm2022/scrollbar/koobiq-components-scrollbar.mjs +5 -0
- package/esm2022/scrollbar/public-api.mjs +5 -0
- package/esm2022/scrollbar/scrollbar.component.mjs +130 -0
- package/esm2022/scrollbar/scrollbar.directive.mjs +97 -0
- package/esm2022/scrollbar/scrollbar.module.mjs +20 -0
- package/esm2022/scrollbar/scrollbar.types.mjs +13 -0
- package/esm2022/select/select-option.directive.mjs +6 -6
- package/esm2022/select/select.component.mjs +43 -36
- package/esm2022/select/select.module.mjs +4 -4
- package/esm2022/sidebar/sidebar.component.mjs +11 -11
- package/esm2022/sidebar/sidebar.module.mjs +4 -4
- package/esm2022/sidepanel/sidepanel-animations.mjs +5 -5
- package/esm2022/sidepanel/sidepanel-container.component.mjs +11 -11
- package/esm2022/sidepanel/sidepanel-directives.mjs +26 -26
- package/esm2022/sidepanel/sidepanel-ref.mjs +1 -1
- package/esm2022/sidepanel/sidepanel.module.mjs +4 -4
- package/esm2022/sidepanel/sidepanel.service.mjs +6 -6
- package/esm2022/splitter/splitter.component.mjs +17 -17
- package/esm2022/splitter/splitter.module.mjs +4 -4
- package/esm2022/table/table.component.mjs +3 -3
- package/esm2022/table/table.module.mjs +4 -4
- package/esm2022/tabs/paginated-tab-header.mjs +6 -6
- package/esm2022/tabs/tab-body.component.mjs +12 -12
- package/esm2022/tabs/tab-content.directive.mjs +4 -4
- package/esm2022/tabs/tab-group.component.mjs +21 -21
- package/esm2022/tabs/tab-header.component.mjs +7 -7
- package/esm2022/tabs/tab-label-wrapper.directive.mjs +6 -5
- package/esm2022/tabs/tab-label.directive.mjs +3 -3
- package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +12 -11
- package/esm2022/tabs/tab.component.mjs +5 -5
- package/esm2022/tabs/tabs.module.mjs +4 -4
- package/esm2022/tags/tag-input.mjs +31 -11
- package/esm2022/tags/tag-list.component.mjs +9 -8
- package/esm2022/tags/tag.component.mjs +16 -16
- package/esm2022/tags/tag.module.mjs +4 -4
- package/esm2022/textarea/textarea.component.mjs +36 -25
- package/esm2022/textarea/textarea.module.mjs +4 -4
- package/esm2022/timepicker/timepicker.directive.mjs +6 -6
- package/esm2022/timepicker/timepicker.module.mjs +4 -4
- package/esm2022/timezone/cities-by-filter.pipe.mjs +3 -3
- package/esm2022/timezone/timezone-option.component.mjs +10 -9
- package/esm2022/timezone/timezone-option.directive.mjs +5 -5
- package/esm2022/timezone/timezone-select.component.mjs +9 -9
- package/esm2022/timezone/timezone.module.mjs +4 -4
- package/esm2022/timezone/timezone.utils.mjs +9 -4
- package/esm2022/timezone/utc-offset.pipe.mjs +6 -6
- package/esm2022/title/title.directive.mjs +6 -6
- package/esm2022/title/title.module.mjs +4 -4
- package/esm2022/toast/toast-animations.mjs +3 -3
- package/esm2022/toast/toast-container.component.mjs +7 -7
- package/esm2022/toast/toast.component.mjs +12 -11
- package/esm2022/toast/toast.module.mjs +4 -4
- package/esm2022/toast/toast.service.mjs +16 -8
- package/esm2022/toast/toast.type.mjs +1 -1
- package/esm2022/toggle/toggle.component.mjs +5 -5
- package/esm2022/toggle/toggle.module.mjs +4 -4
- package/esm2022/tooltip/tooltip.component.mjs +24 -24
- package/esm2022/tooltip/tooltip.module.mjs +4 -4
- package/esm2022/tree/control/base-tree-control.mjs +4 -4
- package/esm2022/tree/control/flat-tree-control.filters.mjs +47 -0
- package/esm2022/tree/control/flat-tree-control.mjs +27 -45
- package/esm2022/tree/control/nested-tree-control.mjs +1 -1
- package/esm2022/tree/control/tree-control.mjs +1 -1
- package/esm2022/tree/data-source/flat-data-source.mjs +1 -1
- package/esm2022/tree/node.mjs +5 -5
- package/esm2022/tree/outlet.mjs +4 -4
- package/esm2022/tree/padding.directive.mjs +6 -6
- package/esm2022/tree/public-api.mjs +2 -1
- package/esm2022/tree/toggle.mjs +12 -12
- package/esm2022/tree/tree-base.mjs +10 -10
- package/esm2022/tree/tree-option.component.mjs +12 -8
- package/esm2022/tree/tree-selection.component.mjs +6 -6
- package/esm2022/tree/tree.mjs +3 -3
- package/esm2022/tree/tree.module.mjs +4 -4
- package/esm2022/tree-select/tree-select.component.mjs +29 -19
- package/esm2022/tree-select/tree-select.module.mjs +9 -9
- package/fesm2022/koobiq-components-alert.mjs +16 -16
- package/fesm2022/koobiq-components-autocomplete.mjs +32 -20
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +16 -15
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +15 -15
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +19 -16
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-card.mjs +8 -8
- package/fesm2022/koobiq-components-card.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +13 -13
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +40 -23
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +473 -350
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +45 -45
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +7 -7
- package/fesm2022/koobiq-components-dl.mjs +14 -14
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +27 -26
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +19 -19
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +128 -50
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +97 -72
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +33 -19
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +34 -31
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-link.mjs +8 -8
- package/fesm2022/koobiq-components-link.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +27 -27
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +18 -18
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +11 -11
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +49 -43
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +108 -149
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +30 -26
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +14 -14
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +15 -15
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +13 -13
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-risk-level.mjs +7 -7
- package/fesm2022/koobiq-components-scrollbar.mjs +256 -0
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -0
- package/fesm2022/koobiq-components-select.mjs +49 -42
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +14 -14
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +47 -47
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +20 -20
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +7 -7
- package/fesm2022/koobiq-components-tabs.mjs +72 -70
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +56 -36
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +39 -28
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +9 -9
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +42 -37
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +9 -9
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +36 -27
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +8 -8
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +27 -27
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +36 -26
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +132 -100
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/_file-upload-theme.scss +10 -1
- package/file-upload/file-drop.d.ts +2 -1
- package/file-upload/file-upload.d.ts +4 -1
- package/file-upload/multiple-file-upload.component.d.ts +14 -6
- package/file-upload/single-file-upload.component.d.ts +12 -6
- package/form-field/_form-field-theme.scss +8 -14
- package/form-field/form-field.d.ts +2 -0
- package/form-field/form-field.scss +12 -1
- package/form-field/hint.scss +1 -1
- package/form-field/password-hint.d.ts +7 -5
- package/icon/icon-button.component.d.ts +1 -0
- package/icon/icon-item.component.d.ts +1 -0
- package/icon/icon.component.d.ts +3 -0
- package/input/input-number.d.ts +3 -2
- package/link/_link-theme.scss +1 -0
- package/list/_list-theme.scss +1 -2
- package/list/list.scss +3 -3
- package/loader-overlay/loader-overlay.scss +2 -2
- package/modal/_modal-confirm.scss +0 -24
- package/modal/modal.component.d.ts +4 -2
- package/modal/modal.scss +32 -20
- package/modal/modal.type.d.ts +0 -1
- package/navbar/_navbar-item_horizontal.scss +97 -0
- package/navbar/_navbar-item_vertical.scss +98 -0
- package/navbar/_navbar-theme.scss +58 -60
- package/navbar/navbar-brand.scss +76 -16
- package/navbar/navbar-divider.scss +13 -4
- package/navbar/navbar-item.component.d.ts +6 -17
- package/navbar/navbar-item.scss +41 -87
- package/navbar/navbar.component.d.ts +3 -0
- package/navbar/navbar.module.d.ts +1 -1
- package/navbar/navbar.scss +13 -1
- package/navbar/vertical-navbar.scss +7 -14
- package/package.json +28 -20
- package/popover/popover-confirm.component.d.ts +0 -2
- package/popover/popover.component.d.ts +6 -1
- package/popover/popover.scss +4 -9
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/progress-spinner/progress-spinner.scss +10 -5
- package/scrollbar/_scrollbar-component-theme.scss +52 -0
- package/scrollbar/index.d.ts +1 -0
- package/scrollbar/public-api.d.ts +4 -0
- package/scrollbar/scrollbar.component.d.ts +33 -0
- package/scrollbar/scrollbar.component.scss +559 -0
- package/scrollbar/scrollbar.directive.d.ts +47 -0
- package/scrollbar/scrollbar.module.d.ts +8 -0
- package/scrollbar/scrollbar.types.d.ts +32 -0
- package/select/select.component.d.ts +4 -3
- package/select/select.scss +7 -0
- package/sidepanel/sidepanel-animations.d.ts +2 -2
- package/sidepanel/sidepanel-directives.d.ts +5 -5
- package/splitter/_splitter-theme.scss +5 -4
- package/tabs/_tabs-common.scss +1 -1
- package/tabs/_tabs-theme.scss +2 -2
- package/tags/tag-input.d.ts +9 -4
- package/tags/tag-list.scss +4 -0
- package/textarea/textarea.component.d.ts +4 -3
- package/timezone/_timezone-option-theme.scss +8 -0
- package/timezone/timezone-option.component.scss +4 -0
- package/timezone/timezone-select.component.scss +13 -0
- package/timezone/timezone.utils.d.ts +4 -0
- package/timezone/utc-offset.pipe.d.ts +3 -1
- package/toast/toast-animations.d.ts +1 -1
- package/toast/toast-container.component.scss +1 -9
- package/toast/toast.component.scss +0 -4
- package/toast/toast.service.d.ts +5 -3
- package/toast/toast.type.d.ts +1 -0
- package/tooltip/tooltip.component.d.ts +1 -1
- package/tooltip/tooltip.scss +0 -3
- package/tree/_tree-theme.scss +5 -5
- package/tree/control/base-tree-control.d.ts +1 -1
- package/tree/control/flat-tree-control.d.ts +5 -3
- package/tree/control/flat-tree-control.filters.d.ts +26 -0
- package/tree/control/tree-control.d.ts +1 -1
- package/tree/public-api.d.ts +1 -0
- package/tree/tree-option.scss +4 -4
- package/tree-select/tree-select.component.d.ts +8 -4
- package/tree-select/tree-select.module.d.ts +1 -1
- package/esm2022/navbar/vertical-navbar.animation.mjs +0 -10
- package/form-field/password-hint.scss +0 -11
- package/navbar/vertical-navbar.animation.d.ts +0 -2
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InjectionToken, Directive, Inject, Input, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Output, NgModule } from '@angular/core';
|
|
3
|
+
import { OverlayScrollbars } from 'overlayscrollbars';
|
|
4
|
+
|
|
5
|
+
const KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG = {
|
|
6
|
+
scrollbars: {
|
|
7
|
+
autoHide: 'leave',
|
|
8
|
+
autoHideDelay: 100
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
const KBQ_SCROLLBAR_CONFIG = new InjectionToken('KBQ_SCROLLBAR_CONFIG');
|
|
12
|
+
/** Default scroll behavior */
|
|
13
|
+
const KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG_PROVIDER = {
|
|
14
|
+
provide: KBQ_SCROLLBAR_CONFIG, useValue: KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const createDefer = () => {
|
|
18
|
+
if (typeof window === 'undefined') {
|
|
19
|
+
// mock ssr calls with "noop"
|
|
20
|
+
const noop = () => { };
|
|
21
|
+
return [noop, noop];
|
|
22
|
+
}
|
|
23
|
+
let idleId;
|
|
24
|
+
let rafId;
|
|
25
|
+
const { requestIdleCallback, requestAnimationFrame, cancelAnimationFrame, cancelIdleCallback } = window;
|
|
26
|
+
const idleSupported = typeof requestIdleCallback === 'function';
|
|
27
|
+
const rIdle = idleSupported ? requestIdleCallback : requestAnimationFrame;
|
|
28
|
+
const cIdle = idleSupported ? cancelIdleCallback : cancelAnimationFrame;
|
|
29
|
+
const clear = () => {
|
|
30
|
+
cIdle(idleId);
|
|
31
|
+
cancelAnimationFrame(rafId);
|
|
32
|
+
};
|
|
33
|
+
return [
|
|
34
|
+
(callback, options) => {
|
|
35
|
+
clear();
|
|
36
|
+
idleId = rIdle(idleSupported
|
|
37
|
+
? () => {
|
|
38
|
+
clear();
|
|
39
|
+
// inside idle its best practice to use rAF to change DOM for best performance
|
|
40
|
+
rafId = requestAnimationFrame(callback);
|
|
41
|
+
}
|
|
42
|
+
: callback, typeof options === 'object' ? options : { timeout: 2233 });
|
|
43
|
+
},
|
|
44
|
+
clear,
|
|
45
|
+
];
|
|
46
|
+
};
|
|
47
|
+
class KbqScrollbarDirective {
|
|
48
|
+
set options(value) {
|
|
49
|
+
this._options = value;
|
|
50
|
+
if (OverlayScrollbars.valid(this.scrollbarInstance)) {
|
|
51
|
+
this.scrollbarInstance.options(value || {}, true);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** Scrollbar behavior customization object */
|
|
55
|
+
get options() {
|
|
56
|
+
return this._options;
|
|
57
|
+
}
|
|
58
|
+
set events(value) {
|
|
59
|
+
this._events = value;
|
|
60
|
+
if (OverlayScrollbars.valid(this.scrollbarInstance)) {
|
|
61
|
+
this.scrollbarInstance.on(value || {}, true);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
get events() {
|
|
65
|
+
return this._events;
|
|
66
|
+
}
|
|
67
|
+
constructor(ngZone, scrollbarConfig) {
|
|
68
|
+
this.ngZone = ngZone;
|
|
69
|
+
this.scrollbarConfig = scrollbarConfig;
|
|
70
|
+
const [requestDefer, cancelDefer] = createDefer();
|
|
71
|
+
this.requestDefer = requestDefer;
|
|
72
|
+
this.cancelDefer = cancelDefer;
|
|
73
|
+
}
|
|
74
|
+
initialize(target) {
|
|
75
|
+
this.ngZone.runOutsideAngular(() => {
|
|
76
|
+
const init = () => {
|
|
77
|
+
this.scrollbarInstance = OverlayScrollbars(target, this.options || this.scrollbarConfig || {}, this.events || {});
|
|
78
|
+
};
|
|
79
|
+
if (this.defer) {
|
|
80
|
+
this.requestDefer(init, this.defer);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
init();
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
ngOnDestroy() {
|
|
88
|
+
this.cancelDefer();
|
|
89
|
+
}
|
|
90
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqScrollbarDirective, deps: [{ token: i0.NgZone }, { token: KBQ_SCROLLBAR_CONFIG }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
91
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: KbqScrollbarDirective, selector: "[kbqScrollbar]", inputs: { options: "options", events: "events", defer: "defer" }, ngImport: i0 }); }
|
|
92
|
+
}
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqScrollbarDirective, decorators: [{
|
|
94
|
+
type: Directive,
|
|
95
|
+
args: [{
|
|
96
|
+
selector: '[kbqScrollbar]'
|
|
97
|
+
}]
|
|
98
|
+
}], ctorParameters: () => [{ type: i0.NgZone }, { type: undefined, decorators: [{
|
|
99
|
+
type: Inject,
|
|
100
|
+
args: [KBQ_SCROLLBAR_CONFIG]
|
|
101
|
+
}] }], propDecorators: { options: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], events: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], defer: [{
|
|
106
|
+
type: Input,
|
|
107
|
+
args: ['defer']
|
|
108
|
+
}] } });
|
|
109
|
+
|
|
110
|
+
const filterEvents = (emits, events) => Object.keys(emits).reduce((obj, name) => {
|
|
111
|
+
const emitListener = emits[name];
|
|
112
|
+
const eventListener = events[name];
|
|
113
|
+
// merge & check listeners
|
|
114
|
+
obj[name] = [
|
|
115
|
+
emitListener,
|
|
116
|
+
...(Array.isArray(eventListener) ? eventListener : [eventListener]).filter(Boolean),
|
|
117
|
+
];
|
|
118
|
+
return obj;
|
|
119
|
+
}, {});
|
|
120
|
+
class KbqScrollbar {
|
|
121
|
+
get element() {
|
|
122
|
+
return this.targetElement.nativeElement;
|
|
123
|
+
}
|
|
124
|
+
constructor(ngZone, targetElement) {
|
|
125
|
+
this.ngZone = ngZone;
|
|
126
|
+
this.targetElement = targetElement;
|
|
127
|
+
this.onInitialize = new EventEmitter();
|
|
128
|
+
/** Event triggered when options or event listeners updated */
|
|
129
|
+
this.onUpdate = new EventEmitter();
|
|
130
|
+
/** Event triggered when scrollbar instance destroyed */
|
|
131
|
+
this.onDestroy = new EventEmitter();
|
|
132
|
+
this.onScroll = new EventEmitter();
|
|
133
|
+
}
|
|
134
|
+
ngAfterViewInit() {
|
|
135
|
+
if (this.element && this.contentElement.nativeElement) {
|
|
136
|
+
this.kbqScrollbarDirective?.initialize(this.initializationTarget || {
|
|
137
|
+
target: this.targetElement.nativeElement,
|
|
138
|
+
elements: {
|
|
139
|
+
viewport: this.contentElement.nativeElement,
|
|
140
|
+
content: this.contentElement.nativeElement
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
ngOnDestroy() {
|
|
146
|
+
this.kbqScrollbarDirective?.scrollbarInstance?.destroy();
|
|
147
|
+
}
|
|
148
|
+
/** Wrapper function for native scroll */
|
|
149
|
+
scrollTo(options) {
|
|
150
|
+
this.contentElement.nativeElement.scroll(options);
|
|
151
|
+
}
|
|
152
|
+
mergeEvents() {
|
|
153
|
+
const defaultListeners = {
|
|
154
|
+
initialized: (...args) => this.dispatchEventIfHasObservers(this.onInitialize, args),
|
|
155
|
+
updated: (...args) => this.dispatchEventIfHasObservers(this.onUpdate, args),
|
|
156
|
+
destroyed: (...args) => this.dispatchEventIfHasObservers(this.onDestroy, args),
|
|
157
|
+
scroll: (...args) => this.dispatchEventIfHasObservers(this.onScroll, args),
|
|
158
|
+
};
|
|
159
|
+
if (!this.events) {
|
|
160
|
+
return defaultListeners;
|
|
161
|
+
}
|
|
162
|
+
// merge default listeners with custom listeners in case of Input binding
|
|
163
|
+
return {
|
|
164
|
+
...defaultListeners,
|
|
165
|
+
...filterEvents(this.events, defaultListeners),
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
dispatchEventIfHasObservers(eventEmitter, args) {
|
|
169
|
+
// `observed` is available since RxJS@7.2 because `observers` is being deprecated.
|
|
170
|
+
if (eventEmitter.observed || eventEmitter.observers.length > 0) {
|
|
171
|
+
// This is required to re-enter the Angular zone to call the event handler in the Angular
|
|
172
|
+
// zone too. This will not re-enter the Angular zone if emitter doesn't have any observers,
|
|
173
|
+
// for instance, it's being listened: `<overlay-scrollbars (osInitialized)="..."`.
|
|
174
|
+
// Events are dispatched outside of the Angular zone because instance is created in the
|
|
175
|
+
// `<root>` zone
|
|
176
|
+
this.ngZone.run(() => eventEmitter.emit(args));
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqScrollbar, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
180
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqScrollbar, selector: "kbq-scrollbar, [kbq-scrollbar]", inputs: { initializationTarget: "initializationTarget", options: "options", events: "events", defer: "defer" }, outputs: { onInitialize: "onInitialize", onUpdate: "onUpdate", onDestroy: "onDestroy", onScroll: "onScroll" }, host: { attributes: { "data-overlayscrollbars-initialize": "" }, classAttribute: "kbq-scrollbar-component" }, viewQueries: [{ propertyName: "contentElement", first: true, predicate: ["content"], descendants: true }, { propertyName: "kbqScrollbarDirective", first: true, predicate: ["content"], descendants: true, read: KbqScrollbarDirective }], exportAs: ["kbqScrollbar"], ngImport: i0, template: `
|
|
181
|
+
<div
|
|
182
|
+
data-overlayscrollbars-contents=""
|
|
183
|
+
kbqScrollbar
|
|
184
|
+
[options]="options"
|
|
185
|
+
[events]="mergeEvents()"
|
|
186
|
+
[defer]="defer"
|
|
187
|
+
#content>
|
|
188
|
+
<ng-content></ng-content>
|
|
189
|
+
</div>
|
|
190
|
+
`, isInline: true, styles: [".kbq-scrollbar-component .os-scrollbar-vertical{padding:var(--kbq-scrollbar-size-track-padding-vertical, 2px) var(--kbq-scrollbar-size-track-padding-horizontal, 2px);bottom:var(--kbq-scrollbar-size-track-dimension, 16px);width:var(--kbq-scrollbar-size-track-dimension, 16px)}.kbq-scrollbar-component .os-scrollbar-vertical .os-scrollbar-handle{transition:opacity .15s,background-color .15s,border-color .15s,width .15s;border:var(--kbq-scrollbar-size-track-padding-horizontal, 2px) solid;width:100%;min-height:var(--kbq-scrollbar-size-thumb-min-size, 20px)}.kbq-scrollbar-component .os-scrollbar-vertical:hover .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar-vertical:active .os-scrollbar-handle{width:100%}.kbq-scrollbar-component .os-scrollbar-horizontal{padding:var(--kbq-scrollbar-size-track-padding-horizontal, 2px) var(--kbq-scrollbar-size-track-padding-vertical, 2px);right:var(--kbq-scrollbar-size-track-dimension, 16px);height:var(--kbq-scrollbar-size-track-dimension, 16px)}.kbq-scrollbar-component .os-scrollbar-horizontal .os-scrollbar-handle{transition:opacity .15s,background-color .15s,border-color .15s,height .15s;border:var(--kbq-scrollbar-size-track-padding-horizontal, 2px) solid;height:100%;min-width:var(--kbq-scrollbar-size-thumb-min-size, 20px)}.kbq-scrollbar-component .os-scrollbar-horizontal:hover .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar-horizontal:active .os-scrollbar-handle{height:100%}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:before,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track{box-sizing:border-box;border-radius:var(--kbq-scrollbar-size-thumb-inset-border-radius, 8px)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track{border-width:calc((var(--kbq-scrollbar-size-track-dimension, 16px) - var(--kbq-scrollbar-size-thumb-width, 8px)) / 4)!important;transition:opacity .15s,background-color .15s,border-color .15s}.os-size-observer,.os-size-observer-listener{scroll-behavior:auto!important;direction:inherit;pointer-events:none;overflow:hidden;visibility:hidden;box-sizing:border-box}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{writing-mode:horizontal-tb;position:absolute;left:0;top:0}.os-size-observer{z-index:-1;contain:strict;display:flex;flex-direction:row;flex-wrap:nowrap;padding:inherit;border:inherit;box-sizing:inherit;margin:-133px;inset:0;transform:scale(.1)}.os-size-observer:before{content:\"\";flex:none;box-sizing:inherit;padding:10px;width:10px;height:10px}.os-size-observer-appear{animation:os-size-observer-appear-animation 1ms forwards}.os-size-observer-listener{box-sizing:border-box;position:relative;flex:auto;padding:inherit;border:inherit;margin:-133px;transform:scale(10)}.os-size-observer-listener.ltr{margin-right:-266px;margin-left:0}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty:before{content:\"\";width:100%;height:100%}.os-size-observer-listener:empty:before,.os-size-observer-listener>.os-size-observer-listener-item{display:block;position:relative;padding:inherit;border:inherit;box-sizing:content-box;flex:auto}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{right:0;bottom:0;overflow:hidden;direction:ltr;flex:none}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{0%{cursor:auto}to{cursor:none}}.os-trinsic-observer{flex:none;box-sizing:border-box;position:relative;max-width:0;max-height:1px;padding:0;margin:0;border:none;overflow:hidden;z-index:-1;height:0;top:calc(100% + 1px);contain:strict}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}.os-environment{scroll-behavior:auto!important;position:fixed;opacity:0;visibility:hidden;overflow:scroll;height:200px;width:200px;z-index:-1}.os-environment div{width:200%;height:200%;margin:10px 0}.os-environment.os-environment-flexbox-glue{display:flex;flex-direction:row;flex-wrap:nowrap;height:auto;width:auto;min-height:200px;min-width:200px}.os-environment.os-environment-flexbox-glue div{flex:auto;width:auto;height:auto;max-height:100%;max-width:100%;margin:0}.os-environment.os-environment-flexbox-glue-max{max-height:200px}.os-environment.os-environment-flexbox-glue-max div{overflow:visible}.os-environment.os-environment-flexbox-glue-max div:before{content:\"\";display:block;height:999px;width:999px}.os-environment,[data-overlayscrollbars-viewport]{-ms-overflow-style:scrollbar!important}[data-overlayscrollbars-initialize],[data-overlayscrollbars~=scrollbarHidden],[data-overlayscrollbars-viewport~=scrollbarHidden],.os-environment-scrollbar-hidden{scrollbar-width:none!important}[data-overlayscrollbars-initialize]::-webkit-scrollbar,[data-overlayscrollbars-initialize]::-webkit-scrollbar-corner,[data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar-corner,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,.os-environment-scrollbar-hidden::-webkit-scrollbar,.os-environment-scrollbar-hidden::-webkit-scrollbar-corner{-webkit-appearance:none!important;appearance:none!important;display:none!important;width:0!important;height:0!important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}html[data-overlayscrollbars]{box-sizing:border-box;margin:0}html[data-overlayscrollbars~=body],html[data-overlayscrollbars~=body]>body{width:100%;height:100%}html[data-overlayscrollbars~=viewport]>body{overflow:visible}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{display:flex;align-items:stretch!important;flex-direction:row!important;flex-wrap:nowrap!important}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]:before{content:\"\";position:absolute;pointer-events:none;z-index:-1;min-width:1px;min-height:1px;width:0;height:0}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]{box-sizing:inherit;position:relative;flex:auto!important;height:auto;width:100%;min-width:0;padding:0;margin:0;border:none;z-index:0;overflow:hidden}[data-overlayscrollbars~=host],[data-overlayscrollbars~=viewport]{position:relative;overflow:hidden}[data-overlayscrollbars~=overflowVisible],[data-overlayscrollbars-padding~=overflowVisible],[data-overlayscrollbars-viewport~=overflowVisible]{overflow:visible}[data-overlayscrollbars-overflow-x=hidden]{overflow-x:hidden;overflow-y:hidden}[data-overlayscrollbars-overflow-x=scroll]{overflow-x:scroll}[data-overlayscrollbars-overflow-y=scroll]{overflow-y:scroll}[data-overlayscrollbars~=scrollbarPressed],[data-overlayscrollbars~=scrollbarPressed] [data-overlayscrollbars-viewport]{scroll-behavior:auto!important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{display:grid;grid-template:1fr/1fr}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport]{height:auto!important;width:auto!important}.os-scrollbar{box-sizing:border-box;contain:size layout;contain:size layout style;transition:opacity .15s,visibility .15s,top .15s,right .15s,bottom .15s,left .15s;pointer-events:none;position:absolute;opacity:0;visibility:hidden}body>.os-scrollbar{position:fixed;z-index:99999}.os-scrollbar-transitionless{transition:none}.os-scrollbar-track{position:relative;direction:ltr!important;padding:0!important;border:none!important}.os-scrollbar-handle{position:absolute}.os-scrollbar-track,.os-scrollbar-handle{pointer-events:none;width:100%;height:100%}.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{right:auto;left:0}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none!important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0!important;transition:none!important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0}.os-scrollbar-vertical .os-scrollbar-handle{right:0}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{right:auto;left:0}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{top:0;bottom:0}.os-scrollbar .os-scrollbar-handle:before{content:\"\";position:absolute;inset:0;display:block}[data-overlayscrollbars~=updating]>.os-scrollbar,.os-theme-none.os-scrollbar{display:none!important}\n"], dependencies: [{ kind: "directive", type: KbqScrollbarDirective, selector: "[kbqScrollbar]", inputs: ["options", "events", "defer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
191
|
+
}
|
|
192
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqScrollbar, decorators: [{
|
|
193
|
+
type: Component,
|
|
194
|
+
args: [{ selector: 'kbq-scrollbar, [kbq-scrollbar]', exportAs: 'kbqScrollbar', host: {
|
|
195
|
+
'data-overlayscrollbars-initialize': '',
|
|
196
|
+
'class': 'kbq-scrollbar-component'
|
|
197
|
+
}, template: `
|
|
198
|
+
<div
|
|
199
|
+
data-overlayscrollbars-contents=""
|
|
200
|
+
kbqScrollbar
|
|
201
|
+
[options]="options"
|
|
202
|
+
[events]="mergeEvents()"
|
|
203
|
+
[defer]="defer"
|
|
204
|
+
#content>
|
|
205
|
+
<ng-content></ng-content>
|
|
206
|
+
</div>
|
|
207
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".kbq-scrollbar-component .os-scrollbar-vertical{padding:var(--kbq-scrollbar-size-track-padding-vertical, 2px) var(--kbq-scrollbar-size-track-padding-horizontal, 2px);bottom:var(--kbq-scrollbar-size-track-dimension, 16px);width:var(--kbq-scrollbar-size-track-dimension, 16px)}.kbq-scrollbar-component .os-scrollbar-vertical .os-scrollbar-handle{transition:opacity .15s,background-color .15s,border-color .15s,width .15s;border:var(--kbq-scrollbar-size-track-padding-horizontal, 2px) solid;width:100%;min-height:var(--kbq-scrollbar-size-thumb-min-size, 20px)}.kbq-scrollbar-component .os-scrollbar-vertical:hover .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar-vertical:active .os-scrollbar-handle{width:100%}.kbq-scrollbar-component .os-scrollbar-horizontal{padding:var(--kbq-scrollbar-size-track-padding-horizontal, 2px) var(--kbq-scrollbar-size-track-padding-vertical, 2px);right:var(--kbq-scrollbar-size-track-dimension, 16px);height:var(--kbq-scrollbar-size-track-dimension, 16px)}.kbq-scrollbar-component .os-scrollbar-horizontal .os-scrollbar-handle{transition:opacity .15s,background-color .15s,border-color .15s,height .15s;border:var(--kbq-scrollbar-size-track-padding-horizontal, 2px) solid;height:100%;min-width:var(--kbq-scrollbar-size-thumb-min-size, 20px)}.kbq-scrollbar-component .os-scrollbar-horizontal:hover .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar-horizontal:active .os-scrollbar-handle{height:100%}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-handle:before,.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track{box-sizing:border-box;border-radius:var(--kbq-scrollbar-size-thumb-inset-border-radius, 8px)}.kbq-scrollbar-component .os-scrollbar .os-scrollbar-track{border-width:calc((var(--kbq-scrollbar-size-track-dimension, 16px) - var(--kbq-scrollbar-size-thumb-width, 8px)) / 4)!important;transition:opacity .15s,background-color .15s,border-color .15s}.os-size-observer,.os-size-observer-listener{scroll-behavior:auto!important;direction:inherit;pointer-events:none;overflow:hidden;visibility:hidden;box-sizing:border-box}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{writing-mode:horizontal-tb;position:absolute;left:0;top:0}.os-size-observer{z-index:-1;contain:strict;display:flex;flex-direction:row;flex-wrap:nowrap;padding:inherit;border:inherit;box-sizing:inherit;margin:-133px;inset:0;transform:scale(.1)}.os-size-observer:before{content:\"\";flex:none;box-sizing:inherit;padding:10px;width:10px;height:10px}.os-size-observer-appear{animation:os-size-observer-appear-animation 1ms forwards}.os-size-observer-listener{box-sizing:border-box;position:relative;flex:auto;padding:inherit;border:inherit;margin:-133px;transform:scale(10)}.os-size-observer-listener.ltr{margin-right:-266px;margin-left:0}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty:before{content:\"\";width:100%;height:100%}.os-size-observer-listener:empty:before,.os-size-observer-listener>.os-size-observer-listener-item{display:block;position:relative;padding:inherit;border:inherit;box-sizing:content-box;flex:auto}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{right:0;bottom:0;overflow:hidden;direction:ltr;flex:none}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{0%{cursor:auto}to{cursor:none}}.os-trinsic-observer{flex:none;box-sizing:border-box;position:relative;max-width:0;max-height:1px;padding:0;margin:0;border:none;overflow:hidden;z-index:-1;height:0;top:calc(100% + 1px);contain:strict}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{width:1000%;height:1000%;min-height:1px;min-width:1px}.os-environment{scroll-behavior:auto!important;position:fixed;opacity:0;visibility:hidden;overflow:scroll;height:200px;width:200px;z-index:-1}.os-environment div{width:200%;height:200%;margin:10px 0}.os-environment.os-environment-flexbox-glue{display:flex;flex-direction:row;flex-wrap:nowrap;height:auto;width:auto;min-height:200px;min-width:200px}.os-environment.os-environment-flexbox-glue div{flex:auto;width:auto;height:auto;max-height:100%;max-width:100%;margin:0}.os-environment.os-environment-flexbox-glue-max{max-height:200px}.os-environment.os-environment-flexbox-glue-max div{overflow:visible}.os-environment.os-environment-flexbox-glue-max div:before{content:\"\";display:block;height:999px;width:999px}.os-environment,[data-overlayscrollbars-viewport]{-ms-overflow-style:scrollbar!important}[data-overlayscrollbars-initialize],[data-overlayscrollbars~=scrollbarHidden],[data-overlayscrollbars-viewport~=scrollbarHidden],.os-environment-scrollbar-hidden{scrollbar-width:none!important}[data-overlayscrollbars-initialize]::-webkit-scrollbar,[data-overlayscrollbars-initialize]::-webkit-scrollbar-corner,[data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars~=scrollbarHidden]::-webkit-scrollbar-corner,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner,.os-environment-scrollbar-hidden::-webkit-scrollbar,.os-environment-scrollbar-hidden::-webkit-scrollbar-corner{-webkit-appearance:none!important;appearance:none!important;display:none!important;width:0!important;height:0!important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}html[data-overlayscrollbars]{box-sizing:border-box;margin:0}html[data-overlayscrollbars~=body],html[data-overlayscrollbars~=body]>body{width:100%;height:100%}html[data-overlayscrollbars~=viewport]>body{overflow:visible}[data-overlayscrollbars~=host],[data-overlayscrollbars-padding]{display:flex;align-items:stretch!important;flex-direction:row!important;flex-wrap:nowrap!important}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]:before{content:\"\";position:absolute;pointer-events:none;z-index:-1;min-width:1px;min-height:1px;width:0;height:0}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]{box-sizing:inherit;position:relative;flex:auto!important;height:auto;width:100%;min-width:0;padding:0;margin:0;border:none;z-index:0;overflow:hidden}[data-overlayscrollbars~=host],[data-overlayscrollbars~=viewport]{position:relative;overflow:hidden}[data-overlayscrollbars~=overflowVisible],[data-overlayscrollbars-padding~=overflowVisible],[data-overlayscrollbars-viewport~=overflowVisible]{overflow:visible}[data-overlayscrollbars-overflow-x=hidden]{overflow-x:hidden;overflow-y:hidden}[data-overlayscrollbars-overflow-x=scroll]{overflow-x:scroll}[data-overlayscrollbars-overflow-y=scroll]{overflow-y:scroll}[data-overlayscrollbars~=scrollbarPressed],[data-overlayscrollbars~=scrollbarPressed] [data-overlayscrollbars-viewport]{scroll-behavior:auto!important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{display:grid;grid-template:1fr/1fr}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport]{height:auto!important;width:auto!important}.os-scrollbar{box-sizing:border-box;contain:size layout;contain:size layout style;transition:opacity .15s,visibility .15s,top .15s,right .15s,bottom .15s,left .15s;pointer-events:none;position:absolute;opacity:0;visibility:hidden}body>.os-scrollbar{position:fixed;z-index:99999}.os-scrollbar-transitionless{transition:none}.os-scrollbar-track{position:relative;direction:ltr!important;padding:0!important;border:none!important}.os-scrollbar-handle{position:absolute}.os-scrollbar-track,.os-scrollbar-handle{pointer-events:none;width:100%;height:100%}.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track,.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{top:0;right:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{right:auto;left:0}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none!important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0!important;transition:none!important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0}.os-scrollbar-vertical .os-scrollbar-handle{right:0}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{right:auto;left:0}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{top:0;bottom:0}.os-scrollbar .os-scrollbar-handle:before{content:\"\";position:absolute;inset:0;display:block}[data-overlayscrollbars~=updating]>.os-scrollbar,.os-theme-none.os-scrollbar{display:none!important}\n"] }]
|
|
208
|
+
}], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ElementRef }], propDecorators: { contentElement: [{
|
|
209
|
+
type: ViewChild,
|
|
210
|
+
args: ['content']
|
|
211
|
+
}], kbqScrollbarDirective: [{
|
|
212
|
+
type: ViewChild,
|
|
213
|
+
args: ['content', { read: KbqScrollbarDirective }]
|
|
214
|
+
}], initializationTarget: [{
|
|
215
|
+
type: Input
|
|
216
|
+
}], options: [{
|
|
217
|
+
type: Input
|
|
218
|
+
}], events: [{
|
|
219
|
+
type: Input
|
|
220
|
+
}], defer: [{
|
|
221
|
+
type: Input
|
|
222
|
+
}], onInitialize: [{
|
|
223
|
+
type: Output,
|
|
224
|
+
args: ['onInitialize']
|
|
225
|
+
}], onUpdate: [{
|
|
226
|
+
type: Output,
|
|
227
|
+
args: ['onUpdate']
|
|
228
|
+
}], onDestroy: [{
|
|
229
|
+
type: Output,
|
|
230
|
+
args: ['onDestroy']
|
|
231
|
+
}], onScroll: [{
|
|
232
|
+
type: Output,
|
|
233
|
+
args: ['onScroll']
|
|
234
|
+
}] } });
|
|
235
|
+
|
|
236
|
+
class KbqScrollbarModule {
|
|
237
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqScrollbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
238
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.0", ngImport: i0, type: KbqScrollbarModule, declarations: [KbqScrollbar, KbqScrollbarDirective], exports: [KbqScrollbar, KbqScrollbarDirective] }); }
|
|
239
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqScrollbarModule, providers: [KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG_PROVIDER] }); }
|
|
240
|
+
}
|
|
241
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqScrollbarModule, decorators: [{
|
|
242
|
+
type: NgModule,
|
|
243
|
+
args: [{
|
|
244
|
+
imports: [],
|
|
245
|
+
declarations: [KbqScrollbar, KbqScrollbarDirective],
|
|
246
|
+
exports: [KbqScrollbar, KbqScrollbarDirective],
|
|
247
|
+
providers: [KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG_PROVIDER]
|
|
248
|
+
}]
|
|
249
|
+
}] });
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Generated bundle index. Do not edit.
|
|
253
|
+
*/
|
|
254
|
+
|
|
255
|
+
export { KBQ_SCROLLBAR_CONFIG, KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG, KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG_PROVIDER, KbqScrollbar, KbqScrollbarDirective, KbqScrollbarModule };
|
|
256
|
+
//# sourceMappingURL=koobiq-components-scrollbar.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"koobiq-components-scrollbar.mjs","sources":["../../../packages/components/scrollbar/scrollbar.types.ts","../../../packages/components/scrollbar/scrollbar.directive.ts","../../../packages/components/scrollbar/scrollbar.component.ts","../../../packages/components/scrollbar/scrollbar.module.ts","../../../packages/components/scrollbar/koobiq-components-scrollbar.ts"],"sourcesContent":["import {\n EventListeners,\n EventListenerArgs,\n InitializationTarget,\n PartialOptions\n} from 'overlayscrollbars';\nimport { InjectionToken, Provider } from '@angular/core';\n\nexport type KbqScrollbarEvents = EventListeners;\nexport type KbqScrollbarEventListenerArgs = EventListenerArgs;\nexport type KbqScrollbarOptions = PartialOptions;\nexport type KbqScrollbarTarget = InitializationTarget;\n\nexport const KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG: KbqScrollbarOptions = {\n scrollbars: {\n autoHide: 'leave',\n autoHideDelay: 100\n }\n}\n\nexport const KBQ_SCROLLBAR_CONFIG = new InjectionToken<KbqScrollbarOptions>('KBQ_SCROLLBAR_CONFIG');\n\n/** Default scroll behavior */\nexport const KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG_PROVIDER: Provider = {\n provide: KBQ_SCROLLBAR_CONFIG, useValue: KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG\n};\n","import { Directive, Inject, Input, NgZone, OnDestroy } from '@angular/core';\nimport { KBQ_SCROLLBAR_CONFIG, KbqScrollbarEvents, KbqScrollbarOptions, KbqScrollbarTarget } from './scrollbar.types';\nimport { OverlayScrollbars } from 'overlayscrollbars';\n\n\ntype Defer = [\n requestDefer: (callback: () => any, options?: boolean | IdleRequestOptions) => void,\n cancelDefer: () => void\n];\n\nconst createDefer = (): Defer => {\n if (typeof window === 'undefined') {\n // mock ssr calls with \"noop\"\n const noop = () => {};\n return [noop, noop];\n }\n\n let idleId: number;\n let rafId: number;\n\n const { requestIdleCallback, requestAnimationFrame, cancelAnimationFrame, cancelIdleCallback } = window;\n\n const idleSupported = typeof requestIdleCallback === 'function';\n const rIdle = idleSupported ? requestIdleCallback : requestAnimationFrame;\n const cIdle = idleSupported ? cancelIdleCallback : cancelAnimationFrame;\n const clear = () => {\n cIdle(idleId);\n cancelAnimationFrame(rafId);\n };\n\n return [\n (callback, options) => {\n clear();\n idleId = rIdle(\n idleSupported\n ? () => {\n clear();\n // inside idle its best practice to use rAF to change DOM for best performance\n rafId = requestAnimationFrame(callback);\n }\n : callback,\n typeof options === 'object' ? options : { timeout: 2233 }\n );\n },\n clear,\n ];\n};\n\n@Directive({\n selector: '[kbqScrollbar]'\n})\nexport class KbqScrollbarDirective implements OnDestroy {\n private requestDefer: ReturnType<typeof createDefer>[0];\n private cancelDefer: ReturnType<typeof createDefer>[1];\n\n private _options: KbqScrollbarOptions;\n\n @Input()\n set options(value: KbqScrollbarOptions) {\n this._options = value;\n\n if (OverlayScrollbars.valid(this.scrollbarInstance)) {\n this.scrollbarInstance.options(value || {}, true);\n }\n }\n\n /** Scrollbar behavior customization object */\n get options(): KbqScrollbarOptions | undefined {\n return this._options;\n }\n\n private _events?: KbqScrollbarEvents;\n\n @Input()\n set events(value: KbqScrollbarEvents) {\n this._events = value;\n\n if (OverlayScrollbars.valid(this.scrollbarInstance)) {\n this.scrollbarInstance.on(value || {}, true);\n }\n }\n\n get events(): KbqScrollbarEvents | undefined {\n return this._events;\n }\n\n /** Whether to defer the initialization to a point in time when the browser is idle. (or to the next frame if `window.requestIdleCallback` is not supported) */\n @Input('defer')\n defer?: boolean | IdleRequestOptions;\n\n scrollbarInstance?: OverlayScrollbars;\n\n constructor(\n private ngZone: NgZone,\n @Inject(KBQ_SCROLLBAR_CONFIG) private scrollbarConfig?: KbqScrollbarOptions\n ) {\n const [requestDefer, cancelDefer] = createDefer();\n this.requestDefer = requestDefer;\n this.cancelDefer = cancelDefer;\n }\n\n initialize(target: KbqScrollbarTarget) {\n this.ngZone.runOutsideAngular(() => {\n const init = () => {\n this.scrollbarInstance = OverlayScrollbars(\n target,\n this.options || this.scrollbarConfig || {},\n this.events || {}\n );\n };\n\n if (this.defer) {\n this.requestDefer(init, this.defer);\n } else {\n init();\n }\n });\n }\n\n ngOnDestroy() {\n this.cancelDefer();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter, Input, NgZone, OnDestroy,\n Output,\n ViewChild, ViewEncapsulation\n} from '@angular/core';\n\nimport {\n KbqScrollbarEvents,\n KbqScrollbarOptions,\n KbqScrollbarTarget,\n KbqScrollbarEventListenerArgs,\n} from './scrollbar.types';\nimport { KbqScrollbarDirective } from './scrollbar.directive';\n\n\nconst filterEvents = (emits: KbqScrollbarEvents, events: KbqScrollbarEvents) =>\n (Object.keys(emits) as (keyof KbqScrollbarEvents)[]).reduce<KbqScrollbarEvents>(\n <N extends keyof KbqScrollbarEvents>(obj: KbqScrollbarEvents, name: N) => {\n const emitListener = emits[name];\n const eventListener = events[name];\n // merge & check listeners\n obj[name] = [\n emitListener,\n ...(Array.isArray(eventListener) ? eventListener : [eventListener]).filter(Boolean),\n ];\n return obj;\n },\n {}\n );\n\n@Component({\n selector: 'kbq-scrollbar, [kbq-scrollbar]',\n exportAs: 'kbqScrollbar',\n host: {\n 'data-overlayscrollbars-initialize': '',\n 'class': 'kbq-scrollbar-component'\n },\n template: `\n <div\n data-overlayscrollbars-contents=\"\"\n kbqScrollbar\n [options]=\"options\"\n [events]=\"mergeEvents()\"\n [defer]=\"defer\"\n #content>\n <ng-content></ng-content>\n </div>\n `,\n styleUrls: ['./scrollbar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class KbqScrollbar implements AfterViewInit, OnDestroy {\n /** Element that is being overflowed */\n @ViewChild('content') contentElement: ElementRef<HTMLDivElement>;\n @ViewChild('content', { read: KbqScrollbarDirective }) private kbqScrollbarDirective?: KbqScrollbarDirective;\n\n /** Elements scrollbar applied on */\n @Input() initializationTarget?: KbqScrollbarTarget;\n /** Scrollbar behavior customization object */\n @Input() options: KbqScrollbarOptions;\n @Input() events: KbqScrollbarEvents;\n /** Whether to defer the initialization to a point in time when the browser is idle. (or to the next frame if `window.requestIdleCallback` is not supported) */\n @Input() defer?: boolean | IdleRequestOptions;\n\n @Output('onInitialize') onInitialize = new EventEmitter<KbqScrollbarEventListenerArgs['initialized']>();\n /** Event triggered when options or event listeners updated */\n @Output('onUpdate') onUpdate = new EventEmitter<KbqScrollbarEventListenerArgs['updated']>();\n /** Event triggered when scrollbar instance destroyed */\n @Output('onDestroy') onDestroy = new EventEmitter<KbqScrollbarEventListenerArgs['destroyed']>();\n @Output('onScroll') onScroll = new EventEmitter<KbqScrollbarEventListenerArgs['scroll']>();\n\n get element(): HTMLElement {\n return this.targetElement.nativeElement;\n }\n\n constructor(\n private ngZone: NgZone,\n private targetElement: ElementRef<HTMLElement>\n ) {}\n\n ngAfterViewInit() {\n if (this.element && this.contentElement.nativeElement) {\n this.kbqScrollbarDirective?.initialize(\n this.initializationTarget || {\n target: this.targetElement.nativeElement,\n elements: {\n viewport: this.contentElement.nativeElement,\n content: this.contentElement.nativeElement\n }\n });\n }\n }\n\n ngOnDestroy() {\n this.kbqScrollbarDirective?.scrollbarInstance?.destroy();\n }\n\n /** Wrapper function for native scroll */\n scrollTo(options?: ScrollToOptions): void {\n this.contentElement.nativeElement.scroll(options);\n }\n\n mergeEvents(): KbqScrollbarEvents {\n const defaultListeners: KbqScrollbarEvents = {\n initialized: (...args) => this.dispatchEventIfHasObservers(this.onInitialize, args),\n updated: (...args) => this.dispatchEventIfHasObservers(this.onUpdate, args),\n destroyed: (...args) => this.dispatchEventIfHasObservers(this.onDestroy, args),\n scroll: (...args) => this.dispatchEventIfHasObservers(this.onScroll, args),\n };\n\n if (!this.events) {\n return defaultListeners;\n }\n\n // merge default listeners with custom listeners in case of Input binding\n return {\n ...defaultListeners,\n ...filterEvents(this.events, defaultListeners),\n };\n }\n\n private dispatchEventIfHasObservers<T>(eventEmitter: EventEmitter<T>, args: T): void {\n // `observed` is available since RxJS@7.2 because `observers` is being deprecated.\n if ((eventEmitter as any).observed || eventEmitter.observers.length > 0) {\n // This is required to re-enter the Angular zone to call the event handler in the Angular\n // zone too. This will not re-enter the Angular zone if emitter doesn't have any observers,\n // for instance, it's being listened: `<overlay-scrollbars (osInitialized)=\"...\"`.\n // Events are dispatched outside of the Angular zone because instance is created in the\n // `<root>` zone\n this.ngZone.run(() => eventEmitter.emit(args));\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { KbqScrollbar } from './scrollbar.component';\nimport { KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG_PROVIDER } from './scrollbar.types';\nimport { KbqScrollbarDirective } from './scrollbar.directive';\n\n@NgModule({\n imports: [],\n declarations: [KbqScrollbar, KbqScrollbarDirective],\n exports: [KbqScrollbar, KbqScrollbarDirective],\n providers: [KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG_PROVIDER]\n})\nexport class KbqScrollbarModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.KbqScrollbarDirective"],"mappings":"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"}
|