@leanix/components 0.4.531 → 0.4.532

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 (157) hide show
  1. package/fesm2022/leanix-components.mjs +365 -365
  2. package/fesm2022/leanix-components.mjs.map +1 -1
  3. package/lib/core-ui/tooltip/tooltip.directive.d.ts +1 -1
  4. package/lib/forms-ui/components/keyboard-select.directive.d.ts +1 -1
  5. package/lib/forms-ui/models/base-select.directive.d.ts +1 -1
  6. package/lib/tab-ui/components/tab-group/tab-group.component.d.ts +1 -1
  7. package/package.json +10 -14
  8. package/esm2022/index.mjs +0 -145
  9. package/esm2022/leanix-components.mjs +0 -5
  10. package/esm2022/lib/core-ui/components/avatar/avatar.component.mjs +0 -40
  11. package/esm2022/lib/core-ui/components/avatar/avatar.helpers.mjs +0 -49
  12. package/esm2022/lib/core-ui/components/avatar/avatar.model.mjs +0 -33
  13. package/esm2022/lib/core-ui/components/avatar-group/avatar-group.component.mjs +0 -75
  14. package/esm2022/lib/core-ui/components/badge/badge.component.mjs +0 -58
  15. package/esm2022/lib/core-ui/components/banner/banner.component.mjs +0 -68
  16. package/esm2022/lib/core-ui/components/banner/banner.models.mjs +0 -12
  17. package/esm2022/lib/core-ui/components/button/button.component.mjs +0 -179
  18. package/esm2022/lib/core-ui/components/button-group/button-group.component.mjs +0 -28
  19. package/esm2022/lib/core-ui/components/card/card.component.mjs +0 -26
  20. package/esm2022/lib/core-ui/components/collapsible/collapsible.component.mjs +0 -52
  21. package/esm2022/lib/core-ui/components/counter/counter.component.mjs +0 -30
  22. package/esm2022/lib/core-ui/components/ellipsis/ellipsis.component.mjs +0 -143
  23. package/esm2022/lib/core-ui/components/empty-state/empty-state.component.mjs +0 -41
  24. package/esm2022/lib/core-ui/components/icon-scale/icon-scale.component.mjs +0 -36
  25. package/esm2022/lib/core-ui/components/skeleton/skeleton.component.mjs +0 -44
  26. package/esm2022/lib/core-ui/components/spinner/spinner.component.mjs +0 -26
  27. package/esm2022/lib/core-ui/components/stepper/stepper.component.mjs +0 -70
  28. package/esm2022/lib/core-ui/components/table/table-header/table-header.component.mjs +0 -128
  29. package/esm2022/lib/core-ui/components/table/table.component.mjs +0 -77
  30. package/esm2022/lib/core-ui/components/tiny-spinner/tiny-spinner.component.mjs +0 -14
  31. package/esm2022/lib/core-ui/components/tokenizer/token/token.component.mjs +0 -20
  32. package/esm2022/lib/core-ui/components/tokenizer/tokenizer-overflow-popover/tokenizer-overflow-popover.component.mjs +0 -44
  33. package/esm2022/lib/core-ui/components/tokenizer/tokenizer.component.mjs +0 -149
  34. package/esm2022/lib/core-ui/core-ui.constants.mjs +0 -240
  35. package/esm2022/lib/core-ui/core-ui.module.mjs +0 -206
  36. package/esm2022/lib/core-ui/directives/after-view-init.directive.mjs +0 -33
  37. package/esm2022/lib/core-ui/directives/autoclose-group.service.mjs +0 -39
  38. package/esm2022/lib/core-ui/directives/autoclose.directive.mjs +0 -43
  39. package/esm2022/lib/core-ui/directives/autofocus.directive.mjs +0 -36
  40. package/esm2022/lib/core-ui/functions/core-css.helpers.mjs +0 -52
  41. package/esm2022/lib/core-ui/functions/highlight-text.function.mjs +0 -80
  42. package/esm2022/lib/core-ui/linkify/linkify.pipe.mjs +0 -146
  43. package/esm2022/lib/core-ui/linkify/unlinkify.pipe.mjs +0 -51
  44. package/esm2022/lib/core-ui/pipes/br.pipe.mjs +0 -24
  45. package/esm2022/lib/core-ui/pipes/contrast-color.pipe.mjs +0 -21
  46. package/esm2022/lib/core-ui/pipes/custom-date.pipe.mjs +0 -28
  47. package/esm2022/lib/core-ui/pipes/display-avatars.pipe.mjs +0 -37
  48. package/esm2022/lib/core-ui/pipes/highlight-range.pipe.mjs +0 -29
  49. package/esm2022/lib/core-ui/pipes/highlight-term.pipe.mjs +0 -57
  50. package/esm2022/lib/core-ui/pipes/lx-is-uuid.pipe.mjs +0 -22
  51. package/esm2022/lib/core-ui/pipes/lx-time-ago.pipe.mjs +0 -29
  52. package/esm2022/lib/core-ui/pipes/lx-translate.pipe.mjs +0 -50
  53. package/esm2022/lib/core-ui/pipes/markdown.pipe.mjs +0 -32
  54. package/esm2022/lib/core-ui/pipes/nbsp.pipe.mjs +0 -17
  55. package/esm2022/lib/core-ui/pipes/sort.pipe.mjs +0 -55
  56. package/esm2022/lib/core-ui/pipes/translation-after.pipe.mjs +0 -29
  57. package/esm2022/lib/core-ui/pipes/translation-before.pipe.mjs +0 -54
  58. package/esm2022/lib/core-ui/pipes/translation-between.pipe.mjs +0 -68
  59. package/esm2022/lib/core-ui/pipes/unescape-curly-braces.pipe.mjs +0 -17
  60. package/esm2022/lib/core-ui/services/resize-observer.service.mjs +0 -112
  61. package/esm2022/lib/core-ui/tooltip/to-cdk-position.function.mjs +0 -74
  62. package/esm2022/lib/core-ui/tooltip/tooltip-position.interface.mjs +0 -7
  63. package/esm2022/lib/core-ui/tooltip/tooltip.component.mjs +0 -26
  64. package/esm2022/lib/core-ui/tooltip/tooltip.directive.mjs +0 -117
  65. package/esm2022/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.mjs +0 -139
  66. package/esm2022/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.mjs +0 -38
  67. package/esm2022/lib/forms-ui/components/breadcrumb/breadcrumb.component.mjs +0 -55
  68. package/esm2022/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.mjs +0 -215
  69. package/esm2022/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.mjs +0 -135
  70. package/esm2022/lib/forms-ui/components/currency/currency-input.component.mjs +0 -159
  71. package/esm2022/lib/forms-ui/components/currency/currency-symbol-map.constant.mjs +0 -105
  72. package/esm2022/lib/forms-ui/components/currency/currency-symbol.component.mjs +0 -24
  73. package/esm2022/lib/forms-ui/components/date-input/date-input.component.mjs +0 -347
  74. package/esm2022/lib/forms-ui/components/date-picker-ui/date-formatter.mjs +0 -8
  75. package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker-inner.component.mjs +0 -312
  76. package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker-ui.module.mjs +0 -20
  77. package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker.component.mjs +0 -206
  78. package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker.config.mjs +0 -29
  79. package/esm2022/lib/forms-ui/components/date-picker-ui/daypicker.component.mjs +0 -319
  80. package/esm2022/lib/forms-ui/components/date-picker-ui/isBs3.mjs +0 -2
  81. package/esm2022/lib/forms-ui/components/date-picker-ui/monthpicker.component.mjs +0 -149
  82. package/esm2022/lib/forms-ui/components/date-picker-ui/yearpicker.component.mjs +0 -151
  83. package/esm2022/lib/forms-ui/components/drag-and-drop-list/constants.mjs +0 -5
  84. package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.mjs +0 -49
  85. package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.mjs +0 -120
  86. package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.module.mjs +0 -39
  87. package/esm2022/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.mjs +0 -137
  88. package/esm2022/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-list/keyboard-sortable-list.directive.mjs +0 -38
  89. package/esm2022/lib/forms-ui/components/error-message/error-message.component.mjs +0 -16
  90. package/esm2022/lib/forms-ui/components/expanded-dropdown/expanded-dropdown.component.mjs +0 -26
  91. package/esm2022/lib/forms-ui/components/form-error/form-error.component.mjs +0 -44
  92. package/esm2022/lib/forms-ui/components/icon/icon.component.mjs +0 -45
  93. package/esm2022/lib/forms-ui/components/input/input.component.mjs +0 -48
  94. package/esm2022/lib/forms-ui/components/keyboard-select.directive.mjs +0 -126
  95. package/esm2022/lib/forms-ui/components/multi-select/multi-select-selection/multi-select-selection.component.mjs +0 -28
  96. package/esm2022/lib/forms-ui/components/multi-select/multi-select.component.mjs +0 -318
  97. package/esm2022/lib/forms-ui/components/option/option.component.mjs +0 -99
  98. package/esm2022/lib/forms-ui/components/option-group/option-group.component.mjs +0 -29
  99. package/esm2022/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.mjs +0 -123
  100. package/esm2022/lib/forms-ui/components/options-dropdown/options-dropdown.component.mjs +0 -297
  101. package/esm2022/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.mjs +0 -94
  102. package/esm2022/lib/forms-ui/components/picker/picker-trigger.directive.mjs +0 -47
  103. package/esm2022/lib/forms-ui/components/picker/picker.component.mjs +0 -218
  104. package/esm2022/lib/forms-ui/components/picker-option/picker-option.component.mjs +0 -118
  105. package/esm2022/lib/forms-ui/components/pill-item/pill-item.component.mjs +0 -33
  106. package/esm2022/lib/forms-ui/components/pill-list/pill-list.component.mjs +0 -58
  107. package/esm2022/lib/forms-ui/components/responsive-input/responsive-input.component.mjs +0 -101
  108. package/esm2022/lib/forms-ui/components/select-list/select-list.component.mjs +0 -178
  109. package/esm2022/lib/forms-ui/components/single-select/single-select.component.mjs +0 -290
  110. package/esm2022/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.mjs +0 -71
  111. package/esm2022/lib/forms-ui/components/sorting-dropdown-trigger/sorting-dropdown-trigger.component.mjs +0 -21
  112. package/esm2022/lib/forms-ui/components/switch/switch.component.mjs +0 -51
  113. package/esm2022/lib/forms-ui/directives/contenteditable.directive.mjs +0 -130
  114. package/esm2022/lib/forms-ui/directives/form-error.directive.mjs +0 -121
  115. package/esm2022/lib/forms-ui/directives/form-submit.directive.mjs +0 -29
  116. package/esm2022/lib/forms-ui/directives/keyboard-action-source.directive.mjs +0 -63
  117. package/esm2022/lib/forms-ui/directives/mark-invalid.directive.mjs +0 -39
  118. package/esm2022/lib/forms-ui/directives/max-length-counter.directive.mjs +0 -131
  119. package/esm2022/lib/forms-ui/directives/select-dropdown.directive.mjs +0 -32
  120. package/esm2022/lib/forms-ui/directives/selectable-item.directive.mjs +0 -34
  121. package/esm2022/lib/forms-ui/directives/selected-option.directive.mjs +0 -27
  122. package/esm2022/lib/forms-ui/forms-ui.module.mjs +0 -270
  123. package/esm2022/lib/forms-ui/helpers/key-codes.constants.mjs +0 -13
  124. package/esm2022/lib/forms-ui/helpers/keyboard-navigation.helpers.mjs +0 -38
  125. package/esm2022/lib/forms-ui/models/base-select.directive.mjs +0 -183
  126. package/esm2022/lib/forms-ui/models/dropdown-item.interface.mjs +0 -2
  127. package/esm2022/lib/forms-ui/models/single-select-padding.interface.mjs +0 -2
  128. package/esm2022/lib/forms-ui/models/sorting.interface.mjs +0 -7
  129. package/esm2022/lib/forms-ui/pipes/filter-selection.pipe.mjs +0 -33
  130. package/esm2022/lib/forms-ui/pipes/filter-term.pipe.mjs +0 -29
  131. package/esm2022/lib/forms-ui/pipes/format-number.pipe.mjs +0 -66
  132. package/esm2022/lib/forms-ui/validators/date-in-foreseeable-future.validator.mjs +0 -26
  133. package/esm2022/lib/forms-ui/validators/string-not-in-array.validator.mjs +0 -30
  134. package/esm2022/lib/modal-ui/components/modal/modal.component.mjs +0 -264
  135. package/esm2022/lib/modal-ui/components/modal-footer/modal-footer.component.mjs +0 -16
  136. package/esm2022/lib/modal-ui/components/modal-header/modal-header.component.mjs +0 -19
  137. package/esm2022/lib/modal-ui/directives/modal-content.directive.mjs +0 -14
  138. package/esm2022/lib/modal-ui/modal.constants.mjs +0 -18
  139. package/esm2022/lib/modal-ui/modal.module.mjs +0 -47
  140. package/esm2022/lib/popover-ui/components/popover/popover.component.mjs +0 -228
  141. package/esm2022/lib/popover-ui/directives/popover-click.directive.mjs +0 -52
  142. package/esm2022/lib/popover-ui/directives/popover-content.directive.mjs +0 -17
  143. package/esm2022/lib/popover-ui/directives/popover-hover.directive.mjs +0 -88
  144. package/esm2022/lib/popover-ui/popover-ui.module.mjs +0 -21
  145. package/esm2022/lib/shared/date-helpers.mjs +0 -35
  146. package/esm2022/lib/shared/html-helpers.function.mjs +0 -34
  147. package/esm2022/lib/shared/misc-helpers.mjs +0 -24
  148. package/esm2022/lib/shared/observe.mjs +0 -40
  149. package/esm2022/lib/tab-ui/components/tab/tab.component.mjs +0 -118
  150. package/esm2022/lib/tab-ui/components/tab-group/tab-group-key-codes.enum.mjs +0 -12
  151. package/esm2022/lib/tab-ui/components/tab-group/tab-group.component.mjs +0 -150
  152. package/esm2022/lib/tab-ui/tab-ui.module.mjs +0 -20
  153. package/esm2022/ui5/icons/lx-icons.json +0 -177
  154. package/esm2022/ui5/icons/register-icons.mjs +0 -14
  155. package/esm2022/ui5/index.mjs +0 -8
  156. package/esm2022/ui5/leanix-components-ui5.mjs +0 -5
  157. package/esm2022/ui5/ui5.provider.mjs +0 -29
