@sankhyalabs/ezui 5.22.0-dev.63 → 5.22.0-dev.65

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 (55) hide show
  1. package/dist/cjs/{ez-card-item_3.cjs.entry.js → ez-card-item_2.cjs.entry.js} +0 -123
  2. package/dist/cjs/ez-double-list.cjs.entry.js +285 -0
  3. package/dist/cjs/ez-filter-input.cjs.entry.js +130 -0
  4. package/dist/cjs/ez-form-view.cjs.entry.js +8 -2
  5. package/dist/cjs/ez-list.cjs.entry.js +246 -205
  6. package/dist/cjs/ez-popup.cjs.entry.js +4 -1
  7. package/dist/cjs/ezListHelper-0d3970b4.js +90 -0
  8. package/dist/cjs/ezui.cjs.js +1 -1
  9. package/dist/cjs/index-a7b0c73d.js +10 -2
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/collection/collection-manifest.json +1 -0
  12. package/dist/collection/components/ez-double-list/doubleListHelper.js +82 -0
  13. package/dist/collection/components/ez-double-list/ez-double-list.css +62 -0
  14. package/dist/collection/components/ez-double-list/ez-double-list.js +418 -0
  15. package/dist/collection/components/ez-form-view/fieldbuilder/FieldBuilder.js +2 -1
  16. package/dist/collection/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.js +6 -2
  17. package/dist/collection/components/ez-list/ez-list.js +273 -208
  18. package/dist/collection/components/ez-list/ezListHelper.js +85 -0
  19. package/dist/collection/components/ez-popup/ez-popup.css +1 -0
  20. package/dist/collection/components/ez-popup/ez-popup.js +5 -2
  21. package/dist/custom-elements/index.d.ts +6 -0
  22. package/dist/custom-elements/index.js +631 -218
  23. package/dist/esm/{ez-card-item_3.entry.js → ez-card-item_2.entry.js} +1 -123
  24. package/dist/esm/ez-double-list.entry.js +281 -0
  25. package/dist/esm/ez-filter-input.entry.js +126 -0
  26. package/dist/esm/ez-form-view.entry.js +8 -2
  27. package/dist/esm/ez-list.entry.js +246 -205
  28. package/dist/esm/ez-popup.entry.js +4 -1
  29. package/dist/esm/ezListHelper-00fb9b8d.js +87 -0
  30. package/dist/esm/ezui.js +1 -1
  31. package/dist/esm/index-baa5e267.js +10 -2
  32. package/dist/esm/loader.js +1 -1
  33. package/dist/ezui/ezui.esm.js +1 -1
  34. package/dist/ezui/p-13165bb1.entry.js +1 -0
  35. package/dist/ezui/p-17eabf46.entry.js +1 -0
  36. package/dist/ezui/p-2475fd6e.entry.js +1 -0
  37. package/dist/ezui/p-31d1fab6.entry.js +1 -0
  38. package/dist/ezui/p-65f471bc.entry.js +1 -0
  39. package/dist/ezui/p-80dfc50b.js +1 -0
  40. package/dist/ezui/p-e3e3fd7a.entry.js +1 -0
  41. package/dist/types/components/ez-double-list/doubleListHelper.d.ts +10 -0
  42. package/dist/types/components/ez-double-list/ez-double-list.d.ts +86 -0
  43. package/dist/types/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.d.ts +2 -1
  44. package/dist/types/components/ez-list/ez-list.d.ts +19 -3
  45. package/dist/types/components/ez-list/ezListHelper.d.ts +20 -0
  46. package/dist/types/components/ez-popup/ez-popup.d.ts +1 -1
  47. package/dist/types/components.d.ts +97 -6
  48. package/package.json +1 -1
  49. package/react/components.d.ts +1 -0
  50. package/react/components.js +1 -0
  51. package/react/components.js.map +1 -1
  52. package/dist/ezui/p-4575d511.entry.js +0 -1
  53. package/dist/ezui/p-bfad39eb.entry.js +0 -1
  54. package/dist/ezui/p-c806f32f.entry.js +0 -1
  55. package/dist/ezui/p-e78e0843.entry.js +0 -1
