@enigmatry/entry-components 17.0.0-preview.4 → 17.0.0-preview.5.1

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 (136) hide show
  1. package/README.md +32 -32
  2. package/assets/nswag-templates/Client.RequestBody.liquid +95 -95
  3. package/assets/nswag-templates/Client.RequestUrl.liquid +67 -67
  4. package/assets/nswag-templates/ConvertToClass.liquid +64 -64
  5. package/assets/nswag-templates/original/Client.RequestBody.liquid +89 -89
  6. package/assets/nswag-templates/original/Client.RequestUrl.liquid +59 -59
  7. package/assets/nswag-templates/original/ConvertToClass.liquid +65 -65
  8. package/assets/nswag-templates/original/File.FormatDate.liquid +4 -4
  9. package/assets/nswag-templates/original/File.ParseDateOnly.liquid +4 -4
  10. package/button/README.md +45 -45
  11. package/date-time-picker/README.md +69 -69
  12. package/dialog/README.md +73 -73
  13. package/esm2022/button/entry-button.directive.mjs +1 -1
  14. package/esm2022/button/entry-button.module.mjs +1 -1
  15. package/esm2022/button/public-api.mjs +1 -1
  16. package/esm2022/common/common.module.mjs +1 -1
  17. package/esm2022/common/date-time/entry-date-time-adapter.mjs +1 -1
  18. package/esm2022/common/date-time/entry-date-time-formats.mjs +1 -1
  19. package/esm2022/common/date-time/entry-time-adapter.mjs +1 -1
  20. package/esm2022/common/date-time/native-time-adapter.mjs +1 -1
  21. package/esm2022/common/directives/auto-disable-button.directive.mjs +1 -1
  22. package/esm2022/common/directives/ng-control-accessor.directive.mjs +1 -1
  23. package/esm2022/common/directives/noop-control-value-accessor.mjs +1 -1
  24. package/esm2022/common/interceptors/accept-language.interceptor.mjs +1 -1
  25. package/esm2022/common/public-api.mjs +1 -1
  26. package/esm2022/date-time-picker/date-time-picker.component.mjs +3 -3
  27. package/esm2022/date-time-picker/date-time-picker.module.mjs +1 -1
  28. package/esm2022/date-time-picker/public-api.mjs +1 -1
  29. package/esm2022/date-time-picker/time-picker.component.mjs +3 -3
  30. package/esm2022/dialog/dialogs/alert/entry-alert-dialog-data.interface.mjs +1 -1
  31. package/esm2022/dialog/dialogs/alert/entry-alert-dialog.component.mjs +3 -3
  32. package/esm2022/dialog/dialogs/confirm/entry-confirm-dialog-data.interface.mjs +1 -1
  33. package/esm2022/dialog/dialogs/confirm/entry-confirm-dialog.component.mjs +3 -3
  34. package/esm2022/dialog/dialogs/entry-dialog.component.mjs +3 -3
  35. package/esm2022/dialog/dialogs/error/entry-error-dialog-data.interface.mjs +1 -1
  36. package/esm2022/dialog/dialogs/error/entry-error-dialog.component.mjs +3 -3
  37. package/esm2022/dialog/entry-dialog-buttons-alignment.type.mjs +1 -1
  38. package/esm2022/dialog/entry-dialog-config.model.mjs +1 -1
  39. package/esm2022/dialog/entry-dialog.module.mjs +1 -1
  40. package/esm2022/dialog/entry-dialog.service.mjs +1 -1
  41. package/esm2022/dialog/public-api.mjs +1 -1
  42. package/esm2022/file-input/entry-file-input.component.mjs +1 -1
  43. package/esm2022/file-input/entry-file-input.module.mjs +1 -1
  44. package/esm2022/file-input/public-api.mjs +1 -1
  45. package/esm2022/permissions/permission-type.mjs +1 -1
  46. package/esm2022/permissions/permission.directive.mjs +1 -1
  47. package/esm2022/permissions/permission.module.mjs +1 -1
  48. package/esm2022/permissions/permission.pipe.mjs +1 -1
  49. package/esm2022/permissions/public-api.mjs +1 -1
  50. package/esm2022/public-api.mjs +1 -1
  51. package/esm2022/search-filter/autocomplete/autocomplete-search-filter.component.mjs +3 -3
  52. package/esm2022/search-filter/autocomplete/autocomplete-search-filter.model.mjs +1 -1
  53. package/esm2022/search-filter/control-type.mjs +1 -1
  54. package/esm2022/search-filter/date/date-search-filter.component.mjs +3 -3
  55. package/esm2022/search-filter/date/date-search-filter.model.mjs +1 -1
  56. package/esm2022/search-filter/date-time/date-time-search-filter.component.mjs +3 -3
  57. package/esm2022/search-filter/date-time/date-time-search-filter.model.mjs +1 -1
  58. package/esm2022/search-filter/public-api.mjs +1 -1
  59. package/esm2022/search-filter/search-filter-base.model.mjs +1 -1
  60. package/esm2022/search-filter/search-filter-config.model.mjs +1 -1
  61. package/esm2022/search-filter/search-filter-params.type.mjs +1 -1
  62. package/esm2022/search-filter/select/select-search-filter.component.mjs +3 -3
  63. package/esm2022/search-filter/select/select-search-filter.model.mjs +1 -1
  64. package/esm2022/search-filter/select-option.model.mjs +1 -1
  65. package/esm2022/search-filter/text/text-search-filter.component.mjs +3 -3
  66. package/esm2022/search-filter/text/text-search-filter.model.mjs +1 -1
  67. package/esm2022/spinner/entry-spinner/spinner.component.mjs +1 -1
  68. package/esm2022/spinner/public-api.mjs +1 -1
  69. package/esm2022/spinner/spinner.module.mjs +1 -1
  70. package/esm2022/table/components/entry-cell/entry-cell.component.mjs +1 -1
  71. package/esm2022/table/components/entry-cell-context-menu/entry-cell-context-menu.component.mjs +3 -3
  72. package/esm2022/table/components/entry-cell-formatted-value/entry-cell-formatted-value.component.mjs +3 -3
  73. package/esm2022/table/components/entry-table/entry-table.component.mjs +3 -3
  74. package/esm2022/table/entry-table.module.mjs +1 -1
  75. package/esm2022/table/interfaces/entry-table-config.mjs +1 -1
  76. package/esm2022/table/interfaces/paged-query.mjs +1 -1
  77. package/esm2022/table/interfaces/pagination.mjs +1 -1
  78. package/esm2022/table/public-api.mjs +1 -1
  79. package/esm2022/validation/entry-display-control-validation.directive.mjs +1 -1
  80. package/esm2022/validation/entry-form-errors.component.mjs +13 -13
  81. package/esm2022/validation/entry-validation-config.model.mjs +1 -1
  82. package/esm2022/validation/entry-validation.mjs +1 -1
  83. package/esm2022/validation/entry-validation.module.mjs +1 -1
  84. package/esm2022/validation/public-api.mjs +1 -1
  85. package/esm2022/validation/validation-problem-details.interface.mjs +1 -1
  86. package/fesm2022/enigmatry-entry-components-button.mjs.map +1 -1
  87. package/fesm2022/enigmatry-entry-components-common.mjs.map +1 -1
  88. package/fesm2022/enigmatry-entry-components-date-time-picker.mjs +4 -4
  89. package/fesm2022/enigmatry-entry-components-date-time-picker.mjs.map +1 -1
  90. package/fesm2022/enigmatry-entry-components-dialog.mjs +8 -8
  91. package/fesm2022/enigmatry-entry-components-dialog.mjs.map +1 -1
  92. package/fesm2022/enigmatry-entry-components-file-input.mjs.map +1 -1
  93. package/fesm2022/enigmatry-entry-components-permissions.mjs.map +1 -1
  94. package/fesm2022/enigmatry-entry-components-search-filter.mjs +10 -10
  95. package/fesm2022/enigmatry-entry-components-search-filter.mjs.map +1 -1
  96. package/fesm2022/enigmatry-entry-components-spinner.mjs.map +1 -1
  97. package/fesm2022/enigmatry-entry-components-table.mjs +6 -6
  98. package/fesm2022/enigmatry-entry-components-table.mjs.map +1 -1
  99. package/fesm2022/enigmatry-entry-components-validation.mjs +12 -12
  100. package/fesm2022/enigmatry-entry-components-validation.mjs.map +1 -1
  101. package/fesm2022/enigmatry-entry-components.mjs.map +1 -1
  102. package/file-input/README.md +70 -70
  103. package/package.json +2 -2
  104. package/permissions/README.md +67 -67
  105. package/search-filter/README.md +132 -132
  106. package/styles/_generator.scss +25 -25
  107. package/styles/modules/_default-theme.scss +91 -91
  108. package/styles/modules/components/buttons/_generator.scss +10 -10
  109. package/styles/modules/components/buttons/_radio.scss +18 -18
  110. package/styles/modules/components/checkboxes/_generator.scss +31 -31
  111. package/styles/modules/components/dialogs/_generator.scss +13 -13
  112. package/styles/modules/components/forms/_generator.scss +14 -14
  113. package/styles/modules/components/inputs/_generator.scss +14 -14
  114. package/styles/modules/components/search-filter/_generator.scss +14 -14
  115. package/styles/modules/components/tables/_cells.scss +25 -25
  116. package/styles/modules/components/tables/_generator.scss +6 -6
  117. package/styles/modules/components/tables/_header.scss +10 -10
  118. package/styles/modules/components/tables/_no-result.scss +9 -9
  119. package/styles/modules/components/tables/_rows.scss +39 -39
  120. package/styles/modules/components/tables/_sorting.scss +10 -10
  121. package/styles/modules/components/tables/_table-body.scss +12 -12
  122. package/styles/modules/components/toggle/_generator.scss +47 -47
  123. package/styles/modules/typography/_fonts.scss +64 -64
  124. package/styles/modules/vendors/angular-material/_generator.scss +46 -46
  125. package/styles/modules/vendors/angular-material/_palette-generator.scss +32 -32
  126. package/styles/modules/vendors/angular-material/_typography-generator.scss +107 -107
  127. package/styles/partials/core/components/_index.scss +4 -4
  128. package/styles/partials/core/components/date-time-picker/_general.scss +64 -64
  129. package/styles/partials/core/components/dialogs/_general.scss +23 -23
  130. package/styles/partials/core/components/forms/_general.scss +21 -21
  131. package/styles/partials/core/components/search-filter/_general.scss +8 -8
  132. package/styles/partials/core/components/tables/_general.scss +17 -17
  133. package/styles/partials/generator-test.scss +41 -41
  134. package/styles/partials/theming.scss +1 -1
  135. package/table/README.md +76 -76
  136. package/validation/README.md +108 -108
