@anglr/common 19.1.0-beta.20240513175039 → 19.1.0-beta.20240513181744

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 (36) hide show
  1. package/changelog.md +9 -0
  2. package/es2022/material/src/directives/debugDataCopyClick/debugDataCopyClick.directive.js +3 -2
  3. package/es2022/material/src/directives/debugDataCopyClick/debugDataCopyClick.directive.js.map +1 -1
  4. package/es2022/material/src/modules/debugDataCopyClick.module.js +9 -8
  5. package/es2022/material/src/modules/debugDataCopyClick.module.js.map +1 -1
  6. package/es2022/src/modules/commonUtils.module.js +7 -3
  7. package/es2022/src/modules/commonUtils.module.js.map +1 -1
  8. package/es2022/src/modules/debugData/components/debugData/debugData.component.js +2 -3
  9. package/es2022/src/modules/debugData/components/debugData/debugData.component.js.map +1 -1
  10. package/es2022/src/modules/debugData/modules/debugData.module.js +4 -8
  11. package/es2022/src/modules/debugData/modules/debugData.module.js.map +1 -1
  12. package/es2022/src/pipes/index.js +1 -0
  13. package/es2022/src/pipes/index.js.map +1 -1
  14. package/es2022/src/pipes/trimText/trimText.pipe.js +29 -0
  15. package/es2022/src/pipes/trimText/trimText.pipe.js.map +1 -0
  16. package/material/src/directives/debugDataCopyClick/debugDataCopyClick.directive.d.ts +2 -2
  17. package/material/src/directives/debugDataCopyClick/debugDataCopyClick.directive.d.ts.map +1 -1
  18. package/material/src/modules/debugDataCopyClick.module.d.ts +3 -3
  19. package/material/src/modules/debugDataCopyClick.module.d.ts.map +1 -1
  20. package/package.json +1 -1
  21. package/src/modules/commonUtils.module.d.ts +2 -1
  22. package/src/modules/commonUtils.module.d.ts.map +1 -1
  23. package/src/modules/debugData/components/debugData/debugData.component.css +1 -0
  24. package/src/modules/debugData/components/debugData/debugData.component.d.ts +1 -1
  25. package/src/modules/debugData/components/debugData/debugData.component.d.ts.map +1 -1
  26. package/src/modules/debugData/components/debugData/debugData.component.html +4 -3
  27. package/src/modules/debugData/modules/debugData.module.d.ts +1 -2
  28. package/src/modules/debugData/modules/debugData.module.d.ts.map +1 -1
  29. package/src/pipes/index.d.ts +1 -0
  30. package/src/pipes/index.d.ts.map +1 -1
  31. package/src/pipes/trimText/trimText.pipe.d.ts +17 -0
  32. package/src/pipes/trimText/trimText.pipe.d.ts.map +1 -0
  33. package/styles/core/_mixins.scss +14 -0
  34. package/styles/core/_theme.scss +4 -0
  35. package/version.bak +1 -1
  36. package/src/style.scss +0 -87
package/changelog.md CHANGED
@@ -4,6 +4,7 @@
4
4
 
5
5
  ### Bug Fixes
6
6
 
7
+ - fixed `DebugDataComponent` now color styles can be imported
7
8
  - fixed `TooltipDirective` dual tooltip when nested elements are marked with tooltip
8
9
  - fixed `TooltipDirective` overflowing 'MouseEnter' tooltip on right side of screen
9
10
  - fixed `TooltipDirective` rendering tooltip only for non empty content
@@ -13,6 +14,7 @@
13
14
  ### Feature
14
15
 
15
16
  - new `AsSignal` property decorator, that creates backing field for this property as WritableSignal, reads and write to it
17
+ - new `TrimTextPipe` pipe, that trims long text and adds 'suffix' indication of longer text
16
18
  - new `EllipsisTooltipSADirective` directive, that is used for displaying text from attached element in tooltip
17
19
  - **implements**
18
20
  - `OnChanges`
@@ -26,12 +28,19 @@
26
28
  - new `getHostElement` function, that gets host html element for component
27
29
  - updated `TooltipDirective` directive
28
30
  - is now `standalone`
31
+ - updated `DebugDataComponent` component
32
+ - is now `standalone`
33
+ - **styles**
34
+ - new `buildThemeColorsDebugData` mixin, that builds theme colors for debug data component
35
+ - new `buildThemeDebugData` mixin, that builds theme for debug data component
29
36
  - *subpackage* `@anglr/common/material`
30
37
  - new `provideConfirmationDialogOptions` function, that provides global options for confirmation dialog
31
38
  - updated `CONFIRMATION_DIALOG_OPTIONS` injection token
32
39
  - now provides `RecursivePartial` type as it should
33
40
  - updated `ConfirmationDialogDirective` directive
34
41
  - is now `standalone`
42
+ - updated `DebugDataCopyClickDirective` directive
43
+ - is now `standalone`
35
44
 
36
45
  ## Version 19.0.0 (2023-11-09)
37
46
 
@@ -33,12 +33,13 @@ export class DebugDataCopyClickDirective {
33
33
  this._clipboard.copy(JSON.stringify(this.data, null, 4));
34
34
  }
35
35
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: DebugDataCopyClickDirective, deps: [{ token: i1.Clipboard }], target: i0.ɵɵFactoryTarget.Directive });
36
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.5", type: DebugDataCopyClickDirective, selector: "debug-data[copyClick]", inputs: { data: ["copyClick", "data"] }, host: { listeners: { "click": "copyData()" }, properties: { "class.clickable": "this.clickable" } }, ngImport: i0 });
36
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.5", type: DebugDataCopyClickDirective, isStandalone: true, selector: "debug-data[copyClick]", inputs: { data: ["copyClick", "data"] }, host: { listeners: { "click": "copyData()" }, properties: { "class.clickable": "this.clickable" } }, ngImport: i0 });
37
37
  }
