@sankhyalabs/ezui 0.0.0-bugfix-dev-KB-76362.0 → 0.0.0-bugfix-dev-KB-75609.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.
Files changed (54) hide show
  1. package/dist/cjs/ez-card-item_3.cjs.entry.js +4 -17
  2. package/dist/cjs/ez-list.cjs.entry.js +151 -100
  3. package/dist/cjs/ez-popover.cjs.entry.js +1 -1
  4. package/dist/cjs/ez-popup.cjs.entry.js +2 -9
  5. package/dist/cjs/ez-search.cjs.entry.js +1 -1
  6. package/dist/cjs/ez-text-area.cjs.entry.js +60 -4
  7. package/dist/cjs/ez-text-input.cjs.entry.js +2 -3
  8. package/dist/cjs/ezui.cjs.js +1 -1
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/collection/components/ez-card-item/ez-card-item.css +14 -5
  11. package/dist/collection/components/ez-filter-input/ez-filter-input.css +0 -11
  12. package/dist/collection/components/ez-filter-input/ez-filter-input.js +2 -63
  13. package/dist/collection/components/ez-list/ez-list.css +5 -5
  14. package/dist/collection/components/ez-list/ez-list.js +152 -170
  15. package/dist/collection/components/ez-popover/ez-popover.css +3 -10
  16. package/dist/collection/components/ez-popup/ez-popup.css +2 -6
  17. package/dist/collection/components/ez-popup/ez-popup.js +3 -10
  18. package/dist/collection/components/ez-search/ez-search.css +1 -1
  19. package/dist/collection/components/ez-search/ez-search.js +1 -1
  20. package/dist/collection/components/ez-text-area/ez-text-area.css +49 -0
  21. package/dist/collection/components/ez-text-area/ez-text-area.js +78 -2
  22. package/dist/collection/components/ez-text-input/ez-text-input.css +13 -15
  23. package/dist/collection/components/ez-text-input/ez-text-input.js +1 -2
  24. package/dist/custom-elements/index.js +224 -138
  25. package/dist/esm/ez-card-item_3.entry.js +4 -17
  26. package/dist/esm/ez-list.entry.js +152 -101
  27. package/dist/esm/ez-popover.entry.js +1 -1
  28. package/dist/esm/ez-popup.entry.js +2 -9
  29. package/dist/esm/ez-search.entry.js +1 -1
  30. package/dist/esm/ez-text-area.entry.js +60 -4
  31. package/dist/esm/ez-text-input.entry.js +2 -3
  32. package/dist/esm/ezui.js +1 -1
  33. package/dist/esm/loader.js +1 -1
  34. package/dist/ezui/ezui.esm.js +1 -1
  35. package/dist/ezui/p-0f3b2e67.entry.js +1 -0
  36. package/dist/ezui/p-37219d42.entry.js +1 -0
  37. package/dist/ezui/p-a80b1287.entry.js +1 -0
  38. package/dist/ezui/p-b54e17d2.entry.js +1 -0
  39. package/dist/ezui/p-bfad39eb.entry.js +1 -0
  40. package/dist/ezui/p-c25f0e92.entry.js +1 -0
  41. package/dist/ezui/p-f0e2ce9d.entry.js +1 -0
  42. package/dist/types/components/ez-filter-input/ez-filter-input.d.ts +0 -12
  43. package/dist/types/components/ez-list/ez-list.d.ts +3 -26
  44. package/dist/types/components/ez-popup/ez-popup.d.ts +2 -2
  45. package/dist/types/components/ez-text-area/ez-text-area.d.ts +13 -0
  46. package/dist/types/components.d.ts +10 -38
  47. package/package.json +1 -1
  48. package/dist/ezui/p-188f1c4c.entry.js +0 -1
  49. package/dist/ezui/p-25ac5376.entry.js +0 -1
  50. package/dist/ezui/p-86b6aa01.entry.js +0 -1
  51. package/dist/ezui/p-b3b94f72.entry.js +0 -1
  52. package/dist/ezui/p-bcd47eda.entry.js +0 -1
  53. package/dist/ezui/p-dc4ada32.entry.js +0 -1
  54. package/dist/ezui/p-f80ac647.entry.js +0 -1
