ngx-register-base 0.0.2 → 0.0.3

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.
Files changed (68) hide show
  1. package/README.md +31 -1
  2. package/esm2022/lib/app.constants.mjs +4 -0
  3. package/esm2022/lib/components/checkbox-selector/checkbox-selector.component.mjs +120 -0
  4. package/esm2022/lib/components/checkbox-selector/checkbox-selector.types.mjs +8 -0
  5. package/esm2022/lib/components/divider/divider.component.mjs +14 -0
  6. package/esm2022/lib/components/index.mjs +2 -1
  7. package/esm2022/lib/components/paginator/paginator.component.mjs +134 -0
  8. package/esm2022/lib/components/paginator/types/paginator.types.mjs +2 -0
  9. package/esm2022/lib/components/register-table/consts/register-table.consts.mjs +4 -0
  10. package/esm2022/lib/components/register-table/directives/cell-template.directive.mjs +21 -0
  11. package/esm2022/lib/components/register-table/model/schema.mjs +10 -0
  12. package/esm2022/lib/components/register-table/pipes/class-by-type.pipe.mjs +25 -0
  13. package/esm2022/lib/components/register-table/pipes/sticky-column.pipe.mjs +17 -0
  14. package/esm2022/lib/components/register-table/register-table.component.mjs +463 -0
  15. package/esm2022/lib/consts/register-base.consts.mjs +15 -0
  16. package/esm2022/lib/directives/date/date-time.types.mjs +30 -0
  17. package/esm2022/lib/directives/date/format-date.pipe.mjs +34 -0
  18. package/esm2022/lib/directives/number/number-only.directive.mjs +24 -0
  19. package/esm2022/lib/services/date-time.service.mjs +318 -0
  20. package/esm2022/lib/services/dom-intersection.service.mjs +22 -0
  21. package/esm2022/lib/services/key-pressed.service.mjs +30 -0
  22. package/esm2022/lib/services/selected-objects-state.service.mjs +123 -0
  23. package/esm2022/lib/types/register-base.types.mjs +6 -0
  24. package/fesm2022/ngx-register-base.mjs +1369 -28
  25. package/fesm2022/ngx-register-base.mjs.map +1 -1
  26. package/icons/chevrons-double-left.svg +3 -0
  27. package/icons/chevrons-double-right.svg +3 -0
  28. package/icons/chevrons-dropdown.svg +3 -0
  29. package/icons/chevrons-left.svg +3 -0
  30. package/icons/chevrons-right.svg +3 -0
  31. package/icons/circle-exclamation-empty.svg +10 -0
  32. package/icons/triangle-down-selected.svg +4 -0
  33. package/icons/triangle-up-down.svg +4 -0
  34. package/icons/triangle-up-selected.svg +4 -0
  35. package/lib/app.constants.d.ts +3 -0
  36. package/lib/components/checkbox-selector/checkbox-selector.component.d.ts +31 -0
  37. package/lib/components/checkbox-selector/checkbox-selector.types.d.ts +7 -0
  38. package/lib/components/divider/divider.component.d.ts +6 -0
  39. package/lib/components/index.d.ts +1 -0
  40. package/lib/components/paginator/paginator.component.d.ts +46 -0
  41. package/lib/components/paginator/types/paginator.types.d.ts +15 -0
  42. package/lib/components/register-table/consts/register-table.consts.d.ts +3 -0
  43. package/lib/components/register-table/directives/cell-template.directive.d.ts +9 -0
  44. package/lib/components/register-table/model/schema.d.ts +33 -0
  45. package/lib/components/register-table/pipes/class-by-type.pipe.d.ts +8 -0
  46. package/lib/components/register-table/pipes/sticky-column.pipe.d.ts +7 -0
  47. package/lib/components/register-table/register-table.component.d.ts +143 -0
  48. package/lib/consts/register-base.consts.d.ts +8 -0
  49. package/lib/directives/date/date-time.types.d.ts +28 -0
  50. package/lib/directives/date/format-date.pipe.d.ts +10 -0
  51. package/lib/directives/number/number-only.directive.d.ts +7 -0
  52. package/lib/services/date-time.service.d.ts +78 -0
  53. package/lib/services/dom-intersection.service.d.ts +8 -0
  54. package/lib/services/key-pressed.service.d.ts +12 -0
  55. package/lib/services/selected-objects-state.service.d.ts +47 -0
  56. package/lib/types/register-base.types.d.ts +13 -0
  57. package/package.json +7 -10
  58. package/styles/fonts.less +28 -0
  59. package/styles/overrides/tui-button.less +9 -0
  60. package/styles/overrides/tui-modal.less +8 -0
  61. package/styles/overrides/tui-pagination.less +34 -0
  62. package/styles/overrides/tui-styles.less +6 -0
  63. package/styles/overrides/tui-t-content-no-default-padding.less +3 -0
  64. package/styles/overrides/tui-tree.less +26 -0
  65. package/styles/overrides/tui-variables.less +32 -0
  66. package/styles/register-table.less +54 -0
  67. package/styles/styles.less +3 -0
  68. package/styles/variables.less +21 -0
package/README.md CHANGED
@@ -1,20 +1,50 @@
1
1
  # NgxRegisterBase