@@ -1,65 +1,65 @@
1
- @use '@angular/material' as mat;
2
- @use '@enigmatry/scss-foundation/src/modules/display/items';
3
-
4
- .entry-date-time-picker {
5
- @include items.fully-align(baseline, space-between, row, nowrap);
6
-
7
- .hidden, .mat-mdc-text-field-wrapper.mdc-text-field--outlined .hidden.mdc-text-field__input {
8
- display: none;
9
- }
10
- }
11
-
12
- .mat-datepicker-actions {
13
- flex-direction: column;
14
- border-top: 1px solid #D1D1D1;
15
-
16
- .entry-submit-button {
17
- align-self: flex-end;
18
- min-width: 48px;
19
-
20
- .icon {
21
- margin: 0;
22
- }
23
- }
24
- }
25
-
26
- .entry-time-picker {
27
- @include mat.form-field-density(-3);
28
- display: flex;
29
- flex-wrap: nowrap;
30
- margin-top: 20px;
31
-
32
- .mat-mdc-form-field {
33
- flex: 1 1 calc(50% - 15px);
34
- width: 50px;
35
- margin-right: 15px;
36
-
37
- &:last-of-type {
38
- margin-right: 0;
39
- }
40
-
41
- .mdc-text-field {
42
- padding: {
43
- right: 0;
44
- left: 12px;
45
- }
46
- }
47
-
48
- .mat-mdc-select-value-text {
49
- font-size: 13px;
50
- }
51
-
52
- .mdc-text-field--filled:not(.mdc-text-field--disabled) {
53
- background-color: transparent;
54
- }
55
-
56
- &:hover .mat-mdc-form-field-focus-overlay {
57
- opacity: 0;
58
- }
59
- }
60
-
61
- .time-separator {
62
- @include items.align-center();
63
- transform: translate(-7px, -10px);
64
- }
1
+ @use '@angular/material' as mat;
2
+ @use 'scss-foundation/src/modules/display/items';
3
+
4
+ .entry-date-time-picker {
5
+ @include items.fully-align(baseline, space-between, row, nowrap);
6
+
7
+ .hidden, .mat-mdc-text-field-wrapper.mdc-text-field--outlined .hidden.mdc-text-field__input {
8
+ display: none;
9
+ }
10
+ }
11
+
12
+ .mat-datepicker-actions {
13
+ flex-direction: column;
14
+ border-top: 1px solid #D1D1D1;
15
+
16
+ .entry-submit-button {
17
+ align-self: flex-end;
18
+ min-width: 48px;
19
+
20
+ .icon {
21
+ margin: 0;
22
+ }
23
+ }
24
+ }
25
+
26
+ .entry-time-picker {
27
+ @include mat.form-field-density(-3);
28
+ display: flex;
29
+ flex-wrap: nowrap;
30
+ margin-top: 20px;
31
+
32
+ .mat-mdc-form-field {
33
+ flex: 1 1 calc(50% - 15px);
34
+ width: 50px;
35
+ margin-right: 15px;
36
+
37
+ &:last-of-type {
38
+ margin-right: 0;
39
+ }
40
+
41
+ .mdc-text-field {
42
+ padding: {
43
+ right: 0;
44
+ left: 12px;
45
+ }
46
+ }
47
+
48
+ .mat-mdc-select-value-text {
49
+ font-size: 13px;
50
+ }
51
+
52
+ .mdc-text-field--filled:not(.mdc-text-field--disabled) {
53
+ background-color: transparent;
54
+ }
55
+
56
+ &:hover .mat-mdc-form-field-focus-overlay {
57
+ opacity: 0;
58
+ }
59
+ }
60
+
61
+ .time-separator {
62
+ @include items.align-center();
63
+ transform: translate(-7px, -10px);
64
+ }
65
65
  }
@@ -1,23 +1,23 @@
1
- @use 'scss-foundation/src/modules/display/items';
2
- @use 'scss-foundation/src/modules/text/modification' as text;
3
-
4
- .entry-dialog {
5
- .dialog-header {
6
- @include items.fully-align(center, space-between, row, nowrap);
7
-
8
- .title {
9
- @include text.ellipsis();
10
- }
11
- }
12
-
13
- .dialog-content {
14
- display: inline-block;
15
- width: 100%;
16
- /* stylelint-disable-next-line unit-allowed-list */
17
- max-height: 50vh;
18
- }
19
-
20
- .dialog-actions {
21
- padding: 0 24px 14px;
22
- }
23
- }
1
+ @use 'scss-foundation/src/modules/display/items';
2
+ @use 'scss-foundation/src/modules/text/modification' as text;
3
+
4
+ .entry-dialog {
5
+ .dialog-header {
6
+ @include items.fully-align(center, space-between, row, nowrap);
7
+
8
+ .title {
9
+ @include text.ellipsis();
10
+ }
11
+ }
12
+
13
+ .dialog-content {
14
+ display: inline-block;
15
+ width: 100%;
16
+ /* stylelint-disable-next-line unit-allowed-list */
17
+ max-height: 50vh;
18
+ }
19
+
20
+ .dialog-actions {
21
+ padding: 0 24px 14px;
22
+ }
23
+ }
@@ -1,22 +1,22 @@
1
- @use '@enigmatry/scss-foundation/src/modules/display/items';
2
-
3
- .entry-form {
4
- .action-buttons .mdc-button:not(:first-child) {
5
- margin-left: 10px;
6
- }
7
-
8
- .entry-checkbox {
9
- display: block;
10
- }
11
-
12
- .mdc-form-field {
13
- margin-bottom: 10px;
14
- }
15
- }
16
-
17
- .datetimepicker .mat-form-field-appearance-outline .mat-mdc-form-field-infix {
18
- padding: {
19
- top: 8px;
20
- bottom: 8px;
21
- }
1
+ @use 'scss-foundation/src/modules/display/items';
2
+
3
+ .entry-form {
4
+ .action-buttons .mdc-button:not(:first-child) {
5
+ margin-left: 10px;
6
+ }
7
+
8
+ .entry-checkbox {
9
+ display: block;
10
+ }
11
+
12
+ .mdc-form-field {
13
+ margin-bottom: 10px;
14
+ }
15
+ }
16
+
17
+ .datetimepicker .mat-form-field-appearance-outline .mat-mdc-form-field-infix {
18
+ padding: {
19
+ top: 8px;
20
+ bottom: 8px;
21
+ }
22
22
  }
@@ -1,9 +1,9 @@
1
- @use '@enigmatry/scss-foundation/src/modules/display/items';
2
-
3
- .search-form-container {
4
- @include items.align-center();
5
-
6
- .form-field {
7
- width: 200px;
8
- }
1
+ @use 'scss-foundation/src/modules/display/items';
2
+
3
+ .search-form-container {
4
+ @include items.align-center();
5
+
6
+ .form-field {
7
+ width: 200px;
8
+ }
9
9
  }
@@ -1,17 +1,17 @@
1
- @use '@enigmatry/scss-foundation/src/modules/display/items';
2
-
3
- .entry-table {
4
- display: flex;
5
- flex-direction: column;
6
- overflow: auto;
7
-
8
- .pagination {
9
- margin-bottom: 10px;
10
- }
11
-
12
- .no-results {
13
- @include items.align-absolute-center();
14
- flex: 1;
15
- min-height: 50px;
16
- }
17
- }
1
+ @use 'scss-foundation/src/modules/display/items';
2
+
3
+ .entry-table {
4
+ display: flex;
5
+ flex-direction: column;
6
+ overflow: auto;
7
+
8
+ .pagination {
9
+ margin-bottom: 10px;
10
+ }
11
+
12
+ .no-results {
13
+ @include items.align-absolute-center();
14
+ flex: 1;
15
+ min-height: 50px;
16
+ }
17
+ }
@@ -1,42 +1,42 @@
1
- @use '../generator';
2
-
3
- $custom-theme: (
4
- general: (
5
- colors: (
6
- primary: #FAE3C1,
7
- disabled: (
8
- foreground: cyan,
9
- background: magenta
10
- )
11
- ),
12
- fonts: (
13
- body: (
14
- family: 'My-Font',
15
- size: 41px
16
- ),
17
- buttons: (
18
- size: 26px
19
- )
20
- ),
21
- inputs: (
22
- background: yellow
23
- ),
24
- checkboxes: (
25
- background: red,
26
- border-hover-color: green
27
- )
28
- ),
29
- tables: (
30
- cells: (
31
- edge-gap: 11px,
32
- padding: 202px
33
- )
34
- ),
35
- dialogs: (
36
- title: (
37
- size: 42px
38
- )
39
- )
40
- );
41
-
1
+ @use '../generator';
2
+
3
+ $custom-theme: (
4
+ general: (
5
+ colors: (
6
+ primary: #FAE3C1,
7
+ disabled: (
8
+ foreground: cyan,
9
+ background: magenta
10
+ )
11
+ ),
12
+ fonts: (
13
+ body: (
14
+ family: 'My-Font',
15
+ size: 41px
16
+ ),
17
+ buttons: (
18
+ size: 26px
19
+ )
20
+ ),
21
+ inputs: (
22
+ background: yellow
23
+ ),
24
+ checkboxes: (
25
+ background: red,
26
+ border-hover-color: green
27
+ )
28
+ ),
29
+ tables: (
30
+ cells: (
31
+ edge-gap: 11px,
32
+ padding: 202px
33
+ )
34
+ ),
35
+ dialogs: (
36
+ title: (
37
+ size: 42px
38
+ )
39
+ )
40
+ );
41
+
42
42
  @include generator.generate-from($custom-theme);
@@ -1 +1 @@
1
- @use 'core/components';
1
+ @use 'core/components';
package/table/README.md CHANGED
@@ -1,76 +1,76 @@
1
- # Entry table
2
-
3
- Reusable table component with context menu, sorting and paging.
4
-
5
- ## Installation
6
-
7
- ```
8
- npm install @enigmatry/entry-components
9
- ```
10
-
11
- ## Basic Usage
12
-
13
- Import the `EntryTableModule` in your `feature.module` or `shared.module`
14
-
15
- ```typescript
16
- import { EntryTableModule } from '@enigmatry/entry-components/table';
17
- ```
18
-
19
- `component.ts`
20
-
21
- ```typescript
22
- import { PagedData, ContextMenuItem, ColumnDef } from '@enigmatry/entry-components/table';
23
-
24
- @Component({
25
- ...
26
- })
27
- export class UserListComponent implements OnInit {
28
-
29
- @Input() data: PagedData<GetUsersResponseItem> | null;
30
-
31
- @Input() columns: ColumnDef[] = [];
32
- @Input() contextMenuItems: ContextMenuItem[] = [];
33
-
34
- constructor() { }
35
-
36
- ngOnInit(): void {
37
- this.columns = [
38
- { field: 'id', hide: true, sortable: true },
39
- { field: 'userName', header: `E-mail`, hide: false, sortable: true },
40
- { field: 'name', header: `Name`, hide: false, sortable: true },
41
- { field: 'createdOn', header: `Created on`, hide: false, sortable: true, type: 'date' },
42
- { field: 'updatedOn', header: `Updated on`, hide: false, sortable: true, type: 'date' }
43
- ];
44
- this.contextMenuItems = [
45
- { id: 'edit', name: `Edit`, icon: 'edit' }
46
- ];
47
- }
48
- }
49
- ```
50
-
51
- `component.html`
52
-
53
- ```html
54
- <entry-table
55
- [columns]="columns"
56
- [data]="data"
57
- [showPaginator]="true"
58
- [showContextMenu]="true"
59
- [contextMenuItems]="contextMenuItems"
60
- (pageChange)="pageChange.emit($event)"
61
- (sortChange)="sortChange.emit($event)"
62
- (rowSelectionChange)="selectionChange.emit($event)"
63
- (contextMenuItemSelected)="contextMenuItemSelected.emit($event)">
64
- </entry-table>
65
- ```
66
-
67
- ## Compatibility with Angular Versions
68
-
69
- | @enigmatry/entry-components | Angular version
70
- |-|-|
71
- |1.14.x| = 14
72
- |1.15.x| = 15
73
-
74
- ## License
75
-
76
- Apache-2 © Enigmatry
1
+ # Entry table
2
+
3
+ Reusable table component with context menu, sorting and paging.
4
+
5
+ ## Installation
6
+
7
+ ```
8
+ npm install @enigmatry/entry-components
9
+ ```
10
+
11
+ ## Basic Usage
12
+
13
+ Import the `EntryTableModule` in your `feature.module` or `shared.module`
14
+
15
+ ```typescript
16
+ import { EntryTableModule } from '@enigmatry/entry-components/table';
17
+ ```
18
+
19
+ `component.ts`
20
+
21
+ ```typescript
22
+ import { PagedData, ContextMenuItem, ColumnDef } from '@enigmatry/entry-components/table';
23
+
24
+ @Component({
25
+ ...
26
+ })
27
+ export class UserListComponent implements OnInit {
28
+
29
+ @Input() data: PagedData<GetUsersResponseItem> | null;
30
+
31
+ @Input() columns: ColumnDef[] = [];
32
+ @Input() contextMenuItems: ContextMenuItem[] = [];
33
+
34
+ constructor() { }
35
+
36
+ ngOnInit(): void {
37
+ this.columns = [
38
+ { field: 'id', hide: true, sortable: true },
39
+ { field: 'userName', header: `E-mail`, hide: false, sortable: true },
40
+ { field: 'name', header: `Name`, hide: false, sortable: true },
41
+ { field: 'createdOn', header: `Created on`, hide: false, sortable: true, type: 'date' },
42
+ { field: 'updatedOn', header: `Updated on`, hide: false, sortable: true, type: 'date' }
43
+ ];
44
+ this.contextMenuItems = [
45
+ { id: 'edit', name: `Edit`, icon: 'edit' }
46
+ ];
47
+ }
48
+ }
49
+ ```
50
+
51
+ `component.html`
52
+
53
+ ```html
54
+ <entry-table
55
+ [columns]="columns"
56
+ [data]="data"
57
+ [showPaginator]="true"
58
+ [showContextMenu]="true"
59
+ [contextMenuItems]="contextMenuItems"
60
+ (pageChange)="pageChange.emit($event)"
61
+ (sortChange)="sortChange.emit($event)"
62
+ (rowSelectionChange)="selectionChange.emit($event)"
63
+ (contextMenuItemSelected)="contextMenuItemSelected.emit($event)">
64
+ </entry-table>
65
+ ```
66
+
67
+ ## Compatibility with Angular Versions
68
+
69
+ | @enigmatry/entry-components | Angular version
70
+ |-|-|
71
+ |1.14.x| = 14
72
+ |1.15.x| = 15
73
+
74
+ ## License
75
+
76
+ Apache-2 © Enigmatry