@sankhyalabs/ezui 5.9.0 → 5.10.0

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.
@@ -11,6 +11,7 @@ export class EzList {
11
11
  this.ezDraggable = false;
12
12
  this.ezSelectable = false;
13
13
  this.itemSlotBuilder = undefined;
14
+ this.itemLeftSlotBuilder = undefined;
14
15
  this.hoverFeedback = false;
15
16
  }
16
17
  /**
@@ -40,12 +41,7 @@ export class EzList {
40
41
  let newList = [...this._listGroupItems];
41
42
  newList.forEach(groupItem => {
42
43
  groupItem.items.forEach(item => {
43
- if (item.label == selectedItem.label) {
44
- item.selected = true;
45
- }
46
- else {
47
- item.selected = false;
48
- }
44
+ item.selected = item.id === selectedItem.id;
49
45
  });
50
46
  });
51
47
  this._listGroupItems = newList;
@@ -53,26 +49,21 @@ export class EzList {
53
49
  else {
54
50
  let newList = [...this._listItems];
55
51
  newList.forEach(item => {
56
- if (item.label === selectedItem.label) {
57
- item.selected = true;
58
- }
59
- else {
60
- item.selected = false;
61
- }
52
+ item.selected = item.id === selectedItem.id;
62
53
  });
63
54
  this._listItems = newList;
64
55
  }
65
56
  if (scrollToOption) {
66
57
  let liElem = this.useGroups
67
- ? this._groupContainer.querySelector('li#item_' + this.getItemId(selectedItem.label))
68
- : this._itemContainer.querySelector('li#item_' + this.getItemId(selectedItem.label));
58
+ ? this._groupContainer.querySelector('li#item_' + selectedItem.id)
59
+ : this._itemContainer.querySelector('li#item_' + selectedItem.id);
69
60
  if (liElem) {
70
61
  liElem.scrollIntoView();
71
62
  }
72
63
  }
73
64
  }
74
65
  else {
75
- this.removeSelection();
66
+ await this.removeSelection();
76
67
  }
77
68
  }
78
69
  /**
@@ -104,16 +95,46 @@ export class EzList {
104
95
  }
105
96
  return this._listItems;
106
97
  }
98
+ /**
99
+ * Limpa a seleção atual
100
+ */
101
+ async removeSelection() {
102
+ if (this.useGroups) {
103
+ let newList = [...this._listGroupItems];
104
+ newList.forEach(groupItem => {
105
+ groupItem.items.forEach(item => {
106
+ item.selected = false;
107
+ });
108
+ });
109
+ this._listGroupItems = newList;
110
+ }
111
+ else {
112
+ let newList = [...this._listItems];
113
+ newList.forEach(item => {
114
+ item.selected = false;
115
+ });
116
+ this._listItems = newList;
117
+ }
118
+ }
119
+ applyUUID(item) {
120
+ if (!item.id) {
121
+ item.id = StringUtils.generateUUID();
122
+ }
123
+ }
107
124
  createList() {
108
125
  if (this.useGroups) {
109
126
  let list = this.dataSource.map(item => item);
110
127
  list.forEach(itemGroup => {
128
+ itemGroup.items.map(this.applyUUID);
111
129
  this.sortGroup(itemGroup);
112
130
  });
113
131
  this._listGroupItems = list;
114
132
  }
115
133
  else {
116
- this._listItems = this._listItemsHistory.length > 0 ? this._listItemsHistory : this.dataSource.map(item => item);
134
+ this._listItems = this._listItemsHistory.length > 0 ? this._listItemsHistory : this.dataSource.map(item => {
135
+ this.applyUUID(item);
136
+ return item;
137
+ });
117
138
  }
118
139
  }
119
140
  sortGroup(itemGroup) {
@@ -126,24 +147,6 @@ export class EzList {
126
147
  }
127
148
  }
128
149
  }
