@koobiq/components 17.6.0 → 17.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/alert/alert.module.d.ts +3 -4
- package/autocomplete/autocomplete.module.d.ts +1 -1
- package/badge/badge-tokens.scss +1 -1
- package/badge/badge.module.d.ts +3 -4
- package/button/button-tokens.scss +2 -3
- package/button/button.module.d.ts +4 -5
- package/code-block/code-block.module.d.ts +6 -7
- package/core/forms/_forms-theme.scss +7 -15
- package/core/forms/_forms.scss +3 -9
- package/core/forms/forms-tokens.scss +39 -0
- package/core/option/_optgroup-theme.scss +4 -10
- package/core/option/_option-action-theme.scss +7 -15
- package/core/option/_option-theme.scss +13 -24
- package/core/option/action.scss +4 -0
- package/core/option/optgroup-tokens.scss +26 -0
- package/core/option/optgroup.scss +4 -5
- package/core/option/option-action-tokens.scss +21 -0
- package/core/option/option-module.d.ts +2 -3
- package/core/option/option-tokens.scss +115 -0
- package/core/option/option.scss +5 -3
- package/core/styles/_koobiq-theme.scss +7 -37
- package/core/styles/theming/_scrollbar-theme.scss +10 -11
- package/core/styles/theming/scrollbar-tokens.scss +34 -0
- package/datepicker/datepicker-module.d.ts +8 -8
- package/dl/dl.module.d.ts +3 -4
- package/dropdown/dropdown-tokens.scss +0 -1
- package/dropdown/dropdown.module.d.ts +4 -4
- package/empty-state/empty-state.module.d.ts +3 -4
- package/esm2022/alert/alert.component.mjs +3 -4
- package/esm2022/alert/alert.module.mjs +3 -7
- package/esm2022/autocomplete/autocomplete.module.mjs +15 -5
- package/esm2022/badge/badge.component.mjs +2 -2
- package/esm2022/badge/badge.module.mjs +3 -7
- package/esm2022/button/button.component.mjs +2 -2
- package/esm2022/button/button.module.mjs +3 -7
- package/esm2022/code-block/actionbar.component.mjs +6 -7
- package/esm2022/code-block/code-block.component.mjs +8 -9
- package/esm2022/code-block/code-block.module.mjs +4 -8
- package/esm2022/core/option/action.mjs +14 -25
- package/esm2022/core/option/optgroup.mjs +3 -3
- package/esm2022/core/option/option-module.mjs +4 -5
- package/esm2022/core/option/option.mjs +5 -6
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/calendar-body.component.mjs +3 -3
- package/esm2022/datepicker/calendar-header.component.mjs +8 -8
- package/esm2022/datepicker/datepicker-module.mjs +10 -9
- package/esm2022/datepicker/datepicker-toggle.component.mjs +5 -6
- package/esm2022/datepicker/month-view.component.mjs +4 -5
- package/esm2022/dl/dl.module.mjs +3 -7
- package/esm2022/dropdown/dropdown-item.component.mjs +5 -6
- package/esm2022/dropdown/dropdown.module.mjs +8 -9
- package/esm2022/empty-state/empty-state.module.mjs +3 -7
- package/esm2022/file-upload/file-upload.module.mjs +12 -9
- package/esm2022/file-upload/multiple-file-upload.component.mjs +10 -10
- package/esm2022/file-upload/single-file-upload.component.mjs +10 -10
- package/esm2022/form-field/form-field.mjs +7 -8
- package/esm2022/form-field/form-field.module.mjs +9 -5
- package/esm2022/form-field/password-hint.mjs +3 -3
- package/esm2022/form-field/password-toggle.mjs +3 -3
- package/esm2022/icon/icon.module.mjs +3 -7
- package/esm2022/input/input.module.mjs +3 -7
- package/esm2022/link/link.module.mjs +3 -7
- package/esm2022/list/list-selection.component.mjs +4 -5
- package/esm2022/list/list.module.mjs +3 -7
- package/esm2022/loader-overlay/loader-overlay.component.mjs +4 -5
- package/esm2022/loader-overlay/loader-overlay.module.mjs +3 -7
- package/esm2022/markdown/markdown.module.mjs +4 -5
- package/esm2022/modal/modal.component.mjs +7 -7
- package/esm2022/modal/modal.module.mjs +12 -9
- package/esm2022/navbar/navbar-item.component.mjs +30 -31
- package/esm2022/navbar/navbar.module.mjs +3 -7
- package/esm2022/popover/popover-confirm.component.mjs +4 -4
- package/esm2022/popover/popover.component.mjs +8 -8
- package/esm2022/popover/popover.module.mjs +40 -7
- package/esm2022/progress-bar/progress-bar.component.mjs +3 -4
- package/esm2022/progress-bar/progress-bar.module.mjs +3 -7
- package/esm2022/progress-spinner/progress-spinner.component.mjs +3 -3
- package/esm2022/progress-spinner/progress-spinner.module.mjs +7 -8
- package/esm2022/radio/radio.component.mjs +3 -3
- package/esm2022/radio/radio.module.mjs +4 -5
- package/esm2022/risk-level/risk-level.component.mjs +3 -3
- package/esm2022/risk-level/risk-level.module.mjs +3 -7
- package/esm2022/scrollbar/scrollbar.component.mjs +3 -3
- package/esm2022/select/select.component.mjs +8 -8
- package/esm2022/select/select.module.mjs +11 -13
- package/esm2022/sidebar/sidebar.component.mjs +3 -4
- package/esm2022/sidepanel/sidepanel-container.component.mjs +5 -6
- package/esm2022/sidepanel/sidepanel-directives.mjs +30 -29
- package/esm2022/sidepanel/sidepanel.module.mjs +3 -7
- package/esm2022/splitter/splitter.component.mjs +3 -4
- package/esm2022/splitter/splitter.module.mjs +3 -7
- package/esm2022/table/table.module.mjs +3 -7
- package/esm2022/tabs/tab-group.component.mjs +9 -10
- package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +3 -3
- package/esm2022/tabs/tabs.module.mjs +3 -7
- package/esm2022/tags/tag-list.component.mjs +3 -4
- package/esm2022/tags/tag.module.mjs +4 -5
- package/esm2022/textarea/textarea.module.mjs +4 -5
- package/esm2022/timepicker/timepicker.module.mjs +3 -7
- package/esm2022/timezone/timezone-option.component.mjs +6 -6
- package/esm2022/timezone/timezone-select.component.mjs +7 -7
- package/esm2022/timezone/timezone.module.mjs +10 -9
- package/esm2022/toast/toast.component.mjs +6 -6
- package/esm2022/toast/toast.module.mjs +10 -9
- package/esm2022/toggle/toggle.component.mjs +2 -2
- package/esm2022/toggle/toggle.module.mjs +4 -5
- package/esm2022/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/tooltip/tooltip.module.mjs +11 -5
- package/esm2022/tree/toggle.mjs +2 -2
- package/esm2022/tree/tree-option.component.mjs +5 -6
- package/esm2022/tree/tree-selection.component.mjs +2 -2
- package/esm2022/tree/tree.mjs +2 -2
- package/esm2022/tree/tree.module.mjs +3 -7
- package/esm2022/tree-select/tree-select.component.mjs +7 -7
- package/esm2022/tree-select/tree-select.module.mjs +11 -12
- package/fesm2022/koobiq-components-alert.mjs +4 -9
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs +14 -4
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +4 -8
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +4 -8
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +15 -20
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +22 -33
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +21 -20
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-dl.mjs +2 -6
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +16 -17
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-empty-state.mjs +2 -6
- package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +22 -19
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +17 -13
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +2 -6
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +2 -6
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-link.mjs +2 -6
- package/fesm2022/koobiq-components-link.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +5 -10
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +5 -10
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +3 -4
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +18 -15
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +32 -36
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +47 -14
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +4 -9
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +8 -9
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +5 -6
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-risk-level.mjs +4 -8
- package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
- package/fesm2022/koobiq-components-scrollbar.mjs +2 -2
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +17 -19
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +2 -3
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +35 -38
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +4 -9
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +2 -6
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +8 -13
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +5 -7
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +3 -4
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +2 -6
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +19 -18
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +14 -13
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +5 -6
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +12 -6
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +16 -17
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +16 -21
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/file-upload-tokens.scss +5 -5
- package/file-upload/file-upload.module.d.ts +12 -12
- package/file-upload/single-file-upload.component.d.ts +1 -1
- package/form-field/form-field-tokens.scss +13 -1
- package/form-field/form-field.module.d.ts +3 -3
- package/icon/icon-button-tokens.scss +0 -1
- package/icon/icon.module.d.ts +3 -4
- package/input/input.module.d.ts +5 -6
- package/link/link-tokens.scss +1 -1
- package/link/link.module.d.ts +2 -3
- package/list/list.module.d.ts +3 -4
- package/loader-overlay/loader-overlay.module.d.ts +4 -5
- package/markdown/markdown.module.d.ts +4 -5
- package/modal/modal.module.d.ts +7 -7
- package/navbar/navbar.module.d.ts +5 -6
- package/package.json +6 -6
- package/popover/popover.module.d.ts +7 -7
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/progress-bar/_progress-bar-theme.scss +6 -12
- package/progress-bar/progress-bar-tokens.scss +36 -0
- package/progress-bar/progress-bar.module.d.ts +2 -3
- package/progress-bar/progress-bar.scss +4 -4
- package/progress-spinner/_progress-spinner-theme.scss +5 -11
- package/progress-spinner/progress-spinner-tokens.scss +38 -0
- package/progress-spinner/progress-spinner.module.d.ts +3 -3
- package/progress-spinner/progress-spinner.scss +4 -4
- package/radio/_radio-theme.scss +21 -36
- package/radio/radio-tokens.scss +166 -0
- package/radio/radio.module.d.ts +3 -4
- package/radio/radio.scss +4 -5
- package/risk-level/_risk-level-theme.scss +20 -24
- package/risk-level/risk-level-tokens.scss +72 -0
- package/risk-level/risk-level.component.scss +5 -3
- package/risk-level/risk-level.module.d.ts +3 -4
- package/schematics/ng-add/index.js +4 -4
- package/scrollbar/_scrollbar-component-theme.scss +13 -31
- package/scrollbar/scrollbar-tokens.scss +34 -0
- package/scrollbar/scrollbar.component.scss +4 -3
- package/select/_select-theme.scss +11 -22
- package/select/select-tokens.scss +59 -0
- package/select/select.component.d.ts +1 -1
- package/select/select.module.d.ts +7 -7
- package/select/select.scss +5 -3
- package/sidepanel/_sidepanel-theme.scss +6 -12
- package/sidepanel/sidepanel-tokens.scss +48 -0
- package/sidepanel/sidepanel.module.d.ts +8 -9
- package/sidepanel/sidepanel.scss +4 -4
- package/splitter/_splitter-theme.scss +2 -6
- package/splitter/splitter-tokens.scss +7 -0
- package/splitter/splitter.module.d.ts +2 -3
- package/splitter/splitter.scss +4 -0
- package/table/table.module.d.ts +3 -4
- package/tabs/_tabs-common.scss +0 -6
- package/tabs/_tabs-theme.scss +30 -65
- package/tabs/tab-group.scss +0 -3
- package/tabs/tab-header.scss +0 -3
- package/tabs/tab-nav-bar/tab-nav-bar.scss +0 -2
- package/tabs/tabs-tokens.scss +136 -0
- package/tabs/tabs.module.d.ts +7 -8
- package/tags/_tag-theme.scss +17 -26
- package/tags/tag-input-tokens.scss +14 -0
- package/tags/tag-list.scss +0 -6
- package/tags/tag-tokens.scss +151 -0
- package/tags/tag.module.d.ts +2 -3
- package/tags/tag.scss +0 -3
- package/textarea/textarea.module.d.ts +4 -5
- package/timepicker/timepicker.module.d.ts +4 -5
- package/timezone/timezone.module.d.ts +9 -9
- package/toast/toast.module.d.ts +7 -7
- package/toggle/toggle-tokens.scss +4 -4
- package/toggle/toggle.module.d.ts +3 -4
- package/tooltip/tooltip.module.d.ts +3 -3
- package/tree/tree-tokens.scss +4 -4
- package/tree/tree.module.d.ts +3 -4
- package/tree-select/tree-select.component.d.ts +1 -1
- package/tree-select/tree-select.module.d.ts +7 -7
|
@@ -2,19 +2,19 @@ import * as i3 from '@angular/cdk/a11y';
|
|
|
2
2
|
import { A11yModule, FocusTrapFactory, ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';
|
|
3
3
|
import * as i1 from '@angular/cdk/overlay';
|
|
4
4
|
import { OverlayRef, OverlayModule } from '@angular/cdk/overlay';
|
|
5
|
-
import * as
|
|
6
|
-
import { DOCUMENT,
|
|
5
|
+
import * as i7 from '@angular/common';
|
|
6
|
+
import { DOCUMENT, NgTemplateOutlet, NgStyle, NgClass } from '@angular/common';
|
|
7
7
|
import * as i0 from '@angular/core';
|
|
8
8
|
import { Injectable, Optional, SkipSelf, Pipe, EventEmitter, TemplateRef, Type, Injector, ViewContainerRef, ElementRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, Input, Output, ViewChild, ViewChildren, Directive, InjectionToken, NgModule } from '@angular/core';
|
|
9
9
|
import { ESCAPE, ENTER } from '@koobiq/cdk/keycodes';
|
|
10
10
|
import { KbqComponentColors } from '@koobiq/components/core';
|
|
11
11
|
import { take, filter } from 'rxjs/operators';
|
|
12
12
|
import { Subject } from 'rxjs';
|
|
13
|
-
import * as
|
|
13
|
+
import * as i4 from '@koobiq/components/button';
|
|
14
14
|
import { KbqButtonModule } from '@koobiq/components/button';
|
|
15
|
-
import * as
|
|
15
|
+
import * as i5 from '@koobiq/components/icon';
|
|
16
16
|
import { KbqIconModule } from '@koobiq/components/icon';
|
|
17
|
-
import * as
|
|
17
|
+
import * as i6 from '@koobiq/components/title';
|
|
18
18
|
import { KbqTitleModule } from '@koobiq/components/title';
|
|
19
19
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
20
20
|
|
|
@@ -576,13 +576,13 @@ class KbqModalComponent extends KbqModalRef {
|
|
|
576
576
|
}
|
|
577
577
|
}
|
|
578
578
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqModalComponent, deps: [{ token: i1.Overlay }, { token: i0.Renderer2 }, { token: i0.ComponentFactoryResolver }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: KbqModalControlService }, { token: i0.ChangeDetectorRef }, { token: i3.FocusMonitor }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
579
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqModalComponent, selector: "kbq-modal", inputs: { kbqModalType: "kbqModalType", kbqComponent: "kbqComponent", kbqContent: "kbqContent", kbqComponentParams: "kbqComponentParams", kbqFooter: "kbqFooter", kbqVisible: "kbqVisible", kbqWidth: "kbqWidth", kbqSize: "kbqSize", kbqWrapClassName: "kbqWrapClassName", kbqClassName: "kbqClassName", kbqStyle: "kbqStyle", kbqTitle: "kbqTitle", kbqCloseByESC: "kbqCloseByESC", kbqClosable: "kbqClosable", kbqMask: "kbqMask", kbqMaskClosable: "kbqMaskClosable", kbqMaskStyle: "kbqMaskStyle", kbqBodyStyle: "kbqBodyStyle", kbqOkText: "kbqOkText", kbqOkType: "kbqOkType", kbqRestoreFocus: "kbqRestoreFocus", kbqOkLoading: "kbqOkLoading", kbqOnOk: "kbqOnOk", kbqCancelText: "kbqCancelText", kbqCancelLoading: "kbqCancelLoading", kbqOnCancel: "kbqOnCancel", kbqGetContainer: "kbqGetContainer" }, outputs: { kbqVisibleChange: "kbqVisibleChange", kbqAfterOpen: "kbqAfterOpen", kbqAfterClose: "kbqAfterClose", kbqOnOk: "kbqOnOk", kbqOnCancel: "kbqOnCancel" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, viewQueries: [{ propertyName: "modalContainer", first: true, predicate: ["modalContainer"], descendants: true, static: true }, { propertyName: "bodyContainer", first: true, predicate: ["bodyContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "modalBody", first: true, predicate: ["modalBody"], descendants: true }, { propertyName: "autoFocusedButtons", predicate: ["autoFocusedButton"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<!-- Compatible: the <ng-content> can appear only once -->\n<ng-template #tplOriginContent>\n <ng-content />\n</ng-template>\n\n<div>\n <div\n *ngIf=\"kbqMask\"\n class=\"kbq-modal-mask\"\n [class.kbq-modal-mask-hidden]=\"hidden\"\n [ngClass]=\"maskAnimationClassMap\"\n [ngStyle]=\"kbqMaskStyle\"\n ></div>\n\n <div\n tabindex=\"-1\"\n class=\"kbq-modal-wrap {{ kbqWrapClassName }}\"\n [style.display]=\"hidden ? 'none' : ''\"\n (mousedown)=\"onClickMask($event)\"\n >\n <div\n #modalContainer\n class=\"kbq-modal {{ kbqClassName }} kbq-modal_{{ kbqSize }}\"\n [class.kbq-modal_no-footer]=\"!kbqFooter\"\n [ngClass]=\"modalAnimationClassMap\"\n [ngStyle]=\"kbqStyle\"\n [style.transform-origin]=\"transformOrigin\"\n [style.width]=\"kbqWidth | toCssUnit\"\n >\n <div\n cdkTrapFocus\n class=\"kbq-modal-content\"\n >\n <ng-container [ngSwitch]=\"true\">\n <ng-container\n *ngSwitchCase=\"isModalType('default')\"\n [ngTemplateOutlet]=\"tplContentDefault\"\n />\n <ng-container\n *ngSwitchCase=\"isModalType('confirm')\"\n [ngTemplateOutlet]=\"tplContentConfirm\"\n />\n <ng-container\n *ngSwitchCase=\"isModalType('custom')\"\n [ngTemplateOutlet]=\"tplContentCustom\"\n />\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #tplContentCustom>\n <ng-container #bodyContainer />\n</ng-template>\n\n<!-- [Predefined] Default Modal Content -->\n<ng-template #tplContentDefault>\n <div\n *ngIf=\"kbqTitle\"\n kbq-title\n class=\"kbq-modal-header\"\n [class.kbq-modal-body_top-overflow]=\"isTopOverflow\"\n >\n <div class=\"kbq-modal-title\">\n <ng-container [ngSwitch]=\"true\">\n <ng-container\n *ngSwitchCase=\"isTemplateRef(kbqTitle)\"\n [ngTemplateOutlet]=\"$any(kbqTitle)\"\n />\n <ng-container *ngSwitchCase=\"isNonEmptyString(kbqTitle)\">\n <div [innerHTML]=\"kbqTitle\"></div>\n </ng-container>\n </ng-container>\n </div>\n\n <button\n *ngIf=\"kbqClosable\"\n kbq-button\n class=\"kbq-modal-close kbq-button_transparent\"\n [color]=\"'contrast'\"\n (click)=\"onClickCloseBtn()\"\n >\n <i\n kbq-icon=\"mc-close-L_16\"\n [color]=\"componentColors.Contrast\"\n ></i>\n </button>\n </div>\n <div\n #modalBody\n class=\"kbq-modal-body kbq-scrollbar\"\n [ngStyle]=\"kbqBodyStyle\"\n (scroll)=\"checkOverflow()\"\n >\n <ng-container #bodyContainer>\n <ng-container\n *ngIf=\"!isComponent(kbqContent)\"\n [ngSwitch]=\"true\"\n >\n <ng-container\n *ngSwitchCase=\"isTemplateRef(kbqContent)\"\n [ngTemplateOutlet]=\"$any(kbqContent)\"\n />\n <ng-container *ngSwitchCase=\"isNonEmptyString(kbqContent)\">\n <div [innerHTML]=\"kbqContent\"></div>\n </ng-container>\n <ng-container\n *ngSwitchDefault\n [ngTemplateOutlet]=\"tplOriginContent\"\n />\n </ng-container>\n </ng-container>\n </div>\n <div\n *ngIf=\"kbqFooter || kbqOkText || kbqCancelText\"\n class=\"kbq-modal-footer\"\n [class.kbq-modal-body_bottom-overflow]=\"isBottomOverflow\"\n >\n <ng-container [ngSwitch]=\"true\">\n <ng-container\n *ngSwitchCase=\"isTemplateRef(kbqFooter)\"\n [ngTemplateOutlet]=\"$any(kbqFooter)\"\n />\n <ng-container *ngSwitchCase=\"isNonEmptyString(kbqFooter)\">\n <div [innerHTML]=\"kbqFooter\"></div>\n </ng-container>\n <ng-container *ngSwitchCase=\"isModalButtons(kbqFooter)\">\n <ng-container *ngFor=\"let button of $any(kbqFooter)\">\n <button\n *ngIf=\"getButtonCallableProp(button, 'show')\"\n kbq-button\n [attr.autofocus]=\"button.autoFocus\"\n [attr.kbq-modal-main-action]=\"button.kbqModalMainAction\"\n [class.kbq-progress]=\"getButtonCallableProp(button, 'loading')\"\n [color]=\"button.type\"\n [disabled]=\"getButtonCallableProp(button, 'disabled')\"\n (click)=\"onButtonClick(button)\"\n >\n {{ button.label }}\n </button>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <button\n *ngIf=\"kbqOkText\"\n kbq-button\n [attr.autofocus]=\"true\"\n [color]=\"componentColors.Contrast\"\n (click)=\"onClickOkCancel('ok')\"\n >\n {{ okText }}\n </button>\n <button\n *ngIf=\"kbqCancelText\"\n kbq-button\n (click)=\"onClickOkCancel('cancel')\"\n >\n {{ cancelText }}\n </button>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n<!-- /[Predefined] Default Modal Content -->\n\n<!-- [Predefined] Confirm Modal Content -->\n<ng-template #tplContentConfirm>\n <div\n class=\"kbq-modal-body\"\n [ngStyle]=\"kbqBodyStyle\"\n >\n <ng-container #bodyContainer>\n <ng-container\n *ngIf=\"!isComponent(kbqContent)\"\n [ngSwitch]=\"true\"\n >\n <ng-container\n *ngSwitchCase=\"isTemplateRef(kbqContent)\"\n [ngTemplateOutlet]=\"$any(kbqContent)\"\n />\n <ng-container *ngSwitchCase=\"isNonEmptyString(kbqContent)\">\n <div [innerHTML]=\"kbqContent\"></div>\n </ng-container>\n <ng-container\n *ngSwitchDefault\n [ngTemplateOutlet]=\"tplOriginContent\"\n />\n </ng-container>\n </ng-container>\n </div>\n <div\n *ngIf=\"kbqOkText || kbqCancelText\"\n class=\"kbq-confirm-footer\"\n >\n <button\n *ngIf=\"kbqOkText\"\n kbq-button\n [attr.autofocus]=\"true\"\n [color]=\"kbqOkType\"\n (click)=\"onClickOkCancel('ok')\"\n >\n {{ okText }}\n </button>\n\n <button\n *ngIf=\"kbqCancelText\"\n kbq-button\n (click)=\"onClickOkCancel('cancel')\"\n >\n {{ cancelText }}\n </button>\n </div>\n</ng-template>\n<!-- /[Predefined] Confirm Modal Content -->\n", styles: [".kbq-confirm .kbq-modal-close{display:none}.kbq-confirm .kbq-confirm-footer{display:flex;gap:var(--kbq-modal-size-footer-content-gap-horizontal, 16px)}.kbq-modal{box-sizing:border-box;position:relative;top:48px;border-radius:var(--kbq-modal-size-border-radius, 8px);width:auto;margin:0 auto;list-style:none}.kbq-modal.zoom-enter,.kbq-modal.zoom-appear{animation-duration:.3s;transform:none;opacity:0}.kbq-modal.kbq-modal_small{width:var(--kbq-modal-size-small-width, 400px)}.kbq-modal.kbq-modal_medium{width:var(--kbq-modal-size-medium-width, 640px)}.kbq-modal.kbq-modal_large{width:var(--kbq-modal-size-large-width, 960px)}.kbq-modal .kbq-modal-close{position:absolute;top:16px;right:8px}.kbq-modal-wrap{position:fixed;inset:0;overflow:auto;-webkit-overflow-scrolling:touch;outline:0}.kbq-modal-content{position:relative;border-radius:var(--kbq-modal-size-border-radius, 8px);background-clip:padding-box}.kbq-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--kbq-modal-size-header-padding-vertical, 16px) var(--kbq-modal-size-header-padding-right, 48px) var(--kbq-modal-size-header-padding-vertical, 16px) var(--kbq-modal-size-header-padding-left, 24px)}.kbq-modal-header+.kbq-modal-body{padding-top:var(--kbq-modal-size-content-padding-top, 0)}.kbq-modal-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.kbq-modal-body{display:block;overflow-y:auto;max-height:calc(100vh - 260px);padding:var(--kbq-modal-size-content-padding-top-without-header, 24px) var(--kbq-modal-size-content-padding-horizontal, 24px) var(--kbq-modal-size-content-padding-bottom, 8px) var(--kbq-modal-size-content-padding-horizontal, 24px);word-wrap:break-word}.kbq-modal-body>*{position:relative}.kbq-modal-footer,.kbq-confirm-footer{display:flex;align-items:center;padding:var(--kbq-modal-size-footer-padding-vertical, 20px) var(--kbq-modal-size-footer-padding-horizontal, 24px);gap:var(--kbq-modal-size-footer-content-gap-horizontal, 16px)}.kbq-modal-mask{position:fixed;inset:0;height:100%}.kbq-modal-mask.kbq-modal-mask-hidden{display:none}.kbq-modal-open{overflow:hidden}.kbq-modal{background:var(--kbq-modal-container-background, );box-shadow:var(--kbq-modal-container-box-shadow, )}.kbq-modal .kbq-modal-header .kbq-modal-title{color:var(--kbq-modal-header-text-color, )}.kbq-modal .kbq-modal-header .kbq-modal-close{color:var(--kbq-modal-close-button-color, )}.kbq-modal .kbq-modal-content{color:var(--kbq-modal-content-text-color, )}.kbq-modal .kbq-modal-header.kbq-modal-body_top-overflow{box-shadow:var(--kbq-modal-body-top-shadow, )}.kbq-modal .kbq-modal-footer.kbq-modal-body_bottom-overflow{box-shadow:var(--kbq-modal-body-bottom-shadow, )}.kbq-modal-mask{background-color:var(--kbq-modal-overlay-background, )}.kbq-modal-title{font-size:var(--kbq-modal-font-header-font-size, 20px);font-weight:var(--kbq-modal-font-header-font-weight, 700);line-height:var(--kbq-modal-font-header-line-height, 28px);font-family:var(--kbq-modal-font-header-font-family, \"TT-Positive\", Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-modal-font-header-text-transform, );font-feature-settings:var(--kbq-modal-font-header-font-feature-settings, \"calt\", \"kern\", \"liga\");letter-spacing:var(--kbq-modal-font-header-letter-spacing, normal)}.kbq-modal-body{font-size:var(--kbq-modal-font-content-font-size, 14px);font-weight:var(--kbq-modal-font-content-font-weight, normal);line-height:var(--kbq-modal-font-content-line-height, 20px);font-family:var(--kbq-modal-font-content-font-family, Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-modal-font-content-text-transform, );font-feature-settings:var(--kbq-modal-font-content-font-feature-settings, \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\");letter-spacing:var(--kbq-modal-font-content-letter-spacing, -.006em)}\n", ".kbq-modal{--kbq-modal-size-small-width: 400px;--kbq-modal-size-medium-width: 640px;--kbq-modal-size-large-width: 960px;--kbq-modal-size-border-radius: 8px;--kbq-modal-size-header-padding-vertical: 16px;--kbq-modal-size-header-padding-left: 24px;--kbq-modal-size-header-padding-right: 48px;--kbq-modal-size-close-button-margin-left: 8px;--kbq-modal-size-content-padding-horizontal: 24px;--kbq-modal-size-content-padding-top: 0;--kbq-modal-size-content-padding-bottom: 8px;--kbq-modal-size-content-padding-top-without-header: 24px;--kbq-modal-size-content-padding-bottom-without-footer: 40px;--kbq-modal-size-footer-padding-horizontal: 24px;--kbq-modal-size-footer-padding-vertical: 20px;--kbq-modal-size-footer-content-gap-horizontal: 16px;--kbq-modal-font-header-font-size: 20px;--kbq-modal-font-header-line-height: 28px;--kbq-modal-font-header-letter-spacing: normal;--kbq-modal-font-header-font-weight: 700;--kbq-modal-font-header-font-family: \"TT-Positive\", Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-modal-font-header-text-transform: null;--kbq-modal-font-header-font-feature-settings: \"calt\", \"kern\", \"liga\";--kbq-modal-font-content-font-size: 14px;--kbq-modal-font-content-line-height: 20px;--kbq-modal-font-content-letter-spacing: -.006em;--kbq-modal-font-content-font-weight: normal;--kbq-modal-font-content-font-family: Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-modal-font-content-text-transform: null;--kbq-modal-font-content-font-feature-settings: \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\"}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-modal-overlay-background: hsla(229, 15%, 20%, 32%);--kbq-modal-container-background: hsla(229, 15%, 100%, 100%);--kbq-modal-container-box-shadow: 0 0 0 1px hsla(229, 15%, 6%, 3%), 0 3px 16px hsla(229, 15%, 6%, 6%), 0 4px 32px hsla(229, 15%, 6%, 12%);--kbq-modal-close-button-color: hsla(229, 15%, 15%, 100%);--kbq-modal-header-text-color: hsla(229, 15%, 15%, 100%);--kbq-modal-content-text-color: hsla(229, 15%, 15%, 100%)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-modal-overlay-background: hsla(229, 15%, 6%, 64%);--kbq-modal-container-background: hsla(229, 15%, 15%, 100%);--kbq-modal-container-box-shadow: 0 0 0 1px hsla(229, 100%, 85%, 15%);--kbq-modal-close-button-color: hsla(229, 15%, 80%, 100%);--kbq-modal-header-text-color: hsla(229, 15%, 80%, 100%);--kbq-modal-content-text-color: hsla(229, 15%, 80%, 100%)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i5.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i5.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "component", type: i6.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }, { kind: "directive", type: i7.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }, { kind: "pipe", type: CssUnitPipe, name: "toCssUnit" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
579
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.0", type: KbqModalComponent, selector: "kbq-modal", inputs: { kbqModalType: "kbqModalType", kbqComponent: "kbqComponent", kbqContent: "kbqContent", kbqComponentParams: "kbqComponentParams", kbqFooter: "kbqFooter", kbqVisible: "kbqVisible", kbqWidth: "kbqWidth", kbqSize: "kbqSize", kbqWrapClassName: "kbqWrapClassName", kbqClassName: "kbqClassName", kbqStyle: "kbqStyle", kbqTitle: "kbqTitle", kbqCloseByESC: "kbqCloseByESC", kbqClosable: "kbqClosable", kbqMask: "kbqMask", kbqMaskClosable: "kbqMaskClosable", kbqMaskStyle: "kbqMaskStyle", kbqBodyStyle: "kbqBodyStyle", kbqOkText: "kbqOkText", kbqOkType: "kbqOkType", kbqRestoreFocus: "kbqRestoreFocus", kbqOkLoading: "kbqOkLoading", kbqOnOk: "kbqOnOk", kbqCancelText: "kbqCancelText", kbqCancelLoading: "kbqCancelLoading", kbqOnCancel: "kbqOnCancel", kbqGetContainer: "kbqGetContainer" }, outputs: { kbqVisibleChange: "kbqVisibleChange", kbqAfterOpen: "kbqAfterOpen", kbqAfterClose: "kbqAfterClose", kbqOnOk: "kbqOnOk", kbqOnCancel: "kbqOnCancel" }, host: { listeners: { "keydown": "onKeyDown($event)" } }, viewQueries: [{ propertyName: "modalContainer", first: true, predicate: ["modalContainer"], descendants: true, static: true }, { propertyName: "bodyContainer", first: true, predicate: ["bodyContainer"], descendants: true, read: ViewContainerRef }, { propertyName: "modalBody", first: true, predicate: ["modalBody"], descendants: true }, { propertyName: "autoFocusedButtons", predicate: ["autoFocusedButton"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<!-- Compatible: the <ng-content> can appear only once -->\n<ng-template #tplOriginContent>\n <ng-content />\n</ng-template>\n\n<div>\n @if (kbqMask) {\n <div\n class=\"kbq-modal-mask\"\n [class.kbq-modal-mask-hidden]=\"hidden\"\n [ngClass]=\"maskAnimationClassMap\"\n [ngStyle]=\"kbqMaskStyle\"\n ></div>\n }\n\n <div\n tabindex=\"-1\"\n class=\"kbq-modal-wrap {{ kbqWrapClassName }}\"\n [style.display]=\"hidden ? 'none' : ''\"\n (mousedown)=\"onClickMask($event)\"\n >\n <div\n #modalContainer\n class=\"kbq-modal {{ kbqClassName }} kbq-modal_{{ kbqSize }}\"\n [class.kbq-modal_no-footer]=\"!kbqFooter\"\n [ngClass]=\"modalAnimationClassMap\"\n [ngStyle]=\"kbqStyle\"\n [style.transform-origin]=\"transformOrigin\"\n [style.width]=\"kbqWidth | toCssUnit\"\n >\n <div\n cdkTrapFocus\n class=\"kbq-modal-content\"\n >\n @switch (true) {\n @case (isModalType('default')) {\n <ng-container [ngTemplateOutlet]=\"tplContentDefault\" />\n }\n @case (isModalType('confirm')) {\n <ng-container [ngTemplateOutlet]=\"tplContentConfirm\" />\n }\n @case (isModalType('custom')) {\n <ng-container [ngTemplateOutlet]=\"tplContentCustom\" />\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #tplContentCustom>\n <ng-container #bodyContainer />\n</ng-template>\n\n<!-- [Predefined] Default Modal Content -->\n<ng-template #tplContentDefault>\n @if (kbqTitle) {\n <div\n kbq-title\n class=\"kbq-modal-header\"\n [class.kbq-modal-body_top-overflow]=\"isTopOverflow\"\n >\n <div class=\"kbq-modal-title\">\n @switch (true) {\n @case (isTemplateRef(kbqTitle)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqTitle)\" />\n }\n @case (isNonEmptyString(kbqTitle)) {\n <div [innerHTML]=\"kbqTitle\"></div>\n }\n }\n </div>\n @if (kbqClosable) {\n <button\n kbq-button\n class=\"kbq-modal-close kbq-button_transparent\"\n [color]=\"'contrast'\"\n (click)=\"onClickCloseBtn()\"\n >\n <i\n kbq-icon=\"mc-close-L_16\"\n [color]=\"componentColors.Contrast\"\n ></i>\n </button>\n }\n </div>\n }\n <div\n #modalBody\n class=\"kbq-modal-body kbq-scrollbar\"\n [ngStyle]=\"kbqBodyStyle\"\n (scroll)=\"checkOverflow()\"\n >\n <ng-container #bodyContainer>\n @if (!isComponent(kbqContent)) {\n @switch (true) {\n @case (isTemplateRef(kbqContent)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqContent)\" />\n }\n @case (isNonEmptyString(kbqContent)) {\n <div [innerHTML]=\"kbqContent\"></div>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"tplOriginContent\" />\n }\n }\n }\n </ng-container>\n </div>\n @if (kbqFooter || kbqOkText || kbqCancelText) {\n <div\n class=\"kbq-modal-footer\"\n [class.kbq-modal-body_bottom-overflow]=\"isBottomOverflow\"\n >\n @switch (true) {\n @case (isTemplateRef(kbqFooter)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqFooter)\" />\n }\n @case (isNonEmptyString(kbqFooter)) {\n <div [innerHTML]=\"kbqFooter\"></div>\n }\n @case (isModalButtons(kbqFooter)) {\n @for (button of $any(kbqFooter); track button) {\n @if (getButtonCallableProp(button, 'show')) {\n <button\n kbq-button\n [attr.autofocus]=\"button.autoFocus\"\n [attr.kbq-modal-main-action]=\"button.kbqModalMainAction\"\n [class.kbq-progress]=\"getButtonCallableProp(button, 'loading')\"\n [color]=\"button.type\"\n [disabled]=\"getButtonCallableProp(button, 'disabled')\"\n (click)=\"onButtonClick(button)\"\n >\n {{ button.label }}\n </button>\n }\n }\n }\n @default {\n @if (kbqOkText) {\n <button\n kbq-button\n [attr.autofocus]=\"true\"\n [color]=\"componentColors.Contrast\"\n (click)=\"onClickOkCancel('ok')\"\n >\n {{ okText }}\n </button>\n }\n @if (kbqCancelText) {\n <button\n kbq-button\n (click)=\"onClickOkCancel('cancel')\"\n >\n {{ cancelText }}\n </button>\n }\n }\n }\n </div>\n }\n</ng-template>\n<!-- /[Predefined] Default Modal Content -->\n\n<!-- [Predefined] Confirm Modal Content -->\n<ng-template #tplContentConfirm>\n <div\n class=\"kbq-modal-body\"\n [ngStyle]=\"kbqBodyStyle\"\n >\n <ng-container #bodyContainer>\n @if (!isComponent(kbqContent)) {\n @switch (true) {\n @case (isTemplateRef(kbqContent)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqContent)\" />\n }\n @case (isNonEmptyString(kbqContent)) {\n <div [innerHTML]=\"kbqContent\"></div>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"tplOriginContent\" />\n }\n }\n }\n </ng-container>\n </div>\n @if (kbqOkText || kbqCancelText) {\n <div class=\"kbq-confirm-footer\">\n @if (kbqOkText) {\n <button\n kbq-button\n [attr.autofocus]=\"true\"\n [color]=\"kbqOkType\"\n (click)=\"onClickOkCancel('ok')\"\n >\n {{ okText }}\n </button>\n }\n @if (kbqCancelText) {\n <button\n kbq-button\n (click)=\"onClickOkCancel('cancel')\"\n >\n {{ cancelText }}\n </button>\n }\n </div>\n }\n</ng-template>\n<!-- /[Predefined] Confirm Modal Content -->\n", styles: [".kbq-confirm .kbq-modal-close{display:none}.kbq-confirm .kbq-confirm-footer{display:flex;gap:var(--kbq-modal-size-footer-content-gap-horizontal, 16px)}.kbq-modal{box-sizing:border-box;position:relative;top:48px;border-radius:var(--kbq-modal-size-border-radius, 8px);width:auto;margin:0 auto;list-style:none}.kbq-modal.zoom-enter,.kbq-modal.zoom-appear{animation-duration:.3s;transform:none;opacity:0}.kbq-modal.kbq-modal_small{width:var(--kbq-modal-size-small-width, 400px)}.kbq-modal.kbq-modal_medium{width:var(--kbq-modal-size-medium-width, 640px)}.kbq-modal.kbq-modal_large{width:var(--kbq-modal-size-large-width, 960px)}.kbq-modal .kbq-modal-close{position:absolute;top:16px;right:8px}.kbq-modal-wrap{position:fixed;inset:0;overflow:auto;-webkit-overflow-scrolling:touch;outline:0}.kbq-modal-content{position:relative;border-radius:var(--kbq-modal-size-border-radius, 8px);background-clip:padding-box}.kbq-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--kbq-modal-size-header-padding-vertical, 16px) var(--kbq-modal-size-header-padding-right, 48px) var(--kbq-modal-size-header-padding-vertical, 16px) var(--kbq-modal-size-header-padding-left, 24px)}.kbq-modal-header+.kbq-modal-body{padding-top:var(--kbq-modal-size-content-padding-top, 0)}.kbq-modal-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.kbq-modal-body{display:block;overflow-y:auto;max-height:calc(100vh - 260px);padding:var(--kbq-modal-size-content-padding-top-without-header, 24px) var(--kbq-modal-size-content-padding-horizontal, 24px) var(--kbq-modal-size-content-padding-bottom, 8px) var(--kbq-modal-size-content-padding-horizontal, 24px);word-wrap:break-word}.kbq-modal-body>*{position:relative}.kbq-modal-footer,.kbq-confirm-footer{display:flex;align-items:center;padding:var(--kbq-modal-size-footer-padding-vertical, 20px) var(--kbq-modal-size-footer-padding-horizontal, 24px);gap:var(--kbq-modal-size-footer-content-gap-horizontal, 16px)}.kbq-modal-mask{position:fixed;inset:0;height:100%}.kbq-modal-mask.kbq-modal-mask-hidden{display:none}.kbq-modal-open{overflow:hidden}.kbq-modal{background:var(--kbq-modal-container-background, );box-shadow:var(--kbq-modal-container-box-shadow, )}.kbq-modal .kbq-modal-header .kbq-modal-title{color:var(--kbq-modal-header-text-color, )}.kbq-modal .kbq-modal-header .kbq-modal-close{color:var(--kbq-modal-close-button-color, )}.kbq-modal .kbq-modal-content{color:var(--kbq-modal-content-text-color, )}.kbq-modal .kbq-modal-header.kbq-modal-body_top-overflow{box-shadow:var(--kbq-modal-body-top-shadow, )}.kbq-modal .kbq-modal-footer.kbq-modal-body_bottom-overflow{box-shadow:var(--kbq-modal-body-bottom-shadow, )}.kbq-modal-mask{background-color:var(--kbq-modal-overlay-background, )}.kbq-modal-title{font-size:var(--kbq-modal-font-header-font-size, 20px);font-weight:var(--kbq-modal-font-header-font-weight, 700);line-height:var(--kbq-modal-font-header-line-height, 28px);font-family:var(--kbq-modal-font-header-font-family, \"TT-Positive\", Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-modal-font-header-text-transform, );font-feature-settings:var(--kbq-modal-font-header-font-feature-settings, \"calt\", \"kern\", \"liga\");letter-spacing:var(--kbq-modal-font-header-letter-spacing, normal)}.kbq-modal-body{font-size:var(--kbq-modal-font-content-font-size, 14px);font-weight:var(--kbq-modal-font-content-font-weight, normal);line-height:var(--kbq-modal-font-content-line-height, 20px);font-family:var(--kbq-modal-font-content-font-family, Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-modal-font-content-text-transform, );font-feature-settings:var(--kbq-modal-font-content-font-feature-settings, \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\");letter-spacing:var(--kbq-modal-font-content-letter-spacing, -.006em)}\n", ".kbq-modal{--kbq-modal-size-small-width: 400px;--kbq-modal-size-medium-width: 640px;--kbq-modal-size-large-width: 960px;--kbq-modal-size-border-radius: 8px;--kbq-modal-size-header-padding-vertical: 16px;--kbq-modal-size-header-padding-left: 24px;--kbq-modal-size-header-padding-right: 48px;--kbq-modal-size-close-button-margin-left: 8px;--kbq-modal-size-content-padding-horizontal: 24px;--kbq-modal-size-content-padding-top: 0;--kbq-modal-size-content-padding-bottom: 8px;--kbq-modal-size-content-padding-top-without-header: 24px;--kbq-modal-size-content-padding-bottom-without-footer: 40px;--kbq-modal-size-footer-padding-horizontal: 24px;--kbq-modal-size-footer-padding-vertical: 20px;--kbq-modal-size-footer-content-gap-horizontal: 16px;--kbq-modal-font-header-font-size: 20px;--kbq-modal-font-header-line-height: 28px;--kbq-modal-font-header-letter-spacing: normal;--kbq-modal-font-header-font-weight: 700;--kbq-modal-font-header-font-family: \"TT-Positive\", Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-modal-font-header-text-transform: null;--kbq-modal-font-header-font-feature-settings: \"calt\", \"kern\", \"liga\";--kbq-modal-font-content-font-size: 14px;--kbq-modal-font-content-line-height: 20px;--kbq-modal-font-content-letter-spacing: -.006em;--kbq-modal-font-content-font-weight: normal;--kbq-modal-font-content-font-family: Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-modal-font-content-text-transform: null;--kbq-modal-font-content-font-feature-settings: \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\"}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-modal-overlay-background: hsla(229, 15%, 20%, 32%);--kbq-modal-container-background: hsla(229, 15%, 100%, 100%);--kbq-modal-container-box-shadow: 0 0 0 1px hsla(229, 15%, 6%, 3%), 0 3px 16px hsla(229, 15%, 6%, 6%), 0 4px 32px hsla(229, 15%, 6%, 12%);--kbq-modal-close-button-color: hsla(229, 15%, 15%, 100%);--kbq-modal-header-text-color: hsla(229, 15%, 15%, 100%);--kbq-modal-content-text-color: hsla(229, 15%, 15%, 100%)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-modal-overlay-background: hsla(229, 15%, 6%, 64%);--kbq-modal-container-background: hsla(229, 15%, 15%, 100%);--kbq-modal-container-box-shadow: 0 0 0 1px hsla(229, 100%, 85%, 15%);--kbq-modal-close-button-color: hsla(229, 15%, 80%, 100%);--kbq-modal-header-text-color: hsla(229, 15%, 80%, 100%);--kbq-modal-content-text-color: hsla(229, 15%, 80%, 100%)}\n"], dependencies: [{ kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i4.KbqButton, selector: "[kbq-button]", inputs: ["color", "tabIndex", "kbqStyle", "disabled"] }, { kind: "directive", type: i4.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "component", type: i5.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }, { kind: "directive", type: i6.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: CssUnitPipe, name: "toCssUnit" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
580
580
|
}
|
|
581
581
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqModalComponent, decorators: [{
|
|
582
582
|
type: Component,
|
|
583
583
|
args: [{ selector: 'kbq-modal', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
584
584
|
'(keydown)': 'onKeyDown($event)'
|
|
585
|
-
}, template: "<!-- Compatible: the <ng-content> can appear only once -->\n<ng-template #tplOriginContent>\n <ng-content />\n</ng-template>\n\n<div>\n <div\n *ngIf=\"kbqMask\"\n class=\"kbq-modal-mask\"\n [class.kbq-modal-mask-hidden]=\"hidden\"\n [ngClass]=\"maskAnimationClassMap\"\n [ngStyle]=\"kbqMaskStyle\"\n ></div>\n\n <div\n tabindex=\"-1\"\n class=\"kbq-modal-wrap {{ kbqWrapClassName }}\"\n [style.display]=\"hidden ? 'none' : ''\"\n (mousedown)=\"onClickMask($event)\"\n >\n <div\n #modalContainer\n class=\"kbq-modal {{ kbqClassName }} kbq-modal_{{ kbqSize }}\"\n [class.kbq-modal_no-footer]=\"!kbqFooter\"\n [ngClass]=\"modalAnimationClassMap\"\n [ngStyle]=\"kbqStyle\"\n [style.transform-origin]=\"transformOrigin\"\n [style.width]=\"kbqWidth | toCssUnit\"\n >\n <div\n cdkTrapFocus\n class=\"kbq-modal-content\"\n >\n <ng-container [ngSwitch]=\"true\">\n <ng-container\n *ngSwitchCase=\"isModalType('default')\"\n [ngTemplateOutlet]=\"tplContentDefault\"\n />\n <ng-container\n *ngSwitchCase=\"isModalType('confirm')\"\n [ngTemplateOutlet]=\"tplContentConfirm\"\n />\n <ng-container\n *ngSwitchCase=\"isModalType('custom')\"\n [ngTemplateOutlet]=\"tplContentCustom\"\n />\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #tplContentCustom>\n <ng-container #bodyContainer />\n</ng-template>\n\n<!-- [Predefined] Default Modal Content -->\n<ng-template #tplContentDefault>\n <div\n *ngIf=\"kbqTitle\"\n kbq-title\n class=\"kbq-modal-header\"\n [class.kbq-modal-body_top-overflow]=\"isTopOverflow\"\n >\n <div class=\"kbq-modal-title\">\n <ng-container [ngSwitch]=\"true\">\n <ng-container\n *ngSwitchCase=\"isTemplateRef(kbqTitle)\"\n [ngTemplateOutlet]=\"$any(kbqTitle)\"\n />\n <ng-container *ngSwitchCase=\"isNonEmptyString(kbqTitle)\">\n <div [innerHTML]=\"kbqTitle\"></div>\n </ng-container>\n </ng-container>\n </div>\n\n <button\n *ngIf=\"kbqClosable\"\n kbq-button\n class=\"kbq-modal-close kbq-button_transparent\"\n [color]=\"'contrast'\"\n (click)=\"onClickCloseBtn()\"\n >\n <i\n kbq-icon=\"mc-close-L_16\"\n [color]=\"componentColors.Contrast\"\n ></i>\n </button>\n </div>\n <div\n #modalBody\n class=\"kbq-modal-body kbq-scrollbar\"\n [ngStyle]=\"kbqBodyStyle\"\n (scroll)=\"checkOverflow()\"\n >\n <ng-container #bodyContainer>\n <ng-container\n *ngIf=\"!isComponent(kbqContent)\"\n [ngSwitch]=\"true\"\n >\n <ng-container\n *ngSwitchCase=\"isTemplateRef(kbqContent)\"\n [ngTemplateOutlet]=\"$any(kbqContent)\"\n />\n <ng-container *ngSwitchCase=\"isNonEmptyString(kbqContent)\">\n <div [innerHTML]=\"kbqContent\"></div>\n </ng-container>\n <ng-container\n *ngSwitchDefault\n [ngTemplateOutlet]=\"tplOriginContent\"\n />\n </ng-container>\n </ng-container>\n </div>\n <div\n *ngIf=\"kbqFooter || kbqOkText || kbqCancelText\"\n class=\"kbq-modal-footer\"\n [class.kbq-modal-body_bottom-overflow]=\"isBottomOverflow\"\n >\n <ng-container [ngSwitch]=\"true\">\n <ng-container\n *ngSwitchCase=\"isTemplateRef(kbqFooter)\"\n [ngTemplateOutlet]=\"$any(kbqFooter)\"\n />\n <ng-container *ngSwitchCase=\"isNonEmptyString(kbqFooter)\">\n <div [innerHTML]=\"kbqFooter\"></div>\n </ng-container>\n <ng-container *ngSwitchCase=\"isModalButtons(kbqFooter)\">\n <ng-container *ngFor=\"let button of $any(kbqFooter)\">\n <button\n *ngIf=\"getButtonCallableProp(button, 'show')\"\n kbq-button\n [attr.autofocus]=\"button.autoFocus\"\n [attr.kbq-modal-main-action]=\"button.kbqModalMainAction\"\n [class.kbq-progress]=\"getButtonCallableProp(button, 'loading')\"\n [color]=\"button.type\"\n [disabled]=\"getButtonCallableProp(button, 'disabled')\"\n (click)=\"onButtonClick(button)\"\n >\n {{ button.label }}\n </button>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <button\n *ngIf=\"kbqOkText\"\n kbq-button\n [attr.autofocus]=\"true\"\n [color]=\"componentColors.Contrast\"\n (click)=\"onClickOkCancel('ok')\"\n >\n {{ okText }}\n </button>\n <button\n *ngIf=\"kbqCancelText\"\n kbq-button\n (click)=\"onClickOkCancel('cancel')\"\n >\n {{ cancelText }}\n </button>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n<!-- /[Predefined] Default Modal Content -->\n\n<!-- [Predefined] Confirm Modal Content -->\n<ng-template #tplContentConfirm>\n <div\n class=\"kbq-modal-body\"\n [ngStyle]=\"kbqBodyStyle\"\n >\n <ng-container #bodyContainer>\n <ng-container\n *ngIf=\"!isComponent(kbqContent)\"\n [ngSwitch]=\"true\"\n >\n <ng-container\n *ngSwitchCase=\"isTemplateRef(kbqContent)\"\n [ngTemplateOutlet]=\"$any(kbqContent)\"\n />\n <ng-container *ngSwitchCase=\"isNonEmptyString(kbqContent)\">\n <div [innerHTML]=\"kbqContent\"></div>\n </ng-container>\n <ng-container\n *ngSwitchDefault\n [ngTemplateOutlet]=\"tplOriginContent\"\n />\n </ng-container>\n </ng-container>\n </div>\n <div\n *ngIf=\"kbqOkText || kbqCancelText\"\n class=\"kbq-confirm-footer\"\n >\n <button\n *ngIf=\"kbqOkText\"\n kbq-button\n [attr.autofocus]=\"true\"\n [color]=\"kbqOkType\"\n (click)=\"onClickOkCancel('ok')\"\n >\n {{ okText }}\n </button>\n\n <button\n *ngIf=\"kbqCancelText\"\n kbq-button\n (click)=\"onClickOkCancel('cancel')\"\n >\n {{ cancelText }}\n </button>\n </div>\n</ng-template>\n<!-- /[Predefined] Confirm Modal Content -->\n", styles: [".kbq-confirm .kbq-modal-close{display:none}.kbq-confirm .kbq-confirm-footer{display:flex;gap:var(--kbq-modal-size-footer-content-gap-horizontal, 16px)}.kbq-modal{box-sizing:border-box;position:relative;top:48px;border-radius:var(--kbq-modal-size-border-radius, 8px);width:auto;margin:0 auto;list-style:none}.kbq-modal.zoom-enter,.kbq-modal.zoom-appear{animation-duration:.3s;transform:none;opacity:0}.kbq-modal.kbq-modal_small{width:var(--kbq-modal-size-small-width, 400px)}.kbq-modal.kbq-modal_medium{width:var(--kbq-modal-size-medium-width, 640px)}.kbq-modal.kbq-modal_large{width:var(--kbq-modal-size-large-width, 960px)}.kbq-modal .kbq-modal-close{position:absolute;top:16px;right:8px}.kbq-modal-wrap{position:fixed;inset:0;overflow:auto;-webkit-overflow-scrolling:touch;outline:0}.kbq-modal-content{position:relative;border-radius:var(--kbq-modal-size-border-radius, 8px);background-clip:padding-box}.kbq-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--kbq-modal-size-header-padding-vertical, 16px) var(--kbq-modal-size-header-padding-right, 48px) var(--kbq-modal-size-header-padding-vertical, 16px) var(--kbq-modal-size-header-padding-left, 24px)}.kbq-modal-header+.kbq-modal-body{padding-top:var(--kbq-modal-size-content-padding-top, 0)}.kbq-modal-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.kbq-modal-body{display:block;overflow-y:auto;max-height:calc(100vh - 260px);padding:var(--kbq-modal-size-content-padding-top-without-header, 24px) var(--kbq-modal-size-content-padding-horizontal, 24px) var(--kbq-modal-size-content-padding-bottom, 8px) var(--kbq-modal-size-content-padding-horizontal, 24px);word-wrap:break-word}.kbq-modal-body>*{position:relative}.kbq-modal-footer,.kbq-confirm-footer{display:flex;align-items:center;padding:var(--kbq-modal-size-footer-padding-vertical, 20px) var(--kbq-modal-size-footer-padding-horizontal, 24px);gap:var(--kbq-modal-size-footer-content-gap-horizontal, 16px)}.kbq-modal-mask{position:fixed;inset:0;height:100%}.kbq-modal-mask.kbq-modal-mask-hidden{display:none}.kbq-modal-open{overflow:hidden}.kbq-modal{background:var(--kbq-modal-container-background, );box-shadow:var(--kbq-modal-container-box-shadow, )}.kbq-modal .kbq-modal-header .kbq-modal-title{color:var(--kbq-modal-header-text-color, )}.kbq-modal .kbq-modal-header .kbq-modal-close{color:var(--kbq-modal-close-button-color, )}.kbq-modal .kbq-modal-content{color:var(--kbq-modal-content-text-color, )}.kbq-modal .kbq-modal-header.kbq-modal-body_top-overflow{box-shadow:var(--kbq-modal-body-top-shadow, )}.kbq-modal .kbq-modal-footer.kbq-modal-body_bottom-overflow{box-shadow:var(--kbq-modal-body-bottom-shadow, )}.kbq-modal-mask{background-color:var(--kbq-modal-overlay-background, )}.kbq-modal-title{font-size:var(--kbq-modal-font-header-font-size, 20px);font-weight:var(--kbq-modal-font-header-font-weight, 700);line-height:var(--kbq-modal-font-header-line-height, 28px);font-family:var(--kbq-modal-font-header-font-family, \"TT-Positive\", Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-modal-font-header-text-transform, );font-feature-settings:var(--kbq-modal-font-header-font-feature-settings, \"calt\", \"kern\", \"liga\");letter-spacing:var(--kbq-modal-font-header-letter-spacing, normal)}.kbq-modal-body{font-size:var(--kbq-modal-font-content-font-size, 14px);font-weight:var(--kbq-modal-font-content-font-weight, normal);line-height:var(--kbq-modal-font-content-line-height, 20px);font-family:var(--kbq-modal-font-content-font-family, Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-modal-font-content-text-transform, );font-feature-settings:var(--kbq-modal-font-content-font-feature-settings, \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\");letter-spacing:var(--kbq-modal-font-content-letter-spacing, -.006em)}\n", ".kbq-modal{--kbq-modal-size-small-width: 400px;--kbq-modal-size-medium-width: 640px;--kbq-modal-size-large-width: 960px;--kbq-modal-size-border-radius: 8px;--kbq-modal-size-header-padding-vertical: 16px;--kbq-modal-size-header-padding-left: 24px;--kbq-modal-size-header-padding-right: 48px;--kbq-modal-size-close-button-margin-left: 8px;--kbq-modal-size-content-padding-horizontal: 24px;--kbq-modal-size-content-padding-top: 0;--kbq-modal-size-content-padding-bottom: 8px;--kbq-modal-size-content-padding-top-without-header: 24px;--kbq-modal-size-content-padding-bottom-without-footer: 40px;--kbq-modal-size-footer-padding-horizontal: 24px;--kbq-modal-size-footer-padding-vertical: 20px;--kbq-modal-size-footer-content-gap-horizontal: 16px;--kbq-modal-font-header-font-size: 20px;--kbq-modal-font-header-line-height: 28px;--kbq-modal-font-header-letter-spacing: normal;--kbq-modal-font-header-font-weight: 700;--kbq-modal-font-header-font-family: \"TT-Positive\", Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-modal-font-header-text-transform: null;--kbq-modal-font-header-font-feature-settings: \"calt\", \"kern\", \"liga\";--kbq-modal-font-content-font-size: 14px;--kbq-modal-font-content-line-height: 20px;--kbq-modal-font-content-letter-spacing: -.006em;--kbq-modal-font-content-font-weight: normal;--kbq-modal-font-content-font-family: Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-modal-font-content-text-transform: null;--kbq-modal-font-content-font-feature-settings: \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\"}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-modal-overlay-background: hsla(229, 15%, 20%, 32%);--kbq-modal-container-background: hsla(229, 15%, 100%, 100%);--kbq-modal-container-box-shadow: 0 0 0 1px hsla(229, 15%, 6%, 3%), 0 3px 16px hsla(229, 15%, 6%, 6%), 0 4px 32px hsla(229, 15%, 6%, 12%);--kbq-modal-close-button-color: hsla(229, 15%, 15%, 100%);--kbq-modal-header-text-color: hsla(229, 15%, 15%, 100%);--kbq-modal-content-text-color: hsla(229, 15%, 15%, 100%)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-modal-overlay-background: hsla(229, 15%, 6%, 64%);--kbq-modal-container-background: hsla(229, 15%, 15%, 100%);--kbq-modal-container-box-shadow: 0 0 0 1px hsla(229, 100%, 85%, 15%);--kbq-modal-close-button-color: hsla(229, 15%, 80%, 100%);--kbq-modal-header-text-color: hsla(229, 15%, 80%, 100%);--kbq-modal-content-text-color: hsla(229, 15%, 80%, 100%)}\n"] }]
|
|
585
|
+
}, template: "<!-- Compatible: the <ng-content> can appear only once -->\n<ng-template #tplOriginContent>\n <ng-content />\n</ng-template>\n\n<div>\n @if (kbqMask) {\n <div\n class=\"kbq-modal-mask\"\n [class.kbq-modal-mask-hidden]=\"hidden\"\n [ngClass]=\"maskAnimationClassMap\"\n [ngStyle]=\"kbqMaskStyle\"\n ></div>\n }\n\n <div\n tabindex=\"-1\"\n class=\"kbq-modal-wrap {{ kbqWrapClassName }}\"\n [style.display]=\"hidden ? 'none' : ''\"\n (mousedown)=\"onClickMask($event)\"\n >\n <div\n #modalContainer\n class=\"kbq-modal {{ kbqClassName }} kbq-modal_{{ kbqSize }}\"\n [class.kbq-modal_no-footer]=\"!kbqFooter\"\n [ngClass]=\"modalAnimationClassMap\"\n [ngStyle]=\"kbqStyle\"\n [style.transform-origin]=\"transformOrigin\"\n [style.width]=\"kbqWidth | toCssUnit\"\n >\n <div\n cdkTrapFocus\n class=\"kbq-modal-content\"\n >\n @switch (true) {\n @case (isModalType('default')) {\n <ng-container [ngTemplateOutlet]=\"tplContentDefault\" />\n }\n @case (isModalType('confirm')) {\n <ng-container [ngTemplateOutlet]=\"tplContentConfirm\" />\n }\n @case (isModalType('custom')) {\n <ng-container [ngTemplateOutlet]=\"tplContentCustom\" />\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #tplContentCustom>\n <ng-container #bodyContainer />\n</ng-template>\n\n<!-- [Predefined] Default Modal Content -->\n<ng-template #tplContentDefault>\n @if (kbqTitle) {\n <div\n kbq-title\n class=\"kbq-modal-header\"\n [class.kbq-modal-body_top-overflow]=\"isTopOverflow\"\n >\n <div class=\"kbq-modal-title\">\n @switch (true) {\n @case (isTemplateRef(kbqTitle)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqTitle)\" />\n }\n @case (isNonEmptyString(kbqTitle)) {\n <div [innerHTML]=\"kbqTitle\"></div>\n }\n }\n </div>\n @if (kbqClosable) {\n <button\n kbq-button\n class=\"kbq-modal-close kbq-button_transparent\"\n [color]=\"'contrast'\"\n (click)=\"onClickCloseBtn()\"\n >\n <i\n kbq-icon=\"mc-close-L_16\"\n [color]=\"componentColors.Contrast\"\n ></i>\n </button>\n }\n </div>\n }\n <div\n #modalBody\n class=\"kbq-modal-body kbq-scrollbar\"\n [ngStyle]=\"kbqBodyStyle\"\n (scroll)=\"checkOverflow()\"\n >\n <ng-container #bodyContainer>\n @if (!isComponent(kbqContent)) {\n @switch (true) {\n @case (isTemplateRef(kbqContent)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqContent)\" />\n }\n @case (isNonEmptyString(kbqContent)) {\n <div [innerHTML]=\"kbqContent\"></div>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"tplOriginContent\" />\n }\n }\n }\n </ng-container>\n </div>\n @if (kbqFooter || kbqOkText || kbqCancelText) {\n <div\n class=\"kbq-modal-footer\"\n [class.kbq-modal-body_bottom-overflow]=\"isBottomOverflow\"\n >\n @switch (true) {\n @case (isTemplateRef(kbqFooter)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqFooter)\" />\n }\n @case (isNonEmptyString(kbqFooter)) {\n <div [innerHTML]=\"kbqFooter\"></div>\n }\n @case (isModalButtons(kbqFooter)) {\n @for (button of $any(kbqFooter); track button) {\n @if (getButtonCallableProp(button, 'show')) {\n <button\n kbq-button\n [attr.autofocus]=\"button.autoFocus\"\n [attr.kbq-modal-main-action]=\"button.kbqModalMainAction\"\n [class.kbq-progress]=\"getButtonCallableProp(button, 'loading')\"\n [color]=\"button.type\"\n [disabled]=\"getButtonCallableProp(button, 'disabled')\"\n (click)=\"onButtonClick(button)\"\n >\n {{ button.label }}\n </button>\n }\n }\n }\n @default {\n @if (kbqOkText) {\n <button\n kbq-button\n [attr.autofocus]=\"true\"\n [color]=\"componentColors.Contrast\"\n (click)=\"onClickOkCancel('ok')\"\n >\n {{ okText }}\n </button>\n }\n @if (kbqCancelText) {\n <button\n kbq-button\n (click)=\"onClickOkCancel('cancel')\"\n >\n {{ cancelText }}\n </button>\n }\n }\n }\n </div>\n }\n</ng-template>\n<!-- /[Predefined] Default Modal Content -->\n\n<!-- [Predefined] Confirm Modal Content -->\n<ng-template #tplContentConfirm>\n <div\n class=\"kbq-modal-body\"\n [ngStyle]=\"kbqBodyStyle\"\n >\n <ng-container #bodyContainer>\n @if (!isComponent(kbqContent)) {\n @switch (true) {\n @case (isTemplateRef(kbqContent)) {\n <ng-container [ngTemplateOutlet]=\"$any(kbqContent)\" />\n }\n @case (isNonEmptyString(kbqContent)) {\n <div [innerHTML]=\"kbqContent\"></div>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"tplOriginContent\" />\n }\n }\n }\n </ng-container>\n </div>\n @if (kbqOkText || kbqCancelText) {\n <div class=\"kbq-confirm-footer\">\n @if (kbqOkText) {\n <button\n kbq-button\n [attr.autofocus]=\"true\"\n [color]=\"kbqOkType\"\n (click)=\"onClickOkCancel('ok')\"\n >\n {{ okText }}\n </button>\n }\n @if (kbqCancelText) {\n <button\n kbq-button\n (click)=\"onClickOkCancel('cancel')\"\n >\n {{ cancelText }}\n </button>\n }\n </div>\n }\n</ng-template>\n<!-- /[Predefined] Confirm Modal Content -->\n", styles: [".kbq-confirm .kbq-modal-close{display:none}.kbq-confirm .kbq-confirm-footer{display:flex;gap:var(--kbq-modal-size-footer-content-gap-horizontal, 16px)}.kbq-modal{box-sizing:border-box;position:relative;top:48px;border-radius:var(--kbq-modal-size-border-radius, 8px);width:auto;margin:0 auto;list-style:none}.kbq-modal.zoom-enter,.kbq-modal.zoom-appear{animation-duration:.3s;transform:none;opacity:0}.kbq-modal.kbq-modal_small{width:var(--kbq-modal-size-small-width, 400px)}.kbq-modal.kbq-modal_medium{width:var(--kbq-modal-size-medium-width, 640px)}.kbq-modal.kbq-modal_large{width:var(--kbq-modal-size-large-width, 960px)}.kbq-modal .kbq-modal-close{position:absolute;top:16px;right:8px}.kbq-modal-wrap{position:fixed;inset:0;overflow:auto;-webkit-overflow-scrolling:touch;outline:0}.kbq-modal-content{position:relative;border-radius:var(--kbq-modal-size-border-radius, 8px);background-clip:padding-box}.kbq-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--kbq-modal-size-header-padding-vertical, 16px) var(--kbq-modal-size-header-padding-right, 48px) var(--kbq-modal-size-header-padding-vertical, 16px) var(--kbq-modal-size-header-padding-left, 24px)}.kbq-modal-header+.kbq-modal-body{padding-top:var(--kbq-modal-size-content-padding-top, 0)}.kbq-modal-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.kbq-modal-body{display:block;overflow-y:auto;max-height:calc(100vh - 260px);padding:var(--kbq-modal-size-content-padding-top-without-header, 24px) var(--kbq-modal-size-content-padding-horizontal, 24px) var(--kbq-modal-size-content-padding-bottom, 8px) var(--kbq-modal-size-content-padding-horizontal, 24px);word-wrap:break-word}.kbq-modal-body>*{position:relative}.kbq-modal-footer,.kbq-confirm-footer{display:flex;align-items:center;padding:var(--kbq-modal-size-footer-padding-vertical, 20px) var(--kbq-modal-size-footer-padding-horizontal, 24px);gap:var(--kbq-modal-size-footer-content-gap-horizontal, 16px)}.kbq-modal-mask{position:fixed;inset:0;height:100%}.kbq-modal-mask.kbq-modal-mask-hidden{display:none}.kbq-modal-open{overflow:hidden}.kbq-modal{background:var(--kbq-modal-container-background, );box-shadow:var(--kbq-modal-container-box-shadow, )}.kbq-modal .kbq-modal-header .kbq-modal-title{color:var(--kbq-modal-header-text-color, )}.kbq-modal .kbq-modal-header .kbq-modal-close{color:var(--kbq-modal-close-button-color, )}.kbq-modal .kbq-modal-content{color:var(--kbq-modal-content-text-color, )}.kbq-modal .kbq-modal-header.kbq-modal-body_top-overflow{box-shadow:var(--kbq-modal-body-top-shadow, )}.kbq-modal .kbq-modal-footer.kbq-modal-body_bottom-overflow{box-shadow:var(--kbq-modal-body-bottom-shadow, )}.kbq-modal-mask{background-color:var(--kbq-modal-overlay-background, )}.kbq-modal-title{font-size:var(--kbq-modal-font-header-font-size, 20px);font-weight:var(--kbq-modal-font-header-font-weight, 700);line-height:var(--kbq-modal-font-header-line-height, 28px);font-family:var(--kbq-modal-font-header-font-family, \"TT-Positive\", Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-modal-font-header-text-transform, );font-feature-settings:var(--kbq-modal-font-header-font-feature-settings, \"calt\", \"kern\", \"liga\");letter-spacing:var(--kbq-modal-font-header-letter-spacing, normal)}.kbq-modal-body{font-size:var(--kbq-modal-font-content-font-size, 14px);font-weight:var(--kbq-modal-font-content-font-weight, normal);line-height:var(--kbq-modal-font-content-line-height, 20px);font-family:var(--kbq-modal-font-content-font-family, Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif);text-transform:var(--kbq-modal-font-content-text-transform, );font-feature-settings:var(--kbq-modal-font-content-font-feature-settings, \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\");letter-spacing:var(--kbq-modal-font-content-letter-spacing, -.006em)}\n", ".kbq-modal{--kbq-modal-size-small-width: 400px;--kbq-modal-size-medium-width: 640px;--kbq-modal-size-large-width: 960px;--kbq-modal-size-border-radius: 8px;--kbq-modal-size-header-padding-vertical: 16px;--kbq-modal-size-header-padding-left: 24px;--kbq-modal-size-header-padding-right: 48px;--kbq-modal-size-close-button-margin-left: 8px;--kbq-modal-size-content-padding-horizontal: 24px;--kbq-modal-size-content-padding-top: 0;--kbq-modal-size-content-padding-bottom: 8px;--kbq-modal-size-content-padding-top-without-header: 24px;--kbq-modal-size-content-padding-bottom-without-footer: 40px;--kbq-modal-size-footer-padding-horizontal: 24px;--kbq-modal-size-footer-padding-vertical: 20px;--kbq-modal-size-footer-content-gap-horizontal: 16px;--kbq-modal-font-header-font-size: 20px;--kbq-modal-font-header-line-height: 28px;--kbq-modal-font-header-letter-spacing: normal;--kbq-modal-font-header-font-weight: 700;--kbq-modal-font-header-font-family: \"TT-Positive\", Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-modal-font-header-text-transform: null;--kbq-modal-font-header-font-feature-settings: \"calt\", \"kern\", \"liga\";--kbq-modal-font-content-font-size: 14px;--kbq-modal-font-content-line-height: 20px;--kbq-modal-font-content-letter-spacing: -.006em;--kbq-modal-font-content-font-weight: normal;--kbq-modal-font-content-font-family: Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif;--kbq-modal-font-content-text-transform: null;--kbq-modal-font-content-font-feature-settings: \"calt\", \"kern\", \"liga\", \"ss01\", \"ss04\"}:where(.kbq-light,.theme-light,.kbq-theme-light){--kbq-modal-overlay-background: hsla(229, 15%, 20%, 32%);--kbq-modal-container-background: hsla(229, 15%, 100%, 100%);--kbq-modal-container-box-shadow: 0 0 0 1px hsla(229, 15%, 6%, 3%), 0 3px 16px hsla(229, 15%, 6%, 6%), 0 4px 32px hsla(229, 15%, 6%, 12%);--kbq-modal-close-button-color: hsla(229, 15%, 15%, 100%);--kbq-modal-header-text-color: hsla(229, 15%, 15%, 100%);--kbq-modal-content-text-color: hsla(229, 15%, 15%, 100%)}:where(.kbq-dark,.theme-dark,.kbq-theme-dark){--kbq-modal-overlay-background: hsla(229, 15%, 6%, 64%);--kbq-modal-container-background: hsla(229, 15%, 15%, 100%);--kbq-modal-container-box-shadow: 0 0 0 1px hsla(229, 100%, 85%, 15%);--kbq-modal-close-button-color: hsla(229, 15%, 80%, 100%);--kbq-modal-header-text-color: hsla(229, 15%, 80%, 100%);--kbq-modal-content-text-color: hsla(229, 15%, 80%, 100%)}\n"] }]
|
|
586
586
|
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Renderer2 }, { type: i0.ComponentFactoryResolver }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: KbqModalControlService }, { type: i0.ChangeDetectorRef }, { type: i3.FocusMonitor }, { type: undefined, decorators: [{
|
|
587
587
|
type: Inject,
|
|
588
588
|
args: [DOCUMENT]
|
|
@@ -680,7 +680,7 @@ class KbqModalTitle {
|
|
|
680
680
|
>
|
|
681
681
|
<ng-content />
|
|
682
682
|
</div>
|
|
683
|
-
`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
683
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i6.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }] }); }
|
|
684
684
|
}
|
|
685
685
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqModalTitle, decorators: [{
|
|
686
686
|
type: Component,
|
|
@@ -860,12 +860,14 @@ class KbqModalModule {
|
|
|
860
860
|
KbqModalBody,
|
|
861
861
|
KbqModalFooter,
|
|
862
862
|
CssUnitPipe,
|
|
863
|
-
KbqModalMainAction], imports: [
|
|
864
|
-
OverlayModule,
|
|
863
|
+
KbqModalMainAction], imports: [OverlayModule,
|
|
865
864
|
A11yModule,
|
|
866
865
|
KbqButtonModule,
|
|
867
866
|
KbqIconModule,
|
|
868
|
-
KbqTitleModule
|
|
867
|
+
KbqTitleModule,
|
|
868
|
+
NgTemplateOutlet,
|
|
869
|
+
NgStyle,
|
|
870
|
+
NgClass], exports: [KbqModalComponent,
|
|
869
871
|
KbqModalTitle,
|
|
870
872
|
KbqModalBody,
|
|
871
873
|
KbqModalFooter,
|
|
@@ -874,8 +876,7 @@ class KbqModalModule {
|
|
|
874
876
|
KbqModalControlService,
|
|
875
877
|
KbqModalService,
|
|
876
878
|
{ provide: FocusTrapFactory, useClass: ConfigurableFocusTrapFactory }
|
|
877
|
-
], imports: [
|
|
878
|
-
OverlayModule,
|
|
879
|
+
], imports: [OverlayModule,
|
|
879
880
|
A11yModule,
|
|
880
881
|
KbqButtonModule,
|
|
881
882
|
KbqIconModule,
|
|
@@ -885,12 +886,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
|
|
|
885
886
|
type: NgModule,
|
|
886
887
|
args: [{
|
|
887
888
|
imports: [
|
|
888
|
-
CommonModule,
|
|
889
889
|
OverlayModule,
|
|
890
890
|
A11yModule,
|
|
891
891
|
KbqButtonModule,
|
|
892
892
|
KbqIconModule,
|
|
893
|
-
KbqTitleModule
|
|
893
|
+
KbqTitleModule,
|
|
894
|
+
NgTemplateOutlet,
|
|
895
|
+
NgStyle,
|
|
896
|
+
NgClass
|
|
894
897
|
],
|
|
895
898
|
exports: [
|
|
896
899
|
KbqModalComponent,
|