38
38
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: DebugDataCopyClickDirective, decorators: [{
39
39
  type: Directive,
40
40
  args: [{
41
- selector: 'debug-data[copyClick]'
41
+ selector: 'debug-data[copyClick]',
42
+ standalone: true,
42
43
  }]
43
44
  }], ctorParameters: () => [{ type: i1.Clipboard }], propDecorators: { data: [{
44
45
  type: Input,
@@ -1 +1 @@
1
- {"version":3,"file":"debugDataCopyClick.directive.js","sourceRoot":"","sources":["../../../../../material/src/directives/debugDataCopyClick/debugDataCopyClick.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAC,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;;;AAEjD;;GAEG;AAKH,MAAM,OAAO,2BAA2B;IAqBd;IAnBtB,gFAAgF;IAEhF;;OAEG;IAEI,IAAI,CAAM;IAEjB,8EAA8E;IAE9E;;;;OAIG;IAEI,SAAS,GAAY,IAAI,CAAC;IAEjC,iEAAiE;IACjE,YAAsB,UAAqB;QAArB,eAAU,GAAV,UAAU,CAAW;IAE3C,CAAC;IAED,2EAA2E;IAE3E;;;;OAIG;IAEI,QAAQ;QAEX,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;uGApCQ,2BAA2B;2FAA3B,2BAA2B;;2FAA3B,2BAA2B;kBAJvC,SAAS;mBACV;oBACI,QAAQ,EAAE,uBAAuB;iBACpC;8EASU,IAAI;sBADV,KAAK;uBAAC,WAAW;gBAWX,SAAS;sBADf,WAAW;uBAAC,iBAAiB;gBAgBvB,QAAQ;sBADd,YAAY;uBAAC,OAAO","sourcesContent":["import {Directive, HostBinding, HostListener, Input} from '@angular/core';\nimport {Clipboard} from '@angular/cdk/clipboard';\n\n/**\n * Directive that allows to copy data to clipboard on click on debug-data\n */\n@Directive(\n{\n selector: 'debug-data[copyClick]'\n})\nexport class DebugDataCopyClickDirective\n{\n //######################### public properties - inputs #########################\n\n /**\n * Data to be copied as serialized json\n */\n @Input('copyClick')\n public data: any;\n\n //######################### public properties - host #########################\n\n /**\n * Adds css class clickable to this element\n * \n * @internal\n */\n @HostBinding('class.clickable')\n public clickable: boolean = true;\n\n //######################### constructor #########################\n constructor(protected _clipboard: Clipboard)\n {\n }\n\n //######################### public methods - host #########################\n\n /**\n * Copies data to clipboard on click\n * \n * @internal\n */\n @HostListener('click')\n public copyData(): void\n {\n this._clipboard.copy(JSON.stringify(this.data, null, 4));\n }\n}"]}
1
+ {"version":3,"file":"debugDataCopyClick.directive.js","sourceRoot":"","sources":["../../../../../material/src/directives/debugDataCopyClick/debugDataCopyClick.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAC,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;;;AAEjD;;GAEG;AAMH,MAAM,OAAO,2BAA2B;IAqBd;IAnBtB,gFAAgF;IAEhF;;OAEG;IAEI,IAAI,CAAU;IAErB,8EAA8E;IAE9E;;;;OAIG;IAEI,SAAS,GAAY,IAAI,CAAC;IAEjC,iEAAiE;IACjE,YAAsB,UAAqB;QAArB,eAAU,GAAV,UAAU,CAAW;IAE3C,CAAC;IAED,2EAA2E;IAE3E;;;;OAIG;IAEI,QAAQ;QAEX,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;uGApCQ,2BAA2B;2FAA3B,2BAA2B;;2FAA3B,2BAA2B;kBALvC,SAAS;mBACV;oBACI,QAAQ,EAAE,uBAAuB;oBACjC,UAAU,EAAE,IAAI;iBACnB;8EASU,IAAI;sBADV,KAAK;uBAAC,WAAW;gBAWX,SAAS;sBADf,WAAW;uBAAC,iBAAiB;gBAgBvB,QAAQ;sBADd,YAAY;uBAAC,OAAO","sourcesContent":["import {Directive, HostBinding, HostListener, Input} from '@angular/core';\nimport {Clipboard} from '@angular/cdk/clipboard';\n\n/**\n * Directive that allows to copy data to clipboard on click on debug-data\n */\n@Directive(\n{\n selector: 'debug-data[copyClick]',\n standalone: true,\n})\nexport class DebugDataCopyClickDirective\n{\n //######################### public properties - inputs #########################\n\n /**\n * Data to be copied as serialized json\n */\n @Input('copyClick')\n public data: unknown;\n\n //######################### public properties - host #########################\n\n /**\n * Adds css class clickable to this element\n * \n * @internal\n */\n @HostBinding('class.clickable')\n public clickable: boolean = true;\n\n //######################### constructor #########################\n constructor(protected _clipboard: Clipboard)\n {\n }\n\n //######################### public methods - host #########################\n\n /**\n * Copies data to clipboard on click\n * \n * @internal\n */\n @HostListener('click')\n public copyData(): void\n {\n this._clipboard.copy(JSON.stringify(this.data, null, 4));\n }\n}"]}
@@ -1,5 +1,5 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { DebugDataModule } from '@anglr/common';
2
+ import { DebugDataComponent } from '@anglr/common';
3
3
  import { DebugDataCopyClickDirective } from '../directives/debugDataCopyClick/debugDataCopyClick.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
@@ -7,20 +7,21 @@ import * as i0 from "@angular/core";
7
7
  */
8
8
  export class DebugDataCopyClickModule {
9
9
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: DebugDataCopyClickModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.5", ngImport: i0, type: DebugDataCopyClickModule, declarations: [DebugDataCopyClickDirective], exports: [DebugDataCopyClickDirective,
11
- DebugDataModule] });
12
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: DebugDataCopyClickModule, imports: [DebugDataModule] });
10
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.5", ngImport: i0, type: DebugDataCopyClickModule, imports: [DebugDataComponent,
11
+ DebugDataCopyClickDirective], exports: [DebugDataCopyClickDirective,
12
+ DebugDataComponent] });
13
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: DebugDataCopyClickModule });
13
14
  }
14
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: DebugDataCopyClickModule, decorators: [{
15
16
  type: NgModule,
16
17
  args: [{
17
- imports: [],
18
- declarations: [
19
- DebugDataCopyClickDirective
18
+ imports: [
19
+ DebugDataComponent,
20
+ DebugDataCopyClickDirective,
20
21
  ],
21
22
  exports: [
22
23
  DebugDataCopyClickDirective,
23
- DebugDataModule,
24
+ DebugDataComponent,
24
25
  ]
25
26
  }]
26
27
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"debugDataCopyClick.module.js","sourceRoot":"","sources":["../../../../material/src/modules/debugDataCopyClick.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAC,2BAA2B,EAAC,MAAM,+DAA+D,CAAC;;AAE1G;;GAEG;AAgBH,MAAM,OAAO,wBAAwB;uGAAxB,wBAAwB;wGAAxB,wBAAwB,iBAR7B,2BAA2B,aAI3B,2BAA2B;YAC3B,eAAe;wGAGV,wBAAwB,YAH7B,eAAe;;2FAGV,wBAAwB;kBAfpC,QAAQ;mBACT;oBACI,OAAO,EACP,EACC;oBACD,YAAY,EACZ;wBACI,2BAA2B;qBAC9B;oBACD,OAAO,EACP;wBACI,2BAA2B;wBAC3B,eAAe;qBAClB;iBACJ","sourcesContent":["import {NgModule} from '@angular/core';\nimport {DebugDataModule} from '@anglr/common';\n\nimport {DebugDataCopyClickDirective} from '../directives/debugDataCopyClick/debugDataCopyClick.directive';\n\n/**\n * Module for debug data copy click directive\n */\n@NgModule(\n{\n imports:\n [\n ],\n declarations:\n [\n DebugDataCopyClickDirective\n ],\n exports:\n [\n DebugDataCopyClickDirective,\n DebugDataModule,\n ]\n})\nexport class DebugDataCopyClickModule\n{\n}\n"]}
1
+ {"version":3,"file":"debugDataCopyClick.module.js","sourceRoot":"","sources":["../../../../material/src/modules/debugDataCopyClick.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAC,2BAA2B,EAAC,MAAM,+DAA+D,CAAC;;AAE1G;;GAEG;AAcH,MAAM,OAAO,wBAAwB;uGAAxB,wBAAwB;wGAAxB,wBAAwB,YAT7B,kBAAkB;YAClB,2BAA2B,aAI3B,2BAA2B;YAC3B,kBAAkB;wGAGb,wBAAwB;;2FAAxB,wBAAwB;kBAbpC,QAAQ;mBACT;oBACI,OAAO,EACP;wBACI,kBAAkB;wBAClB,2BAA2B;qBAC9B;oBACD,OAAO,EACP;wBACI,2BAA2B;wBAC3B,kBAAkB;qBACrB;iBACJ","sourcesContent":["import {NgModule} from '@angular/core';\nimport {DebugDataComponent} from '@anglr/common';\n\nimport {DebugDataCopyClickDirective} from '../directives/debugDataCopyClick/debugDataCopyClick.directive';\n\n/**\n * Module for debug data copy click directive\n */\n@NgModule(\n{\n imports:\n [\n DebugDataComponent,\n DebugDataCopyClickDirective,\n ],\n exports:\n [\n DebugDataCopyClickDirective,\n DebugDataComponent,\n ]\n})\nexport class DebugDataCopyClickModule\n{\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { IsNaNSAPipe, IsPresentSAPipe, UrlEncodeSAPipe, MergeCssClassesSAPipe, KeysSAPipe } from '../pipes';
2
+ import { IsNaNSAPipe, IsPresentSAPipe, UrlEncodeSAPipe, MergeCssClassesSAPipe, KeysSAPipe, TrimTextPipe } from '../pipes';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
5
  * Module for common utility stuff
@@ -10,11 +10,13 @@ export class CommonUtilsModule {
10
10
  IsPresentSAPipe,
11
11
  UrlEncodeSAPipe,
12
12
  MergeCssClassesSAPipe,
13
- KeysSAPipe], exports: [IsNaNSAPipe,
13
+ KeysSAPipe,
14
+ TrimTextPipe], exports: [IsNaNSAPipe,
14
15
  IsPresentSAPipe,
15
16
  UrlEncodeSAPipe,
16
17
  MergeCssClassesSAPipe,
17
- KeysSAPipe] });
18
+ KeysSAPipe,
19
+ TrimTextPipe] });
18
20
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: CommonUtilsModule });
19
21
  }
