@koobiq/components 17.0.0-rc.1 → 17.0.0-rc.11
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/README.md +1 -2
- package/alert/_alert-theme.scss +48 -24
- package/alert/alert.component.d.ts +23 -3
- package/alert/alert.component.scss +91 -59
- package/alert/public-api.d.ts +1 -1
- package/autocomplete/_autocomplete-theme.scss +3 -3
- package/autocomplete/autocomplete.scss +8 -18
- package/autocomplete/public-api.d.ts +2 -2
- package/badge/_badge-theme.scss +30 -45
- package/badge/badge.component.scss +18 -39
- package/badge/public-api.d.ts +1 -1
- package/button/_button-base.scss +7 -14
- package/button/_button-theme.scss +30 -86
- package/button/button.component.d.ts +4 -3
- package/button/button.scss +7 -17
- package/button/public-api.d.ts +1 -1
- package/button-toggle/_button-toggle-theme.scss +19 -20
- package/button-toggle/button-toggle.scss +17 -44
- package/button-toggle/public-api.d.ts +1 -1
- package/card/_card-theme.scss +18 -17
- package/card/card.component.d.ts +1 -1
- package/card/card.component.scss +3 -6
- package/card/public-api.d.ts +1 -1
- package/checkbox/_checkbox-theme.scss +50 -50
- package/checkbox/checkbox.scss +31 -35
- package/code-block/README.md +18 -14
- package/code-block/_code-block-theme.scss +53 -23
- package/code-block/actionbar.component.scss +11 -25
- package/code-block/code-block.component.d.ts +12 -4
- package/code-block/code-block.scss +62 -77
- package/code-block/public-api.d.ts +1 -1
- package/core/animation/index.d.ts +1 -1
- package/core/common-behaviors/index.d.ts +3 -3
- package/core/datetime/index.d.ts +1 -1
- package/core/form-field/form-field-ref.d.ts +2 -0
- package/core/formatters/index.d.ts +1 -1
- package/core/forms/_forms-theme.scss +4 -8
- package/core/forms/_forms.scss +13 -43
- package/core/forms/index.d.ts +1 -1
- package/core/locales/formatters.d.ts +96 -0
- package/core/locales/index.d.ts +1 -1
- package/core/locales/locale-service.d.ts +97 -0
- package/core/option/_optgroup-theme.scss +4 -6
- package/core/option/_option-action-theme.scss +8 -11
- package/core/option/_option-theme.scss +15 -20
- package/core/option/index.d.ts +2 -2
- package/core/option/optgroup.scss +2 -3
- package/core/option/option.scss +0 -1
- package/core/pop-up/_pop-up.scss +0 -1
- package/core/pop-up/pop-up-trigger.d.ts +4 -2
- package/core/public-api.d.ts +3 -3
- package/core/select/common.d.ts +35 -0
- package/core/select/constants.d.ts +1 -1
- package/core/select/index.d.ts +3 -2
- package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +15 -19
- package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +9 -9
- package/core/services/theme.service.d.ts +3 -2
- package/core/styles/_core.scss +0 -1
- package/core/styles/_koobiq-theme.scss +5 -3
- package/core/styles/common/_animation.scss +9 -8
- package/core/styles/common/_button.scss +0 -2
- package/core/styles/common/_clearfix.scss +1 -1
- package/core/styles/common/_groups.scss +3 -9
- package/core/styles/common/_list.scss +24 -66
- package/core/styles/common/_overlay.scss +4 -3
- package/core/styles/common/_popup.scss +5 -5
- package/core/styles/common/_rtl.scss +4 -4
- package/core/styles/common/_select.scss +48 -42
- package/core/styles/common/_tokens.scss +47 -0
- package/core/styles/functions/_number.scss +14 -19
- package/core/styles/functions/_string.scss +18 -19
- package/core/styles/functions/_timing.scss +24 -24
- package/core/styles/theming/_components-theming.scss +1322 -1326
- package/core/styles/theming/_scrollbar-theme.scss +8 -5
- package/core/styles/theming/_theming.scss +26 -29
- package/core/styles/typography/_typography-utils.scss +1 -2
- package/core/styles/typography/_typography.scss +138 -85
- package/core/styles/visual/_body.scss +0 -2
- package/core/styles/visual/_layout.scss +44 -38
- package/core/utils/data-size/config.d.ts +20 -2
- package/core/utils/data-size/data-size.pipe.d.ts +10 -9
- package/core/utils/data-size/index.d.ts +1 -1
- package/core/utils/data-size/size.d.ts +3 -4
- package/core/utils/public-api.d.ts +1 -1
- package/datepicker/_datepicker-theme.scss +38 -40
- package/datepicker/calendar-body.scss +3 -11
- package/datepicker/calendar-header.scss +4 -10
- package/datepicker/calendar.scss +5 -17
- package/datepicker/datepicker-content.scss +5 -15
- package/datepicker/datepicker-input.directive.d.ts +1 -0
- package/datepicker/datepicker-input.scss +0 -5
- package/datepicker/datepicker-toggle.scss +3 -3
- package/datepicker/public-api.d.ts +4 -4
- package/divider/_divider-theme.scss +2 -1
- package/divider/divider.scss +9 -26
- package/dl/_dl-theme.scss +5 -8
- package/dl/dl.scss +5 -20
- package/dl/public-api.d.ts +1 -1
- package/dropdown/_dropdown-theme.scss +30 -22
- package/dropdown/dropdown-content.directive.d.ts +1 -1
- package/dropdown/dropdown-item.component.d.ts +1 -1
- package/dropdown/dropdown-item.scss +12 -16
- package/dropdown/dropdown-trigger.directive.d.ts +2 -2
- package/dropdown/dropdown.component.d.ts +1 -1
- package/dropdown/dropdown.scss +6 -15
- package/dropdown/public-api.d.ts +5 -5
- package/ellipsis-center/ellipsis-center.directive.d.ts +4 -3
- package/empty-state/README.md +0 -0
- package/empty-state/_empty-state-theme.scss +56 -0
- package/empty-state/empty-state.component.d.ts +31 -0
- package/empty-state/empty-state.module.d.ts +10 -0
- package/empty-state/empty-state.scss +81 -0
- package/empty-state/index.d.ts +1 -0
- package/empty-state/public-api.d.ts +2 -0
- package/esm2022/alert/alert.component.mjs +52 -5
- package/esm2022/alert/alert.module.mjs +1 -1
- package/esm2022/alert/public-api.mjs +2 -2
- package/esm2022/autocomplete/autocomplete-origin.directive.mjs +1 -1
- package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +23 -31
- package/esm2022/autocomplete/autocomplete.component.mjs +14 -9
- package/esm2022/autocomplete/autocomplete.module.mjs +3 -3
- package/esm2022/autocomplete/public-api.mjs +3 -3
- package/esm2022/badge/badge.component.mjs +8 -6
- package/esm2022/badge/badge.module.mjs +1 -1
- package/esm2022/badge/public-api.mjs +2 -2
- package/esm2022/button/button.component.mjs +20 -10
- package/esm2022/button/button.module.mjs +1 -1
- package/esm2022/button/public-api.mjs +2 -2
- package/esm2022/button-toggle/button-toggle.component.mjs +24 -16
- package/esm2022/button-toggle/button-toggle.module.mjs +1 -1
- package/esm2022/button-toggle/public-api.mjs +2 -2
- package/esm2022/card/card.component.mjs +2 -2
- package/esm2022/card/card.module.mjs +1 -1
- package/esm2022/card/public-api.mjs +2 -2
- package/esm2022/checkbox/checkbox-config.mjs +1 -1
- package/esm2022/checkbox/checkbox-module.mjs +1 -1
- package/esm2022/checkbox/checkbox-required-validator.mjs +1 -1
- package/esm2022/checkbox/checkbox.mjs +6 -6
- package/esm2022/checkbox/public-api.mjs +1 -1
- package/esm2022/code-block/actionbar.component.mjs +4 -6
- package/esm2022/code-block/code-block.component.mjs +64 -17
- package/esm2022/code-block/code-block.module.mjs +9 -5
- package/esm2022/code-block/public-api.mjs +2 -2
- package/esm2022/core/animation/fade-animations.mjs +1 -1
- package/esm2022/core/animation/index.mjs +2 -2
- package/esm2022/core/animation/select-animations.mjs +5 -5
- package/esm2022/core/common-behaviors/color.mjs +4 -2
- package/esm2022/core/common-behaviors/common-module.mjs +2 -2
- package/esm2022/core/common-behaviors/constructor.mjs +1 -1
- package/esm2022/core/common-behaviors/disabled.mjs +1 -1
- package/esm2022/core/common-behaviors/error-state.mjs +1 -1
- package/esm2022/core/common-behaviors/index.mjs +4 -4
- package/esm2022/core/common-behaviors/tabindex.mjs +1 -1
- package/esm2022/core/datetime/date-adapter.mjs +1 -1
- package/esm2022/core/datetime/date-formats.mjs +1 -1
- package/esm2022/core/datetime/index.mjs +2 -2
- package/esm2022/core/error/error-options.mjs +1 -1
- package/esm2022/core/form-field/form-field-ref.mjs +1 -1
- package/esm2022/core/formatters/date/formatter.mjs +1 -1
- package/esm2022/core/formatters/date/formatter.pipe.mjs +1 -1
- package/esm2022/core/formatters/index.mjs +2 -2
- package/esm2022/core/formatters/number/formatter.mjs +19 -20
- package/esm2022/core/forms/forms-module.mjs +1 -1
- package/esm2022/core/forms/forms.directive.mjs +1 -1
- package/esm2022/core/forms/index.mjs +2 -2
- package/esm2022/core/highlight/highlight.pipe.mjs +1 -1
- package/esm2022/core/highlight/index.mjs +1 -1
- package/esm2022/core/label/label-options.mjs +1 -1
- package/esm2022/core/line/line.mjs +2 -2
- package/esm2022/core/locales/en-US.mjs +1 -1
- package/esm2022/core/locales/es-LA.mjs +1 -1
- package/esm2022/core/locales/fa-IR.mjs +1 -1
- package/esm2022/core/locales/formatters.mjs +97 -1
- package/esm2022/core/locales/index.mjs +2 -2
- package/esm2022/core/locales/locale-service.mjs +10 -4
- package/esm2022/core/locales/locale-service.module.mjs +1 -1
- package/esm2022/core/locales/pt-BR.mjs +1 -1
- package/esm2022/core/locales/ru-RU.mjs +3 -3
- package/esm2022/core/locales/zh-CN.mjs +1 -1
- package/esm2022/core/option/action.mjs +20 -12
- package/esm2022/core/option/index.mjs +3 -3
- package/esm2022/core/option/optgroup.mjs +4 -4
- package/esm2022/core/option/option-module.mjs +1 -1
- package/esm2022/core/option/option.mjs +13 -7
- package/esm2022/core/overlay/overlay-position-map.mjs +1 -1
- package/esm2022/core/pop-up/pop-up-trigger.mjs +29 -30
- package/esm2022/core/pop-up/pop-up.mjs +1 -1
- package/esm2022/core/public-api.mjs +4 -4
- package/esm2022/core/select/common.mjs +120 -0
- package/esm2022/core/select/constants.mjs +1 -1
- package/esm2022/core/select/index.mjs +4 -3
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +1 -1
- package/esm2022/core/services/measure-scrollbar.service.mjs +1 -1
- package/esm2022/core/services/theme.service.mjs +5 -4
- package/esm2022/core/title/title-text-ref.mjs +1 -1
- package/esm2022/core/utils/data-size/config.mjs +5 -17
- package/esm2022/core/utils/data-size/data-size.pipe.mjs +35 -22
- package/esm2022/core/utils/data-size/index.mjs +2 -2
- package/esm2022/core/utils/data-size/size.mjs +7 -14
- package/esm2022/core/utils/public-api.mjs +2 -2
- package/esm2022/core/utils/utils.mjs +4 -2
- package/esm2022/core/validation/validation.mjs +4 -2
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/calendar-body.component.mjs +3 -3
- package/esm2022/datepicker/calendar-header.component.mjs +8 -7
- package/esm2022/datepicker/calendar.component.mjs +6 -6
- package/esm2022/datepicker/datepicker-animations.mjs +2 -2
- package/esm2022/datepicker/datepicker-errors.mjs +1 -1
- package/esm2022/datepicker/datepicker-input.directive.mjs +42 -34
- package/esm2022/datepicker/datepicker-intl.mjs +1 -1
- package/esm2022/datepicker/datepicker-module.mjs +2 -2
- package/esm2022/datepicker/datepicker-toggle.component.mjs +11 -10
- package/esm2022/datepicker/datepicker.component.mjs +15 -15
- package/esm2022/datepicker/month-view.component.mjs +14 -13
- package/esm2022/datepicker/public-api.mjs +5 -5
- package/esm2022/divider/divider.component.mjs +1 -1
- package/esm2022/divider/divider.module.mjs +1 -1
- package/esm2022/dl/dl.component.mjs +1 -1
- package/esm2022/dl/dl.module.mjs +2 -2
- package/esm2022/dl/public-api.mjs +2 -2
- package/esm2022/dropdown/dropdown-animations.mjs +5 -5
- package/esm2022/dropdown/dropdown-content.directive.mjs +3 -3
- package/esm2022/dropdown/dropdown-item.component.mjs +5 -5
- package/esm2022/dropdown/dropdown-trigger.directive.mjs +25 -31
- package/esm2022/dropdown/dropdown.component.mjs +10 -18
- package/esm2022/dropdown/dropdown.module.mjs +1 -1
- package/esm2022/dropdown/dropdown.types.mjs +1 -1
- package/esm2022/dropdown/public-api.mjs +6 -6
- package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +9 -7
- package/esm2022/empty-state/empty-state.component.mjs +104 -0
- package/esm2022/empty-state/empty-state.module.mjs +50 -0
- package/esm2022/empty-state/index.mjs +2 -0
- package/esm2022/empty-state/koobiq-components-empty-state.mjs +5 -0
- package/esm2022/empty-state/public-api.mjs +3 -0
- package/esm2022/file-upload/file-drop.mjs +2 -2
- package/esm2022/file-upload/file-upload.mjs +1 -1
- package/esm2022/file-upload/file-upload.module.mjs +12 -6
- package/esm2022/file-upload/index.mjs +1 -1
- package/esm2022/file-upload/multiple-file-upload.component.mjs +96 -29
- package/esm2022/file-upload/public-api.mjs +2 -2
- package/esm2022/file-upload/single-file-upload.component.mjs +100 -25
- package/esm2022/form-field/cleaner.mjs +13 -3
- package/esm2022/form-field/form-field-control.mjs +1 -1
- package/esm2022/form-field/form-field-errors.mjs +1 -1
- package/esm2022/form-field/form-field.mjs +8 -13
- package/esm2022/form-field/form-field.module.mjs +1 -1
- package/esm2022/form-field/hint.mjs +4 -4
- package/esm2022/form-field/password-hint.mjs +15 -15
- package/esm2022/form-field/password-toggle.mjs +14 -15
- package/esm2022/form-field/prefix.mjs +1 -1
- package/esm2022/form-field/public-api.mjs +4 -4
- package/esm2022/form-field/stepper.mjs +33 -29
- package/esm2022/form-field/suffix.mjs +1 -1
- package/esm2022/form-field/validate.directive.mjs +6 -5
- package/esm2022/icon/icon-button.component.mjs +2 -2
- package/esm2022/icon/icon-item.component.mjs +16 -6
- package/esm2022/icon/icon.component.mjs +3 -4
- package/esm2022/icon/icon.module.mjs +1 -1
- package/esm2022/icon/public-api.mjs +3 -3
- package/esm2022/input/input-number-validators.mjs +1 -1
- package/esm2022/input/input-number.mjs +35 -36
- package/esm2022/input/input-password.mjs +13 -7
- package/esm2022/input/input-value-accessor.mjs +1 -1
- package/esm2022/input/input.mjs +13 -7
- package/esm2022/input/input.module.mjs +1 -1
- package/esm2022/input/public-api.mjs +3 -3
- package/esm2022/link/link.component.mjs +2 -2
- package/esm2022/link/link.module.mjs +1 -1
- package/esm2022/link/public-api.mjs +2 -2
- package/esm2022/list/list-selection.component.mjs +34 -36
- package/esm2022/list/list.component.mjs +3 -3
- package/esm2022/list/list.module.mjs +2 -2
- package/esm2022/list/public-api.mjs +3 -3
- package/esm2022/loader-overlay/loader-overlay.component.mjs +4 -4
- package/esm2022/loader-overlay/loader-overlay.module.mjs +1 -1
- package/esm2022/loader-overlay/public-api.mjs +2 -2
- package/esm2022/markdown/markdown.component.mjs +22 -8
- package/esm2022/markdown/markdown.module.mjs +1 -1
- package/esm2022/markdown/markdown.service.mjs +1 -1
- package/esm2022/modal/css-unit.pipe.mjs +1 -1
- package/esm2022/modal/modal-control.service.mjs +3 -2
- package/esm2022/modal/modal-ref.class.mjs +1 -1
- package/esm2022/modal/modal-util.mjs +1 -1
- package/esm2022/modal/modal.component.mjs +54 -32
- package/esm2022/modal/modal.directive.mjs +27 -11
- package/esm2022/modal/modal.module.mjs +2 -2
- package/esm2022/modal/modal.service.mjs +3 -2
- package/esm2022/modal/modal.type.mjs +1 -1
- package/esm2022/modal/public-api.mjs +3 -3
- package/esm2022/navbar/index.mjs +1 -1
- package/esm2022/navbar/navbar-item.component.mjs +47 -38
- package/esm2022/navbar/navbar.component.mjs +19 -28
- package/esm2022/navbar/navbar.module.mjs +2 -2
- package/esm2022/navbar/public-api.mjs +3 -3
- package/esm2022/navbar/vertical-navbar.component.mjs +17 -18
- package/esm2022/popover/popover-animations.mjs +1 -1
- package/esm2022/popover/popover-confirm.component.mjs +3 -3
- package/esm2022/popover/popover.component.mjs +5 -5
- package/esm2022/popover/popover.module.mjs +1 -1
- package/esm2022/popover/public-api.mjs +3 -3
- package/esm2022/progress-bar/progress-bar.component.mjs +4 -4
- package/esm2022/progress-bar/progress-bar.module.mjs +2 -2
- package/esm2022/progress-bar/public-api.mjs +2 -2
- package/esm2022/progress-spinner/progress-spinner.component.mjs +4 -4
- package/esm2022/progress-spinner/progress-spinner.module.mjs +1 -1
- package/esm2022/progress-spinner/public-api.mjs +2 -2
- package/esm2022/radio/public-api.mjs +2 -2
- package/esm2022/radio/radio.component.mjs +9 -10
- package/esm2022/radio/radio.module.mjs +1 -1
- package/esm2022/risk-level/public-api.mjs +2 -2
- package/esm2022/risk-level/risk-level.component.mjs +1 -1
- package/esm2022/risk-level/risk-level.module.mjs +1 -1
- package/esm2022/scrollbar/public-api.mjs +2 -2
- package/esm2022/scrollbar/scrollbar.component.mjs +15 -13
- package/esm2022/scrollbar/scrollbar.directive.mjs +3 -3
- package/esm2022/scrollbar/scrollbar.module.mjs +2 -2
- package/esm2022/scrollbar/scrollbar.types.mjs +3 -2
- package/esm2022/select/public-api.mjs +3 -3
- package/esm2022/select/select-option.directive.mjs +14 -9
- package/esm2022/select/select.component.mjs +92 -172
- package/esm2022/select/select.module.mjs +28 -28
- package/esm2022/sidebar/public-api.mjs +2 -2
- package/esm2022/sidebar/sidebar-animations.mjs +1 -1
- package/esm2022/sidebar/sidebar.component.mjs +3 -3
- package/esm2022/sidebar/sidebar.module.mjs +1 -1
- package/esm2022/sidepanel/public-api.mjs +4 -4
- package/esm2022/sidepanel/sidepanel-animations.mjs +7 -3
- package/esm2022/sidepanel/sidepanel-config.mjs +1 -1
- package/esm2022/sidepanel/sidepanel-container.component.mjs +4 -4
- package/esm2022/sidepanel/sidepanel-directives.mjs +30 -16
- package/esm2022/sidepanel/sidepanel-ref.mjs +10 -4
- package/esm2022/sidepanel/sidepanel.module.mjs +1 -1
- package/esm2022/sidepanel/sidepanel.service.mjs +11 -14
- package/esm2022/splitter/public-api.mjs +2 -2
- package/esm2022/splitter/splitter.component.mjs +45 -35
- package/esm2022/splitter/splitter.module.mjs +1 -1
- package/esm2022/table/public-api.mjs +2 -2
- package/esm2022/table/table.component.mjs +29 -6
- package/esm2022/table/table.module.mjs +14 -6
- package/esm2022/tabs/paginated-tab-header.mjs +8 -11
- package/esm2022/tabs/public-api.mjs +6 -6
- package/esm2022/tabs/tab-body.component.mjs +9 -9
- package/esm2022/tabs/tab-content.directive.mjs +1 -1
- package/esm2022/tabs/tab-group.component.mjs +61 -21
- package/esm2022/tabs/tab-header.component.mjs +4 -4
- package/esm2022/tabs/tab-label-wrapper.directive.mjs +1 -1
- package/esm2022/tabs/tab-label.directive.mjs +1 -1
- package/esm2022/tabs/tab-nav-bar/index.mjs +1 -1
- package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +4 -4
- package/esm2022/tabs/tab.component.mjs +4 -6
- package/esm2022/tabs/tabs-animations.mjs +1 -1
- package/esm2022/tabs/tabs.module.mjs +2 -2
- package/esm2022/tags/public-api.mjs +5 -5
- package/esm2022/tags/tag-default-options.mjs +1 -1
- package/esm2022/tags/tag-input.mjs +26 -14
- package/esm2022/tags/tag-list.component.mjs +14 -20
- package/esm2022/tags/tag-text-control.mjs +1 -1
- package/esm2022/tags/tag.component.mjs +6 -8
- package/esm2022/tags/tag.module.mjs +9 -5
- package/esm2022/textarea/index.mjs +1 -1
- package/esm2022/textarea/textarea.component.mjs +15 -15
- package/esm2022/textarea/textarea.module.mjs +1 -1
- package/esm2022/timepicker/public-api.mjs +2 -2
- package/esm2022/timepicker/timepicker.constants.mjs +6 -1
- package/esm2022/timepicker/timepicker.directive.mjs +72 -28
- package/esm2022/timepicker/timepicker.module.mjs +1 -1
- package/esm2022/timezone/cities-by-filter.pipe.mjs +1 -1
- package/esm2022/timezone/timezone-option.component.mjs +12 -11
- package/esm2022/timezone/timezone-option.directive.mjs +9 -7
- package/esm2022/timezone/timezone-select.component.mjs +7 -7
- package/esm2022/timezone/timezone.module.mjs +1 -1
- package/esm2022/timezone/timezone.utils.mjs +5 -9
- package/esm2022/timezone/utc-offset.pipe.mjs +1 -1
- package/esm2022/title/public-api.mjs +2 -2
- package/esm2022/title/title.directive.mjs +11 -8
- package/esm2022/title/title.module.mjs +1 -1
- package/esm2022/toast/public-api.mjs +4 -4
- package/esm2022/toast/toast-animations.mjs +2 -2
- package/esm2022/toast/toast-container.component.mjs +5 -6
- package/esm2022/toast/toast.component.mjs +6 -6
- package/esm2022/toast/toast.module.mjs +1 -1
- package/esm2022/toast/toast.service.mjs +26 -37
- package/esm2022/toast/toast.type.mjs +3 -1
- package/esm2022/toggle/public-api.mjs +2 -2
- package/esm2022/toggle/toggle.component.mjs +17 -9
- package/esm2022/toggle/toggle.module.mjs +1 -1
- package/esm2022/tooltip/public-api.mjs +2 -2
- package/esm2022/tooltip/tooltip.animations.mjs +1 -1
- package/esm2022/tooltip/tooltip.component.mjs +32 -16
- package/esm2022/tooltip/tooltip.module.mjs +2 -2
- package/esm2022/tree/control/base-tree-control.mjs +1 -1
- package/esm2022/tree/control/flat-tree-control.filters.mjs +4 -7
- package/esm2022/tree/control/flat-tree-control.mjs +4 -7
- 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 +3 -8
- package/esm2022/tree/data-source/nested-data-source.mjs +2 -3
- package/esm2022/tree/node.mjs +1 -1
- package/esm2022/tree/outlet.mjs +1 -1
- package/esm2022/tree/padding.directive.mjs +5 -6
- package/esm2022/tree/public-api.mjs +11 -11
- package/esm2022/tree/toggle.mjs +8 -5
- package/esm2022/tree/tree-base.mjs +4 -4
- package/esm2022/tree/tree-errors.mjs +1 -1
- package/esm2022/tree/tree-option.component.mjs +9 -13
- package/esm2022/tree/tree-selection.component.mjs +19 -33
- package/esm2022/tree/tree.mjs +7 -3
- package/esm2022/tree/tree.module.mjs +4 -4
- package/esm2022/tree-select/public-api.mjs +2 -2
- package/esm2022/tree-select/tree-select.component.mjs +73 -98
- package/esm2022/tree-select/tree-select.module.mjs +31 -11
- package/fesm2022/koobiq-components-alert.mjs +55 -8
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs +58 -61
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +10 -8
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +28 -20
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +22 -12
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-card.mjs +2 -2
- package/fesm2022/koobiq-components-card.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +3 -3
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +75 -27
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +623 -397
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +101 -90
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs.map +1 -1
- package/fesm2022/koobiq-components-dl.mjs +3 -3
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +127 -141
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +5 -4
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-empty-state.mjs +157 -0
- package/fesm2022/koobiq-components-empty-state.mjs.map +1 -0
- package/fesm2022/koobiq-components-file-upload.mjs +207 -62
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +88 -81
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +17 -8
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +62 -51
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-link.mjs +1 -1
- package/fesm2022/koobiq-components-link.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +39 -41
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +7 -7
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +20 -6
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +88 -49
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +84 -85
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +12 -12
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +5 -5
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +5 -5
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +11 -12
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-risk-level.mjs +2 -2
- package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
- package/fesm2022/koobiq-components-scrollbar.mjs +17 -14
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +136 -212
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +3 -3
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +108 -87
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +46 -36
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +42 -11
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +87 -52
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +53 -46
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +13 -13
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +79 -30
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +23 -25
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +13 -10
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +86 -95
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +17 -9
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +33 -18
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +110 -114
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +509 -533
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/_file-upload-theme.scss +124 -73
- package/file-upload/file-upload.module.d.ts +11 -10
- package/file-upload/file-upload.scss +0 -6
- package/file-upload/multiple-file-upload.component.d.ts +37 -7
- package/file-upload/multiple-file-upload.component.scss +50 -120
- package/file-upload/public-api.d.ts +1 -1
- package/file-upload/single-file-upload.component.d.ts +37 -7
- package/file-upload/single-file-upload.component.scss +12 -33
- package/form-field/_form-field-theme.scss +46 -36
- package/form-field/_hint-theme.scss +15 -20
- package/form-field/cleaner.scss +3 -9
- package/form-field/form-field.scss +23 -26
- package/form-field/hint.scss +5 -8
- package/form-field/password-toggle.d.ts +3 -2
- package/form-field/password-toggle.scss +3 -10
- package/form-field/public-api.d.ts +3 -3
- package/form-field/stepper.scss +4 -11
- package/icon/_icon-button-theme.scss +47 -36
- package/icon/_icon-item-theme.scss +47 -26
- package/icon/_icon-theme.scss +12 -14
- package/icon/icon-button.scss +5 -20
- package/icon/icon-item.component.d.ts +3 -1
- package/icon/icon-item.scss +10 -8
- package/icon/icon.scss +0 -6
- package/icon/public-api.d.ts +2 -2
- package/input/_input-theme.scss +6 -4
- package/input/input.scss +11 -10
- package/input/public-api.d.ts +2 -2
- package/link/_link-theme.scss +32 -49
- package/link/link.component.d.ts +1 -1
- package/link/public-api.d.ts +1 -1
- package/list/_list-theme.scss +21 -19
- package/list/list-selection.component.d.ts +2 -2
- package/list/list.scss +2 -6
- package/list/public-api.d.ts +2 -2
- package/loader-overlay/_loader-overlay-theme.scss +17 -18
- package/loader-overlay/loader-overlay.scss +9 -33
- package/loader-overlay/public-api.d.ts +1 -1
- package/markdown/_markdown-theme.scss +47 -47
- package/markdown/markdown.scss +41 -91
- package/modal/README.md +4 -3
- package/modal/_modal-animation.scss +0 -1
- package/modal/_modal-confirm.scss +2 -7
- package/modal/_modal-theme.scss +11 -13
- package/modal/modal.component.d.ts +1 -1
- package/modal/modal.directive.d.ts +3 -3
- package/modal/modal.scss +15 -31
- package/modal/modal.type.d.ts +2 -2
- package/modal/public-api.d.ts +2 -2
- package/navbar/README.md +21 -20
- package/navbar/_navbar-item_horizontal.scss +40 -33
- package/navbar/_navbar-item_vertical.scss +31 -33
- package/navbar/_navbar-theme.scss +20 -24
- package/navbar/navbar-brand.scss +24 -27
- package/navbar/navbar-divider.scss +4 -8
- package/navbar/navbar-item.component.d.ts +4 -4
- package/navbar/navbar-item.scss +20 -15
- package/navbar/navbar.scss +2 -6
- package/navbar/public-api.d.ts +2 -2
- package/navbar/vertical-navbar.scss +4 -6
- package/package.json +17 -10
- package/popover/README.md +18 -14
- package/popover/_popover-theme.scss +9 -17
- package/popover/popover.component.d.ts +1 -1
- package/popover/popover.scss +15 -29
- package/popover/public-api.d.ts +2 -2
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/progress-bar/_progress-bar-theme.scss +7 -11
- package/progress-bar/progress-bar.scss +6 -19
- package/progress-bar/public-api.d.ts +1 -1
- package/progress-spinner/_progress-spinner-theme.scss +6 -8
- package/progress-spinner/progress-spinner.scss +8 -18
- package/progress-spinner/public-api.d.ts +1 -1
- package/radio/_radio-theme.scss +37 -37
- package/radio/public-api.d.ts +1 -1
- package/radio/radio.scss +35 -40
- package/risk-level/_risk-level-theme.scss +25 -31
- package/risk-level/public-api.d.ts +1 -1
- package/risk-level/risk-level.component.scss +4 -10
- package/schematics/collection.json +11 -0
- package/schematics/ng-add/index.js +70 -0
- package/schematics/ng-add/schema.json +15 -0
- package/scrollbar/_scrollbar-component-theme.scss +15 -19
- package/scrollbar/public-api.d.ts +1 -1
- package/scrollbar/scrollbar.component.scss +68 -63
- package/scrollbar/scrollbar.directive.d.ts +1 -1
- package/scrollbar/scrollbar.types.d.ts +1 -1
- package/select/_select-theme.scss +14 -16
- package/select/public-api.d.ts +2 -2
- package/select/select-option.directive.d.ts +3 -2
- package/select/select.component.d.ts +12 -33
- package/select/select.module.d.ts +1 -1
- package/select/select.scss +3 -11
- package/sidebar/public-api.d.ts +1 -1
- package/sidepanel/_sidepanel-theme.scss +8 -10
- package/sidepanel/public-api.d.ts +3 -3
- package/sidepanel/sidepanel.scss +20 -37
- package/splitter/_splitter-theme.scss +5 -6
- package/splitter/public-api.d.ts +1 -1
- package/splitter/splitter.component.d.ts +10 -5
- package/splitter/splitter.scss +0 -1
- package/table/_table-theme.scss +16 -15
- package/table/public-api.d.ts +1 -1
- package/table/table.component.d.ts +8 -1
- package/table/table.module.d.ts +1 -1
- package/table/table.scss +41 -42
- package/tabs/_tabs-common.scss +13 -15
- package/tabs/_tabs-theme.scss +76 -44
- package/tabs/paginated-tab-header.d.ts +1 -1
- package/tabs/public-api.d.ts +5 -5
- package/tabs/tab-body.component.d.ts +4 -4
- package/tabs/tab-group.component.d.ts +10 -4
- package/tabs/tab-group.scss +2 -8
- package/tabs/tab-header.scss +0 -10
- package/tabs/tab-nav-bar/tab-nav-bar.scss +2 -9
- package/tags/_tag-theme.scss +22 -27
- package/tags/public-api.d.ts +4 -4
- package/tags/tag-default-options.d.ts +1 -0
- package/tags/tag-input.d.ts +8 -2
- package/tags/tag-list.scss +15 -12
- package/tags/tag.component.d.ts +1 -1
- package/tags/tag.scss +5 -11
- package/textarea/_textarea-theme.scss +2 -5
- package/textarea/textarea.component.d.ts +1 -1
- package/textarea/textarea.scss +5 -10
- package/timepicker/public-api.d.ts +1 -1
- package/timepicker/timepicker.constants.d.ts +2 -0
- package/timepicker/timepicker.directive.d.ts +11 -4
- package/timepicker/timepicker.scss +2 -8
- package/timezone/_timezone-option-theme.scss +8 -10
- package/timezone/timezone-option.component.scss +5 -8
- package/timezone/timezone-option.directive.d.ts +4 -3
- package/timezone/timezone-select.component.d.ts +2 -1
- package/timezone/timezone-select.component.scss +2 -4
- package/timezone/timezone.utils.d.ts +1 -1
- package/title/public-api.d.ts +1 -1
- package/title/title.directive.d.ts +0 -1
- package/toast/_toast-theme.scss +20 -16
- package/toast/public-api.d.ts +3 -3
- package/toast/toast-container.component.scss +5 -6
- package/toast/toast.component.scss +28 -29
- package/toast/toast.service.d.ts +9 -5
- package/toast/toast.type.d.ts +3 -1
- package/toggle/_toggle-theme.scss +49 -42
- package/toggle/public-api.d.ts +1 -1
- package/toggle/toggle.scss +9 -22
- package/tooltip/_tooltip-theme.scss +12 -16
- package/tooltip/public-api.d.ts +1 -1
- package/tooltip/tooltip.component.d.ts +14 -10
- package/tooltip/tooltip.scss +7 -13
- package/tree/_tree-theme.scss +20 -23
- package/tree/public-api.d.ts +10 -10
- package/tree/toggle.scss +3 -6
- package/tree/tree-base.d.ts +2 -2
- package/tree/tree-option.component.d.ts +1 -1
- package/tree/tree-option.scss +17 -14
- package/tree/tree-selection.component.d.ts +2 -1
- package/tree-select/_tree-select-theme.scss +12 -15
- package/tree-select/public-api.d.ts +1 -1
- package/tree-select/tree-select.component.d.ts +13 -20
- package/tree-select/tree-select.module.d.ts +1 -2
- package/tree-select/tree-select.scss +1 -6
- package/core/styles/_variables.scss +0 -1
|
@@ -1,30 +1,22 @@
|
|
|
1
1
|
import { trigger, state, style, transition, animate, group } from '@angular/animations';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { InjectionToken, isDevMode, NgModule, Optional, Inject, inject, LOCALE_ID, Injectable, Pipe, Directive, ContentChildren, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, EventEmitter, ViewChild, Output,
|
|
3
|
+
import { InjectionToken, isDevMode, NgModule, Optional, Inject, inject, LOCALE_ID, Injectable, Pipe, Directive, ContentChildren, Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChild, Input, EventEmitter, ViewChild, Output, TemplateRef, Version } from '@angular/core';
|
|
4
4
|
import * as i2$1 from '@angular/cdk/bidi';
|
|
5
5
|
import { BidiModule } from '@angular/cdk/bidi';
|
|
6
6
|
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
|
7
7
|
import * as i1 from '@koobiq/date-adapter';
|
|
8
8
|
import { DateAdapter as DateAdapter$1 } from '@koobiq/date-adapter';
|
|
9
9
|
import { DateFormatter as DateFormatter$1 } from '@koobiq/date-formatter';
|
|
10
|
-
import { BehaviorSubject, Subject, pairwise } from 'rxjs';
|
|
11
10
|
import * as i2 from '@angular/common';
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
11
|
+
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
12
|
+
import { BehaviorSubject, Subject, Subscription, pairwise } from 'rxjs';
|
|
14
13
|
import * as i1$1 from '@angular/cdk/a11y';
|
|
14
|
+
import { SPACE, ENTER, TAB, ESCAPE, HOME, END } from '@koobiq/cdk/keycodes';
|
|
15
15
|
import { takeUntil, distinctUntilChanged, delay } from 'rxjs/operators';
|
|
16
16
|
import * as i1$2 from '@angular/cdk/overlay';
|
|
17
17
|
import { Overlay } from '@angular/cdk/overlay';
|
|
18
18
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
19
19
|
|
|
20
|
-
const fadeAnimation = trigger('fadeAnimation', [
|
|
21
|
-
state('void', style({ opacity: 0 })),
|
|
22
|
-
state('true', style({ opacity: 1 })),
|
|
23
|
-
state('false', style({ opacity: 0 })),
|
|
24
|
-
transition('* => true', animate('150ms cubic-bezier(0.0, 0.0, 0.2, 1)')),
|
|
25
|
-
transition('* => void', animate('150ms cubic-bezier(0.4, 0.0, 1, 1)'))
|
|
26
|
-
]);
|
|
27
|
-
|
|
28
20
|
var AnimationCurves;
|
|
29
21
|
(function (AnimationCurves) {
|
|
30
22
|
AnimationCurves["StandardCurve"] = "cubic-bezier(0.4,0.0,0.2,1)";
|
|
@@ -33,6 +25,14 @@ var AnimationCurves;
|
|
|
33
25
|
AnimationCurves["SharpCurve"] = "cubic-bezier(0.4,0.0,0.6,1)";
|
|
34
26
|
})(AnimationCurves || (AnimationCurves = {}));
|
|
35
27
|
|
|
28
|
+
const fadeAnimation = trigger('fadeAnimation', [
|
|
29
|
+
state('void', style({ opacity: 0 })),
|
|
30
|
+
state('true', style({ opacity: 1 })),
|
|
31
|
+
state('false', style({ opacity: 0 })),
|
|
32
|
+
transition('* => true', animate('150ms cubic-bezier(0.0, 0.0, 0.2, 1)')),
|
|
33
|
+
transition('* => void', animate('150ms cubic-bezier(0.4, 0.0, 1, 1)'))
|
|
34
|
+
]);
|
|
35
|
+
|
|
36
36
|
/**
|
|
37
37
|
* The following are all the animations for the kbq-select component, with each
|
|
38
38
|
* const containing the metadata for one animation.
|
|
@@ -55,10 +55,10 @@ const kbqSelectAnimations = {
|
|
|
55
55
|
opacity: 0
|
|
56
56
|
})),
|
|
57
57
|
transition('void => *', group([
|
|
58
|
-
animate('
|
|
58
|
+
animate('0ms cubic-bezier(0.25, 0.8, 0.25, 1)')
|
|
59
59
|
])),
|
|
60
60
|
transition('* => void', [
|
|
61
|
-
animate('
|
|
61
|
+
animate('0ms 0ms linear', style({ opacity: 0 }))
|
|
62
62
|
])
|
|
63
63
|
]),
|
|
64
64
|
/**
|
|
@@ -70,13 +70,60 @@ const kbqSelectAnimations = {
|
|
|
70
70
|
state('showing', style({ opacity: 1 })),
|
|
71
71
|
transition('void => showing', [
|
|
72
72
|
style({ opacity: 0 }),
|
|
73
|
-
animate('
|
|
73
|
+
animate('0ms 0ms cubic-bezier(0.55, 0, 0.55, 0.2)')
|
|
74
74
|
])
|
|
75
75
|
])
|
|
76
76
|
};
|
|
77
77
|
const transformPanel = kbqSelectAnimations.transformPanel;
|
|
78
78
|
const fadeInContent = kbqSelectAnimations.fadeInContent;
|
|
79
79
|
|
|
80
|
+
var ThemePalette;
|
|
81
|
+
(function (ThemePalette) {
|
|
82
|
+
ThemePalette["Primary"] = "primary";
|
|
83
|
+
ThemePalette["Secondary"] = "secondary";
|
|
84
|
+
ThemePalette["Error"] = "error";
|
|
85
|
+
ThemePalette["Info"] = "info";
|
|
86
|
+
ThemePalette["Warning"] = "warning";
|
|
87
|
+
ThemePalette["Success"] = "success";
|
|
88
|
+
ThemePalette["Default"] = "secondary";
|
|
89
|
+
ThemePalette["Empty"] = "";
|
|
90
|
+
})(ThemePalette || (ThemePalette = {}));
|
|
91
|
+
var KbqComponentColors;
|
|
92
|
+
(function (KbqComponentColors) {
|
|
93
|
+
KbqComponentColors["Theme"] = "theme";
|
|
94
|
+
KbqComponentColors["ThemeFade"] = "theme-fade";
|
|
95
|
+
KbqComponentColors["Contrast"] = "contrast";
|
|
96
|
+
KbqComponentColors["ContrastFade"] = "contrast-fade";
|
|
97
|
+
KbqComponentColors["Error"] = "error";
|
|
98
|
+
KbqComponentColors["Warning"] = "warning";
|
|
99
|
+
KbqComponentColors["Success"] = "success";
|
|
100
|
+
KbqComponentColors["Default"] = "contrast";
|
|
101
|
+
KbqComponentColors["Empty"] = "";
|
|
102
|
+
})(KbqComponentColors || (KbqComponentColors = {}));
|
|
103
|
+
function mixinColor(base, defaultColor = KbqComponentColors.Empty) {
|
|
104
|
+
return class extends base {
|
|
105
|
+
get color() {
|
|
106
|
+
return this._color;
|
|
107
|
+
}
|
|
108
|
+
set color(value) {
|
|
109
|
+
const colorPalette = value || defaultColor;
|
|
110
|
+
if (colorPalette !== this._color) {
|
|
111
|
+
if (this._color) {
|
|
112
|
+
this.elementRef.nativeElement.classList.remove(`kbq-${this._color}`);
|
|
113
|
+
}
|
|
114
|
+
if (colorPalette) {
|
|
115
|
+
this.elementRef.nativeElement.classList.add(`kbq-${colorPalette}`);
|
|
116
|
+
}
|
|
117
|
+
this._color = colorPalette;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
constructor(...args) {
|
|
121
|
+
super(...args);
|
|
122
|
+
this.color = defaultColor;
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
|
|
80
127
|
// Injection token that configures whether the koobiq sanity checks are enabled.
|
|
81
128
|
const KBQ_SANITY_CHECKS = new InjectionToken('kbq-sanity-checks', {
|
|
82
129
|
providedIn: 'root',
|
|
@@ -173,47 +220,23 @@ function mixinDisabled(base) {
|
|
|
173
220
|
};
|
|
174
221
|
}
|
|
175
222
|
|
|
176
|
-
|
|
177
|
-
(function (ThemePalette) {
|
|
178
|
-
ThemePalette["Primary"] = "primary";
|
|
179
|
-
ThemePalette["Secondary"] = "secondary";
|
|
180
|
-
ThemePalette["Error"] = "error";
|
|
181
|
-
ThemePalette["Info"] = "info";
|
|
182
|
-
ThemePalette["Warning"] = "warning";
|
|
183
|
-
ThemePalette["Success"] = "success";
|
|
184
|
-
ThemePalette["Default"] = "secondary";
|
|
185
|
-
ThemePalette["Empty"] = "";
|
|
186
|
-
})(ThemePalette || (ThemePalette = {}));
|
|
187
|
-
var KbqComponentColors;
|
|
188
|
-
(function (KbqComponentColors) {
|
|
189
|
-
KbqComponentColors["Theme"] = "theme";
|
|
190
|
-
KbqComponentColors["ThemeFade"] = "theme-fade";
|
|
191
|
-
KbqComponentColors["Contrast"] = "contrast";
|
|
192
|
-
KbqComponentColors["ContrastFade"] = "contrast-fade";
|
|
193
|
-
KbqComponentColors["Error"] = "error";
|
|
194
|
-
KbqComponentColors["Warning"] = "warning";
|
|
195
|
-
KbqComponentColors["Success"] = "success";
|
|
196
|
-
KbqComponentColors["Default"] = "contrast";
|
|
197
|
-
KbqComponentColors["Empty"] = "";
|
|
198
|
-
})(KbqComponentColors || (KbqComponentColors = {}));
|
|
199
|
-
function mixinColor(base, defaultColor = KbqComponentColors.Empty) {
|
|
223
|
+
function mixinErrorState(base) {
|
|
200
224
|
return class extends base {
|
|
201
|
-
get color() { return this._color; }
|
|
202
|
-
set color(value) {
|
|
203
|
-
const colorPalette = value || defaultColor;
|
|
204
|
-
if (colorPalette !== this._color) {
|
|
205
|
-
if (this._color) {
|
|
206
|
-
this.elementRef.nativeElement.classList.remove(`kbq-${this._color}`);
|
|
207
|
-
}
|
|
208
|
-
if (colorPalette) {
|
|
209
|
-
this.elementRef.nativeElement.classList.add(`kbq-${colorPalette}`);
|
|
210
|
-
}
|
|
211
|
-
this._color = colorPalette;
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
225
|
constructor(...args) {
|
|
215
226
|
super(...args);
|
|
216
|
-
|
|
227
|
+
/** Whether the component is in an error state. */
|
|
228
|
+
this.errorState = false;
|
|
229
|
+
}
|
|
230
|
+
updateErrorState() {
|
|
231
|
+
const oldState = this.errorState;
|
|
232
|
+
const parent = this.parentFormGroup || this.parentForm;
|
|
233
|
+
const matcher = this.errorStateMatcher || this.defaultErrorStateMatcher;
|
|
234
|
+
const control = this.ngControl ? this.ngControl.control : null;
|
|
235
|
+
const newState = matcher.isErrorState(control, parent);
|
|
236
|
+
if (newState !== oldState) {
|
|
237
|
+
this.errorState = newState;
|
|
238
|
+
this.stateChanges.next();
|
|
239
|
+
}
|
|
217
240
|
}
|
|
218
241
|
};
|
|
219
242
|
}
|
|
@@ -235,31 +258,8 @@ function mixinTabIndex(base, defaultTabIndex = 0) {
|
|
|
235
258
|
};
|
|
236
259
|
}
|
|
237
260
|
|
|
238
|
-
function mixinErrorState(base) {
|
|
239
|
-
return class extends base {
|
|
240
|
-
constructor(...args) {
|
|
241
|
-
super(...args);
|
|
242
|
-
/** Whether the component is in an error state. */
|
|
243
|
-
this.errorState = false;
|
|
244
|
-
}
|
|
245
|
-
updateErrorState() {
|
|
246
|
-
const oldState = this.errorState;
|
|
247
|
-
const parent = this.parentFormGroup || this.parentForm;
|
|
248
|
-
const matcher = this.errorStateMatcher || this.defaultErrorStateMatcher;
|
|
249
|
-
const control = this.ngControl ? this.ngControl.control : null;
|
|
250
|
-
const newState = matcher.isErrorState(control, parent);
|
|
251
|
-
if (newState !== oldState) {
|
|
252
|
-
this.errorState = newState;
|
|
253
|
-
this.stateChanges.next();
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
};
|
|
257
|
-
}
|
|
258
|
-
|
|
259
261
|
const KBQ_PARENT_ANIMATION_COMPONENT = new InjectionToken('kbq-parent-animation-component');
|
|
260
262
|
|
|
261
|
-
const KBQ_DATE_FORMATS = new InjectionToken('kbq-date-formats');
|
|
262
|
-
|
|
263
263
|
/** InjectionToken for datepicker that can be used to override default locale code. */
|
|
264
264
|
const KBQ_DATE_LOCALE = new InjectionToken('KBQ_DATE_LOCALE', {
|
|
265
265
|
providedIn: 'root',
|
|
@@ -273,6 +273,8 @@ function KBQ_DATE_LOCALE_FACTORY() {
|
|
|
273
273
|
class DateAdapter extends DateAdapter$1 {
|
|
274
274
|
}
|
|
275
275
|
|
|
276
|
+
const KBQ_DATE_FORMATS = new InjectionToken('kbq-date-formats');
|
|
277
|
+
|
|
276
278
|
/** Error state matcher that matches when a control is invalid and dirty. */
|
|
277
279
|
class ShowOnDirtyErrorStateMatcher {
|
|
278
280
|
isErrorState(control, form) {
|
|
@@ -297,6 +299,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
|
|
|
297
299
|
args: [{ providedIn: 'root' }]
|
|
298
300
|
}] });
|
|
299
301
|
|
|
302
|
+
/**
|
|
303
|
+
* Injection token that can be used to inject an instances of `KbqFormField`. It serves
|
|
304
|
+
* as alternative token to the actual `KbqFormField` class which would cause unnecessary
|
|
305
|
+
* retention of the `KbqFormField` class and its component metadata.
|
|
306
|
+
*/
|
|
307
|
+
const KBQ_FORM_FIELD_REF = new InjectionToken('KbqFormFieldRef');
|
|
308
|
+
|
|
300
309
|
class DateFormatter extends DateFormatter$1 {
|
|
301
310
|
constructor(adapter, locale) {
|
|
302
311
|
super(adapter, locale);
|
|
@@ -655,8 +664,8 @@ const ruRULocaleData = {
|
|
|
655
664
|
},
|
|
656
665
|
timepicker: {
|
|
657
666
|
placeholder: {
|
|
658
|
-
full: '
|
|
659
|
-
short: '
|
|
667
|
+
full: 'чч:мм:сс',
|
|
668
|
+
short: 'чч:мм'
|
|
660
669
|
}
|
|
661
670
|
},
|
|
662
671
|
fileUpload: {
|
|
@@ -726,6 +735,22 @@ const enUSFormattersData = {
|
|
|
726
735
|
groupSeparator: [','],
|
|
727
736
|
fractionSeparator: '.'
|
|
728
737
|
}
|
|
738
|
+
},
|
|
739
|
+
sizeUnits: {
|
|
740
|
+
defaultUnitSystem: 'SI',
|
|
741
|
+
defaultPrecision: 2,
|
|
742
|
+
unitSystems: {
|
|
743
|
+
SI: {
|
|
744
|
+
abbreviations: ['B', 'KB', 'MB', 'GB', 'TB'],
|
|
745
|
+
base: 10,
|
|
746
|
+
power: 3
|
|
747
|
+
},
|
|
748
|
+
IEC: {
|
|
749
|
+
abbreviations: ['B', 'KiB', 'MiB', 'GiB', 'TiB'],
|
|
750
|
+
base: 2,
|
|
751
|
+
power: 10
|
|
752
|
+
}
|
|
753
|
+
}
|
|
729
754
|
}
|
|
730
755
|
};
|
|
731
756
|
const esLAFormattersData = {
|
|
@@ -748,6 +773,22 @@ const esLAFormattersData = {
|
|
|
748
773
|
groupSeparator: [' ', ' '],
|
|
749
774
|
fractionSeparator: ','
|
|
750
775
|
}
|
|
776
|
+
},
|
|
777
|
+
sizeUnits: {
|
|
778
|
+
defaultUnitSystem: 'SI',
|
|
779
|
+
defaultPrecision: 2,
|
|
780
|
+
unitSystems: {
|
|
781
|
+
SI: {
|
|
782
|
+
abbreviations: ['Б', 'КБ', 'МБ', 'ГБ', 'ТБ'],
|
|
783
|
+
base: 10,
|
|
784
|
+
power: 3
|
|
785
|
+
},
|
|
786
|
+
IEC: {
|
|
787
|
+
abbreviations: ['Б', 'КиБ', 'МиБ', 'ГиБ', 'ТиБ'],
|
|
788
|
+
base: 2,
|
|
789
|
+
power: 10
|
|
790
|
+
}
|
|
791
|
+
}
|
|
751
792
|
}
|
|
752
793
|
};
|
|
753
794
|
const faIRFormattersData = {
|
|
@@ -769,6 +810,22 @@ const faIRFormattersData = {
|
|
|
769
810
|
groupSeparator: ['\u066C'],
|
|
770
811
|
fractionSeparator: '\u066B'
|
|
771
812
|
}
|
|
813
|
+
},
|
|
814
|
+
sizeUnits: {
|
|
815
|
+
defaultUnitSystem: 'SI',
|
|
816
|
+
defaultPrecision: 2,
|
|
817
|
+
unitSystems: {
|
|
818
|
+
SI: {
|
|
819
|
+
abbreviations: ['Б', 'КБ', 'МБ', 'ГБ', 'ТБ'],
|
|
820
|
+
base: 10,
|
|
821
|
+
power: 3
|
|
822
|
+
},
|
|
823
|
+
IEC: {
|
|
824
|
+
abbreviations: ['Б', 'КиБ', 'МиБ', 'ГиБ', 'ТиБ'],
|
|
825
|
+
base: 2,
|
|
826
|
+
power: 10
|
|
827
|
+
}
|
|
828
|
+
}
|
|
772
829
|
}
|
|
773
830
|
};
|
|
774
831
|
const ptBRFormattersData = {
|
|
@@ -789,6 +846,22 @@ const ptBRFormattersData = {
|
|
|
789
846
|
groupSeparator: ['.'],
|
|
790
847
|
fractionSeparator: ','
|
|
791
848
|
}
|
|
849
|
+
},
|
|
850
|
+
sizeUnits: {
|
|
851
|
+
defaultUnitSystem: 'SI',
|
|
852
|
+
defaultPrecision: 2,
|
|
853
|
+
unitSystems: {
|
|
854
|
+
SI: {
|
|
855
|
+
abbreviations: ['Б', 'КБ', 'МБ', 'ГБ', 'ТБ'],
|
|
856
|
+
base: 10,
|
|
857
|
+
power: 3
|
|
858
|
+
},
|
|
859
|
+
IEC: {
|
|
860
|
+
abbreviations: ['Б', 'КиБ', 'МиБ', 'ГиБ', 'ТиБ'],
|
|
861
|
+
base: 2,
|
|
862
|
+
power: 10
|
|
863
|
+
}
|
|
864
|
+
}
|
|
792
865
|
}
|
|
793
866
|
};
|
|
794
867
|
const ruRUFormattersData = {
|
|
@@ -812,6 +885,22 @@ const ruRUFormattersData = {
|
|
|
812
885
|
fractionSeparator: ',',
|
|
813
886
|
startFormattingFrom: 4
|
|
814
887
|
}
|
|
888
|
+
},
|
|
889
|
+
sizeUnits: {
|
|
890
|
+
defaultUnitSystem: 'SI',
|
|
891
|
+
defaultPrecision: 2,
|
|
892
|
+
unitSystems: {
|
|
893
|
+
SI: {
|
|
894
|
+
abbreviations: ['Б', 'КБ', 'МБ', 'ГБ', 'ТБ'],
|
|
895
|
+
base: 10,
|
|
896
|
+
power: 3
|
|
897
|
+
},
|
|
898
|
+
IEC: {
|
|
899
|
+
abbreviations: ['Б', 'КиБ', 'МиБ', 'ГиБ', 'ТиБ'],
|
|
900
|
+
base: 2,
|
|
901
|
+
power: 10
|
|
902
|
+
}
|
|
903
|
+
}
|
|
815
904
|
}
|
|
816
905
|
};
|
|
817
906
|
const zhCNFormattersData = {
|
|
@@ -831,6 +920,22 @@ const zhCNFormattersData = {
|
|
|
831
920
|
groupSeparator: [','],
|
|
832
921
|
fractionSeparator: '.'
|
|
833
922
|
}
|
|
923
|
+
},
|
|
924
|
+
sizeUnits: {
|
|
925
|
+
defaultUnitSystem: 'SI',
|
|
926
|
+
defaultPrecision: 2,
|
|
927
|
+
unitSystems: {
|
|
928
|
+
SI: {
|
|
929
|
+
abbreviations: ['Б', 'КБ', 'МБ', 'ГБ', 'ТБ'],
|
|
930
|
+
base: 10,
|
|
931
|
+
power: 3
|
|
932
|
+
},
|
|
933
|
+
IEC: {
|
|
934
|
+
abbreviations: ['Б', 'КиБ', 'МиБ', 'ГиБ', 'ТиБ'],
|
|
935
|
+
base: 2,
|
|
936
|
+
power: 10
|
|
937
|
+
}
|
|
938
|
+
}
|
|
834
939
|
}
|
|
835
940
|
};
|
|
836
941
|
|
|
@@ -854,11 +959,15 @@ function KBQ_DEFAULT_LOCALE_DATA_FACTORY() {
|
|
|
854
959
|
'fa-IR': { ...faIRLocaleData, ...faIRFormattersData }
|
|
855
960
|
};
|
|
856
961
|
}
|
|
857
|
-
const KBQ_LOCALE_DATA = new InjectionToken('KBQ_LOCALE_DATA', {
|
|
962
|
+
const KBQ_LOCALE_DATA = new InjectionToken('KBQ_LOCALE_DATA', {
|
|
963
|
+
providedIn: 'root',
|
|
964
|
+
factory: KBQ_DEFAULT_LOCALE_DATA_FACTORY
|
|
965
|
+
});
|
|
858
966
|
const KBQ_LOCALE_SERVICE = new InjectionToken('KBQ_LOCALE_SERVICE');
|
|
859
967
|
class KbqLocaleService {
|
|
860
968
|
constructor(id, localeData) {
|
|
861
969
|
this.locales = {};
|
|
970
|
+
this.document = inject(DOCUMENT);
|
|
862
971
|
this.locales = localeData;
|
|
863
972
|
this.id = id || KBQ_DEFAULT_LOCALE_ID;
|
|
864
973
|
this.current = this.locales[this.id];
|
|
@@ -867,6 +976,7 @@ class KbqLocaleService {
|
|
|
867
976
|
setLocale(id) {
|
|
868
977
|
this.id = id;
|
|
869
978
|
this.current = this.locales[this.id];
|
|
979
|
+
this.document.documentElement.lang = this.id;
|
|
870
980
|
this.changes.next(this.id);
|
|
871
981
|
}
|
|
872
982
|
addLocale(id, localeData) {
|
|
@@ -992,8 +1102,7 @@ class KbqDecimalPipe {
|
|
|
992
1102
|
this.localeService = localeService;
|
|
993
1103
|
this.options = options;
|
|
994
1104
|
this.options = this.options || KBQ_NUMBER_FORMATTER_DEFAULT_OPTIONS;
|
|
995
|
-
this.localeService?.changes
|
|
996
|
-
.subscribe((newId) => this.id = newId);
|
|
1105
|
+
this.localeService?.changes.subscribe((newId) => (this.id = newId));
|
|
997
1106
|
}
|
|
998
1107
|
/**
|
|
999
1108
|
* @param value The number to be formatted.
|
|
@@ -1074,8 +1183,7 @@ class KbqTableNumberPipe {
|
|
|
1074
1183
|
this.localeService = localeService;
|
|
1075
1184
|
this.options = options;
|
|
1076
1185
|
this.options = this.options || KBQ_NUMBER_FORMATTER_DEFAULT_OPTIONS;
|
|
1077
|
-
this.localeService?.changes
|
|
1078
|
-
.subscribe((newId) => this.id = newId);
|
|
1186
|
+
this.localeService?.changes.subscribe((newId) => (this.id = newId));
|
|
1079
1187
|
}
|
|
1080
1188
|
/**
|
|
1081
1189
|
* @param value The number to be formatted.
|
|
@@ -1151,8 +1259,7 @@ class KbqRoundDecimalPipe {
|
|
|
1151
1259
|
constructor(id, localeService) {
|
|
1152
1260
|
this.id = id;
|
|
1153
1261
|
this.localeService = localeService;
|
|
1154
|
-
this.localeService?.changes
|
|
1155
|
-
.subscribe((newId) => this.id = newId);
|
|
1262
|
+
this.localeService?.changes.subscribe((newId) => (this.id = newId));
|
|
1156
1263
|
}
|
|
1157
1264
|
transform(value, locale) {
|
|
1158
1265
|
if (isEmpty(value)) {
|
|
@@ -1168,17 +1275,17 @@ class KbqRoundDecimalPipe {
|
|
|
1168
1275
|
}
|
|
1169
1276
|
let parts = {};
|
|
1170
1277
|
if (intervalsConfig.supportedLanguages.includes(currentLocale)) {
|
|
1171
|
-
intervalsConfig.intervals
|
|
1172
|
-
.find(({ startRange, endRange, precision }) => {
|
|
1278
|
+
intervalsConfig.intervals.find(({ startRange, endRange, precision }) => {
|
|
1173
1279
|
const within = isWithin(startRange, endRange, num);
|
|
1174
1280
|
if (within) {
|
|
1175
1281
|
if (precision) {
|
|
1176
|
-
parts =
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1282
|
+
parts =
|
|
1283
|
+
unit === 'thousand'
|
|
1284
|
+
? this.calculatePartsForThousands(num)
|
|
1285
|
+
: {
|
|
1286
|
+
num: Math.trunc(num / ROUNDING_UNITS[unit]),
|
|
1287
|
+
fraction: this.calculateDecimal(num, ROUNDING_UNITS[unit])
|
|
1288
|
+
};
|
|
1182
1289
|
}
|
|
1183
1290
|
else {
|
|
1184
1291
|
parts = { num: Math.round(num / ROUNDING_UNITS[unit]) };
|
|
@@ -1187,10 +1294,12 @@ class KbqRoundDecimalPipe {
|
|
|
1187
1294
|
return within;
|
|
1188
1295
|
});
|
|
1189
1296
|
}
|
|
1190
|
-
parts = parts.num
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1297
|
+
parts = parts.num
|
|
1298
|
+
? parts
|
|
1299
|
+
: {
|
|
1300
|
+
num: Math.trunc(num / ROUNDING_UNITS[unit]),
|
|
1301
|
+
fraction: this.calculateDecimal(num, ROUNDING_UNITS[unit])
|
|
1302
|
+
};
|
|
1194
1303
|
Object.keys(parts).forEach((key) => {
|
|
1195
1304
|
parts[key] = Intl.NumberFormat.call(this, currentLocale, { useGrouping: false }).format(parts[key]);
|
|
1196
1305
|
});
|
|
@@ -1205,7 +1314,7 @@ class KbqRoundDecimalPipe {
|
|
|
1205
1314
|
}
|
|
1206
1315
|
calculateDecimal(num, divider) {
|
|
1207
1316
|
/* tslint:disable-next-line:no-magic-numbers */
|
|
1208
|
-
return Math.round(num / divider % 1 * 10);
|
|
1317
|
+
return Math.round(((num / divider) % 1) * 10);
|
|
1209
1318
|
}
|
|
1210
1319
|
/**
|
|
1211
1320
|
* 2 * 1000 is a number in the interval of [1500...2500)
|
|
@@ -1335,13 +1444,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
|
|
|
1335
1444
|
}]
|
|
1336
1445
|
}] });
|
|
1337
1446
|
|
|
1338
|
-
/**
|
|
1339
|
-
* Injection token that can be used to inject an instances of `KbqFormField`. It serves
|
|
1340
|
-
* as alternative token to the actual `KbqFormField` class which would cause unnecessary
|
|
1341
|
-
* retention of the `KbqFormField` class and its component metadata.
|
|
1342
|
-
*/
|
|
1343
|
-
const KBQ_FORM_FIELD_REF = new InjectionToken('KbqFormFieldRef');
|
|
1344
|
-
|
|
1345
1447
|
class KbqFormElement {
|
|
1346
1448
|
constructor(element) {
|
|
1347
1449
|
this.element = element;
|
|
@@ -1533,75 +1635,197 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
|
|
|
1533
1635
|
}]
|
|
1534
1636
|
}] });
|
|
1535
1637
|
|
|
1536
|
-
const
|
|
1537
|
-
|
|
1638
|
+
const KBQ_OPTION_ACTION_PARENT = new InjectionToken('KBQ_OPTION_ACTION_PARENT');
|
|
1538
1639
|
/** @docs-private */
|
|
1539
|
-
class
|
|
1540
|
-
}
|
|
1541
|
-
// tslint:disable-next-line: naming-convention
|
|
1542
|
-
const KbqOptgroupMixinBase = mixinDisabled(KbqOptgroupBase);
|
|
1543
|
-
let uniqueOptgroupIdCounter = 0;
|
|
1544
|
-
/**
|
|
1545
|
-
* Component that is used to group instances of `kbq-option`.
|
|
1546
|
-
*/
|
|
1547
|
-
class KbqOptgroup extends KbqOptgroupMixinBase {
|
|
1548
|
-
constructor() {
|
|
1549
|
-
super(...arguments);
|
|
1550
|
-
/** Unique id for the underlying label. */
|
|
1551
|
-
this.labelId = `kbq-optgroup-label-${uniqueOptgroupIdCounter++}`;
|
|
1552
|
-
}
|
|
1553
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOptgroup, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1554
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqOptgroup, selector: "kbq-optgroup", inputs: { disabled: "disabled", label: "label" }, host: { properties: { "class.kbq-disabled": "disabled" }, classAttribute: "kbq-optgroup" }, exportAs: ["kbqOptgroup"], usesInheritance: true, ngImport: i0, template: "<label class=\"kbq-optgroup-label\" [id]=\"labelId\">{{ label }}</label>\n<ng-content select=\"kbq-option, kbq-list-option, kbq-timezone-option, ng-container\"></ng-content>\n", styles: [".kbq-optgroup-label{padding-left:var(--kbq-optgroup-size-padding-left, 17px);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1640
|
+
class KbqOptionActionBase {
|
|
1555
1641
|
}
|
|
1556
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOptgroup, decorators: [{
|
|
1557
|
-
type: Component,
|
|
1558
|
-
args: [{ selector: 'kbq-optgroup', exportAs: 'kbqOptgroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['disabled'], host: {
|
|
1559
|
-
class: 'kbq-optgroup',
|
|
1560
|
-
'[class.kbq-disabled]': 'disabled'
|
|
1561
|
-
}, template: "<label class=\"kbq-optgroup-label\" [id]=\"labelId\">{{ label }}</label>\n<ng-content select=\"kbq-option, kbq-list-option, kbq-timezone-option, ng-container\"></ng-content>\n", styles: [".kbq-optgroup-label{padding-left:var(--kbq-optgroup-size-padding-left, 17px);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}\n"] }]
|
|
1562
|
-
}], propDecorators: { label: [{
|
|
1563
|
-
type: Input
|
|
1564
|
-
}] } });
|
|
1565
|
-
|
|
1566
|
-
// Boilerplate for applying mixins to KbqPseudoCheckbox.
|
|
1567
1642
|
/** @docs-private */
|
|
1568
|
-
|
|
1569
|
-
|
|
1643
|
+
const KbqOptionActionMixinBase = mixinTabIndex(mixinDisabled(KbqOptionActionBase));
|
|
1644
|
+
class KbqOptionActionComponent extends KbqOptionActionMixinBase {
|
|
1645
|
+
get active() {
|
|
1646
|
+
return this.hasFocus || !!this.option.dropdownTrigger?.opened;
|
|
1647
|
+
}
|
|
1648
|
+
constructor(elementRef, focusMonitor, option) {
|
|
1649
|
+
super();
|
|
1570
1650
|
this.elementRef = elementRef;
|
|
1651
|
+
this.focusMonitor = focusMonitor;
|
|
1652
|
+
this.option = option;
|
|
1653
|
+
this.hasFocus = false;
|
|
1654
|
+
this.destroy = new Subject();
|
|
1655
|
+
this.focusMonitor.monitor(this.elementRef.nativeElement);
|
|
1571
1656
|
}
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
* Note that this component will be completely invisible to screen-reader users. This is *not*
|
|
1583
|
-
* interchangeable with `<kbq-checkbox>` and should *not* be used if the user would directly
|
|
1584
|
-
* interact with the checkbox. The pseudo-checkbox should only be used as an implementation detail
|
|
1585
|
-
* of more complex components that appropriately handle selected / checked state.
|
|
1586
|
-
* @docs-private
|
|
1587
|
-
*/
|
|
1588
|
-
class KbqPseudoCheckbox extends KbqPseudoCheckboxMixinBase {
|
|
1589
|
-
constructor(elementRef) {
|
|
1590
|
-
super(elementRef);
|
|
1591
|
-
this.big = false;
|
|
1592
|
-
this.state = 'unchecked';
|
|
1593
|
-
this.disabled = false;
|
|
1657
|
+
ngAfterViewInit() {
|
|
1658
|
+
if (!this.option.dropdownTrigger) {
|
|
1659
|
+
return;
|
|
1660
|
+
}
|
|
1661
|
+
this.option.dropdownTrigger.restoreFocus = false;
|
|
1662
|
+
this.option.dropdownTrigger.dropdownClosed.pipe(takeUntil(this.destroy)).subscribe(() => {
|
|
1663
|
+
this.preventShowingTooltip();
|
|
1664
|
+
const destroyReason = this.option.dropdownTrigger.lastDestroyReason === 'keydown' ? 'keyboard' : 'program';
|
|
1665
|
+
this.focus(destroyReason);
|
|
1666
|
+
});
|
|
1594
1667
|
}
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1668
|
+
ngOnDestroy() {
|
|
1669
|
+
this.destroy.next();
|
|
1670
|
+
this.destroy.complete();
|
|
1671
|
+
this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
|
|
1672
|
+
}
|
|
1673
|
+
focus(origin, options) {
|
|
1674
|
+
if (this.focusMonitor && origin) {
|
|
1675
|
+
this.focusMonitor.focusVia(this.elementRef.nativeElement, origin, options);
|
|
1676
|
+
}
|
|
1677
|
+
else {
|
|
1678
|
+
this.elementRef.nativeElement.focus();
|
|
1679
|
+
}
|
|
1680
|
+
this.hasFocus = true;
|
|
1681
|
+
}
|
|
1682
|
+
onFocus($event) {
|
|
1683
|
+
$event.stopPropagation();
|
|
1684
|
+
this.hasFocus = true;
|
|
1685
|
+
}
|
|
1686
|
+
onBlur() {
|
|
1687
|
+
this.hasFocus = false;
|
|
1688
|
+
}
|
|
1689
|
+
onClick($event) {
|
|
1690
|
+
$event.stopPropagation();
|
|
1691
|
+
}
|
|
1692
|
+
onKeyDown($event) {
|
|
1693
|
+
if ([SPACE, ENTER].includes($event.keyCode) && this.option.dropdownTrigger) {
|
|
1694
|
+
this.option.dropdownTrigger.openedBy = 'keyboard';
|
|
1695
|
+
this.option.dropdownTrigger.toggle();
|
|
1696
|
+
}
|
|
1697
|
+
else if ($event.shiftKey && $event.keyCode === TAB) {
|
|
1698
|
+
this.hasFocus = false;
|
|
1699
|
+
this.option.focus();
|
|
1700
|
+
}
|
|
1701
|
+
else if ($event.keyCode === TAB) {
|
|
1702
|
+
return;
|
|
1703
|
+
}
|
|
1704
|
+
$event.preventDefault();
|
|
1705
|
+
$event.stopPropagation();
|
|
1706
|
+
}
|
|
1707
|
+
preventShowingTooltip() {
|
|
1708
|
+
if (!this.option.tooltipTrigger) {
|
|
1709
|
+
return;
|
|
1710
|
+
}
|
|
1711
|
+
this.option.tooltipTrigger.disabled = true;
|
|
1712
|
+
setTimeout(() => (this.option.tooltipTrigger.disabled = false));
|
|
1713
|
+
}
|
|
1714
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOptionActionComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.FocusMonitor }, { token: KBQ_OPTION_ACTION_PARENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1715
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqOptionActionComponent, selector: "kbq-option-action", inputs: { disabled: "disabled" }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur()", "click": "onClick($event)", "keydown": "onKeyDown($event)" }, properties: { "class.kbq-expanded": "false", "class.kbq-disabled": "disabled", "attr.disabled": "disabled || null", "attr.tabIndex": "-1" }, classAttribute: "kbq-option-action" }, queries: [{ propertyName: "customIcon", first: true, predicate: ["customIcon"], descendants: true }], exportAs: ["kbqOptionAction"], usesInheritance: true, ngImport: i0, template: `
|
|
1716
|
+
<ng-container [ngSwitch]="!!customIcon">
|
|
1717
|
+
<i
|
|
1718
|
+
class="mc kbq-icon mc-ellipsis_16"
|
|
1719
|
+
*ngSwitchCase="false"
|
|
1720
|
+
></i>
|
|
1721
|
+
<ng-content
|
|
1722
|
+
*ngSwitchCase="true"
|
|
1723
|
+
select="[kbq-icon]"
|
|
1724
|
+
></ng-content>
|
|
1725
|
+
</ng-container>
|
|
1726
|
+
`, isInline: true, styles: [".kbq-option-action{box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:-2px;width:24px;height:24px;cursor:pointer;outline:none;border:2px solid transparent;background:transparent}.kbq-option-action.kbq-disabled{cursor:default}\n"], dependencies: [{ kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1727
|
+
}
|
|
1728
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOptionActionComponent, decorators: [{
|
|
1729
|
+
type: Component,
|
|
1730
|
+
args: [{ selector: 'kbq-option-action', exportAs: 'kbqOptionAction', template: `
|
|
1731
|
+
<ng-container [ngSwitch]="!!customIcon">
|
|
1732
|
+
<i
|
|
1733
|
+
class="mc kbq-icon mc-ellipsis_16"
|
|
1734
|
+
*ngSwitchCase="false"
|
|
1735
|
+
></i>
|
|
1736
|
+
<ng-content
|
|
1737
|
+
*ngSwitchCase="true"
|
|
1738
|
+
select="[kbq-icon]"
|
|
1739
|
+
></ng-content>
|
|
1740
|
+
</ng-container>
|
|
1741
|
+
`, host: {
|
|
1742
|
+
class: 'kbq-option-action',
|
|
1743
|
+
'[class.kbq-expanded]': 'false',
|
|
1744
|
+
'[class.kbq-disabled]': 'disabled',
|
|
1745
|
+
'[attr.disabled]': 'disabled || null',
|
|
1746
|
+
'[attr.tabIndex]': '-1',
|
|
1747
|
+
'(focus)': 'onFocus($event)',
|
|
1748
|
+
'(blur)': 'onBlur()',
|
|
1749
|
+
'(click)': 'onClick($event)',
|
|
1750
|
+
'(keydown)': 'onKeyDown($event)'
|
|
1751
|
+
}, inputs: ['disabled'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".kbq-option-action{box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:-2px;width:24px;height:24px;cursor:pointer;outline:none;border:2px solid transparent;background:transparent}.kbq-option-action.kbq-disabled{cursor:default}\n"] }]
|
|
1752
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$1.FocusMonitor }, { type: undefined, decorators: [{
|
|
1753
|
+
type: Inject,
|
|
1754
|
+
args: [KBQ_OPTION_ACTION_PARENT]
|
|
1755
|
+
}] }], propDecorators: { customIcon: [{
|
|
1756
|
+
type: ContentChild,
|
|
1757
|
+
args: ['customIcon']
|
|
1758
|
+
}] } });
|
|
1759
|
+
|
|
1760
|
+
/** @docs-private */
|
|
1761
|
+
class KbqOptgroupBase {
|
|
1762
|
+
}
|
|
1763
|
+
// tslint:disable-next-line: naming-convention
|
|
1764
|
+
const KbqOptgroupMixinBase = mixinDisabled(KbqOptgroupBase);
|
|
1765
|
+
let uniqueOptgroupIdCounter = 0;
|
|
1766
|
+
/**
|
|
1767
|
+
* Component that is used to group instances of `kbq-option`.
|
|
1768
|
+
*/
|
|
1769
|
+
class KbqOptgroup extends KbqOptgroupMixinBase {
|
|
1770
|
+
constructor() {
|
|
1771
|
+
super(...arguments);
|
|
1772
|
+
/** Unique id for the underlying label. */
|
|
1773
|
+
this.labelId = `kbq-optgroup-label-${uniqueOptgroupIdCounter++}`;
|
|
1774
|
+
}
|
|
1775
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOptgroup, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1776
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqOptgroup, selector: "kbq-optgroup", inputs: { disabled: "disabled", label: "label" }, host: { properties: { "class.kbq-disabled": "disabled" }, classAttribute: "kbq-optgroup" }, exportAs: ["kbqOptgroup"], usesInheritance: true, ngImport: i0, template: "<label\n class=\"kbq-optgroup-label\"\n [id]=\"labelId\"\n>\n {{ label }}\n</label>\n<ng-content select=\"kbq-option, kbq-list-option, kbq-timezone-option, ng-container\"></ng-content>\n", styles: [".kbq-optgroup-label{padding-left:var(--kbq-size-m, 12px);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1777
|
+
}
|
|
1778
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOptgroup, decorators: [{
|
|
1779
|
+
type: Component,
|
|
1780
|
+
args: [{ selector: 'kbq-optgroup', exportAs: 'kbqOptgroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['disabled'], host: {
|
|
1781
|
+
class: 'kbq-optgroup',
|
|
1782
|
+
'[class.kbq-disabled]': 'disabled'
|
|
1783
|
+
}, template: "<label\n class=\"kbq-optgroup-label\"\n [id]=\"labelId\"\n>\n {{ label }}\n</label>\n<ng-content select=\"kbq-option, kbq-list-option, kbq-timezone-option, ng-container\"></ng-content>\n", styles: [".kbq-optgroup-label{padding-left:var(--kbq-size-m, 12px);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}\n"] }]
|
|
1784
|
+
}], propDecorators: { label: [{
|
|
1785
|
+
type: Input
|
|
1786
|
+
}] } });
|
|
1787
|
+
|
|
1788
|
+
const KBQ_TITLE_TEXT_REF = new InjectionToken('KbqTitleTextRef');
|
|
1789
|
+
|
|
1790
|
+
// Boilerplate for applying mixins to KbqPseudoCheckbox.
|
|
1791
|
+
/** @docs-private */
|
|
1792
|
+
class KbqPseudoCheckboxBase {
|
|
1793
|
+
constructor(elementRef) {
|
|
1794
|
+
this.elementRef = elementRef;
|
|
1795
|
+
}
|
|
1796
|
+
}
|
|
1797
|
+
/** @docs-private */
|
|
1798
|
+
const KbqPseudoCheckboxMixinBase = mixinColor(mixinDisabled(KbqPseudoCheckboxBase), KbqComponentColors.Theme);
|
|
1799
|
+
/**
|
|
1800
|
+
* Component that shows a simplified checkbox without including any kind of "real" checkbox.
|
|
1801
|
+
* Meant to be used when the checkbox is purely decorative and a large number of them will be
|
|
1802
|
+
* included, such as for the options in a multi-select. Uses no SVGs or complex animations.
|
|
1803
|
+
* Note that theming is meant to be handled by the parent element, e.g.
|
|
1804
|
+
* `kbq-primary .kbq-pseudo-checkbox`.
|
|
1805
|
+
*
|
|
1806
|
+
* Note that this component will be completely invisible to screen-reader users. This is *not*
|
|
1807
|
+
* interchangeable with `<kbq-checkbox>` and should *not* be used if the user would directly
|
|
1808
|
+
* interact with the checkbox. The pseudo-checkbox should only be used as an implementation detail
|
|
1809
|
+
* of more complex components that appropriately handle selected / checked state.
|
|
1810
|
+
* @docs-private
|
|
1811
|
+
*/
|
|
1812
|
+
class KbqPseudoCheckbox extends KbqPseudoCheckboxMixinBase {
|
|
1813
|
+
constructor(elementRef) {
|
|
1814
|
+
super(elementRef);
|
|
1815
|
+
this.big = false;
|
|
1816
|
+
this.state = 'unchecked';
|
|
1817
|
+
this.disabled = false;
|
|
1818
|
+
}
|
|
1819
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqPseudoCheckbox, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1820
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqPseudoCheckbox, selector: "kbq-pseudo-checkbox", inputs: { color: "color", big: "big", state: "state", disabled: "disabled" }, host: { properties: { "class.kbq-checkbox_big": "big", "class.kbq-indeterminate": "state === \"indeterminate\"", "class.kbq-checked": "state === \"checked\"", "class.kbq-disabled": "disabled" }, classAttribute: "kbq-pseudo-checkbox" }, usesInheritance: true, ngImport: i0, template: "<i class=\"kbq-checkbox-checkmark mc mc-check_16\"></i>\n<i class=\"kbq-checkbox-mixedmark mc mc-minus_16\"></i>\n", styles: [".kbq-pseudo-checkbox{position:relative;display:inline-flex;box-sizing:border-box;align-items:center;justify-content:center;width:var(--kbq-checkbox-size-normal-width, 16px);height:var(--kbq-checkbox-size-normal-width, 16px);border-radius:var(--kbq-checkbox-size-normal-border-radius, 4px);border-width:var(--kbq-checkbox-size-normal-border-width, 1px);border-style:solid;cursor:pointer;vertical-align:middle;flex-shrink:0}.kbq-pseudo-checkbox .kbq-checkbox-checkmark,.kbq-pseudo-checkbox .kbq-checkbox-mixedmark{display:none}.kbq-pseudo-checkbox.kbq-pseudo-checkbox-checked,.kbq-pseudo-checkbox.kbq-pseudo-checkbox-indeterminate{border-color:transparent}.kbq-pseudo-checkbox.kbq-checked .kbq-checkbox-checkmark,.kbq-pseudo-checkbox.kbq-indeterminate .kbq-checkbox-mixedmark{display:inline-block}.kbq-pseudo-checkbox.kbq-disabled{cursor:default}.kbq-pseudo-checkbox.kbq-pseudo-checkbox_big{width:var(--kbq-checkbox-size-big-width, 16px);height:var(--kbq-checkbox-size-big-width, 16px);border-radius:var(--kbq-checkbox-size-big-border-radius, 4px);border-width:var(--kbq-checkbox-size-big-border-width, 1px)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1821
|
+
}
|
|
1822
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqPseudoCheckbox, decorators: [{
|
|
1823
|
+
type: Component,
|
|
1824
|
+
args: [{ selector: 'kbq-pseudo-checkbox', host: {
|
|
1825
|
+
class: 'kbq-pseudo-checkbox',
|
|
1826
|
+
'[class.kbq-checkbox_big]': 'big',
|
|
1827
|
+
'[class.kbq-indeterminate]': 'state === "indeterminate"',
|
|
1828
|
+
'[class.kbq-checked]': 'state === "checked"',
|
|
1605
1829
|
'[class.kbq-disabled]': 'disabled'
|
|
1606
1830
|
}, preserveWhitespaces: false, inputs: ['color'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<i class=\"kbq-checkbox-checkmark mc mc-check_16\"></i>\n<i class=\"kbq-checkbox-mixedmark mc mc-minus_16\"></i>\n", styles: [".kbq-pseudo-checkbox{position:relative;display:inline-flex;box-sizing:border-box;align-items:center;justify-content:center;width:var(--kbq-checkbox-size-normal-width, 16px);height:var(--kbq-checkbox-size-normal-width, 16px);border-radius:var(--kbq-checkbox-size-normal-border-radius, 4px);border-width:var(--kbq-checkbox-size-normal-border-width, 1px);border-style:solid;cursor:pointer;vertical-align:middle;flex-shrink:0}.kbq-pseudo-checkbox .kbq-checkbox-checkmark,.kbq-pseudo-checkbox .kbq-checkbox-mixedmark{display:none}.kbq-pseudo-checkbox.kbq-pseudo-checkbox-checked,.kbq-pseudo-checkbox.kbq-pseudo-checkbox-indeterminate{border-color:transparent}.kbq-pseudo-checkbox.kbq-checked .kbq-checkbox-checkmark,.kbq-pseudo-checkbox.kbq-indeterminate .kbq-checkbox-mixedmark{display:inline-block}.kbq-pseudo-checkbox.kbq-disabled{cursor:default}.kbq-pseudo-checkbox.kbq-pseudo-checkbox_big{width:var(--kbq-checkbox-size-big-width, 16px);height:var(--kbq-checkbox-size-big-width, 16px);border-radius:var(--kbq-checkbox-size-big-border-radius, 4px);border-width:var(--kbq-checkbox-size-big-border-width, 1px)}\n"] }]
|
|
1607
1831
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { big: [{
|
|
@@ -1823,9 +2047,12 @@ class KbqOption extends KbqOptionBase {
|
|
|
1823
2047
|
return this.element.nativeElement;
|
|
1824
2048
|
}
|
|
1825
2049
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOption, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: KBQ_OPTION_PARENT_COMPONENT, optional: true }, { token: KbqOptgroup, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1826
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqOption, selector: "kbq-option", inputs: { value: "value", showCheckbox: "showCheckbox", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { listeners: { "click": "selectViaInteraction()", "keydown": "handleKeydown($event)" }, properties: { "attr.tabindex": "getTabIndex()", "class.kbq-selected": "selected", "class.kbq-option-multiple": "multiple", "class.kbq-active": "active", "class.kbq-disabled": "disabled", "id": "id" }, classAttribute: "kbq-option" }, providers: [
|
|
1827
|
-
|
|
1828
|
-
|
|
2050
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqOption, selector: "kbq-option", inputs: { value: "value", showCheckbox: "showCheckbox", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { listeners: { "click": "selectViaInteraction()", "keydown": "handleKeydown($event)" }, properties: { "attr.tabindex": "getTabIndex()", "class.kbq-selected": "selected", "class.kbq-option-multiple": "multiple", "class.kbq-active": "active", "class.kbq-disabled": "disabled", "id": "id" }, classAttribute: "kbq-option" }, providers: [
|
|
2051
|
+
{
|
|
2052
|
+
provide: KBQ_TITLE_TEXT_REF,
|
|
2053
|
+
useExisting: KbqOption
|
|
2054
|
+
}
|
|
2055
|
+
], viewQueries: [{ propertyName: "textElement", first: true, predicate: ["kbqTitleText"], descendants: true }], exportAs: ["kbqOption"], usesInheritance: true, ngImport: i0, template: "<kbq-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [disabled]=\"disabled\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n></kbq-pseudo-checkbox>\n\n<span\n #kbqTitleText\n class=\"kbq-option-text\"\n>\n <ng-content></ng-content>\n</span>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:29px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 10px,#ffffff0a 10px 20px,#0000000a 20px 30px,#ffffff0a 31px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-option{position:relative;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:32px;gap:var(--kbq-size-s, 8px);border:var(--kbq-size-3xs, 2px) solid transparent;padding-top:var(--kbq-size-xxs, 4px);padding-left:var(--kbq-size-m, 12px);padding-right:var(--kbq-size-m, 12px);padding-bottom:var(--kbq-size-xxs, 4px)}.kbq-option .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option .kbq-list-text:empty{display:none}.kbq-option .kbq-list-option-caption{padding-top:var(--kbq-size-3xs, 2px)}.kbq-option:not(.kbq-disabled){cursor:pointer}.kbq-option-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option-text:empty{display:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: KbqPseudoCheckbox, selector: "kbq-pseudo-checkbox", inputs: ["color", "big", "state", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1829
2056
|
}
|
|
1830
2057
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOption, decorators: [{
|
|
1831
2058
|
type: Component,
|
|
@@ -1839,9 +2066,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
|
|
|
1839
2066
|
'[id]': 'id',
|
|
1840
2067
|
'(click)': 'selectViaInteraction()',
|
|
1841
2068
|
'(keydown)': 'handleKeydown($event)'
|
|
1842
|
-
}, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
1843
|
-
|
|
1844
|
-
|
|
2069
|
+
}, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
2070
|
+
{
|
|
2071
|
+
provide: KBQ_TITLE_TEXT_REF,
|
|
2072
|
+
useExisting: KbqOption
|
|
2073
|
+
}
|
|
2074
|
+
], template: "<kbq-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [disabled]=\"disabled\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n></kbq-pseudo-checkbox>\n\n<span\n #kbqTitleText\n class=\"kbq-option-text\"\n>\n <ng-content></ng-content>\n</span>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:29px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 10px,#ffffff0a 10px 20px,#0000000a 20px 30px,#ffffff0a 31px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-option{position:relative;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:32px;gap:var(--kbq-size-s, 8px);border:var(--kbq-size-3xs, 2px) solid transparent;padding-top:var(--kbq-size-xxs, 4px);padding-left:var(--kbq-size-m, 12px);padding-right:var(--kbq-size-m, 12px);padding-bottom:var(--kbq-size-xxs, 4px)}.kbq-option .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option .kbq-list-text:empty{display:none}.kbq-option .kbq-list-option-caption{padding-top:var(--kbq-size-3xs, 2px)}.kbq-option:not(.kbq-disabled){cursor:pointer}.kbq-option-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option-text:empty{display:none}\n"] }]
|
|
1845
2075
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
1846
2076
|
type: Optional
|
|
1847
2077
|
}, {
|
|
@@ -1901,120 +2131,6 @@ function getOptionScrollPosition(optionIndex, optionHeight, currentScrollPositio
|
|
|
1901
2131
|
return currentScrollPosition;
|
|
1902
2132
|
}
|
|
1903
2133
|
|
|
1904
|
-
const KBQ_OPTION_ACTION_PARENT = new InjectionToken('KBQ_OPTION_ACTION_PARENT');
|
|
1905
|
-
/** @docs-private */
|
|
1906
|
-
class KbqOptionActionBase {
|
|
1907
|
-
}
|
|
1908
|
-
/** @docs-private */
|
|
1909
|
-
const KbqOptionActionMixinBase = mixinTabIndex(mixinDisabled(KbqOptionActionBase));
|
|
1910
|
-
class KbqOptionActionComponent extends KbqOptionActionMixinBase {
|
|
1911
|
-
get active() {
|
|
1912
|
-
return this.hasFocus || !!this.option.dropdownTrigger?.opened;
|
|
1913
|
-
}
|
|
1914
|
-
constructor(elementRef, focusMonitor, option) {
|
|
1915
|
-
super();
|
|
1916
|
-
this.elementRef = elementRef;
|
|
1917
|
-
this.focusMonitor = focusMonitor;
|
|
1918
|
-
this.option = option;
|
|
1919
|
-
this.hasFocus = false;
|
|
1920
|
-
this.destroy = new Subject();
|
|
1921
|
-
this.focusMonitor.monitor(this.elementRef.nativeElement);
|
|
1922
|
-
}
|
|
1923
|
-
ngAfterViewInit() {
|
|
1924
|
-
if (!this.option.dropdownTrigger) {
|
|
1925
|
-
return;
|
|
1926
|
-
}
|
|
1927
|
-
this.option.dropdownTrigger.restoreFocus = false;
|
|
1928
|
-
this.option.dropdownTrigger.dropdownClosed
|
|
1929
|
-
.pipe(takeUntil(this.destroy))
|
|
1930
|
-
.subscribe(() => {
|
|
1931
|
-
this.preventShowingTooltip();
|
|
1932
|
-
const destroyReason = this.option.dropdownTrigger.lastDestroyReason === 'keydown' ?
|
|
1933
|
-
'keyboard' :
|
|
1934
|
-
'program';
|
|
1935
|
-
this.focus(destroyReason);
|
|
1936
|
-
});
|
|
1937
|
-
}
|
|
1938
|
-
ngOnDestroy() {
|
|
1939
|
-
this.destroy.next();
|
|
1940
|
-
this.destroy.complete();
|
|
1941
|
-
this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
|
|
1942
|
-
}
|
|
1943
|
-
focus(origin, options) {
|
|
1944
|
-
if (this.focusMonitor && origin) {
|
|
1945
|
-
this.focusMonitor.focusVia(this.elementRef.nativeElement, origin, options);
|
|
1946
|
-
}
|
|
1947
|
-
else {
|
|
1948
|
-
this.elementRef.nativeElement.focus();
|
|
1949
|
-
}
|
|
1950
|
-
this.hasFocus = true;
|
|
1951
|
-
}
|
|
1952
|
-
onFocus($event) {
|
|
1953
|
-
$event.stopPropagation();
|
|
1954
|
-
this.hasFocus = true;
|
|
1955
|
-
}
|
|
1956
|
-
onBlur() {
|
|
1957
|
-
this.hasFocus = false;
|
|
1958
|
-
}
|
|
1959
|
-
onClick($event) {
|
|
1960
|
-
$event.stopPropagation();
|
|
1961
|
-
}
|
|
1962
|
-
onKeyDown($event) {
|
|
1963
|
-
if ([SPACE, ENTER].includes($event.keyCode) && this.option.dropdownTrigger) {
|
|
1964
|
-
this.option.dropdownTrigger.openedBy = 'keyboard';
|
|
1965
|
-
this.option.dropdownTrigger.toggle();
|
|
1966
|
-
}
|
|
1967
|
-
else if ($event.shiftKey && $event.keyCode === TAB) {
|
|
1968
|
-
this.hasFocus = false;
|
|
1969
|
-
this.option.focus();
|
|
1970
|
-
}
|
|
1971
|
-
else if ($event.keyCode === TAB) {
|
|
1972
|
-
return;
|
|
1973
|
-
}
|
|
1974
|
-
$event.preventDefault();
|
|
1975
|
-
$event.stopPropagation();
|
|
1976
|
-
}
|
|
1977
|
-
preventShowingTooltip() {
|
|
1978
|
-
if (!this.option.tooltipTrigger) {
|
|
1979
|
-
return;
|
|
1980
|
-
}
|
|
1981
|
-
this.option.tooltipTrigger.disabled = true;
|
|
1982
|
-
setTimeout(() => this.option.tooltipTrigger.disabled = false);
|
|
1983
|
-
}
|
|
1984
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOptionActionComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.FocusMonitor }, { token: KBQ_OPTION_ACTION_PARENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1985
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqOptionActionComponent, selector: "kbq-option-action", inputs: { disabled: "disabled" }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur()", "click": "onClick($event)", "keydown": "onKeyDown($event)" }, properties: { "class.kbq-expanded": "false", "class.kbq-disabled": "disabled", "attr.disabled": "disabled || null", "attr.tabIndex": "-1" }, classAttribute: "kbq-option-action" }, queries: [{ propertyName: "customIcon", first: true, predicate: ["customIcon"], descendants: true }], exportAs: ["kbqOptionAction"], usesInheritance: true, ngImport: i0, template: `
|
|
1986
|
-
<ng-container [ngSwitch]="!!customIcon">
|
|
1987
|
-
<i class="mc kbq-icon mc-ellipsis_16" *ngSwitchCase="false"></i>
|
|
1988
|
-
<ng-content select="[kbq-icon]" *ngSwitchCase="true"></ng-content>
|
|
1989
|
-
</ng-container>
|
|
1990
|
-
`, isInline: true, styles: [".kbq-option-action{box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:-2px;width:24px;height:24px;cursor:pointer;outline:none;border:2px solid transparent;background:transparent}.kbq-option-action.kbq-disabled{cursor:default}\n"], dependencies: [{ kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1991
|
-
}
|
|
1992
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqOptionActionComponent, decorators: [{
|
|
1993
|
-
type: Component,
|
|
1994
|
-
args: [{ selector: 'kbq-option-action', exportAs: 'kbqOptionAction', template: `
|
|
1995
|
-
<ng-container [ngSwitch]="!!customIcon">
|
|
1996
|
-
<i class="mc kbq-icon mc-ellipsis_16" *ngSwitchCase="false"></i>
|
|
1997
|
-
<ng-content select="[kbq-icon]" *ngSwitchCase="true"></ng-content>
|
|
1998
|
-
</ng-container>
|
|
1999
|
-
`, host: {
|
|
2000
|
-
class: 'kbq-option-action',
|
|
2001
|
-
'[class.kbq-expanded]': 'false',
|
|
2002
|
-
'[class.kbq-disabled]': 'disabled',
|
|
2003
|
-
'[attr.disabled]': 'disabled || null',
|
|
2004
|
-
'[attr.tabIndex]': '-1',
|
|
2005
|
-
'(focus)': 'onFocus($event)',
|
|
2006
|
-
'(blur)': 'onBlur()',
|
|
2007
|
-
'(click)': 'onClick($event)',
|
|
2008
|
-
'(keydown)': 'onKeyDown($event)'
|
|
2009
|
-
}, inputs: ['disabled'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".kbq-option-action{box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:-2px;width:24px;height:24px;cursor:pointer;outline:none;border:2px solid transparent;background:transparent}.kbq-option-action.kbq-disabled{cursor:default}\n"] }]
|
|
2010
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1$1.FocusMonitor }, { type: undefined, decorators: [{
|
|
2011
|
-
type: Inject,
|
|
2012
|
-
args: [KBQ_OPTION_ACTION_PARENT]
|
|
2013
|
-
}] }], propDecorators: { customIcon: [{
|
|
2014
|
-
type: ContentChild,
|
|
2015
|
-
args: ['customIcon']
|
|
2016
|
-
}] } });
|
|
2017
|
-
|
|
2018
2134
|
var MultipleMode;
|
|
2019
2135
|
(function (MultipleMode) {
|
|
2020
2136
|
MultipleMode["CHECKBOX"] = "checkbox";
|
|
@@ -2464,8 +2580,10 @@ class KbqPopUpTrigger {
|
|
|
2464
2580
|
let newPlacement = this.placement;
|
|
2465
2581
|
const { originX, originY, overlayX, overlayY } = $event.connectionPair;
|
|
2466
2582
|
Object.keys(this.availablePositions).some((key) => {
|
|
2467
|
-
if (originX === this.availablePositions[key].originX &&
|
|
2468
|
-
|
|
2583
|
+
if (originX === this.availablePositions[key].originX &&
|
|
2584
|
+
originY === this.availablePositions[key].originY &&
|
|
2585
|
+
overlayX === this.availablePositions[key].overlayX &&
|
|
2586
|
+
overlayY === this.availablePositions[key].overlayY) {
|
|
2469
2587
|
newPlacement = key;
|
|
2470
2588
|
return true;
|
|
2471
2589
|
}
|
|
@@ -2527,7 +2645,8 @@ class KbqPopUpTrigger {
|
|
|
2527
2645
|
}
|
|
2528
2646
|
}
|
|
2529
2647
|
handleKeydown(event) {
|
|
2530
|
-
if (this.isOpen && event.keyCode === ESCAPE) {
|
|
2648
|
+
if (this.isOpen && event.keyCode === ESCAPE) {
|
|
2649
|
+
// tslint:disable-line
|
|
2531
2650
|
this.hide();
|
|
2532
2651
|
}
|
|
2533
2652
|
}
|
|
@@ -2543,14 +2662,10 @@ class KbqPopUpTrigger {
|
|
|
2543
2662
|
this.detach();
|
|
2544
2663
|
this.portal = this.portal || new ComponentPortal(this.getOverlayHandleComponentType(), this.hostView);
|
|
2545
2664
|
this.instance = this.overlayRef.attach(this.portal).instance;
|
|
2546
|
-
this.instance.afterHidden()
|
|
2547
|
-
.pipe(takeUntil(this.destroyed))
|
|
2548
|
-
.subscribe(this.detach);
|
|
2665
|
+
this.instance.afterHidden().pipe(takeUntil(this.destroyed)).subscribe(this.detach);
|
|
2549
2666
|
this.updateClassMap();
|
|
2550
2667
|
this.updateData();
|
|
2551
|
-
this.instance.visibleChange
|
|
2552
|
-
.pipe(takeUntil(this.destroyed), distinctUntilChanged())
|
|
2553
|
-
.subscribe((value) => {
|
|
2668
|
+
this.instance.visibleChange.pipe(takeUntil(this.destroyed), distinctUntilChanged()).subscribe((value) => {
|
|
2554
2669
|
this.visible = value;
|
|
2555
2670
|
this.visibleChange.emit(value);
|
|
2556
2671
|
this.isOpen = value;
|
|
@@ -2577,9 +2692,7 @@ class KbqPopUpTrigger {
|
|
|
2577
2692
|
.withPositions([...EXTENDED_OVERLAY_POSITIONS])
|
|
2578
2693
|
.withLockedPosition()
|
|
2579
2694
|
.withScrollableContainers(this.scrollDispatcher.getAncestorScrollContainers(this.elementRef));
|
|
2580
|
-
strategy.positionChanges
|
|
2581
|
-
.pipe(takeUntil(this.destroyed))
|
|
2582
|
-
.subscribe(this.onPositionChange);
|
|
2695
|
+
strategy.positionChanges.pipe(takeUntil(this.destroyed)).subscribe(this.onPositionChange);
|
|
2583
2696
|
this.overlayRef = this.overlay.create({
|
|
2584
2697
|
...this.overlayConfig,
|
|
2585
2698
|
direction: this.direction,
|
|
@@ -2587,39 +2700,32 @@ class KbqPopUpTrigger {
|
|
|
2587
2700
|
scrollStrategy: this.scrollStrategy()
|
|
2588
2701
|
});
|
|
2589
2702
|
this.subscribeOnClosingActions();
|
|
2590
|
-
this.overlayRef.detachments()
|
|
2591
|
-
.pipe(takeUntil(this.destroyed))
|
|
2592
|
-
.subscribe(this.detach);
|
|
2703
|
+
this.overlayRef.detachments().pipe(takeUntil(this.destroyed)).subscribe(this.detach);
|
|
2593
2704
|
return this.overlayRef;
|
|
2594
2705
|
}
|
|
2595
2706
|
initListeners() {
|
|
2596
2707
|
this.clearListeners();
|
|
2597
2708
|
if (this.trigger.includes(PopUpTriggers.Click)) {
|
|
2598
|
-
this.listeners
|
|
2599
|
-
.set('click', () => this.show())
|
|
2600
|
-
.forEach(this.addEventListener);
|
|
2709
|
+
this.listeners.set(...this.createListener('click', this.show));
|
|
2601
2710
|
}
|
|
2602
2711
|
if (this.trigger.includes(PopUpTriggers.Hover)) {
|
|
2603
2712
|
this.listeners
|
|
2604
|
-
.set('mouseenter',
|
|
2605
|
-
.set('mouseleave',
|
|
2606
|
-
.forEach(this.addEventListener);
|
|
2713
|
+
.set(...this.createListener('mouseenter', this.show))
|
|
2714
|
+
.set(...this.createListener('mouseleave', this.hide));
|
|
2607
2715
|
}
|
|
2608
2716
|
if (this.trigger.includes(PopUpTriggers.Focus)) {
|
|
2609
2717
|
this.listeners
|
|
2610
|
-
.set('focus',
|
|
2611
|
-
.set('blur',
|
|
2612
|
-
.forEach(this.addEventListener);
|
|
2718
|
+
.set(...this.createListener('focus', this.show))
|
|
2719
|
+
.set(...this.createListener('blur', this.hide));
|
|
2613
2720
|
}
|
|
2614
2721
|
if (this.trigger.includes(PopUpTriggers.Keydown)) {
|
|
2615
|
-
this.listeners
|
|
2616
|
-
.set('keydown', (event) => {
|
|
2722
|
+
this.listeners.set('keydown', (event) => {
|
|
2617
2723
|
if (event instanceof KeyboardEvent && [ENTER, SPACE].includes(event.keyCode)) {
|
|
2618
2724
|
this.show();
|
|
2619
2725
|
}
|
|
2620
|
-
})
|
|
2621
|
-
.forEach(this.addEventListener);
|
|
2726
|
+
});
|
|
2622
2727
|
}
|
|
2728
|
+
this.listeners.forEach(this.addEventListener);
|
|
2623
2729
|
}
|
|
2624
2730
|
/** Updates the position of the current popover. */
|
|
2625
2731
|
updatePosition(reapplyPosition = false) {
|
|
@@ -2657,6 +2763,15 @@ class KbqPopUpTrigger {
|
|
|
2657
2763
|
this.listeners.forEach(this.removeEventListener);
|
|
2658
2764
|
this.listeners.clear();
|
|
2659
2765
|
}
|
|
2766
|
+
createListener(name, listener) {
|
|
2767
|
+
return [
|
|
2768
|
+
name,
|
|
2769
|
+
() => {
|
|
2770
|
+
this.triggerName = name;
|
|
2771
|
+
return listener.call(this);
|
|
2772
|
+
}
|
|
2773
|
+
];
|
|
2774
|
+
}
|
|
2660
2775
|
subscribeOnClosingActions() {
|
|
2661
2776
|
this.closingActionsSubscription?.unsubscribe();
|
|
2662
2777
|
this.closingActionsSubscription = this.closingActions()
|
|
@@ -2676,33 +2791,120 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
|
|
|
2676
2791
|
type: Directive
|
|
2677
2792
|
}], ctorParameters: () => [{ type: i1$2.Overlay }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i1$2.ScrollDispatcher }, { type: i0.ViewContainerRef }, { type: undefined }, { type: i2$1.Directionality }] });
|
|
2678
2793
|
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
/**
|
|
2682
|
-
|
|
2683
|
-
* after initialization.
|
|
2684
|
-
* @docs-private
|
|
2685
|
-
*/
|
|
2686
|
-
function getKbqSelectDynamicMultipleError() {
|
|
2687
|
-
return Error('Cannot change `multiple` mode of select after initialization.');
|
|
2794
|
+
/* tslint:disable:no-empty */
|
|
2795
|
+
class KbqSelectTrigger {
|
|
2796
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqSelectTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2797
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: KbqSelectTrigger, isStandalone: true, selector: "kbq-select-trigger, [kbq-select-trigger]", ngImport: i0 }); }
|
|
2688
2798
|
}
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2799
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqSelectTrigger, decorators: [{
|
|
2800
|
+
type: Directive,
|
|
2801
|
+
args: [{
|
|
2802
|
+
selector: 'kbq-select-trigger, [kbq-select-trigger]',
|
|
2803
|
+
standalone: true
|
|
2804
|
+
}]
|
|
2805
|
+
}] });
|
|
2806
|
+
class KbqSelectMatcher {
|
|
2807
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqSelectMatcher, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2808
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: KbqSelectMatcher, isStandalone: true, selector: "kbq-select-matcher, [kbq-select-matcher]", ngImport: i0 }); }
|
|
2697
2809
|
}
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2810
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqSelectMatcher, decorators: [{
|
|
2811
|
+
type: Directive,
|
|
2812
|
+
args: [{
|
|
2813
|
+
selector: 'kbq-select-matcher, [kbq-select-matcher]',
|
|
2814
|
+
standalone: true
|
|
2815
|
+
}]
|
|
2816
|
+
}] });
|
|
2817
|
+
class KbqSelectFooter {
|
|
2818
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqSelectFooter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2819
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: KbqSelectFooter, isStandalone: true, selector: "kbq-select-footer, [kbq-select-footer]", host: { classAttribute: "kbq-select__footer" }, ngImport: i0 }); }
|
|
2820
|
+
}
|
|
2821
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqSelectFooter, decorators: [{
|
|
2822
|
+
type: Directive,
|
|
2823
|
+
args: [{
|
|
2824
|
+
selector: 'kbq-select-footer, [kbq-select-footer]',
|
|
2825
|
+
host: { class: 'kbq-select__footer' },
|
|
2826
|
+
standalone: true
|
|
2827
|
+
}]
|
|
2828
|
+
}] });
|
|
2829
|
+
class KbqSelectSearch {
|
|
2830
|
+
get ngControl() {
|
|
2831
|
+
return this.formField.control.ngControl;
|
|
2832
|
+
}
|
|
2833
|
+
constructor(formField) {
|
|
2834
|
+
this.formField = formField;
|
|
2835
|
+
this.searchChangesSubscription = new Subscription();
|
|
2836
|
+
this.isSearchChanged = false;
|
|
2837
|
+
formField.canCleanerClearByEsc = false;
|
|
2838
|
+
}
|
|
2839
|
+
focus() {
|
|
2840
|
+
this.formField.focusViaKeyboard();
|
|
2841
|
+
}
|
|
2842
|
+
reset() {
|
|
2843
|
+
this.ngControl.reset();
|
|
2844
|
+
}
|
|
2845
|
+
value() {
|
|
2846
|
+
return this.formField.control.value;
|
|
2847
|
+
}
|
|
2848
|
+
ngAfterContentInit() {
|
|
2849
|
+
if (this.formField.control.controlType !== 'input') {
|
|
2850
|
+
throw Error('KbqSelectSearch does not work without kbqInput');
|
|
2851
|
+
}
|
|
2852
|
+
if (!this.ngControl) {
|
|
2853
|
+
throw Error('KbqSelectSearch does not work without ngControl');
|
|
2854
|
+
}
|
|
2855
|
+
Promise.resolve().then(() => {
|
|
2856
|
+
this.searchChangesSubscription = this.ngControl.valueChanges.subscribe(() => {
|
|
2857
|
+
this.isSearchChanged = true;
|
|
2858
|
+
});
|
|
2859
|
+
});
|
|
2860
|
+
}
|
|
2861
|
+
ngOnDestroy() {
|
|
2862
|
+
this.searchChangesSubscription.unsubscribe();
|
|
2863
|
+
}
|
|
2864
|
+
handleKeydown(event) {
|
|
2865
|
+
// tslint:disable-next-line:deprecation
|
|
2866
|
+
if (event.keyCode === ESCAPE) {
|
|
2867
|
+
if (this.value()) {
|
|
2868
|
+
this.reset();
|
|
2869
|
+
event.stopPropagation();
|
|
2870
|
+
}
|
|
2871
|
+
}
|
|
2872
|
+
// tslint:disable-next-line:deprecation
|
|
2873
|
+
if ([SPACE, HOME, END].includes(event.keyCode)) {
|
|
2874
|
+
event.stopPropagation();
|
|
2875
|
+
}
|
|
2876
|
+
}
|
|
2877
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqSelectSearch, deps: [{ token: KBQ_FORM_FIELD_REF, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2878
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: KbqSelectSearch, isStandalone: true, selector: "[kbqSelectSearch]", host: { listeners: { "keydown": "handleKeydown($event)" } }, exportAs: ["kbqSelectSearch"], ngImport: i0 }); }
|
|
2705
2879
|
}
|
|
2880
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqSelectSearch, decorators: [{
|
|
2881
|
+
type: Directive,
|
|
2882
|
+
args: [{
|
|
2883
|
+
selector: '[kbqSelectSearch]',
|
|
2884
|
+
exportAs: 'kbqSelectSearch',
|
|
2885
|
+
standalone: true,
|
|
2886
|
+
host: {
|
|
2887
|
+
'(keydown)': 'handleKeydown($event)'
|
|
2888
|
+
}
|
|
2889
|
+
}]
|
|
2890
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
2891
|
+
type: Optional
|
|
2892
|
+
}, {
|
|
2893
|
+
type: Inject,
|
|
2894
|
+
args: [KBQ_FORM_FIELD_REF]
|
|
2895
|
+
}] }] });
|
|
2896
|
+
class KbqSelectSearchEmptyResult {
|
|
2897
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqSelectSearchEmptyResult, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2898
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: KbqSelectSearchEmptyResult, isStandalone: true, selector: "[kbq-select-search-empty-result]", exportAs: ["kbqSelectSearchEmptyResult"], ngImport: i0 }); }
|
|
2899
|
+
}
|
|
2900
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqSelectSearchEmptyResult, decorators: [{
|
|
2901
|
+
type: Directive,
|
|
2902
|
+
args: [{
|
|
2903
|
+
selector: '[kbq-select-search-empty-result]',
|
|
2904
|
+
exportAs: 'kbqSelectSearchEmptyResult',
|
|
2905
|
+
standalone: true
|
|
2906
|
+
}]
|
|
2907
|
+
}] });
|
|
2706
2908
|
|
|
2707
2909
|
/** The max height of the select's overlay panel */
|
|
2708
2910
|
const SELECT_PANEL_MAX_HEIGHT = 224;
|
|
@@ -2729,6 +2931,34 @@ const KBQ_SELECT_SCROLL_STRATEGY_PROVIDER = {
|
|
|
2729
2931
|
useFactory: kbqSelectScrollStrategyProviderFactory
|
|
2730
2932
|
};
|
|
2731
2933
|
|
|
2934
|
+
/**
|
|
2935
|
+
* Returns an exception to be thrown when attempting to change a select's `multiple` option
|
|
2936
|
+
* after initialization.
|
|
2937
|
+
* @docs-private
|
|
2938
|
+
*/
|
|
2939
|
+
function getKbqSelectDynamicMultipleError() {
|
|
2940
|
+
return Error('Cannot change `multiple` mode of select after initialization.');
|
|
2941
|
+
}
|
|
2942
|
+
/**
|
|
2943
|
+
* Returns an exception to be thrown when attempting to assign a non-array value to a select
|
|
2944
|
+
* in `multiple` mode. Note that `undefined` and `null` are still valid values to allow for
|
|
2945
|
+
* resetting the value.
|
|
2946
|
+
* @docs-private
|
|
2947
|
+
*/
|
|
2948
|
+
function getKbqSelectNonArrayValueError() {
|
|
2949
|
+
return Error('Value must be an array in multiple-selection mode.');
|
|
2950
|
+
}
|
|
2951
|
+
/**
|
|
2952
|
+
* Returns an exception to be thrown when assigning a non-function value to the comparator
|
|
2953
|
+
* used to determine if a value corresponds to an option. Note that whether the function
|
|
2954
|
+
* actually takes two values and returns a boolean is not checked.
|
|
2955
|
+
*/
|
|
2956
|
+
function getKbqSelectNonFunctionValueError() {
|
|
2957
|
+
return Error('`compareWith` must be a function.');
|
|
2958
|
+
}
|
|
2959
|
+
|
|
2960
|
+
const selectEvents = 'selectEvents';
|
|
2961
|
+
|
|
2732
2962
|
class KbqMeasureScrollbarService {
|
|
2733
2963
|
get scrollBarWidth() {
|
|
2734
2964
|
if (this._scrollBarWidth) {
|
|
@@ -2802,9 +3032,10 @@ class ThemeService {
|
|
|
2802
3032
|
}
|
|
2803
3033
|
};
|
|
2804
3034
|
this.renderer = this.rendererFactory.createRenderer(null, null);
|
|
2805
|
-
this.subscription = this.current
|
|
2806
|
-
|
|
2807
|
-
|
|
3035
|
+
this.subscription = this.current.pipe(pairwise()).subscribe(this.update);
|
|
3036
|
+
}
|
|
3037
|
+
ngOnDestroy() {
|
|
3038
|
+
this.subscription.unsubscribe();
|
|
2808
3039
|
}
|
|
2809
3040
|
setThemes(items) {
|
|
2810
3041
|
this.themes = items;
|
|
@@ -2831,36 +3062,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
|
|
|
2831
3062
|
args: [{ providedIn: 'root' }]
|
|
2832
3063
|
}], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
|
|
2833
3064
|
|
|
2834
|
-
function isBoolean(val) { return typeof val === 'boolean'; }
|
|
2835
|
-
function toBoolean(value) {
|
|
2836
|
-
return value != null && `${value}` !== 'false';
|
|
2837
|
-
}
|
|
2838
|
-
|
|
2839
3065
|
var MeasurementSystem;
|
|
2840
3066
|
(function (MeasurementSystem) {
|
|
2841
3067
|
MeasurementSystem["SI"] = "SI";
|
|
2842
3068
|
MeasurementSystem["IEC"] = "IEC";
|
|
2843
3069
|
})(MeasurementSystem || (MeasurementSystem = {}));
|
|
2844
|
-
const
|
|
2845
|
-
|
|
2846
|
-
defaultPrecision: 2,
|
|
2847
|
-
unitSystems: {
|
|
2848
|
-
[MeasurementSystem.SI]: {
|
|
2849
|
-
abbreviations: ['B', 'KB', 'MB', 'GB', 'TB'],
|
|
2850
|
-
base: 10,
|
|
2851
|
-
power: 3
|
|
2852
|
-
},
|
|
2853
|
-
[MeasurementSystem.IEC]: {
|
|
2854
|
-
abbreviations: ['B', 'KiB', 'MiB', 'GiB', 'TiB'],
|
|
2855
|
-
base: 2,
|
|
2856
|
-
power: 10
|
|
2857
|
-
}
|
|
2858
|
-
}
|
|
2859
|
-
};
|
|
3070
|
+
const KBQ_SIZE_UNITS_DEFAULT_CONFIG = enUSFormattersData.sizeUnits;
|
|
3071
|
+
const KBQ_SIZE_UNITS_CONFIG = new InjectionToken('KbqSizeUnitsConfig');
|
|
2860
3072
|
|
|
2861
|
-
const formatDataSize = (value,
|
|
2862
|
-
const
|
|
2863
|
-
const { result, unit } = getHumanizedBytes(value, systemCode);
|
|
3073
|
+
const formatDataSize = (value, precision, system) => {
|
|
3074
|
+
const { result, unit } = getHumanizedBytes(value, system);
|
|
2864
3075
|
let volume;
|
|
2865
3076
|
if (system.abbreviations[0] === unit) {
|
|
2866
3077
|
volume = result.toString();
|
|
@@ -2877,25 +3088,20 @@ const formatDataSize = (value, systemCode = sizeUnitsConfig.defaultUnitSystem, p
|
|
|
2877
3088
|
* Переводит байты в Кб, Мб, Гб
|
|
2878
3089
|
*
|
|
2879
3090
|
* @param value количество байт
|
|
2880
|
-
* @param
|
|
3091
|
+
* @param system система измерения
|
|
2881
3092
|
* @param threshold нижний порог подсчета
|
|
2882
3093
|
*/
|
|
2883
|
-
const getHumanizedBytes = (value,
|
|
2884
|
-
const system = sizeUnitsConfig.unitSystems[systemCode];
|
|
2885
|
-
if (!system) {
|
|
2886
|
-
throw new Error(`Unit system "${systemCode}" not configured!`);
|
|
2887
|
-
}
|
|
3094
|
+
const getHumanizedBytes = (value, system, threshold) => {
|
|
2888
3095
|
if (!Number.isFinite(value)) {
|
|
2889
3096
|
throw new Error('Argument "value" must be number!');
|
|
2890
3097
|
}
|
|
2891
|
-
const
|
|
2892
|
-
? threshold : Math.pow(system.base, system.power);
|
|
3098
|
+
const calculatedThreshold = Number.isFinite(threshold) ? threshold : Math.pow(system.base, system.power);
|
|
2893
3099
|
const orderOfMagnitude = Math.pow(system.base, system.power);
|
|
2894
3100
|
let result = value;
|
|
2895
3101
|
let step = 0;
|
|
2896
3102
|
const len = system.abbreviations.length - 1;
|
|
2897
3103
|
while (step < len) {
|
|
2898
|
-
if (
|
|
3104
|
+
if (calculatedThreshold !== undefined && result < calculatedThreshold) {
|
|
2899
3105
|
break;
|
|
2900
3106
|
}
|
|
2901
3107
|
step++;
|
|
@@ -2908,42 +3114,62 @@ const getHumanizedBytes = (value, systemCode = sizeUnitsConfig.defaultUnitSystem
|
|
|
2908
3114
|
};
|
|
2909
3115
|
|
|
2910
3116
|
class KbqDataSizePipe {
|
|
2911
|
-
|
|
2912
|
-
|
|
3117
|
+
constructor(externalConfig, localeService) {
|
|
3118
|
+
this.externalConfig = externalConfig;
|
|
3119
|
+
this.localeService = localeService;
|
|
3120
|
+
this.updateLocaleParams = () => {
|
|
3121
|
+
this.config = this.externalConfig || this.localeService?.getParams('sizeUnits');
|
|
3122
|
+
};
|
|
3123
|
+
this.localeService?.changes.subscribe(this.updateLocaleParams);
|
|
3124
|
+
if (!localeService) {
|
|
3125
|
+
this.config = KBQ_SIZE_UNITS_DEFAULT_CONFIG;
|
|
3126
|
+
}
|
|
3127
|
+
}
|
|
3128
|
+
transform(source, precision, unitSystemName) {
|
|
3129
|
+
const unitSystem = this.config.unitSystems[unitSystemName || this.config.defaultUnitSystem];
|
|
3130
|
+
const { value, unit } = formatDataSize(source, precision || this.config.defaultPrecision, unitSystem);
|
|
2913
3131
|
return `${value} ${unit}`;
|
|
2914
3132
|
}
|
|
2915
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqDataSizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
2916
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0", ngImport: i0, type: KbqDataSizePipe, name: "kbqDataSize" }); }
|
|
3133
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqDataSizePipe, deps: [{ token: KBQ_SIZE_UNITS_CONFIG, optional: true }, { token: KBQ_LOCALE_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
3134
|
+
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.0", ngImport: i0, type: KbqDataSizePipe, isStandalone: true, name: "kbqDataSize", pure: false }); }
|
|
2917
3135
|
}
|
|
2918
3136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqDataSizePipe, decorators: [{
|
|
2919
3137
|
type: Pipe,
|
|
2920
3138
|
args: [{
|
|
2921
|
-
name: 'kbqDataSize'
|
|
3139
|
+
name: 'kbqDataSize',
|
|
3140
|
+
standalone: true,
|
|
3141
|
+
pure: false
|
|
2922
3142
|
}]
|
|
2923
|
-
}]
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
3143
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
3144
|
+
type: Optional
|
|
3145
|
+
}, {
|
|
3146
|
+
type: Inject,
|
|
3147
|
+
args: [KBQ_SIZE_UNITS_CONFIG]
|
|
3148
|
+
}] }, { type: KbqLocaleService, decorators: [{
|
|
3149
|
+
type: Optional
|
|
3150
|
+
}, {
|
|
3151
|
+
type: Inject,
|
|
3152
|
+
args: [KBQ_LOCALE_SERVICE]
|
|
3153
|
+
}] }] });
|
|
3154
|
+
|
|
3155
|
+
function isBoolean(val) {
|
|
3156
|
+
return typeof val === 'boolean';
|
|
3157
|
+
}
|
|
3158
|
+
function toBoolean(value) {
|
|
3159
|
+
return value != null && `${value}` !== 'false';
|
|
2928
3160
|
}
|
|
2929
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqDataSizeModule, decorators: [{
|
|
2930
|
-
type: NgModule,
|
|
2931
|
-
args: [{
|
|
2932
|
-
imports: [],
|
|
2933
|
-
exports: [KbqDataSizePipe],
|
|
2934
|
-
declarations: [KbqDataSizePipe]
|
|
2935
|
-
}]
|
|
2936
|
-
}] });
|
|
2937
3161
|
|
|
2938
3162
|
const validationTooltipShowDelay = 10;
|
|
2939
3163
|
const validationTooltipHideDelay = 3000;
|
|
2940
|
-
const KBQ_VALIDATION = new InjectionToken('KbqUseValidation', {
|
|
3164
|
+
const KBQ_VALIDATION = new InjectionToken('KbqUseValidation', {
|
|
3165
|
+
factory: () => ({ useValidation: true })
|
|
3166
|
+
});
|
|
2941
3167
|
|
|
2942
|
-
const VERSION = new Version('17.0.0-rc.
|
|
3168
|
+
const VERSION = new Version('17.0.0-rc.9+sha-ba3b07d');
|
|
2943
3169
|
|
|
2944
3170
|
/**
|
|
2945
3171
|
* Generated bundle index. Do not edit.
|
|
2946
3172
|
*/
|
|
2947
3173
|
|
|
2948
|
-
export { AbsoluteDateFormatterPipe, AbsoluteDateShortFormatterPipe, AbsoluteDateTimeFormatterPipe, AbsoluteShortDateTimeFormatterPipe, AnimationCurves, BOTTOM_LEFT_POSITION_PRIORITY, BOTTOM_POSITION_PRIORITY, BOTTOM_RIGHT_POSITION_PRIORITY, DateAdapter, DateFormatter, EXTENDED_OVERLAY_POSITIONS, ErrorStateMatcher, KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER, KBQ_DATE_FORMATS, KBQ_DATE_LOCALE, KBQ_DATE_LOCALE_FACTORY, KBQ_DEFAULT_LOCALE_DATA_FACTORY, KBQ_DEFAULT_LOCALE_ID, KBQ_FORM_FIELD_REF, KBQ_LABEL_GLOBAL_OPTIONS, KBQ_LOCALE_DATA, KBQ_LOCALE_ID, KBQ_LOCALE_SERVICE, KBQ_NUMBER_FORMATTER_DEFAULT_OPTIONS, KBQ_NUMBER_FORMATTER_OPTIONS, KBQ_OPTION_ACTION_PARENT, KBQ_OPTION_PARENT_COMPONENT, KBQ_PARENT_ANIMATION_COMPONENT, KBQ_SANITY_CHECKS, KBQ_SELECT_SCROLL_STRATEGY, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER, KBQ_TITLE_TEXT_REF, KBQ_VALIDATION, KbqCommonModule, KbqComponentColors,
|
|
3174
|
+
export { AbsoluteDateFormatterPipe, AbsoluteDateShortFormatterPipe, AbsoluteDateTimeFormatterPipe, AbsoluteShortDateTimeFormatterPipe, AnimationCurves, BOTTOM_LEFT_POSITION_PRIORITY, BOTTOM_POSITION_PRIORITY, BOTTOM_RIGHT_POSITION_PRIORITY, DateAdapter, DateFormatter, EXTENDED_OVERLAY_POSITIONS, ErrorStateMatcher, KBQ_CUSTOM_SCROLL_STRATEGY_PROVIDER, KBQ_DATE_FORMATS, KBQ_DATE_LOCALE, KBQ_DATE_LOCALE_FACTORY, KBQ_DEFAULT_LOCALE_DATA_FACTORY, KBQ_DEFAULT_LOCALE_ID, KBQ_FORM_FIELD_REF, KBQ_LABEL_GLOBAL_OPTIONS, KBQ_LOCALE_DATA, KBQ_LOCALE_ID, KBQ_LOCALE_SERVICE, KBQ_NUMBER_FORMATTER_DEFAULT_OPTIONS, KBQ_NUMBER_FORMATTER_OPTIONS, KBQ_OPTION_ACTION_PARENT, KBQ_OPTION_PARENT_COMPONENT, KBQ_PARENT_ANIMATION_COMPONENT, KBQ_SANITY_CHECKS, KBQ_SELECT_SCROLL_STRATEGY, KBQ_SELECT_SCROLL_STRATEGY_PROVIDER, KBQ_SIZE_UNITS_CONFIG, KBQ_SIZE_UNITS_DEFAULT_CONFIG, KBQ_TITLE_TEXT_REF, KBQ_VALIDATION, KbqCommonModule, KbqComponentColors, KbqDataSizePipe, KbqDecimalPipe, KbqDefaultThemes, KbqForm, KbqFormElement, KbqFormattersModule, KbqFormsModule, KbqHighlightModule, KbqHighlightPipe, KbqLine, KbqLineModule, KbqLineSetter, KbqLocaleService, KbqLocaleServiceModule, KbqMeasureScrollbarService, KbqOptgroup, KbqOptgroupBase, KbqOptgroupMixinBase, KbqOption, KbqOptionActionBase, KbqOptionActionComponent, KbqOptionActionMixinBase, KbqOptionBase, KbqOptionModule, KbqOptionSelectionChange, KbqPopUp, KbqPopUpTrigger, KbqPseudoCheckbox, KbqPseudoCheckboxBase, KbqPseudoCheckboxMixinBase, KbqPseudoCheckboxModule, KbqRoundDecimalPipe, KbqSelectFooter, KbqSelectMatcher, KbqSelectSearch, KbqSelectSearchEmptyResult, KbqSelectTrigger, KbqTableNumberPipe, KbqVirtualOption, LEFT_BOTTOM_POSITION_PRIORITY, LEFT_POSITION_PRIORITY, LEFT_TOP_POSITION_PRIORITY, MeasurementSystem, MultipleMode, NUMBER_FORMAT_REGEXP, POSITION_MAP, POSITION_PRIORITY_STRATEGY, POSITION_TO_CSS_MAP, PopUpPlacements, PopUpSizes, PopUpTriggers, PopUpVisibility, RIGHT_BOTTOM_POSITION_PRIORITY, RIGHT_POSITION_PRIORITY, RIGHT_TOP_POSITION_PRIORITY, RangeDateFormatterPipe, RangeDateTimeFormatterPipe, RangeMiddleDateTimeFormatterPipe, RangeShortDateFormatterPipe, RangeShortDateTimeFormatterPipe, RelativeDateFormatterPipe, RelativeDateTimeFormatterPipe, RelativeShortDateFormatterPipe, RelativeShortDateTimeFormatterPipe, SELECT_PANEL_INDENT_PADDING_X, SELECT_PANEL_MAX_HEIGHT, SELECT_PANEL_PADDING_X, SELECT_PANEL_VIEWPORT_PADDING, ShowOnDirtyErrorStateMatcher, TOP_LEFT_POSITION_PRIORITY, TOP_POSITION_PRIORITY, TOP_RIGHT_POSITION_PRIORITY, ThemePalette, ThemeService, VERSION, countGroupLabelsBeforeOption, enUSFormattersData, enUSLocaleData, esLAFormattersData, esLALocaleData, escapeRegExp, faIRFormattersData, faIRLocaleData, fadeAnimation, formatDataSize, getHumanizedBytes, getKbqSelectDynamicMultipleError, getKbqSelectNonArrayValueError, getKbqSelectNonFunctionValueError, getOptionScrollPosition, isBoolean, isWithin, kbqSelectAnimations, kbqSelectScrollStrategyProviderFactory, mixinColor, mixinDisabled, mixinErrorState, mixinTabIndex, ptBRFormattersData, ptBRLocaleData, ruRUFormattersData, ruRULocaleData, selectEvents, toBoolean, validationTooltipHideDelay, validationTooltipShowDelay, zhCNFormattersData, zhCNLocaleData };
|
|
2949
3175
|
//# sourceMappingURL=koobiq-components-core.mjs.map
|