2
+
2
3
  Эта библиотека была создана с помощью [Angular CLI](https://github.com/angular/angular-cli) версия 18.2.0.
3
4
 
5
+ ## Иконки
6
+
7
+ ```json
8
+ {
9
+ "assets": [
10
+ ... ,
11
+ {
12
+ "glob": "**/*",
13
+ "input": "node_modules/ngx-register-base/icons",
14
+ "output": "assets/ngx-register-base/icons"
15
+ }
16
+ ]
17
+ }
18
+ ```
19
+
20
+ ## Стили
21
+
22
+ ```json
23
+ {
24
+ "styles": [ ... , "ngx-register-base/styles/styles.less"]
25
+ }
26
+ ```
27
+
4
28
  ## Формирование кода
29
+
5
30
  Выполните команду `ng generate component component-name --project ngx-register-base`, чтобы сгенерировать новый компонент. Вы также можете использовать `ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-register-base`.
31
+
6
32
  > Примечание: Не забудьте добавить `--project ngx-register-base`, иначе компонент будет добавлен в проект по умолчанию в файле `angular.json`.
7
33
 
8
34
  ## Сборка
35
+
9
36
  Выполните команду `ng build ngx-register-base` для сборки проекта. Артефакты сборки будут сохранены в каталоге `dist/`.
10
37
 
11
38
  ## Публикация
39
+
12
40
  Повышение версии библиотеки при помощи команд `npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git]`.
13
41
 
14
42
  После сборки библиотеки с помощью `ng build ngx-register-base`, перейдите в папку dist `cd dist/ngx-register-base` и запустите `npm publish`.
15
43
 
16
44
  ## Запуск unit-тестов
17
- Run `ng test ngx-register-base` to execute the unit tests via [Karma](https://karma-runner.github.io).
45
+
46
+ Запустите `ng test ngx-register-base`, чтобы выполнить модульные тесты через [Karma](https://karma-runner.github.io).
18
47
 
19
48
  ## Дополнительная помощь
49
+
20
50
  Чтобы получить дополнительную информацию об Angular CLI, используйте `ng help` или посетите страницу [Обзор и справочник команд Angular CLI](https://angular.dev/tools/cli).
@@ -0,0 +1,4 @@
1
+ export const STAND_ALONE = true;
2
+ export const STORED_TIMEZONE = 'storedTimezone';
3
+ export const USER_COORDINATES = 'userCoordinates';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvYXBwLmNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDO0FBQ2hDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBTVEFORF9BTE9ORSA9IHRydWU7XG5leHBvcnQgY29uc3QgU1RPUkVEX1RJTUVaT05FID0gJ3N0b3JlZFRpbWV6b25lJztcbmV4cG9ydCBjb25zdCBVU0VSX0NPT1JESU5BVEVTID0gJ3VzZXJDb29yZGluYXRlcyc7XG4iXX0=
@@ -0,0 +1,120 @@
1
+ import { ChangeDetectionStrategy, Component, effect, inject, input, output, signal, untracked, } from '@angular/core';
2
+ import { TuiButtonLoading, TuiCheckbox } from '@taiga-ui/kit';
3
+ import { TuiButton, TuiDropdown, TuiTextfield } from '@taiga-ui/core';
4
+ import { FormsModule } from '@angular/forms';
5
+ import { TuiTextfieldControllerModule } from '@taiga-ui/legacy';
6
+ import { NumberOnlyDirective } from '../../directives/number/number-only.directive';
7
+ import { SelectionTypes } from './checkbox-selector.types';
8
+ import { ERegisterObjectState } from '../../types/register-base.types';
9
+ import { SelectedObjectsStateService } from '../../services/selected-objects-state.service';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@taiga-ui/core";
12
+ import * as i2 from "@angular/forms";
13
+ import * as i3 from "@taiga-ui/legacy";
14
+ export class CheckboxSelectorComponent {
15
+ totalRecords = input();
16
+ /** @deprecated используйте stateObjects */
17
+ selected = input(new Set());
18
+ disabled = input(false);
19
+ loading = input(false);
20
+ onApply = output();
21
+ _selectedService = inject(SelectedObjectsStateService, { optional: true });
22
+ ESelectionTypes = SelectionTypes;
23
+ isOpen = signal(false);
24
+ selectedElement = signal(null);
25
+ inputValue = signal('');
26
+ stateObjects = this._selectedService?.state;
27
+ stateUnfetchedObjects = this._selectedService?.stateUnfetchedObjects;
28
+ constructor() {
29
+ effect(() => {
30
+ const loading = this.loading();
31
+ const isOpen = this.loading();
32
+ if (loading === false && isOpen) {
33
+ untracked(() => {
34
+ this.close();
35
+ });
36
+ }
37
+ });
38
+ }
39
+ selectElement(newElement) {
40
+ this.selectedElement.update((currentElement) => currentElement === newElement ? null : newElement);
41
+ }
42
+ onInputFocus() {
43
+ this.selectedElement.set(SelectionTypes.COUNT);
44
+ }
45
+ applySelection() {
46
+ let result = this.selectedElement();
47
+ if (!result) {
48
+ return;
49
+ }
50
+ if (result === SelectionTypes.COUNT) {
51
+ result = Number(this.inputValue());
52
+ }
53
+ this.onApply.emit(result);
54
+ this.close();
55
+ }
56
+ toggle() {
57
+ if (!this.disabled()) {
58
+ this.isOpen.update((isOpen) => !isOpen);
59
+ }
60
+ }
61
+ calcIndeterminate() {
62
+ const state = this.stateObjects?.();
63
+ if (state) {
64
+ const fetchedObjects = [...state.values()];
65
+ const selectedObjects = fetchedObjects.filter((obj) => obj.state === ERegisterObjectState.SELECTED);
66
+ const someFetchedIsNotSelected = fetchedObjects.length !== selectedObjects.length;
67
+ const fetchedIsAll = fetchedObjects.length === this.totalRecords();
68
+ const unfetchedAreSelected = this.stateUnfetchedObjects() === ERegisterObjectState.SELECTED;
69
+ if (selectedObjects.length > 0) {
70
+ return someFetchedIsNotSelected || !(fetchedIsAll || unfetchedAreSelected);
71
+ }
72
+ return !fetchedIsAll && unfetchedAreSelected;
73
+ }
74
+ return this.selected().size > 0 && this.selected().size !== this.totalRecords();
75
+ }
76
+ calcChecked() {
77
+ const state = this.stateObjects?.();
78
+ if (state) {
79
+ const fetchedObjects = [...state.values()];
80
+ const selectedObjects = fetchedObjects.filter((obj) => obj.state === ERegisterObjectState.SELECTED);
81
+ const fetchedAreSelected = fetchedObjects.length === selectedObjects.length;
82
+ const selectedIsAll = selectedObjects.length === this.totalRecords();
83
+ const unfetchedAreSelected = this.stateUnfetchedObjects() === ERegisterObjectState.SELECTED;
84
+ return (selectedObjects.length > 0 && fetchedAreSelected && (selectedIsAll || unfetchedAreSelected));
85
+ }
86
+ return this.selected().size > 0 && this.selected().size === this.totalRecords();
87
+ }
88
+ close() {
89
+ if (!this.disabled()) {
90
+ this.isOpen.set(false);
91
+ }
92
+ }
93
+ inputValueChanges(value) {
94
+ this.selectedElement.set(SelectionTypes.COUNT);
95
+ this.inputValue.set(value);
96
+ }
97
+ dropSelection() {
98
+ this.inputValue.set('');
99
+ this.selectedElement.set(null);
100
+ this.onApply.emit(null);
101
+ this.close();
102
+ }
103
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
104
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CheckboxSelectorComponent, isStandalone: true, selector: "sma-checkbox-selector", inputs: { totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onApply: "onApply" }, ngImport: i0, template: "<div class=\"checkbox__container\" (click)=\"toggle(); $event.stopImmediatePropagation()\">\n @let indeterminate = calcIndeterminate();\n @let checked = calcChecked();\n\n <input\n tuiCheckbox\n size=\"s\"\n type=\"checkbox\"\n [indeterminate]=\"indeterminate\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownManual]=\"isOpen()\"\n [checked]=\"checked\"\n />\n</div>\n\n<ng-template #dropdown>\n <section class=\"dropdown__content\" id=\"checkbox__dropdown__content\">\n @let selected = selectedElement();\n\n <span\n class=\"dropdown__element\"\n [class.dropdown__element_selected]=\"selected === ESelectionTypes.ALL\"\n (click)=\"selectElement(ESelectionTypes.ALL)\"\n >\n \u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435\n </span>\n <span\n class=\"dropdown__element\"\n [class.dropdown__element_selected]=\"selected === ESelectionTypes.VISIBLE\"\n (click)=\"selectElement(ESelectionTypes.VISIBLE)\"\n >\n \u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0438\u0434\u0438\u043C\u043E\u0435\n </span>\n <span\n class=\"dropdown__element\"\n [class.dropdown__element_selected]=\"selected === ESelectionTypes.INVERSE\"\n (click)=\"selectElement(ESelectionTypes.INVERSE)\"\n >\n \u041A\u0440\u043E\u043C\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0433\u043E\n </span>\n <div\n class=\"dropdown__select-value\"\n [class.dropdown__element_selected]=\"selected === ESelectionTypes.COUNT\"\n >\n <span>\u0412\u044B\u0431\u0440\u0430\u0442\u044C</span>\n <tui-textfield\n tuiTextfieldSize=\"s\"\n tuiTextfieldAppearance=\"textfield\"\n [tuiTextfieldCleaner]=\"true\"\n class=\"flex-1\"\n >\n <input\n tuiTextfield\n numberOnly\n placeholder=\"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0447\u0438\u0441\u043B\u043E\"\n [ngModel]=\"inputValue()\"\n (ngModelChange)=\"inputValueChanges($event)\"\n (focusin)=\"onInputFocus()\"\n />\n </tui-textfield>\n </div>\n <div class=\"dropdown__footer\">\n <button\n tuiButton\n class=\"dropdown__button dropdown__button__apply\"\n size=\"m\"\n appearance=\"outline\"\n [loading]=\"loading()\"\n (click)=\"applySelection()\"\n >\n \u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C\n </button>\n <button\n tuiButton\n class=\"dropdown__button dropdown__button__cancel\"\n size=\"m\"\n appearance=\"outline-grayscale\"\n (click)=\"dropSelection()\"\n >\n \u041E\u0442\u043C\u0435\u043D\u0430\n </button>\n </div>\n </section>\n</ng-template>\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}.dropdown__content{display:flex;flex-direction:column;padding:8px 0;width:260px}.dropdown__element,.dropdown__select-value,.dropdown__button{padding:8px 16px}.dropdown__button{padding:2px 0;flex:1;width:109px}.dropdown__element{cursor:pointer;overflow:hidden;font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.dropdown__element:hover{background:#f7f9fa;color:var(--text-main)}.dropdown__element_selected{background:#d0edff}.dropdown__select-value{display:flex;align-items:center;padding:4px 16px;gap:8px}.dropdown__select-value span{cursor:default;font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.dropdown__select-value tui-textfield input{font:var(--input-text-14px)!important}.dropdown__footer{padding:0 16px;display:flex;justify-content:center;gap:10px;margin-top:4px}.flex-1{display:flex;flex:1}\n"], dependencies: [{ kind: "component", type: TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: ["size"] }, { kind: "directive", type: i1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1.TuiDropdownManual, selector: "[tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { kind: "component", type: i1.TuiTextfieldComponent, selector: "tui-textfield:not([multi])" }, { kind: "directive", type: i1.TuiTextfieldDirective, selector: "input[tuiTextfield]:not([tuiInputCard]):not([tuiInputExpire]):not([tuiInputCVC])" }, { kind: "directive", type: i1.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TuiTextfieldControllerModule }, { kind: "directive", type: i3.TuiTextfieldAppearanceDirective, selector: "[tuiTextfieldAppearance]", inputs: ["tuiTextfieldAppearance"] }, { kind: "directive", type: i3.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { kind: "directive", type: i3.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiButtonLoading, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: ["size", "loading"] }, { kind: "directive", type: NumberOnlyDirective, selector: "[numberOnly]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
105
+ }
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxSelectorComponent, decorators: [{
107
+ type: Component,
108
+ args: [{ selector: 'sma-checkbox-selector', standalone: true, imports: [
109
+ TuiCheckbox,
110
+ TuiDropdown,
111
+ TuiTextfield,
112
+ FormsModule,
113
+ TuiTextfieldControllerModule,
114
+ TuiButton,
115
+ TuiButtonLoading,
116
+ NumberOnlyDirective,
117
+ NumberOnlyDirective,
118
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"checkbox__container\" (click)=\"toggle(); $event.stopImmediatePropagation()\">\n @let indeterminate = calcIndeterminate();\n @let checked = calcChecked();\n\n <input\n tuiCheckbox\n size=\"s\"\n type=\"checkbox\"\n [indeterminate]=\"indeterminate\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownManual]=\"isOpen()\"\n [checked]=\"checked\"\n />\n</div>\n\n<ng-template #dropdown>\n <section class=\"dropdown__content\" id=\"checkbox__dropdown__content\">\n @let selected = selectedElement();\n\n <span\n class=\"dropdown__element\"\n [class.dropdown__element_selected]=\"selected === ESelectionTypes.ALL\"\n (click)=\"selectElement(ESelectionTypes.ALL)\"\n >\n \u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435\n </span>\n <span\n class=\"dropdown__element\"\n [class.dropdown__element_selected]=\"selected === ESelectionTypes.VISIBLE\"\n (click)=\"selectElement(ESelectionTypes.VISIBLE)\"\n >\n \u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0438\u0434\u0438\u043C\u043E\u0435\n </span>\n <span\n class=\"dropdown__element\"\n [class.dropdown__element_selected]=\"selected === ESelectionTypes.INVERSE\"\n (click)=\"selectElement(ESelectionTypes.INVERSE)\"\n >\n \u041A\u0440\u043E\u043C\u0435 \u0432\u044B\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0433\u043E\n </span>\n <div\n class=\"dropdown__select-value\"\n [class.dropdown__element_selected]=\"selected === ESelectionTypes.COUNT\"\n >\n <span>\u0412\u044B\u0431\u0440\u0430\u0442\u044C</span>\n <tui-textfield\n tuiTextfieldSize=\"s\"\n tuiTextfieldAppearance=\"textfield\"\n [tuiTextfieldCleaner]=\"true\"\n class=\"flex-1\"\n >\n <input\n tuiTextfield\n numberOnly\n placeholder=\"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0447\u0438\u0441\u043B\u043E\"\n [ngModel]=\"inputValue()\"\n (ngModelChange)=\"inputValueChanges($event)\"\n (focusin)=\"onInputFocus()\"\n />\n </tui-textfield>\n </div>\n <div class=\"dropdown__footer\">\n <button\n tuiButton\n class=\"dropdown__button dropdown__button__apply\"\n size=\"m\"\n appearance=\"outline\"\n [loading]=\"loading()\"\n (click)=\"applySelection()\"\n >\n \u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C\n </button>\n <button\n tuiButton\n class=\"dropdown__button dropdown__button__cancel\"\n size=\"m\"\n appearance=\"outline-grayscale\"\n (click)=\"dropSelection()\"\n >\n \u041E\u0442\u043C\u0435\u043D\u0430\n </button>\n </div>\n </section>\n</ng-template>\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}.dropdown__content{display:flex;flex-direction:column;padding:8px 0;width:260px}.dropdown__element,.dropdown__select-value,.dropdown__button{padding:8px 16px}.dropdown__button{padding:2px 0;flex:1;width:109px}.dropdown__element{cursor:pointer;overflow:hidden;font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.dropdown__element:hover{background:#f7f9fa;color:var(--text-main)}.dropdown__element_selected{background:#d0edff}.dropdown__select-value{display:flex;align-items:center;padding:4px 16px;gap:8px}.dropdown__select-value span{cursor:default;font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.dropdown__select-value tui-textfield input{font:var(--input-text-14px)!important}.dropdown__footer{padding:0 16px;display:flex;justify-content:center;gap:10px;margin-top:4px}.flex-1{display:flex;flex:1}\n"] }]
119
+ }], ctorParameters: () => [] });
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9jb21wb25lbnRzL2NoZWNrYm94LXNlbGVjdG9yL2NoZWNrYm94LXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9jaGVja2JveC1zZWxlY3Rvci9jaGVja2JveC1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNwRixPQUFPLEVBQXVCLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7OztBQW9CNUYsTUFBTSxPQUFPLHlCQUF5QjtJQUM3QixZQUFZLEdBQUcsS0FBSyxFQUFVLENBQUM7SUFDdEMsMkNB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UCxXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixXQUFXO3dCQUNYLDRCQUE0Qjt3QkFDNUIsU0FBUzt3QkFDVCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3FCQUNwQixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIHVudHJhY2tlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUdWlCdXR0b25Mb2FkaW5nLCBUdWlDaGVja2JveCB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHsgVHVpQnV0dG9uLCBUdWlEcm9wZG93biwgVHVpVGV4dGZpZWxkIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlIH0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeSc7XG5pbXBvcnQgeyBTY2FsYXJVVUlEIH0gZnJvbSAnaGFzdXJhJztcbmltcG9ydCB7IE51bWJlck9ubHlEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL251bWJlci9udW1iZXItb25seS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQXBwbHlTZWxlY3Rpb25UeXBlcywgU2VsZWN0aW9uVHlwZXMgfSBmcm9tICcuL2NoZWNrYm94LXNlbGVjdG9yLnR5cGVzJztcbmltcG9ydCB7IEVSZWdpc3Rlck9iamVjdFN0YXRlIH0gZnJvbSAnLi4vLi4vdHlwZXMvcmVnaXN0ZXItYmFzZS50eXBlcyc7XG5pbXBvcnQgeyBTZWxlY3RlZE9iamVjdHNTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWxlY3RlZC1vYmplY3RzLXN0YXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzbWEtY2hlY2tib3gtc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC1zZWxlY3Rvci5jb21wb25lbnQubGVzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgVHVpQ2hlY2tib3gsXG4gICAgVHVpRHJvcGRvd24sXG4gICAgVHVpVGV4dGZpZWxkLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgVHVpQnV0dG9uLFxuICAgIFR1aUJ1dHRvbkxvYWRpbmcsXG4gICAgTnVtYmVyT25seURpcmVjdGl2ZSxcbiAgICBOdW1iZXJPbmx5RGlyZWN0aXZlLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hTZWxlY3RvckNvbXBvbmVudCB7XG4gIHB1YmxpYyB0b3RhbFJlY29yZHMgPSBpbnB1dDxudW1iZXI+KCk7XG4gIC8qKiBAZGVwcmVjYXRlZCDQuNGB0L/QvtC70YzQt9GD0LnRgtC1IHN0YXRlT2JqZWN0cyAqL1xuICBwdWJsaWMgc2VsZWN0ZWQgPSBpbnB1dChuZXcgU2V0PFNjYWxhclVVSUQ+KCkpO1xuICBwdWJsaWMgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIHB1YmxpYyBsb2FkaW5nID0gaW5wdXQ8Ym9vbGVhbiB8IG51bGw+KGZhbHNlKTtcblxuICBwdWJsaWMgb25BcHBseSA9IG91dHB1dDxBcHBseVNlbGVjdGlvblR5cGVzPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGVkU2VydmljZSA9IGluamVjdChTZWxlY3RlZE9iamVjdHNTdGF0ZVNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEVTZWxlY3Rpb25UeXBlcyA9IFNlbGVjdGlvblR5cGVzO1xuXG4gIHByb3RlY3RlZCBpc09wZW4gPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgc2VsZWN0ZWRFbGVtZW50ID0gc2lnbmFsPFNlbGVjdGlvblR5cGVzIHwgbnVsbD4obnVsbCk7XG4gIHByb3RlY3RlZCBpbnB1dFZhbHVlID0gc2lnbmFsKCcnKTtcblxuICBwcm90ZWN0ZWQgc3RhdGVPYmplY3RzID0gdGhpcy5fc2VsZWN0ZWRTZXJ2aWNlPy5zdGF0ZTtcbiAgcHJvdGVjdGVkIHN0YXRlVW5mZXRjaGVkT2JqZWN0cyA9IHRoaXMuX3NlbGVjdGVkU2VydmljZT8uc3RhdGVVbmZldGNoZWRPYmplY3RzO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBsb2FkaW5nID0gdGhpcy5sb2FkaW5nKCk7XG4gICAgICBjb25zdCBpc09wZW4gPSB0aGlzLmxvYWRpbmcoKTtcblxuICAgICAgaWYgKGxvYWRpbmcgPT09IGZhbHNlICYmIGlzT3Blbikge1xuICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0RWxlbWVudChuZXdFbGVtZW50OiBTZWxlY3Rpb25UeXBlcyk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50LnVwZGF0ZSgoY3VycmVudEVsZW1lbnQpID0+XG4gICAgICBjdXJyZW50RWxlbWVudCA9PT0gbmV3RWxlbWVudCA/IG51bGwgOiBuZXdFbGVtZW50XG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbklucHV0Rm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQuc2V0KFNlbGVjdGlvblR5cGVzLkNPVU5UKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhcHBseVNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICBsZXQgcmVzdWx0OiBTZWxlY3Rpb25UeXBlcyB8IG51bWJlciB8IG51bGwgPSB0aGlzLnNlbGVjdGVkRWxlbWVudCgpO1xuXG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocmVzdWx0ID09PSBTZWxlY3Rpb25UeXBlcy5DT1VOVCkge1xuICAgICAgcmVzdWx0ID0gTnVtYmVyKHRoaXMuaW5wdXRWYWx1ZSgpKTtcbiAgICB9XG5cbiAgICB0aGlzLm9uQXBwbHkuZW1pdChyZXN1bHQpO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0b2dnbGUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgIHRoaXMuaXNPcGVuLnVwZGF0ZSgoaXNPcGVuKSA9PiAhaXNPcGVuKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY2FsY0luZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlT2JqZWN0cz8uKCk7XG5cbiAgICBpZiAoc3RhdGUpIHtcbiAgICAgIGNvbnN0IGZldGNoZWRPYmplY3RzID0gWy4uLnN0YXRlLnZhbHVlcygpXTtcbiAgICAgIGNvbnN0IHNlbGVjdGVkT2JqZWN0cyA9IGZldGNoZWRPYmplY3RzLmZpbHRlcihcbiAgICAgICAgKG9iaikgPT4gb2JqLnN0YXRlID09PSBFUmVnaXN0ZXJPYmplY3RTdGF0ZS5TRUxFQ1RFRFxuICAgICAgKTtcblxuICAgICAgY29uc3Qgc29tZUZldGNoZWRJc05vdFNlbGVjdGVkID0gZmV0Y2hlZE9iamVjdHMubGVuZ3RoICE9PSBzZWxlY3RlZE9iamVjdHMubGVuZ3RoO1xuICAgICAgY29uc3QgZmV0Y2hlZElzQWxsID0gZmV0Y2hlZE9iamVjdHMubGVuZ3RoID09PSB0aGlzLnRvdGFsUmVjb3JkcygpO1xuICAgICAgY29uc3QgdW5mZXRjaGVkQXJlU2VsZWN0ZWQgPSB0aGlzLnN0YXRlVW5mZXRjaGVkT2JqZWN0cyEoKSA9PT0gRVJlZ2lzdGVyT2JqZWN0U3RhdGUuU0VMRUNURUQ7XG5cbiAgICAgIGlmIChzZWxlY3RlZE9iamVjdHMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gc29tZUZldGNoZWRJc05vdFNlbGVjdGVkIHx8ICEoZmV0Y2hlZElzQWxsIHx8IHVuZmV0Y2hlZEFyZVNlbGVjdGVkKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICFmZXRjaGVkSXNBbGwgJiYgdW5mZXRjaGVkQXJlU2VsZWN0ZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQoKS5zaXplID4gMCAmJiB0aGlzLnNlbGVjdGVkKCkuc2l6ZSAhPT0gdGhpcy50b3RhbFJlY29yZHMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjYWxjQ2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGVPYmplY3RzPy4oKTtcblxuICAgIGlmIChzdGF0ZSkge1xuICAgICAgY29uc3QgZmV0Y2hlZE9iamVjdHMgPSBbLi4uc3RhdGUudmFsdWVzKCldO1xuICAgICAgY29uc3Qgc2VsZWN0ZWRPYmplY3RzID0gZmV0Y2hlZE9iamVjdHMuZmlsdGVyKFxuICAgICAgICAob2JqKSA9PiBvYmouc3RhdGUgPT09IEVSZWdpc3Rlck9iamVjdFN0YXRlLlNFTEVDVEVEXG4gICAgICApO1xuXG4gICAgICBjb25zdCBmZXRjaGVkQXJlU2VsZWN0ZWQgPSBmZXRjaGVkT2JqZWN0cy5sZW5ndGggPT09IHNlbGVjdGVkT2JqZWN0cy5sZW5ndGg7XG4gICAgICBjb25zdCBzZWxlY3RlZElzQWxsID0gc2VsZWN0ZWRPYmplY3RzLmxlbmd0aCA9PT0gdGhpcy50b3RhbFJlY29yZHMoKTtcbiAgICAgIGNvbnN0IHVuZmV0Y2hlZEFyZVNlbGVjdGVkID0gdGhpcy5zdGF0ZVVuZmV0Y2hlZE9iamVjdHMhKCkgPT09IEVSZWdpc3Rlck9iamVjdFN0YXRlLlNFTEVDVEVEO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICBzZWxlY3RlZE9iamVjdHMubGVuZ3RoID4gMCAmJiBmZXRjaGVkQXJlU2VsZWN0ZWQgJiYgKHNlbGVjdGVkSXNBbGwgfHwgdW5mZXRjaGVkQXJlU2VsZWN0ZWQpXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkKCkuc2l6ZSA+IDAgJiYgdGhpcy5zZWxlY3RlZCgpLnNpemUgPT09IHRoaXMudG90YWxSZWNvcmRzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGlucHV0VmFsdWVDaGFuZ2VzKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkRWxlbWVudC5zZXQoU2VsZWN0aW9uVHlwZXMuQ09VTlQpO1xuICAgIHRoaXMuaW5wdXRWYWx1ZS5zZXQodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRyb3BTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dFZhbHVlLnNldCgnJyk7XG4gICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQuc2V0KG51bGwpO1xuICAgIHRoaXMub25BcHBseS5lbWl0KG51bGwpO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNoZWNrYm94X19jb250YWluZXJcIiAoY2xpY2spPVwidG9nZ2xlKCk7ICRldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVwiPlxuICBAbGV0IGluZGV0ZXJtaW5hdGUgPSBjYWxjSW5kZXRlcm1pbmF0ZSgpO1xuICBAbGV0IGNoZWNrZWQgPSBjYWxjQ2hlY2tlZCgpO1xuXG4gIDxpbnB1dFxuICAgIHR1aUNoZWNrYm94XG4gICAgc2l6ZT1cInNcIlxuICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgW2luZGV0ZXJtaW5hdGVdPVwiaW5kZXRlcm1pbmF0ZVwiXG4gICAgW3R1aURyb3Bkb3duXT1cImRyb3Bkb3duXCJcbiAgICBbdHVpRHJvcGRvd25NYW51YWxdPVwiaXNPcGVuKClcIlxuICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAvPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZHJvcGRvd24+XG4gIDxzZWN0aW9uIGNsYXNzPVwiZHJvcGRvd25fX2NvbnRlbnRcIiBpZD1cImNoZWNrYm94X19kcm9wZG93bl9fY29udGVudFwiPlxuICAgIEBsZXQgc2VsZWN0ZWQgPSBzZWxlY3RlZEVsZW1lbnQoKTtcblxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cImRyb3Bkb3duX19lbGVtZW50XCJcbiAgICAgIFtjbGFzcy5kcm9wZG93bl9fZWxlbWVudF9zZWxlY3RlZF09XCJzZWxlY3RlZCA9PT0gRVNlbGVjdGlvblR5cGVzLkFMTFwiXG4gICAgICAoY2xpY2spPVwic2VsZWN0RWxlbWVudChFU2VsZWN0aW9uVHlwZXMuQUxMKVwiXG4gICAgPlxuICAgICAg0JLRi9Cx0YDQsNGC0Ywg0LLRgdC1XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cImRyb3Bkb3duX19lbGVtZW50XCJcbiAgICAgIFtjbGFzcy5kcm9wZG93bl9fZWxlbWVudF9zZWxlY3RlZF09XCJzZWxlY3RlZCA9PT0gRVNlbGVjdGlvblR5cGVzLlZJU0lCTEVcIlxuICAgICAgKGNsaWNrKT1cInNlbGVjdEVsZW1lbnQoRVNlbGVjdGlvblR5cGVzLlZJU0lCTEUpXCJcbiAgICA+XG4gICAgICDQktGL0LHRgNCw0YLRjCDQstC40LTQuNC80L7QtVxuICAgIDwvc3Bhbj5cbiAgICA8c3BhblxuICAgICAgY2xhc3M9XCJkcm9wZG93bl9fZWxlbWVudFwiXG4gICAgICBbY2xhc3MuZHJvcGRvd25fX2VsZW1lbnRfc2VsZWN0ZWRdPVwic2VsZWN0ZWQgPT09IEVTZWxlY3Rpb25UeXBlcy5JTlZFUlNFXCJcbiAgICAgIChjbGljayk9XCJzZWxlY3RFbGVtZW50KEVTZWxlY3Rpb25UeXBlcy5JTlZFUlNFKVwiXG4gICAgPlxuICAgICAg0JrRgNC+0LzQtSDQstGL0LTQtdC70LXQvdC90L7Qs9C+XG4gICAgPC9zcGFuPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZHJvcGRvd25fX3NlbGVjdC12YWx1ZVwiXG4gICAgICBbY2xhc3MuZHJvcGRvd25fX2VsZW1lbnRfc2VsZWN0ZWRdPVwic2VsZWN0ZWQgPT09IEVTZWxlY3Rpb25UeXBlcy5DT1VOVFwiXG4gICAgPlxuICAgICAgPHNwYW4+0JLRi9Cx0YDQsNGC0Yw8L3NwYW4+XG4gICAgICA8dHVpLXRleHRmaWVsZFxuICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwic1wiXG4gICAgICAgIHR1aVRleHRmaWVsZEFwcGVhcmFuY2U9XCJ0ZXh0ZmllbGRcIlxuICAgICAgICBbdHVpVGV4dGZpZWxkQ2xlYW5lcl09XCJ0cnVlXCJcbiAgICAgICAgY2xhc3M9XCJmbGV4LTFcIlxuICAgICAgPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0dWlUZXh0ZmllbGRcbiAgICAgICAgICBudW1iZXJPbmx5XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCLQktCy0LXQtNC40YLQtSDRh9C40YHQu9C+XCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJpbnB1dFZhbHVlKClcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImlucHV0VmFsdWVDaGFuZ2VzKCRldmVudClcIlxuICAgICAgICAgIChmb2N1c2luKT1cIm9uSW5wdXRGb2N1cygpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvdHVpLXRleHRmaWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25fX2Zvb3RlclwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgY2xhc3M9XCJkcm9wZG93bl9fYnV0dG9uIGRyb3Bkb3duX19idXR0b25fX2FwcGx5XCJcbiAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmcoKVwiXG4gICAgICAgIChjbGljayk9XCJhcHBseVNlbGVjdGlvbigpXCJcbiAgICAgID5cbiAgICAgICAg0J/RgNC40LzQtdC90LjRgtGMXG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgIGNsYXNzPVwiZHJvcGRvd25fX2J1dHRvbiBkcm9wZG93bl9fYnV0dG9uX19jYW5jZWxcIlxuICAgICAgICBzaXplPVwibVwiXG4gICAgICAgIGFwcGVhcmFuY2U9XCJvdXRsaW5lLWdyYXlzY2FsZVwiXG4gICAgICAgIChjbGljayk9XCJkcm9wU2VsZWN0aW9uKClcIlxuICAgICAgPlxuICAgICAgICDQntGC0LzQtdC90LBcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L3NlY3Rpb24+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,8 @@
1
+ export var SelectionTypes;
2
+ (function (SelectionTypes) {
3
+ SelectionTypes["ALL"] = "ALL";
4
+ SelectionTypes["VISIBLE"] = "VISIBLE";
5
+ SelectionTypes["INVERSE"] = "INVERSE";
6
+ SelectionTypes["COUNT"] = "COUNT";
7
+ })(SelectionTypes || (SelectionTypes = {}));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtc2VsZWN0b3IudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvY2hlY2tib3gtc2VsZWN0b3IvY2hlY2tib3gtc2VsZWN0b3IudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4Qiw2QkFBVyxDQUFBO0lBQ1gscUNBQW1CLENBQUE7SUFDbkIscUNBQW1CLENBQUE7SUFDbkIsaUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBTFcsY0FBYyxLQUFkLGNBQWMsUUFLekIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBBcHBseVNlbGVjdGlvblR5cGVzID0gT21pdDxTZWxlY3Rpb25UeXBlcywgU2VsZWN0aW9uVHlwZXMuQ09VTlQ+IHwgbnVtYmVyIHwgbnVsbDtcblxuZXhwb3J0IGVudW0gU2VsZWN0aW9uVHlwZXMge1xuICBBTEwgPSAnQUxMJyxcbiAgVklTSUJMRSA9ICdWSVNJQkxFJyxcbiAgSU5WRVJTRSA9ICdJTlZFUlNFJyxcbiAgQ09VTlQgPSAnQ09VTlQnLFxufVxuIl19
@@ -0,0 +1,14 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DividerComponent {
4
+ layout = 'horizontal';
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DividerComponent, isStandalone: true, selector: "sma-divider", inputs: { layout: "layout" }, ngImport: i0, template: "<div\n [class.horizontal-solid]=\"layout === 'horizontal'\"\n [class.vertical-solid]=\"layout === 'vertical'\"\n></div>\n", styles: [":host .horizontal-solid{border-top:1px solid #d5d7dd}:host .vertical-solid{border-left:1px solid #d5d7dd;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DividerComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ selector: 'sma-divider', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class.horizontal-solid]=\"layout === 'horizontal'\"\n [class.vertical-solid]=\"layout === 'vertical'\"\n></div>\n", styles: [":host .horizontal-solid{border-top:1px solid #d5d7dd}:host .vertical-solid{border-left:1px solid #d5d7dd;height:100%}\n"] }]
11
+ }], propDecorators: { layout: [{
12
+ type: Input
13
+ }] } });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzFFLE1BQU0sT0FBTyxnQkFBZ0I7SUFDbEIsTUFBTSxHQUE4QixZQUFZLENBQUM7d0dBRC9DLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLHFHQ1Q3Qiw2SEFJQTs7NEZES2EsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLGFBQWEsY0FHWCxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYS1kaXZpZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RpdmlkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kaXZpZGVyLmNvbXBvbmVudC5sZXNzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEaXZpZGVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbGF5b3V0OiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xufVxuIiwiPGRpdlxuICBbY2xhc3MuaG9yaXpvbnRhbC1zb2xpZF09XCJsYXlvdXQgPT09ICdob3Jpem9udGFsJ1wiXG4gIFtjbGFzcy52ZXJ0aWNhbC1zb2xpZF09XCJsYXlvdXQgPT09ICd2ZXJ0aWNhbCdcIlxuPjwvZGl2PlxuIl19
@@ -1,2 +1,3 @@
1
1
  export { FilterButtonComponent } from './filter-button/filter-button.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGaWx0ZXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2ZpbHRlci1idXR0b24vZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQnO1xuIl19