20
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: CommonUtilsModule, decorators: [{
@@ -26,6 +28,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
26
28
  UrlEncodeSAPipe,
27
29
  MergeCssClassesSAPipe,
28
30
  KeysSAPipe,
31
+ TrimTextPipe,
29
32
  ],
30
33
  exports: [
31
34
  IsNaNSAPipe,
@@ -33,6 +36,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
33
36
  UrlEncodeSAPipe,
34
37
  MergeCssClassesSAPipe,
35
38
  KeysSAPipe,
39
+ TrimTextPipe,
36
40
  ]
37
41
  }]
38
42
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"commonUtils.module.js","sourceRoot":"","sources":["../../../src/modules/commonUtils.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAC,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,UAAU,EAAC,MAAM,UAAU,CAAC;;AAE1G;;GAEG;AAoBH,MAAM,OAAO,iBAAiB;uGAAjB,iBAAiB;wGAAjB,iBAAiB,YAftB,WAAW;YACX,eAAe;YACf,eAAe;YACf,qBAAqB;YACrB,UAAU,aAIV,WAAW;YACX,eAAe;YACf,eAAe;YACf,qBAAqB;YACrB,UAAU;wGAGL,iBAAiB;;2FAAjB,iBAAiB;kBAnB7B,QAAQ;mBACT;oBACI,OAAO,EACP;wBACI,WAAW;wBACX,eAAe;wBACf,eAAe;wBACf,qBAAqB;wBACrB,UAAU;qBACb;oBACD,OAAO,EACP;wBACI,WAAW;wBACX,eAAe;wBACf,eAAe;wBACf,qBAAqB;wBACrB,UAAU;qBACb;iBACJ","sourcesContent":["import {NgModule} from '@angular/core';\n\nimport {IsNaNSAPipe, IsPresentSAPipe, UrlEncodeSAPipe, MergeCssClassesSAPipe, KeysSAPipe} from '../pipes';\n\n/**\n * Module for common utility stuff\n */\n@NgModule(\n{\n imports:\n [\n IsNaNSAPipe,\n IsPresentSAPipe,\n UrlEncodeSAPipe,\n MergeCssClassesSAPipe,\n KeysSAPipe,\n ],\n exports: \n [\n IsNaNSAPipe,\n IsPresentSAPipe,\n UrlEncodeSAPipe,\n MergeCssClassesSAPipe,\n KeysSAPipe,\n ]\n})\nexport class CommonUtilsModule\n{\n}"]}
1
+ {"version":3,"file":"commonUtils.module.js","sourceRoot":"","sources":["../../../src/modules/commonUtils.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAC,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,UAAU,CAAC;;AAExH;;GAEG;AAsBH,MAAM,OAAO,iBAAiB;uGAAjB,iBAAiB;wGAAjB,iBAAiB,YAjBtB,WAAW;YACX,eAAe;YACf,eAAe;YACf,qBAAqB;YACrB,UAAU;YACV,YAAY,aAIZ,WAAW;YACX,eAAe;YACf,eAAe;YACf,qBAAqB;YACrB,UAAU;YACV,YAAY;wGAGP,iBAAiB;;2FAAjB,iBAAiB;kBArB7B,QAAQ;mBACT;oBACI,OAAO,EACP;wBACI,WAAW;wBACX,eAAe;wBACf,eAAe;wBACf,qBAAqB;wBACrB,UAAU;wBACV,YAAY;qBACf;oBACD,OAAO,EACP;wBACI,WAAW;wBACX,eAAe;wBACf,eAAe;wBACf,qBAAqB;wBACrB,UAAU;wBACV,YAAY;qBACf;iBACJ","sourcesContent":["import {NgModule} from '@angular/core';\n\nimport {IsNaNSAPipe, IsPresentSAPipe, UrlEncodeSAPipe, MergeCssClassesSAPipe, KeysSAPipe, TrimTextPipe} from '../pipes';\n\n/**\n * Module for common utility stuff\n */\n@NgModule(\n{\n imports:\n [\n IsNaNSAPipe,\n IsPresentSAPipe,\n UrlEncodeSAPipe,\n MergeCssClassesSAPipe,\n KeysSAPipe,\n TrimTextPipe,\n ],\n exports: \n [\n IsNaNSAPipe,\n IsPresentSAPipe,\n UrlEncodeSAPipe,\n MergeCssClassesSAPipe,\n KeysSAPipe,\n TrimTextPipe,\n ]\n})\nexport class CommonUtilsModule\n{\n}"]}
@@ -2,7 +2,6 @@ import { Component, ChangeDetectionStrategy, ChangeDetectorRef, ElementRef, sign
2
2
  import { DebugDataEnabledService } from '../../services/debugDataEnabled/debugDataEnabled.service';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../../services/debugDataEnabled/debugDataEnabled.service";
5
- import * as i2 from "@angular/common";
6
5
  /**
7
6
  * Name of css class for enabled debug data
8
7
  */
@@ -66,10 +65,10 @@ export class DebugDataComponent {
66
65
  }
67
66
  }
68
67
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: DebugDataComponent, deps: [{ token: i1.DebugDataEnabledService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
69
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.5", type: DebugDataComponent, selector: "debug-data", ngImport: i0, template: "<ng-template [ngIf]=\"enabled()\">\r\n <ng-content></ng-content>\r\n</ng-template>", styles: [":host\r\n{\r\n font-weight: normal;\r\n font-style: italic;\r\n text-shadow: 0 0 1px;\r\n display: none;\r\n}\r\n\r\n:host(.clickable)\r\n{\r\n cursor: pointer;\r\n}\r\n\r\n:host(.enabled)\r\n{\r\n display: block;\r\n}"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
68
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.5", type: DebugDataComponent, isStandalone: true, selector: "debug-data", ngImport: i0, template: "@if(enabled())\r\n{\r\n <ng-content/>\r\n}", styles: [":host\r\n{\r\n font-weight: normal;\r\n font-style: italic;\r\n text-shadow: 0 0 1px;\r\n display: none;\r\n color: var(--common-debugData-foreground);\r\n}\r\n\r\n:host(.clickable)\r\n{\r\n cursor: pointer;\r\n}\r\n\r\n:host(.enabled)\r\n{\r\n display: block;\r\n}"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
70
69
  }
71
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: DebugDataComponent, decorators: [{
72
71
  type: Component,
73
- args: [{ selector: 'debug-data', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template [ngIf]=\"enabled()\">\r\n <ng-content></ng-content>\r\n</ng-template>", styles: [":host\r\n{\r\n font-weight: normal;\r\n font-style: italic;\r\n text-shadow: 0 0 1px;\r\n display: none;\r\n}\r\n\r\n:host(.clickable)\r\n{\r\n cursor: pointer;\r\n}\r\n\r\n:host(.enabled)\r\n{\r\n display: block;\r\n}"] }]
72
+ args: [{ selector: 'debug-data', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if(enabled())\r\n{\r\n <ng-content/>\r\n}", styles: [":host\r\n{\r\n font-weight: normal;\r\n font-style: italic;\r\n text-shadow: 0 0 1px;\r\n display: none;\r\n color: var(--common-debugData-foreground);\r\n}\r\n\r\n:host(.clickable)\r\n{\r\n cursor: pointer;\r\n}\r\n\r\n:host(.enabled)\r\n{\r\n display: block;\r\n}"] }]
74
73
  }], ctorParameters: () => [{ type: i1.DebugDataEnabledService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }] });
75
74
  //# sourceMappingURL=debugData.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"debugData.component.js","sourceRoot":"","sources":["../../../../../../src/modules/debugData/components/debugData/debugData.component.ts","../../../../../../src/modules/debugData/components/debugData/debugData.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,uBAAuB,EAAqB,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAiB,MAAM,eAAe,CAAC;AAG3I,OAAO,EAAC,uBAAuB,EAAC,MAAM,0DAA0D,CAAC;;;;AAEjG;;GAEG;AACH,MAAM,OAAO,GAAG,SAAS,CAAC;AAE1B;;GAEG;AAQH,MAAM,OAAO,kBAAkB;IAmBL;IACA;IACA;IAnBtB,sEAAsE;IAEtE;;OAEG;IACO,kCAAkC,CAA8B;IAE1E,8FAA8F;IAE9F;;;;OAIG;IACO,OAAO,GAA4B,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3D,iEAAiE;IACjE,YAAsB,mBAA4C,EAC5C,cAAiC,EACjC,OAAgC;QAFhC,wBAAmB,GAAnB,mBAAmB,CAAyB;QAC5C,mBAAc,GAAd,cAAc,CAAmB;QACjC,YAAO,GAAP,OAAO,CAAyB;IAEtD,CAAC;IAED,+FAA+F;IAE/F;;OAEG;IACI,QAAQ;QAEX,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,kCAAkC,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE;YAE5F,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAE1B,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kGAAkG;IAElG;;OAEG;IACI,WAAW;QAEd,IAAI,CAAC,kCAAkC,EAAE,WAAW,EAAE,CAAC;QACvD,IAAI,CAAC,kCAAkC,GAAG,IAAI,CAAC;IACnD,CAAC;IAED,uEAAuE;IAEvE;;OAEG;IACO,kBAAkB;QAExB,IAAG,IAAI,CAAC,OAAO,EAAE,EACjB;YACI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACrD;aAED;YACI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACxD;IACL,CAAC;uGAtEQ,kBAAkB;2FAAlB,kBAAkB,kDCpB/B,uFAEc;;2FDkBD,kBAAkB;kBAP9B,SAAS;+BAEI,YAAY,mBAGL,uBAAuB,CAAC,MAAM","sourcesContent":["import {Component, ChangeDetectionStrategy, OnDestroy, OnInit, ChangeDetectorRef, ElementRef, signal, WritableSignal} from '@angular/core';\nimport {Subscription} from 'rxjs';\n\nimport {DebugDataEnabledService} from '../../services/debugDataEnabled/debugDataEnabled.service';\n\n/**\n * Name of css class for enabled debug data\n */\nconst ENABLED = 'enabled';\n\n/**\n * Component used for displaying debug data\n */\n@Component(\n{\n selector: 'debug-data',\n templateUrl: 'debugData.component.html',\n styleUrls: ['debugData.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DebugDataComponent implements OnDestroy, OnInit\n{\n //######################### protected fields #########################\n\n /**\n * Subscription for changes of debug data enabled\n */\n protected debugDataEnabledChangeSubscription: Subscription|undefined|null;\n\n //######################### protected properties - template bindings #########################\n\n /**\n * Indication whether is debug data enabled\n *\n * @internal\n */\n protected enabled: WritableSignal<boolean> = signal(false);\n\n //######################### constructor #########################\n constructor(protected debugDataEnabledSvc: DebugDataEnabledService,\n protected changeDetector: ChangeDetectorRef,\n protected element: ElementRef<HTMLElement>)\n {\n }\n\n //######################### public methods - implementation of OnInit #########################\n\n /**\n * Initialize component\n */\n public ngOnInit(): void\n {\n this.enabled.set(this.debugDataEnabledSvc.enabled);\n this.setEnabledCssClass();\n\n this.debugDataEnabledChangeSubscription = this.debugDataEnabledSvc.enabledChange.subscribe(() =>\n {\n this.enabled.set(this.debugDataEnabledSvc.enabled);\n this.setEnabledCssClass();\n\n this.changeDetector.detectChanges();\n });\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * Called when component is destroyed\n */\n public ngOnDestroy(): void\n {\n this.debugDataEnabledChangeSubscription?.unsubscribe();\n this.debugDataEnabledChangeSubscription = null;\n }\n\n //######################### protected methods #########################\n\n /**\n * Sets enabled css class according enabled state\n */\n protected setEnabledCssClass(): void\n {\n if(this.enabled())\n {\n this.element.nativeElement.classList.add(ENABLED);\n }\n else\n {\n this.element.nativeElement.classList.remove(ENABLED);\n }\n }\n}","<ng-template [ngIf]=\"enabled()\">\r\n <ng-content></ng-content>\r\n</ng-template>"]}
1
+ {"version":3,"file":"debugData.component.js","sourceRoot":"","sources":["../../../../../../src/modules/debugData/components/debugData/debugData.component.ts","../../../../../../src/modules/debugData/components/debugData/debugData.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,uBAAuB,EAAqB,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAiB,MAAM,eAAe,CAAC;AAG3I,OAAO,EAAC,uBAAuB,EAAC,MAAM,0DAA0D,CAAC;;;AAEjG;;GAEG;AACH,MAAM,OAAO,GAAG,SAAS,CAAC;AAE1B;;GAEG;AASH,MAAM,OAAO,kBAAkB;IAmBL;IACA;IACA;IAnBtB,sEAAsE;IAEtE;;OAEG;IACO,kCAAkC,CAA8B;IAE1E,8FAA8F;IAE9F;;;;OAIG;IACO,OAAO,GAA4B,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3D,iEAAiE;IACjE,YAAsB,mBAA4C,EAC5C,cAAiC,EACjC,OAAgC;QAFhC,wBAAmB,GAAnB,mBAAmB,CAAyB;QAC5C,mBAAc,GAAd,cAAc,CAAmB;QACjC,YAAO,GAAP,OAAO,CAAyB;IAEtD,CAAC;IAED,+FAA+F;IAE/F;;OAEG;IACI,QAAQ;QAEX,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,kCAAkC,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE;YAE5F,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAE1B,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kGAAkG;IAElG;;OAEG;IACI,WAAW;QAEd,IAAI,CAAC,kCAAkC,EAAE,WAAW,EAAE,CAAC;QACvD,IAAI,CAAC,kCAAkC,GAAG,IAAI,CAAC;IACnD,CAAC;IAED,uEAAuE;IAEvE;;OAEG;IACO,kBAAkB;QAExB,IAAG,IAAI,CAAC,OAAO,EAAE,EACjB;YACI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACrD;aAED;YACI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACxD;IACL,CAAC;uGAtEQ,kBAAkB;2FAAlB,kBAAkB,sECrB/B,+CAGC;;2FDkBY,kBAAkB;kBAR9B,SAAS;+BAEI,YAAY,cAGV,IAAI,mBACC,uBAAuB,CAAC,MAAM","sourcesContent":["import {Component, ChangeDetectionStrategy, OnDestroy, OnInit, ChangeDetectorRef, ElementRef, signal, WritableSignal} from '@angular/core';\nimport {Subscription} from 'rxjs';\n\nimport {DebugDataEnabledService} from '../../services/debugDataEnabled/debugDataEnabled.service';\n\n/**\n * Name of css class for enabled debug data\n */\nconst ENABLED = 'enabled';\n\n/**\n * Component used for displaying debug data\n */\n@Component(\n{\n selector: 'debug-data',\n templateUrl: 'debugData.component.html',\n styleUrl: 'debugData.component.css',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DebugDataComponent implements OnDestroy, OnInit\n{\n //######################### protected fields #########################\n\n /**\n * Subscription for changes of debug data enabled\n */\n protected debugDataEnabledChangeSubscription: Subscription|undefined|null;\n\n //######################### protected properties - template bindings #########################\n\n /**\n * Indication whether is debug data enabled\n *\n * @internal\n */\n protected enabled: WritableSignal<boolean> = signal(false);\n\n //######################### constructor #########################\n constructor(protected debugDataEnabledSvc: DebugDataEnabledService,\n protected changeDetector: ChangeDetectorRef,\n protected element: ElementRef<HTMLElement>)\n {\n }\n\n //######################### public methods - implementation of OnInit #########################\n\n /**\n * Initialize component\n */\n public ngOnInit(): void\n {\n this.enabled.set(this.debugDataEnabledSvc.enabled);\n this.setEnabledCssClass();\n\n this.debugDataEnabledChangeSubscription = this.debugDataEnabledSvc.enabledChange.subscribe(() =>\n {\n this.enabled.set(this.debugDataEnabledSvc.enabled);\n this.setEnabledCssClass();\n\n this.changeDetector.detectChanges();\n });\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * Called when component is destroyed\n */\n public ngOnDestroy(): void\n {\n this.debugDataEnabledChangeSubscription?.unsubscribe();\n this.debugDataEnabledChangeSubscription = null;\n }\n\n //######################### protected methods #########################\n\n /**\n * Sets enabled css class according enabled state\n */\n protected setEnabledCssClass(): void\n {\n if(this.enabled())\n {\n this.element.nativeElement.classList.add(ENABLED);\n }\n else\n {\n this.element.nativeElement.classList.remove(ENABLED);\n }\n }\n}","@if(enabled())\r\n{\r\n <ng-content/>\r\n}"]}
@@ -1,5 +1,4 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
2
  import { DebugDataComponent } from '../components/debugData/debugData.component';
4
3
  import * as i0 from "@angular/core";
5
4
  /**
@@ -7,20 +6,17 @@ import * as i0 from "@angular/core";
7
6
  */
8
7
  export class DebugDataModule {
9
8
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: DebugDataModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.5", ngImport: i0, type: DebugDataModule, declarations: [DebugDataComponent], imports: [CommonModule], exports: [DebugDataComponent] });
11
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: DebugDataModule, imports: [CommonModule] });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.5", ngImport: i0, type: DebugDataModule, imports: [DebugDataComponent], exports: [DebugDataComponent] });
10
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: DebugDataModule });
12
11
  }
