@evotor-dev/ui-kit 8.0.0-beta.19 → 8.0.0-beta.20
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/esm2022/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.mjs +11 -18
- package/esm2022/lib/components/evo-sidebar/evo-sidebar.component.mjs +80 -91
- package/esm2022/lib/components/evo-sidebar/evo-sidebar.service.mjs +9 -15
- package/esm2022/lib/components/evo-sidebar/interfaces.mjs +1 -1
- package/fesm2022/evotor-dev-ui-kit.mjs +174 -198
- package/fesm2022/evotor-dev-ui-kit.mjs.map +1 -1
- package/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.d.ts +6 -6
- package/lib/components/evo-sidebar/evo-sidebar.component.d.ts +21 -23
- package/lib/components/evo-sidebar/evo-sidebar.service.d.ts +2 -5
- package/lib/components/evo-sidebar/interfaces.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, Injectable, PLATFORM_ID, ɵstringify as _stringify, Directive, Input, EventEmitter, Output, HostListener, Optional, ViewContainerRef, TemplateRef, Inject, NgModule, CUSTOM_ELEMENTS_SCHEMA, inject, SecurityContext, Component, ChangeDetectionStrategy, HostBinding, Pipe, forwardRef, ViewChild, ViewEncapsulation, ContentChild, ElementRef, ComponentRef, Injector, ApplicationRef, ComponentFactoryResolver, Host, ContentChildren, ViewChildren } from '@angular/core';
|
|
2
|
+
import { InjectionToken, Injectable, PLATFORM_ID, ɵstringify as _stringify, Directive, Input, EventEmitter, Output, HostListener, Optional, ViewContainerRef, TemplateRef, Inject, NgModule, CUSTOM_ELEMENTS_SCHEMA, inject, SecurityContext, Component, ChangeDetectionStrategy, HostBinding, Pipe, forwardRef, ViewChild, ViewEncapsulation, ContentChild, ElementRef, ComponentRef, input, output, computed, viewChild, signal, ChangeDetectorRef, DestroyRef, EnvironmentInjector, NgZone, createComponent, Injector, ApplicationRef, ComponentFactoryResolver, Host, ContentChildren, ViewChildren } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
|
-
import { isPlatformBrowser, CommonModule, AsyncPipe, NgClass, NgTemplateOutlet, NgIf, NgStyle, NgFor } from '@angular/common';
|
|
4
|
+
import { isPlatformBrowser, CommonModule, AsyncPipe, NgClass, NgTemplateOutlet, NgIf, NgStyle, Location, NgFor } from '@angular/common';
|
|
5
5
|
import * as i1$2 from '@angular/forms';
|
|
6
6
|
import { FormsModule, ReactiveFormsModule, UntypedFormControl, UntypedFormGroup, UntypedFormArray, NgControl, COMPOSITION_BUFFER_MODE, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
|
|
7
7
|
import { NgxPageScrollModule } from 'ngx-page-scroll';
|
|
@@ -24,6 +24,7 @@ import flatpickr from 'flatpickr';
|
|
|
24
24
|
import { IMaskDirective } from 'angular-imask';
|
|
25
25
|
import { Key } from 'ts-keycode-enum';
|
|
26
26
|
import { createPopper } from '@popperjs/core';
|
|
27
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
27
28
|
import { __decorate } from 'tslib';
|
|
28
29
|
import autobind from 'autobind-decorator';
|
|
29
30
|
import bytes from 'bytes';
|
|
@@ -4140,116 +4141,15 @@ const EVO_SIDEBAR_CONFIG = new InjectionToken('EVO_SIDEBAR_CONFIG');
|
|
|
4140
4141
|
// Sidebar Data
|
|
4141
4142
|
const EVO_SIDEBAR_DATA = new InjectionToken('EVO_SIDEBAR_DATA');
|
|
4142
4143
|
|
|
4143
|
-
var EvoSidebarCloseTargets;
|
|
4144
|
-
(function (EvoSidebarCloseTargets) {
|
|
4145
|
-
EvoSidebarCloseTargets["BACKGROUND"] = "background";
|
|
4146
|
-
EvoSidebarCloseTargets["BUTTON"] = "button";
|
|
4147
|
-
EvoSidebarCloseTargets["DEFAULT"] = "default";
|
|
4148
|
-
EvoSidebarCloseTargets["ESC"] = "escape";
|
|
4149
|
-
})(EvoSidebarCloseTargets || (EvoSidebarCloseTargets = {}));
|
|
4150
|
-
|
|
4151
|
-
var EvoSidebarStates;
|
|
4152
|
-
(function (EvoSidebarStates) {
|
|
4153
|
-
EvoSidebarStates["HIDDEN"] = "hidden";
|
|
4154
|
-
EvoSidebarStates["VISIBLE"] = "visible";
|
|
4155
|
-
})(EvoSidebarStates || (EvoSidebarStates = {}));
|
|
4156
|
-
|
|
4157
|
-
var EvoSidebarSizes;
|
|
4158
|
-
(function (EvoSidebarSizes) {
|
|
4159
|
-
EvoSidebarSizes["NORMAL"] = "normal";
|
|
4160
|
-
EvoSidebarSizes["MIDDLE"] = "middle";
|
|
4161
|
-
EvoSidebarSizes["LARGE"] = "large";
|
|
4162
|
-
})(EvoSidebarSizes || (EvoSidebarSizes = {}));
|
|
4163
|
-
|
|
4164
|
-
const SidebarInjectionToken = new InjectionToken('SidebarInjectionToken');
|
|
4165
|
-
|
|
4166
|
-
class EvoSidebarFooterComponent {
|
|
4167
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4168
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: EvoSidebarFooterComponent, isStandalone: true, selector: "evo-sidebar-footer, [evo-sidebar-footer]", host: { classAttribute: "evo-sidebar__footer-wrapper" }, ngImport: i0, template: "<div class=\"evo-sidebar__footer\"><ng-content /></div>\n<!--\u0447\u0442\u043E\u0431\u044B :empty \u0440\u0430\u0431\u043E\u0442\u0430\u043B, \u043D\u0435 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0432\u043D\u0443\u0442\u0440\u0438 evo-sidebar__footer \u0432\u043E\u043E\u0431\u0449\u0435 \u043D\u0438\u0447\u0435\u0433\u043E, \u0434\u0430\u0436\u0435 \u043F\u0440\u043E\u0431\u0435\u043B\u0430-->\n", styles: [":host{--evo-sidebar-footer-padding-desktop: 24px;--evo-sidebar-footer-padding-tablet: 16px;--evo-sidebar-footer-padding-mobile: 30px;flex-shrink:0;margin-top:-8px;padding-top:8px;overflow:hidden}.evo-sidebar__footer{display:flex;flex-shrink:0;flex-direction:column;margin:0 15px;padding:var(--evo-sidebar-footer-padding-mobile) 0;background-color:#fff;border-top:solid 1px #C6C6C6}.evo-sidebar__footer:empty{display:none}@media (min-width: 768px){.evo-sidebar__footer{flex-direction:row;justify-content:space-between;margin:0 15px;padding:var(--evo-sidebar-footer-padding-tablet) 0}}@media (min-width: 992px){.evo-sidebar__footer{margin:0 32px;padding:var(--evo-sidebar-footer-padding-desktop) 0}}\n"] }); }
|
|
4169
|
-
}
|
|
4170
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarFooterComponent, decorators: [{
|
|
4171
|
-
type: Component,
|
|
4172
|
-
args: [{ selector: 'evo-sidebar-footer, [evo-sidebar-footer]', host: {
|
|
4173
|
-
class: 'evo-sidebar__footer-wrapper',
|
|
4174
|
-
}, standalone: true, template: "<div class=\"evo-sidebar__footer\"><ng-content /></div>\n<!--\u0447\u0442\u043E\u0431\u044B :empty \u0440\u0430\u0431\u043E\u0442\u0430\u043B, \u043D\u0435 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0432\u043D\u0443\u0442\u0440\u0438 evo-sidebar__footer \u0432\u043E\u043E\u0431\u0449\u0435 \u043D\u0438\u0447\u0435\u0433\u043E, \u0434\u0430\u0436\u0435 \u043F\u0440\u043E\u0431\u0435\u043B\u0430-->\n", styles: [":host{--evo-sidebar-footer-padding-desktop: 24px;--evo-sidebar-footer-padding-tablet: 16px;--evo-sidebar-footer-padding-mobile: 30px;flex-shrink:0;margin-top:-8px;padding-top:8px;overflow:hidden}.evo-sidebar__footer{display:flex;flex-shrink:0;flex-direction:column;margin:0 15px;padding:var(--evo-sidebar-footer-padding-mobile) 0;background-color:#fff;border-top:solid 1px #C6C6C6}.evo-sidebar__footer:empty{display:none}@media (min-width: 768px){.evo-sidebar__footer{flex-direction:row;justify-content:space-between;margin:0 15px;padding:var(--evo-sidebar-footer-padding-tablet) 0}}@media (min-width: 992px){.evo-sidebar__footer{margin:0 32px;padding:var(--evo-sidebar-footer-padding-desktop) 0}}\n"] }]
|
|
4175
|
-
}] });
|
|
4176
|
-
|
|
4177
|
-
class EvoSidebarContentComponent {
|
|
4178
|
-
// eslint-disable-next-line
|
|
4179
|
-
constructor(sidebar) {
|
|
4180
|
-
this.sidebar = sidebar;
|
|
4181
|
-
this.hostClass = 'evo-sidebar__content';
|
|
4182
|
-
}
|
|
4183
|
-
ngOnInit() {
|
|
4184
|
-
if (!this.sidebar) {
|
|
4185
|
-
throw new Error(`EvoSidebarContentComponent must be used inside EvoSidebarComponent only!`);
|
|
4186
|
-
}
|
|
4187
|
-
this.relativeFooter = this.relativeFooter ?? this.sidebar.relativeFooter;
|
|
4188
|
-
}
|
|
4189
|
-
get hostClasses() {
|
|
4190
|
-
return this.relativeFooter ? `${this.hostClass} evo-sidebar__content_relative-footer` : this.hostClass;
|
|
4191
|
-
}
|
|
4192
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarContentComponent, deps: [{ token: SidebarInjectionToken }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4193
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: EvoSidebarContentComponent, isStandalone: true, selector: "evo-sidebar-content, [evo-sidebar-content]", inputs: { relativeFooter: "relativeFooter" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<ng-content />\n", styles: [":host{display:flex;flex-grow:1;flex-direction:column;padding:24px 15px;overflow-y:auto;-webkit-overflow-scrolling:touch}@media (min-width: 768px){:host{padding:40px 15px}}@media (min-width: 992px){:host{padding:40px 32px}}:host(.evo-sidebar__content_relative-footer){flex-grow:0}\n"] }); }
|
|
4194
|
-
}
|
|
4195
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarContentComponent, decorators: [{
|
|
4196
|
-
type: Component,
|
|
4197
|
-
args: [{ selector: 'evo-sidebar-content, [evo-sidebar-content]', standalone: true, template: "<ng-content />\n", styles: [":host{display:flex;flex-grow:1;flex-direction:column;padding:24px 15px;overflow-y:auto;-webkit-overflow-scrolling:touch}@media (min-width: 768px){:host{padding:40px 15px}}@media (min-width: 992px){:host{padding:40px 32px}}:host(.evo-sidebar__content_relative-footer){flex-grow:0}\n"] }]
|
|
4198
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
4199
|
-
type: Inject,
|
|
4200
|
-
args: [SidebarInjectionToken]
|
|
4201
|
-
}] }], propDecorators: { relativeFooter: [{
|
|
4202
|
-
type: Input
|
|
4203
|
-
}], hostClasses: [{
|
|
4204
|
-
type: HostBinding,
|
|
4205
|
-
args: ['class']
|
|
4206
|
-
}] } });
|
|
4207
|
-
|
|
4208
|
-
class EvoSidebarHeaderComponent {
|
|
4209
|
-
// eslint-disable-next-line
|
|
4210
|
-
constructor(sidebar) {
|
|
4211
|
-
this.sidebar = sidebar;
|
|
4212
|
-
this.back = new EventEmitter();
|
|
4213
|
-
}
|
|
4214
|
-
ngOnInit() {
|
|
4215
|
-
if (!this.sidebar) {
|
|
4216
|
-
throw new Error(`EvoSidebarHeaderComponent must be used inside EvoSidebarComponent only!`);
|
|
4217
|
-
}
|
|
4218
|
-
this.backButton = this.backButton ?? this.sidebar.backButton;
|
|
4219
|
-
}
|
|
4220
|
-
handleBackClick() {
|
|
4221
|
-
this.back.emit();
|
|
4222
|
-
}
|
|
4223
|
-
closeSidebar() {
|
|
4224
|
-
this.sidebar.closeSidebar(EvoSidebarCloseTargets.BUTTON);
|
|
4225
|
-
}
|
|
4226
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarHeaderComponent, deps: [{ token: SidebarInjectionToken }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4227
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoSidebarHeaderComponent, isStandalone: true, selector: "evo-sidebar-header, [evo-sidebar-header]", inputs: { backButton: "backButton" }, outputs: { back: "back" }, host: { classAttribute: "evo-sidebar__header" }, ngImport: i0, template: "@if (backButton) {\n <div class=\"evo-sidebar__back\" (click)=\"handleBackClick()\">\n <evo-icon shape=\"chevron-left\" class=\"evo-sidebar__icon\" />\n </div>\n}\n\n<div class=\"evo-sidebar__title\">\n <ng-content />\n</div>\n\n<div class=\"evo-sidebar__close\" (click)=\"closeSidebar()\">\n <evo-icon shape=\"close\" class=\"evo-sidebar__icon\" />\n</div>\n", styles: [":host{display:flex;flex-shrink:0;align-items:flex-start;margin:0 15px;padding:16px 0;border-bottom:solid 1px #C6C6C6}@media (min-width: 768px){:host{padding-top:32px;padding-bottom:16px}}@media (min-width: 992px){:host{margin:0 32px}}.evo-sidebar__title{flex:1;color:#212121;font-weight:700;font-size:24px;font-family:var(--evo-font-secondary);line-height:32px}@media (min-width: 768px){.evo-sidebar__title{font-size:30px;line-height:38px}}.evo-sidebar__close{flex-shrink:0;margin-left:8px;padding:0;color:#231f20;cursor:pointer;transition:opacity .3s}.evo-sidebar__close:hover{opacity:.8}.evo-sidebar__icon{display:block;width:32px;height:32px;vertical-align:bottom;fill:#91b1b8}@media (min-width: 768px){.evo-sidebar__icon{width:36px;height:36px}}.evo-sidebar__back{flex-shrink:0;margin-right:8px;color:#231f20;cursor:pointer;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "component", type: EvoIconComponent, selector: "evo-icon", inputs: ["shape", "svgWidth", "svgHeight", "svgViewBox"] }] }); }
|
|
4228
|
-
}
|
|
4229
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarHeaderComponent, decorators: [{
|
|
4230
|
-
type: Component,
|
|
4231
|
-
args: [{ selector: 'evo-sidebar-header, [evo-sidebar-header]', host: {
|
|
4232
|
-
class: 'evo-sidebar__header',
|
|
4233
|
-
}, standalone: true, imports: [EvoIconComponent], template: "@if (backButton) {\n <div class=\"evo-sidebar__back\" (click)=\"handleBackClick()\">\n <evo-icon shape=\"chevron-left\" class=\"evo-sidebar__icon\" />\n </div>\n}\n\n<div class=\"evo-sidebar__title\">\n <ng-content />\n</div>\n\n<div class=\"evo-sidebar__close\" (click)=\"closeSidebar()\">\n <evo-icon shape=\"close\" class=\"evo-sidebar__icon\" />\n</div>\n", styles: [":host{display:flex;flex-shrink:0;align-items:flex-start;margin:0 15px;padding:16px 0;border-bottom:solid 1px #C6C6C6}@media (min-width: 768px){:host{padding-top:32px;padding-bottom:16px}}@media (min-width: 992px){:host{margin:0 32px}}.evo-sidebar__title{flex:1;color:#212121;font-weight:700;font-size:24px;font-family:var(--evo-font-secondary);line-height:32px}@media (min-width: 768px){.evo-sidebar__title{font-size:30px;line-height:38px}}.evo-sidebar__close{flex-shrink:0;margin-left:8px;padding:0;color:#231f20;cursor:pointer;transition:opacity .3s}.evo-sidebar__close:hover{opacity:.8}.evo-sidebar__icon{display:block;width:32px;height:32px;vertical-align:bottom;fill:#91b1b8}@media (min-width: 768px){.evo-sidebar__icon{width:36px;height:36px}}.evo-sidebar__back{flex-shrink:0;margin-right:8px;color:#231f20;cursor:pointer;-webkit-user-select:none;user-select:none}\n"] }]
|
|
4234
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
4235
|
-
type: Inject,
|
|
4236
|
-
args: [SidebarInjectionToken]
|
|
4237
|
-
}] }], propDecorators: { backButton: [{
|
|
4238
|
-
type: Input
|
|
4239
|
-
}], back: [{
|
|
4240
|
-
type: Output
|
|
4241
|
-
}] } });
|
|
4242
|
-
|
|
4243
4144
|
class EvoSidebarService {
|
|
4244
|
-
constructor(
|
|
4245
|
-
|
|
4246
|
-
this.
|
|
4247
|
-
this._config = _config;
|
|
4145
|
+
constructor() {
|
|
4146
|
+
this.portal = inject(EvoAbstractPortal); // EvoSidebarPortal provided
|
|
4147
|
+
this._config = inject(EVO_SIDEBAR_CONFIG, { optional: true });
|
|
4248
4148
|
this.sidebarEvents$ = new Subject();
|
|
4249
4149
|
this.registeredSidebars = {};
|
|
4250
4150
|
this.config = {
|
|
4251
4151
|
...evoSidebarDefaultConfig,
|
|
4252
|
-
..._config,
|
|
4152
|
+
...this._config,
|
|
4253
4153
|
};
|
|
4254
4154
|
}
|
|
4255
4155
|
deregister(id) {
|
|
@@ -4326,96 +4226,186 @@ class EvoSidebarService {
|
|
|
4326
4226
|
},
|
|
4327
4227
|
};
|
|
4328
4228
|
}
|
|
4329
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarService, deps: [
|
|
4229
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4330
4230
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarService }); }
|
|
4331
4231
|
}
|
|
4332
4232
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarService, decorators: [{
|
|
4333
4233
|
type: Injectable
|
|
4334
|
-
}]
|
|
4335
|
-
|
|
4336
|
-
|
|
4234
|
+
}] });
|
|
4235
|
+
|
|
4236
|
+
var EvoSidebarCloseTargets;
|
|
4237
|
+
(function (EvoSidebarCloseTargets) {
|
|
4238
|
+
EvoSidebarCloseTargets["BACKGROUND"] = "background";
|
|
4239
|
+
EvoSidebarCloseTargets["BUTTON"] = "button";
|
|
4240
|
+
EvoSidebarCloseTargets["DEFAULT"] = "default";
|
|
4241
|
+
EvoSidebarCloseTargets["ESC"] = "escape";
|
|
4242
|
+
})(EvoSidebarCloseTargets || (EvoSidebarCloseTargets = {}));
|
|
4243
|
+
|
|
4244
|
+
var EvoSidebarStates;
|
|
4245
|
+
(function (EvoSidebarStates) {
|
|
4246
|
+
EvoSidebarStates["HIDDEN"] = "hidden";
|
|
4247
|
+
EvoSidebarStates["VISIBLE"] = "visible";
|
|
4248
|
+
})(EvoSidebarStates || (EvoSidebarStates = {}));
|
|
4249
|
+
|
|
4250
|
+
var EvoSidebarSizes;
|
|
4251
|
+
(function (EvoSidebarSizes) {
|
|
4252
|
+
EvoSidebarSizes["NORMAL"] = "normal";
|
|
4253
|
+
EvoSidebarSizes["MIDDLE"] = "middle";
|
|
4254
|
+
EvoSidebarSizes["LARGE"] = "large";
|
|
4255
|
+
})(EvoSidebarSizes || (EvoSidebarSizes = {}));
|
|
4256
|
+
|
|
4257
|
+
const SidebarInjectionToken = new InjectionToken('SidebarInjectionToken');
|
|
4258
|
+
|
|
4259
|
+
class EvoSidebarFooterComponent {
|
|
4260
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4261
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: EvoSidebarFooterComponent, isStandalone: true, selector: "evo-sidebar-footer, [evo-sidebar-footer]", host: { classAttribute: "evo-sidebar__footer-wrapper" }, ngImport: i0, template: "<div class=\"evo-sidebar__footer\"><ng-content /></div>\n<!--\u0447\u0442\u043E\u0431\u044B :empty \u0440\u0430\u0431\u043E\u0442\u0430\u043B, \u043D\u0435 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0432\u043D\u0443\u0442\u0440\u0438 evo-sidebar__footer \u0432\u043E\u043E\u0431\u0449\u0435 \u043D\u0438\u0447\u0435\u0433\u043E, \u0434\u0430\u0436\u0435 \u043F\u0440\u043E\u0431\u0435\u043B\u0430-->\n", styles: [":host{--evo-sidebar-footer-padding-desktop: 24px;--evo-sidebar-footer-padding-tablet: 16px;--evo-sidebar-footer-padding-mobile: 30px;flex-shrink:0;margin-top:-8px;padding-top:8px;overflow:hidden}.evo-sidebar__footer{display:flex;flex-shrink:0;flex-direction:column;margin:0 15px;padding:var(--evo-sidebar-footer-padding-mobile) 0;background-color:#fff;border-top:solid 1px #C6C6C6}.evo-sidebar__footer:empty{display:none}@media (min-width: 768px){.evo-sidebar__footer{flex-direction:row;justify-content:space-between;margin:0 15px;padding:var(--evo-sidebar-footer-padding-tablet) 0}}@media (min-width: 992px){.evo-sidebar__footer{margin:0 32px;padding:var(--evo-sidebar-footer-padding-desktop) 0}}\n"] }); }
|
|
4262
|
+
}
|
|
4263
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarFooterComponent, decorators: [{
|
|
4264
|
+
type: Component,
|
|
4265
|
+
args: [{ selector: 'evo-sidebar-footer, [evo-sidebar-footer]', host: {
|
|
4266
|
+
class: 'evo-sidebar__footer-wrapper',
|
|
4267
|
+
}, standalone: true, template: "<div class=\"evo-sidebar__footer\"><ng-content /></div>\n<!--\u0447\u0442\u043E\u0431\u044B :empty \u0440\u0430\u0431\u043E\u0442\u0430\u043B, \u043D\u0435 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0432\u043D\u0443\u0442\u0440\u0438 evo-sidebar__footer \u0432\u043E\u043E\u0431\u0449\u0435 \u043D\u0438\u0447\u0435\u0433\u043E, \u0434\u0430\u0436\u0435 \u043F\u0440\u043E\u0431\u0435\u043B\u0430-->\n", styles: [":host{--evo-sidebar-footer-padding-desktop: 24px;--evo-sidebar-footer-padding-tablet: 16px;--evo-sidebar-footer-padding-mobile: 30px;flex-shrink:0;margin-top:-8px;padding-top:8px;overflow:hidden}.evo-sidebar__footer{display:flex;flex-shrink:0;flex-direction:column;margin:0 15px;padding:var(--evo-sidebar-footer-padding-mobile) 0;background-color:#fff;border-top:solid 1px #C6C6C6}.evo-sidebar__footer:empty{display:none}@media (min-width: 768px){.evo-sidebar__footer{flex-direction:row;justify-content:space-between;margin:0 15px;padding:var(--evo-sidebar-footer-padding-tablet) 0}}@media (min-width: 992px){.evo-sidebar__footer{margin:0 32px;padding:var(--evo-sidebar-footer-padding-desktop) 0}}\n"] }]
|
|
4268
|
+
}] });
|
|
4269
|
+
|
|
4270
|
+
class EvoSidebarContentComponent {
|
|
4271
|
+
// eslint-disable-next-line
|
|
4272
|
+
constructor(sidebar) {
|
|
4273
|
+
this.sidebar = sidebar;
|
|
4274
|
+
this.hostClass = 'evo-sidebar__content';
|
|
4275
|
+
}
|
|
4276
|
+
ngOnInit() {
|
|
4277
|
+
if (!this.sidebar) {
|
|
4278
|
+
throw new Error(`EvoSidebarContentComponent must be used inside EvoSidebarComponent only!`);
|
|
4279
|
+
}
|
|
4280
|
+
this.relativeFooter = this.relativeFooter ?? this.sidebar.relativeFooter;
|
|
4281
|
+
}
|
|
4282
|
+
get hostClasses() {
|
|
4283
|
+
return this.relativeFooter ? `${this.hostClass} evo-sidebar__content_relative-footer` : this.hostClass;
|
|
4284
|
+
}
|
|
4285
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarContentComponent, deps: [{ token: SidebarInjectionToken }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4286
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: EvoSidebarContentComponent, isStandalone: true, selector: "evo-sidebar-content, [evo-sidebar-content]", inputs: { relativeFooter: "relativeFooter" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<ng-content />\n", styles: [":host{display:flex;flex-grow:1;flex-direction:column;padding:24px 15px;overflow-y:auto;-webkit-overflow-scrolling:touch}@media (min-width: 768px){:host{padding:40px 15px}}@media (min-width: 992px){:host{padding:40px 32px}}:host(.evo-sidebar__content_relative-footer){flex-grow:0}\n"] }); }
|
|
4287
|
+
}
|
|
4288
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarContentComponent, decorators: [{
|
|
4289
|
+
type: Component,
|
|
4290
|
+
args: [{ selector: 'evo-sidebar-content, [evo-sidebar-content]', standalone: true, template: "<ng-content />\n", styles: [":host{display:flex;flex-grow:1;flex-direction:column;padding:24px 15px;overflow-y:auto;-webkit-overflow-scrolling:touch}@media (min-width: 768px){:host{padding:40px 15px}}@media (min-width: 992px){:host{padding:40px 32px}}:host(.evo-sidebar__content_relative-footer){flex-grow:0}\n"] }]
|
|
4291
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
4337
4292
|
type: Inject,
|
|
4338
|
-
args: [
|
|
4339
|
-
}] }]
|
|
4293
|
+
args: [SidebarInjectionToken]
|
|
4294
|
+
}] }], propDecorators: { relativeFooter: [{
|
|
4295
|
+
type: Input
|
|
4296
|
+
}], hostClasses: [{
|
|
4297
|
+
type: HostBinding,
|
|
4298
|
+
args: ['class']
|
|
4299
|
+
}] } });
|
|
4300
|
+
|
|
4301
|
+
class EvoSidebarHeaderComponent {
|
|
4302
|
+
constructor() {
|
|
4303
|
+
this.backButton = input(false);
|
|
4304
|
+
this.back = output();
|
|
4305
|
+
this.computedBackButton = computed(() => this.backButton() || this.sidebar.backButton());
|
|
4306
|
+
this.sidebar = inject(SidebarInjectionToken);
|
|
4307
|
+
}
|
|
4308
|
+
ngOnInit() {
|
|
4309
|
+
if (!this.sidebar) {
|
|
4310
|
+
throw new Error(`EvoSidebarHeaderComponent must be used inside EvoSidebarComponent only!`);
|
|
4311
|
+
}
|
|
4312
|
+
}
|
|
4313
|
+
handleBackClick() {
|
|
4314
|
+
this.back.emit();
|
|
4315
|
+
}
|
|
4316
|
+
closeSidebar() {
|
|
4317
|
+
this.sidebar.closeSidebar(EvoSidebarCloseTargets.BUTTON);
|
|
4318
|
+
}
|
|
4319
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4320
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoSidebarHeaderComponent, isStandalone: true, selector: "evo-sidebar-header, [evo-sidebar-header]", inputs: { backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { back: "back" }, host: { classAttribute: "evo-sidebar__header" }, ngImport: i0, template: "@if (computedBackButton()) {\n <div class=\"evo-sidebar__back\" (click)=\"handleBackClick()\">\n <evo-icon shape=\"chevron-left\" class=\"evo-sidebar__icon\" />\n </div>\n}\n\n<div class=\"evo-sidebar__title\">\n <ng-content />\n</div>\n\n<div class=\"evo-sidebar__close\" (click)=\"closeSidebar()\">\n <evo-icon shape=\"close\" class=\"evo-sidebar__icon\" />\n</div>\n", styles: [":host{display:flex;flex-shrink:0;align-items:flex-start;margin:0 15px;padding:16px 0;border-bottom:solid 1px #C6C6C6}@media (min-width: 768px){:host{padding-top:32px;padding-bottom:16px}}@media (min-width: 992px){:host{margin:0 32px}}.evo-sidebar__title{flex:1;color:#212121;font-weight:700;font-size:24px;font-family:var(--evo-font-secondary);line-height:32px}@media (min-width: 768px){.evo-sidebar__title{font-size:30px;line-height:38px}}.evo-sidebar__close{flex-shrink:0;margin-left:8px;padding:0;color:#231f20;cursor:pointer;transition:opacity .3s}.evo-sidebar__close:hover{opacity:.8}.evo-sidebar__icon{display:block;width:32px;height:32px;vertical-align:bottom;fill:#91b1b8}@media (min-width: 768px){.evo-sidebar__icon{width:36px;height:36px}}.evo-sidebar__back{flex-shrink:0;margin-right:8px;color:#231f20;cursor:pointer;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "component", type: EvoIconComponent, selector: "evo-icon", inputs: ["shape", "svgWidth", "svgHeight", "svgViewBox"] }] }); }
|
|
4321
|
+
}
|
|
4322
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarHeaderComponent, decorators: [{
|
|
4323
|
+
type: Component,
|
|
4324
|
+
args: [{ selector: 'evo-sidebar-header, [evo-sidebar-header]', host: {
|
|
4325
|
+
class: 'evo-sidebar__header',
|
|
4326
|
+
}, standalone: true, imports: [EvoIconComponent], template: "@if (computedBackButton()) {\n <div class=\"evo-sidebar__back\" (click)=\"handleBackClick()\">\n <evo-icon shape=\"chevron-left\" class=\"evo-sidebar__icon\" />\n </div>\n}\n\n<div class=\"evo-sidebar__title\">\n <ng-content />\n</div>\n\n<div class=\"evo-sidebar__close\" (click)=\"closeSidebar()\">\n <evo-icon shape=\"close\" class=\"evo-sidebar__icon\" />\n</div>\n", styles: [":host{display:flex;flex-shrink:0;align-items:flex-start;margin:0 15px;padding:16px 0;border-bottom:solid 1px #C6C6C6}@media (min-width: 768px){:host{padding-top:32px;padding-bottom:16px}}@media (min-width: 992px){:host{margin:0 32px}}.evo-sidebar__title{flex:1;color:#212121;font-weight:700;font-size:24px;font-family:var(--evo-font-secondary);line-height:32px}@media (min-width: 768px){.evo-sidebar__title{font-size:30px;line-height:38px}}.evo-sidebar__close{flex-shrink:0;margin-left:8px;padding:0;color:#231f20;cursor:pointer;transition:opacity .3s}.evo-sidebar__close:hover{opacity:.8}.evo-sidebar__icon{display:block;width:32px;height:32px;vertical-align:bottom;fill:#91b1b8}@media (min-width: 768px){.evo-sidebar__icon{width:36px;height:36px}}.evo-sidebar__back{flex-shrink:0;margin-right:8px;color:#231f20;cursor:pointer;-webkit-user-select:none;user-select:none}\n"] }]
|
|
4327
|
+
}] });
|
|
4340
4328
|
|
|
4341
|
-
// eslint-disable-next-line:max-line-length
|
|
4342
4329
|
class EvoSidebarComponent {
|
|
4343
|
-
constructor(
|
|
4344
|
-
this.
|
|
4345
|
-
this.
|
|
4346
|
-
this.
|
|
4347
|
-
this.
|
|
4348
|
-
this.
|
|
4349
|
-
this.
|
|
4350
|
-
this.back =
|
|
4351
|
-
this.isVisible = false;
|
|
4352
|
-
this.isDynamicContent = false;
|
|
4330
|
+
constructor() {
|
|
4331
|
+
this.contentContainer = viewChild.required('sidebarContentContainer', { read: ViewContainerRef });
|
|
4332
|
+
this.backButton = input(false);
|
|
4333
|
+
this.id = input(evoSidebarRootId);
|
|
4334
|
+
this.header = input();
|
|
4335
|
+
this.size = input(EvoSidebarSizes.NORMAL);
|
|
4336
|
+
this.relativeFooter = input(false);
|
|
4337
|
+
this.back = output();
|
|
4353
4338
|
this.closeTargets = EvoSidebarCloseTargets;
|
|
4354
|
-
this.
|
|
4355
|
-
this.
|
|
4339
|
+
this.computedSize = computed(() => this.localSize() || this.size());
|
|
4340
|
+
this.isDynamicContent = signal(false);
|
|
4341
|
+
this.isVisible = signal(false);
|
|
4342
|
+
this.localSize = signal(null);
|
|
4343
|
+
this.totalClasses = computed(() => {
|
|
4344
|
+
const classes = [];
|
|
4345
|
+
if (this.isVisible()) {
|
|
4346
|
+
classes.push(EvoSidebarStates.VISIBLE);
|
|
4347
|
+
}
|
|
4348
|
+
classes.push(this.computedSize() ?? EvoSidebarSizes.NORMAL);
|
|
4349
|
+
return classes;
|
|
4350
|
+
});
|
|
4351
|
+
this.closeTarget = signal(EvoSidebarCloseTargets.DEFAULT);
|
|
4352
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
4353
|
+
this.destroyRef = inject(DestroyRef);
|
|
4354
|
+
this.environmentInjector = inject(EnvironmentInjector);
|
|
4355
|
+
this.location = inject(Location);
|
|
4356
|
+
this.sidebarService = inject(EvoSidebarService);
|
|
4357
|
+
this.zone = inject(NgZone);
|
|
4356
4358
|
}
|
|
4357
4359
|
ngOnDestroy() {
|
|
4358
4360
|
this.clearView();
|
|
4359
|
-
this.sidebarService.deregister(this.id);
|
|
4361
|
+
this.sidebarService.deregister(this.id());
|
|
4360
4362
|
this.locationSubscription?.unsubscribe();
|
|
4361
|
-
this.destroy$.next();
|
|
4362
|
-
this.destroy$.complete();
|
|
4363
4363
|
}
|
|
4364
4364
|
ngOnInit() {
|
|
4365
|
-
|
|
4366
|
-
this.id = evoSidebarRootId;
|
|
4367
|
-
}
|
|
4368
|
-
this.sidebarService.register(this.id);
|
|
4365
|
+
this.sidebarService.register(this.id());
|
|
4369
4366
|
this.sidebarService
|
|
4370
|
-
.getEventsSubscription(this.id, true)
|
|
4367
|
+
.getEventsSubscription(this.id(), true)
|
|
4371
4368
|
.pipe(
|
|
4372
4369
|
// async hack to avoid "Expression has changed after it was checked" error
|
|
4373
|
-
delay(0),
|
|
4370
|
+
delay(0), takeUntilDestroyed(this.destroyRef))
|
|
4374
4371
|
.subscribe((sidebarState) => {
|
|
4375
4372
|
const { isOpen, params } = sidebarState;
|
|
4376
4373
|
if (isOpen) {
|
|
4377
4374
|
this.subscribeToKeyEvent();
|
|
4378
4375
|
}
|
|
4379
4376
|
else {
|
|
4380
|
-
this.closeTarget
|
|
4377
|
+
this.closeTarget.set(EvoSidebarCloseTargets.DEFAULT);
|
|
4381
4378
|
}
|
|
4382
4379
|
// Dynamic content strategy
|
|
4383
4380
|
if (isOpen && params?.component) {
|
|
4384
|
-
const { component, closeOnNavigation, size
|
|
4385
|
-
this.isDynamicContent
|
|
4386
|
-
this.
|
|
4381
|
+
const { component, closeOnNavigation, size } = params;
|
|
4382
|
+
this.isDynamicContent.set(true);
|
|
4383
|
+
this.clearView();
|
|
4384
|
+
this.insertComponent(component, params);
|
|
4387
4385
|
if (size) {
|
|
4388
|
-
this.size
|
|
4386
|
+
this.localSize.set(size);
|
|
4389
4387
|
}
|
|
4390
4388
|
if (!this.locationSubscription && closeOnNavigation !== false) {
|
|
4391
4389
|
this.closeOnLocationUpdates();
|
|
4392
4390
|
}
|
|
4393
4391
|
}
|
|
4394
|
-
this.isVisible
|
|
4392
|
+
this.isVisible.set(isOpen);
|
|
4395
4393
|
this.cdr.markForCheck();
|
|
4396
4394
|
});
|
|
4397
4395
|
}
|
|
4398
4396
|
get currentState() {
|
|
4399
|
-
return this.isVisible ? EvoSidebarStates.VISIBLE : EvoSidebarStates.HIDDEN;
|
|
4400
|
-
}
|
|
4401
|
-
get totalClasses() {
|
|
4402
|
-
const classes = [];
|
|
4403
|
-
if (this.isVisible) {
|
|
4404
|
-
classes.push(EvoSidebarStates.VISIBLE);
|
|
4405
|
-
}
|
|
4406
|
-
classes.push(this.size ?? EvoSidebarSizes.NORMAL);
|
|
4407
|
-
return classes;
|
|
4397
|
+
return this.isVisible() ? EvoSidebarStates.VISIBLE : EvoSidebarStates.HIDDEN;
|
|
4408
4398
|
}
|
|
4409
4399
|
closeSidebar(source) {
|
|
4410
|
-
this.isVisible
|
|
4411
|
-
this.closeTarget
|
|
4400
|
+
this.isVisible.set(false);
|
|
4401
|
+
this.closeTarget.set(source);
|
|
4412
4402
|
}
|
|
4413
4403
|
handleAnimationDone(event) {
|
|
4414
4404
|
const isClosed = event.fromState === EvoSidebarStates.VISIBLE;
|
|
4415
|
-
if (isClosed && !this.isVisible) {
|
|
4416
|
-
this.sidebarService.close(this.id, { closeTarget: this.closeTarget });
|
|
4405
|
+
if (isClosed && !this.isVisible()) {
|
|
4406
|
+
this.sidebarService.close(this.id(), { closeTarget: this.closeTarget() });
|
|
4417
4407
|
this.clearView();
|
|
4418
|
-
if (this.id === evoSidebarRootId) {
|
|
4408
|
+
if (this.id() === evoSidebarRootId) {
|
|
4419
4409
|
this.sidebarService.deregister(evoSidebarRootId);
|
|
4420
4410
|
this.sidebarService.cleanupDefaultHost();
|
|
4421
4411
|
}
|
|
@@ -4427,42 +4417,38 @@ class EvoSidebarComponent {
|
|
|
4427
4417
|
subscribeToKeyEvent() {
|
|
4428
4418
|
this.zone.runOutsideAngular(() => {
|
|
4429
4419
|
fromEvent(document.body, 'keyup')
|
|
4430
|
-
.pipe(takeWhile(() => this.isVisible), filter((event) => event.code === 'Escape'), enterZone(this.zone), tap(() => this.closeSidebar(EvoSidebarCloseTargets.ESC)))
|
|
4420
|
+
.pipe(takeWhile(() => this.isVisible()), filter((event) => event.code === 'Escape'), enterZone(this.zone), tap(() => this.closeSidebar(EvoSidebarCloseTargets.ESC)))
|
|
4431
4421
|
.subscribe();
|
|
4432
4422
|
});
|
|
4433
4423
|
}
|
|
4434
4424
|
// eslint-disable-next-line
|
|
4435
|
-
insertComponent(component, data) {
|
|
4436
|
-
|
|
4437
|
-
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
|
|
4425
|
+
insertComponent(component, { data, injector }) {
|
|
4426
|
+
const dynamicComponentRef = createComponent(component, {
|
|
4427
|
+
environmentInjector: this.environmentInjector,
|
|
4428
|
+
elementInjector: Injector.create({
|
|
4429
|
+
providers: [
|
|
4430
|
+
{
|
|
4431
|
+
provide: EVO_SIDEBAR_DATA,
|
|
4432
|
+
useValue: data,
|
|
4433
|
+
},
|
|
4434
|
+
{
|
|
4435
|
+
provide: SidebarInjectionToken,
|
|
4436
|
+
useValue: this,
|
|
4437
|
+
},
|
|
4438
|
+
],
|
|
4439
|
+
parent: injector,
|
|
4440
|
+
}),
|
|
4449
4441
|
});
|
|
4450
|
-
this.
|
|
4442
|
+
this.contentContainer().insert(dynamicComponentRef.hostView);
|
|
4451
4443
|
}
|
|
4452
4444
|
clearView() {
|
|
4453
|
-
|
|
4454
|
-
return;
|
|
4455
|
-
}
|
|
4456
|
-
this.contentContainer.clear();
|
|
4457
|
-
this.dynamicComponentRef = null;
|
|
4445
|
+
this.contentContainer().clear();
|
|
4458
4446
|
}
|
|
4459
4447
|
closeOnLocationUpdates() {
|
|
4460
|
-
this.locationSubscription = this.location.subscribe(() =>
|
|
4461
|
-
this.closeSidebar(EvoSidebarCloseTargets.DEFAULT);
|
|
4462
|
-
});
|
|
4448
|
+
this.locationSubscription = this.location.subscribe(() => this.closeSidebar(EvoSidebarCloseTargets.DEFAULT));
|
|
4463
4449
|
}
|
|
4464
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarComponent, deps: [
|
|
4465
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoSidebarComponent, isStandalone: true, selector: "evo-sidebar", inputs: { backButton: "backButton", id: "id", header: "header", size: "size", relativeFooter: "relativeFooter" }, outputs: { back: "back" }, viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["sidebarContentContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "@if (isVisible) {\n <div class=\"evo-sidebar__background\" (click)=\"closeSidebar(closeTargets.BACKGROUND)\"></div>\n}\n\n<div class=\"evo-sidebar\" [@open]=\"currentState\" [evoUiClass]=\"totalClasses\" (@open.done)=\"handleAnimationDone($event)\">\n <ng-template #sidebarContentContainer />\n
|
|
4450
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoSidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4451
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoSidebarComponent, isStandalone: true, selector: "evo-sidebar", inputs: { backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, relativeFooter: { classPropertyName: "relativeFooter", publicName: "relativeFooter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { back: "back" }, viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["sidebarContentContainer"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "@if (isVisible()) {\n <div class=\"evo-sidebar__background\" (click)=\"closeSidebar(closeTargets.BACKGROUND)\"></div>\n}\n\n<div class=\"evo-sidebar\" [@open]=\"currentState\" [evoUiClass]=\"totalClasses()\" (@open.done)=\"handleAnimationDone($event)\">\n <ng-template #sidebarContentContainer />\n @if (!isDynamicContent()) {\n <div evo-sidebar-header [backButton]=\"backButton()\" (back)=\"handleBackClick()\">\n {{ header() }}\n </div>\n <div evo-sidebar-content [relativeFooter]=\"relativeFooter()\">\n <ng-content select=\"[content]\" />\n </div>\n <div evo-sidebar-footer>\n <ng-content select=\"[footer]\" />\n </div>\n }\n</div>\n", styles: [".evo-sidebar{position:fixed;top:0;right:0;z-index:3000;display:flex;flex-direction:column;width:100%;height:100%;background-color:#fff;transform:translate(100vw);transition:box-shadow .1s .5s}.evo-sidebar_visible{box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f;transition-delay:unset}@media (min-width: 992px){.evo-sidebar_normal{width:674px;transform:translate(674px)}}@media (min-width: 992px){.evo-sidebar_middle{width:995px;transform:translate(100%)}}@media (min-width: 992px){.evo-sidebar_large{width:80%;transform:translate(100%)}}.evo-sidebar__background{position:fixed;inset:0;z-index:1000;background-color:#000;opacity:.3}\n"], dependencies: [{ kind: "directive", type: EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { kind: "component", type: EvoSidebarHeaderComponent, selector: "evo-sidebar-header, [evo-sidebar-header]", inputs: ["backButton"], outputs: ["back"] }, { kind: "component", type: EvoSidebarContentComponent, selector: "evo-sidebar-content, [evo-sidebar-content]", inputs: ["relativeFooter"] }, { kind: "component", type: EvoSidebarFooterComponent, selector: "evo-sidebar-footer, [evo-sidebar-footer]" }], viewProviders: [
|
|
4466
4452
|
{
|
|
4467
4453
|
provide: SidebarInjectionToken,
|
|
4468
4454
|
useExisting: forwardRef(() => EvoSidebarComponent),
|
|
@@ -4476,23 +4462,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
4476
4462
|
provide: SidebarInjectionToken,
|
|
4477
4463
|
useExisting: forwardRef(() => EvoSidebarComponent),
|
|
4478
4464
|
},
|
|
4479
|
-
], standalone: true, imports: [
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
type: Input
|
|
4487
|
-
}], header: [{
|
|
4488
|
-
type: Input
|
|
4489
|
-
}], size: [{
|
|
4490
|
-
type: Input
|
|
4491
|
-
}], relativeFooter: [{
|
|
4492
|
-
type: Input
|
|
4493
|
-
}], back: [{
|
|
4494
|
-
type: Output
|
|
4495
|
-
}] } });
|
|
4465
|
+
], standalone: true, imports: [
|
|
4466
|
+
EvoUiClassDirective,
|
|
4467
|
+
EvoSidebarHeaderComponent,
|
|
4468
|
+
EvoSidebarContentComponent,
|
|
4469
|
+
EvoSidebarFooterComponent,
|
|
4470
|
+
], template: "@if (isVisible()) {\n <div class=\"evo-sidebar__background\" (click)=\"closeSidebar(closeTargets.BACKGROUND)\"></div>\n}\n\n<div class=\"evo-sidebar\" [@open]=\"currentState\" [evoUiClass]=\"totalClasses()\" (@open.done)=\"handleAnimationDone($event)\">\n <ng-template #sidebarContentContainer />\n @if (!isDynamicContent()) {\n <div evo-sidebar-header [backButton]=\"backButton()\" (back)=\"handleBackClick()\">\n {{ header() }}\n </div>\n <div evo-sidebar-content [relativeFooter]=\"relativeFooter()\">\n <ng-content select=\"[content]\" />\n </div>\n <div evo-sidebar-footer>\n <ng-content select=\"[footer]\" />\n </div>\n }\n</div>\n", styles: [".evo-sidebar{position:fixed;top:0;right:0;z-index:3000;display:flex;flex-direction:column;width:100%;height:100%;background-color:#fff;transform:translate(100vw);transition:box-shadow .1s .5s}.evo-sidebar_visible{box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f;transition-delay:unset}@media (min-width: 992px){.evo-sidebar_normal{width:674px;transform:translate(674px)}}@media (min-width: 992px){.evo-sidebar_middle{width:995px;transform:translate(100%)}}@media (min-width: 992px){.evo-sidebar_large{width:80%;transform:translate(100%)}}.evo-sidebar__background{position:fixed;inset:0;z-index:1000;background-color:#000;opacity:.3}\n"] }]
|
|
4471
|
+
}] });
|
|
4496
4472
|
|
|
4497
4473
|
class EvoSidebarPortal extends EvoPortalService {
|
|
4498
4474
|
constructor(appRef, injector, cfr) {
|