@@ -0,0 +1,85 @@
1
+ /**
2
+ * O dragElement é posicionado ANTERIORMENTE ao targetIndex.
3
+ * Ex: no array: ["A", "B", "C", "D", "E"]
4
+ * se o dragItem for "B" e o targetIndex 3 (referente à "D"),
5
+ * "B" será posicionado logo antes de "D".
6
+ * O resultado será: ["A", "C", "B", "D", "E"]
7
+ *
8
+ * @param configs
9
+ */
10
+ export function processListOnDrop(configs) {
11
+ let newList;
12
+ if (hasToMoveMultipleItems(configs)) {
13
+ newList = processMoveMultipleItems(configs);
14
+ }
15
+ else {
16
+ newList = processMoveSingleItem(configs);
17
+ configs.clearSelection();
18
+ }
19
+ return newList;
20
+ }
21
+ function hasToMoveMultipleItems(configs) {
22
+ const { enableMultipleSelection, listItems, dragItem, moveToFinal, targetIndex } = configs;
23
+ if (!enableMultipleSelection)
24
+ return false;
25
+ const selectedItemsIndexes = getSelectedIndices(listItems);
26
+ if (selectedItemsIndexes.length <= 1)
27
+ return false;
28
+ if (!selectedItemsIndexes.includes(dragItem.index))
29
+ return false;
30
+ if (!isContinuousSequence(selectedItemsIndexes))
31
+ return false;
32
+ if (moveToFinal)
33
+ return true;
34
+ return !selectedItemsIndexes.includes(targetIndex);
35
+ }
36
+ function processMoveSingleItem(configs) {
37
+ const { listItems, dragItem, targetIndex, moveToFinal } = configs;
38
+ const newList = [...listItems];
39
+ newList.splice(dragItem.index, 1);
40
+ if (moveToFinal) {
41
+ newList.push(dragItem.item);
42
+ }
43
+ else {
44
+ const adjustedIndex = (targetIndex > dragItem.index) ? Math.max(0, targetIndex - 1) : targetIndex;
45
+ newList.splice(adjustedIndex, 0, dragItem.item);
46
+ }
47
+ return newList;
48
+ }
49
+ function processMoveMultipleItems(configs) {
50
+ const { listItems, moveToFinal, targetIndex } = configs;
51
+ const selectedItems = listItems.filter(item => item.selected);
52
+ const selectedItemsIndexes = getSelectedIndices(listItems);
53
+ const minorIndex = Math.min(...selectedItemsIndexes);
54
+ const majorIndex = Math.max(...selectedItemsIndexes);
55
+ const qtdToMove = selectedItems.length;
56
+ const newList = [...listItems];
57
+ newList.splice(minorIndex, qtdToMove);
58
+ if (moveToFinal) {
59
+ newList.push(...selectedItems);
60
+ }
61
+ else {
62
+ let adjustedIndex = (targetIndex > majorIndex) ? Math.max(0, targetIndex - qtdToMove) : targetIndex;
63
+ newList.splice(adjustedIndex, 0, ...selectedItems);
64
+ }
65
+ return newList;
66
+ }
67
+ export function isContinuousSequence(numbers) {
68
+ if (numbers.length === 0)
69
+ return false;
70
+ const sortedNumbers = [...numbers].sort((a, b) => a - b);
71
+ for (let i = 1; i < sortedNumbers.length; i++) {
72
+ if (sortedNumbers[i] !== sortedNumbers[i - 1] + 1) {
73
+ return false;
74
+ }
75
+ }
76
+ return true;
77
+ }
78
+ function getSelectedIndices(listItems) {
79
+ return listItems.reduce((indices, item, index) => {
80
+ if (item.selected) {
81
+ indices.push(index);
82
+ }
83
+ return indices;
84
+ }, []);
85
+ }
@@ -1,5 +1,6 @@
1
1
  :host {
2
2
  display: flex;
3
+ width: auto;
3
4
  /* General */
4
5
  /*@doc Define a camada em que o componente será exibido.*/
5
6
  --ez-popup-z-index: var(--elevation--24, 24);
@@ -9,6 +9,7 @@ export class EzPopup {
9
9
  "large": "col--sd-9",
10
10
  "x-large": "col--sd-11",
11
11
  "default": "ez-popup__size-limit--x-small",
12
+ "auto": "",
12
13
  };
13
14
  this.size = "medium";
14
15
  this.opened = false;
@@ -62,6 +63,8 @@ export class EzPopup {
62
63
  });
63
64
  }
64
65
  getGridSize() {
66
+ if (this.size === "auto")
67
+ return "";
65
68
  return this._sizeClasses[this.size] || this._sizeClasses["medium"];
66
69
  }
67
70
  handlePopupHeight() {
@@ -96,8 +99,8 @@ export class EzPopup {
96
99
  "type": "string",
97
100
  "mutable": false,
98
101
  "complexType": {
99
- "original": "\"x-small\" | \"small\" | \"medium\" | \"large\" | \"x-large\"",
100
- "resolved": "\"large\" | \"medium\" | \"small\" | \"x-large\" | \"x-small\"",
102
+ "original": "\"x-small\" | \"small\" | \"medium\" | \"large\" | \"x-large\" | \"auto\"",
103
+ "resolved": "\"auto\" | \"large\" | \"medium\" | \"small\" | \"x-large\" | \"x-small\"",
101
104
  "references": {}
102
105
  },
103
106
  "required": false,
@@ -110,6 +110,12 @@ export const EzDialog: {
110
110
  new (): EzDialog;
111
111
  };
112
112
 
113
+ interface EzDoubleList extends Components.EzDoubleList, HTMLElement {}
114
+ export const EzDoubleList: {
115
+ prototype: EzDoubleList;
116
+ new (): EzDoubleList;
117
+ };
118
+
113
119
  interface EzDropdown extends Components.EzDropdown, HTMLElement {}
114
120
  export const EzDropdown: {
115
121
  prototype: EzDropdown;