13
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: DebugDataModule, decorators: [{
14
13
  type: NgModule,
15
14
  args: [{
16
15
  imports: [
17
- CommonModule
18
- ],
19
- declarations: [
20
- DebugDataComponent
16
+ DebugDataComponent,
21
17
  ],
22
18
  exports: [
23
- DebugDataComponent
19
+ DebugDataComponent,
24
20
  ]
25
21
  }]
26
22
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"debugData.module.js","sourceRoot":"","sources":["../../../../../src/modules/debugData/modules/debugData.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAC,kBAAkB,EAAC,MAAM,6CAA6C,CAAC;;AAE/E;;GAEG;AAgBH,MAAM,OAAO,eAAe;uGAAf,eAAe;wGAAf,eAAe,iBAPpB,kBAAkB,aAJlB,YAAY,aAQZ,kBAAkB;wGAGb,eAAe,YAXpB,YAAY;;2FAWP,eAAe;kBAf3B,QAAQ;mBACT;oBACI,OAAO,EACP;wBACI,YAAY;qBACf;oBACD,YAAY,EACZ;wBACI,kBAAkB;qBACrB;oBACD,OAAO,EACP;wBACI,kBAAkB;qBACrB;iBACJ","sourcesContent":["import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {DebugDataComponent} from '../components/debugData/debugData.component';\n\n/**\n * Module that contains debug data component\n */\n@NgModule(\n{\n imports:\n [\n CommonModule\n ],\n declarations:\n [\n DebugDataComponent\n ],\n exports:\n [\n DebugDataComponent\n ]\n})\nexport class DebugDataModule\n{\n}"]}
1
+ {"version":3,"file":"debugData.module.js","sourceRoot":"","sources":["../../../../../src/modules/debugData/modules/debugData.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAC,kBAAkB,EAAC,MAAM,6CAA6C,CAAC;;AAE/E;;GAEG;AAYH,MAAM,OAAO,eAAe;uGAAf,eAAe;wGAAf,eAAe,YAPpB,kBAAkB,aAIlB,kBAAkB;wGAGb,eAAe;;2FAAf,eAAe;kBAX3B,QAAQ;mBACT;oBACI,OAAO,EACP;wBACI,kBAAkB;qBACrB;oBACD,OAAO,EACP;wBACI,kBAAkB;qBACrB;iBACJ","sourcesContent":["import {NgModule} from '@angular/core';\n\nimport {DebugDataComponent} from '../components/debugData/debugData.component';\n\n/**\n * Module that contains debug data component\n */\n@NgModule(\n{\n imports:\n [\n DebugDataComponent,\n ],\n exports:\n [\n DebugDataComponent,\n ]\n})\nexport class DebugDataModule\n{\n}"]}
@@ -6,5 +6,6 @@ export * from './isPresent/isPresent.pipe';
6
6
  export * from './keys/keys.pipe';
7
7
  export * from './localize/localize.pipe';
8
8
  export * from './mergeCssClasses/mergeCssClasses.pipe';
9
+ export * from './trimText/trimText.pipe';
9
10
  export * from './urlEncode/urlEncode.pipe';
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pipes/index.ts"],"names":[],"mappings":"AAAA,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sCAAsC,CAAC;AACrD,cAAc,sDAAsD,CAAC;AACrE,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AACvD,cAAc,4BAA4B,CAAC","sourcesContent":["export * from './displayProperties/displayProperties.pipe';\nexport * from './firstUppercase/firstUppercase.pipe';\nexport * from './firstUppercaseLocalize/firstUppercaseLocalize.pipe';\nexport * from './isNaN/isNaN.pipe';\nexport * from './isPresent/isPresent.pipe';\nexport * from './keys/keys.pipe';\nexport * from './localize/localize.pipe';\nexport * from './mergeCssClasses/mergeCssClasses.pipe';\nexport * from './urlEncode/urlEncode.pipe';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pipes/index.ts"],"names":[],"mappings":"AAAA,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sCAAsC,CAAC;AACrD,cAAc,sDAAsD,CAAC;AACrE,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AACvD,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC","sourcesContent":["export * from './displayProperties/displayProperties.pipe';\nexport * from './firstUppercase/firstUppercase.pipe';\nexport * from './firstUppercaseLocalize/firstUppercaseLocalize.pipe';\nexport * from './isNaN/isNaN.pipe';\nexport * from './isPresent/isPresent.pipe';\nexport * from './keys/keys.pipe';\nexport * from './localize/localize.pipe';\nexport * from './mergeCssClasses/mergeCssClasses.pipe';\nexport * from './trimText/trimText.pipe';\nexport * from './urlEncode/urlEncode.pipe';\n"]}
@@ -0,0 +1,29 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Trims long text and adds 'suffix' indication of longer text
5
+ */
6
+ export class TrimTextPipe {
7
+ /**
8
+ * Trims long text and adds 'suffix' indication of longer text
9
+ * @param text - Text to be trimmed
10
+ * @param length - Maximal allowed length of text, that wont be trimmed
11
+ * @param suffix - Suffix to be added when text is trimmed
12
+ */
13
+ transform(text, length, suffix = '...') {
14
+ if (!text) {
15
+ return '';
16
+ }
17
+ if (text.length > length) {
18
+ return text.substring(0, length) + suffix;
19
+ }
20
+ return text;
21
+ }
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: TrimTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
23
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.0.5", ngImport: i0, type: TrimTextPipe, isStandalone: true, name: "trimText" });
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: TrimTextPipe, decorators: [{
26
+ type: Pipe,
27
+ args: [{ name: 'trimText', standalone: true }]
28
+ }] });
29
+ //# sourceMappingURL=trimText.pipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trimText.pipe.js","sourceRoot":"","sources":["../../../../src/pipes/trimText/trimText.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAgB,MAAM,eAAe,CAAC;;AAElD;;GAEG;AAEH,MAAM,OAAO,YAAY;IAErB;;;;;OAKG;IACI,SAAS,CAAC,IAA2B,EAAE,MAAc,EAAE,SAAiB,KAAK;QAEhF,IAAG,CAAC,IAAI,EACR;YACI,OAAO,EAAE,CAAC;SACb;QAED,IAAG,IAAI,CAAC,MAAM,GAAG,MAAM,EACvB;YACI,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;SAC7C;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;uGArBQ,YAAY;qGAAZ,YAAY;;2FAAZ,YAAY;kBADxB,IAAI;mBAAC,EAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAC","sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\n\n/**\n * Trims long text and adds 'suffix' indication of longer text\n */\n@Pipe({name: 'trimText', standalone: true})\nexport class TrimTextPipe implements PipeTransform\n{\n /**\n * Trims long text and adds 'suffix' indication of longer text\n * @param text - Text to be trimmed\n * @param length - Maximal allowed length of text, that wont be trimmed\n * @param suffix - Suffix to be added when text is trimmed\n */\n public transform(text: string|undefined|null, length: number, suffix: string = '...'): string\n {\n if(!text)\n {\n return '';\n }\n\n if(text.length > length)\n {\n return text.substring(0, length) + suffix;\n }\n\n return text;\n }\n}\n"]}
@@ -8,7 +8,7 @@ export declare class DebugDataCopyClickDirective {
8
8
  /**
9
9
  * Data to be copied as serialized json
10
10
  */
11
- data: any;
11
+ data: unknown;
12
12
  /**
13
13
  * Adds css class clickable to this element
14
14
  *
@@ -23,6 +23,6 @@ export declare class DebugDataCopyClickDirective {
23
23
  */
24
24
  copyData(): void;
25
25
  static ɵfac: i0.ɵɵFactoryDeclaration<DebugDataCopyClickDirective, never>;
26
- static ɵdir: i0.ɵɵDirectiveDeclaration<DebugDataCopyClickDirective, "debug-data[copyClick]", never, { "data": { "alias": "copyClick"; "required": false; }; }, {}, never, never, false, never>;
26
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DebugDataCopyClickDirective, "debug-data[copyClick]", never, { "data": { "alias": "copyClick"; "required": false; }; }, {}, never, never, true, never>;
27
27
  }
28
28
  //# sourceMappingURL=debugDataCopyClick.directive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debugDataCopyClick.directive.d.ts","sourceRoot":"","sources":["debugDataCopyClick.directive.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;;AAEjD;;GAEG;AACH,qBAIa,2BAA2B;IAqBxB,SAAS,CAAC,UAAU,EAAE,SAAS;IAjB3C;;OAEG;IAEI,IAAI,EAAE,GAAG,CAAC;IAIjB;;;;OAIG;IAEI,SAAS,EAAE,OAAO,CAAQ;gBAGX,UAAU,EAAE,SAAS;IAM3C;;;;OAIG;IAEI,QAAQ,IAAI,IAAI;yCAjCd,2BAA2B;2CAA3B,2BAA2B;CAqCvC"}
1
+ {"version":3,"file":"debugDataCopyClick.directive.d.ts","sourceRoot":"","sources":["debugDataCopyClick.directive.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;;AAEjD;;GAEG;AACH,qBAKa,2BAA2B;IAqBxB,SAAS,CAAC,UAAU,EAAE,SAAS;IAjB3C;;OAEG;IAEI,IAAI,EAAE,OAAO,CAAC;IAIrB;;;;OAIG;IAEI,SAAS,EAAE,OAAO,CAAQ;gBAGX,UAAU,EAAE,SAAS;IAM3C;;;;OAIG;IAEI,QAAQ,IAAI,IAAI;yCAjCd,2BAA2B;2CAA3B,2BAA2B;CAqCvC"}
@@ -1,12 +1,12 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "../directives/debugDataCopyClick/debugDataCopyClick.directive";
3
- import * as i2 from "@anglr/common";
2
+ import * as i1 from "@anglr/common";
3
+ import * as i2 from "../directives/debugDataCopyClick/debugDataCopyClick.directive";
4
4
  /**
5
5
  * Module for debug data copy click directive
6
6
  */
7
7
  export declare class DebugDataCopyClickModule {
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<DebugDataCopyClickModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<DebugDataCopyClickModule, [typeof i1.DebugDataCopyClickDirective], never, [typeof i1.DebugDataCopyClickDirective, typeof i2.DebugDataModule]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DebugDataCopyClickModule, never, [typeof i1.DebugDataComponent, typeof i2.DebugDataCopyClickDirective], [typeof i2.DebugDataCopyClickDirective, typeof i1.DebugDataComponent]>;
10
10
  static ɵinj: i0.ɵɵInjectorDeclaration<DebugDataCopyClickModule>;
11
11
  }
12
12
  //# sourceMappingURL=debugDataCopyClick.module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debugDataCopyClick.module.d.ts","sourceRoot":"","sources":["debugDataCopyClick.module.ts"],"names":[],"mappings":";;;AAKA;;GAEG;AACH,qBAea,wBAAwB;yCAAxB,wBAAwB;0CAAxB,wBAAwB;0CAAxB,wBAAwB;CAEpC"}
1
+ {"version":3,"file":"debugDataCopyClick.module.d.ts","sourceRoot":"","sources":["debugDataCopyClick.module.ts"],"names":[],"mappings":";;;AAKA;;GAEG;AACH,qBAaa,wBAAwB;yCAAxB,wBAAwB;0CAAxB,wBAAwB;0CAAxB,wBAAwB;CAEpC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anglr/common",
3
- "version": "19.1.0-beta.20240513175039",
3
+ "version": "19.1.0-beta.20240513181744",
4
4
  "description": "Angular module for common angular stuff",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -4,12 +4,13 @@ import * as i2 from "../pipes/isPresent/isPresent.pipe";
4
4
  import * as i3 from "../pipes/urlEncode/urlEncode.pipe";
5
5
  import * as i4 from "../pipes/mergeCssClasses/mergeCssClasses.pipe";
6
6
  import * as i5 from "../pipes/keys/keys.pipe";
7
+ import * as i6 from "../pipes/trimText/trimText.pipe";
7
8
  /**
8
9
  * Module for common utility stuff
9
10
  */
10
11
  export declare class CommonUtilsModule {
11
12
  static ɵfac: i0.ɵɵFactoryDeclaration<CommonUtilsModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<CommonUtilsModule, never, [typeof i1.IsNaNSAPipe, typeof i2.IsPresentSAPipe, typeof i3.UrlEncodeSAPipe, typeof i4.MergeCssClassesSAPipe, typeof i5.KeysSAPipe], [typeof i1.IsNaNSAPipe, typeof i2.IsPresentSAPipe, typeof i3.UrlEncodeSAPipe, typeof i4.MergeCssClassesSAPipe, typeof i5.KeysSAPipe]>;
13
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CommonUtilsModule, never, [typeof i1.IsNaNSAPipe, typeof i2.IsPresentSAPipe, typeof i3.UrlEncodeSAPipe, typeof i4.MergeCssClassesSAPipe, typeof i5.KeysSAPipe, typeof i6.TrimTextPipe], [typeof i1.IsNaNSAPipe, typeof i2.IsPresentSAPipe, typeof i3.UrlEncodeSAPipe, typeof i4.MergeCssClassesSAPipe, typeof i5.KeysSAPipe, typeof i6.TrimTextPipe]>;
13
14
  static ɵinj: i0.ɵɵInjectorDeclaration<CommonUtilsModule>;
14
15
  }
15
16
  //# sourceMappingURL=commonUtils.module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commonUtils.module.d.ts","sourceRoot":"","sources":["commonUtils.module.ts"],"names":[],"mappings":";;;;;;AAIA;;GAEG;AACH,qBAmBa,iBAAiB;yCAAjB,iBAAiB;0CAAjB,iBAAiB;0CAAjB,iBAAiB;CAE7B"}
1
+ {"version":3,"file":"commonUtils.module.d.ts","sourceRoot":"","sources":["commonUtils.module.ts"],"names":[],"mappings":";;;;;;;AAIA;;GAEG;AACH,qBAqBa,iBAAiB;yCAAjB,iBAAiB;0CAAjB,iBAAiB;0CAAjB,iBAAiB;CAE7B"}
@@ -4,6 +4,7 @@
4
4
  font-style: italic;
5
5
  text-shadow: 0 0 1px;
6
6
  display: none;
7
+ color: var(--common-debugData-foreground);
7
8
  }
8
9
 
9
10
  :host(.clickable)
@@ -33,6 +33,6 @@ export declare class DebugDataComponent implements OnDestroy, OnInit {
33
33
  */
34
34
  protected setEnabledCssClass(): void;
35
35
  static ɵfac: i0.ɵɵFactoryDeclaration<DebugDataComponent, never>;
36
- static ɵcmp: i0.ɵɵComponentDeclaration<DebugDataComponent, "debug-data", never, {}, {}, never, ["*"], false, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<DebugDataComponent, "debug-data", never, {}, {}, never, ["*"], true, never>;
37
37
  }
38
38
  //# sourceMappingURL=debugData.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debugData.component.d.ts","sourceRoot":"","sources":["debugData.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAU,cAAc,EAAC,MAAM,eAAe,CAAC;AAC3I,OAAO,EAAC,YAAY,EAAC,MAAM,MAAM,CAAC;AAElC,OAAO,EAAC,uBAAuB,EAAC,MAAM,0DAA0D,CAAC;;AAOjG;;GAEG;AACH,qBAOa,kBAAmB,YAAW,SAAS,EAAE,MAAM;IAmB5C,SAAS,CAAC,mBAAmB,EAAE,uBAAuB;IACtD,SAAS,CAAC,cAAc,EAAE,iBAAiB;IAC3C,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC;IAjBtD;;OAEG;IACH,SAAS,CAAC,kCAAkC,EAAE,YAAY,GAAC,SAAS,GAAC,IAAI,CAAC;IAI1E;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,CAAiB;gBAGrC,mBAAmB,EAAE,uBAAuB,EAC5C,cAAc,EAAE,iBAAiB,EACjC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC;IAMtD;;OAEG;IACI,QAAQ,IAAI,IAAI;IAgBvB;;OAEG;IACI,WAAW,IAAI,IAAI;IAQ1B;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;yCA5D3B,kBAAkB;2CAAlB,kBAAkB;CAuE9B"}
1
+ {"version":3,"file":"debugData.component.d.ts","sourceRoot":"","sources":["debugData.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAU,cAAc,EAAC,MAAM,eAAe,CAAC;AAC3I,OAAO,EAAC,YAAY,EAAC,MAAM,MAAM,CAAC;AAElC,OAAO,EAAC,uBAAuB,EAAC,MAAM,0DAA0D,CAAC;;AAOjG;;GAEG;AACH,qBAQa,kBAAmB,YAAW,SAAS,EAAE,MAAM;IAmB5C,SAAS,CAAC,mBAAmB,EAAE,uBAAuB;IACtD,SAAS,CAAC,cAAc,EAAE,iBAAiB;IAC3C,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC;IAjBtD;;OAEG;IACH,SAAS,CAAC,kCAAkC,EAAE,YAAY,GAAC,SAAS,GAAC,IAAI,CAAC;IAI1E;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,CAAiB;gBAGrC,mBAAmB,EAAE,uBAAuB,EAC5C,cAAc,EAAE,iBAAiB,EACjC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC;IAMtD;;OAEG;IACI,QAAQ,IAAI,IAAI;IAgBvB;;OAEG;IACI,WAAW,IAAI,IAAI;IAQ1B;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;yCA5D3B,kBAAkB;2CAAlB,kBAAkB;CAuE9B"}
@@ -1,3 +1,4 @@
1
- <ng-template [ngIf]="enabled()">
2
- <ng-content></ng-content>
3
- </ng-template>
1
+ @if(enabled())
2
+ {
3
+ <ng-content/>
4
+ }
@@ -1,12 +1,11 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "../components/debugData/debugData.component";
3
- import * as i2 from "@angular/common";
4
3
  /**
5
4
  * Module that contains debug data component
6
5
  */
7
6
  export declare class DebugDataModule {
8
7
  static ɵfac: i0.ɵɵFactoryDeclaration<DebugDataModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<DebugDataModule, [typeof i1.DebugDataComponent], [typeof i2.CommonModule], [typeof i1.DebugDataComponent]>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DebugDataModule, never, [typeof i1.DebugDataComponent], [typeof i1.DebugDataComponent]>;
10
9
  static ɵinj: i0.ɵɵInjectorDeclaration<DebugDataModule>;
11
10
  }
12
11
  //# sourceMappingURL=debugData.module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debugData.module.d.ts","sourceRoot":"","sources":["debugData.module.ts"],"names":[],"mappings":";;;AAKA;;GAEG;AACH,qBAea,eAAe;yCAAf,eAAe;0CAAf,eAAe;0CAAf,eAAe;CAE3B"}
1
+ {"version":3,"file":"debugData.module.d.ts","sourceRoot":"","sources":["debugData.module.ts"],"names":[],"mappings":";;AAIA;;GAEG;AACH,qBAWa,eAAe;yCAAf,eAAe;0CAAf,eAAe;0CAAf,eAAe;CAE3B"}
@@ -6,5 +6,6 @@ export * from './isPresent/isPresent.pipe';
6
6
  export * from './keys/keys.pipe';
7
7
  export * from './localize/localize.pipe';
8
8
  export * from './mergeCssClasses/mergeCssClasses.pipe';
9
+ export * from './trimText/trimText.pipe';
9
10
  export * from './urlEncode/urlEncode.pipe';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sCAAsC,CAAC;AACrD,cAAc,sDAAsD,CAAC;AACrE,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AACvD,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sCAAsC,CAAC;AACrD,cAAc,sDAAsD,CAAC;AACrE,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AACvD,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Trims long text and adds 'suffix' indication of longer text
5
+ */
6
+ export declare class TrimTextPipe implements PipeTransform {
7
+ /**
8
+ * Trims long text and adds 'suffix' indication of longer text
9
+ * @param text - Text to be trimmed
10
+ * @param length - Maximal allowed length of text, that wont be trimmed
11
+ * @param suffix - Suffix to be added when text is trimmed
12
+ */
13
+ transform(text: string | undefined | null, length: number, suffix?: string): string;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<TrimTextPipe, never>;
15
+ static ɵpipe: i0.ɵɵPipeDeclaration<TrimTextPipe, "trimText", true>;
16
+ }
17
+ //# sourceMappingURL=trimText.pipe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trimText.pipe.d.ts","sourceRoot":"","sources":["trimText.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,aAAa,EAAC,MAAM,eAAe,CAAC;;AAElD;;GAEG;AACH,qBACa,YAAa,YAAW,aAAa;IAE9C;;;;;OAKG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAC,SAAS,GAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAc,GAAG,MAAM;yCARpF,YAAY;uCAAZ,YAAY;CAsBxB"}
@@ -26,10 +26,19 @@
26
26
  }
27
27
  }
28
28
 
29
+ @mixin buildThemeColorsDebugData($theme)
30
+ {
31
+ @if $theme
32
+ {
33
+ --common-debugData-foreground: #{map.get(map.get($theme, 'debugData'), 'foreground')};
34
+ }
35
+ }
36
+
29
37
  @mixin buildThemeColors($theme)
30
38
  {
31
39
  @include buildThemeColorsTooltip($theme);
32
40
  @include buildThemeColorsMultiButton($theme);
41
+ @include buildThemeColorsDebugData($theme);
33
42
  }
34
43
 
35
44
  @mixin buildThemeCssMisc
@@ -66,6 +75,11 @@
66
75
  @include buildThemeCssMultiButton();
67
76
  }
68
77
 
78
+ @mixin buildThemeDebugData($theme)
79
+ {
80
+ @include buildThemeColorsDebugData($theme);
81
+ }
82
+
69
83
  @mixin buildTheme($theme)
70
84
  {
71
85
  @include buildThemeColors($theme);
@@ -16,4 +16,8 @@ $defaultTheme:
16
16
  shadow: #f0f0f0,
17
17
  ),
18
18
  ),
