@paperless/angular 2.0.1-beta.9 → 2.0.1-beta.90

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 (38) hide show
  1. package/esm2020/lib/directives/index.mjs +19 -7
  2. package/esm2020/lib/directives/p-checkbox.directive.mjs +39 -0
  3. package/esm2020/lib/directives/p-field.directive.mjs +38 -0
  4. package/esm2020/lib/directives/p-pagination-pages.directive.mjs +41 -0
  5. package/esm2020/lib/directives/p-pagination-size.directive.mjs +41 -0
  6. package/esm2020/lib/directives/p-radio.directive.mjs +48 -0
  7. package/esm2020/lib/directives/p-toggle.directive.mjs +38 -0
  8. package/esm2020/lib/modules/table/components/table/table.component.mjs +25 -70
  9. package/esm2020/lib/modules/table/components/table-cell/table-cell.component.mjs +4 -18
  10. package/esm2020/lib/modules/toast/types.mjs +4 -3
  11. package/esm2020/lib/paperless.module.mjs +15 -11
  12. package/esm2020/lib/stencil/angular-component-lib/utils.mjs +9 -1
  13. package/esm2020/lib/stencil/components.mjs +383 -134
  14. package/esm2020/lib/stencil/index.mjs +15 -5
  15. package/esm2020/lib/stencil.module.mjs +1 -1
  16. package/fesm2015/paperless-angular.mjs +612 -259
  17. package/fesm2015/paperless-angular.mjs.map +1 -1
  18. package/fesm2020/paperless-angular.mjs +610 -259
  19. package/fesm2020/paperless-angular.mjs.map +1 -1
  20. package/lib/directives/index.d.ts +9 -4
  21. package/lib/directives/p-checkbox.directive.d.ts +9 -0
  22. package/lib/directives/p-field.directive.d.ts +9 -0
  23. package/lib/directives/p-pagination-pages.directive.d.ts +10 -0
  24. package/lib/directives/{p-page-size-select.directive.d.ts → p-pagination-size.directive.d.ts} +3 -3
  25. package/lib/directives/p-radio.directive.d.ts +17 -0
  26. package/lib/directives/p-toggle.directive.d.ts +9 -0
  27. package/lib/modules/table/components/table/table.component.d.ts +13 -8
  28. package/lib/modules/table/components/table-cell/table-cell.component.d.ts +2 -6
  29. package/lib/modules/toast/types.d.ts +3 -2
  30. package/lib/paperless.module.d.ts +15 -11
  31. package/lib/stencil/components.d.ts +268 -117
  32. package/lib/stencil/index.d.ts +1 -1
  33. package/lib/stencil.module.d.ts +1 -1
  34. package/package.json +1 -1
  35. package/paperless.css +84 -64
  36. package/esm2020/lib/directives/p-page-size-select.directive.mjs +0 -41
  37. package/esm2020/lib/directives/p-pagination.directive.mjs +0 -41
  38. package/lib/directives/p-pagination.directive.d.ts +0 -10
@@ -1,7 +1,12 @@
1
+ export * from './p-checkbox.directive';
1
2
  export * from './p-cropper.directive';
2
3
  export * from './p-datepicker.directive';
3
- export * from './p-page-size-select.directive';
4
- export * from './p-pagination.directive';
4
+ export * from './p-field.directive';
5
+ export * from './p-pagination-pages.directive';
6
+ export * from './p-pagination-size.directive';
7
+ export * from './p-radio.directive';
5
8
  export * from './p-select.directive';