129
- removeSelection() {
130
- if (this.useGroups) {
131
- let newList = [...this._listGroupItems];
132
- newList.forEach(groupItem => {
133
- groupItem.items.forEach(item => {
134
- item.selected = false;
135
- });
136
- });
137
- this._listGroupItems = newList;
138
- }
139
- else {
140
- let newList = [...this._listItems];
141
- newList.forEach(item => {
142
- item.selected = false;
143
- });
144
- this._listItems = newList;
145
- }
146
- }
147
150
  buildIdDraggableListAndSelectable() {
148
151
  const shadow = this._element.shadowRoot;
149
152
  const draggableList = shadow.querySelectorAll('.draggable-list');
@@ -256,7 +259,7 @@ export class EzList {
256
259
  if (((_a = newGroup.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
257
260
  let newItem;
258
261
  newGroup.items.forEach((item, index) => {
259
- if (item.label === this._dragStartItem.item.label) {
262
+ if (item.id === this._dragStartItem.item.id) {
260
263
  newItem = { item: item, index: index };
261
264
  }
262
265
  });
@@ -373,7 +376,7 @@ export class EzList {
373
376
  if (this.useGroups) {
374
377
  this._listGroupItems.every((group, groupIndex, listGroupItems) => {
375
378
  let item = undefined;
376
- let itemIndex = group.items.findIndex(item => item.label == selectedItem.label);
379
+ let itemIndex = group.items.findIndex(item => item.id == selectedItem.id);
377
380
  if (itemIndex != undefined && itemIndex != -1) {
378
381
  if (itemIndex === group.items.length - 1) {
379
382
  if (groupIndex + 1 <= listGroupItems.length - 1) {
@@ -392,7 +395,7 @@ export class EzList {
392
395
  });
393
396
  }
394
397
  else {
395
- let itemIndex = this._listItems.findIndex(item => item.label === selectedItem.label);
398
+ let itemIndex = this._listItems.findIndex(item => item.id === selectedItem.id);
396
399
  if (itemIndex >= 0 && itemIndex < this._listItems.length) {
397
400
  nextItem = this._listItems[itemIndex + 1];
398
401
  }
@@ -404,7 +407,7 @@ export class EzList {
404
407
  if (this.useGroups) {
405
408
  this._listGroupItems.every((group, groupIndex, listGroupItems) => {
406
409
  let item = undefined;
407
- let itemIndex = group.items.findIndex(item => item.label == selectedItem.label);
410
+ let itemIndex = group.items.findIndex(item => item.id === selectedItem.id);
408
411
  if (itemIndex != undefined && itemIndex != -1) {
409
412
  if (itemIndex === 0) {
410
413
  if (groupIndex - 1 >= 0) {
@@ -423,7 +426,7 @@ export class EzList {
423
426
  });
424
427
  }
425
428
  else {
426
- let itemIndex = this._listItems.findIndex(item => item.label === selectedItem.label);
429
+ let itemIndex = this._listItems.findIndex(item => item.id === selectedItem.id);
427
430
  if (itemIndex > 0 && itemIndex < this._listItems.length) {
428
431
  previousItem = this._listItems[itemIndex - 1];
429
432
  }
@@ -449,12 +452,6 @@ export class EzList {
449
452
  });
450
453
  event.stopPropagation();
451
454
  }
452
- getItemId(itemLabel) {
453
- if (itemLabel) {
454
- return itemLabel.replace(/[^a-z0-9_]/gi, '_');
455
- }
456
- return undefined;
457
- }
458
455
  getDivGroupId(groupName) {
459
456
  if (groupName) {
460
457
  return 'group-' + groupName.replace(/[^a-z0-9_]/gi, '_');
@@ -505,14 +502,11 @@ export class EzList {
505
502
  groupOverlay.setAttribute('style', 'display:none');
506
503
  });
507
504
  }
508
- getContainerItemBuilder(item, group, className) {
509
- if (this.itemSlotBuilder == undefined) {
510
- return;
511
- }
512
- const customContent = this.itemSlotBuilder(item, group);
513
- if (customContent == undefined) {
505
+ getContainerItemBuilder(slotPosition, item, group, className) {
506
+ var _a, _b;
507
+ const customContent = slotPosition === 'left' ? (_a = this.itemLeftSlotBuilder) === null || _a === void 0 ? void 0 : _a.call(this, item, group) : (_b = this.itemSlotBuilder) === null || _b === void 0 ? void 0 : _b.call(this, item, group);
508
+ if (customContent == undefined)
514
509
  return;
515
- }
516
510
  if (typeof customContent !== 'string') {
517
511
  return h("div", { class: className }, customContent);
518
512
  }
@@ -522,10 +516,10 @@ export class EzList {
522
516
  return (h(Host, { ref: el => (this._element = el) }, this.useGroups ? (h("div", { class: "group-container", ref: el => (this._groupContainer = el), tabIndex: 0, onKeyDown: event => {
523
517
  this.keyDownHandler(event);
524
518
  } }, this._listGroupItems.map(group => {
525
- return (h("div", { id: this.getDivGroupId(group.group), class: "group", key: group.group + group.items.length, onDrop: () => this.onDropGroup(group) }, h("label", { draggable: false, class: "group-name", title: group.group }, group.group), h("section", { class: "section-container", onDragOver: ev => ev.preventDefault() }, h("div", { class: "group-items-container" }, h("div", { class: "draggable-list" }, group.items.map((item, index) => (h("li", Object.assign({ id: 'item_' + this.getItemId(item.label), class: {
519
+ return (h("div", { id: this.getDivGroupId(group.group), class: "group", key: group.group + group.items.length, onDrop: () => this.onDropGroup(group) }, h("label", { draggable: false, class: "group-name", title: group.group }, group.group), h("section", { class: "section-container", onDragOver: ev => ev.preventDefault() }, h("div", { class: "group-items-container" }, h("div", { class: "draggable-list" }, group.items.map((item, index) => (h("li", Object.assign({ id: 'item_' + item.id, class: {
526
520
  'selectable-container': this.ezSelectable,
527
521
  'hover-feedback': this.hoverFeedback,
528
- }, key: 'item_' + this.getItemId(item.label) }, {
522
+ }, key: 'item_' + item.id }, {
529
523
  [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(`ezListItem__${StringUtils.replaceAccentuatedChars(item.label)}`),
530
524
  }), h("div", { class: 'draggable' + (item.selected == true ? ' selected-item ' : '') + (this.ezSelectable == true ? ' selectable ' : ''), onClick: () => {
531
525
  this.setSelection(item);
@@ -533,17 +527,17 @@ export class EzList {
533
527
  group.sort ? undefined : this.removeOverClass();
534
528
  }, onDragEnd: () => this.onDragEnd(), onDragStart: () => this.onDragStart(item, group, index), onDragOver: event => {
535
529
  group.sort ? undefined : this.onDragOverItem(event);
536
- }, onDrop: event => this.onDrop(event, { groupName: group.group, item: item, index: index }), draggable: this.ezDraggable }, h("div", { class: "item-content" }, this.ezDraggable ? h("span", { class: "draggable-icon" }) : undefined, this.listMode === 'regular' ? (h("p", { title: item.label, class: "person-name text--ellipsis" }, item.label)) : (h("ez-check", { label: item.label, value: item.check, onEzChange: evt => this.ezCheckChange.emit({ id: item.id, label: item.label, check: evt.detail }) }))), this.itemSlotBuilder ? this.getContainerItemBuilder(item, group, 'slot-item') : undefined))))), h("div", { class: "last-droppable-space", onDragLeave: () => this.removeOverClass(), onDragOver: event => {
530
+ }, onDrop: event => this.onDrop(event, { groupName: group.group, item: item, index: index }), draggable: this.ezDraggable }, h("div", { class: "item-content" }, this.ezDraggable ? h("span", { class: "draggable-icon" }) : undefined, this.listMode === 'regular' ? (h(Fragment, null, !!this.itemLeftSlotBuilder && this.getContainerItemBuilder('left', item, group), h("p", { title: item.label, class: "person-name text--ellipsis" }, item.label))) : (h("ez-check", { label: item.label, value: item.check, onEzChange: evt => this.ezCheckChange.emit({ id: item.id, label: item.label, check: evt.detail }) }))), !!this.itemSlotBuilder && this.getContainerItemBuilder('right', item, group, 'slot-item')))))), h("div", { class: "last-droppable-space", onDragLeave: () => this.removeOverClass(), onDragOver: event => {
537
531
  this.onDragOverLastIndex(event);
538
532
  }, onDragEnd: () => this.onDragEnd(), onDrop: event => this.onDropLastIndex(event, group) })), group.sort ? (h("div", { id: this.getGroupOverlayId(group.group), class: "group-overlay" }, "Mover para ", group.group)) : undefined)));
539
533
  }))) : (h("div", { class: "items-container", ref: el => (this._itemContainer = el), tabIndex: 0, onKeyDown: event => {
540
534
  this.keyDownHandler(event);
541
- } }, h("div", { class: "draggable-list" }, this._listItems.map((item, index) => (h("li", Object.assign({ id: 'item_' + this.getItemId(item.label), class: {
535
+ } }, h("div", { class: "draggable-list" }, this._listItems.map((item, index) => (h("li", Object.assign({ id: 'item_' + item.id, class: {
542
536
  'selectable-container': this.ezSelectable,
543
537
  'hover-feedback': this.hoverFeedback,
544
- }, key: 'item_' + this.getItemId(item.label) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(`ezListItem__${StringUtils.replaceAccentuatedChars(item.label)}`) }), h("div", { class: 'draggable' + (item.selected == true ? ' selected-item ' : '') + (this.ezSelectable == true ? ' selectable ' : ''), onDragStart: () => this.onDragStart({ item: item, index: index }), onClick: () => {
538
+ }, key: 'item_' + item.id }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(`ezListItem__${StringUtils.replaceAccentuatedChars(item.label)}`) }), h("div", { class: 'draggable' + (item.selected == true ? ' selected-item ' : '') + (this.ezSelectable == true ? ' selectable ' : ''), onDragStart: () => this.onDragStart({ item: item, index: index }), onClick: () => {
545
539
  this.setSelection(item);
546
- }, onDragLeave: () => this.removeOverClass(), onDragOver: event => this.onDragOverItem(event), onDragEnd: () => this.onDragEnd(), onDrop: event => this.onDrop(event, { item: item, index: index }), draggable: this.ezDraggable }, h("div", { class: "item-content" }, this.listMode === 'regular' ? (h(Fragment, null, this.ezDraggable ? h("span", { class: "draggable-icon" }) : undefined, h("p", { title: item.label, class: "person-name text--ellipsis" }, item.label))) : (h(Fragment, null, this.ezDraggable ? h("span", { class: "draggable-icon" }) : undefined, h("ez-check", { label: item.label, value: item.check, onEzChange: evt => this.ezCheckChange.emit({ id: item.id, label: item.label, check: evt.detail }) })))), this.itemSlotBuilder ? this.getContainerItemBuilder(item) : undefined)))), h("div", { class: "last-droppable-space", onDragLeave: () => this.removeOverClass(), onDragOver: event => {
540
+ }, onDragLeave: () => this.removeOverClass(), onDragOver: event => this.onDragOverItem(event), onDragEnd: () => this.onDragEnd(), onDrop: event => this.onDrop(event, { item: item, index: index }), draggable: this.ezDraggable }, h("div", { class: "item-content" }, this.listMode === 'regular' ? (h(Fragment, null, this.ezDraggable ? h("span", { class: "draggable-icon" }) : undefined, !!this.itemLeftSlotBuilder && this.getContainerItemBuilder('left', item), h("p", { title: item.label, class: "person-name text--ellipsis" }, item.label))) : (h(Fragment, null, this.ezDraggable ? h("span", { class: "draggable-icon" }) : undefined, h("ez-check", { label: item.label, value: item.check, onEzChange: evt => this.ezCheckChange.emit({ id: item.id, label: item.label, check: evt.detail }) })))), !!this.itemSlotBuilder && this.getContainerItemBuilder('right', item))))), h("div", { class: "last-droppable-space", onDragLeave: () => this.removeOverClass(), onDragOver: event => {
547
541
  this.onDragOverLastIndex(event);
548
542
  }, onDragEnd: () => this.onDragEnd(), onDrop: event => this.onDropLastIndex(event) }))))));
549
543
  }
@@ -667,17 +661,11 @@ export class EzList {
667
661
  "type": "unknown",
668
662
  "mutable": true,
669
663
  "complexType": {
670
- "original": "(item: ListItem, group?: ListGroup) => HTMLElement | string",
664
+ "original": "SlotBuilder",
671
665
  "resolved": "(item: ListItem, group?: ListGroup) => string | HTMLElement",
672
666
  "references": {
673
- "ListItem": {
674
- "location": "local"
675
- },
676
- "ListGroup": {
667
+ "SlotBuilder": {
677
668
  "location": "local"
678
- },
679
- "HTMLElement": {
680
- "location": "global"
681
669
  }
682
670
  }
683
671
  },
@@ -688,6 +676,25 @@ export class EzList {
688
676
  "text": "Fun\u00E7\u00E3o builder que possibilita alterar como o item da lista vai ser apresentado.\nObserva\u00E7\u00E3o: No react ele se transforma em VNode e n\u00E3o como HTMLElement."
689
677
  }
690
678
  },
679
+ "itemLeftSlotBuilder": {
680
+ "type": "unknown",
681
+ "mutable": true,
682
+ "complexType": {
683
+ "original": "SlotBuilder",
684
+ "resolved": "(item: ListItem, group?: ListGroup) => string | HTMLElement",
685
+ "references": {
686
+ "SlotBuilder": {
687
+ "location": "local"
688
+ }
689
+ }
690
+ },
691
+ "required": false,
692
+ "optional": false,
693
+ "docs": {
694
+ "tags": [],
695
+ "text": "Fun\u00E7\u00E3o builder que possibilita gerar conte\u00FAdo din\u00E2mico \u00E0 esquerda do item da lista.\n* Observa\u00E7\u00E3o: No react ele se transforma em VNode e n\u00E3o como HTMLElement."
696
+ }
697
+ },
691
698
  "hoverFeedback": {
692
699
  "type": "boolean",
693
700
  "mutable": true,
@@ -882,6 +889,22 @@ export class EzList {
882
889
  "text": "Obt\u00E9m a lista de items ou grupos.",
883
890
  "tags": []
884
891
  }
892
+ },
893
+ "removeSelection": {
894
+ "complexType": {
895
+ "signature": "() => Promise<void>",
896
+ "parameters": [],
897
+ "references": {
898
+ "Promise": {
899
+ "location": "global"
900
+ }
901
+ },
902
+ "return": "Promise<void>"
903
+ },
904
+ "docs": {
905
+ "text": "Limpa a sele\u00E7\u00E3o atual",
906
+ "tags": []
907
+ }
885
908
  }
886
909
  };
887
910
  }
@@ -124928,6 +124928,7 @@ const EzList$1 = class extends HTMLElement$1 {
124928
124928
  this.ezDraggable = false;
124929
124929
  this.ezSelectable = false;
124930
124930
  this.itemSlotBuilder = undefined;
124931
+ this.itemLeftSlotBuilder = undefined;
124931
124932
  this.hoverFeedback = false;
124932
124933
  }
124933
124934
  /**
@@ -124957,12 +124958,7 @@ const EzList$1 = class extends HTMLElement$1 {
124957
124958
  let newList = [...this._listGroupItems];
124958
124959
  newList.forEach(groupItem => {
124959
124960
  groupItem.items.forEach(item => {
124960
- if (item.label == selectedItem.label) {
124961
- item.selected = true;
124962
- }
124963
- else {
124964
- item.selected = false;
124965
- }
124961
+ item.selected = item.id === selectedItem.id;
124966
124962
  });
124967
124963
  });
124968
124964
  this._listGroupItems = newList;
@@ -124970,26 +124966,21 @@ const EzList$1 = class extends HTMLElement$1 {
124970
124966
  else {
124971
124967
  let newList = [...this._listItems];
124972
124968
  newList.forEach(item => {
124973
- if (item.label === selectedItem.label) {
124974
- item.selected = true;
124975
- }
124976
- else {
124977
- item.selected = false;
124978
- }
124969
+ item.selected = item.id === selectedItem.id;
124979
124970
  });
124980
124971
  this._listItems = newList;
124981
124972
  }
124982
124973
  if (scrollToOption) {
124983
124974
  let liElem = this.useGroups
124984
- ? this._groupContainer.querySelector('li#item_' + this.getItemId(selectedItem.label))
124985
- : this._itemContainer.querySelector('li#item_' + this.getItemId(selectedItem.label));
124975
+ ? this._groupContainer.querySelector('li#item_' + selectedItem.id)
124976
+ : this._itemContainer.querySelector('li#item_' + selectedItem.id);
124986
124977
  if (liElem) {
124987
124978
  liElem.scrollIntoView();
124988
124979
  }
124989
124980
  }
124990
124981
  }
124991
124982
  else {
124992
- this.removeSelection();
124983
+ await this.removeSelection();
124993
124984
  }
124994
124985
  }
124995
124986
  /**
@@ -125021,16 +125012,46 @@ const EzList$1 = class extends HTMLElement$1 {
125021
125012
  }
125022
125013
  return this._listItems;
125023
125014
  }
125015
+ /**
125016
+ * Limpa a seleção atual
125017
+ */
125018
+ async removeSelection() {
125019
+ if (this.useGroups) {
125020
+ let newList = [...this._listGroupItems];
125021
+ newList.forEach(groupItem => {
125022
+ groupItem.items.forEach(item => {
125023
+ item.selected = false;
125024
+ });
125025
+ });
125026
+ this._listGroupItems = newList;
125027
+ }
125028
+ else {
125029
+ let newList = [...this._listItems];
125030
+ newList.forEach(item => {
125031
+ item.selected = false;
125032
+ });
125033
+ this._listItems = newList;
125034
+ }
125035
+ }
125036
+ applyUUID(item) {
125037
+ if (!item.id) {
125038
+ item.id = StringUtils$1.generateUUID();
125039
+ }
125040
+ }
125024
125041
  createList() {
125025
125042
  if (this.useGroups) {
125026
125043
  let list = this.dataSource.map(item => item);
125027
125044
  list.forEach(itemGroup => {
125045
+ itemGroup.items.map(this.applyUUID);
125028
125046
  this.sortGroup(itemGroup);
125029
125047
  });
125030
125048
  this._listGroupItems = list;
125031
125049
  }
125032
125050
  else {
125033
- this._listItems = this._listItemsHistory.length > 0 ? this._listItemsHistory : this.dataSource.map(item => item);
125051
+ this._listItems = this._listItemsHistory.length > 0 ? this._listItemsHistory : this.dataSource.map(item => {
125052
+ this.applyUUID(item);
125053
+ return item;
125054
+ });
125034
125055
  }
125035
125056
  }
125036
125057
  sortGroup(itemGroup) {
@@ -125043,24 +125064,6 @@ const EzList$1 = class extends HTMLElement$1 {
125043
125064
  }
125044
125065
  }
125045
125066
  }
125046
- removeSelection() {
125047
- if (this.useGroups) {
125048
- let newList = [...this._listGroupItems];
125049
- newList.forEach(groupItem => {
125050
- groupItem.items.forEach(item => {
125051
- item.selected = false;
125052
- });
125053
- });
125054
- this._listGroupItems = newList;
125055
- }
125056
- else {
125057
- let newList = [...this._listItems];
125058
- newList.forEach(item => {
125059
- item.selected = false;
125060
- });
125061
- this._listItems = newList;
125062
- }
125063
- }
125064
125067
  buildIdDraggableListAndSelectable() {
125065
125068
  const shadow = this._element.shadowRoot;
125066
125069
  const draggableList = shadow.querySelectorAll('.draggable-list');
@@ -125173,7 +125176,7 @@ const EzList$1 = class extends HTMLElement$1 {
125173
125176
  if (((_a = newGroup.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
125174
125177
  let newItem;
125175
125178
  newGroup.items.forEach((item, index) => {
125176
- if (item.label === this._dragStartItem.item.label) {
125179
+ if (item.id === this._dragStartItem.item.id) {
125177
125180
  newItem = { item: item, index: index };
125178
125181
  }
125179
125182
  });
@@ -125290,7 +125293,7 @@ const EzList$1 = class extends HTMLElement$1 {
125290
125293
  if (this.useGroups) {
125291
125294
  this._listGroupItems.every((group, groupIndex, listGroupItems) => {
125292
125295
  let item = undefined;
125293
- let itemIndex = group.items.findIndex(item => item.label == selectedItem.label);
125296
+ let itemIndex = group.items.findIndex(item => item.id == selectedItem.id);
125294
125297
  if (itemIndex != undefined && itemIndex != -1) {
125295
125298
  if (itemIndex === group.items.length - 1) {
125296
125299
  if (groupIndex + 1 <= listGroupItems.length - 1) {
@@ -125309,7 +125312,7 @@ const EzList$1 = class extends HTMLElement$1 {
125309
125312
  });
125310
125313
  }
125311
125314
  else {
125312
- let itemIndex = this._listItems.findIndex(item => item.label === selectedItem.label);
125315
+ let itemIndex = this._listItems.findIndex(item => item.id === selectedItem.id);
125313
125316
  if (itemIndex >= 0 && itemIndex < this._listItems.length) {
125314
125317
  nextItem = this._listItems[itemIndex + 1];
125315
125318
  }
@@ -125321,7 +125324,7 @@ const EzList$1 = class extends HTMLElement$1 {
125321
125324
  if (this.useGroups) {
125322
125325
  this._listGroupItems.every((group, groupIndex, listGroupItems) => {
125323
125326
  let item = undefined;
125324
- let itemIndex = group.items.findIndex(item => item.label == selectedItem.label);
125327
+ let itemIndex = group.items.findIndex(item => item.id === selectedItem.id);
125325
125328
  if (itemIndex != undefined && itemIndex != -1) {
125326
125329
  if (itemIndex === 0) {
125327
125330
  if (groupIndex - 1 >= 0) {
@@ -125340,7 +125343,7 @@ const EzList$1 = class extends HTMLElement$1 {
125340
125343
  });
125341
125344
  }
125342
125345
  else {
125343
- let itemIndex = this._listItems.findIndex(item => item.label === selectedItem.label);
125346
+ let itemIndex = this._listItems.findIndex(item => item.id === selectedItem.id);
125344
125347
  if (itemIndex > 0 && itemIndex < this._listItems.length) {
125345
125348
  previousItem = this._listItems[itemIndex - 1];
125346
125349
  }
@@ -125366,12 +125369,6 @@ const EzList$1 = class extends HTMLElement$1 {
125366
125369
  });
125367
125370
  event.stopPropagation();
125368
125371
  }
125369
- getItemId(itemLabel) {
125370
- if (itemLabel) {
125371
- return itemLabel.replace(/[^a-z0-9_]/gi, '_');
125372
- }
125373
- return undefined;
125374
- }
125375
125372
  getDivGroupId(groupName) {
125376
125373
  if (groupName) {
125377
125374
  return 'group-' + groupName.replace(/[^a-z0-9_]/gi, '_');
@@ -125422,14 +125419,11 @@ const EzList$1 = class extends HTMLElement$1 {
125422
125419
  groupOverlay.setAttribute('style', 'display:none');
125423
125420
  });
125424
125421
  }
125425
- getContainerItemBuilder(item, group, className) {
125426
- if (this.itemSlotBuilder == undefined) {
125427
- return;
125428
- }
125429
- const customContent = this.itemSlotBuilder(item, group);
125430
- if (customContent == undefined) {
125422
+ getContainerItemBuilder(slotPosition, item, group, className) {
125423
+ var _a, _b;
125424
+ const customContent = slotPosition === 'left' ? (_a = this.itemLeftSlotBuilder) === null || _a === void 0 ? void 0 : _a.call(this, item, group) : (_b = this.itemSlotBuilder) === null || _b === void 0 ? void 0 : _b.call(this, item, group);
125425
+ if (customContent == undefined)
125431
125426
  return;
125432
- }
125433
125427
  if (typeof customContent !== 'string') {
125434
125428
  return h("div", { class: className }, customContent);
125435
125429
  }
@@ -125439,10 +125433,10 @@ const EzList$1 = class extends HTMLElement$1 {
125439
125433
  return (h(Host, { ref: el => (this._element = el) }, this.useGroups ? (h("div", { class: "group-container", ref: el => (this._groupContainer = el), tabIndex: 0, onKeyDown: event => {
125440
125434
  this.keyDownHandler(event);
125441
125435
  } }, this._listGroupItems.map(group => {
125442
- return (h("div", { id: this.getDivGroupId(group.group), class: "group", key: group.group + group.items.length, onDrop: () => this.onDropGroup(group) }, h("label", { draggable: false, class: "group-name", title: group.group }, group.group), h("section", { class: "section-container", onDragOver: ev => ev.preventDefault() }, h("div", { class: "group-items-container" }, h("div", { class: "draggable-list" }, group.items.map((item, index) => (h("li", Object.assign({ id: 'item_' + this.getItemId(item.label), class: {
125436
+ return (h("div", { id: this.getDivGroupId(group.group), class: "group", key: group.group + group.items.length, onDrop: () => this.onDropGroup(group) }, h("label", { draggable: false, class: "group-name", title: group.group }, group.group), h("section", { class: "section-container", onDragOver: ev => ev.preventDefault() }, h("div", { class: "group-items-container" }, h("div", { class: "draggable-list" }, group.items.map((item, index) => (h("li", Object.assign({ id: 'item_' + item.id, class: {
125443
125437
  'selectable-container': this.ezSelectable,
125444
125438
  'hover-feedback': this.hoverFeedback,
125445
- }, key: 'item_' + this.getItemId(item.label) }, {
125439
+ }, key: 'item_' + item.id }, {
125446
125440
  [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(`ezListItem__${StringUtils$1.replaceAccentuatedChars(item.label)}`),
125447
125441
  }), h("div", { class: 'draggable' + (item.selected == true ? ' selected-item ' : '') + (this.ezSelectable == true ? ' selectable ' : ''), onClick: () => {
125448
125442
  this.setSelection(item);
@@ -125450,17 +125444,17 @@ const EzList$1 = class extends HTMLElement$1 {
125450
125444
  group.sort ? undefined : this.removeOverClass();
125451
125445
  }, onDragEnd: () => this.onDragEnd(), onDragStart: () => this.onDragStart(item, group, index), onDragOver: event => {
125452
125446
  group.sort ? undefined : this.onDragOverItem(event);
125453
- }, onDrop: event => this.onDrop(event, { groupName: group.group, item: item, index: index }), draggable: this.ezDraggable }, h("div", { class: "item-content" }, this.ezDraggable ? h("span", { class: "draggable-icon" }) : undefined, this.listMode === 'regular' ? (h("p", { title: item.label, class: "person-name text--ellipsis" }, item.label)) : (h("ez-check", { label: item.label, value: item.check, onEzChange: evt => this.ezCheckChange.emit({ id: item.id, label: item.label, check: evt.detail }) }))), this.itemSlotBuilder ? this.getContainerItemBuilder(item, group, 'slot-item') : undefined))))), h("div", { class: "last-droppable-space", onDragLeave: () => this.removeOverClass(), onDragOver: event => {
125447
+ }, onDrop: event => this.onDrop(event, { groupName: group.group, item: item, index: index }), draggable: this.ezDraggable }, h("div", { class: "item-content" }, this.ezDraggable ? h("span", { class: "draggable-icon" }) : undefined, this.listMode === 'regular' ? (h(Fragment, null, !!this.itemLeftSlotBuilder && this.getContainerItemBuilder('left', item, group), h("p", { title: item.label, class: "person-name text--ellipsis" }, item.label))) : (h("ez-check", { label: item.label, value: item.check, onEzChange: evt => this.ezCheckChange.emit({ id: item.id, label: item.label, check: evt.detail }) }))), !!this.itemSlotBuilder && this.getContainerItemBuilder('right', item, group, 'slot-item')))))), h("div", { class: "last-droppable-space", onDragLeave: () => this.removeOverClass(), onDragOver: event => {
125454
125448
  this.onDragOverLastIndex(event);
125455
125449
  }, onDragEnd: () => this.onDragEnd(), onDrop: event => this.onDropLastIndex(event, group) })), group.sort ? (h("div", { id: this.getGroupOverlayId(group.group), class: "group-overlay" }, "Mover para ", group.group)) : undefined)));
125456
125450
  }))) : (h("div", { class: "items-container", ref: el => (this._itemContainer = el), tabIndex: 0, onKeyDown: event => {
125457
125451
  this.keyDownHandler(event);
125458
- } }, h("div", { class: "draggable-list" }, this._listItems.map((item, index) => (h("li", Object.assign({ id: 'item_' + this.getItemId(item.label), class: {
125452
+ } }, h("div", { class: "draggable-list" }, this._listItems.map((item, index) => (h("li", Object.assign({ id: 'item_' + item.id, class: {
125459
125453
  'selectable-container': this.ezSelectable,
125460
125454
  'hover-feedback': this.hoverFeedback,
125461
- }, key: 'item_' + this.getItemId(item.label) }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(`ezListItem__${StringUtils$1.replaceAccentuatedChars(item.label)}`) }), h("div", { class: 'draggable' + (item.selected == true ? ' selected-item ' : '') + (this.ezSelectable == true ? ' selectable ' : ''), onDragStart: () => this.onDragStart({ item: item, index: index }), onClick: () => {
125455
+ }, key: 'item_' + item.id }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(`ezListItem__${StringUtils$1.replaceAccentuatedChars(item.label)}`) }), h("div", { class: 'draggable' + (item.selected == true ? ' selected-item ' : '') + (this.ezSelectable == true ? ' selectable ' : ''), onDragStart: () => this.onDragStart({ item: item, index: index }), onClick: () => {
125462
125456
  this.setSelection(item);
125463
- }, onDragLeave: () => this.removeOverClass(), onDragOver: event => this.onDragOverItem(event), onDragEnd: () => this.onDragEnd(), onDrop: event => this.onDrop(event, { item: item, index: index }), draggable: this.ezDraggable }, h("div", { class: "item-content" }, this.listMode === 'regular' ? (h(Fragment, null, this.ezDraggable ? h("span", { class: "draggable-icon" }) : undefined, h("p", { title: item.label, class: "person-name text--ellipsis" }, item.label))) : (h(Fragment, null, this.ezDraggable ? h("span", { class: "draggable-icon" }) : undefined, h("ez-check", { label: item.label, value: item.check, onEzChange: evt => this.ezCheckChange.emit({ id: item.id, label: item.label, check: evt.detail }) })))), this.itemSlotBuilder ? this.getContainerItemBuilder(item) : undefined)))), h("div", { class: "last-droppable-space", onDragLeave: () => this.removeOverClass(), onDragOver: event => {
125457
+ }, onDragLeave: () => this.removeOverClass(), onDragOver: event => this.onDragOverItem(event), onDragEnd: () => this.onDragEnd(), onDrop: event => this.onDrop(event, { item: item, index: index }), draggable: this.ezDraggable }, h("div", { class: "item-content" }, this.listMode === 'regular' ? (h(Fragment, null, this.ezDraggable ? h("span", { class: "draggable-icon" }) : undefined, !!this.itemLeftSlotBuilder && this.getContainerItemBuilder('left', item), h("p", { title: item.label, class: "person-name text--ellipsis" }, item.label))) : (h(Fragment, null, this.ezDraggable ? h("span", { class: "draggable-icon" }) : undefined, h("ez-check", { label: item.label, value: item.check, onEzChange: evt => this.ezCheckChange.emit({ id: item.id, label: item.label, check: evt.detail }) })))), !!this.itemSlotBuilder && this.getContainerItemBuilder('right', item))))), h("div", { class: "last-droppable-space", onDragLeave: () => this.removeOverClass(), onDragOver: event => {
125464
125458
  this.onDragOverLastIndex(event);
125465
125459
  }, onDragEnd: () => this.onDragEnd(), onDrop: event => this.onDropLastIndex(event) }))))));
125466
125460
  }
@@ -128722,7 +128716,7 @@ const EzFormView = /*@__PURE__*/proxyCustomElement(EzFormView$1, [2,"ez-form-vie
128722
128716
  const EzGrid = /*@__PURE__*/proxyCustomElement(EzGrid$1, [6,"ez-grid",{"multipleSelection":[4,"multiple-selection"],"config":[1040],"selectionToastConfig":[16],"serverUrl":[1,"server-url"],"dataUnit":[16],"statusResolver":[16],"columnfilterDataSource":[16],"_paginationInfo":[32],"_paginationChangedByKeyboard":[32],"_showSelectionCounter":[32],"_isAllSelection":[32],"_currentPageSelected":[32],"_selectionCount":[32],"_originalRecords":[32]},[[0,"ezSelectionChange","onSelectionChange"]]]);
128723
128717
  const EzGuideNavigator = /*@__PURE__*/proxyCustomElement(EzGuideNavigator$1, [1,"ez-guide-navigator",{"open":[1540],"selectedId":[1537,"selected-id"],"items":[16],"tooltipResolver":[16],"filterText":[32]}]);
128724
128718
  const EzIcon = /*@__PURE__*/proxyCustomElement(EzIcon$1, [1,"ez-icon",{"size":[513],"href":[513],"iconName":[513,"icon-name"]}]);
128725
- const EzList = /*@__PURE__*/proxyCustomElement(EzList$1, [1,"ez-list",{"dataSource":[1040],"listMode":[1,"list-mode"],"useGroups":[1540,"use-groups"],"ezDraggable":[1028,"ez-draggable"],"ezSelectable":[1028,"ez-selectable"],"itemSlotBuilder":[1040],"hoverFeedback":[1028,"hover-feedback"],"_listItems":[32],"_listGroupItems":[32]}]);
128719
+ const EzList = /*@__PURE__*/proxyCustomElement(EzList$1, [1,"ez-list",{"dataSource":[1040],"listMode":[1,"list-mode"],"useGroups":[1540,"use-groups"],"ezDraggable":[1028,"ez-draggable"],"ezSelectable":[1028,"ez-selectable"],"itemSlotBuilder":[1040],"itemLeftSlotBuilder":[1040],"hoverFeedback":[1028,"hover-feedback"],"_listItems":[32],"_listGroupItems":[32]}]);
128726
128720
  const EzLoadingBar = /*@__PURE__*/proxyCustomElement(EzLoadingBar$1, [1,"ez-loading-bar",{"_showLoading":[32]}]);
128727
128721
  const EzModal = /*@__PURE__*/proxyCustomElement(EzModal$1, [1,"ez-modal",{"modalSize":[1,"modal-size"],"align":[1],"heightMode":[1,"height-mode"],"opened":[1028],"closeEsc":[4,"close-esc"],"closeOutsideClick":[4,"close-outside-click"],"scrim":[1]}]);
128728
128722
  const EzModalContainer = /*@__PURE__*/proxyCustomElement(EzModalContainer$1, [6,"ez-modal-container",{"modalTitle":[1,"modal-title"],"modalSubTitle":[1,"modal-sub-title"],"showTitleBar":[4,"show-title-bar"],"cancelButtonLabel":[1,"cancel-button-label"],"okButtonLabel":[1,"ok-button-label"],"cancelButtonStatus":[1,"cancel-button-status"],"okButtonStatus":[1,"ok-button-status"]}]);