@morozeckiy/dd-lib 0.7.44 → 0.7.51
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/fesm2022/morozeckiy-dd-lib.mjs +141 -37
- package/fesm2022/morozeckiy-dd-lib.mjs.map +1 -1
- package/lib/core/directives/fixed-position.directive.d.ts +3 -1
- package/lib/core/services/validators.service.d.ts +2 -2
- package/lib/lib-horizontal-scroll/lib-horizontal-scroll.component.d.ts +29 -0
- package/lib/lib-select/lib-select.component.d.ts +6 -4
- package/morozeckiy-dd-lib-0.7.51.tgz +0 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/morozeckiy-dd-lib-0.7.44.tgz +0 -0
|
@@ -1296,6 +1296,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImpor
|
|
|
1296
1296
|
}] } });
|
|
1297
1297
|
|
|
1298
1298
|
class FixedPositionDirective {
|
|
1299
|
+
set destroyedItem(val) {
|
|
1300
|
+
this.isShown = val;
|
|
1301
|
+
if (!val) {
|
|
1302
|
+
this.child2 = null;
|
|
1303
|
+
}
|
|
1304
|
+
}
|
|
1299
1305
|
constructor(el, renderer) {
|
|
1300
1306
|
this.el = el;
|
|
1301
1307
|
this.renderer = renderer;
|
|
@@ -1321,7 +1327,7 @@ class FixedPositionDirective {
|
|
|
1321
1327
|
}
|
|
1322
1328
|
}
|
|
1323
1329
|
ngAfterViewChecked() {
|
|
1324
|
-
if (!this.child2) {
|
|
1330
|
+
if (!this.child2 && this.isShown !== false) {
|
|
1325
1331
|
this.child2 = this.parentElement.querySelector(`[data-child="${this.childName2}"]`);
|
|
1326
1332
|
if (this.child2) {
|
|
1327
1333
|
this.updateChild2Position();
|
|
@@ -1334,6 +1340,7 @@ class FixedPositionDirective {
|
|
|
1334
1340
|
}
|
|
1335
1341
|
}
|
|
1336
1342
|
updateChild2Position() {
|
|
1343
|
+
console.log(1);
|
|
1337
1344
|
if (this.child1 && this.child2) {
|
|
1338
1345
|
const child1Rect = this.child1.getBoundingClientRect();
|
|
1339
1346
|
this.renderer.setStyle(this.child2, 'width', `${child1Rect.width}px`);
|
|
@@ -1365,7 +1372,7 @@ class FixedPositionDirective {
|
|
|
1365
1372
|
}
|
|
1366
1373
|
}
|
|
1367
1374
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: FixedPositionDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1368
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.2", type: FixedPositionDirective, isStandalone: true, selector: "[ddFixedPosition]", inputs: { childName1: "childName1", childName2: "childName2" }, host: { listeners: { "window:scroll": "onScroll()" } }, ngImport: i0 }); }
|
|
1375
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.2", type: FixedPositionDirective, isStandalone: true, selector: "[ddFixedPosition]", inputs: { childName1: "childName1", childName2: "childName2", destroyedItem: "destroyedItem" }, host: { listeners: { "window:resize": "onScroll()", "window:scroll": "onScroll()" } }, ngImport: i0 }); }
|
|
1369
1376
|
}
|
|
1370
1377
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: FixedPositionDirective, decorators: [{
|
|
1371
1378
|
type: Directive,
|
|
@@ -1377,7 +1384,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImpor
|
|
|
1377
1384
|
type: Input
|
|
1378
1385
|
}], childName2: [{
|
|
1379
1386
|
type: Input
|
|
1387
|
+
}], destroyedItem: [{
|
|
1388
|
+
type: Input
|
|
1380
1389
|
}], onScroll: [{
|
|
1390
|
+
type: HostListener,
|
|
1391
|
+
args: ['window:resize']
|
|
1392
|
+
}, {
|
|
1381
1393
|
type: HostListener,
|
|
1382
1394
|
args: ['window:scroll']
|
|
1383
1395
|
}] } });
|
|
@@ -3196,6 +3208,109 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImpor
|
|
|
3196
3208
|
args: ['window:scroll']
|
|
3197
3209
|
}] } });
|
|
3198
3210
|
|
|
3211
|
+
class LibHorizontalScrollComponent {
|
|
3212
|
+
constructor(el, renderer) {
|
|
3213
|
+
this.el = el;
|
|
3214
|
+
this.renderer = renderer;
|
|
3215
|
+
this.isDown = false;
|
|
3216
|
+
this.startX = 0;
|
|
3217
|
+
this.scrollLeft = 0;
|
|
3218
|
+
this.velocity = 0;
|
|
3219
|
+
this.lastTime = 0;
|
|
3220
|
+
this.lastScrollLeft = 0;
|
|
3221
|
+
this.animationFrameId = null;
|
|
3222
|
+
}
|
|
3223
|
+
onMouseDown(e) {
|
|
3224
|
+
this.startDragging(e.pageX);
|
|
3225
|
+
e.preventDefault();
|
|
3226
|
+
}
|
|
3227
|
+
onTouchStart(e) {
|
|
3228
|
+
this.startDragging(e.touches[0].pageX);
|
|
3229
|
+
}
|
|
3230
|
+
startDragging(pageX) {
|
|
3231
|
+
const container = this.el.nativeElement.querySelector('.scroll-container');
|
|
3232
|
+
this.isDown = true;
|
|
3233
|
+
this.renderer.setStyle(container, 'cursor', 'grabbing');
|
|
3234
|
+
this.startX = pageX - container.offsetLeft;
|
|
3235
|
+
this.scrollLeft = container.scrollLeft;
|
|
3236
|
+
this.lastTime = Date.now();
|
|
3237
|
+
this.lastScrollLeft = this.scrollLeft;
|
|
3238
|
+
this.cancelAnimation();
|
|
3239
|
+
}
|
|
3240
|
+
onMouseLeave() {
|
|
3241
|
+
this.stopDragging();
|
|
3242
|
+
}
|
|
3243
|
+
onMouseUp() {
|
|
3244
|
+
this.stopDragging();
|
|
3245
|
+
}
|
|
3246
|
+
onTouchEnd() {
|
|
3247
|
+
this.stopDragging();
|
|
3248
|
+
}
|
|
3249
|
+
stopDragging() {
|
|
3250
|
+
const container = this.el.nativeElement.querySelector('.scroll-container');
|
|
3251
|
+
this.isDown = false;
|
|
3252
|
+
this.renderer.setStyle(container, 'cursor', 'grab');
|
|
3253
|
+
this.startInertialScroll();
|
|
3254
|
+
}
|
|
3255
|
+
onMouseMove(e) {
|
|
3256
|
+
this.handleMove(e.pageX);
|
|
3257
|
+
}
|
|
3258
|
+
onTouchMove(e) {
|
|
3259
|
+
this.handleMove(e.touches[0].pageX);
|
|
3260
|
+
}
|
|
3261
|
+
handleMove(pageX) {
|
|
3262
|
+
if (!this.isDown)
|
|
3263
|
+
return;
|
|
3264
|
+
const container = this.el.nativeElement.querySelector('.scroll-container');
|
|
3265
|
+
const x = pageX - container.offsetLeft;
|
|
3266
|
+
const walk = (x - this.startX) * 2; // если им будет слишком быстро, убрать умножение, ну и наоборот
|
|
3267
|
+
container.scrollLeft = this.scrollLeft - walk;
|
|
3268
|
+
// Рассчитываем максимально возможный scrollLeft
|
|
3269
|
+
const maxScroll = container.scrollWidth - container.clientWidth;
|
|
3270
|
+
// Устанавливаем новое положение с проверкой границ
|
|
3271
|
+
container.scrollLeft = Math.max(0, Math.min(this.scrollLeft - walk, maxScroll));
|
|
3272
|
+
// Обновляем расчет скорости для инерции
|
|
3273
|
+
const time = Date.now();
|
|
3274
|
+
if (this.lastTime) {
|
|
3275
|
+
const deltaTime = time - this.lastTime;
|
|
3276
|
+
const deltaScroll = container.scrollLeft - this.lastScrollLeft;
|
|
3277
|
+
this.velocity = deltaScroll / deltaTime;
|
|
3278
|
+
}
|
|
3279
|
+
this.lastTime = time;
|
|
3280
|
+
this.lastScrollLeft = container.scrollLeft;
|
|
3281
|
+
}
|
|
3282
|
+
startInertialScroll() {
|
|
3283
|
+
this.cancelAnimation();
|
|
3284
|
+
const animate = () => {
|
|
3285
|
+
this.velocity *= 0.95;
|
|
3286
|
+
if (Math.abs(this.velocity) > 0.5) {
|
|
3287
|
+
const container = this.el.nativeElement.querySelector('.scroll-container');
|
|
3288
|
+
container.scrollLeft += this.velocity;
|
|
3289
|
+
this.animationFrameId = requestAnimationFrame(animate);
|
|
3290
|
+
}
|
|
3291
|
+
else {
|
|
3292
|
+
this.velocity = 0;
|
|
3293
|
+
}
|
|
3294
|
+
};
|
|
3295
|
+
this.animationFrameId = requestAnimationFrame(animate);
|
|
3296
|
+
}
|
|
3297
|
+
cancelAnimation() {
|
|
3298
|
+
if (this.animationFrameId) {
|
|
3299
|
+
cancelAnimationFrame(this.animationFrameId);
|
|
3300
|
+
this.animationFrameId = null;
|
|
3301
|
+
}
|
|
3302
|
+
}
|
|
3303
|
+
ngOnDestroy() {
|
|
3304
|
+
this.cancelAnimation();
|
|
3305
|
+
}
|
|
3306
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: LibHorizontalScrollComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3307
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.2", type: LibHorizontalScrollComponent, isStandalone: true, selector: "dd-lib-horizontal-scroll", ngImport: i0, template: "<div class=\"scroll-container\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (mouseleave)=\"onMouseLeave()\"\r\n (mouseup)=\"onMouseUp()\"\r\n (mousemove)=\"onMouseMove($event)\"\r\n (touchstart)=\"onTouchStart($event)\"\r\n (touchend)=\"onTouchEnd()\"\r\n (touchmove)=\"onTouchMove($event)\">\r\n <div class=\"scroll-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".scroll-container{width:100%;overflow-x:auto;cursor:grab;-ms-overflow-style:none;scrollbar-width:none}.scroll-container:active{cursor:grabbing}.scroll-container::-webkit-scrollbar{display:none}.scroll-content{display:inline-flex;-webkit-user-select:none;user-select:none;gap:4px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3308
|
+
}
|
|
3309
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: LibHorizontalScrollComponent, decorators: [{
|
|
3310
|
+
type: Component,
|
|
3311
|
+
args: [{ selector: 'dd-lib-horizontal-scroll', imports: [], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"scroll-container\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (mouseleave)=\"onMouseLeave()\"\r\n (mouseup)=\"onMouseUp()\"\r\n (mousemove)=\"onMouseMove($event)\"\r\n (touchstart)=\"onTouchStart($event)\"\r\n (touchend)=\"onTouchEnd()\"\r\n (touchmove)=\"onTouchMove($event)\">\r\n <div class=\"scroll-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".scroll-container{width:100%;overflow-x:auto;cursor:grab;-ms-overflow-style:none;scrollbar-width:none}.scroll-container:active{cursor:grabbing}.scroll-container::-webkit-scrollbar{display:none}.scroll-content{display:inline-flex;-webkit-user-select:none;user-select:none;gap:4px}\n"] }]
|
|
3312
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }] });
|
|
3313
|
+
|
|
3199
3314
|
class LibSelectComponent extends LibCommonInputTextComponent {
|
|
3200
3315
|
static { this.idCounter = 1; }
|
|
3201
3316
|
set data(d) {
|
|
@@ -3204,11 +3319,11 @@ class LibSelectComponent extends LibCommonInputTextComponent {
|
|
|
3204
3319
|
}
|
|
3205
3320
|
this.stringArray.set(typeof d?.[0] === 'string');
|
|
3206
3321
|
if (!d?.length) {
|
|
3207
|
-
this.isShownList = false;
|
|
3322
|
+
// this.isShownList = false;
|
|
3208
3323
|
this.changeDetection.detectChanges();
|
|
3209
3324
|
this.control?.updateValueAndValidity();
|
|
3210
3325
|
}
|
|
3211
|
-
this.itemSize = d
|
|
3326
|
+
this.itemSize = d?.length === 1 ? 56 : this.itemSize;
|
|
3212
3327
|
}
|
|
3213
3328
|
;
|
|
3214
3329
|
constructor(destroyed$, changeDetection, el, controlContainer) {
|
|
@@ -3218,24 +3333,22 @@ class LibSelectComponent extends LibCommonInputTextComponent {
|
|
|
3218
3333
|
this.controlContainer = controlContainer;
|
|
3219
3334
|
this.tooltipPosition = 'top';
|
|
3220
3335
|
this.highlight = true;
|
|
3336
|
+
this.searchOn = true;
|
|
3221
3337
|
this.itemSize = 40;
|
|
3222
3338
|
this.keyTitle = '';
|
|
3223
3339
|
this.keyDesc = '';
|
|
3224
3340
|
this.keyValue = '';
|
|
3341
|
+
this.noDataError = 'Список пуст';
|
|
3342
|
+
this.searchPlaceholder = 'Напишите, что вы ищете';
|
|
3225
3343
|
this.placeholder = 'Выберите из списка';
|
|
3226
3344
|
this.selectedItem = new EventEmitter();
|
|
3227
3345
|
this.selectedItems = new EventEmitter();
|
|
3228
|
-
// TODO: надо сделать типизацию и конструктор принмайющий объект форматирующий во внутренний и отдающий обратно что нужно
|
|
3229
3346
|
this._data = signal(undefined);
|
|
3347
|
+
// TODO: надо сделать типизацию и конструктор принмайющий объект форматирующий во внутренний и отдающий обратно что нужно
|
|
3230
3348
|
this.checkedItems = [];
|
|
3231
3349
|
this.initWriteValue = true;
|
|
3232
3350
|
this.stringArray = signal(false);
|
|
3233
3351
|
}
|
|
3234
|
-
onWindowScroll() {
|
|
3235
|
-
if (this.isShownList) {
|
|
3236
|
-
this.updateDropdownPosition(this.el, this._data(), this.itemSize, 300);
|
|
3237
|
-
}
|
|
3238
|
-
}
|
|
3239
3352
|
ngOnInit() {
|
|
3240
3353
|
this.showMultiCountValue = this.multi;
|
|
3241
3354
|
if (!this.selectId) {
|
|
@@ -3278,14 +3391,6 @@ class LibSelectComponent extends LibCommonInputTextComponent {
|
|
|
3278
3391
|
searchInput($event) {
|
|
3279
3392
|
this.isShownList = true;
|
|
3280
3393
|
// this.searchValue = this.inputValue;
|
|
3281
|
-
// меняем позицию дропдауна тк список будет меняться
|
|
3282
|
-
if (this.isShownList && this.searchValue) {
|
|
3283
|
-
const filteredData = new FilterByKeyPipe().transform.bind(this)(this._data(), this.filterList(this));
|
|
3284
|
-
this.updateDropdownPosition(this.el, filteredData, this.itemSize, 300);
|
|
3285
|
-
}
|
|
3286
|
-
else if (this.isShownList && !this.searchValue) {
|
|
3287
|
-
this.updateDropdownPosition(this.el, this._data(), this.itemSize, 300);
|
|
3288
|
-
}
|
|
3289
3394
|
}
|
|
3290
3395
|
handleInput(e) {
|
|
3291
3396
|
this.isShownList = true;
|
|
@@ -3299,7 +3404,6 @@ class LibSelectComponent extends LibCommonInputTextComponent {
|
|
|
3299
3404
|
setTimeout(() => {
|
|
3300
3405
|
this.searchInputEl?.nativeElement.focus();
|
|
3301
3406
|
});
|
|
3302
|
-
this.updateDropdownPosition(this.el, this._data(), this.itemSize, 300);
|
|
3303
3407
|
}
|
|
3304
3408
|
if (this.fetchMode) {
|
|
3305
3409
|
this.fetchEvent.emit();
|
|
@@ -3343,14 +3447,14 @@ class LibSelectComponent extends LibCommonInputTextComponent {
|
|
|
3343
3447
|
this.inputValue = value;
|
|
3344
3448
|
}
|
|
3345
3449
|
else {
|
|
3346
|
-
if (!!this.keyValue) {
|
|
3347
|
-
const fVal = this._data()
|
|
3450
|
+
if (!!this.keyValue && this._data()?.length) {
|
|
3451
|
+
const fVal = this._data().find((f) => f?.[this.keyValue] === value);
|
|
3348
3452
|
this.value = fVal?.[this.keyValue];
|
|
3349
3453
|
this.inputValue = this.keyTitle ? fVal?.[this.keyTitle] : fVal;
|
|
3350
3454
|
this.checkedItem = fVal;
|
|
3351
3455
|
}
|
|
3352
|
-
else {
|
|
3353
|
-
const fVal = this._data()
|
|
3456
|
+
else if (this._data()?.length) {
|
|
3457
|
+
const fVal = this._data().find((f) => JSON.stringify(f) === JSON.stringify(value));
|
|
3354
3458
|
this.value = fVal;
|
|
3355
3459
|
this.inputValue = this.keyTitle ? fVal?.[this.keyTitle] : fVal;
|
|
3356
3460
|
this.checkedItem = fVal;
|
|
@@ -3369,6 +3473,7 @@ class LibSelectComponent extends LibCommonInputTextComponent {
|
|
|
3369
3473
|
this.initWriteValue = false;
|
|
3370
3474
|
this.changeDetection.detectChanges();
|
|
3371
3475
|
}
|
|
3476
|
+
// Дебаунс нужен для того, что бы клик по удаленным элементам не тупил, потому что кликОтсуайд не успевает их увидеть и засчитывает клик вне блока
|
|
3372
3477
|
selectItem(item, cleared) {
|
|
3373
3478
|
if (this.disabled || item.disabled) {
|
|
3374
3479
|
return;
|
|
@@ -3484,13 +3589,13 @@ class LibSelectComponent extends LibCommonInputTextComponent {
|
|
|
3484
3589
|
// this.showMultiCountValue = false;
|
|
3485
3590
|
}
|
|
3486
3591
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: LibSelectComponent, deps: [{ token: i0.DestroyRef }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1$5.ControlContainer, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3487
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: LibSelectComponent, isStandalone: true, selector: "dd-lib-select", inputs: { data: "data", virtualScroll: "virtualScroll", multi: "multi", tooltipPosition: "tooltipPosition", highlight: "highlight", selectId: "selectId", itemSize: "itemSize", keyTitle: "keyTitle", keyDesc: "keyDesc", keyValue: "keyValue", noDataError: "noDataError", placeholder: "placeholder" }, outputs: { selectedItem: "selectedItem", selectedItems: "selectedItems" },
|
|
3592
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.2", type: LibSelectComponent, isStandalone: true, selector: "dd-lib-select", inputs: { data: "data", virtualScroll: "virtualScroll", multi: "multi", tooltipPosition: "tooltipPosition", highlight: "highlight", searchOn: "searchOn", selectId: "selectId", itemSize: "itemSize", keyTitle: "keyTitle", keyDesc: "keyDesc", keyValue: "keyValue", noDataError: "noDataError", searchPlaceholder: "searchPlaceholder", placeholder: "placeholder" }, outputs: { selectedItem: "selectedItem", selectedItems: "selectedItems" }, providers: [
|
|
3488
3593
|
{
|
|
3489
3594
|
provide: NG_VALUE_ACCESSOR,
|
|
3490
3595
|
useExisting: forwardRef(() => LibSelectComponent),
|
|
3491
3596
|
multi: true,
|
|
3492
3597
|
},
|
|
3493
|
-
], viewQueries: [{ propertyName: "selectEl", first: true, predicate: ["select"], descendants: true, read: ElementRef, static: true }, { propertyName: "searchInputEl", first: true, predicate: ["searchInputEl"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"lib-select\" id=\"lib-select-{{ selectId }}\" ddFixedPosition>\r\n @if (label) {\r\n <label [for]=\"id\" class=\"lib-select__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n }\r\n\r\n <div class=\"pos-relative\" data-child=\"input\">\r\n <div class=\"search-block\"\r\n [style.right]=\"multiCountValue ? '125px' : multi ? '40px' : '30px'\"\r\n [style.display]=\"(isShownList) ? 'flex' : 'none'\">\r\n <input class=\"search-block__input\" #searchInputEl [attr.name]=\"name\"\r\n [readOnly]=\"readOnly\"\r\n (input)=\"searchInput($event)\"\r\n (blur)=\"handleBlur()\"\r\n (focus)=\"handleFocus()\"\r\n [(ngModel)]=\"searchValue\" type=\"text\" >\r\n <dd-lib-svg-icon\r\n [style.display]=\"searchValue ? 'block' : 'none'\"\r\n class=\"cup\"\r\n (click)=\"searchValue=''\"\r\n id=\"chevron-{{ selectId }}\" icon=\"clear\"></dd-lib-svg-icon>\r\n\r\n </div>\r\n @if (!this._data()) {\r\n <div class=\"data-loader\">\r\n <dd-lib-loader></dd-lib-loader>\r\n </div>\r\n }\r\n <input\r\n #select\r\n (change)=\"handleChange()\"\r\n (click)=\"notifyFocusEvent($event)\"\r\n (input)=\"handleInput($event)\"\r\n (blur)=\"handleBlur()\"\r\n (focus)=\"handleFocus()\"\r\n [attr.id]=\"selectId\"\r\n [attr.placeholder]=\"(multiCountValue || searchValue) ? '' : placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [style.color]=\"(searchValue && isShownList) ? 'transparent' : 'inherit'\"\r\n [attr.type]=\"'text'\"\r\n [class.focused]=\"focused\"\r\n [class.invalid]=\"showError\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"true\"\r\n [(ngModel)]=\"inputValue\"\r\n [title]=\"inputValue || ''\"\r\n class=\"text-select select-block\" />\r\n @if (multiCountValue) {\r\n <span class=\"multi-count text-plain small\">{{multiCountValue}}</span>\r\n }\r\n <!-- (blur)=\"notifyFocusEvent($event)\"-->\r\n @if (!checkedItem) {\r\n <dd-lib-svg-icon\r\n (click)=\"notifyFocusEvent($event)\"\r\n [class.black-svg]=\"isShownList\"\r\n [class.disabled]=\"disabled\"\r\n [class.gray-svg]=\"!isShownList\"\r\n [class.up]=\"isShownList\"\r\n id=\"chevron-{{ selectId }}\" class=\"chevron\" icon=\"down_chevron\"></dd-lib-svg-icon>\r\n\r\n } @else if (clearable && !searchValue) {\r\n <dd-lib-svg-icon\r\n (click)=\"onClear(checkedItem)\"\r\n class=\"clear\"\r\n id=\"chevron-{{ selectId }}\" icon=\"clear\"></dd-lib-svg-icon>\r\n }\r\n </div>\r\n\r\n @if (errorTexts.length && showError) {\r\n @for (error of errorTexts; track error) {\r\n <div class=\"lib-select__error\">{{ error }}</div>\r\n }\r\n }\r\n @if (errorText && showSelfError && showError) {\r\n <div class=\"lib-select__error\">{{ errorText }}</div>\r\n }\r\n @if (isShownList) {\r\n <div\r\n id=\"dropdown\"\r\n data-child=\"list\"\r\n [ngStyle]=\"dropdownStyle\"\r\n (ddClickOutside)=\"notifyFocusEvent($event);fullBlur.emit($event)\"\r\n [elements]=\"['lib-select-' + selectId, 'chevron' + selectId]\"\r\n ddListKeyboardNavigation\r\n class=\"select-list-wrapper\">\r\n @if (_data()) {\r\n @if (!_data()?.length && noDataError) {\r\n <div class=\"select-no-data\">\r\n {{noDataError}}\r\n </div>\r\n }\r\n @if (virtualScroll) {\r\n <cdk-virtual-scroll-viewport [itemSize]=\"itemSize\" [style.height]=\"(_data()?.length || 0) * itemSize + 'px'\">\r\n <div *cdkVirtualFor=\"let item of _data() | filterByKey: filterList.bind(this)\">\r\n <ng-container [ngTemplateOutlet]=\"rowItem\" [ngTemplateOutletContext]=\"{item}\"></ng-container>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n } @else {\r\n @for (item of _data() | filterByKey: filterList.bind(this); track item) {\r\n <ng-container [ngTemplateOutlet]=\"rowItem\" [ngTemplateOutletContext]=\"{item}\"></ng-container>\r\n }\r\n }\r\n } @else {\r\n <div class=\"select-loader\">\r\n <dd-lib-loader></dd-lib-loader>\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n\r\n<ng-template #rowItem let-item=item>\r\n <div ddSelectableItem [ddTooltip]=\"item.tooltip ? item.tooltip : ''\" [position]=\"tooltipPosition\"\r\n (click)=\"selectItem(item)\"\r\n (itemSelected)=\"selectItem(item)\"\r\n [class.s-item-active]=\"checkSelected(item) && !item.disabled\"\r\n [class.s-item-disabled]=\"item.disabled\"\r\n class=\"select-data\">\r\n @if (stringArray()) {\r\n <div [innerHTML]=\"item | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n class=\"select-data__title\"></div>\r\n }\r\n @if (keyTitle && !stringArray()) {\r\n <div\r\n [innerHTML]=\"item[keyTitle!] | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n class=\"select-data__title\"></div>\r\n }\r\n @if (keyDesc && !stringArray()) {\r\n <div\r\n [innerHTML]=\"item[keyDesc!] | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n [title]=\"item[keyDesc]\"\r\n class=\"select-data__desc\"></div>\r\n }\r\n @if (checkSelected(item)) {\r\n <dd-lib-svg-icon\r\n (click)=\"selectItem(checkedItem)\"\r\n class=\"checked\"\r\n id=\"chevron-{{ selectId }}\" icon=\"check_green\"></dd-lib-svg-icon>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [".lib-select{position:relative}.lib-select .select-block{width:100%;height:48px;padding:15px 28px 15px 16px;overflow:hidden;text-overflow:ellipsis;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative}.lib-select .select-block:hover{border-color:var(--input-active-border-colort)}.lib-select .select-block:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-select .select-block:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-select .select-block:disabled::placeholder{color:var(--input-placeholder)}.lib-select .select-block.invalid,.lib-select .select-block.invalid:hover{border-color:var(--input-error-border-color)}.lib-select .select-block.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-select .multi-count{position:absolute;top:10px;right:42px;white-space:nowrap}.lib-select .clear{cursor:pointer;position:absolute;right:8px;top:12px}.lib-select .chevron{cursor:pointer;position:absolute;right:16px;top:10px}.lib-select .chevron.up{transform:rotate(180deg)}.lib-select__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start;color:var(--light-black-color)}.lib-select__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px;position:absolute}.lib-select .select-list-wrapper{position:absolute;display:block;z-index:100;width:100%;max-height:300px;overflow:auto;border-radius:8px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color)}.lib-select .select-list-wrapper cdk-virtual-scroll-viewport{max-height:300px}.lib-select .select-list-wrapper.top{bottom:50px;top:unset}.lib-select .select-list-wrapper .select-data{padding:12px 42px 12px 16px;cursor:pointer;position:relative;min-height:40px}.lib-select .select-list-wrapper .select-data__desc{font-size:14px;font-weight:400;line-height:24px;text-overflow:ellipsis;text-wrap:nowrap;padding-top:2px;overflow:hidden;color:var(--second-gray-color)}.lib-select .select-list-wrapper .select-data.key-down-active,.lib-select .select-list-wrapper .select-data:hover,.lib-select .select-list-wrapper .select-data.s-item-active{background:var(--select-act-hov-bgc)}.lib-select .select-list-wrapper .select-data.s-item-active .checked{position:absolute;right:16px;top:10px}.lib-select .select-list-wrapper .select-data.s-item-disabled{cursor:auto;background:var(--disabled-bgc);color:var(--disabled-color)}.lib-select .select-list-wrapper .select-no-data{padding:12px 42px 12px 16px;cursor:auto;position:relative;color:var(--disabled-color)}.lib-select .select-list-wrapper .select-loader{padding:24px}.search-block{position:absolute;height:12px;top:17px;z-index:1;left:16px;display:flex;gap:4px;align-items:center}.search-block__input{border:none;background:transparent;width:100%}.data-loader{position:absolute;right:0;left:0;bottom:12px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: HighlightPipe, name: "highlight" }, { kind: "pipe", type: SafePipe, name: "safe" }, { kind: "directive", type: ClickOutsideDirective, selector: "[ddClickOutside]", inputs: ["elements"], outputs: ["ddClickOutside"] }, { kind: "component", type: LibLoaderComponent, selector: "dd-lib-loader", inputs: ["color", "size"] }, { kind: "pipe", type: FilterByKeyPipe, name: "filterByKey" }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i2$1.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2$1.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2$1.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: TooltipDirective, selector: "[ddTooltip]", inputs: ["ddTooltip", "withClick", "position"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ListKeyboardNavigationDirective, selector: "[ddListKeyboardNavigation]" }, { kind: "directive", type: SelectableItemDirective, selector: "[ddSelectableItem]", outputs: ["itemSelected"] }, { kind: "directive", type: FixedPositionDirective, selector: "[ddFixedPosition]", inputs: ["childName1", "childName2"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3598
|
+
], viewQueries: [{ propertyName: "selectEl", first: true, predicate: ["select"], descendants: true, read: ElementRef, static: true }, { propertyName: "searchInputEl", first: true, predicate: ["searchInputEl"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"lib-select\" id=\"lib-select-{{ selectId }}\" [destroyedItem]=\"isShownList\" ddFixedPosition>\r\n @if (label) {\r\n <label [for]=\"id\" class=\"lib-select__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n }\r\n\r\n <div class=\"pos-relative\" data-child=\"input\">\r\n\r\n <input\r\n #select\r\n (change)=\"handleChange()\"\r\n (click)=\"notifyFocusEvent($event)\"\r\n (input)=\"handleInput($event)\"\r\n (blur)=\"handleBlur()\"\r\n (focus)=\"handleFocus()\"\r\n [attr.id]=\"selectId\"\r\n [attr.placeholder]=\"(multiCountValue || searchValue) ? '' : placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [attr.type]=\"'text'\"\r\n [class.focused]=\"focused\"\r\n [class.invalid]=\"showError\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"true\"\r\n [(ngModel)]=\"inputValue\"\r\n [title]=\"inputValue || ''\"\r\n class=\"text-select select-block\" />\r\n\r\n @if (multiCountValue) {\r\n <div class=\"selected-items-container\"\r\n id=\"selected-{{selectId}}\">\r\n\r\n <dd-lib-horizontal-scroll>\r\n @for (item of checkedItems; track item) {\r\n <div class=\"selected-items__item\">\r\n @if (stringArray()) {\r\n <div [innerHTML]=\"item | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n class=\"selected-items__item-title\"></div>\r\n }\r\n @if (keyTitle && !stringArray()) {\r\n <div\r\n [innerHTML]=\"item[keyTitle!] | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n class=\"selected-items__item-title\"></div>\r\n }\r\n @if (keyDesc && !stringArray()) {\r\n <div\r\n [innerHTML]=\"item[keyDesc!] | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n [title]=\"item[keyDesc]\"\r\n class=\"selected-items__item-desc\"></div>\r\n }\r\n <dd-lib-svg-icon id=\"selected-clear-{{selectId}}\" icon=\"clear\" class=\"cup\"\r\n (click)=\"selectItem(item)\"></dd-lib-svg-icon>\r\n </div>\r\n }\r\n </dd-lib-horizontal-scroll>\r\n </div>\r\n\r\n }\r\n <!-- (blur)=\"notifyFocusEvent($event)\"-->\r\n @if (!checkedItem) {\r\n <dd-lib-svg-icon\r\n (click)=\"notifyFocusEvent($event)\"\r\n [class.black-svg]=\"isShownList\"\r\n [class.disabled]=\"disabled\"\r\n [class.gray-svg]=\"!isShownList\"\r\n [class.up]=\"isShownList\"\r\n id=\"chevron-{{ selectId }}\" class=\"chevron\" icon=\"down_chevron\"></dd-lib-svg-icon>\r\n\r\n } @else if (clearable && !searchValue) {\r\n <dd-lib-svg-icon\r\n (click)=\"onClear(checkedItem)\"\r\n class=\"clear\"\r\n id=\"chevron-{{ selectId }}\" icon=\"clear\"></dd-lib-svg-icon>\r\n }\r\n </div>\r\n\r\n @if (errorTexts.length && showError) {\r\n @for (error of errorTexts; track error) {\r\n <div class=\"lib-select__error\">{{ error }}</div>\r\n }\r\n }\r\n @if (errorText && showSelfError && showError) {\r\n <div class=\"lib-select__error\">{{ errorText }}</div>\r\n }\r\n\r\n @if (isShownList) {\r\n <div\r\n id=\"dropdown\"\r\n [style.max-height]=\"searchOn ? '342px' : '300px'\"\r\n data-child=\"list\"\r\n (ddClickOutside)=\"notifyFocusEvent($event);fullBlur.emit($event)\"\r\n [elements]=\"['lib-select-' + selectId, 'chevron-' + selectId, 'selected-' + selectId, 'selected-clear-' + selectId]\"\r\n ddListKeyboardNavigation\r\n class=\"select-list-wrapper\">\r\n @if (_data()) {\r\n <!-- \u0415\u0441\u043B\u0438 \u0434\u0430\u043D\u043D\u044B\u0435 \u0434\u043B\u044F \u0441\u0435\u0434\u0435\u043A\u0442\u0430 \u043D\u0435 \u043F\u0440\u0438\u0448\u043B\u043E-->\r\n @if (!_data()?.length && noDataError) {\r\n <div class=\"info-container\">\r\n <div class=\"b2-title no-wrap-text\">\r\n {{ noDataError }}\r\n </div>\r\n </div>\r\n }\r\n\r\n <!-- \u043F\u043E\u0438\u0441\u043A-->\r\n @if (_data()?.length && _data()!.length > 5 && searchOn) {\r\n <div class=\"search-block\">\r\n <dd-lib-svg-icon\r\n class=\"search-icon\"\r\n id=\"chevron-{{ selectId }}\" icon=\"search\"></dd-lib-svg-icon>\r\n <input class=\"search-block__input\" #searchInputEl [attr.name]=\"name\"\r\n [readOnly]=\"readOnly\"\r\n (input)=\"searchInput($event)\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (blur)=\"handleBlur()\"\r\n (focus)=\"handleFocus()\"\r\n [(ngModel)]=\"searchValue\" type=\"text\">\r\n <dd-lib-svg-icon\r\n [style.display]=\"searchValue ? 'block' : 'none'\"\r\n class=\"cup\"\r\n (click)=\"searchValue=''\"\r\n id=\"chevron-{{ selectId }}\" icon=\"clear\"></dd-lib-svg-icon>\r\n\r\n </div>\r\n }\r\n <!-- \u0415\u0441\u043B\u0438 \u043F\u043E\u0438\u0441\u043A \u043D\u0435 \u0434\u0430\u043B \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432-->\r\n @if (_data()?.length && (_data() | filterByKey: filterList.bind(this))?.length === 0) {\r\n <div class=\"info-container\">\r\n <div class=\"b2-title no-wrap-text\">\r\n \u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E\r\n </div>\r\n </div>\r\n }\r\n @if (virtualScroll) {\r\n <cdk-virtual-scroll-viewport [itemSize]=\"itemSize\" [style.height]=\"(_data()?.length || 0) * itemSize + 'px'\">\r\n <div *cdkVirtualFor=\"let item of _data() | filterByKey: filterList.bind(this)\">\r\n <ng-container [ngTemplateOutlet]=\"rowItem\" [ngTemplateOutletContext]=\"{item}\"></ng-container>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n } @else {\r\n @for (item of _data() | filterByKey: filterList.bind(this); track item) {\r\n <ng-container [ngTemplateOutlet]=\"rowItem\" [ngTemplateOutletContext]=\"{item}\"></ng-container>\r\n }\r\n }\r\n } @else {\r\n <div class=\"info-container\">\r\n <div class=\"d-flex gap-12 align-center\">\r\n <div class=\"b2-title no-wrap-text\">\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0434\u0430\u043D\u043D\u044B\u0445</div>\r\n <dd-lib-loader></dd-lib-loader>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n\r\n<ng-template #rowItem let-item=item>\r\n <div ddSelectableItem [ddTooltip]=\"item.tooltip ? item.tooltip : ''\" [position]=\"tooltipPosition\"\r\n (click)=\"selectItem(item)\"\r\n (itemSelected)=\"selectItem(item)\"\r\n [class.s-item-active]=\"checkSelected(item) && !item.disabled\"\r\n [class.s-item-disabled]=\"item.disabled\"\r\n class=\"select-data\">\r\n @if (stringArray()) {\r\n <div [innerHTML]=\"item | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n class=\"select-data__title\"></div>\r\n }\r\n @if (keyTitle && !stringArray()) {\r\n <div\r\n [innerHTML]=\"item[keyTitle!] | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n class=\"select-data__title\"></div>\r\n }\r\n @if (keyDesc && !stringArray()) {\r\n <div\r\n [innerHTML]=\"item[keyDesc!] | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n [title]=\"item[keyDesc]\"\r\n class=\"select-data__desc\"></div>\r\n }\r\n @if (checkSelected(item)) {\r\n <dd-lib-svg-icon\r\n (click)=\"selectItem(checkedItem)\"\r\n class=\"checked\"\r\n id=\"chevron-{{ selectId }}\" icon=\"check_green\"></dd-lib-svg-icon>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [".lib-select{position:relative}.lib-select .select-block{width:100%;height:48px;padding:15px 28px 15px 16px;overflow:hidden;text-overflow:ellipsis;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative}.lib-select .select-block:hover{border-color:var(--input-active-border-colort)}.lib-select .select-block:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-select .select-block:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-select .select-block:disabled::placeholder{color:var(--input-placeholder)}.lib-select .select-block.invalid,.lib-select .select-block.invalid:hover{border-color:var(--input-error-border-color)}.lib-select .select-block.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-select .multi-count{position:absolute;top:10px;right:42px;white-space:nowrap}.lib-select .clear{cursor:pointer;position:absolute;right:8px;top:12px}.lib-select .chevron{cursor:pointer;position:absolute;right:16px;top:10px}.lib-select .chevron.up{transform:rotate(180deg)}.lib-select__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start;color:var(--light-black-color)}.lib-select__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px;position:absolute}.lib-select .select-list-wrapper{position:absolute;display:block;z-index:100;width:100%;max-height:300px;overflow:auto;border-radius:8px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color)}.lib-select .select-list-wrapper cdk-virtual-scroll-viewport{max-height:300px}.lib-select .select-list-wrapper.top{bottom:50px;top:unset}.lib-select .select-list-wrapper .select-data{padding:12px 42px 12px 16px;cursor:pointer;position:relative;min-height:40px}.lib-select .select-list-wrapper .select-data__desc{font-size:14px;font-weight:400;line-height:24px;text-overflow:ellipsis;text-wrap:nowrap;padding-top:2px;overflow:hidden;color:var(--second-gray-color)}.lib-select .select-list-wrapper .select-data.key-down-active,.lib-select .select-list-wrapper .select-data:hover,.lib-select .select-list-wrapper .select-data.s-item-active{background:var(--select-act-hov-bgc)}.lib-select .select-list-wrapper .select-data.s-item-active .checked{position:absolute;right:16px;top:10px}.lib-select .select-list-wrapper .select-data.s-item-disabled{cursor:auto;background:var(--disabled-bgc);color:var(--disabled-color)}.lib-select .select-list-wrapper .select-no-data{padding:12px 42px 12px 16px;cursor:auto;position:relative;color:var(--disabled-color)}.lib-select .select-list-wrapper .info-container{padding:36px;display:flex;align-items:center;justify-content:center}.search-block{position:relative;padding:12px;z-index:1;display:flex;gap:4px;align-items:center;border-bottom:1px solid var(--gray-bgc)}.search-block__input{border:none;background:transparent;width:100%;padding-left:40px}.search-block .search-icon{position:absolute;left:20px;top:0;bottom:0}.data-loader{position:absolute;right:0;left:0;bottom:12px}.selected-items{position:absolute;display:flex;gap:4px;flex-wrap:wrap;z-index:101;width:100%;max-height:300px;overflow:auto;border-radius:8px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color);padding:8px}.selected-items__item{background:var(--disabled-color);color:#fff;padding:12px;border-radius:12px}.selected-items-container{overflow:hidden;border-radius:8px;top:0;bottom:0;position:absolute;max-width:calc(100% - 60px);left:6px;margin:8px;align-items:center}.selected-items-container .selected-items__item{background:var(--light-green-color);color:var(--primary-green-color);padding:4px;border-radius:8px;display:flex;gap:4px;align-items:center}.selected-items-container .selected-items__item-title{white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: HighlightPipe, name: "highlight" }, { kind: "pipe", type: SafePipe, name: "safe" }, { kind: "directive", type: ClickOutsideDirective, selector: "[ddClickOutside]", inputs: ["elements"], outputs: ["ddClickOutside"] }, { kind: "component", type: LibLoaderComponent, selector: "dd-lib-loader", inputs: ["color", "size"] }, { kind: "pipe", type: FilterByKeyPipe, name: "filterByKey" }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i2$1.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i2$1.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i2$1.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: TooltipDirective, selector: "[ddTooltip]", inputs: ["ddTooltip", "withClick", "position"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ListKeyboardNavigationDirective, selector: "[ddListKeyboardNavigation]" }, { kind: "directive", type: SelectableItemDirective, selector: "[ddSelectableItem]", outputs: ["itemSelected"] }, { kind: "directive", type: FixedPositionDirective, selector: "[ddFixedPosition]", inputs: ["childName1", "childName2", "destroyedItem"] }, { kind: "component", type: LibHorizontalScrollComponent, selector: "dd-lib-horizontal-scroll" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3494
3599
|
}
|
|
3495
3600
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: LibSelectComponent, decorators: [{
|
|
3496
3601
|
type: Component,
|
|
@@ -3509,14 +3614,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImpor
|
|
|
3509
3614
|
NgTemplateOutlet,
|
|
3510
3615
|
ListKeyboardNavigationDirective,
|
|
3511
3616
|
SelectableItemDirective,
|
|
3512
|
-
FixedPositionDirective
|
|
3617
|
+
FixedPositionDirective,
|
|
3618
|
+
LibHorizontalScrollComponent
|
|
3513
3619
|
], providers: [
|
|
3514
3620
|
{
|
|
3515
3621
|
provide: NG_VALUE_ACCESSOR,
|
|
3516
3622
|
useExisting: forwardRef(() => LibSelectComponent),
|
|
3517
3623
|
multi: true,
|
|
3518
3624
|
},
|
|
3519
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"lib-select\" id=\"lib-select-{{ selectId }}\" ddFixedPosition>\r\n @if (label) {\r\n <label [for]=\"id\" class=\"lib-select__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n }\r\n\r\n <div class=\"pos-relative\" data-child=\"input\">\r\n <div class=\"search-block\"\r\n [style.right]=\"multiCountValue ? '125px' : multi ? '40px' : '30px'\"\r\n [style.display]=\"(isShownList) ? 'flex' : 'none'\">\r\n <input class=\"search-block__input\" #searchInputEl [attr.name]=\"name\"\r\n [readOnly]=\"readOnly\"\r\n (input)=\"searchInput($event)\"\r\n (blur)=\"handleBlur()\"\r\n (focus)=\"handleFocus()\"\r\n [(ngModel)]=\"searchValue\" type=\"text\" >\r\n <dd-lib-svg-icon\r\n [style.display]=\"searchValue ? 'block' : 'none'\"\r\n class=\"cup\"\r\n (click)=\"searchValue=''\"\r\n id=\"chevron-{{ selectId }}\" icon=\"clear\"></dd-lib-svg-icon>\r\n\r\n </div>\r\n @if (!this._data()) {\r\n <div class=\"data-loader\">\r\n <dd-lib-loader></dd-lib-loader>\r\n </div>\r\n }\r\n <input\r\n #select\r\n (change)=\"handleChange()\"\r\n (click)=\"notifyFocusEvent($event)\"\r\n (input)=\"handleInput($event)\"\r\n (blur)=\"handleBlur()\"\r\n (focus)=\"handleFocus()\"\r\n [attr.id]=\"selectId\"\r\n [attr.placeholder]=\"(multiCountValue || searchValue) ? '' : placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [style.color]=\"(searchValue && isShownList) ? 'transparent' : 'inherit'\"\r\n [attr.type]=\"'text'\"\r\n [class.focused]=\"focused\"\r\n [class.invalid]=\"showError\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"true\"\r\n [(ngModel)]=\"inputValue\"\r\n [title]=\"inputValue || ''\"\r\n class=\"text-select select-block\" />\r\n @if (multiCountValue) {\r\n <span class=\"multi-count text-plain small\">{{multiCountValue}}</span>\r\n }\r\n <!-- (blur)=\"notifyFocusEvent($event)\"-->\r\n @if (!checkedItem) {\r\n <dd-lib-svg-icon\r\n (click)=\"notifyFocusEvent($event)\"\r\n [class.black-svg]=\"isShownList\"\r\n [class.disabled]=\"disabled\"\r\n [class.gray-svg]=\"!isShownList\"\r\n [class.up]=\"isShownList\"\r\n id=\"chevron-{{ selectId }}\" class=\"chevron\" icon=\"down_chevron\"></dd-lib-svg-icon>\r\n\r\n } @else if (clearable && !searchValue) {\r\n <dd-lib-svg-icon\r\n (click)=\"onClear(checkedItem)\"\r\n class=\"clear\"\r\n id=\"chevron-{{ selectId }}\" icon=\"clear\"></dd-lib-svg-icon>\r\n }\r\n </div>\r\n\r\n @if (errorTexts.length && showError) {\r\n @for (error of errorTexts; track error) {\r\n <div class=\"lib-select__error\">{{ error }}</div>\r\n }\r\n }\r\n @if (errorText && showSelfError && showError) {\r\n <div class=\"lib-select__error\">{{ errorText }}</div>\r\n }\r\n @if (isShownList) {\r\n <div\r\n id=\"dropdown\"\r\n data-child=\"list\"\r\n [ngStyle]=\"dropdownStyle\"\r\n (ddClickOutside)=\"notifyFocusEvent($event);fullBlur.emit($event)\"\r\n [elements]=\"['lib-select-' + selectId, 'chevron' + selectId]\"\r\n ddListKeyboardNavigation\r\n class=\"select-list-wrapper\">\r\n @if (_data()) {\r\n @if (!_data()?.length && noDataError) {\r\n <div class=\"select-no-data\">\r\n {{noDataError}}\r\n </div>\r\n }\r\n @if (virtualScroll) {\r\n <cdk-virtual-scroll-viewport [itemSize]=\"itemSize\" [style.height]=\"(_data()?.length || 0) * itemSize + 'px'\">\r\n <div *cdkVirtualFor=\"let item of _data() | filterByKey: filterList.bind(this)\">\r\n <ng-container [ngTemplateOutlet]=\"rowItem\" [ngTemplateOutletContext]=\"{item}\"></ng-container>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n } @else {\r\n @for (item of _data() | filterByKey: filterList.bind(this); track item) {\r\n <ng-container [ngTemplateOutlet]=\"rowItem\" [ngTemplateOutletContext]=\"{item}\"></ng-container>\r\n }\r\n }\r\n } @else {\r\n <div class=\"select-loader\">\r\n <dd-lib-loader></dd-lib-loader>\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n\r\n<ng-template #rowItem let-item=item>\r\n <div ddSelectableItem [ddTooltip]=\"item.tooltip ? item.tooltip : ''\" [position]=\"tooltipPosition\"\r\n (click)=\"selectItem(item)\"\r\n (itemSelected)=\"selectItem(item)\"\r\n [class.s-item-active]=\"checkSelected(item) && !item.disabled\"\r\n [class.s-item-disabled]=\"item.disabled\"\r\n class=\"select-data\">\r\n @if (stringArray()) {\r\n <div [innerHTML]=\"item | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n class=\"select-data__title\"></div>\r\n }\r\n @if (keyTitle && !stringArray()) {\r\n <div\r\n [innerHTML]=\"item[keyTitle!] | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n class=\"select-data__title\"></div>\r\n }\r\n @if (keyDesc && !stringArray()) {\r\n <div\r\n [innerHTML]=\"item[keyDesc!] | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n [title]=\"item[keyDesc]\"\r\n class=\"select-data__desc\"></div>\r\n }\r\n @if (checkSelected(item)) {\r\n <dd-lib-svg-icon\r\n (click)=\"selectItem(checkedItem)\"\r\n class=\"checked\"\r\n id=\"chevron-{{ selectId }}\" icon=\"check_green\"></dd-lib-svg-icon>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [".lib-select{position:relative}.lib-select .select-block{width:100%;height:48px;padding:15px 28px 15px 16px;overflow:hidden;text-overflow:ellipsis;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative}.lib-select .select-block:hover{border-color:var(--input-active-border-colort)}.lib-select .select-block:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-select .select-block:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-select .select-block:disabled::placeholder{color:var(--input-placeholder)}.lib-select .select-block.invalid,.lib-select .select-block.invalid:hover{border-color:var(--input-error-border-color)}.lib-select .select-block.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-select .multi-count{position:absolute;top:10px;right:42px;white-space:nowrap}.lib-select .clear{cursor:pointer;position:absolute;right:8px;top:12px}.lib-select .chevron{cursor:pointer;position:absolute;right:16px;top:10px}.lib-select .chevron.up{transform:rotate(180deg)}.lib-select__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start;color:var(--light-black-color)}.lib-select__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px;position:absolute}.lib-select .select-list-wrapper{position:absolute;display:block;z-index:100;width:100%;max-height:300px;overflow:auto;border-radius:8px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color)}.lib-select .select-list-wrapper cdk-virtual-scroll-viewport{max-height:300px}.lib-select .select-list-wrapper.top{bottom:50px;top:unset}.lib-select .select-list-wrapper .select-data{padding:12px 42px 12px 16px;cursor:pointer;position:relative;min-height:40px}.lib-select .select-list-wrapper .select-data__desc{font-size:14px;font-weight:400;line-height:24px;text-overflow:ellipsis;text-wrap:nowrap;padding-top:2px;overflow:hidden;color:var(--second-gray-color)}.lib-select .select-list-wrapper .select-data.key-down-active,.lib-select .select-list-wrapper .select-data:hover,.lib-select .select-list-wrapper .select-data.s-item-active{background:var(--select-act-hov-bgc)}.lib-select .select-list-wrapper .select-data.s-item-active .checked{position:absolute;right:16px;top:10px}.lib-select .select-list-wrapper .select-data.s-item-disabled{cursor:auto;background:var(--disabled-bgc);color:var(--disabled-color)}.lib-select .select-list-wrapper .select-no-data{padding:12px 42px 12px 16px;cursor:auto;position:relative;color:var(--disabled-color)}.lib-select .select-list-wrapper .select-loader{padding:24px}.search-block{position:absolute;height:12px;top:17px;z-index:1;left:16px;display:flex;gap:4px;align-items:center}.search-block__input{border:none;background:transparent;width:100%}.data-loader{position:absolute;right:0;left:0;bottom:12px}\n"] }]
|
|
3625
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"lib-select\" id=\"lib-select-{{ selectId }}\" [destroyedItem]=\"isShownList\" ddFixedPosition>\r\n @if (label) {\r\n <label [for]=\"id\" class=\"lib-select__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n }\r\n\r\n <div class=\"pos-relative\" data-child=\"input\">\r\n\r\n <input\r\n #select\r\n (change)=\"handleChange()\"\r\n (click)=\"notifyFocusEvent($event)\"\r\n (input)=\"handleInput($event)\"\r\n (blur)=\"handleBlur()\"\r\n (focus)=\"handleFocus()\"\r\n [attr.id]=\"selectId\"\r\n [attr.placeholder]=\"(multiCountValue || searchValue) ? '' : placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [attr.type]=\"'text'\"\r\n [class.focused]=\"focused\"\r\n [class.invalid]=\"showError\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"true\"\r\n [(ngModel)]=\"inputValue\"\r\n [title]=\"inputValue || ''\"\r\n class=\"text-select select-block\" />\r\n\r\n @if (multiCountValue) {\r\n <div class=\"selected-items-container\"\r\n id=\"selected-{{selectId}}\">\r\n\r\n <dd-lib-horizontal-scroll>\r\n @for (item of checkedItems; track item) {\r\n <div class=\"selected-items__item\">\r\n @if (stringArray()) {\r\n <div [innerHTML]=\"item | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n class=\"selected-items__item-title\"></div>\r\n }\r\n @if (keyTitle && !stringArray()) {\r\n <div\r\n [innerHTML]=\"item[keyTitle!] | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n class=\"selected-items__item-title\"></div>\r\n }\r\n @if (keyDesc && !stringArray()) {\r\n <div\r\n [innerHTML]=\"item[keyDesc!] | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n [title]=\"item[keyDesc]\"\r\n class=\"selected-items__item-desc\"></div>\r\n }\r\n <dd-lib-svg-icon id=\"selected-clear-{{selectId}}\" icon=\"clear\" class=\"cup\"\r\n (click)=\"selectItem(item)\"></dd-lib-svg-icon>\r\n </div>\r\n }\r\n </dd-lib-horizontal-scroll>\r\n </div>\r\n\r\n }\r\n <!-- (blur)=\"notifyFocusEvent($event)\"-->\r\n @if (!checkedItem) {\r\n <dd-lib-svg-icon\r\n (click)=\"notifyFocusEvent($event)\"\r\n [class.black-svg]=\"isShownList\"\r\n [class.disabled]=\"disabled\"\r\n [class.gray-svg]=\"!isShownList\"\r\n [class.up]=\"isShownList\"\r\n id=\"chevron-{{ selectId }}\" class=\"chevron\" icon=\"down_chevron\"></dd-lib-svg-icon>\r\n\r\n } @else if (clearable && !searchValue) {\r\n <dd-lib-svg-icon\r\n (click)=\"onClear(checkedItem)\"\r\n class=\"clear\"\r\n id=\"chevron-{{ selectId }}\" icon=\"clear\"></dd-lib-svg-icon>\r\n }\r\n </div>\r\n\r\n @if (errorTexts.length && showError) {\r\n @for (error of errorTexts; track error) {\r\n <div class=\"lib-select__error\">{{ error }}</div>\r\n }\r\n }\r\n @if (errorText && showSelfError && showError) {\r\n <div class=\"lib-select__error\">{{ errorText }}</div>\r\n }\r\n\r\n @if (isShownList) {\r\n <div\r\n id=\"dropdown\"\r\n [style.max-height]=\"searchOn ? '342px' : '300px'\"\r\n data-child=\"list\"\r\n (ddClickOutside)=\"notifyFocusEvent($event);fullBlur.emit($event)\"\r\n [elements]=\"['lib-select-' + selectId, 'chevron-' + selectId, 'selected-' + selectId, 'selected-clear-' + selectId]\"\r\n ddListKeyboardNavigation\r\n class=\"select-list-wrapper\">\r\n @if (_data()) {\r\n <!-- \u0415\u0441\u043B\u0438 \u0434\u0430\u043D\u043D\u044B\u0435 \u0434\u043B\u044F \u0441\u0435\u0434\u0435\u043A\u0442\u0430 \u043D\u0435 \u043F\u0440\u0438\u0448\u043B\u043E-->\r\n @if (!_data()?.length && noDataError) {\r\n <div class=\"info-container\">\r\n <div class=\"b2-title no-wrap-text\">\r\n {{ noDataError }}\r\n </div>\r\n </div>\r\n }\r\n\r\n <!-- \u043F\u043E\u0438\u0441\u043A-->\r\n @if (_data()?.length && _data()!.length > 5 && searchOn) {\r\n <div class=\"search-block\">\r\n <dd-lib-svg-icon\r\n class=\"search-icon\"\r\n id=\"chevron-{{ selectId }}\" icon=\"search\"></dd-lib-svg-icon>\r\n <input class=\"search-block__input\" #searchInputEl [attr.name]=\"name\"\r\n [readOnly]=\"readOnly\"\r\n (input)=\"searchInput($event)\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (blur)=\"handleBlur()\"\r\n (focus)=\"handleFocus()\"\r\n [(ngModel)]=\"searchValue\" type=\"text\">\r\n <dd-lib-svg-icon\r\n [style.display]=\"searchValue ? 'block' : 'none'\"\r\n class=\"cup\"\r\n (click)=\"searchValue=''\"\r\n id=\"chevron-{{ selectId }}\" icon=\"clear\"></dd-lib-svg-icon>\r\n\r\n </div>\r\n }\r\n <!-- \u0415\u0441\u043B\u0438 \u043F\u043E\u0438\u0441\u043A \u043D\u0435 \u0434\u0430\u043B \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432-->\r\n @if (_data()?.length && (_data() | filterByKey: filterList.bind(this))?.length === 0) {\r\n <div class=\"info-container\">\r\n <div class=\"b2-title no-wrap-text\">\r\n \u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E\r\n </div>\r\n </div>\r\n }\r\n @if (virtualScroll) {\r\n <cdk-virtual-scroll-viewport [itemSize]=\"itemSize\" [style.height]=\"(_data()?.length || 0) * itemSize + 'px'\">\r\n <div *cdkVirtualFor=\"let item of _data() | filterByKey: filterList.bind(this)\">\r\n <ng-container [ngTemplateOutlet]=\"rowItem\" [ngTemplateOutletContext]=\"{item}\"></ng-container>\r\n </div>\r\n </cdk-virtual-scroll-viewport>\r\n } @else {\r\n @for (item of _data() | filterByKey: filterList.bind(this); track item) {\r\n <ng-container [ngTemplateOutlet]=\"rowItem\" [ngTemplateOutletContext]=\"{item}\"></ng-container>\r\n }\r\n }\r\n } @else {\r\n <div class=\"info-container\">\r\n <div class=\"d-flex gap-12 align-center\">\r\n <div class=\"b2-title no-wrap-text\">\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0434\u0430\u043D\u043D\u044B\u0445</div>\r\n <dd-lib-loader></dd-lib-loader>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n\r\n<ng-template #rowItem let-item=item>\r\n <div ddSelectableItem [ddTooltip]=\"item.tooltip ? item.tooltip : ''\" [position]=\"tooltipPosition\"\r\n (click)=\"selectItem(item)\"\r\n (itemSelected)=\"selectItem(item)\"\r\n [class.s-item-active]=\"checkSelected(item) && !item.disabled\"\r\n [class.s-item-disabled]=\"item.disabled\"\r\n class=\"select-data\">\r\n @if (stringArray()) {\r\n <div [innerHTML]=\"item | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n class=\"select-data__title\"></div>\r\n }\r\n @if (keyTitle && !stringArray()) {\r\n <div\r\n [innerHTML]=\"item[keyTitle!] | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n class=\"select-data__title\"></div>\r\n }\r\n @if (keyDesc && !stringArray()) {\r\n <div\r\n [innerHTML]=\"item[keyDesc!] | highlight: (highlight ? searchValue : '') | safe: 'html'\"\r\n [title]=\"item[keyDesc]\"\r\n class=\"select-data__desc\"></div>\r\n }\r\n @if (checkSelected(item)) {\r\n <dd-lib-svg-icon\r\n (click)=\"selectItem(checkedItem)\"\r\n class=\"checked\"\r\n id=\"chevron-{{ selectId }}\" icon=\"check_green\"></dd-lib-svg-icon>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: [".lib-select{position:relative}.lib-select .select-block{width:100%;height:48px;padding:15px 28px 15px 16px;overflow:hidden;text-overflow:ellipsis;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative}.lib-select .select-block:hover{border-color:var(--input-active-border-colort)}.lib-select .select-block:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-select .select-block:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-select .select-block:disabled::placeholder{color:var(--input-placeholder)}.lib-select .select-block.invalid,.lib-select .select-block.invalid:hover{border-color:var(--input-error-border-color)}.lib-select .select-block.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-select .multi-count{position:absolute;top:10px;right:42px;white-space:nowrap}.lib-select .clear{cursor:pointer;position:absolute;right:8px;top:12px}.lib-select .chevron{cursor:pointer;position:absolute;right:16px;top:10px}.lib-select .chevron.up{transform:rotate(180deg)}.lib-select__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start;color:var(--light-black-color)}.lib-select__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px;position:absolute}.lib-select .select-list-wrapper{position:absolute;display:block;z-index:100;width:100%;max-height:300px;overflow:auto;border-radius:8px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color)}.lib-select .select-list-wrapper cdk-virtual-scroll-viewport{max-height:300px}.lib-select .select-list-wrapper.top{bottom:50px;top:unset}.lib-select .select-list-wrapper .select-data{padding:12px 42px 12px 16px;cursor:pointer;position:relative;min-height:40px}.lib-select .select-list-wrapper .select-data__desc{font-size:14px;font-weight:400;line-height:24px;text-overflow:ellipsis;text-wrap:nowrap;padding-top:2px;overflow:hidden;color:var(--second-gray-color)}.lib-select .select-list-wrapper .select-data.key-down-active,.lib-select .select-list-wrapper .select-data:hover,.lib-select .select-list-wrapper .select-data.s-item-active{background:var(--select-act-hov-bgc)}.lib-select .select-list-wrapper .select-data.s-item-active .checked{position:absolute;right:16px;top:10px}.lib-select .select-list-wrapper .select-data.s-item-disabled{cursor:auto;background:var(--disabled-bgc);color:var(--disabled-color)}.lib-select .select-list-wrapper .select-no-data{padding:12px 42px 12px 16px;cursor:auto;position:relative;color:var(--disabled-color)}.lib-select .select-list-wrapper .info-container{padding:36px;display:flex;align-items:center;justify-content:center}.search-block{position:relative;padding:12px;z-index:1;display:flex;gap:4px;align-items:center;border-bottom:1px solid var(--gray-bgc)}.search-block__input{border:none;background:transparent;width:100%;padding-left:40px}.search-block .search-icon{position:absolute;left:20px;top:0;bottom:0}.data-loader{position:absolute;right:0;left:0;bottom:12px}.selected-items{position:absolute;display:flex;gap:4px;flex-wrap:wrap;z-index:101;width:100%;max-height:300px;overflow:auto;border-radius:8px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color);padding:8px}.selected-items__item{background:var(--disabled-color);color:#fff;padding:12px;border-radius:12px}.selected-items-container{overflow:hidden;border-radius:8px;top:0;bottom:0;position:absolute;max-width:calc(100% - 60px);left:6px;margin:8px;align-items:center}.selected-items-container .selected-items__item{background:var(--light-green-color);color:var(--primary-green-color);padding:4px;border-radius:8px;display:flex;gap:4px;align-items:center}.selected-items-container .selected-items__item-title{white-space:nowrap}\n"] }]
|
|
3520
3626
|
}], ctorParameters: () => [{ type: i0.DestroyRef }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1$5.ControlContainer, decorators: [{
|
|
3521
3627
|
type: Optional
|
|
3522
3628
|
}, {
|
|
@@ -3539,6 +3645,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImpor
|
|
|
3539
3645
|
type: Input
|
|
3540
3646
|
}], highlight: [{
|
|
3541
3647
|
type: Input
|
|
3648
|
+
}], searchOn: [{
|
|
3649
|
+
type: Input
|
|
3542
3650
|
}], selectId: [{
|
|
3543
3651
|
type: Input
|
|
3544
3652
|
}], itemSize: [{
|
|
@@ -3551,18 +3659,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImpor
|
|
|
3551
3659
|
type: Input
|
|
3552
3660
|
}], noDataError: [{
|
|
3553
3661
|
type: Input
|
|
3662
|
+
}], searchPlaceholder: [{
|
|
3663
|
+
type: Input
|
|
3554
3664
|
}], placeholder: [{
|
|
3555
3665
|
type: Input
|
|
3556
3666
|
}], selectedItem: [{
|
|
3557
3667
|
type: Output
|
|
3558
3668
|
}], selectedItems: [{
|
|
3559
3669
|
type: Output
|
|
3560
|
-
}], onWindowScroll: [{
|
|
3561
|
-
type: HostListener,
|
|
3562
|
-
args: ['window:resize']
|
|
3563
|
-
}, {
|
|
3564
|
-
type: HostListener,
|
|
3565
|
-
args: ['window:scroll']
|
|
3566
3670
|
}] } });
|
|
3567
3671
|
|
|
3568
3672
|
const DefaultSort = [
|
|
@@ -4020,7 +4124,7 @@ class LibDateRangeComponent {
|
|
|
4020
4124
|
useExisting: forwardRef(() => LibDateRangeComponent),
|
|
4021
4125
|
multi: true,
|
|
4022
4126
|
},
|
|
4023
|
-
], ngImport: i0, template: "<div class=\"lib-range\" id=\"lib-range-{{ rangeId }}\" ddFixedPosition>\r\n @if (label) {\r\n <label [for]=\"rangeId\" class=\"lib-range__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n }\r\n <div class=\"pos-relative\" data-child=\"input\">\r\n <input\r\n [attr.id]=\"rangeId\"\r\n [attr.placeholder]=\"placeholder\"\r\n (click)=\"openCalendar()\"\r\n [(ngModel)]=\"selectedPeriodStr\"\r\n [mask]=\"'d0.M0.0000 - d0.M0.0000'\"\r\n (ngModelChange)=\"changeStrDate($event)\"\r\n [leadZeroDateTime]=\"true\"\r\n class=\"text-select\"/>\r\n @if (!selectedPeriodStr) {\r\n <dd-lib-svg-icon [class.gray-svg]=\"!isShownPeriod\"\r\n (click)=\"openCalendar()\"\r\n id=\"calendar-{{ rangeId }}\"\r\n class=\"calendar\" icon=\"calendar\"></dd-lib-svg-icon>\r\n\r\n\r\n } @else {\r\n <dd-lib-svg-icon\r\n (click)=\"setPeriod(undefined)\"\r\n class=\"clear\"\r\n icon=\"clear\"></dd-lib-svg-icon>\r\n\r\n }\r\n </div>\r\n @if (isShownPeriod) {\r\n <div data-child=\"list\"\r\n (ddClickOutside)=\"closeCalendar()\"\r\n [elements]=\"['lib-range-' + rangeId, 'calendar' + rangeId]\"\r\n class=\"calendar-wrapper\">\r\n <dd-lib-calendar [(ngModel)]=\"selectedPeriod\" [rangeMode]=\"true\" (emitPeriod)=\"setPeriod($event)\"></dd-lib-calendar>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".lib-range{min-width:340px;position:relative}.lib-range input{width:100%;height:48px;padding:15px 28px 15px 16px;overflow:hidden;text-overflow:ellipsis;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative}.lib-range input:hover{border-color:var(--input-active-border-colort)}.lib-range input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-range input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-range input:disabled::placeholder{color:var(--input-placeholder)}.lib-range input.invalid,.lib-range input.invalid:hover{border-color:var(--input-error-border-color)}.lib-range input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-range .clear{cursor:pointer;position:absolute;right:8px;top:12px}.lib-range .calendar{cursor:pointer;position:absolute;right:16px;top:10px}.lib-range .calendar.up{transform:rotate(180deg)}.lib-range__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-range__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px;position:absolute}.lib-range .calendar-wrapper{position:absolute;display:block;z-index:100;width:100%;overflow:auto;border-radius:8px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[ddClickOutside]", inputs: ["elements"], outputs: ["ddClickOutside"] }, { kind: "component", type: LibCalendarComponent, selector: "dd-lib-calendar", inputs: ["type", "formatDate", "formatTime", "rangeMode", "maxHours", "maxMinutes", "needTime", "mode", "maxDate", "minDate"], outputs: ["emitDate", "emitPeriod"] }, { kind: "directive", type: NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "directive", type: FixedPositionDirective, selector: "[ddFixedPosition]", inputs: ["childName1", "childName2"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4127
|
+
], ngImport: i0, template: "<div class=\"lib-range\" id=\"lib-range-{{ rangeId }}\" [destroyedItem]=\"isShownPeriod\" ddFixedPosition>\r\n @if (label) {\r\n <label [for]=\"rangeId\" class=\"lib-range__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n }\r\n <div class=\"pos-relative\" data-child=\"input\">\r\n <input\r\n [attr.id]=\"rangeId\"\r\n [attr.placeholder]=\"placeholder\"\r\n (click)=\"openCalendar()\"\r\n [(ngModel)]=\"selectedPeriodStr\"\r\n [mask]=\"'d0.M0.0000 - d0.M0.0000'\"\r\n (ngModelChange)=\"changeStrDate($event)\"\r\n [leadZeroDateTime]=\"true\"\r\n class=\"text-select\"/>\r\n @if (!selectedPeriodStr) {\r\n <dd-lib-svg-icon [class.gray-svg]=\"!isShownPeriod\"\r\n (click)=\"openCalendar()\"\r\n id=\"calendar-{{ rangeId }}\"\r\n class=\"calendar\" icon=\"calendar\"></dd-lib-svg-icon>\r\n\r\n\r\n } @else {\r\n <dd-lib-svg-icon\r\n (click)=\"setPeriod(undefined)\"\r\n class=\"clear\"\r\n icon=\"clear\"></dd-lib-svg-icon>\r\n\r\n }\r\n </div>\r\n @if (isShownPeriod) {\r\n <div data-child=\"list\"\r\n (ddClickOutside)=\"closeCalendar()\"\r\n [elements]=\"['lib-range-' + rangeId, 'calendar' + rangeId]\"\r\n class=\"calendar-wrapper\">\r\n <dd-lib-calendar [(ngModel)]=\"selectedPeriod\" [rangeMode]=\"true\" (emitPeriod)=\"setPeriod($event)\"></dd-lib-calendar>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".lib-range{min-width:340px;position:relative}.lib-range input{width:100%;height:48px;padding:15px 28px 15px 16px;overflow:hidden;text-overflow:ellipsis;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative}.lib-range input:hover{border-color:var(--input-active-border-colort)}.lib-range input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-range input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-range input:disabled::placeholder{color:var(--input-placeholder)}.lib-range input.invalid,.lib-range input.invalid:hover{border-color:var(--input-error-border-color)}.lib-range input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-range .clear{cursor:pointer;position:absolute;right:8px;top:12px}.lib-range .calendar{cursor:pointer;position:absolute;right:16px;top:10px}.lib-range .calendar.up{transform:rotate(180deg)}.lib-range__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-range__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px;position:absolute}.lib-range .calendar-wrapper{position:absolute;display:block;z-index:100;width:100%;overflow:auto;border-radius:8px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[ddClickOutside]", inputs: ["elements"], outputs: ["ddClickOutside"] }, { kind: "component", type: LibCalendarComponent, selector: "dd-lib-calendar", inputs: ["type", "formatDate", "formatTime", "rangeMode", "maxHours", "maxMinutes", "needTime", "mode", "maxDate", "minDate"], outputs: ["emitDate", "emitPeriod"] }, { kind: "directive", type: NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "directive", type: FixedPositionDirective, selector: "[ddFixedPosition]", inputs: ["childName1", "childName2", "destroyedItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4024
4128
|
}
|
|
4025
4129
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImport: i0, type: LibDateRangeComponent, decorators: [{
|
|
4026
4130
|
type: Component,
|
|
@@ -4038,7 +4142,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.2", ngImpor
|
|
|
4038
4142
|
useExisting: forwardRef(() => LibDateRangeComponent),
|
|
4039
4143
|
multi: true,
|
|
4040
4144
|
},
|
|
4041
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"lib-range\" id=\"lib-range-{{ rangeId }}\" ddFixedPosition>\r\n @if (label) {\r\n <label [for]=\"rangeId\" class=\"lib-range__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n }\r\n <div class=\"pos-relative\" data-child=\"input\">\r\n <input\r\n [attr.id]=\"rangeId\"\r\n [attr.placeholder]=\"placeholder\"\r\n (click)=\"openCalendar()\"\r\n [(ngModel)]=\"selectedPeriodStr\"\r\n [mask]=\"'d0.M0.0000 - d0.M0.0000'\"\r\n (ngModelChange)=\"changeStrDate($event)\"\r\n [leadZeroDateTime]=\"true\"\r\n class=\"text-select\"/>\r\n @if (!selectedPeriodStr) {\r\n <dd-lib-svg-icon [class.gray-svg]=\"!isShownPeriod\"\r\n (click)=\"openCalendar()\"\r\n id=\"calendar-{{ rangeId }}\"\r\n class=\"calendar\" icon=\"calendar\"></dd-lib-svg-icon>\r\n\r\n\r\n } @else {\r\n <dd-lib-svg-icon\r\n (click)=\"setPeriod(undefined)\"\r\n class=\"clear\"\r\n icon=\"clear\"></dd-lib-svg-icon>\r\n\r\n }\r\n </div>\r\n @if (isShownPeriod) {\r\n <div data-child=\"list\"\r\n (ddClickOutside)=\"closeCalendar()\"\r\n [elements]=\"['lib-range-' + rangeId, 'calendar' + rangeId]\"\r\n class=\"calendar-wrapper\">\r\n <dd-lib-calendar [(ngModel)]=\"selectedPeriod\" [rangeMode]=\"true\" (emitPeriod)=\"setPeriod($event)\"></dd-lib-calendar>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".lib-range{min-width:340px;position:relative}.lib-range input{width:100%;height:48px;padding:15px 28px 15px 16px;overflow:hidden;text-overflow:ellipsis;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative}.lib-range input:hover{border-color:var(--input-active-border-colort)}.lib-range input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-range input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-range input:disabled::placeholder{color:var(--input-placeholder)}.lib-range input.invalid,.lib-range input.invalid:hover{border-color:var(--input-error-border-color)}.lib-range input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-range .clear{cursor:pointer;position:absolute;right:8px;top:12px}.lib-range .calendar{cursor:pointer;position:absolute;right:16px;top:10px}.lib-range .calendar.up{transform:rotate(180deg)}.lib-range__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-range__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px;position:absolute}.lib-range .calendar-wrapper{position:absolute;display:block;z-index:100;width:100%;overflow:auto;border-radius:8px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color)}\n"] }]
|
|
4145
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"lib-range\" id=\"lib-range-{{ rangeId }}\" [destroyedItem]=\"isShownPeriod\" ddFixedPosition>\r\n @if (label) {\r\n <label [for]=\"rangeId\" class=\"lib-range__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n }\r\n <div class=\"pos-relative\" data-child=\"input\">\r\n <input\r\n [attr.id]=\"rangeId\"\r\n [attr.placeholder]=\"placeholder\"\r\n (click)=\"openCalendar()\"\r\n [(ngModel)]=\"selectedPeriodStr\"\r\n [mask]=\"'d0.M0.0000 - d0.M0.0000'\"\r\n (ngModelChange)=\"changeStrDate($event)\"\r\n [leadZeroDateTime]=\"true\"\r\n class=\"text-select\"/>\r\n @if (!selectedPeriodStr) {\r\n <dd-lib-svg-icon [class.gray-svg]=\"!isShownPeriod\"\r\n (click)=\"openCalendar()\"\r\n id=\"calendar-{{ rangeId }}\"\r\n class=\"calendar\" icon=\"calendar\"></dd-lib-svg-icon>\r\n\r\n\r\n } @else {\r\n <dd-lib-svg-icon\r\n (click)=\"setPeriod(undefined)\"\r\n class=\"clear\"\r\n icon=\"clear\"></dd-lib-svg-icon>\r\n\r\n }\r\n </div>\r\n @if (isShownPeriod) {\r\n <div data-child=\"list\"\r\n (ddClickOutside)=\"closeCalendar()\"\r\n [elements]=\"['lib-range-' + rangeId, 'calendar' + rangeId]\"\r\n class=\"calendar-wrapper\">\r\n <dd-lib-calendar [(ngModel)]=\"selectedPeriod\" [rangeMode]=\"true\" (emitPeriod)=\"setPeriod($event)\"></dd-lib-calendar>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".lib-range{min-width:340px;position:relative}.lib-range input{width:100%;height:48px;padding:15px 28px 15px 16px;overflow:hidden;text-overflow:ellipsis;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative}.lib-range input:hover{border-color:var(--input-active-border-colort)}.lib-range input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-range input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-range input:disabled::placeholder{color:var(--input-placeholder)}.lib-range input.invalid,.lib-range input.invalid:hover{border-color:var(--input-error-border-color)}.lib-range input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-range .clear{cursor:pointer;position:absolute;right:8px;top:12px}.lib-range .calendar{cursor:pointer;position:absolute;right:16px;top:10px}.lib-range .calendar.up{transform:rotate(180deg)}.lib-range__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-range__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px;position:absolute}.lib-range .calendar-wrapper{position:absolute;display:block;z-index:100;width:100%;overflow:auto;border-radius:8px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color)}\n"] }]
|
|
4042
4146
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { rangeId: [{
|
|
4043
4147
|
type: Input
|
|
4044
4148
|
}], placeholder: [{
|
|
@@ -4912,7 +5016,7 @@ class FooterComponent {
|
|
|
4912
5016
|
{ name: 'Голосования', link: 'https://vmeste.mosreg.ru/votings' },
|
|
4913
5017
|
{ name: 'Народный бюджет', link: 'https://vote.vmeste.mosreg.ru/narodniy_budjet' },
|
|
4914
5018
|
],
|
|
4915
|
-
lastElement: this.socSharing
|
|
5019
|
+
// lastElement: this.socSharing
|
|
4916
5020
|
},
|
|
4917
5021
|
{ title: 'Обратная связь', links: [{ name: 'Обратная связь', action: () => this.linkAction.emit('feedback') }] },
|
|
4918
5022
|
{ title: 'Мобильное приложение', lastElement: this.appLink },
|
|
@@ -5036,5 +5140,5 @@ const t = true;
|
|
|
5036
5140
|
* Generated bundle index. Do not edit.
|
|
5037
5141
|
*/
|
|
5038
5142
|
|
|
5039
|
-
export { AutoHeightDirective, ClickOutsideDirective, CounterDirective, DDDialogRef, DEFAULT_FORMAT, DIALOG_CONFIG, DataEmptyComponent, DateService, Debounce, DeclensionDirective, DestroyService, DialogConfig, DialogService, DisableAfterNCall, Disabled, DropDownPositionDirective, ErrorPageComponent, FetcherService, FilterByKeyPipe, FilterPipe, FilterTabsPipe, FixedPositionDirective, FooterComponent, FooterLinkComponent, FooterLinksBlockComponent, HighlightPipe, ITab, InterceptorsService, LibAccordionComponent, LibBackButtonComponent, LibButtonComponent, LibCalendarComponent, LibCardComponent, LibCheckboxComponent, LibCommentInputComponent, LibCommonButtonComponent, LibCommonInputTextComponent, LibDateInputComponent, LibDateRangeComponent, LibDisclaimerComponent, LibFileLoaderComponent, LibFileUploadComponent, LibFilterButtonComponent, LibFilterComponent, LibImageLoaderComponent, LibInfoCardComponent, LibInputComponent, LibLoaderComponent, LibPeriodComponent, LibRadioComponent, LibSearchInputComponent, LibSelectComponent, LibSkeletonComponent, LibSortComponent, LibStepComponent, LibSvgComponent, LibSvgIconComponent, LibTabsFragmentComponent, LibTextareaComponent, ListKeyboardNavigationDirective, MainSharedComponent, ModalBaseComponent, ModalCommonComponent, NotFoundComponent, PhoneMaskDirective, ResizeTextareaDirective, ReversePipe, SafePipe, SelectableItemDirective, SvgIconsService, TOAST_CONFIG_TOKEN, TOOLTIP_DATA, TechWorksComponent, ThemeConfigurator, ThemeConstructorService, Throttle, ToastComponent, ToastConfig, ToastData, ToastRef, ToastService, ToastTypeData, TooltipComponent, TooltipDirective, TriangleDirective, ValidatorsService, completeIconSet, defaultToastConfig, provideToast, svgIconActogoneAccept, svgIconAll, svgIconAppgalery, svgIconAppstore, svgIconArrowDownRed, svgIconArrowUpGreen, svgIconBackArrow, svgIconBurger, svgIconCalendar, svgIconCheckGreen, svgIconCheckWhite, svgIconCircleNo, svgIconClear, svgIconClose, svgIconDangerT, svgIconDd, svgIconDdM, svgIconDobrodel, svgIconDownChevron, svgIconDownload, svgIconEds, svgIconEds2, svgIconEds2M, svgIconEdsM, svgIconEntry, svgIconErrorHint, svgIconEsia, svgIconEye, svgIconEyeOff, svgIconFile, svgIconFilter, svgIconGoogleapp, svgIconGrid, svgIconHealth, svgIconHealthM, svgIconInfoCircle, svgIconInfoT, svgIconLeftChevron, svgIconListSearch, svgIconLogout, svgIconMailExclamation, svgIconMaxFilter, svgIconMoon, svgIconMy, svgIconMyM, svgIconNews, svgIconNext, svgIconPaperclip, svgIconPenEdit, svgIconPguMo, svgIconPguMoM, svgIconPlug, svgIconPlugD, svgIconPlus, svgIconPreset, svgIconPrev, svgIconPrint, svgIconPrinter, svgIconQuestion, svgIconQuestionWhiteG, svgIconRedClose, svgIconReload, svgIconRightChevron, svgIconRustore, svgIconSearch, svgIconSend, svgIconSetAvatar, svgIconSharedLogo, svgIconSmallRoundLoader, svgIconSort, svgIconStar, svgIconSuccessT, svgIconSun, svgIconTg, svgIconToggleArrowLeft, svgIconToggleArrowRight, svgIconTrash, svgIconTrophy, svgIconUser, svgIconUserEmpty, svgIconUserEmptyD, svgIconVk, svgIconWarningT, t };
|
|
5143
|
+
export { AutoHeightDirective, ClickOutsideDirective, CounterDirective, DDDialogRef, DEFAULT_FORMAT, DIALOG_CONFIG, DataEmptyComponent, DateService, Debounce, DeclensionDirective, DestroyService, DialogConfig, DialogService, DisableAfterNCall, Disabled, DropDownPositionDirective, ErrorPageComponent, FetcherService, FilterByKeyPipe, FilterPipe, FilterTabsPipe, FixedPositionDirective, FooterComponent, FooterLinkComponent, FooterLinksBlockComponent, HighlightPipe, ITab, InterceptorsService, LibAccordionComponent, LibBackButtonComponent, LibButtonComponent, LibCalendarComponent, LibCardComponent, LibCheckboxComponent, LibCommentInputComponent, LibCommonButtonComponent, LibCommonInputTextComponent, LibDateInputComponent, LibDateRangeComponent, LibDisclaimerComponent, LibFileLoaderComponent, LibFileUploadComponent, LibFilterButtonComponent, LibFilterComponent, LibHorizontalScrollComponent, LibImageLoaderComponent, LibInfoCardComponent, LibInputComponent, LibLoaderComponent, LibPeriodComponent, LibRadioComponent, LibSearchInputComponent, LibSelectComponent, LibSkeletonComponent, LibSortComponent, LibStepComponent, LibSvgComponent, LibSvgIconComponent, LibTabsFragmentComponent, LibTextareaComponent, ListKeyboardNavigationDirective, MainSharedComponent, ModalBaseComponent, ModalCommonComponent, NotFoundComponent, PhoneMaskDirective, ResizeTextareaDirective, ReversePipe, SafePipe, SelectableItemDirective, SvgIconsService, TOAST_CONFIG_TOKEN, TOOLTIP_DATA, TechWorksComponent, ThemeConfigurator, ThemeConstructorService, Throttle, ToastComponent, ToastConfig, ToastData, ToastRef, ToastService, ToastTypeData, TooltipComponent, TooltipDirective, TriangleDirective, ValidatorsService, completeIconSet, defaultToastConfig, provideToast, svgIconActogoneAccept, svgIconAll, svgIconAppgalery, svgIconAppstore, svgIconArrowDownRed, svgIconArrowUpGreen, svgIconBackArrow, svgIconBurger, svgIconCalendar, svgIconCheckGreen, svgIconCheckWhite, svgIconCircleNo, svgIconClear, svgIconClose, svgIconDangerT, svgIconDd, svgIconDdM, svgIconDobrodel, svgIconDownChevron, svgIconDownload, svgIconEds, svgIconEds2, svgIconEds2M, svgIconEdsM, svgIconEntry, svgIconErrorHint, svgIconEsia, svgIconEye, svgIconEyeOff, svgIconFile, svgIconFilter, svgIconGoogleapp, svgIconGrid, svgIconHealth, svgIconHealthM, svgIconInfoCircle, svgIconInfoT, svgIconLeftChevron, svgIconListSearch, svgIconLogout, svgIconMailExclamation, svgIconMaxFilter, svgIconMoon, svgIconMy, svgIconMyM, svgIconNews, svgIconNext, svgIconPaperclip, svgIconPenEdit, svgIconPguMo, svgIconPguMoM, svgIconPlug, svgIconPlugD, svgIconPlus, svgIconPreset, svgIconPrev, svgIconPrint, svgIconPrinter, svgIconQuestion, svgIconQuestionWhiteG, svgIconRedClose, svgIconReload, svgIconRightChevron, svgIconRustore, svgIconSearch, svgIconSend, svgIconSetAvatar, svgIconSharedLogo, svgIconSmallRoundLoader, svgIconSort, svgIconStar, svgIconSuccessT, svgIconSun, svgIconTg, svgIconToggleArrowLeft, svgIconToggleArrowRight, svgIconTrash, svgIconTrophy, svgIconUser, svgIconUserEmpty, svgIconUserEmptyD, svgIconVk, svgIconWarningT, t };
|
|
5040
5144
|
//# sourceMappingURL=morozeckiy-dd-lib.mjs.map
|