2
+ export { RegisterTableComponent } from './register-table/register-table.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGaWx0ZXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2ZpbHRlci1idXR0b24vZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHsgUmVnaXN0ZXJUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vcmVnaXN0ZXItdGFibGUvcmVnaXN0ZXItdGFibGUuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,134 @@
1
+ import { coerceNumberProperty } from '@angular/cdk/coercion';
2
+ import { ChangeDetectionStrategy, Component, computed, DestroyRef, inject, input, model, output, } from '@angular/core';
3
+ import { PolymorphModule } from '@prizm-ui/components';
4
+ import { debounceTime, Subject } from 'rxjs';
5
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
+ import { CommonModule } from '@angular/common';
7
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
8
+ import { TuiButton, TuiDataListDirective } from '@taiga-ui/core';
9
+ import { TuiDataListWrapperComponent, TuiPagination } from '@taiga-ui/kit';
10
+ import { TuiComboBoxModule, TuiTextfieldControllerModule } from '@taiga-ui/legacy';
11
+ import { DividerComponent } from '../divider/divider.component';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@angular/common";
14
+ import * as i2 from "@prizm-ui/components";
15
+ import * as i3 from "@angular/forms";
16
+ import * as i4 from "@taiga-ui/legacy";
17
+ export var SvgSrc;
18
+ (function (SvgSrc) {
19
+ SvgSrc["CHEVRONS_DOUBLE_LEFT"] = "assets/ngx-register-base/icons/chevrons-double-left.svg";
20
+ SvgSrc["CHEVRONS_DOUBLE_RIGHT"] = "assets/ngx-register-base/icons/chevrons-double-right.svg";
21
+ })(SvgSrc || (SvgSrc = {}));
22
+ export class PaginatorComponent {
23
+ textOnPage = input('Строк на странице');
24
+ totalRecords = input(0, {
25
+ transform: (value) => Math.max(coerceNumberProperty(value), 0),
26
+ });
27
+ /** Количество видимых страниц вокруг активной страницы */
28
+ pageLinkSize = input(3);
29
+ showMoreDisabled = input(false);
30
+ disabled = input(false);
31
+ /** Количество отображаемых строк на странице */
32
+ rows = model(0);
33
+ /** Текущая страница */
34
+ page = model(1);
35
+ paginatorOptions = input({
36
+ noRowsSelector: false,
37
+ noRowsSelectorLabel: false,
38
+ noFilterInfo: false,
39
+ noInfo: false,
40
+ noPages: false,
41
+ });
42
+ rowsCountOptions = input(new Array());
43
+ selectedCounter = input(0);
44
+ totalNotFiltered = input(0);
45
+ paginatorChange = output();
46
+ pageChange = output();
47
+ rowsChange = output();
48
+ SvgSrc = SvgSrc;
49
+ pagesCount = computed(() => {
50
+ const total = this.totalRecords();
51
+ this.rows();
52
+ return Math.ceil(total / this.currentRows);
53
+ });
54
+ _dr = inject(DestroyRef);
55
+ currentRowsInputChange = new Subject();
56
+ constructor() {
57
+ this.currentRowsInputChange
58
+ .pipe(debounceTime(500), takeUntilDestroyed(this._dr))
59
+ .subscribe((value) => {
60
+ this.changeRows(value);
61
+ });
62
+ }
63
+ ngOnDestroy() {
64
+ this.currentRowsInputChange.complete();
65
+ }
66
+ changePage(page) {
67
+ const prev = this.currentPage;
68
+ this.page.set(page);
69
+ if (this.currentPage !== prev) {
70
+ this.emitPageChange();
71
+ }
72
+ }
73
+ toFirstPage() {
74
+ this.changePage(0);
75
+ }
76
+ toLastPage() {
77
+ this.changePage(this.pagesCount());
78
+ }
79
+ emitPageChange() {
80
+ this.pageChange.emit(this.currentPage);
81
+ this._emitPaginatorChanges();
82
+ }
83
+ changeRows(rows) {
84
+ if (this.currentRows === rows) {
85
+ return;
86
+ }
87
+ this.rows.set(rows);
88
+ this.rowsChange.emit(this.currentRows);
89
+ if (this.currentPage > this.pagesCount()) {
90
+ this.changePage(0);
91
+ }
92
+ else {
93
+ this._emitPaginatorChanges();
94
+ }
95
+ }
96
+ _emitPaginatorChanges() {
97
+ this.paginatorChange.emit({
98
+ page: this.currentPage,
99
+ first: (this.currentPage - 1) * this.currentRows + 1,
100
+ rows: this.currentRows,
101
+ pagesCount: this.pagesCount(),
102
+ });
103
+ }
104
+ /** get-методы */
105
+ get currentPage() {
106
+ return Math.max(coerceNumberProperty(this.page()), 1);
107
+ }
108
+ get currentRows() {
109
+ let inputRows = Math.max(coerceNumberProperty(this.rows()), 0);
110
+ if (!inputRows) {
111
+ [inputRows] = this.rowsCountOptions();
112
+ }
113
+ return inputRows;
114
+ }
115
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
116
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PaginatorComponent, isStandalone: true, selector: "sma-paginator", inputs: { textOnPage: { classPropertyName: "textOnPage", publicName: "textOnPage", isSignal: true, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: false, transformFunction: null }, pageLinkSize: { classPropertyName: "pageLinkSize", publicName: "pageLinkSize", isSignal: true, isRequired: false, transformFunction: null }, showMoreDisabled: { classPropertyName: "showMoreDisabled", publicName: "showMoreDisabled", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, paginatorOptions: { classPropertyName: "paginatorOptions", publicName: "paginatorOptions", isSignal: true, isRequired: false, transformFunction: null }, rowsCountOptions: { classPropertyName: "rowsCountOptions", publicName: "rowsCountOptions", isSignal: true, isRequired: false, transformFunction: null }, selectedCounter: { classPropertyName: "selectedCounter", publicName: "selectedCounter", isSignal: true, isRequired: false, transformFunction: null }, totalNotFiltered: { classPropertyName: "totalNotFiltered", publicName: "totalNotFiltered", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rows: "rowsChange", page: "pageChange", paginatorChange: "paginatorChange", pageChange: "pageChange", rowsChange: "rowsChange" }, ngImport: i0, template: "<div class=\"container\">\n <div class=\"content\">\n <span\n class=\"rows rows__count\"\n *ngIf=\"!paginatorOptions()?.noRowsSelector && !paginatorOptions()?.noRowsSelectorLabel\"\n >\n <ng-container *polymorphOutlet=\"textOnPage() as title\">\n {{ title }}\n </ng-container>\n </span>\n <div class=\"rows-selector\" *ngIf=\"!paginatorOptions()?.noRowsSelector\">\n <tui-combo-box\n [ngModel]=\"currentRows\"\n [ngModelOptions]=\"{ standalone: true }\"\n [strict]=\"false\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"false\"\n tuiTextfieldSize=\"s\"\n [disabled]=\"disabled()\"\n (ngModelChange)=\"currentRowsInputChange.next($event)\"\n >\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"rowsCountOptions().length ? rowsCountOptions() : [currentRows]\"\n />\n </tui-combo-box>\n </div>\n <div class=\"selected-panel\">\n <div class=\"selected-container\">\n <span>\u0412\u044B\u0431\u0440\u0430\u043D\u043E</span>\n <span class=\"selected-counter\">{{ selectedCounter() }}</span>\n </div>\n <sma-divider layout=\"vertical\"></sma-divider>\n <div class=\"selected-container\" *ngIf=\"!paginatorOptions()?.noFilterInfo\">\n <span>\u041E\u0442\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u043D\u043E</span>\n <span class=\"selected-counter\">{{ totalRecords() }}</span>\n <span>\u0438\u0437</span>\n <span class=\"selected-counter\">{{ totalNotFiltered() }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"content\">\n <span class=\"rows rows__show\" *ngIf=\"!paginatorOptions()?.noInfo\" [hidden]=\"disabled()\">\n \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u0441\u0442\u0440\u043E\u043A: {{ (currentPage - 1) * currentRows + 1 }}-{{\n currentPage * currentRows > totalRecords() ? totalRecords() : currentPage * currentRows\n }}\n <ng-container> \u0438\u0437 {{ totalRecords() }} </ng-container>\n </span>\n <div class=\"paginator\">\n <button\n tuiIconButton\n class=\"paginator__control\"\n appearance=\"flat\"\n type=\"button\"\n size=\"xs\"\n tabIndex=\"-1\"\n [disabled]=\"disabled() || currentPage === 1\"\n (click)=\"toFirstPage()\"\n >\n <img [src]=\"SvgSrc.CHEVRONS_DOUBLE_LEFT\" />\n </button>\n <tui-pagination\n [index]=\"currentPage - 1\"\n [length]=\"pagesCount()\"\n [activePadding]=\"pageLinkSize()\"\n (indexChange)=\"changePage($event + 1)\"\n />\n @if (paginatorOptions().noToLastPageBtn ?? true) {\n <button\n tuiIconButton\n class=\"paginator__control\"\n appearance=\"flat\"\n type=\"button\"\n size=\"xs\"\n tabIndex=\"-1\"\n [disabled]=\"disabled() || currentPage === pagesCount() || currentPage === 0\"\n (click)=\"toLastPage()\"\n >\n <img [src]=\"SvgSrc.CHEVRONS_DOUBLE_RIGHT\" />\n </button>\n }\n </div>\n </div>\n</div>\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}:host{height:40px;display:flex}:host .container{width:100%;padding:8px 16px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;background:var(--main-white);box-shadow:0 -2px 4px #bfc6d780;z-index:1}:host .container .content{display:flex;align-items:center}:host .container span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .container .rows{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--text-main)}:host .container .rows__count{margin-right:12px}:host .container .rows__show{margin-right:32px}:host .container .selected-panel{display:flex;gap:12px;align-items:center}:host .container .selected-panel sma-divider{height:24px}:host .container .selected-panel .selected-container{width:100%;display:flex;gap:12px;font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--text-main)}:host .container .selected-panel .selected-container .selected-counter{padding:0 8px;border-bottom:1px solid var(--table-stroke)}:host .container .rows-selector{margin-right:20px;width:80px;min-width:80px}:host .container .paginator{display:flex;gap:8px}:host .container .paginator__control{--tui-text-action: var(--gray-icon)}:host .container .paginator__control tui-icon{font-size:16px}:host .container ::ng-deep [tuiAppearance][data-appearance=textfield]{box-shadow:none;padding-right:10px!important}:host .container ::ng-deep [tuiAppearance][data-appearance=textfield] ::ng-deep tui-icon{--t-icon: url('data:image/svg+xml,<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M12 6H4L8 10L12 6Z\" fill=\"%23777B92\"/>%0A</svg>%0A') !important}\n"], dependencies: [{ kind: "component", type: DividerComponent, selector: "sma-divider", inputs: ["layout"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PolymorphModule }, { kind: "directive", type: i2.PolymorphOutletDirective, selector: "ng-template[polymorphOutlet]", inputs: ["polymorphOutlet", "polymorphOutletInjector", "polymorphOutletContext"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TuiPagination, selector: "tui-pagination", inputs: ["length", "focusable", "size", "disabled", "activePadding", "sidePadding", "content", "index"], outputs: ["indexChange"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "ngmodule", type: TuiComboBoxModule }, { kind: "component", type: i4.TuiComboBoxComponent, selector: "tui-combo-box", inputs: ["stringify", "strictMatcher", "identityMatcher", "valueContent", "strict", "search"], outputs: ["searchChange"] }, { kind: "directive", type: i4.TuiComboBoxStrictDirective, selector: "tui-combo-box[strict]", inputs: ["strict"] }, { kind: "directive", type: i4.TuiComboBoxDirective, selector: "tui-combo-box" }, { kind: "component", type: TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels]), tui-data-list-wrapper:not([labels])[new]", inputs: ["items", "disabledItemHandler", "emptyContent", "size", "itemContent"], outputs: ["itemClick"] }, { kind: "ngmodule", type: TuiTextfieldControllerModule }, { kind: "directive", type: i4.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { kind: "directive", type: i4.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { kind: "directive", type: i4.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { kind: "directive", type: TuiDataListDirective, selector: "ng-template[tuiDataList]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
117
+ }
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PaginatorComponent, decorators: [{
119
+ type: Component,
120
+ args: [{ selector: 'sma-paginator', imports: [
121
+ DividerComponent,
122
+ CommonModule,
123
+ PolymorphModule,
124
+ ReactiveFormsModule,
125
+ FormsModule,
126
+ TuiPagination,
127
+ TuiButton,
128
+ TuiComboBoxModule,
129
+ TuiDataListWrapperComponent,
130
+ TuiTextfieldControllerModule,
131
+ TuiDataListDirective,
132
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"container\">\n <div class=\"content\">\n <span\n class=\"rows rows__count\"\n *ngIf=\"!paginatorOptions()?.noRowsSelector && !paginatorOptions()?.noRowsSelectorLabel\"\n >\n <ng-container *polymorphOutlet=\"textOnPage() as title\">\n {{ title }}\n </ng-container>\n </span>\n <div class=\"rows-selector\" *ngIf=\"!paginatorOptions()?.noRowsSelector\">\n <tui-combo-box\n [ngModel]=\"currentRows\"\n [ngModelOptions]=\"{ standalone: true }\"\n [strict]=\"false\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"false\"\n tuiTextfieldSize=\"s\"\n [disabled]=\"disabled()\"\n (ngModelChange)=\"currentRowsInputChange.next($event)\"\n >\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"rowsCountOptions().length ? rowsCountOptions() : [currentRows]\"\n />\n </tui-combo-box>\n </div>\n <div class=\"selected-panel\">\n <div class=\"selected-container\">\n <span>\u0412\u044B\u0431\u0440\u0430\u043D\u043E</span>\n <span class=\"selected-counter\">{{ selectedCounter() }}</span>\n </div>\n <sma-divider layout=\"vertical\"></sma-divider>\n <div class=\"selected-container\" *ngIf=\"!paginatorOptions()?.noFilterInfo\">\n <span>\u041E\u0442\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u043D\u043E</span>\n <span class=\"selected-counter\">{{ totalRecords() }}</span>\n <span>\u0438\u0437</span>\n <span class=\"selected-counter\">{{ totalNotFiltered() }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"content\">\n <span class=\"rows rows__show\" *ngIf=\"!paginatorOptions()?.noInfo\" [hidden]=\"disabled()\">\n \u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E \u0441\u0442\u0440\u043E\u043A: {{ (currentPage - 1) * currentRows + 1 }}-{{\n currentPage * currentRows > totalRecords() ? totalRecords() : currentPage * currentRows\n }}\n <ng-container> \u0438\u0437 {{ totalRecords() }} </ng-container>\n </span>\n <div class=\"paginator\">\n <button\n tuiIconButton\n class=\"paginator__control\"\n appearance=\"flat\"\n type=\"button\"\n size=\"xs\"\n tabIndex=\"-1\"\n [disabled]=\"disabled() || currentPage === 1\"\n (click)=\"toFirstPage()\"\n >\n <img [src]=\"SvgSrc.CHEVRONS_DOUBLE_LEFT\" />\n </button>\n <tui-pagination\n [index]=\"currentPage - 1\"\n [length]=\"pagesCount()\"\n [activePadding]=\"pageLinkSize()\"\n (indexChange)=\"changePage($event + 1)\"\n />\n @if (paginatorOptions().noToLastPageBtn ?? true) {\n <button\n tuiIconButton\n class=\"paginator__control\"\n appearance=\"flat\"\n type=\"button\"\n size=\"xs\"\n tabIndex=\"-1\"\n [disabled]=\"disabled() || currentPage === pagesCount() || currentPage === 0\"\n (click)=\"toLastPage()\"\n >\n <img [src]=\"SvgSrc.CHEVRONS_DOUBLE_RIGHT\" />\n </button>\n }\n </div>\n </div>\n</div>\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}:host{height:40px;display:flex}:host .container{width:100%;padding:8px 16px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;background:var(--main-white);box-shadow:0 -2px 4px #bfc6d780;z-index:1}:host .container .content{display:flex;align-items:center}:host .container span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .container .rows{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--text-main)}:host .container .rows__count{margin-right:12px}:host .container .rows__show{margin-right:32px}:host .container .selected-panel{display:flex;gap:12px;align-items:center}:host .container .selected-panel sma-divider{height:24px}:host .container .selected-panel .selected-container{width:100%;display:flex;gap:12px;font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px;color:var(--text-main)}:host .container .selected-panel .selected-container .selected-counter{padding:0 8px;border-bottom:1px solid var(--table-stroke)}:host .container .rows-selector{margin-right:20px;width:80px;min-width:80px}:host .container .paginator{display:flex;gap:8px}:host .container .paginator__control{--tui-text-action: var(--gray-icon)}:host .container .paginator__control tui-icon{font-size:16px}:host .container ::ng-deep [tuiAppearance][data-appearance=textfield]{box-shadow:none;padding-right:10px!important}:host .container ::ng-deep [tuiAppearance][data-appearance=textfield] ::ng-deep tui-icon{--t-icon: url('data:image/svg+xml,<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M12 6H4L8 10L12 6Z\" fill=\"%23777B92\"/>%0A</svg>%0A') !important}\n"] }]
133
+ }], ctorParameters: () => [] });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBZSxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBRUwsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBb0IsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FB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QW9CLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQWMsV0FBVztRQUN2QixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRS9ELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNmLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEMsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7d0dBL0dVLGtCQUFrQjs0RkFBbEIsa0JBQWtCLHd1RENoRC9CLDZtR0FxRkEsb3JFRHRESSxnQkFBZ0IsMkVBQ2hCLFlBQVksa0lBQ1osZUFBZSxvTkFDZixtQkFBbUIsc0lBQ25CLFdBQVcsdVBBQ1gsYUFBYSw4TEFDYixTQUFTLG1JQUNULGlCQUFpQiw4YUFDakIsMkJBQTJCLGtPQUMzQiw0QkFBNEIsMmFBQzVCLG9CQUFvQjs7NEZBT1gsa0JBQWtCO2tCQXBCOUIsU0FBUzsrQkFDRSxlQUFlLFdBQ2hCO3dCQUNQLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLFNBQVM7d0JBQ1QsaUJBQWlCO3dCQUNqQiwyQkFBMkI7d0JBQzNCLDRCQUE0Qjt3QkFDNUIsb0JBQW9CO3FCQUNyQixjQUdXLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5LCBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgRGVzdHJveVJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgbW9kZWwsXG4gIE9uRGVzdHJveSxcbiAgb3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvbHltb3JwaENvbnRlbnQsIFBvbHltb3JwaE1vZHVsZSB9IGZyb20gJ0Bwcml6bS11aS9jb21wb25lbnRzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHVpQnV0dG9uLCBUdWlEYXRhTGlzdERpcmVjdGl2ZSB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aURhdGFMaXN0V3JhcHBlckNvbXBvbmVudCwgVHVpUGFnaW5hdGlvbiB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHsgVHVpQ29tYm9Cb3hNb2R1bGUsIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUgfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5JztcbmltcG9ydCB7IElQYWdpbmF0b3JPcHRpb25zLCBJUGFnaW5hdG9yT3V0cHV0IH0gZnJvbSAnLi90eXBlcy9wYWdpbmF0b3IudHlwZXMnO1xuaW1wb3J0IHsgRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQnO1xuXG5leHBvcnQgZW51bSBTdmdTcmMge1xuICBDSEVWUk9OU19ET1VCTEVfTEVGVCA9ICdhc3NldHMvbmd4LXJlZ2lzdGVyLWJhc2UvaWNvbnMvY2hldnJvbnMtZG91YmxlLWxlZnQuc3ZnJyxcbiAgQ0hFVlJPTlNfRE9VQkxFX1JJR0hUID0gJ2Fzc2V0cy9uZ3gtcmVnaXN0ZXItYmFzZS9pY29ucy9jaGV2cm9ucy1kb3VibGUtcmlnaHQuc3ZnJyxcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hLXBhZ2luYXRvcicsXG4gIGltcG9ydHM6IFtcbiAgICBEaXZpZGVyQ29tcG9uZW50LFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQb2x5bW9ycGhNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUdWlQYWdpbmF0aW9uLFxuICAgIFR1aUJ1dHRvbixcbiAgICBUdWlDb21ib0JveE1vZHVsZSxcbiAgICBUdWlEYXRhTGlzdFdyYXBwZXJDb21wb25lbnQsXG4gICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRvci5jb21wb25lbnQubGVzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHVibGljIHRleHRPblBhZ2UgPSBpbnB1dDxQb2x5bW9ycGhDb250ZW50Pign0KHRgtGA0L7QuiDQvdCwINGB0YLRgNCw0L3QuNGG0LUnKTtcbiAgcHVibGljIHRvdGFsUmVjb3JkcyA9IGlucHV0KDAsIHtcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZTogTnVtYmVySW5wdXQpID0+IE1hdGgubWF4KGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKSwgMCksXG4gIH0pO1xuICAvKiog0JrQvtC70LjRh9C10YHRgtCy0L4g0LLQuNC00LjQvNGL0YUg0YHRgtGA0LDQvdC40YYg0LLQvtC60YDRg9CzINCw0LrRgtC40LLQvdC+0Lkg0YHRgtGA0LDQvdC40YbRiyAgKi9cbiAgcHVibGljIHBhZ2VMaW5rU2l6ZSA9IGlucHV0KDMpO1xuICBwdWJsaWMgc2hvd01vcmVEaXNhYmxlZCA9IGlucHV0KGZhbHNlKTtcbiAgcHVibGljIGRpc2FibGVkID0gaW5wdXQoZmFsc2UpO1xuICAvKiog0JrQvtC70LjRh9C10YHRgtCy0L4g0L7RgtC+0LHRgNCw0LbQsNC10LzRi9GFINGB0YLRgNC+0Log0L3QsCDRgdGC0YDQsNC90LjRhtC1ICovXG4gIHB1YmxpYyByb3dzID0gbW9kZWw8TnVtYmVySW5wdXQ+KDApO1xuICAvKiog0KLQtdC60YPRidCw0Y8g0YHRgtGA0LDQvdC40YbQsCAqL1xuICBwdWJsaWMgcGFnZSA9IG1vZGVsPE51bWJlcklucHV0PigxKTtcbiAgcHVibGljIHBhZ2luYXRvck9wdGlvbnMgPSBpbnB1dDxJUGFnaW5hdG9yT3B0aW9ucz4oe1xuICAgIG5vUm93c1NlbGVjdG9yOiBmYWxzZSxcbiAgICBub1Jvd3NTZWxlY3RvckxhYmVsOiBmYWxzZSxcbiAgICBub0ZpbHRlckluZm86IGZhbHNlLFxuICAgIG5vSW5mbzogZmFsc2UsXG4gICAgbm9QYWdlczogZmFsc2UsXG4gIH0pO1xuICBwdWJsaWMgcm93c0NvdW50T3B0aW9ucyA9IGlucHV0KG5ldyBBcnJheTxudW1iZXI+KCkpO1xuICBwdWJsaWMgc2VsZWN0ZWRDb3VudGVyID0gaW5wdXQoMCk7XG4gIHB1YmxpYyB0b3RhbE5vdEZpbHRlcmVkID0gaW5wdXQoMCk7XG5cbiAgcHVibGljIHBhZ2luYXRvckNoYW5nZSA9IG91dHB1dDxJUGFnaW5hdG9yT3V0cHV0PigpO1xuICBwdWJsaWMgcGFnZUNoYW5nZSA9IG91dHB1dDxudW1iZXI+KCk7XG4gIHB1YmxpYyByb3dzQ2hhbmdlID0gb3V0cHV0PG51bWJlciB8IG51bGw+KCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IFN2Z1NyYyA9IFN2Z1NyYztcbiAgcHJvdGVjdGVkIHBhZ2VzQ291bnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgdG90YWwgPSB0aGlzLnRvdGFsUmVjb3JkcygpO1xuICAgIHRoaXMucm93cygpO1xuXG4gICAgcmV0dXJuIE1hdGguY2VpbCh0b3RhbCAvIHRoaXMuY3VycmVudFJvd3MpO1xuICB9KTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kciA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY3VycmVudFJvd3NJbnB1dENoYW5nZSA9IG5ldyBTdWJqZWN0PE51bWJlcklucHV0PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuY3VycmVudFJvd3NJbnB1dENoYW5nZVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwMCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kcikpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLmNoYW5nZVJvd3ModmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50Um93c0lucHV0Q2hhbmdlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2hhbmdlUGFnZShwYWdlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2ID0gdGhpcy5jdXJyZW50UGFnZTtcbiAgICB0aGlzLnBhZ2Uuc2V0KHBhZ2UpO1xuXG4gICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgIT09IHByZXYpIHtcbiAgICAgIHRoaXMuZW1pdFBhZ2VDaGFuZ2UoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9GaXJzdFBhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VQYWdlKDApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRvTGFzdFBhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VQYWdlKHRoaXMucGFnZXNDb3VudCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdFBhZ2VDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQodGhpcy5jdXJyZW50UGFnZSk7XG4gICAgdGhpcy5fZW1pdFBhZ2luYXRvckNoYW5nZXMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjaGFuZ2VSb3dzKHJvd3M6IE51bWJlcklucHV0KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudFJvd3MgPT09IHJvd3MpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJvd3Muc2V0KHJvd3MpO1xuICAgIHRoaXMucm93c0NoYW5nZS5lbWl0KHRoaXMuY3VycmVudFJvd3MpO1xuXG4gICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPiB0aGlzLnBhZ2VzQ291bnQoKSkge1xuICAgICAgdGhpcy5jaGFuZ2VQYWdlKDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9lbWl0UGFnaW5hdG9yQ2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2VtaXRQYWdpbmF0b3JDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMucGFnaW5hdG9yQ2hhbmdlLmVtaXQoe1xuICAgICAgcGFnZTogdGhpcy5jdXJyZW50UGFnZSxcbiAgICAgIGZpcnN0OiAodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5jdXJyZW50Um93cyArIDEsXG4gICAgICByb3dzOiB0aGlzLmN1cnJlbnRSb3dzLFxuICAgICAgcGFnZXNDb3VudDogdGhpcy5wYWdlc0NvdW50KCksXG4gICAgfSk7XG4gIH1cblxuICAvKiogZ2V0LdC80LXRgtC+0LTRiyAqL1xuICBwcm90ZWN0ZWQgZ2V0IGN1cnJlbnRQYWdlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWF4KGNvZXJjZU51bWJlclByb3BlcnR5KHRoaXMucGFnZSgpKSwgMSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGN1cnJlbnRSb3dzKCk6IG51bWJlciB7XG4gICAgbGV0IGlucHV0Um93cyA9IE1hdGgubWF4KGNvZXJjZU51bWJlclByb3BlcnR5KHRoaXMucm93cygpKSwgMCk7XG5cbiAgICBpZiAoIWlucHV0Um93cykge1xuICAgICAgW2lucHV0Um93c10gPSB0aGlzLnJvd3NDb3VudE9wdGlvbnMoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaW5wdXRSb3dzO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwicm93cyByb3dzX19jb3VudFwiXG4gICAgICAqbmdJZj1cIiFwYWdpbmF0b3JPcHRpb25zKCk/Lm5vUm93c1NlbGVjdG9yICYmICFwYWdpbmF0b3JPcHRpb25zKCk/Lm5vUm93c1NlbGVjdG9yTGFiZWxcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaE91dGxldD1cInRleHRPblBhZ2UoKSBhcyB0aXRsZVwiPlxuICAgICAgICB7eyB0aXRsZSB9fVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zcGFuPlxuICAgIDxkaXYgY2xhc3M9XCJyb3dzLXNlbGVjdG9yXCIgKm5nSWY9XCIhcGFnaW5hdG9yT3B0aW9ucygpPy5ub1Jvd3NTZWxlY3RvclwiPlxuICAgICAgPHR1aS1jb21iby1ib3hcbiAgICAgICAgW25nTW9kZWxdPVwiY3VycmVudFJvd3NcIlxuICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxuICAgICAgICBbc3RyaWN0XT1cImZhbHNlXCJcbiAgICAgICAgW3R1aVRleHRmaWVsZExhYmVsT3V0c2lkZV09XCJ0cnVlXCJcbiAgICAgICAgW3R1aVRleHRmaWVsZENsZWFuZXJdPVwiZmFsc2VcIlxuICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwic1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY3VycmVudFJvd3NJbnB1dENoYW5nZS5uZXh0KCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8dHVpLWRhdGEtbGlzdC13cmFwcGVyXG4gICAgICAgICAgKnR1aURhdGFMaXN0XG4gICAgICAgICAgW2l0ZW1zXT1cInJvd3NDb3VudE9wdGlvbnMoKS5sZW5ndGggPyByb3dzQ291bnRPcHRpb25zKCkgOiBbY3VycmVudFJvd3NdXCJcbiAgICAgICAgLz5cbiAgICAgIDwvdHVpLWNvbWJvLWJveD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtcGFuZWxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1jb250YWluZXJcIj5cbiAgICAgICAgPHNwYW4+0JLRi9Cx0YDQsNC90L48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2VsZWN0ZWQtY291bnRlclwiPnt7IHNlbGVjdGVkQ291bnRlcigpIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8c21hLWRpdmlkZXIgbGF5b3V0PVwidmVydGljYWxcIj48L3NtYS1kaXZpZGVyPlxuICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLWNvbnRhaW5lclwiICpuZ0lmPVwiIXBhZ2luYXRvck9wdGlvbnMoKT8ubm9GaWx0ZXJJbmZvXCI+XG4gICAgICAgIDxzcGFuPtCe0YLRhNC40LvRjNGC0YDQvtCy0LDQvdC+PC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNlbGVjdGVkLWNvdW50ZXJcIj57eyB0b3RhbFJlY29yZHMoKSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+0LjQtzwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWxlY3RlZC1jb3VudGVyXCI+e3sgdG90YWxOb3RGaWx0ZXJlZCgpIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgPHNwYW4gY2xhc3M9XCJyb3dzIHJvd3NfX3Nob3dcIiAqbmdJZj1cIiFwYWdpbmF0b3JPcHRpb25zKCk/Lm5vSW5mb1wiIFtoaWRkZW5dPVwiZGlzYWJsZWQoKVwiPlxuICAgICAg0J/QvtC60LDQt9Cw0L3QviDRgdGC0YDQvtC6OiB7eyAoY3VycmVudFBhZ2UgLSAxKSAqIGN1cnJlbnRSb3dzICsgMSB9fS17e1xuICAgICAgICBjdXJyZW50UGFnZSAqIGN1cnJlbnRSb3dzID4gdG90YWxSZWNvcmRzKCkgPyB0b3RhbFJlY29yZHMoKSA6IGN1cnJlbnRQYWdlICogY3VycmVudFJvd3NcbiAgICAgIH19XG4gICAgICA8bmctY29udGFpbmVyPiDQuNC3IHt7IHRvdGFsUmVjb3JkcygpIH19IDwvbmctY29udGFpbmVyPlxuICAgIDwvc3Bhbj5cbiAgICA8ZGl2IGNsYXNzPVwicGFnaW5hdG9yXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgY2xhc3M9XCJwYWdpbmF0b3JfX2NvbnRyb2xcIlxuICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICB0YWJJbmRleD1cIi0xXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKCkgfHwgY3VycmVudFBhZ2UgPT09IDFcIlxuICAgICAgICAoY2xpY2spPVwidG9GaXJzdFBhZ2UoKVwiXG4gICAgICA+XG4gICAgICAgIDxpbWcgW3NyY109XCJTdmdTcmMuQ0hFVlJPTlNfRE9VQkxFX0xFRlRcIiAvPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8dHVpLXBhZ2luYXRpb25cbiAgICAgICAgW2luZGV4XT1cImN1cnJlbnRQYWdlIC0gMVwiXG4gICAgICAgIFtsZW5ndGhdPVwicGFnZXNDb3VudCgpXCJcbiAgICAgICAgW2FjdGl2ZVBhZGRpbmddPVwicGFnZUxpbmtTaXplKClcIlxuICAgICAgICAoaW5kZXhDaGFuZ2UpPVwiY2hhbmdlUGFnZSgkZXZlbnQgKyAxKVwiXG4gICAgICAvPlxuICAgICAgQGlmIChwYWdpbmF0b3JPcHRpb25zKCkubm9Ub0xhc3RQYWdlQnRuID8/IHRydWUpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICBjbGFzcz1cInBhZ2luYXRvcl9fY29udHJvbFwiXG4gICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgICAgdGFiSW5kZXg9XCItMVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKCkgfHwgY3VycmVudFBhZ2UgPT09IHBhZ2VzQ291bnQoKSB8fCBjdXJyZW50UGFnZSA9PT0gMFwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvTGFzdFBhZ2UoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW1nIFtzcmNdPVwiU3ZnU3JjLkNIRVZST05TX0RPVUJMRV9SSUdIVFwiIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRvci90eXBlcy9wYWdpbmF0b3IudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVBhZ2luYXRvck91dHB1dCB7XG4gIHBhZ2U6IG51bWJlcjtcbiAgZmlyc3Q6IG51bWJlcjtcbiAgcm93czogbnVtYmVyO1xuICBwYWdlc0NvdW50OiBudW1iZXIgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYWdpbmF0b3JPcHRpb25zIHtcbiAgbm9Sb3dzU2VsZWN0b3I/OiBib29sZWFuO1xuICBub1Jvd3NTZWxlY3RvckxhYmVsPzogYm9vbGVhbjtcbiAgbm9GaWx0ZXJJbmZvPzogYm9vbGVhbjtcbiAgbm9JbmZvPzogYm9vbGVhbjtcbiAgbm9QYWdlcz86IGJvb2xlYW47XG4gIG5vVG9GaXJzdFBhZ2VCdG4/OiBib29sZWFuO1xuICBub1RvTGFzdFBhZ2VCdG4/OiBib29sZWFuO1xufVxuIl19
@@ -0,0 +1,4 @@
1
+ export const CHECKBOX_SELECTOR_KEY = 'checkbox-selector';
2
+ export const CHECKBOX_SELECTOR_WIDTH_PX = 32;
3
+ export const MIN_COL_WIDTH_PX = 8;
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItdGFibGUuY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9jb21wb25lbnRzL3JlZ2lzdGVyLXRhYmxlL2NvbnN0cy9yZWdpc3Rlci10YWJsZS5jb25zdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsbUJBQW1CLENBQUM7QUFDekQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsRUFBRSxDQUFDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBDSEVDS0JPWF9TRUxFQ1RPUl9LRVkgPSAnY2hlY2tib3gtc2VsZWN0b3InO1xuZXhwb3J0IGNvbnN0IENIRUNLQk9YX1NFTEVDVE9SX1dJRFRIX1BYID0gMzI7XG5leHBvcnQgY29uc3QgTUlOX0NPTF9XSURUSF9QWCA9IDg7XG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CellTemplateDirective {
4
+ tpl;
5
+ cellTemplateName;
6
+ constructor(tpl) {
7
+ this.tpl = tpl;
8
+ }
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
10
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CellTemplateDirective, isStandalone: true, selector: "[cellTemplateName]", inputs: { cellTemplateName: "cellTemplateName" }, ngImport: i0 });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CellTemplateDirective, decorators: [{
13
+ type: Directive,
14
+ args: [{
15
+ selector: '[cellTemplateName]',
16
+ standalone: true,
17
+ }]
18
+ }], ctorParameters: () => [{ type: i0.TemplateRef }], propDecorators: { cellTemplateName: [{
19
+ type: Input
20
+ }] } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC10ZW1wbGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvcmVnaXN0ZXItdGFibGUvZGlyZWN0aXZlcy9jZWxsLXRlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFNOUQsTUFBTSxPQUFPLHFCQUFxQjtJQUdiO0lBRlYsZ0JBQWdCLENBQVU7SUFFbkMsWUFBbUIsR0FBcUI7UUFBckIsUUFBRyxHQUFILEdBQUcsQ0FBa0I7SUFBRyxDQUFDO3dHQUhqQyxxQkFBcUI7NEZBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7Z0ZBRVUsZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NlbGxUZW1wbGF0ZU5hbWVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ2VsbFRlbXBsYXRlRGlyZWN0aXZlIHtcbiAgQElucHV0KCkgY2VsbFRlbXBsYXRlTmFtZSE6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdHBsOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxufVxuIl19
@@ -0,0 +1,10 @@
1
+ export var EColumnDataType;
2
+ (function (EColumnDataType) {
3
+ EColumnDataType["TEXT"] = "text";
4
+ EColumnDataType["NUM"] = "num";
5
+ EColumnDataType["CHECKBOX"] = "checkbox";
6
+ EColumnDataType["ICON"] = "icon";
7
+ EColumnDataType["ICON_SVG"] = "iconSvg";
8
+ EColumnDataType["DATE"] = "date";
9
+ })(EColumnDataType || (EColumnDataType = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9jb21wb25lbnRzL3JlZ2lzdGVyLXRhYmxlL21vZGVsL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxNQUFNLENBQU4sSUFBWSxlQU9YO0FBUEQsV0FBWSxlQUFlO0lBQ3pCLGdDQUFhLENBQUE7SUFDYiw4QkFBVyxDQUFBO0lBQ1gsd0NBQXFCLENBQUE7SUFDckIsZ0NBQWEsQ0FBQTtJQUNiLHVDQUFvQixDQUFBO0lBQ3BCLGdDQUFhLENBQUE7QUFDZixDQUFDLEVBUFcsZUFBZSxLQUFmLGVBQWUsUUFPMUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBDb2x1bW5EYXRhVHlwZXMgPVxuICB8ICd0ZXh0J1xuICB8ICdudW0nXG4gIHwgJ2NoZWNrYm94J1xuICB8ICdpY29uJ1xuICB8ICdpY29uU3ZnJ1xuICB8ICd0ZW1wbGF0ZSdcbiAgfCAnZW1wdHknXG4gIHwgJ2RhdGUnO1xuXG5leHBvcnQgZW51bSBFQ29sdW1uRGF0YVR5cGUge1xuICBURVhUID0gJ3RleHQnLFxuICBOVU0gPSAnbnVtJyxcbiAgQ0hFQ0tCT1ggPSAnY2hlY2tib3gnLFxuICBJQ09OID0gJ2ljb24nLFxuICBJQ09OX1NWRyA9ICdpY29uU3ZnJyxcbiAgREFURSA9ICdkYXRlJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29sdW1uRGF0YSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogRUNvbHVtbkRhdGFUeXBlIHwgQ29sdW1uRGF0YVR5cGVzO1xuICB2YWx1ZT86IHN0cmluZztcbiAgd2lkdGg/OiBzdHJpbmc7XG4gIGlzVGVtcGxhdGU/OiBib29sZWFuO1xuICBzb3J0YWJsZT86IGJvb2xlYW47XG4gIHRvb2x0aXBUZXh0Pzogc3RyaW5nO1xuICB0ZXh0U3R5bGU/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICByb3dzcGFuPzogbnVtYmVyO1xuICBjb2xzcGFuPzogbnVtYmVyO1xuICBjaGlsZHJlbj86IElDb2x1bW5EYXRhW107XG4gIGRhdGVQYXR0ZXJuPzogc3RyaW5nO1xuICBudW1iZXJQaXBlPzogc3RyaW5nO1xuICBzdmdTcmM/OiBzdHJpbmc7XG4gIGlzQ2VsbD86IGJvb2xlYW47XG4gIGNsYXNzPzogc3RyaW5nO1xuICBjbGFzc1RkPzogc3RyaW5nO1xuICBpc0xvYWRpbmc/OiBib29sZWFuO1xuICBwb3N0Zml4Pzogc3RyaW5nO1xuICBmaXhlZD86IGJvb2xlYW47XG4gIGhlYWRlclN0eWxlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBUaFdpZHRoRW50cnkgPSBQaWNrPElDb2x1bW5EYXRhLCAnbmFtZScgfCAnd2lkdGgnPjtcbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { EColumnDataType } from '../model/schema';
3
+ import * as i0 from "@angular/core";
4
+ export class ClassByTypePipe {
5
+ transform(type, element = 'th') {
6
+ let classNamePostfix = 'text';
7
+ if (type === EColumnDataType.ICON || type === EColumnDataType.ICON_SVG) {
8
+ classNamePostfix = 'icon';
9
+ }
10
+ if (element === 'td' && type === EColumnDataType.CHECKBOX) {
11
+ classNamePostfix = 'checkbox';
12
+ }
13
+ return `register-table__cell-${classNamePostfix}`;
14
+ }
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ClassByTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
16
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ClassByTypePipe, isStandalone: true, name: "classByType" });
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ClassByTypePipe, decorators: [{
19
+ type: Pipe,
20
+ args: [{
21
+ name: 'classByType',
22
+ standalone: true,
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtYnktdHlwZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9jb21wb25lbnRzL3JlZ2lzdGVyLXRhYmxlL3BpcGVzL2NsYXNzLWJ5LXR5cGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQW1CLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQU1uRSxNQUFNLE9BQU8sZUFBZTtJQUMxQixTQUFTLENBQUMsSUFBdUMsRUFBRSxVQUF1QixJQUFJO1FBQzVFLElBQUksZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO1FBRTlCLElBQUksSUFBSSxLQUFLLGVBQWUsQ0FBQyxJQUFJLElBQUksSUFBSSxLQUFLLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN2RSxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7UUFDNUIsQ0FBQztRQUVELElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzFELGdCQUFnQixHQUFHLFVBQVUsQ0FBQztRQUNoQyxDQUFDO1FBRUQsT0FBTyx3QkFBd0IsZ0JBQWdCLEVBQUUsQ0FBQztJQUNwRCxDQUFDO3dHQWJVLGVBQWU7c0dBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtvQkFDbkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29sdW1uRGF0YVR5cGVzLCBFQ29sdW1uRGF0YVR5cGUgfSBmcm9tICcuLi9tb2RlbC9zY2hlbWEnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjbGFzc0J5VHlwZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENsYXNzQnlUeXBlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odHlwZTogQ29sdW1uRGF0YVR5cGVzIHwgRUNvbHVtbkRhdGFUeXBlLCBlbGVtZW50OiAndGgnIHwgJ3RkJyA9ICd0aCcpOiBzdHJpbmcge1xuICAgIGxldCBjbGFzc05hbWVQb3N0Zml4ID0gJ3RleHQnO1xuXG4gICAgaWYgKHR5cGUgPT09IEVDb2x1bW5EYXRhVHlwZS5JQ09OIHx8IHR5cGUgPT09IEVDb2x1bW5EYXRhVHlwZS5JQ09OX1NWRykge1xuICAgICAgY2xhc3NOYW1lUG9zdGZpeCA9ICdpY29uJztcbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudCA9PT0gJ3RkJyAmJiB0eXBlID09PSBFQ29sdW1uRGF0YVR5cGUuQ0hFQ0tCT1gpIHtcbiAgICAgIGNsYXNzTmFtZVBvc3RmaXggPSAnY2hlY2tib3gnO1xuICAgIH1cblxuICAgIHJldHVybiBgcmVnaXN0ZXItdGFibGVfX2NlbGwtJHtjbGFzc05hbWVQb3N0Zml4fWA7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class StickyColumnPipe {
4
+ transform(value, array) {
5
+ return array?.includes(value) ?? false;
6
+ }
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StickyColumnPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
8
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: StickyColumnPipe, isStandalone: true, name: "stickyColumn" });
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StickyColumnPipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{
13
+ name: 'stickyColumn',
14
+ standalone: true,
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LWNvbHVtbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9jb21wb25lbnRzL3JlZ2lzdGVyLXRhYmxlL3BpcGVzL3N0aWNreS1jb2x1bW4ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNcEQsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixTQUFTLENBQUMsS0FBYSxFQUFFLEtBQTJCO1FBQ2xELE9BQU8sS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUM7SUFDekMsQ0FBQzt3R0FIVSxnQkFBZ0I7c0dBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFKNUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsY0FBYztvQkFDcEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdzdGlja3lDb2x1bW4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTdGlja3lDb2x1bW5QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBhcnJheTogc3RyaW5nW10gfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gYXJyYXk/LmluY2x1ZGVzKHZhbHVlKSA/PyBmYWxzZTtcbiAgfVxufVxuIl19