@@ -1,151 +0,0 @@
1
- // @deprecated
2
- // tslint:disable
3
- import { NgClass, NgFor, NgIf } from '@angular/common';
4
- import { Component } from '@angular/core';
5
- import { isBs3 } from './isBs3';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./datepicker-inner.component";
8
- export class YearPickerComponent {
9
- constructor(datePicker) {
10
- this.rows = [];
11
- this.datePicker = datePicker;
12
- }
13
- get isBs4() {
14
- return !isBs3();
15
- }
16
- ngOnInit() {
17
- // eslint-disable-next-line @typescript-eslint/no-this-alias
18
- const self = this;
19
- this.datePicker.stepYear = { years: this.datePicker.yearRange };
20
- this.datePicker.setRefreshViewHandler(function () {
21
- const years = new Array(this.yearRange);
22
- let date;
23
- const start = self.getStartingYear(this.activeDate.getFullYear());
24
- for (let i = 0; i < this.yearRange; i++) {
25
- date = new Date(start + i, 0, 1);
26
- date = this.fixTimeZone(date);
27
- years[i] = this.createDateObject(date, this.formatYear);
28
- years[i].uid = this.uniqueId + '-' + i;
29
- }
30
- self.title = [years[0].label, years[this.yearRange - 1].label].join(' - ');
31
- self.rows = this.split(years, self.datePicker.yearColLimit);
32
- }, 'year');
33
- this.datePicker.setCompareHandler(function (date1, date2) {
34
- return date1.getFullYear() - date2.getFullYear();
35
- }, 'year');
36
- this.datePicker.refreshView();
37
- }
38
- getStartingYear(year) {
39
- // todo: parseInt
40
- return ((year - 1) / this.datePicker.yearRange) * this.datePicker.yearRange + 1;
41
- }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: YearPickerComponent, deps: [{ token: i1.DatePickerInnerComponent }], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: YearPickerComponent, isStandalone: true, selector: "yearpicker", ngImport: i0, template: `
44
- <table *ngIf="datePicker.datepickerMode === 'year'" role="grid">
45
- <thead>
46
- <tr>
47
- <th>
48
- <button type="button" class="btn btn-default btn-sm pull-left float-left" (click)="datePicker.move(-1)" tabindex="-1">‹</button>
49
- </th>
50
- <th [attr.colspan]="datePicker.yearColLimit - 2 <= 0 ? 1 : datePicker.yearColLimit - 2">
51
- <button
52
- [id]="datePicker.uniqueId + '-title'"
53
- type="button"
54
- class="btn btn-default btn-sm"
55
- (click)="datePicker.toggleMode(0)"
56
- [disabled]="datePicker.datepickerMode === datePicker.maxMode"
57
- [ngClass]="{ disabled: datePicker.datepickerMode === datePicker.maxMode }"
58
- tabindex="-1"
59
- style="width:100%;"
60
- >
61
- <strong>{{ title }}</strong>
62
- </button>
63
- </th>
64
- <th>
65
- <button type="button" class="btn btn-default btn-sm pull-right float-right" (click)="datePicker.move(1)" tabindex="-1">
66
-
67
- </button>
68
- </th>
69
- </tr>
70
- </thead>
71
- <tbody>
72
- <tr *ngFor="let rowz of rows">
73
- <td *ngFor="let dtz of rowz" class="text-center" role="gridcell" [attr.id]="dtz.uid">
74
- <button
75
- type="button"
76
- style="min-width:100%;"
77
- class="btn btn-default"
78
- [ngClass]="{
79
- 'btn-link': isBs4 && !dtz.selected && !datePicker.isActive(dtz),
80
- 'btn-info': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)),
81
- disabled: dtz.disabled,
82
- active: !isBs4 && datePicker.isActive(dtz)
83
- }"
84
- [disabled]="dtz.disabled"
85
- (click)="datePicker.select(dtz.date)"
86
- tabindex="-1"
87
- >
88
- <span [ngClass]="{ 'text-success': isBs4 && dtz.current, 'text-info': !isBs4 && dtz.current }">{{ dtz.label }}</span>
89
- </button>
90
- </td>
91
- </tr>
92
- </tbody>
93
- </table>
94
- `, isInline: true, styles: [":host .btn-info .text-success{color:#fff!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
95
- }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: YearPickerComponent, decorators: [{
97
- type: Component,
98
- args: [{ selector: 'yearpicker', template: `
99
- <table *ngIf="datePicker.datepickerMode === 'year'" role="grid">
100
- <thead>
101
- <tr>
102
- <th>
103
- <button type="button" class="btn btn-default btn-sm pull-left float-left" (click)="datePicker.move(-1)" tabindex="-1">‹</button>
104
- </th>
105
- <th [attr.colspan]="datePicker.yearColLimit - 2 <= 0 ? 1 : datePicker.yearColLimit - 2">
106
- <button
107
- [id]="datePicker.uniqueId + '-title'"
108
- type="button"
109
- class="btn btn-default btn-sm"
110
- (click)="datePicker.toggleMode(0)"
111
- [disabled]="datePicker.datepickerMode === datePicker.maxMode"
112
- [ngClass]="{ disabled: datePicker.datepickerMode === datePicker.maxMode }"
113
- tabindex="-1"
114
- style="width:100%;"
115
- >
116
- <strong>{{ title }}</strong>
117
- </button>
118
- </th>
119
- <th>
120
- <button type="button" class="btn btn-default btn-sm pull-right float-right" (click)="datePicker.move(1)" tabindex="-1">
121
-
122
- </button>
123
- </th>
124
- </tr>
125
- </thead>
126
- <tbody>
127
- <tr *ngFor="let rowz of rows">
128
- <td *ngFor="let dtz of rowz" class="text-center" role="gridcell" [attr.id]="dtz.uid">
129
- <button
130
- type="button"
131
- style="min-width:100%;"
132
- class="btn btn-default"
133
- [ngClass]="{
134
- 'btn-link': isBs4 && !dtz.selected && !datePicker.isActive(dtz),
135
- 'btn-info': dtz.selected || (isBs4 && !dtz.selected && datePicker.isActive(dtz)),
136
- disabled: dtz.disabled,
137
- active: !isBs4 && datePicker.isActive(dtz)
138
- }"
139
- [disabled]="dtz.disabled"
140
- (click)="datePicker.select(dtz.date)"
141
- tabindex="-1"
142
- >
143
- <span [ngClass]="{ 'text-success': isBs4 && dtz.current, 'text-info': !isBs4 && dtz.current }">{{ dtz.label }}</span>
144
- </button>
145
- </td>
146
- </tr>
147
- </tbody>
148
- </table>
149
- `, standalone: true, imports: [NgIf, NgClass, NgFor], styles: [":host .btn-info .text-success{color:#fff!important}\n"] }]
150
- }], ctorParameters: () => [{ type: i1.DatePickerInnerComponent }] });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhcnBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2RhdGUtcGlja2VyLXVpL3llYXJwaWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWM7QUFDZCxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFtRWhDLE1BQU0sT0FBTyxtQkFBbUI7SUFLOUIsWUFBWSxVQUFvQztRQUZoRCxTQUFJLEdBQVUsRUFBRSxDQUFDO1FBR2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLDREQUE0RDtRQUM1RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFFbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVoRSxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDO1lBQ3BDLE1BQU0sS0FBSyxHQUFVLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQyxJQUFJLElBQVUsQ0FBQztZQUNmLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBRWxFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ3hDLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDakMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzlCLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDeEQsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFDekMsQ0FBQztZQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRVgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEtBQVcsRUFBRSxLQUFXO1lBQ2xFLE9BQU8sS0FBSyxDQUFDLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuRCxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFWCxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFUyxlQUFlLENBQUMsSUFBWTtRQUNwQyxpQkFBaUI7UUFDakIsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7OEdBN0NVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHNFQTlEcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1EVCwrSEFTUyxJQUFJLDZGQUFFLE9BQU8sb0ZBQUUsS0FBSzs7MkZBRW5CLG1CQUFtQjtrQkFqRS9CLFNBQVM7K0JBRUUsWUFBWSxZQUNaOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtRFQsY0FRVyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBkZXByZWNhdGVkXG4vLyB0c2xpbnQ6ZGlzYWJsZVxuaW1wb3J0IHsgTmdDbGFzcywgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVQaWNrZXJJbm5lckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXBpY2tlci1pbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNCczMgfSBmcm9tICcuL2lzQnMzJztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAneWVhcnBpY2tlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHRhYmxlICpuZ0lmPVwiZGF0ZVBpY2tlci5kYXRlcGlja2VyTW9kZSA9PT0gJ3llYXInXCIgcm9sZT1cImdyaWRcIj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aD5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi1zbSBwdWxsLWxlZnQgZmxvYXQtbGVmdFwiIChjbGljayk9XCJkYXRlUGlja2VyLm1vdmUoLTEpXCIgdGFiaW5kZXg9XCItMVwiPuKAuTwvYnV0dG9uPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoIFthdHRyLmNvbHNwYW5dPVwiZGF0ZVBpY2tlci55ZWFyQ29sTGltaXQgLSAyIDw9IDAgPyAxIDogZGF0ZVBpY2tlci55ZWFyQ29sTGltaXQgLSAyXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIFtpZF09XCJkYXRlUGlja2VyLnVuaXF1ZUlkICsgJy10aXRsZSdcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLXNtXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImRhdGVQaWNrZXIudG9nZ2xlTW9kZSgwKVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXRlUGlja2VyLmRhdGVwaWNrZXJNb2RlID09PSBkYXRlUGlja2VyLm1heE1vZGVcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkYXRlUGlja2VyLmRhdGVwaWNrZXJNb2RlID09PSBkYXRlUGlja2VyLm1heE1vZGUgfVwiXG4gICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOjEwMCU7XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHN0cm9uZz57eyB0aXRsZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGg+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBidG4tc20gcHVsbC1yaWdodCBmbG9hdC1yaWdodFwiIChjbGljayk9XCJkYXRlUGlja2VyLm1vdmUoMSlcIiB0YWJpbmRleD1cIi0xXCI+XG4gICAgICAgICAgICAgIOKAulxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHk+XG4gICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcm93eiBvZiByb3dzXCI+XG4gICAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBkdHogb2Ygcm93elwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIiByb2xlPVwiZ3JpZGNlbGxcIiBbYXR0ci5pZF09XCJkdHoudWlkXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBzdHlsZT1cIm1pbi13aWR0aDoxMDAlO1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICdidG4tbGluayc6IGlzQnM0ICYmICFkdHouc2VsZWN0ZWQgJiYgIWRhdGVQaWNrZXIuaXNBY3RpdmUoZHR6KSxcbiAgICAgICAgICAgICAgICAnYnRuLWluZm8nOiBkdHouc2VsZWN0ZWQgfHwgKGlzQnM0ICYmICFkdHouc2VsZWN0ZWQgJiYgZGF0ZVBpY2tlci5pc0FjdGl2ZShkdHopKSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogZHR6LmRpc2FibGVkLFxuICAgICAgICAgICAgICAgIGFjdGl2ZTogIWlzQnM0ICYmIGRhdGVQaWNrZXIuaXNBY3RpdmUoZHR6KVxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImR0ei5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJkYXRlUGlja2VyLnNlbGVjdChkdHouZGF0ZSlcIlxuICAgICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieyAndGV4dC1zdWNjZXNzJzogaXNCczQgJiYgZHR6LmN1cnJlbnQsICd0ZXh0LWluZm8nOiAhaXNCczQgJiYgZHR6LmN1cnJlbnQgfVwiPnt7IGR0ei5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IC5idG4taW5mbyAudGV4dC1zdWNjZXNzIHtcbiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICBgXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ0NsYXNzLCBOZ0Zvcl1cbn0pXG5leHBvcnQgY2xhc3MgWWVhclBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGRhdGVQaWNrZXI6IERhdGVQaWNrZXJJbm5lckNvbXBvbmVudDtcbiAgdGl0bGUhOiBzdHJpbmc7XG4gIHJvd3M6IGFueVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoZGF0ZVBpY2tlcjogRGF0ZVBpY2tlcklubmVyQ29tcG9uZW50KSB7XG4gICAgdGhpcy5kYXRlUGlja2VyID0gZGF0ZVBpY2tlcjtcbiAgfVxuXG4gIGdldCBpc0JzNCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIWlzQnMzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBjb25zdCBzZWxmID0gdGhpcztcblxuICAgIHRoaXMuZGF0ZVBpY2tlci5zdGVwWWVhciA9IHsgeWVhcnM6IHRoaXMuZGF0ZVBpY2tlci55ZWFyUmFuZ2UgfTtcblxuICAgIHRoaXMuZGF0ZVBpY2tlci5zZXRSZWZyZXNoVmlld0hhbmRsZXIoZnVuY3Rpb24gKHRoaXM6IGFueSk6IHZvaWQge1xuICAgICAgY29uc3QgeWVhcnM6IGFueVtdID0gbmV3IEFycmF5KHRoaXMueWVhclJhbmdlKTtcbiAgICAgIGxldCBkYXRlOiBEYXRlO1xuICAgICAgY29uc3Qgc3RhcnQgPSBzZWxmLmdldFN0YXJ0aW5nWWVhcih0aGlzLmFjdGl2ZURhdGUuZ2V0RnVsbFllYXIoKSk7XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy55ZWFyUmFuZ2U7IGkrKykge1xuICAgICAgICBkYXRlID0gbmV3IERhdGUoc3RhcnQgKyBpLCAwLCAxKTtcbiAgICAgICAgZGF0ZSA9IHRoaXMuZml4VGltZVpvbmUoZGF0ZSk7XG4gICAgICAgIHllYXJzW2ldID0gdGhpcy5jcmVhdGVEYXRlT2JqZWN0KGRhdGUsIHRoaXMuZm9ybWF0WWVhcik7XG4gICAgICAgIHllYXJzW2ldLnVpZCA9IHRoaXMudW5pcXVlSWQgKyAnLScgKyBpO1xuICAgICAgfVxuXG4gICAgICBzZWxmLnRpdGxlID0gW3llYXJzWzBdLmxhYmVsLCB5ZWFyc1t0aGlzLnllYXJSYW5nZSAtIDFdLmxhYmVsXS5qb2luKCcgLSAnKTtcbiAgICAgIHNlbGYucm93cyA9IHRoaXMuc3BsaXQoeWVhcnMsIHNlbGYuZGF0ZVBpY2tlci55ZWFyQ29sTGltaXQpO1xuICAgIH0sICd5ZWFyJyk7XG5cbiAgICB0aGlzLmRhdGVQaWNrZXIuc2V0Q29tcGFyZUhhbmRsZXIoZnVuY3Rpb24gKGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZSk6IG51bWJlciB7XG4gICAgICByZXR1cm4gZGF0ZTEuZ2V0RnVsbFllYXIoKSAtIGRhdGUyLmdldEZ1bGxZZWFyKCk7XG4gICAgfSwgJ3llYXInKTtcblxuICAgIHRoaXMuZGF0ZVBpY2tlci5yZWZyZXNoVmlldygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFN0YXJ0aW5nWWVhcih5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgIC8vIHRvZG86IHBhcnNlSW50XG4gICAgcmV0dXJuICgoeWVhciAtIDEpIC8gdGhpcy5kYXRlUGlja2VyLnllYXJSYW5nZSkgKiB0aGlzLmRhdGVQaWNrZXIueWVhclJhbmdlICsgMTtcbiAgfVxufVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Used in the DragAndDropListComponent and KeyboardSortableListDirective
3
- */
4
- export const DRAG_AND_DROP_LIST_TRANSLATION_NAME = 'DragAndDropListComponent';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9kcmFnLWFuZC1kcm9wLWxpc3QvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVzZWQgaW4gdGhlIERyYWdBbmREcm9wTGlzdENvbXBvbmVudCBhbmQgS2V5Ym9hcmRTb3J0YWJsZUxpc3REaXJlY3RpdmVcbiAqL1xuZXhwb3J0IGNvbnN0IERSQUdfQU5EX0RST1BfTElTVF9UUkFOU0xBVElPTl9OQU1FID0gJ0RyYWdBbmREcm9wTGlzdENvbXBvbmVudCc7XG4iXX0=
@@ -1,49 +0,0 @@
1
- import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, Input, Output } from '@angular/core';
3
- import { ButtonComponent } from '../../../../core-ui/components/button/button.component';
4
- import * as i0 from "@angular/core";
5
- export class DragAndDropListItemComponent {
6
- get draggingDisabled() {
7
- return !this.draggable;
8
- }
9
- get hasCustomTemplate() {
10
- return !!this.customTemplateRef;
11
- }
12
- constructor(element) {
13
- this.element = element;
14
- this.NAME = 'DragAndDropListItemComponent';
15
- this.draggable = true;
16
- this.action = new EventEmitter();
17
- this.customTemplateRef = null;
18
- }
19
- trackByAction(_index, action) {
20
- return action.id;
21
- }
22
- focus() {
23
- this.element.nativeElement.focus();
24
- }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DragAndDropListItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: DragAndDropListItemComponent, isStandalone: true, selector: "lx-drag-and-drop-list-item", inputs: { item: "item", draggable: "draggable", actions: "actions" }, outputs: { action: "action" }, host: { properties: { "class.draggingDisabled": "this.draggingDisabled", "class.customTemplate": "this.hasCustomTemplate" } }, queries: [{ propertyName: "customTemplateRef", first: true, predicate: ["customTemplate"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"customTemplateRef; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"customTemplateRef\" />\n</ng-container>\n<ng-template #defaultTemplate>\n <div class=\"drag-item-wrappper\">\n <i *ngIf=\"draggable\" class=\"far fa-bars drag-handle\"></i>\n <span [attr.title]=\"item\" class=\"itemWrapperForTruncation truncate\">{{ item }}</span>\n </div>\n <div class=\"left-button-container\" align=\"left\">\n <div class=\"action-buttons-wrapper\" *ngIf=\"!!actions\">\n <button\n lx-button\n *ngFor=\"let act of actions; trackBy: trackByAction\"\n (click)=\"action.emit({ actionId: act.id, item: item })\"\n [title]=\"act.label\"\n [square]=\"true\"\n mode=\"ghost\"\n size=\"small\"\n class=\"action-button\"\n [class.show-on-hover-button]=\"act.showOnlyOnHover ? true : false\"\n [icon]=\"act.icon\"\n ></button>\n </div>\n </div>\n</ng-template>\n", styles: [":host:not(.customTemplate){padding:6px 8px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:#fff;border-radius:3px}:host:not(.customTemplate):hover .show-on-hover-button{opacity:1}:host.draggingDisabled{background:#eaedf1}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drag-handle{padding-right:4px}.drag-item-wrappper{display:flex;min-width:0;align-items:baseline}.left-button-container,.action-buttons-wrapper{display:flex;flex-direction:row;flex-wrap:nowrap}.show-on-hover-button{opacity:0}.show-on-hover-button:focus{opacity:1}lx-option i{margin-right:8px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ButtonComponent, selector: "button[lx-button]", inputs: ["size", "color", "mode", "pressed", "selected", "square", "circle", "disabled", "icon", "endIcon", "showSpinner"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DragAndDropListItemComponent, decorators: [{
29
- type: Component,
30
- args: [{ selector: 'lx-drag-and-drop-list-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, NgTemplateOutlet, NgFor, ButtonComponent], template: "<ng-container *ngIf=\"customTemplateRef; else defaultTemplate\">\n <ng-container *ngTemplateOutlet=\"customTemplateRef\" />\n</ng-container>\n<ng-template #defaultTemplate>\n <div class=\"drag-item-wrappper\">\n <i *ngIf=\"draggable\" class=\"far fa-bars drag-handle\"></i>\n <span [attr.title]=\"item\" class=\"itemWrapperForTruncation truncate\">{{ item }}</span>\n </div>\n <div class=\"left-button-container\" align=\"left\">\n <div class=\"action-buttons-wrapper\" *ngIf=\"!!actions\">\n <button\n lx-button\n *ngFor=\"let act of actions; trackBy: trackByAction\"\n (click)=\"action.emit({ actionId: act.id, item: item })\"\n [title]=\"act.label\"\n [square]=\"true\"\n mode=\"ghost\"\n size=\"small\"\n class=\"action-button\"\n [class.show-on-hover-button]=\"act.showOnlyOnHover ? true : false\"\n [icon]=\"act.icon\"\n ></button>\n </div>\n </div>\n</ng-template>\n", styles: [":host:not(.customTemplate){padding:6px 8px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:#fff;border-radius:3px}:host:not(.customTemplate):hover .show-on-hover-button{opacity:1}:host.draggingDisabled{background:#eaedf1}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drag-handle{padding-right:4px}.drag-item-wrappper{display:flex;min-width:0;align-items:baseline}.left-button-container,.action-buttons-wrapper{display:flex;flex-direction:row;flex-wrap:nowrap}.show-on-hover-button{opacity:0}.show-on-hover-button:focus{opacity:1}lx-option i{margin-right:8px}\n"] }]
31
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { item: [{
32
- type: Input
33
- }], draggable: [{
34
- type: Input
35
- }], actions: [{
36
- type: Input
37
- }], action: [{
38
- type: Output
39
- }], draggingDisabled: [{
40
- type: HostBinding,
41
- args: ['class.draggingDisabled']
42
- }], hasCustomTemplate: [{
43
- type: HostBinding,
44
- args: ['class.customTemplate']
45
- }], customTemplateRef: [{
46
- type: ContentChild,
47
- args: ['customTemplate']
48
- }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9kcmFnLWFuZC1kcm9wLWxpc3QvZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0vZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9kcmFnLWFuZC1kcm9wLWxpc3QvZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0vZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3REFBd0QsQ0FBQzs7QUFzQnpGLE1BQU0sT0FBTyw0QkFBNEI7SUFZdkMsSUFBMkMsZ0JBQWdCO1FBQ3pELE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUF5QyxpQkFBaUI7UUFDeEQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2xDLENBQUM7SUFJRCxZQUFvQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBckI5QixTQUFJLEdBQUcsOEJBQThCLENBQUM7UUFHdEMsY0FBUyxHQUFZLElBQUksQ0FBQztRQU16QixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQThCLENBQUM7UUFVbEMsc0JBQWlCLEdBQTRCLElBQUksQ0FBQztJQUV4QyxDQUFDO0lBRTNDLGFBQWEsQ0FBQyxNQUFjLEVBQUUsTUFBNkI7UUFDekQsT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQzs4R0E5QlUsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsMmFDbEN6Qyw0OEJBeUJBLG1zQkRPWSxJQUFJLDZGQUFFLGdCQUFnQixvSkFBRSxLQUFLLG1IQUFFLGVBQWU7OzJGQUU3Qyw0QkFBNEI7a0JBUnhDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsZUFBZSxDQUFDOytFQUtoRCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksTUFBTTtzQkFBZixNQUFNO2dCQUVvQyxnQkFBZ0I7c0JBQTFELFdBQVc7dUJBQUMsd0JBQXdCO2dCQUlJLGlCQUFpQjtzQkFBekQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBSUgsaUJBQWlCO3NCQUFoRCxZQUFZO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRm9yLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlLXVpL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERyYWdBbmREcm9wTGlzdEFjdGlvbiB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbiAgc2hvd09ubHlPbkhvdmVyPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEcmFnQW5kRHJvcExpc3RBY3Rpb25FdmVudCB7XG4gIGFjdGlvbklkOiBzdHJpbmc7XG4gIGl0ZW06IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJ2RyYWctYW5kLWRyb3AtbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2RyYWctYW5kLWRyb3AtbGlzdC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgTmdGb3IsIEJ1dHRvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgRHJhZ0FuZERyb3BMaXN0SXRlbUNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IE5BTUUgPSAnRHJhZ0FuZERyb3BMaXN0SXRlbUNvbXBvbmVudCc7XG5cbiAgQElucHV0KCkgaXRlbSE6IHN0cmluZztcbiAgQElucHV0KCkgZHJhZ2dhYmxlOiBib29sZWFuID0gdHJ1ZTtcbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIERyYWdBbmREcm9wTGlzdEFjdGlvbnNcbiAgICogV2hlbiB0aGlzIGFycmF5IGlzIGRlZmluZWQsIHRoZSBkcmFnIGhhbmRsZSBpcyBzaG93biBhdCB0aGUgc3RhcnQgb2YgYW4gaXRlbSBhbmQgdGhlIGFjdGlvbiBidXR0b25zIGFyZSByZW5kZXJlZCBpbiB0aGVpciBwcm92aWRlZCBvcmRlciBhdCB0aGUgcmlnaHQgZW5kIG9mIGFuIGl0ZW0uXG4gICAqL1xuICBASW5wdXQoKSBhY3Rpb25zPzogRHJhZ0FuZERyb3BMaXN0QWN0aW9uW107XG4gIEBPdXRwdXQoKSBhY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPERyYWdBbmREcm9wTGlzdEFjdGlvbkV2ZW50PigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZHJhZ2dpbmdEaXNhYmxlZCcpIGdldCBkcmFnZ2luZ0Rpc2FibGVkKCkge1xuICAgIHJldHVybiAhdGhpcy5kcmFnZ2FibGU7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmN1c3RvbVRlbXBsYXRlJykgZ2V0IGhhc0N1c3RvbVRlbXBsYXRlKCkge1xuICAgIHJldHVybiAhIXRoaXMuY3VzdG9tVGVtcGxhdGVSZWY7XG4gIH1cblxuICBAQ29udGVudENoaWxkKCdjdXN0b21UZW1wbGF0ZScpIGN1c3RvbVRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmKSB7fVxuXG4gIHRyYWNrQnlBY3Rpb24oX2luZGV4OiBudW1iZXIsIGFjdGlvbjogRHJhZ0FuZERyb3BMaXN0QWN0aW9uKSB7XG4gICAgcmV0dXJuIGFjdGlvbi5pZDtcbiAgfVxuXG4gIGZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21UZW1wbGF0ZVJlZjsgZWxzZSBkZWZhdWx0VGVtcGxhdGVcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbVRlbXBsYXRlUmVmXCIgLz5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJkcmFnLWl0ZW0td3JhcHBwZXJcIj5cbiAgICA8aSAqbmdJZj1cImRyYWdnYWJsZVwiIGNsYXNzPVwiZmFyIGZhLWJhcnMgZHJhZy1oYW5kbGVcIj48L2k+XG4gICAgPHNwYW4gW2F0dHIudGl0bGVdPVwiaXRlbVwiIGNsYXNzPVwiaXRlbVdyYXBwZXJGb3JUcnVuY2F0aW9uIHRydW5jYXRlXCI+e3sgaXRlbSB9fTwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJsZWZ0LWJ1dHRvbi1jb250YWluZXJcIiBhbGlnbj1cImxlZnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uLWJ1dHRvbnMtd3JhcHBlclwiICpuZ0lmPVwiISFhY3Rpb25zXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGx4LWJ1dHRvblxuICAgICAgICAqbmdGb3I9XCJsZXQgYWN0IG9mIGFjdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlBY3Rpb25cIlxuICAgICAgICAoY2xpY2spPVwiYWN0aW9uLmVtaXQoeyBhY3Rpb25JZDogYWN0LmlkLCBpdGVtOiBpdGVtIH0pXCJcbiAgICAgICAgW3RpdGxlXT1cImFjdC5sYWJlbFwiXG4gICAgICAgIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICAgIG1vZGU9XCJnaG9zdFwiXG4gICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgIFtjbGFzcy5zaG93LW9uLWhvdmVyLWJ1dHRvbl09XCJhY3Quc2hvd09ubHlPbkhvdmVyID8gdHJ1ZSA6IGZhbHNlXCJcbiAgICAgICAgW2ljb25dPVwiYWN0Lmljb25cIlxuICAgICAgPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,120 +0,0 @@
1
- import { CdkDrag, CdkDropList, DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';
2
- import { AsyncPipe, NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
3
- import { Component, ContentChildren, EventEmitter, HostBinding, Input, Output, ViewChildren } from '@angular/core';
4
- import { TranslateModule } from '@ngx-translate/core';
5
- import { map, startWith } from 'rxjs/operators';
6
- import { DRAG_AND_DROP_LIST_TRANSLATION_NAME } from './constants';
7
- import { DragAndDropListItemComponent } from './drag-and-drop-list-item/drag-and-drop-list-item.component';
8
- import { KeyboardSortableItemDirective } from './keyboard-sortable-item/keyboard-sortable-item.directive';
9
- import { KeyboardSortableListDirective } from './keyboard-sortable-list/keyboard-sortable-list.directive';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@ngx-translate/core";
12
- export class DragAndDropListComponent {
13
- constructor() {
14
- /** @internal */
15
- this.NAME = DRAG_AND_DROP_LIST_TRANSLATION_NAME;
16
- /**
17
- * Override the global label font weight of 700
18
- */
19
- this.labelFontWeight = 700;
20
- this.color = 'light';
21
- this.fontSize = 'normal';
22
- /**
23
- * Use the moveToIndex Output in favor of moveItem,
24
- * when moving is restricted to one item through this.draggableItem.
25
- */
26
- this.moveToIndex = new EventEmitter();
27
- this.moveItem = new EventEmitter();
28
- /**
29
- * TODO: extract state about keyboard sorting into KeyboardSortableListDirective
30
- * @internal
31
- */
32
- this.isSortingByKeyboard = false;
33
- /** @internal */
34
- this.keyboardItemBeingSorted = undefined;
35
- /** @internal */
36
- this.allItemsData = [];
37
- }
38
- ngAfterContentInit() {
39
- this.items$ = this._items.changes.pipe(startWith(this._items), map((items) => items.toArray()));
40
- this.allItemsData$ = this.items$.pipe(map((itemComponents) => itemComponents.map((itemComponent) => itemComponent.item)));
41
- }
42
- ngAfterViewInit() {
43
- this.keyboardSortableItems$ = this._keyboardSortableItems.changes.pipe(startWith(this._keyboardSortableItems), map((items) => items.toArray()));
44
- }
45
- /** @internal */
46
- emitContentChildAction(action) {
47
- this._items.find((itemComponent) => itemComponent.item === action.item)?.action.emit(action);
48
- }
49
- /**
50
- * From the Angular cdk drag and drop documentation:
51
- * Note that this will not update your data model;
52
- * you can listen to the cdkDropListDropped event to update the data model
53
- * once the user finishes dragging.
54
- * https://material.angular.io/cdk/drag-drop/overview
55
- *
56
- * You're supposed to update the data in the parent and pass the new items as input.
57
- * @internal
58
- */
59
- drop(event) {
60
- this.sortItems(event.container.data, event.item.data, event.previousIndex, event.currentIndex);
61
- }
62
- /** @internal */
63
- dropToIndexAfterArrowKey(item, previousIndex, currentIndex) {
64
- if (this.isSortingByKeyboard) {
65
- this.sortItems(this._items, item, previousIndex, currentIndex);
66
- }
67
- }
68
- sortItems(items, item, previousIndex, currentIndex) {
69
- moveItemInArray(items, previousIndex, currentIndex);
70
- this.moveToIndex.emit({ index: currentIndex, previous: previousIndex });
71
- this.moveItem.emit({ item, index: currentIndex });
72
- }
73
- /** @internal */
74
- trackByItem(_index, item) {
75
- return item.item;
76
- }
77
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DragAndDropListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
78
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: DragAndDropListComponent, isStandalone: true, selector: "lx-drag-and-drop-list", inputs: { label: "label", labelFontWeight: "labelFontWeight", color: "color", fontSize: "fontSize" }, outputs: { moveToIndex: "moveToIndex", moveItem: "moveItem" }, host: { properties: { "attr.color": "this.color", "attr.fontSize": "this.fontSize" } }, queries: [{ propertyName: "_items", predicate: DragAndDropListItemComponent }], viewQueries: [{ propertyName: "_keyboardSortableItems", predicate: KeyboardSortableItemDirective, descendants: true }], ngImport: i0, template: "<label *ngIf=\"label\" [style.font-weight]=\"labelFontWeight\">{{ label }}</label>\n<p class=\"sr-only\">{{ NAME + '.helpTooltip' | translate }}</p>\n<ul\n cdkDropList\n class=\"list\"\n role=\"listbox\"\n [attr.aria-label]=\"label\"\n lxKeyboardSortableList\n [keyboardSortableItems]=\"keyboardSortableItems$ | async\"\n [cdkDropListData]=\"items$ | async\"\n (cdkDropListDropped)=\"drop($event)\"\n>\n <li\n *ngFor=\"let itemComponent of items$ | async; trackBy: trackByItem\"\n #listItemParent\n class=\"item\"\n cdkDrag\n cdkDragLockAxis=\"y\"\n [cdkDragData]=\"itemComponent.item\"\n [cdkDragDisabled]=\"!itemComponent.draggable\"\n [class.dark]=\"color === 'dark'\"\n [class.big]=\"fontSize === 'big'\"\n [tabIndex]=\"itemComponent.draggable === false ? -1 : 0\"\n [lxKeyboardSortableItem]=\"allItemsData$ | async\"\n [lxKeyboardItemData]=\"itemComponent.item\"\n [(isSortingByKeyboard)]=\"isSortingByKeyboard\"\n [(lxKeyboardItemBeingSorted)]=\"keyboardItemBeingSorted\"\n (sortItemsWithKeyboard)=\"dropToIndexAfterArrowKey(itemComponent.item, $event.previousIndex, $event.currentIndex)\"\n >\n <lx-drag-and-drop-list-item\n class=\"dragAndDropItem\"\n [item]=\"itemComponent.item\"\n [draggable]=\"itemComponent.draggable\"\n [actions]=\"itemComponent.actions\"\n (action)=\"emitContentChildAction($event)\"\n >\n <ng-template *ngIf=\"itemComponent.customTemplateRef\" #customTemplate>\n <ng-container *ngTemplateOutlet=\"itemComponent.customTemplateRef\" />\n </ng-template>\n </lx-drag-and-drop-list-item>\n </li>\n</ul>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}:host{display:block}.list{list-style-type:none;width:100%;display:block;padding:0;color:#526179}.item.cdk-drag-disabled{background:#eaedf1;cursor:default}.item{position:relative;cursor:move;border:solid 1px #99a5bb;margin-bottom:4px;border-radius:3px}.item:focus{outline:1px auto #0070f2}.cdk-drag-preview{box-sizing:border-box;border-radius:3px;list-style:none;border:solid 1px #99a5bb!important;box-shadow:0 3px 4px #7474744d}.cdk-drag-placeholder{opacity:.5}.cdk-drag-placeholder i{opacity:0}.cdk-drag-animating{transition:transform .18s;transition-delay:0s;transition-timing-function:ease}.list.cdk-drop-list-dragging .item:not(.cdk-drag-placeholder){transition:transform .18s;transition-delay:0s;transition-timing-function:ease}:host[color=dark] lx-drag-and-drop-list-item{background-color:#f0f2f5;color:#526179;border-radius:3px}:host[color=dark] .list,:host[color=dark] .item{border:0}:host[color=dark] .item.cdk-drag-disabled lx-drag-and-drop-list-item{background:#fff;color:#99a5bb;border:1px solid #99a5bb}:host[fontSize=big] .item{text-transform:uppercase;font-weight:700}.cdk-drag-preview.dark{border:0!important}.cdk-drag-preview.dark lx-drag-and-drop-list-item{background-color:#f0f2f5;color:#526179;border-radius:3px}.cdk-drag-preview.big{text-transform:uppercase;font-weight:700}.isBeingSortedByKeyboard{box-shadow:0 6px 24px #b2bccc;z-index:1}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: KeyboardSortableListDirective, selector: "[lxKeyboardSortableList]", inputs: ["keyboardSortableItems"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: KeyboardSortableItemDirective, selector: "[lxKeyboardSortableItem]", inputs: ["lxKeyboardSortableItem", "lxKeyboardItemData", "isSortingByKeyboard", "lxKeyboardItemBeingSorted"], outputs: ["isSortingByKeyboardChange", "lxKeyboardItemBeingSortedChange", "sortItemsWithKeyboard", "focusWithKeyboard"] }, { kind: "component", type: DragAndDropListItemComponent, selector: "lx-drag-and-drop-list-item", inputs: ["item", "draggable", "actions"], outputs: ["action"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: DragDropModule }] }); }
79
- }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DragAndDropListComponent, decorators: [{
81
- type: Component,
82
- args: [{ selector: 'lx-drag-and-drop-list', standalone: true, imports: [
83
- NgIf,
84
- CdkDropList,
85
- KeyboardSortableListDirective,
86
- NgFor,
87
- CdkDrag,
88
- KeyboardSortableItemDirective,
89
- DragAndDropListItemComponent,
90
- NgTemplateOutlet,
91
- AsyncPipe,
92
- TranslateModule,
93
- DragDropModule
94
- ], template: "<label *ngIf=\"label\" [style.font-weight]=\"labelFontWeight\">{{ label }}</label>\n<p class=\"sr-only\">{{ NAME + '.helpTooltip' | translate }}</p>\n<ul\n cdkDropList\n class=\"list\"\n role=\"listbox\"\n [attr.aria-label]=\"label\"\n lxKeyboardSortableList\n [keyboardSortableItems]=\"keyboardSortableItems$ | async\"\n [cdkDropListData]=\"items$ | async\"\n (cdkDropListDropped)=\"drop($event)\"\n>\n <li\n *ngFor=\"let itemComponent of items$ | async; trackBy: trackByItem\"\n #listItemParent\n class=\"item\"\n cdkDrag\n cdkDragLockAxis=\"y\"\n [cdkDragData]=\"itemComponent.item\"\n [cdkDragDisabled]=\"!itemComponent.draggable\"\n [class.dark]=\"color === 'dark'\"\n [class.big]=\"fontSize === 'big'\"\n [tabIndex]=\"itemComponent.draggable === false ? -1 : 0\"\n [lxKeyboardSortableItem]=\"allItemsData$ | async\"\n [lxKeyboardItemData]=\"itemComponent.item\"\n [(isSortingByKeyboard)]=\"isSortingByKeyboard\"\n [(lxKeyboardItemBeingSorted)]=\"keyboardItemBeingSorted\"\n (sortItemsWithKeyboard)=\"dropToIndexAfterArrowKey(itemComponent.item, $event.previousIndex, $event.currentIndex)\"\n >\n <lx-drag-and-drop-list-item\n class=\"dragAndDropItem\"\n [item]=\"itemComponent.item\"\n [draggable]=\"itemComponent.draggable\"\n [actions]=\"itemComponent.actions\"\n (action)=\"emitContentChildAction($event)\"\n >\n <ng-template *ngIf=\"itemComponent.customTemplateRef\" #customTemplate>\n <ng-container *ngTemplateOutlet=\"itemComponent.customTemplateRef\" />\n </ng-template>\n </lx-drag-and-drop-list-item>\n </li>\n</ul>\n", styles: ["@keyframes subtleScaleUpKeyFrames{0%{transform:scale(.95);opacity:0}}:host{display:block}.list{list-style-type:none;width:100%;display:block;padding:0;color:#526179}.item.cdk-drag-disabled{background:#eaedf1;cursor:default}.item{position:relative;cursor:move;border:solid 1px #99a5bb;margin-bottom:4px;border-radius:3px}.item:focus{outline:1px auto #0070f2}.cdk-drag-preview{box-sizing:border-box;border-radius:3px;list-style:none;border:solid 1px #99a5bb!important;box-shadow:0 3px 4px #7474744d}.cdk-drag-placeholder{opacity:.5}.cdk-drag-placeholder i{opacity:0}.cdk-drag-animating{transition:transform .18s;transition-delay:0s;transition-timing-function:ease}.list.cdk-drop-list-dragging .item:not(.cdk-drag-placeholder){transition:transform .18s;transition-delay:0s;transition-timing-function:ease}:host[color=dark] lx-drag-and-drop-list-item{background-color:#f0f2f5;color:#526179;border-radius:3px}:host[color=dark] .list,:host[color=dark] .item{border:0}:host[color=dark] .item.cdk-drag-disabled lx-drag-and-drop-list-item{background:#fff;color:#99a5bb;border:1px solid #99a5bb}:host[fontSize=big] .item{text-transform:uppercase;font-weight:700}.cdk-drag-preview.dark{border:0!important}.cdk-drag-preview.dark lx-drag-and-drop-list-item{background-color:#f0f2f5;color:#526179;border-radius:3px}.cdk-drag-preview.big{text-transform:uppercase;font-weight:700}.isBeingSortedByKeyboard{box-shadow:0 6px 24px #b2bccc;z-index:1}\n"] }]
95
- }], propDecorators: { label: [{
96
- type: Input
97
- }], labelFontWeight: [{
98
- type: Input
99
- }], color: [{
100
- type: Input
101
- }, {
102
- type: HostBinding,
103
- args: ['attr.color']
104
- }], fontSize: [{
105
- type: Input
106
- }, {
107
- type: HostBinding,
108
- args: ['attr.fontSize']
109
- }], moveToIndex: [{
110
- type: Output
111
- }], moveItem: [{
112
- type: Output
113
- }], _items: [{
114
- type: ContentChildren,
115
- args: [DragAndDropListItemComponent]
116
- }], _keyboardSortableItems: [{
117
- type: ViewChildren,
118
- args: [KeyboardSortableItemDirective]
119
- }] } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvZHJhZy1hbmQtZHJvcC1saXN0L2RyYWctYW5kLWRyb3AtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2RyYWctYW5kLWRyb3AtbGlzdC9kcmFnLWFuZC1kcm9wLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBZSxXQUFXLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVHLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFHTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFFTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFBOEIsNEJBQTRCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUN2SSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7O0FBK0IxRyxNQUFNLE9BQU8sd0JBQXdCO0lB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LE1BQWMsRUFBRSxJQUFrQztRQUM1RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQzs4R0FsR1Usd0JBQXdCO2tHQUF4Qix3QkFBd0IscVdBNkJsQiw0QkFBNEIsd0VBRy9CLDZCQUE2QixnRENuRjdDLHltREEwQ0EsaTlDREpJLElBQUksNkZBQ0osV0FBVyw4ZkFDWCw2QkFBNkIsd0dBQzdCLEtBQUssbUhBQ0wsT0FBTyx3Y0FDUCw2QkFBNkIsNFNBQzdCLDRCQUE0QixzSUFDNUIsZ0JBQWdCLCtJQUNoQixTQUFTLDZDQUNULGVBQWUsMkZBQ2YsY0FBYzs7MkZBR0wsd0JBQXdCO2tCQW5CcEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FHckIsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osV0FBVzt3QkFDWCw2QkFBNkI7d0JBQzdCLEtBQUs7d0JBQ0wsT0FBTzt3QkFDUCw2QkFBNkI7d0JBQzdCLDRCQUE0Qjt3QkFDNUIsZ0JBQWdCO3dCQUNoQixTQUFTO3dCQUNULGVBQWU7d0JBQ2YsY0FBYztxQkFDZjs4QkFjUSxLQUFLO3NCQUFiLEtBQUs7Z0JBSUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFOEIsS0FBSztzQkFBeEMsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxZQUFZO2dCQUNLLFFBQVE7c0JBQTlDLEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsZUFBZTtnQkFNM0IsV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUdnRCxNQUFNO3NCQUE1RCxlQUFlO3VCQUFDLDRCQUE0QjtnQkFJckMsc0JBQXNCO3NCQUQ3QixZQUFZO3VCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcm9wTGlzdCwgRHJhZ0Ryb3BNb2R1bGUsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGRyZW5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRFJBR19BTkRfRFJPUF9MSVNUX1RSQU5TTEFUSU9OX05BTUUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBEcmFnQW5kRHJvcExpc3RBY3Rpb25FdmVudCwgRHJhZ0FuZERyb3BMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0vZHJhZy1hbmQtZHJvcC1saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEtleWJvYXJkU29ydGFibGVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9rZXlib2FyZC1zb3J0YWJsZS1pdGVtL2tleWJvYXJkLXNvcnRhYmxlLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEtleWJvYXJkU29ydGFibGVMaXN0RGlyZWN0aXZlIH0gZnJvbSAnLi9rZXlib2FyZC1zb3J0YWJsZS1saXN0L2tleWJvYXJkLXNvcnRhYmxlLWxpc3QuZGlyZWN0aXZlJztcblxuZXhwb3J0IGludGVyZmFjZSBEcmFnQW5kRHJvcExpc3RNb3ZlRXZlbnQge1xuICBpdGVtOiBzdHJpbmc7XG4gIGluZGV4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJhZ0FuZERyb3BMaXN0TW92ZUluZGV4RXZlbnQge1xuICBpbmRleDogbnVtYmVyO1xuICBwcmV2aW91czogbnVtYmVyO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1kcmFnLWFuZC1kcm9wLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJ2RyYWctYW5kLWRyb3AtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydkcmFnLWFuZC1kcm9wLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgQ2RrRHJvcExpc3QsXG4gICAgS2V5Ym9hcmRTb3J0YWJsZUxpc3REaXJlY3RpdmUsXG4gICAgTmdGb3IsXG4gICAgQ2RrRHJhZyxcbiAgICBLZXlib2FyZFNvcnRhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICBEcmFnQW5kRHJvcExpc3RJdGVtQ29tcG9uZW50LFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgQXN5bmNQaXBlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERyYWdBbmREcm9wTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQge1xuICAvKiogQGludGVybmFsICovXG4gIHJlYWRvbmx5IE5BTUUgPSBEUkFHX0FORF9EUk9QX0xJU1RfVFJBTlNMQVRJT05fTkFNRTtcblxuICAvKiogQGludGVybmFsICovXG4gIGl0ZW1zJCE6IE9ic2VydmFibGU8RHJhZ0FuZERyb3BMaXN0SXRlbUNvbXBvbmVudFtdPjtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBrZXlib2FyZFNvcnRhYmxlSXRlbXMkITogT2JzZXJ2YWJsZTxLZXlib2FyZFNvcnRhYmxlSXRlbURpcmVjdGl2ZVtdPjtcblxuICAvKipcbiAgICogQSBsYWJlbCBmb3IgZGVzY3JpYmluZyB0aGlzIGxpc3QuXG4gICAqL1xuICBASW5wdXQoKSBsYWJlbD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIE92ZXJyaWRlIHRoZSBnbG9iYWwgbGFiZWwgZm9udCB3ZWlnaHQgb2YgNzAwXG4gICAqL1xuICBASW5wdXQoKSBsYWJlbEZvbnRXZWlnaHQ/OiBudW1iZXIgPSA3MDA7XG5cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdhdHRyLmNvbG9yJykgY29sb3I/OiAnbGlnaHQnIHwgJ2RhcmsnID0gJ2xpZ2h0JztcbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdhdHRyLmZvbnRTaXplJykgZm9udFNpemU/OiAnbm9ybWFsJyB8ICdiaWcnID0gJ25vcm1hbCc7XG5cbiAgLyoqXG4gICAqIFVzZSB0aGUgbW92ZVRvSW5kZXggT3V0cHV0IGluIGZhdm9yIG9mIG1vdmVJdGVtLFxuICAgKiB3aGVuIG1vdmluZyBpcyByZXN0cmljdGVkIHRvIG9uZSBpdGVtIHRocm91Z2ggdGhpcy5kcmFnZ2FibGVJdGVtLlxuICAgKi9cbiAgQE91dHB1dCgpIG1vdmVUb0luZGV4ID0gbmV3IEV2ZW50RW1pdHRlcjxEcmFnQW5kRHJvcExpc3RNb3ZlSW5kZXhFdmVudD4oKTtcbiAgQE91dHB1dCgpIG1vdmVJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxEcmFnQW5kRHJvcExpc3RNb3ZlRXZlbnQ+KCk7XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBAQ29udGVudENoaWxkcmVuKERyYWdBbmREcm9wTGlzdEl0ZW1Db21wb25lbnQpIHByaXZhdGUgX2l0ZW1zITogUXVlcnlMaXN0PERyYWdBbmREcm9wTGlzdEl0ZW1Db21wb25lbnQ+O1xuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgQFZpZXdDaGlsZHJlbihLZXlib2FyZFNvcnRhYmxlSXRlbURpcmVjdGl2ZSlcbiAgcHJpdmF0ZSBfa2V5Ym9hcmRTb3J0YWJsZUl0ZW1zITogUXVlcnlMaXN0PEtleWJvYXJkU29ydGFibGVJdGVtRGlyZWN0aXZlPjtcblxuICAvKipcbiAgICogVE9ETzogZXh0cmFjdCBzdGF0ZSBhYm91dCBrZXlib2FyZCBzb3J0aW5nIGludG8gS2V5Ym9hcmRTb3J0YWJsZUxpc3REaXJlY3RpdmVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBpc1NvcnRpbmdCeUtleWJvYXJkOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAga2V5Ym9hcmRJdGVtQmVpbmdTb3J0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAvKiogQGludGVybmFsICovXG4gIGFsbEl0ZW1zRGF0YTogc3RyaW5nW10gPSBbXTtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBhbGxJdGVtc0RhdGEkITogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuaXRlbXMkID0gdGhpcy5faXRlbXMuY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuX2l0ZW1zKSxcbiAgICAgIG1hcCgoaXRlbXM6IFF1ZXJ5TGlzdDxEcmFnQW5kRHJvcExpc3RJdGVtQ29tcG9uZW50PikgPT4gaXRlbXMudG9BcnJheSgpKVxuICAgICk7XG4gICAgdGhpcy5hbGxJdGVtc0RhdGEkID0gdGhpcy5pdGVtcyQucGlwZShtYXAoKGl0ZW1Db21wb25lbnRzKSA9PiBpdGVtQ29tcG9uZW50cy5tYXAoKGl0ZW1Db21wb25lbnQpID0+IGl0ZW1Db21wb25lbnQuaXRlbSkpKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmtleWJvYXJkU29ydGFibGVJdGVtcyQgPSB0aGlzLl9rZXlib2FyZFNvcnRhYmxlSXRlbXMuY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuX2tleWJvYXJkU29ydGFibGVJdGVtcyksXG4gICAgICBtYXAoKGl0ZW1zOiBRdWVyeUxpc3Q8S2V5Ym9hcmRTb3J0YWJsZUl0ZW1EaXJlY3RpdmU+KSA9PiBpdGVtcy50b0FycmF5KCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgZW1pdENvbnRlbnRDaGlsZEFjdGlvbihhY3Rpb246IERyYWdBbmREcm9wTGlzdEFjdGlvbkV2ZW50KSB7XG4gICAgdGhpcy5faXRlbXMuZmluZCgoaXRlbUNvbXBvbmVudCkgPT4gaXRlbUNvbXBvbmVudC5pdGVtID09PSBhY3Rpb24uaXRlbSk/LmFjdGlvbi5lbWl0KGFjdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogRnJvbSB0aGUgQW5ndWxhciBjZGsgZHJhZyBhbmQgZHJvcCBkb2N1bWVudGF0aW9uOlxuICAgKiBOb3RlIHRoYXQgdGhpcyB3aWxsIG5vdCB1cGRhdGUgeW91ciBkYXRhIG1vZGVsO1xuICAgKiB5b3UgY2FuIGxpc3RlbiB0byB0aGUgY2RrRHJvcExpc3REcm9wcGVkIGV2ZW50IHRvIHVwZGF0ZSB0aGUgZGF0YSBtb2RlbFxuICAgKiBvbmNlIHRoZSB1c2VyIGZpbmlzaGVzIGRyYWdnaW5nLlxuICAgKiBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vY2RrL2RyYWctZHJvcC9vdmVydmlld1xuICAgKlxuICAgKiBZb3UncmUgc3VwcG9zZWQgdG8gdXBkYXRlIHRoZSBkYXRhIGluIHRoZSBwYXJlbnQgYW5kIHBhc3MgdGhlIG5ldyBpdGVtcyBhcyBpbnB1dC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxEcmFnQW5kRHJvcExpc3RJdGVtQ29tcG9uZW50W10gfCBudWxsLCBzdHJpbmdbXT4pIHtcbiAgICB0aGlzLnNvcnRJdGVtcyhldmVudC5jb250YWluZXIuZGF0YSEsIGV2ZW50Lml0ZW0uZGF0YSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgZHJvcFRvSW5kZXhBZnRlckFycm93S2V5KGl0ZW06IGFueSwgcHJldmlvdXNJbmRleDogbnVtYmVyLCBjdXJyZW50SW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmlzU29ydGluZ0J5S2V5Ym9hcmQpIHtcbiAgICAgIHRoaXMuc29ydEl0ZW1zKHRoaXMuX2l0ZW1zLCBpdGVtLCBwcmV2aW91c0luZGV4LCBjdXJyZW50SW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc29ydEl0ZW1zKGl0ZW1zOiBhbnksIGl0ZW06IHN0cmluZywgcHJldmlvdXNJbmRleDogbnVtYmVyLCBjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIG1vdmVJdGVtSW5BcnJheShpdGVtcywgcHJldmlvdXNJbmRleCwgY3VycmVudEluZGV4KTtcbiAgICB0aGlzLm1vdmVUb0luZGV4LmVtaXQoeyBpbmRleDogY3VycmVudEluZGV4LCBwcmV2aW91czogcHJldmlvdXNJbmRleCB9KTtcbiAgICB0aGlzLm1vdmVJdGVtLmVtaXQoeyBpdGVtLCBpbmRleDogY3VycmVudEluZGV4IH0pO1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICB0cmFja0J5SXRlbShfaW5kZXg6IG51bWJlciwgaXRlbTogRHJhZ0FuZERyb3BMaXN0SXRlbUNvbXBvbmVudCkge1xuICAgIHJldHVybiBpdGVtLml0ZW07XG4gIH1cbn1cbiIsIjxsYWJlbCAqbmdJZj1cImxhYmVsXCIgW3N0eWxlLmZvbnQtd2VpZ2h0XT1cImxhYmVsRm9udFdlaWdodFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbjxwIGNsYXNzPVwic3Itb25seVwiPnt7IE5BTUUgKyAnLmhlbHBUb29sdGlwJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbjx1bFxuICBjZGtEcm9wTGlzdFxuICBjbGFzcz1cImxpc3RcIlxuICByb2xlPVwibGlzdGJveFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxcIlxuICBseEtleWJvYXJkU29ydGFibGVMaXN0XG4gIFtrZXlib2FyZFNvcnRhYmxlSXRlbXNdPVwia2V5Ym9hcmRTb3J0YWJsZUl0ZW1zJCB8IGFzeW5jXCJcbiAgW2Nka0Ryb3BMaXN0RGF0YV09XCJpdGVtcyQgfCBhc3luY1wiXG4gIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQpXCJcbj5cbiAgPGxpXG4gICAgKm5nRm9yPVwibGV0IGl0ZW1Db21wb25lbnQgb2YgaXRlbXMkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlJdGVtXCJcbiAgICAjbGlzdEl0ZW1QYXJlbnRcbiAgICBjbGFzcz1cIml0ZW1cIlxuICAgIGNka0RyYWdcbiAgICBjZGtEcmFnTG9ja0F4aXM9XCJ5XCJcbiAgICBbY2RrRHJhZ0RhdGFdPVwiaXRlbUNvbXBvbmVudC5pdGVtXCJcbiAgICBbY2RrRHJhZ0Rpc2FibGVkXT1cIiFpdGVtQ29tcG9uZW50LmRyYWdnYWJsZVwiXG4gICAgW2NsYXNzLmRhcmtdPVwiY29sb3IgPT09ICdkYXJrJ1wiXG4gICAgW2NsYXNzLmJpZ109XCJmb250U2l6ZSA9PT0gJ2JpZydcIlxuICAgIFt0YWJJbmRleF09XCJpdGVtQ29tcG9uZW50LmRyYWdnYWJsZSA9PT0gZmFsc2UgPyAtMSA6IDBcIlxuICAgIFtseEtleWJvYXJkU29ydGFibGVJdGVtXT1cImFsbEl0ZW1zRGF0YSQgfCBhc3luY1wiXG4gICAgW2x4S2V5Ym9hcmRJdGVtRGF0YV09XCJpdGVtQ29tcG9uZW50Lml0ZW1cIlxuICAgIFsoaXNTb3J0aW5nQnlLZXlib2FyZCldPVwiaXNTb3J0aW5nQnlLZXlib2FyZFwiXG4gICAgWyhseEtleWJvYXJkSXRlbUJlaW5nU29ydGVkKV09XCJrZXlib2FyZEl0ZW1CZWluZ1NvcnRlZFwiXG4gICAgKHNvcnRJdGVtc1dpdGhLZXlib2FyZCk9XCJkcm9wVG9JbmRleEFmdGVyQXJyb3dLZXkoaXRlbUNvbXBvbmVudC5pdGVtLCAkZXZlbnQucHJldmlvdXNJbmRleCwgJGV2ZW50LmN1cnJlbnRJbmRleClcIlxuICA+XG4gICAgPGx4LWRyYWctYW5kLWRyb3AtbGlzdC1pdGVtXG4gICAgICBjbGFzcz1cImRyYWdBbmREcm9wSXRlbVwiXG4gICAgICBbaXRlbV09XCJpdGVtQ29tcG9uZW50Lml0ZW1cIlxuICAgICAgW2RyYWdnYWJsZV09XCJpdGVtQ29tcG9uZW50LmRyYWdnYWJsZVwiXG4gICAgICBbYWN0aW9uc109XCJpdGVtQ29tcG9uZW50LmFjdGlvbnNcIlxuICAgICAgKGFjdGlvbik9XCJlbWl0Q29udGVudENoaWxkQWN0aW9uKCRldmVudClcIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIml0ZW1Db21wb25lbnQuY3VzdG9tVGVtcGxhdGVSZWZcIiAjY3VzdG9tVGVtcGxhdGU+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtQ29tcG9uZW50LmN1c3RvbVRlbXBsYXRlUmVmXCIgLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9seC1kcmFnLWFuZC1kcm9wLWxpc3QtaXRlbT5cbiAgPC9saT5cbjwvdWw+XG4iXX0=
@@ -1,39 +0,0 @@
1
- import { DragDropModule } from '@angular/cdk/drag-drop';
2
- import { CommonModule } from '@angular/common';
3
- import { NgModule } from '@angular/core';
4
- import { TranslateModule } from '@ngx-translate/core';
5
- import { DragAndDropListItemComponent } from './drag-and-drop-list-item/drag-and-drop-list-item.component';
6
- import { DragAndDropListComponent } from './drag-and-drop-list.component';
7
- import { KeyboardSortableItemDirective } from './keyboard-sortable-item/keyboard-sortable-item.directive';
8
- import { KeyboardSortableListDirective } from './keyboard-sortable-list/keyboard-sortable-list.directive';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@ngx-translate/core";
11
- export class LxDragAndDropListModule {
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LxDragAndDropListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: LxDragAndDropListModule, imports: [CommonModule,
14
- DragDropModule, i1.TranslateModule, KeyboardSortableItemDirective,
15
- KeyboardSortableListDirective,
16
- DragAndDropListComponent,
17
- DragAndDropListItemComponent], exports: [DragAndDropListComponent, DragAndDropListItemComponent] }); }
18
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LxDragAndDropListModule, imports: [CommonModule,
19
- DragDropModule,
20
- TranslateModule.forChild(),
21
- DragAndDropListComponent,
22
- DragAndDropListItemComponent] }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LxDragAndDropListModule, decorators: [{
25
- type: NgModule,
26
- args: [{
27
- imports: [
28
- CommonModule,
29
- DragDropModule,
30
- TranslateModule.forChild(),
31
- KeyboardSortableItemDirective,
32
- KeyboardSortableListDirective,
33
- DragAndDropListComponent,
34
- DragAndDropListItemComponent
35
- ],
36
- exports: [DragAndDropListComponent, DragAndDropListItemComponent]
37
- }]
38
- }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvZHJhZy1hbmQtZHJvcC1saXN0L2RyYWctYW5kLWRyb3AtbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMzRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7O0FBYzFHLE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjsrR0FBdkIsdUJBQXVCLFlBVmhDLFlBQVk7WUFDWixjQUFjLHNCQUVkLDZCQUE2QjtZQUM3Qiw2QkFBNkI7WUFDN0Isd0JBQXdCO1lBQ3hCLDRCQUE0QixhQUVwQix3QkFBd0IsRUFBRSw0QkFBNEI7K0dBRXJELHVCQUF1QixZQVZoQyxZQUFZO1lBQ1osY0FBYztZQUNkLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFHMUIsd0JBQXdCO1lBQ3hCLDRCQUE0Qjs7MkZBSW5CLHVCQUF1QjtrQkFabkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGVBQWUsQ0FBQyxRQUFRLEVBQUU7d0JBQzFCLDZCQUE2Qjt3QkFDN0IsNkJBQTZCO3dCQUM3Qix3QkFBd0I7d0JBQ3hCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLEVBQUUsNEJBQTRCLENBQUM7aUJBQ2xFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBEcmFnQW5kRHJvcExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9kcmFnLWFuZC1kcm9wLWxpc3QtaXRlbS9kcmFnLWFuZC1kcm9wLWxpc3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJhZ0FuZERyb3BMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9kcmFnLWFuZC1kcm9wLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEtleWJvYXJkU29ydGFibGVJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9rZXlib2FyZC1zb3J0YWJsZS1pdGVtL2tleWJvYXJkLXNvcnRhYmxlLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEtleWJvYXJkU29ydGFibGVMaXN0RGlyZWN0aXZlIH0gZnJvbSAnLi9rZXlib2FyZC1zb3J0YWJsZS1saXN0L2tleWJvYXJkLXNvcnRhYmxlLWxpc3QuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBLZXlib2FyZFNvcnRhYmxlSXRlbURpcmVjdGl2ZSxcbiAgICBLZXlib2FyZFNvcnRhYmxlTGlzdERpcmVjdGl2ZSxcbiAgICBEcmFnQW5kRHJvcExpc3RDb21wb25lbnQsXG4gICAgRHJhZ0FuZERyb3BMaXN0SXRlbUNvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbRHJhZ0FuZERyb3BMaXN0Q29tcG9uZW50LCBEcmFnQW5kRHJvcExpc3RJdGVtQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBMeERyYWdBbmREcm9wTGlzdE1vZHVsZSB7fVxuIl19
@@ -1,137 +0,0 @@
1
- import { Directive, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';
2
- import { ReplaySubject } from 'rxjs';
3
- import { TooltipDirective } from '../../../../core-ui/tooltip/tooltip.directive';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/cdk/drag-drop";
6
- import * as i2 from "@angular/cdk/overlay";
7
- import * as i3 from "@angular/cdk/a11y";
8
- export class KeyboardSortableItemDirective {
9
- get isSortable() {
10
- return !this.draggableItem.disabled;
11
- }
12
- constructor(draggableItem, overlayPositionBuilder, element, overlay, ariaDescriber) {
13
- this.draggableItem = draggableItem;
14
- this.overlayPositionBuilder = overlayPositionBuilder;
15
- this.element = element;
16
- this.overlay = overlay;
17
- this.ariaDescriber = ariaDescriber;
18
- this.isSortingByKeyboardChange = new EventEmitter();
19
- this.itemBeingSortedChange = new EventEmitter();
20
- this.sortItemsWithKeyboard = new EventEmitter();
21
- this.tooltipDirective = new TooltipDirective(this.overlayPositionBuilder, this.element, this.overlay, this.ariaDescriber);
22
- this.isBeingSorted = false;
23
- this.preventBlur = false;
24
- this.focusWithKeyboardReplaySubject$ = new ReplaySubject(1);
25
- /**
26
- * Using a ReplaySubject here so that the KeyboardSortableListDirective will also know
27
- * about a focusWithKeyboard event when its copy of the KeyboardSortableItemDirective ContentChildren
28
- * was just initialised after the event fired.
29
- */
30
- this.focusWithKeyboard = this.focusWithKeyboardReplaySubject$.asObservable();
31
- }
32
- ngOnChanges() {
33
- this.isBeingSorted = this.itemData === this.itemBeingSorted;
34
- if (this.isBeingSorted) {
35
- // focus always the pressed element
36
- this.element.nativeElement.focus();
37
- }
38
- }
39
- focusViaKeyboard() {
40
- this.focusWithKeyboardReplaySubject$.next(this);
41
- }
42
- enterSortingModeEnabledByKeyboard($event) {
43
- if ($event.target === this.element.nativeElement) {
44
- if ($event.code === 'Enter' || $event.code === 'Space') {
45
- $event.preventDefault();
46
- this.tooltipDirective.hide();
47
- this.itemBeingSortedChange.emit(!this.isSortingByKeyboard ? this.itemData : undefined);
48
- this.isSortingByKeyboardChange.emit(!this.isSortingByKeyboard);
49
- }
50
- }
51
- }
52
- leaveSortingModeEnabledByKeyboard($event) {
53
- if ($event.target === this.element.nativeElement) {
54
- this.tooltipDirective.hide();
55
- if (!this.preventBlur) {
56
- this.isSortingByKeyboardChange.emit(false);
57
- this.itemBeingSortedChange.emit(undefined);
58
- }
59
- }
60
- }
61
- sort($event) {
62
- if ($event.target === this.element.nativeElement) {
63
- this.tooltipDirective.hide();
64
- if (this.isSortingByKeyboard) {
65
- const allItemsData = this.allItemsData ?? [];
66
- $event.preventDefault();
67
- const previousIndex = allItemsData.findIndex((item) => item === this.itemData);
68
- const currentIndex = $event.code === 'ArrowUp' ? previousIndex - 1 : previousIndex + 1;
69
- if (currentIndex >= 0 && currentIndex <= allItemsData.length - 1) {
70
- this.sortItemsWithKeyboard.emit({ previousIndex, currentIndex });
71
- // When triggering a keyboard event, the DOM would "removeChildren" on the HTML element
72
- // which specially for "ArrowUp" events would trigger a "blur" event since the element
73
- // has been moved aboved the DOM tree and loses the focus state.
74
- this.preventBlur = true;
75
- setTimeout(() => (this.preventBlur = false), 0);
76
- }
77
- }
78
- }
79
- }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: KeyboardSortableItemDirective, deps: [{ token: i1.CdkDrag }, { token: i2.OverlayPositionBuilder }, { token: i0.ElementRef }, { token: i2.Overlay }, { token: i3.AriaDescriber }], target: i0.ɵɵFactoryTarget.Directive }); }
81
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: KeyboardSortableItemDirective, isStandalone: true, selector: "[lxKeyboardSortableItem]", inputs: { allItemsData: ["lxKeyboardSortableItem", "allItemsData"], itemData: ["lxKeyboardItemData", "itemData"], isSortingByKeyboard: "isSortingByKeyboard", itemBeingSorted: ["lxKeyboardItemBeingSorted", "itemBeingSorted"] }, outputs: { isSortingByKeyboardChange: "isSortingByKeyboardChange", itemBeingSortedChange: "lxKeyboardItemBeingSortedChange", sortItemsWithKeyboard: "sortItemsWithKeyboard", focusWithKeyboard: "focusWithKeyboard" }, host: { listeners: { "keyup.tab": "focusViaKeyboard()", "keydown.enter": "enterSortingModeEnabledByKeyboard($event)", "keydown.space": "enterSortingModeEnabledByKeyboard($event)", "blur": "leaveSortingModeEnabledByKeyboard($event)", "keydown.esc": "leaveSortingModeEnabledByKeyboard($event)", "keydown.arrowUp": "sort($event)", "keydown.arrowDown": "sort($event)" }, properties: { "attr.lxTooltip": "this.tooltipDirective", "class.isBeingSortedByKeyboard": "this.isBeingSorted" } }, usesOnChanges: true, ngImport: i0 }); }
82
- }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: KeyboardSortableItemDirective, decorators: [{
84
- type: Directive,
85
- args: [{
86
- selector: '[lxKeyboardSortableItem]',
87
- standalone: true
88
- }]
89
- }], ctorParameters: () => [{ type: i1.CdkDrag }, { type: i2.OverlayPositionBuilder }, { type: i0.ElementRef }, { type: i2.Overlay }, { type: i3.AriaDescriber }], propDecorators: { allItemsData: [{
90
- type: Input,
91
- args: ['lxKeyboardSortableItem']
92
- }], itemData: [{
93
- type: Input,
94
- args: ['lxKeyboardItemData']
95
- }], isSortingByKeyboard: [{
96
- type: Input
97
- }], itemBeingSorted: [{
98
- type: Input,
99
- args: ['lxKeyboardItemBeingSorted']
100
- }], isSortingByKeyboardChange: [{
101
- type: Output
102
- }], itemBeingSortedChange: [{
103
- type: Output,
104
- args: ['lxKeyboardItemBeingSortedChange']
105
- }], sortItemsWithKeyboard: [{
106
- type: Output
107
- }], focusWithKeyboard: [{
108
- type: Output
109
- }], tooltipDirective: [{
110
- type: HostBinding,
111
- args: ['attr.lxTooltip']
112
- }], isBeingSorted: [{
113
- type: HostBinding,
114
- args: ['class.isBeingSortedByKeyboard']
115
- }], focusViaKeyboard: [{
116
- type: HostListener,
117
- args: ['keyup.tab']
118
- }], enterSortingModeEnabledByKeyboard: [{
119
- type: HostListener,
120
- args: ['keydown.enter', ['$event']]
121
- }, {
122
- type: HostListener,
123
- args: ['keydown.space', ['$event']]
124
- }], leaveSortingModeEnabledByKeyboard: [{
125
- type: HostListener,
126
- args: ['blur', ['$event']]
127
- }, {
128
- type: HostListener,
129
- args: ['keydown.esc', ['$event']]
130
- }], sort: [{
131
- type: HostListener,
132
- args: ['keydown.arrowUp', ['$event']]
133
- }, {
134
- type: HostListener,
135
- args: ['keydown.arrowDown', ['$event']]
136
- }] } });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtc29ydGFibGUtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2RyYWctYW5kLWRyb3AtbGlzdC9rZXlib2FyZC1zb3J0YWJsZS1pdGVtL2tleWJvYXJkLXNvcnRhYmxlLWl0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6SCxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7OztBQU1qRixNQUFNLE9BQU8sNkJBQTZCO0lBbUJ4QyxJQUFJLFVBQVU7UUFDWixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDdEMsQ0FBQztJQUtELFlBQ1UsYUFBc0IsRUFDdEIsc0JBQThDLEVBQzlDLE9BQWdDLEVBQ2hDLE9BQWdCLEVBQ2hCLGFBQTRCO1FBSjVCLGtCQUFhLEdBQWIsYUFBYSxDQUFTO1FBQ3RCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDaEMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXpCbkIsOEJBQXlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN2QiwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUN6RywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBbUQsQ0FBQztRQUd2RSxxQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixDQUNwRSxJQUFJLENB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QUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBZXpDLGlDQUFpQztzQkFGaEMsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUMvQixZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFhdkMsSUFBSTtzQkFGSCxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDMUMsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtcmVuYW1lICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lICovXG5pbXBvcnQgeyBBcmlhRGVzY3JpYmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQ2RrRHJhZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVBvc2l0aW9uQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlLXVpL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbHhLZXlib2FyZFNvcnRhYmxlSXRlbV0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEtleWJvYXJkU29ydGFibGVJdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCdseEtleWJvYXJkU29ydGFibGVJdGVtJykgYWxsSXRlbXNEYXRhITogc3RyaW5nW10gfCBudWxsO1xuICBASW5wdXQoJ2x4S2V5Ym9hcmRJdGVtRGF0YScpIGl0ZW1EYXRhITogc3RyaW5nO1xuICBASW5wdXQoKSBpc1NvcnRpbmdCeUtleWJvYXJkITogYm9vbGVhbjtcbiAgQElucHV0KCdseEtleWJvYXJkSXRlbUJlaW5nU29ydGVkJykgaXRlbUJlaW5nU29ydGVkPzogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBpc1NvcnRpbmdCeUtleWJvYXJkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCdseEtleWJvYXJkSXRlbUJlaW5nU29ydGVkQ2hhbmdlJykgcmVhZG9ubHkgaXRlbUJlaW5nU29ydGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XG4gIEBPdXRwdXQoKSBzb3J0SXRlbXNXaXRoS2V5Ym9hcmQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgcHJldmlvdXNJbmRleDogbnVtYmVyOyBjdXJyZW50SW5kZXg6IG51bWJlciB9PigpO1xuICBAT3V0cHV0KCkgZm9jdXNXaXRoS2V5Ym9hcmQhOiBPYnNlcnZhYmxlPEtleWJvYXJkU29ydGFibGVJdGVtRGlyZWN0aXZlPjtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIubHhUb29sdGlwJykgdG9vbHRpcERpcmVjdGl2ZSA9IG5ldyBUb29sdGlwRGlyZWN0aXZlKFxuICAgIHRoaXMub3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcbiAgICB0aGlzLmVsZW1lbnQsXG4gICAgdGhpcy5vdmVybGF5LFxuICAgIHRoaXMuYXJpYURlc2NyaWJlclxuICApO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzQmVpbmdTb3J0ZWRCeUtleWJvYXJkJykgaXNCZWluZ1NvcnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGdldCBpc1NvcnRhYmxlKCkge1xuICAgIHJldHVybiAhdGhpcy5kcmFnZ2FibGVJdGVtLmRpc2FibGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmV2ZW50Qmx1ciA9IGZhbHNlO1xuICBwcml2YXRlIGZvY3VzV2l0aEtleWJvYXJkUmVwbGF5U3ViamVjdCQgPSBuZXcgUmVwbGF5U3ViamVjdDxLZXlib2FyZFNvcnRhYmxlSXRlbURpcmVjdGl2ZT4oMSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkcmFnZ2FibGVJdGVtOiBDZGtEcmFnLFxuICAgIHByaXZhdGUgb3ZlcmxheVBvc2l0aW9uQnVpbGRlcjogT3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIGFyaWFEZXNjcmliZXI6IEFyaWFEZXNjcmliZXJcbiAgKSB7XG4gICAgLyoqXG4gICAgICogVXNpbmcgYSBSZXBsYXlTdWJqZWN0IGhlcmUgc28gdGhhdCB0aGUgS2V5Ym9hcmRTb3J0YWJsZUxpc3REaXJlY3RpdmUgd2lsbCBhbHNvIGtub3dcbiAgICAgKiBhYm91dCBhIGZvY3VzV2l0aEtleWJvYXJkIGV2ZW50IHdoZW4gaXRzIGNvcHkgb2YgdGhlIEtleWJvYXJkU29ydGFibGVJdGVtRGlyZWN0aXZlIENvbnRlbnRDaGlsZHJlblxuICAgICAqIHdhcyBqdXN0IGluaXRpYWxpc2VkIGFmdGVyIHRoZSBldmVudCBmaXJlZC5cbiAgICAgKi9cbiAgICB0aGlzLmZvY3VzV2l0aEtleWJvYXJkID0gdGhpcy5mb2N1c1dpdGhLZXlib2FyZFJlcGxheVN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5pc0JlaW5nU29ydGVkID0gdGhpcy5pdGVtRGF0YSA9PT0gdGhpcy5pdGVtQmVpbmdTb3J0ZWQ7XG4gICAgaWYgKHRoaXMuaXNCZWluZ1NvcnRlZCkge1xuICAgICAgLy8gZm9jdXMgYWx3YXlzIHRoZSBwcmVzc2VkIGVsZW1lbnRcbiAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5dXAudGFiJylcbiAgZm9jdXNWaWFLZXlib2FyZCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzV2l0aEtleWJvYXJkUmVwbGF5U3ViamVjdCQubmV4dCh0aGlzKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnNwYWNlJywgWyckZXZlbnQnXSlcbiAgZW50ZXJTb3J0aW5nTW9kZUVuYWJsZWRCeUtleWJvYXJkKCRldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICgkZXZlbnQudGFyZ2V0ID09PSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCkge1xuICAgICAgaWYgKCRldmVudC5jb2RlID09PSAnRW50ZXInIHx8ICRldmVudC5jb2RlID09PSAnU3BhY2UnKSB7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnRvb2x0aXBEaXJlY3RpdmUuaGlkZSgpO1xuXG4gICAgICAgIHRoaXMuaXRlbUJlaW5nU29ydGVkQ2hhbmdlLmVtaXQoIXRoaXMuaXNTb3J0aW5nQnlLZXlib2FyZCA/IHRoaXMuaXRlbURhdGEgOiB1bmRlZmluZWQpO1xuICAgICAgICB0aGlzLmlzU29ydGluZ0J5S2V5Ym9hcmRDaGFuZ2UuZW1pdCghdGhpcy5pc1NvcnRpbmdCeUtleWJvYXJkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQnXSlcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2MnLCBbJyRldmVudCddKVxuICBsZWF2ZVNvcnRpbmdNb2RlRW5hYmxlZEJ5S2V5Ym9hcmQoJGV2ZW50OiBLZXlib2FyZEV2ZW50IHwgRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIGlmICgkZXZlbnQudGFyZ2V0ID09PSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy50b29sdGlwRGlyZWN0aXZlLmhpZGUoKTtcbiAgICAgIGlmICghdGhpcy5wcmV2ZW50Qmx1cikge1xuICAgICAgICB0aGlzLmlzU29ydGluZ0J5S2V5Ym9hcmRDaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgICAgIHRoaXMuaXRlbUJlaW5nU29ydGVkQ2hhbmdlLmVtaXQodW5kZWZpbmVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93VXAnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93RG93bicsIFsnJGV2ZW50J10pXG4gIHNvcnQoJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCRldmVudC50YXJnZXQgPT09IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLnRvb2x0aXBEaXJlY3RpdmUuaGlkZSgpO1xuICAgICAgaWYgKHRoaXMuaXNTb3J0aW5nQnlLZXlib2FyZCkge1xuICAgICAgICBjb25zdCBhbGxJdGVtc0RhdGEgPSB0aGlzLmFsbEl0ZW1zRGF0YSA/PyBbXTtcblxuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gYWxsSXRlbXNEYXRhLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbSA9PT0gdGhpcy5pdGVtRGF0YSk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9ICRldmVudC5jb2RlID09PSAnQXJyb3dVcCcgPyBwcmV2aW91c0luZGV4IC0gMSA6IHByZXZpb3VzSW5kZXggKyAxO1xuXG4gICAgICAgIGlmIChjdXJyZW50SW5kZXggPj0gMCAmJiBjdXJyZW50SW5kZXggPD0gYWxsSXRlbXNEYXRhLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICB0aGlzLnNvcnRJdGVtc1dpdGhLZXlib2FyZC5lbWl0KHsgcHJldmlvdXNJbmRleCwgY3VycmVudEluZGV4IH0pO1xuXG4gICAgICAgICAgLy8gV2hlbiB0cmlnZ2VyaW5nIGEga2V5Ym9hcmQgZXZlbnQsIHRoZSBET00gd291bGQgXCJyZW1vdmVDaGlsZHJlblwiIG9uIHRoZSBIVE1MIGVsZW1lbnRcbiAgICAgICAgICAvLyB3aGljaCBzcGVjaWFsbHkgZm9yIFwiQXJyb3dVcFwiIGV2ZW50cyB3b3VsZCB0cmlnZ2VyIGEgXCJibHVyXCIgZXZlbnQgc2luY2UgdGhlIGVsZW1lbnRcbiAgICAgICAgICAvLyBoYXMgYmVlbiBtb3ZlZCBhYm92ZWQgdGhlIERPTSB0cmVlIGFuZCBsb3NlcyB0aGUgZm9jdXMgc3RhdGUuXG4gICAgICAgICAgdGhpcy5wcmV2ZW50Qmx1ciA9IHRydWU7XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLnByZXZlbnRCbHVyID0gZmFsc2UpLCAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19