@@ -21,10 +21,10 @@
21
21
  --ez-list__item--color: var(--title--primary, #2b3a54);
22
22
 
23
23
  /* @doc Define o estilo borda inferior do item da lista. */
24
- --ez-list__item--border-bottom: none;
24
+ --ez-list__item--border-bottom;
25
25
 
26
26
  /* @doc Define a cor da borda inferior do item da lista. */
27
- --ez-list__item--border-bottom-color: none;
27
+ --ez-list__item--border-bottom-color;
28
28
 
29
29
  /* @doc Define o estilo do texto do item da lista. */
30
30
  --ez-list__item--font-family: var(--font-pattern, "Roboto");
@@ -110,7 +110,7 @@ p {
110
110
  display: grid;
111
111
  grid-template-columns: minmax(0px, auto) minmax(0px, auto);
112
112
  place-items: center;
113
- border-top: 1px solid #fff;
113
+ border-top: 1px dashed #fff;
114
114
  justify-content: space-between;
115
115
 
116
116
  /*public*/
@@ -177,7 +177,7 @@ p {
177
177
 
178
178
  .draggable-list li > div {
179
179
  /*public*/
180
- padding: var(--space--2xs, 8px) var(--space--3xs, 4px);
180
+ padding: var(--space--3xs, 4px) var(--space--3xs, 4px);
181
181
  margin: var(--ez-list__item--margin);
182
182
  }
183
183
 
@@ -347,7 +347,7 @@ p {
347
347
  max-height: 100%;
348
348
  outline: none;
349
349
  scrollbar-width: thin;
350
- overflow: auto;
350
+
351
351
  /*public*/
352
352
  scrollbar-color: var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background);
353
353
  }
@@ -1,11 +1,10 @@
1
- import { ElementIDUtils, KeyboardManager, StringUtils } from '@sankhyalabs/core';
1
+ import { ElementIDUtils, StringUtils } from '@sankhyalabs/core';
2
2
  import { Fragment, Host, h } from '@stencil/core';
3
3
  export class EzList {
4
4
  constructor() {
5
5
  this._listItemsHistory = [];
6
6
  this._listItems = [];
7
7
  this._listGroupItems = [];
8
- this._selectedItem = undefined;
9
8
  this.dataSource = [];
10
9
  this.listMode = 'regular';
11
10
  this.useGroups = false;
@@ -14,19 +13,6 @@ export class EzList {
14
13
  this.itemSlotBuilder = undefined;
15
14
  this.itemLeftSlotBuilder = undefined;
16
15
  this.hoverFeedback = false;
17
- this.disableShortcuts = false;
18
- }
19
- /**
20
- * Seleciona o próximo item.
21
- */
22
- async selectNextItem() {
23
- this.nextOption();
24
- }
25
- /**
26
- * Seleciona o item anterior.
27
- */
28
- async selectPreviousItem() {
29
- this.previousOption();
30
16
  }
31
17
  /**
32
18
  * Limpa o histórico da lista.
@@ -50,8 +36,23 @@ export class EzList {
50
36
  */
51
37
  async setSelection(selectedItem, scrollToOption) {
52
38
  if (selectedItem && this.ezSelectable) {
53
- this._selectedItem = Object.assign({}, selectedItem);
54
39
  this.ezSelectItem.emit(selectedItem);
40
+ if (this.useGroups) {
41
+ let newList = [...this._listGroupItems];
42
+ newList.forEach(groupItem => {
43
+ groupItem.items.forEach(item => {
44
+ item.selected = item.id === selectedItem.id;
45
+ });
46
+ });
47
+ this._listGroupItems = newList;
48
+ }
49
+ else {
50
+ let newList = [...this._listItems];
51
+ newList.forEach(item => {
52
+ item.selected = item.id === selectedItem.id;
53
+ });
54
+ this._listItems = newList;
55
+ }
55
56
  if (scrollToOption) {
56
57
  let liElem = this.useGroups
57
58
  ? this._groupContainer.querySelector('li#item_' + selectedItem.id)
@@ -69,7 +70,21 @@ export class EzList {
69
70
  * Obtém o item selecionado.
70
71
  */
71
72
  async getSelection() {
72
- return this._selectedItem;
73
+ let selectedItem;
74
+ if (this.useGroups) {
75
+ this._listGroupItems.every(group => {
76
+ let item = group.items.find(item => item.selected == true);
77
+ if (item) {
78
+ selectedItem = item;
79
+ return false;
80
+ }
81
+ return true;
82
+ });
83
+ }
84
+ else {
85
+ selectedItem = this._listItems.find(item => item.selected == true);
86
+ }
87
+ return selectedItem;
73
88
  }
74
89
  /**
75
90
  * Obtém a lista de items ou grupos.
@@ -84,7 +99,22 @@ export class EzList {
84
99
  * Limpa a seleção atual
85
100
  */
86
101
  async removeSelection() {
87
- this._selectedItem = undefined;
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
+ }
88
118
  }
89
119
  applyUUID(item) {
90
120
  if (!item.id) {
@@ -144,10 +174,6 @@ export class EzList {
144
174
  }
145
175
  componentDidLoad() {
146
176
  ElementIDUtils.addIDInfo(this._element);
147
- this.bindKeyboardManager();
148
- }
149
- disconnectCallback() {
150
- this.unbindKeyboardManager();
151
177
  }
152
178
  onDrop(ev, dragEndItem) {
153
179
  this.removeOverClass();
@@ -340,58 +366,92 @@ export class EzList {
340
366
  if (this.useGroups) {
341
367
  this.setSelection(this._listGroupItems[0].items[0]);
342
368
  }
343
- else {
369
+ {
344
370
  this.setSelection(this._listItems[0]);
345
371
  }
346
372
  }
347
- getFlatedItems() {
373
+ nextOption(selectedItem) {
374
+ let nextItem = undefined;
348
375
  if (this.useGroups) {
349
- const itemsGroups = this._listGroupItems.map(({ items }) => items).flat();
350
- return itemsGroups;
351
- }
352
- return this._listItems;
353
- }
354
- getSelectedIndex(items) {
355
- const itemIndex = items.findIndex(item => { var _a; return item.id === ((_a = this._selectedItem) === null || _a === void 0 ? void 0 : _a.id); });
356
- return itemIndex;
357
- }
358
- nextOption() {
359
- if (!this._selectedItem) {
360
- this.selectFirstItem();
361
- return;
376
+ this._listGroupItems.every((group, groupIndex, listGroupItems) => {
377
+ let item = undefined;
378
+ let itemIndex = group.items.findIndex(item => item.id == selectedItem.id);
379
+ if (itemIndex != undefined && itemIndex != -1) {
380
+ if (itemIndex === group.items.length - 1) {
381
+ if (groupIndex + 1 <= listGroupItems.length - 1) {
382
+ item = { label: listGroupItems[groupIndex + 1].items[0].label };
383
+ }
384
+ }
385
+ else {
386
+ item = { label: group.items[itemIndex + 1].label };
387
+ }
388
+ }
389
+ if (item != undefined) {
390
+ nextItem = item;
391
+ return false;
392
+ }
393
+ return true;
394
+ });
362
395
  }
363
- const items = this.getFlatedItems();
364
- const itemIndex = this.getSelectedIndex(items);
365
- if (itemIndex < (items.length - 1)) {
366
- const nextItem = items[itemIndex + 1];
367
- this.setSelection(nextItem, true);
396
+ else {
397
+ let itemIndex = this._listItems.findIndex(item => item.id === selectedItem.id);
398
+ if (itemIndex >= 0 && itemIndex < this._listItems.length) {
399
+ nextItem = this._listItems[itemIndex + 1];
400
+ }
368
401
  }
402
+ this.setSelection(nextItem, true);
369
403
  }
370
- previousOption() {
371
- const items = this.getFlatedItems();
372
- const itemIndex = this.getSelectedIndex(items);
373
- if (itemIndex > 0) {
374
- const previousItem = items[itemIndex - 1];
375
- this.setSelection(previousItem, true);
404
+ previousOption(selectedItem) {
405
+ let previousItem = undefined;
406
+ if (this.useGroups) {
407
+ this._listGroupItems.every((group, groupIndex, listGroupItems) => {
408
+ let item = undefined;
409
+ let itemIndex = group.items.findIndex(item => item.id === selectedItem.id);
410
+ if (itemIndex != undefined && itemIndex != -1) {
411
+ if (itemIndex === 0) {
412
+ if (groupIndex - 1 >= 0) {
413
+ item = { label: listGroupItems[groupIndex - 1].items[listGroupItems[groupIndex - 1].items.length - 1].label };
414
+ }
415
+ }
416
+ else {
417
+ item = { label: group.items[itemIndex - 1].label };
418
+ }
419
+ }
420
+ if (item != undefined) {
421
+ previousItem = item;
422
+ return false;
423
+ }
424
+ return true;
425
+ });
376
426
  }
377
- }
378
- bindKeyboardManager() {
379
- this._keyboardManager = new KeyboardManager({ propagate: false, element: this._element });
380
- if (this.disableShortcuts) {
381
- return;
427
+ else {
428
+ let itemIndex = this._listItems.findIndex(item => item.id === selectedItem.id);
429
+ if (itemIndex > 0 && itemIndex < this._listItems.length) {
430
+ previousItem = this._listItems[itemIndex - 1];
431
+ }
382
432
  }
383
- this._keyboardManager
384
- .bind("ArrowDown", () => this.nextOption())
385
- .bind("ArrowUp", () => this.previousOption())
386
- .bind("shift+Tab", () => this.previousOption())
387
- .bind("Tab", () => this.nextOption());
433
+ this.setSelection(previousItem, true);
388
434
  }
389
- unbindKeyboardManager() {
390
- this._keyboardManager
391
- .unbind("ArrowDown")
392
- .unbind("ArrowUp")
393
- .unbind("shift+Tab")
394
- .unbind("Tab");
435
+ keyDownHandler(event) {
436
+ if (!event.ctrlKey) {
437
+ event.preventDefault();
438
+ }
439
+ this.getSelection().then(selectedItem => {
440
+ if (selectedItem) {
441
+ switch (event.key) {
442
+ case 'ArrowDown':
443
+ this.nextOption(selectedItem);
444
+ break;
445
+ case 'ArrowUp':
446
+ this.previousOption(selectedItem);
447
+ break;
448
+ }
449
+ }
450
+ else {
451
+ this.selectFirstItem();
452
+ }
453
+ });
454
+ event.stopPropagation();
395
455
  }
396
456
  getDivGroupId(groupName) {
397
457
  if (groupName) {
@@ -456,46 +516,38 @@ export class EzList {
456
516
  doubleClickItem(item) {
457
517
  this.ezDoubleClick.emit(item);
458
518
  }
459
- onClickItem(item) {
460
- this.setSelection(item);
461
- this.ezClickItem.emit(item);
462
- }
463
519
  render() {
464
- return (h(Host, { ref: el => (this._element = el) }, this.useGroups ? (h("div", { class: "group-container", ref: el => (this._groupContainer = el), tabIndex: 0 }, this._listGroupItems.map(group => {
465
- 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) => {
466
- var _a;
467
- return (h("li", Object.assign({ id: 'item_' + item.id, class: {
468
- 'selectable-container': this.ezSelectable,
469
- 'hover-feedback': this.hoverFeedback,
470
- }, key: 'item_' + item.id }, {
471
- [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(`ezListItem__${StringUtils.replaceAccentuatedChars(item.label)}`),
472
- }), h("div", { class: 'draggable' + (((_a = this._selectedItem) === null || _a === void 0 ? void 0 : _a.id) === item.id ? ' selected-item ' : '') + (this.ezSelectable == true ? ' selectable ' : ''), onDblClick: () => {
473
- this.doubleClickItem(item);
474
- }, onClick: () => {
475
- this.onClickItem(item);
476
- }, onDragLeave: () => {
477
- group.sort ? undefined : this.removeOverClass();
478
- }, onDragEnd: () => this.onDragEnd(), onDragStart: () => this.onDragStart(item, group, index), onDragOver: event => {
479
- group.sort ? undefined : this.onDragOverItem(event);
480
- }, 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'))));
481
- })), h("div", { class: "last-droppable-space", onDragLeave: () => this.removeOverClass(), onDragOver: event => {
482
- this.onDragOverLastIndex(event);
483
- }, 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)));
484
- }))) : (h("div", { class: "items-container", ref: el => (this._itemContainer = el), tabIndex: 0 }, h("ul", { class: "draggable-list" }, this._listItems.map((item, index) => {
485
- var _a, _b;
486
- return (h("li", Object.assign({ id: 'item_' + item.id, class: {
520
+ return (h(Host, { ref: el => (this._element = el) }, this.useGroups ? (h("div", { class: "group-container", ref: el => (this._groupContainer = el), tabIndex: 0, onKeyDown: event => {
521
+ this.keyDownHandler(event);
522
+ } }, this._listGroupItems.map(group => {
523
+ 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: {
487
524
  'selectable-container': this.ezSelectable,
488
- 'selected-item': ((_a = this._selectedItem) === null || _a === void 0 ? void 0 : _a.id) === item.id,
489
- 'hover-feedback': this.hoverFeedback && ((_b = this._selectedItem) === null || _b === void 0 ? void 0 : _b.id) !== item.id,
490
- }, key: 'item_' + item.id }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(`ezListItem__${StringUtils.replaceAccentuatedChars(item.label)}`) }), h("div", { class: 'draggable' + (this.ezSelectable == true ? ' selectable ' : ''), onDragStart: () => this.onDragStart({ item: item, index: index }), onDblClick: () => {
525
+ 'hover-feedback': this.hoverFeedback,
526
+ }, key: 'item_' + item.id }, {
527
+ [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(`ezListItem__${StringUtils.replaceAccentuatedChars(item.label)}`),
528
+ }), h("div", { class: 'draggable' + (item.selected == true ? ' selected-item ' : '') + (this.ezSelectable == true ? ' selectable ' : ''), onDblClick: () => {
491
529
  this.doubleClickItem(item);
492
530
  }, onClick: () => {
493
- this.onClickItem(item);
494
- }, 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))));
495
- }), this.ezDraggable &&
496
- h("div", { class: "last-droppable-space", onDragLeave: () => this.removeOverClass(), onDragOver: event => {
531
+ this.setSelection(item);
532
+ }, onDragLeave: () => {
533
+ group.sort ? undefined : this.removeOverClass();
534
+ }, onDragEnd: () => this.onDragEnd(), onDragStart: () => this.onDragStart(item, group, index), onDragOver: event => {
535
+ 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(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 => {
497
537
  this.onDragOverLastIndex(event);
498
- }, onDragEnd: () => this.onDragEnd(), onDrop: event => this.onDropLastIndex(event) }))))));
538
+ }, 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
+ }))) : (h("div", { class: "items-container", ref: el => (this._itemContainer = el), tabIndex: 0, onKeyDown: event => {
540
+ this.keyDownHandler(event);
541
+ } }, h("div", { class: "draggable-list" }, this._listItems.map((item, index) => (h("li", Object.assign({ id: 'item_' + item.id, class: {
542
+ 'selectable-container': this.ezSelectable,
543
+ 'hover-feedback': this.hoverFeedback,
544
+ }, 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 }), onDblClick: () => {
545
+ this.doubleClickItem(item);
546
+ }, onClick: () => {
547
+ this.setSelection(item);
548
+ }, 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 => {
549
+ this.onDragOverLastIndex(event);
550
+ }, onDragEnd: () => this.onDragEnd(), onDrop: event => this.onDropLastIndex(event) }))))));
499
551
  }
500
552
  static get is() { return "ez-list"; }
501
553
  static get encapsulation() { return "scoped"; }
@@ -668,32 +720,13 @@ export class EzList {
668
720
  "attribute": "hover-feedback",
669
721
  "reflect": false,
670
722
  "defaultValue": "false"
671
- },
672
- "disableShortcuts": {
673
- "type": "boolean",
674
- "mutable": false,
675
- "complexType": {
676
- "original": "boolean",
677
- "resolved": "boolean",
678
- "references": {}
679
- },
680
- "required": false,
681
- "optional": false,
682
- "docs": {
683
- "tags": [],
684
- "text": "Desabilita os atalhos de teclado."
685
- },
686
- "attribute": "disable-shortcuts",
687
- "reflect": false,
688
- "defaultValue": "false"
689
723
  }
690
724
  };
691
725
  }
692
726
  static get states() {
693
727
  return {
694
728
  "_listItems": {},
695
- "_listGroupItems": {},
696
- "_selectedItem": {}
729
+ "_listGroupItems": {}
697
730
  };
698
731
  }
699
732
  static get events() {
@@ -741,25 +774,6 @@ export class EzList {
741
774
  }
742
775
  }
743
776
  }
744
- }, {
745
- "method": "ezClickItem",
746
- "name": "ezClickItem",
747
- "bubbles": true,
748
- "cancelable": true,
749
- "composed": true,
750
- "docs": {
751
- "tags": [],
752
- "text": "Emitido sempre que um item da lista for clicado."
753
- },
754
- "complexType": {
755
- "original": "ListItem",
756
- "resolved": "ListItem",
757
- "references": {
758
- "ListItem": {
759
- "location": "local"
760
- }
761
- }
762
- }
763
777
  }, {
764
778
  "method": "ezCheckChange",
765
779
  "name": "ezCheckChange",
@@ -802,38 +816,6 @@ export class EzList {
802
816
  }
803
817
  static get methods() {
804
818
  return {
805
- "selectNextItem": {
806
- "complexType": {
807
- "signature": "() => Promise<void>",
808
- "parameters": [],
809
- "references": {
810
- "Promise": {
811
- "location": "global"
812
- }
813
- },
814
- "return": "Promise<void>"
815
- },
816
- "docs": {
817
- "text": "Seleciona o pr\u00F3ximo item.",
818
- "tags": []
819
- }
820
- },
821
- "selectPreviousItem": {
822
- "complexType": {
823
- "signature": "() => Promise<void>",
824
- "parameters": [],
825
- "references": {
826
- "Promise": {
827
- "location": "global"
828
- }
829
- },
830
- "return": "Promise<void>"
831
- },
832
- "docs": {
833
- "text": "Seleciona o item anterior.",
834
- "tags": []
835
- }
836
- },
837
819
  "clearHistory": {
838
820
  "complexType": {
839
821
  "signature": "() => Promise<void>",
@@ -9,12 +9,6 @@
9
9
  --ez-popover__box--background-color: var(--background--xlight, #fff);
10
10
  /*@doc Define a camada de visibilidade do popover.*/
11
11
  --ez-popover__box--z-index: var(--most-visible, 3);
12
- /*@doc Define a altura do popover.*/
13
- --ez-popover__height: fit-content;
14
- /*@doc Define a altura máxima do popover.*/
15
- --ez-popover__max-height: fit-content;
16
- /*@doc Define a margin do popover.*/
17
- --ez-popover__margin: 0;
18
12
 
19
13
  /***************
20
14
  host style
@@ -30,14 +24,13 @@
30
24
  z-index: var(--ez-popover__box--z-index);
31
25
  display: flex;
32
26
  flex-direction: column;
33
-
27
+
28
+ height: fit-content;
29
+
34
30
  /*public*/
35
- height: var(--ez-popover__height);
36
- max-height: var(--ez-popover__max-height);
37
31
  background-color: var(--ez-popover__box--background-color);
38
32
  border-radius: var(--ez-popover__box--border-radius);
39
33
  box-shadow: var(--ez-popover__box--box-shadow);
40
- margin: var(--ez-popover__margin);
41
34
  }
42
35
 
43
36
  .popover__box--fit-content {
@@ -9,10 +9,6 @@
9
9
  --ez-popup__container--color: var(--title--primary, #2b3a54);
10
10
  /*@doc Define o espaçamento do container do popup.*/
11
11
  --ez-popup__container--padding: var(--space--large, 24px);
12
- /*@doc Define a largura do container do popup.*/
13
- --ez-popup__container--width: 100%;
14
- /*@doc Define a altura do container do popup.*/
15
- --ez-popup__container--height: 100%;
16
12
 
17
13
  /* Popup Header */
18
14
  /*@doc Define o espaçamento inferior do cabeçalho do popup.*/
@@ -60,9 +56,9 @@
60
56
  }
61
57
 
62
58
  .popup__container {
63
- width: var(--ez-popup__container--width);
59
+ width: 100%;
64
60
  max-height: 90%;
65
- height: var(--ez-popup__container--height);
61
+ height: 100%;
66
62
  display: flex;
67
63
  flex-wrap: wrap;
68
64
  overflow: hidden;
@@ -62,14 +62,7 @@ export class EzPopup {
62
62
  });
63
63
  }
64
64
  getGridSize() {
65
- if (!this.size) {
66
- return this._sizeClasses["medium"];
67
- }
68
- if (!this._sizeClasses[this.size]) {
69
- this._element.style.setProperty("--ez-popup__container--width", this.size);
70
- return "";
71
- }
72
- return this._sizeClasses[this.size];
65
+ return this._sizeClasses[this.size] || this._sizeClasses["medium"];
73
66
  }
74
67
  handlePopupHeight() {
75
68
  return this.heightMode === 'auto' ? 'popup__container--auto' : '';
@@ -103,8 +96,8 @@ export class EzPopup {
103
96
  "type": "string",
104
97
  "mutable": false,
105
98
  "complexType": {
106
- "original": "\"x-small\" | \"small\" | \"medium\" | \"large\" | \"x-large\" | string",
107
- "resolved": "string",
99
+ "original": "\"x-small\" | \"small\" | \"medium\" | \"large\" | \"x-large\"",
100
+ "resolved": "\"large\" | \"medium\" | \"small\" | \"x-large\" | \"x-small\"",
108
101
  "references": {}
109
102
  },
110
103
  "required": false,
@@ -85,7 +85,7 @@
85
85
  --ez-search__scrollbar--border-radius: var(--border--radius-small, 6px);
86
86
  /*@doc Define a largura da barra de rolagem do componente.*/
87
87
  --ez-search__scrollbar--width: var(--space--medium, 12px);
88
-
88
+
89
89
  /***************
90
90
  host style
91
91
  ***************/
@@ -372,7 +372,7 @@ export class EzSearch {
372
372
  replaceHighlight(value) {
373
373
  const startHighlight = new RegExp(this._startHighlightTag, 'g');
374
374
  const endHighlight = new RegExp(this._endHighlightTag, 'g');
375
- return (value !== null && value !== void 0 ? value : "").replace(startHighlight, '').replace(endHighlight, '');
375
+ return String(value !== null && value !== void 0 ? value : "").replace(startHighlight, '').replace(endHighlight, '');
376
376
  }
377
377
  selectOption(newOption) {
378
378
  var _a, _b;
@@ -51,6 +51,20 @@
51
51
  /*@doc Define o espaçamento direito do label.*/
52
52
  --text-area__label--padding-right: 12px;
53
53
 
54
+ /* scrollbar */
55
+ /*@doc Define a cor da barra de rolagem do componente.*/
56
+ --text-area__scrollbar--color-default: var(--scrollbar--default, #626e82);
57
+ /*@doc Define a cor de fundo da barra de rolagem do componente.*/
58
+ --text-area__scrollbar--color-background: var(--scrollbar--background, #E5EAF0);
59
+ /*@doc Define a cor do hover na barra de rolagem do componente.*/
60
+ --text-area__scrollbar--color-hover: var(--scrollbar--hover, #2B3A54);
61
+ /*@doc Define a cor do active na barra de rolagem do componente.*/
62
+ --text-area__scrollbar--color-clicked: var(--scrollbar--clicked, #a2abb9);
63
+ /*@doc Define o raio da borda da barra de rolagem do componente.*/
64
+ --text-area__scrollbar--border-radius: var(--border--radius-small, 6px);
65
+ /*@doc Define a largura da barra de rolagem do componente.*/
66
+ --text-area__scrollbar--width: var(--space--medium, 12px);
67
+
54
68
  /***************
55
69
  host style
56
70
  ***************/
@@ -77,6 +91,9 @@ textarea {
77
91
  font-size: var(--text-area--font-size);
78
92
  color: var(--text-area--color);
79
93
  margin-top: calc(var(--space--medium, 12px) + 4px);
94
+
95
+ scrollbar-width: thin;
96
+ scrollbar-color: var(--text-area__scrollbar--color-clicked) var(--text-area__scrollbar--color-background);
80
97
  }
81
98
 
82
99
  textarea:focus {
@@ -92,6 +109,38 @@ textarea:disabled {
92
109
  cursor: not-allowed;
93
110
  }
94
111
 
112
+ textarea::-webkit-scrollbar {
113
+ background-color: var(--text-area__scrollbar--color-background);
114
+
115
+ width: var(--text-area__scrollbar--width);
116
+ max-width: var(--text-area__scrollbar--width);
117
+ min-width: var(--text-area__scrollbar--width);
118
+ }
119
+
120
+ textarea::-webkit-scrollbar-thumb {
121
+ /*public*/
122
+ background-color: var(--text-area__scrollbar--color-default);
123
+ border-radius: var(--text-area__scrollbar--border-radius);
124
+ }
125
+
126
+ textarea::-webkit-scrollbar-track {
127
+ /*public*/
128
+ background-color: var(--text-area__scrollbar--color-background);
129
+ border-radius: var(--text-area__scrollbar--border-radius);
130
+ }
131
+
132
+ textarea::-webkit-scrollbar-thumb:vertical:hover,
133
+ textarea::-webkit-scrollbar-thumb:horizontal:hover {
134
+ /*public*/
135
+ background-color: var(--text-area__scrollbar--color-hover);
136
+ }
137
+
138
+ textarea::-webkit-scrollbar-thumb:vertical:active,
139
+ textarea::-webkit-scrollbar-thumb:horizontal:active {
140
+ /*public*/
141
+ background-color: var(--text-area__scrollbar--color-clicked);
142
+ }
143
+
95
144
  .textarea {
96
145
  /*private*/
97
146
  width: 100%;