6
- import { CropperDirective } from './p-cropper.directive';
7
- export declare const DIRECTIVES: (typeof CropperDirective)[];
9
+ export * from './p-toggle.directive';
10
+ import { CheckboxDirective } from './p-checkbox.directive';
11
+ import { RadioDirective } from './p-radio.directive';
12
+ export declare const DIRECTIVES: (typeof CheckboxDirective | typeof RadioDirective)[];
@@ -0,0 +1,9 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import { BaseValueAccessor } from '../base';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CheckboxDirective extends BaseValueAccessor {
5
+ constructor(el: ElementRef);
6
+ writeValue(value: boolean | 'indeterminate'): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CheckboxDirective, "p-checkbox", never, {}, {}, never, never, false, never>;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import { BaseValueAccessor } from '../base';
3
+ import * as i0 from "@angular/core";
4
+ export declare class FieldDirective extends BaseValueAccessor {
5
+ constructor(el: ElementRef);
6
+ writeValue(value: any): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<FieldDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FieldDirective, "p-field", never, {}, {}, never, never, false, never>;
9
+ }
@@ -0,0 +1,10 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import { BaseValueAccessor } from '../base';
3
+ import * as i0 from "@angular/core";
4
+ export declare class PaginationPagesDirective extends BaseValueAccessor {
5
+ constructor(el: ElementRef);
6
+ writeValue(value: any): void;
7
+ registerOnChange(fn: (_: number | null) => void): void;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<PaginationPagesDirective, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PaginationPagesDirective, "p-pagination-pages", never, {}, {}, never, never, false, never>;
10
+ }
@@ -1,10 +1,10 @@
1
1
  import { ElementRef } from '@angular/core';
2
2
  import { BaseValueAccessor } from '../base';
3
3
  import * as i0 from "@angular/core";
4
- export declare class PageSizeSelectDirective extends BaseValueAccessor {
4
+ export declare class PaginationSizeDirective extends BaseValueAccessor {
5
5
  constructor(el: ElementRef);
6
6
  writeValue(value: any): void;
7
7
  registerOnChange(fn: (_: number | null) => void): void;
8
- static ɵfac: i0.ɵɵFactoryDeclaration<PageSizeSelectDirective, never>;
9
- static ɵdir: i0.ɵɵDirectiveDeclaration<PageSizeSelectDirective, "p-page-size-select", never, {}, {}, never, never, false, never>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<PaginationSizeDirective, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PaginationSizeDirective, "p-pagination-size", never, {}, {}, never, never, false, never>;
10
10
  }
@@ -0,0 +1,17 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { ElementRef, OnInit } from '@angular/core';
3
+ import { ControlValueAccessor, NgControl } from '@angular/forms';
4
+ import { BaseValueAccessor } from '../base';
5
+ import * as i0 from "@angular/core";
6
+ export declare class RadioDirective extends BaseValueAccessor implements ControlValueAccessor, OnInit, OnDestroy {
7
+ private _control;
8
+ private _modelValue;
9
+ private _valueChanges;
10
+ constructor(_control: NgControl, el: ElementRef);
11
+ ngOnInit(): void;
12
+ writeValue(value: string): void;
13
+ handleChangeEvent(): void;
14
+ ngOnDestroy(): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<RadioDirective, [{ self: true; }, null]>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RadioDirective, "p-radio", never, {}, {}, never, never, false, never>;
17
+ }
@@ -0,0 +1,9 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import { BaseValueAccessor } from '../base';
3
+ import * as i0 from "@angular/core";
4
+ export declare class ToggleDirective extends BaseValueAccessor {
5
+ constructor(el: ElementRef);
6
+ writeValue(value: boolean): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToggleDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ToggleDirective, "p-toggle", never, {}, {}, never, never, false, never>;
9
+ }
@@ -8,6 +8,7 @@ import { AsyncItem, TableRowAction, TableRowActionQueryParams, TableRowActionRou
8
8
  import * as i0 from "@angular/core";
9
9
  export declare class Table implements OnInit, OnChanges {
10
10
  private _changeDetection;
11
+ className: string;
11
12
  /**
12
13
  * The items to be fed to the table
13
14
  */
@@ -167,13 +168,13 @@ export declare class Table implements OnInit, OnChanges {
167
168
  */
168
169
  enableFooter: boolean;
169
170
  /**
170
- * Wether to enable page size select
171
+ * Wether to enable pagination size select
171
172
  */
172
- enablePageSize: boolean;
173
+ enablePaginationSize: boolean;
173
174
  /**
174
- * Wether to enable pagination
175
+ * Wether to enable pagination pages
175
176
  */
176
- enablePagination: boolean;
177
+ enablePaginationPages: boolean;
177
178
  /**
178
179
  * Wether to enable export
179
180
  */
@@ -215,6 +216,7 @@ export declare class Table implements OnInit, OnChanges {
215
216
  emptyStateHeader: string;
216
217
  emptyStateContent: string;
217
218
  emptyStateAction: string;
219
+ emptyStateActionIcon: IconVariant;
218
220
  enableEmptyStateAction: boolean;
219
221
  emptyStateFilteredIllustration: IllustrationVariant;
220
222
  emptyStateFilteredHeader: string;
@@ -249,13 +251,18 @@ export declare class Table implements OnInit, OnChanges {
249
251
  filterModalSave: EventEmitter<void>;
250
252
  filterModalReset: EventEmitter<boolean>;
251
253
  rowActionsRow$: BehaviorSubject<TableRowAction[]>;
252
- rowActionsRowDefinition$: BehaviorSubject<any>;
253
254
  rowActionsFloatingAll$: BehaviorSubject<TableRowAction[]>;
254
255
  rowActionsFloating$: BehaviorSubject<TableRowAction[]>;
255
256
  isMobile$: BehaviorSubject<boolean>;
257
+ floatingMenuContainerClass: (props?: ({
258
+ hasFooter?: boolean | undefined;
259
+ active?: boolean | undefined;
260
+ shown?: boolean | undefined;
261
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
256
262
  private _resizeTimeout;
257
263
  private _inputEnableRowSelection;
258
264
  private _inputRowSelectionLimit;
265
+ footerHidden$: BehaviorSubject<boolean>;
259
266
  constructor(_changeDetection: ChangeDetectorRef);
260
267
  ngOnInit(): void;
261
268
  ngOnChanges(changes: SimpleChanges): void;
@@ -294,9 +301,7 @@ export declare class Table implements OnInit, OnChanges {
294
301
  private _setRowSelectionData;
295
302
  private _showFloatingMenu;
296
303
  private _parseDefinitions;
297
- private _findLastDefinitionBySize;
298
304
  private _parseDefinitionSizes;
299
- private _parseRowActionsRowDefinition;
300
305
  static ɵfac: i0.ɵɵFactoryDeclaration<Table, never>;
301
- static ɵcmp: i0.ɵɵComponentDeclaration<Table, "p-table-ngx", never, { "items": "items"; "loading": "loading"; "headerLoading": "headerLoading"; "footerLoading": "footerLoading"; "amountOfLoadingRows": "amountOfLoadingRows"; "enableRowSelection": "enableRowSelection"; "rowSelectionLimit": "rowSelectionLimit"; "enableRowClick": "enableRowClick"; "selectedRows": "selectedRows"; "selectionKey": "selectionKey"; "canSelectKey": "canSelectKey"; "enableFloatingMenu": "enableFloatingMenu"; "floatingMenuAmountSelectedText": "floatingMenuAmountSelectedText"; "floatingMenuAmountSelectedTemplate": "floatingMenuAmountSelectedTemplate"; "enableHeader": "enableHeader"; "quickFilters": "quickFilters"; "activeQuickFilterIdentifier": "activeQuickFilterIdentifier"; "enableSearch": "enableSearch"; "query": "query"; "enableFilter": "enableFilter"; "enableFilterDesktop": "enableFilterDesktop"; "selectedFiltersAmount": "selectedFiltersAmount"; "filterButtonTemplate": "filterButtonTemplate"; "enableAction": "enableAction"; "actionButtonLoading": "actionButtonLoading"; "actionButtonIcon": "actionButtonIcon"; "actionButtonEnabled": "actionButtonEnabled"; "actionButtonText": "actionButtonText"; "actionButtonTemplate": "actionButtonTemplate"; "enableFooter": "enableFooter"; "enablePageSize": "enablePageSize"; "enablePagination": "enablePagination"; "enableExport": "enableExport"; "page": "page"; "total": "total"; "pageSize": "pageSize"; "pageSizeOptions": "pageSizeOptions"; "hideOnSinglePage": "hideOnSinglePage"; "emptyStateType": "emptyStateType"; "emptyStateIllustration": "emptyStateIllustration"; "emptyStateHeader": "emptyStateHeader"; "emptyStateContent": "emptyStateContent"; "emptyStateAction": "emptyStateAction"; "enableEmptyStateAction": "enableEmptyStateAction"; "emptyStateFilteredIllustration": "emptyStateFilteredIllustration"; "emptyStateFilteredHeader": "emptyStateFilteredHeader"; "emptyStateFilteredContent": "emptyStateFilteredContent"; "shadow": "shadow"; "filterModalHeaderText": "filterModalHeaderText"; "filterModalSaveText": "filterModalSaveText"; "filterModalCancelText": "filterModalCancelText"; "filterModalResetText": "filterModalResetText"; "filterModalShowReset": "filterModalShowReset"; "filterModalShowResetMobile": "filterModalShowResetMobile"; }, { "selectedRowsChange": "selectedRowsChange"; "rowClick": "rowClick"; "rowSelected": "rowSelected"; "rowDeselected": "rowDeselected"; "quickFilter": "quickFilter"; "queryChange": "queryChange"; "filter": "filter"; "action": "action"; "pageChange": "pageChange"; "pageSizeChange": "pageSizeChange"; "export": "export"; "emptyStateActionClick": "emptyStateActionClick"; "filterModalShow": "filterModalShow"; "filterModalSave": "filterModalSave"; "filterModalReset": "filterModalReset"; }, ["headerCustomFilterTemplate", "headerCustomActionsTemplate", "filterModalTemplate", "columnDefinitions", "rowActions"], never, false, never>;
306
+ static ɵcmp: i0.ɵɵComponentDeclaration<Table, "p-table-ngx", never, { "items": "items"; "loading": "loading"; "headerLoading": "headerLoading"; "footerLoading": "footerLoading"; "amountOfLoadingRows": "amountOfLoadingRows"; "enableRowSelection": "enableRowSelection"; "rowSelectionLimit": "rowSelectionLimit"; "enableRowClick": "enableRowClick"; "selectedRows": "selectedRows"; "selectionKey": "selectionKey"; "canSelectKey": "canSelectKey"; "enableFloatingMenu": "enableFloatingMenu"; "floatingMenuAmountSelectedText": "floatingMenuAmountSelectedText"; "floatingMenuAmountSelectedTemplate": "floatingMenuAmountSelectedTemplate"; "enableHeader": "enableHeader"; "quickFilters": "quickFilters"; "activeQuickFilterIdentifier": "activeQuickFilterIdentifier"; "enableSearch": "enableSearch"; "query": "query"; "enableFilter": "enableFilter"; "enableFilterDesktop": "enableFilterDesktop"; "selectedFiltersAmount": "selectedFiltersAmount"; "filterButtonTemplate": "filterButtonTemplate"; "enableAction": "enableAction"; "actionButtonLoading": "actionButtonLoading"; "actionButtonIcon": "actionButtonIcon"; "actionButtonEnabled": "actionButtonEnabled"; "actionButtonText": "actionButtonText"; "actionButtonTemplate": "actionButtonTemplate"; "enableFooter": "enableFooter"; "enablePaginationSize": "enablePaginationSize"; "enablePaginationPages": "enablePaginationPages"; "enableExport": "enableExport"; "page": "page"; "total": "total"; "pageSize": "pageSize"; "pageSizeOptions": "pageSizeOptions"; "hideOnSinglePage": "hideOnSinglePage"; "emptyStateType": "emptyStateType"; "emptyStateIllustration": "emptyStateIllustration"; "emptyStateHeader": "emptyStateHeader"; "emptyStateContent": "emptyStateContent"; "emptyStateAction": "emptyStateAction"; "emptyStateActionIcon": "emptyStateActionIcon"; "enableEmptyStateAction": "enableEmptyStateAction"; "emptyStateFilteredIllustration": "emptyStateFilteredIllustration"; "emptyStateFilteredHeader": "emptyStateFilteredHeader"; "emptyStateFilteredContent": "emptyStateFilteredContent"; "shadow": "shadow"; "filterModalHeaderText": "filterModalHeaderText"; "filterModalSaveText": "filterModalSaveText"; "filterModalCancelText": "filterModalCancelText"; "filterModalResetText": "filterModalResetText"; "filterModalShowReset": "filterModalShowReset"; "filterModalShowResetMobile": "filterModalShowResetMobile"; }, { "selectedRowsChange": "selectedRowsChange"; "rowClick": "rowClick"; "rowSelected": "rowSelected"; "rowDeselected": "rowDeselected"; "quickFilter": "quickFilter"; "queryChange": "queryChange"; "filter": "filter"; "action": "action"; "pageChange": "pageChange"; "pageSizeChange": "pageSizeChange"; "export": "export"; "emptyStateActionClick": "emptyStateActionClick"; "filterModalShow": "filterModalShow"; "filterModalSave": "filterModalSave"; "filterModalReset": "filterModalReset"; }, ["headerCustomFilterTemplate", "headerCustomActionsTemplate", "filterModalTemplate", "columnDefinitions", "rowActions"], never, false, never>;
302
307
  }
@@ -5,7 +5,7 @@ export declare class TableCell {
5
5
  /**
6
6
  * The variant of the column
7
7
  */
8
- variant: 'default' | 'loading' | 'header' | 'actions';
8
+ variant: 'default' | 'loading' | 'header';
9
9
  /**
10
10
  * The index of the column
11
11
  */
@@ -26,10 +26,6 @@ export declare class TableCell {
26
26
  * The value of the column
27
27
  */
28
28
  value: any;
29
- /**
30
- * Wether the table has actions
31
- */
32
- tableHasActions: boolean;
33
29
  /**
34
30
  * The checkbox templateRef
35
31
  */
@@ -43,5 +39,5 @@ export declare class TableCell {
43
39
  value: string;
44
40
  };
45
41
  static ɵfac: i0.ɵɵFactoryDeclaration<TableCell, never>;
46
- static ɵcmp: i0.ɵɵComponentDeclaration<TableCell, "p-table-cell-ngx", never, { "variant": "variant"; "index": "index"; "rowIndex": "rowIndex"; "definition": "definition"; "item": "item"; "value": "value"; "tableHasActions": "tableHasActions"; "checkbox": "checkbox"; "template": "template"; }, {}, never, never, false, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableCell, "p-table-cell-ngx", never, { "variant": "variant"; "index": "index"; "rowIndex": "rowIndex"; "definition": "definition"; "item": "item"; "value": "value"; "checkbox": "checkbox"; "template": "template"; }, {}, never, never, false, never>;
47
43
  }
@@ -3,10 +3,11 @@ import { IconFlipOptions, IconVariant } from '@paperless/core/dist/types/compone
3
3
  import { ToastDirective } from './directives';
4
4
  export declare enum ToastVariants {
5
5
  Success = "positive",
6
- Warning = "unbiased",
6
+ Warning = "biased",
7
7
  Error = "negative",
8
+ Neutral = "neutral",
8
9
  Positive = "positive",
9
- Unbiased = "unbiased",
10
+ Biased = "biased",
10
11
  Negative = "negative"
11
12
  }
12
13
  export declare type ToastActionFunction = (directive?: ToastDirective, data?: any) => void;
@@ -1,21 +1,25 @@
1
1
  import { ModuleWithProviders } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "./directives/p-pagination.directive";
4
- import * as i2 from "./directives/p-page-size-select.directive";
3
+ import * as i1 from "./directives/p-pagination-size.directive";
4
+ import * as i2 from "./directives/p-pagination-pages.directive";
5
5
  import * as i3 from "./directives/p-select.directive";
6
6
  import * as i4 from "./directives/p-datepicker.directive";
7
7
  import * as i5 from "./directives/p-cropper.directive";
8
- import * as i6 from "./pipes/currency.pipe";
9
- import * as i7 from "./pipes/date.pipe";
10
- import * as i8 from "./pipes/safe.pipe";
11
- import * as i9 from "@angular/common";
12
- import * as i10 from "./stencil.module";
13
- import * as i11 from "./modules/table/table.module";
14
- import * as i12 from "./modules/toast/toast.module";
15
- import * as i13 from "./modules/overlay/overlay.module";
8
+ import * as i6 from "./directives/p-field.directive";
9
+ import * as i7 from "./directives/p-radio.directive";
10
+ import * as i8 from "./directives/p-checkbox.directive";
11
+ import * as i9 from "./directives/p-toggle.directive";
12
+ import * as i10 from "./pipes/currency.pipe";
13
+ import * as i11 from "./pipes/date.pipe";
14
+ import * as i12 from "./pipes/safe.pipe";
15
+ import * as i13 from "@angular/common";
16
+ import * as i14 from "./stencil.module";
17
+ import * as i15 from "./modules/table/table.module";
18
+ import * as i16 from "./modules/toast/toast.module";
19
+ import * as i17 from "./modules/overlay/overlay.module";
16
20
  export declare class PaperlessModule {
17
21
  static forRoot(): ModuleWithProviders<PaperlessModule>;
18
22
  static ɵfac: i0.ɵɵFactoryDeclaration<PaperlessModule, never>;
19
- static ɵmod: i0.ɵɵNgModuleDeclaration<PaperlessModule, [typeof i1.PaginationDirective, typeof i2.PageSizeSelectDirective, typeof i3.SelectDirective, typeof i4.DatepickerDirective, typeof i5.CropperDirective, typeof i6.CustomCurrencyPipe, typeof i7.CustomDatePipe, typeof i8.SafePipe], [typeof i9.CommonModule, typeof i10.StencilModule, typeof i11.TableModule, typeof i12.ToastModule, typeof i13.OverlayModule], [typeof i10.StencilModule, typeof i11.TableModule, typeof i12.ToastModule, typeof i13.OverlayModule, typeof i1.PaginationDirective, typeof i2.PageSizeSelectDirective, typeof i3.SelectDirective, typeof i4.DatepickerDirective, typeof i5.CropperDirective, typeof i6.CustomCurrencyPipe, typeof i7.CustomDatePipe, typeof i8.SafePipe]>;
23
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PaperlessModule, [typeof i1.PaginationSizeDirective, typeof i2.PaginationPagesDirective, typeof i3.SelectDirective, typeof i4.DatepickerDirective, typeof i5.CropperDirective, typeof i6.FieldDirective, typeof i7.RadioDirective, typeof i8.CheckboxDirective, typeof i9.ToggleDirective, typeof i10.CustomCurrencyPipe, typeof i11.CustomDatePipe, typeof i12.SafePipe], [typeof i13.CommonModule, typeof i14.StencilModule, typeof i15.TableModule, typeof i16.ToastModule, typeof i17.OverlayModule], [typeof i14.StencilModule, typeof i15.TableModule, typeof i16.ToastModule, typeof i17.OverlayModule, typeof i1.PaginationSizeDirective, typeof i2.PaginationPagesDirective, typeof i3.SelectDirective, typeof i4.DatepickerDirective, typeof i5.CropperDirective, typeof i6.FieldDirective, typeof i7.RadioDirective, typeof i8.CheckboxDirective, typeof i9.ToggleDirective, typeof i10.CustomCurrencyPipe, typeof i11.CustomDatePipe, typeof i12.SafePipe]>;
20
24
  static ɵinj: i0.ɵɵInjectorDeclaration<PaperlessModule>;
21
25
  }