19
+ debugData:
20
+ (
21
+ foreground: #2CB9FF,
22
+ ),
19
23
  );
package/version.bak CHANGED
@@ -1 +1 @@
1
- 19.1.0-beta.20240513175039
1
+ 19.1.0-beta.20240513181744
package/src/style.scss DELETED
@@ -1,87 +0,0 @@
1
- .progress-overlay-div
2
- {
3
- position: absolute;
4
- transition: all 250ms linear;
5
- background-color: rgba(0, 0, 0, 0.45);
6
- height: 100%;
7
- width: 100%;
8
- top: 0;
9
- left: 0;
10
- z-index: 100;
11
- overflow: hidden;
12
-
13
- & > div.spinner
14
- {
15
- border: 3px solid #eee;
16
- border-bottom: none;
17
- border-top-left-radius: 24px;
18
- border-top-right-radius: 24px;
19
- height: 12px;
20
- margin-left: auto;
21
- margin-right: auto;
22
- position: relative;
23
- top: calc(50% - 6px);
24
- width: 24px;
25
- animation-name: rotate-progress-overlay;
26
- animation-duration: 450ms;
27
- animation-iteration-count: infinite;
28
- animation-timing-function: linear;
29
- transform-origin: calc(50%) calc(50% + 6px);
30
- }
31
-
32
- & > .messages
33
- {
34
- color: #eee;
35
- top: calc(50% + 12px);
36
- position: relative;
37
- text-align: center;
38
- font-weight: bold;
39
- display: flex;
40
- flex-direction: column-reverse;
41
-
42
- .message-0,
43
- .message-1,
44
- .message-2,
45
- .message-out
46
- {
47
- transition: all 500ms;
48
- position: absolute;
49
- width: 100%;
50
- top: 0;
51
- }
52
-
53
- .message-1
54
- {
55
- transform: scale3d(0.7, 0.7, 0.7) translateZ(-20px) translateY(20px);
56
- opacity: 0.8;
57
- }
58
-
59
- .message-2
60
- {
61
- transform: scale3d(0.35, 0.35, 0.35) translateZ(-40px) translateY(80px);
62
- opacity: 0.5;
63
- }
64
-
65
- .message-out
66
- {
67
- transform: scale3d(0, 0, 0) translateZ(-100px) translateY(160px);
68
- }
69
- }
70
- }
71
-
72
- debug-data
73
- {
74
- color: #2CB9FF;
75
- }
76
-
77
- @keyframes rotate-progress-overlay
78
- {
79
- from
80
- {
81
- transform: rotate(0deg);
82
- }
83
- to
84
- {
85
- transform: rotate(360deg);
86
- }
87
- }