@sankhyalabs/ezui 0.0.0-bugfix-dev-KB-74224.0 → 0.0.0-bugfix-dev-KB-76362.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 (42) hide show
  1. package/dist/cjs/ez-card-item_3.cjs.entry.js +17 -4
  2. package/dist/cjs/ez-list.cjs.entry.js +100 -151
  3. package/dist/cjs/ez-popover.cjs.entry.js +1 -1
  4. package/dist/cjs/ez-popup.cjs.entry.js +9 -2
  5. package/dist/cjs/ez-text-input.cjs.entry.js +3 -2
  6. package/dist/cjs/ezui.cjs.js +1 -1
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/collection/components/ez-card-item/ez-card-item.css +5 -14
  9. package/dist/collection/components/ez-filter-input/ez-filter-input.css +11 -0
  10. package/dist/collection/components/ez-filter-input/ez-filter-input.js +63 -2
  11. package/dist/collection/components/ez-list/ez-list.css +5 -5
  12. package/dist/collection/components/ez-list/ez-list.js +170 -152
  13. package/dist/collection/components/ez-popover/ez-popover.css +10 -3
  14. package/dist/collection/components/ez-popup/ez-popup.css +6 -2
  15. package/dist/collection/components/ez-popup/ez-popup.js +10 -3
  16. package/dist/collection/components/ez-search/ez-search.css +1 -1
  17. package/dist/collection/components/ez-text-input/ez-text-input.css +15 -13
  18. package/dist/collection/components/ez-text-input/ez-text-input.js +2 -1
  19. package/dist/custom-elements/index.js +132 -162
  20. package/dist/esm/ez-card-item_3.entry.js +17 -4
  21. package/dist/esm/ez-list.entry.js +101 -152
  22. package/dist/esm/ez-popover.entry.js +1 -1
  23. package/dist/esm/ez-popup.entry.js +9 -2
  24. package/dist/esm/ez-text-input.entry.js +3 -2
  25. package/dist/esm/ezui.js +1 -1
  26. package/dist/esm/loader.js +1 -1
  27. package/dist/ezui/ezui.esm.js +1 -1
  28. package/dist/ezui/p-188f1c4c.entry.js +1 -0
  29. package/dist/ezui/p-25ac5376.entry.js +1 -0
  30. package/dist/ezui/p-86b6aa01.entry.js +1 -0
  31. package/dist/ezui/p-dc4ada32.entry.js +1 -0
  32. package/dist/ezui/p-f80ac647.entry.js +1 -0
  33. package/dist/types/components/ez-filter-input/ez-filter-input.d.ts +12 -0
  34. package/dist/types/components/ez-list/ez-list.d.ts +26 -3
  35. package/dist/types/components/ez-popup/ez-popup.d.ts +2 -2
  36. package/dist/types/components.d.ts +38 -2
  37. package/package.json +1 -1
  38. package/dist/ezui/p-37219d42.entry.js +0 -1
  39. package/dist/ezui/p-a80b1287.entry.js +0 -1
  40. package/dist/ezui/p-b54e17d2.entry.js +0 -1
  41. package/dist/ezui/p-bfad39eb.entry.js +0 -1
  42. package/dist/ezui/p-c25f0e92.entry.js +0 -1
@@ -1,10 +1,11 @@
1
- import { ElementIDUtils, StringUtils } from '@sankhyalabs/core';
1
+ import { ElementIDUtils, KeyboardManager, 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;
8
9
  this.dataSource = [];
9
10
  this.listMode = 'regular';
10
11
  this.useGroups = false;
@@ -13,6 +14,19 @@ export class EzList {
13
14
  this.itemSlotBuilder = undefined;
14
15
  this.itemLeftSlotBuilder = undefined;
15
16
  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();
16
30
  }
17
31
  /**
18
32
  * Limpa o histórico da lista.
@@ -36,23 +50,8 @@ export class EzList {
36
50
  */
37
51
  async setSelection(selectedItem, scrollToOption) {
38
52
  if (selectedItem && this.ezSelectable) {
53
+ this._selectedItem = Object.assign({}, selectedItem);
39
54
  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
- }
56
55
  if (scrollToOption) {
57
56
  let liElem = this.useGroups
58
57
  ? this._groupContainer.querySelector('li#item_' + selectedItem.id)
@@ -70,21 +69,7 @@ export class EzList {
70
69
  * Obtém o item selecionado.
71
70
  */
72
71
  async getSelection() {
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;
72
+ return this._selectedItem;
88
73
  }
89
74
  /**
90
75
  * Obtém a lista de items ou grupos.
@@ -99,22 +84,7 @@ export class EzList {
99
84
  * Limpa a seleção atual
100
85
  */
101
86
  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
- }
87
+ this._selectedItem = undefined;
118
88
  }
119
89
  applyUUID(item) {
120
90
  if (!item.id) {
@@ -174,6 +144,10 @@ export class EzList {
174
144
  }
175
145
  componentDidLoad() {
176
146
  ElementIDUtils.addIDInfo(this._element);
147
+ this.bindKeyboardManager();
148
+ }
149
+ disconnectCallback() {
150
+ this.unbindKeyboardManager();
177
151
  }
178
152
  onDrop(ev, dragEndItem) {
179
153
  this.removeOverClass();
@@ -366,92 +340,58 @@ export class EzList {
366
340
  if (this.useGroups) {
367
341
  this.setSelection(this._listGroupItems[0].items[0]);
368
342
  }
369
- {
343
+ else {
370
344
  this.setSelection(this._listItems[0]);
371
345
  }
372
346
  }
373
- nextOption(selectedItem) {
374
- let nextItem = undefined;
347
+ getFlatedItems() {
375
348
  if (this.useGroups) {
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
- });
395
- }
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
- }
349
+ const itemsGroups = this._listGroupItems.map(({ items }) => items).flat();
350
+ return itemsGroups;
401
351
  }
402
- this.setSelection(nextItem, true);
352
+ return this._listItems;
403
353
  }
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
- });
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;
426
362
  }
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
- }
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);
432
368
  }
433
- this.setSelection(previousItem, true);
434
369
  }
435
- keyDownHandler(event) {
436
- if (!event.ctrlKey) {
437
- event.preventDefault();
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);
438
376
  }
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();
377
+ }
378
+ bindKeyboardManager() {
379
+ this._keyboardManager = new KeyboardManager({ propagate: false, element: this._element });
380
+ if (this.disableShortcuts) {
381
+ return;
382
+ }
383
+ this._keyboardManager
384
+ .bind("ArrowDown", () => this.nextOption())
385
+ .bind("ArrowUp", () => this.previousOption())
386
+ .bind("shift+Tab", () => this.previousOption())
387
+ .bind("Tab", () => this.nextOption());
388
+ }
389
+ unbindKeyboardManager() {
390
+ this._keyboardManager
391
+ .unbind("ArrowDown")
392
+ .unbind("ArrowUp")
393
+ .unbind("shift+Tab")
394
+ .unbind("Tab");
455
395
  }
456
396
  getDivGroupId(groupName) {
457
397
  if (groupName) {
@@ -516,38 +456,46 @@ export class EzList {
516
456
  doubleClickItem(item) {
517
457
  this.ezDoubleClick.emit(item);
518
458
  }
459
+ onClickItem(item) {
460
+ this.setSelection(item);
461
+ this.ezClickItem.emit(item);
462
+ }
519
463
  render() {
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: {
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: {
524
487
  'selectable-container': this.ezSelectable,
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: () => {
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: () => {
529
491
  this.doubleClickItem(item);
530
492
  }, onClick: () => {
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 => {
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 => {
537
497
  this.onDragOverLastIndex(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) }))))));
498
+ }, onDragEnd: () => this.onDragEnd(), onDrop: event => this.onDropLastIndex(event) }))))));
551
499
  }
552
500
  static get is() { return "ez-list"; }
553
501
  static get encapsulation() { return "scoped"; }
@@ -720,13 +668,32 @@ export class EzList {
720
668
  "attribute": "hover-feedback",
721
669
  "reflect": false,
722
670
  "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"
723
689
  }
724
690
  };
725
691
  }
726
692
  static get states() {
727
693
  return {
728
694
  "_listItems": {},
729
- "_listGroupItems": {}
695
+ "_listGroupItems": {},
696
+ "_selectedItem": {}
730
697
  };
731
698
  }
732
699
  static get events() {
@@ -774,6 +741,25 @@ export class EzList {
774
741
  }
775
742
  }
776
743
  }
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
+ }
777
763
  }, {
778
764
  "method": "ezCheckChange",
779
765
  "name": "ezCheckChange",
@@ -816,6 +802,38 @@ export class EzList {
816
802
  }
817
803
  static get methods() {
818
804
  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
+ },
819
837
  "clearHistory": {
820
838
  "complexType": {
821
839
  "signature": "() => Promise<void>",
@@ -9,6 +9,12 @@
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;
12
18
 
13
19
  /***************
14
20
  host style
@@ -24,13 +30,14 @@
24
30
  z-index: var(--ez-popover__box--z-index);
25
31
  display: flex;
26
32
  flex-direction: column;
27
-
28
- height: fit-content;
29
-
33
+
30
34
  /*public*/
35
+ height: var(--ez-popover__height);
36
+ max-height: var(--ez-popover__max-height);
31
37
  background-color: var(--ez-popover__box--background-color);
32
38
  border-radius: var(--ez-popover__box--border-radius);
33
39
  box-shadow: var(--ez-popover__box--box-shadow);
40
+ margin: var(--ez-popover__margin);
34
41
  }
35
42
 
36
43
  .popover__box--fit-content {
@@ -9,6 +9,10 @@
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%;
12
16
 
13
17
  /* Popup Header */
14
18
  /*@doc Define o espaçamento inferior do cabeçalho do popup.*/
@@ -56,9 +60,9 @@
56
60
  }
57
61
 
58
62
  .popup__container {
59
- width: 100%;
63
+ width: var(--ez-popup__container--width);
60
64
  max-height: 90%;
61
- height: 100%;
65
+ height: var(--ez-popup__container--height);
62
66
  display: flex;
63
67
  flex-wrap: wrap;
64
68
  overflow: hidden;
@@ -62,7 +62,14 @@ export class EzPopup {
62
62
  });
63
63
  }
64
64
  getGridSize() {
65
- return this._sizeClasses[this.size] || this._sizeClasses["medium"];
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];
66
73
  }
67
74
  handlePopupHeight() {
68
75
  return this.heightMode === 'auto' ? 'popup__container--auto' : '';
@@ -96,8 +103,8 @@ export class EzPopup {
96
103
  "type": "string",
97
104
  "mutable": false,
98
105
  "complexType": {
99
- "original": "\"x-small\" | \"small\" | \"medium\" | \"large\" | \"x-large\"",
100
- "resolved": "\"large\" | \"medium\" | \"small\" | \"x-large\" | \"x-small\"",
106
+ "original": "\"x-small\" | \"small\" | \"medium\" | \"large\" | \"x-large\" | string",
107
+ "resolved": "string",
101
108
  "references": {}
102
109
  },
103
110
  "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
  ***************/
@@ -6,6 +6,8 @@
6
6
  --ez-text-input--width: 100%;
7
7
  /*@doc Define a largura do slot que contém o ícone.*/
8
8
  --ez-text-input__icon--width: 48px;
9
+ --ez-text-input__icon--left--width: var(--ez-text-input__icon--width);
10
+ --ez-text-input__icon--right--width: var(--ez-text-input__icon--width);
9
11
  /*@doc Define a altura do componente em modo "slim".*/
10
12
  --ez-text-input--height--slim: 32px;
11
13
 
@@ -102,6 +104,8 @@ input {
102
104
  color: var(--ez-text-input--color);
103
105
  font-weight: var(--ez-text-input--font-weight);
104
106
  padding: var(--ez-text-input__input--padding);
107
+ text-overflow: ellipsis;
108
+ overflow: hidden;
105
109
  }
106
110
 
107
111
  input:disabled {
@@ -119,11 +123,11 @@ input:focus {
119
123
  }
120
124
 
121
125
  input.icon--left {
122
- padding-left: var(--ez-text-input__icon--width);
126
+ padding-left: var(--ez-text-input__icon--left--width);
123
127
  }
124
128
 
125
129
  input.icon--right {
126
- padding-right: var(--ez-text-input__icon--width);
130
+ padding-right: var(--ez-text-input__icon--right--width);
127
131
  }
128
132
 
129
133
  input.hasError {
@@ -200,25 +204,23 @@ input:read-only {
200
204
  cursor: not-allowed;
201
205
  }
202
206
 
207
+ .input__label--left.input__label--right {
208
+ left: calc(var(--ez-text-input__icon--left--width) + 2px);
209
+ /*borda*/
210
+ width: calc(100% - (var(--ez-text-input__icon--right--width) + var(--ez-text-input__icon--left--width)));
211
+ }
203
212
  .input__label--left {
204
213
  /*public*/
205
214
  text-align: left;
206
- left: calc(var(--ez-text-input__icon--width) + 2px);
215
+ left: calc(var(--ez-text-input__icon--left--width) + 2px);
207
216
  /*borda*/
208
- width: calc(100% - var(--ez-text-input__icon--width));
217
+ width: calc(100% - var(--ez-text-input__icon--left--width));
209
218
  }
210
219
 
211
220
  .input__label--right {
212
221
  /*public*/
213
- right: var(--ez-text-input__icon--width);
214
- width: calc(100% - var(--ez-text-input__icon--width));
215
- }
216
-
217
- /* ISSO TA ERRADO CRIAR INPUT__LABEL--BOTH */
218
- .input__label--left.input__label--right {
219
- left: calc(var(--ez-text-input__icon--width) + 2px);
220
- /*borda*/
221
- width: calc(100% - var(--ez-text-input__icon--width) * 2);
222
+ right: var(--ez-text-input__icon--right--width);
223
+ width: calc(100% - var(--ez-text-input__icon--right--width));
222
224
  }
223
225
 
224
226
  .input--with--label {
@@ -165,9 +165,9 @@ export class EzTextInput {
165
165
  content.style.justifyContent = "center";
166
166
  content.style.overflow = "hidden";
167
167
  content.style.top = "0px";
168
- content.style.width = "var(--ez-text-input__icon--width)";
169
168
  content.style.height = this.mode != "slim" ? "var(--ez-text-input--height)" : "var(--ez-text-input--height--slim)";
170
169
  if (slot.name == "leftIcon") {
170
+ content.style.width = "var(--ez-text-input__icon--left--width)";
171
171
  content.style.left = "0px";
172
172
  content.style.borderRadius = "var(--ez-text-input--border-radius) 0 0 var(--ez-text-input--border-radius)";
173
173
  this._inputElem.classList.add("icon--left");
@@ -177,6 +177,7 @@ export class EzTextInput {
177
177
  this._contentLeftSlot = content;
178
178
  }
179
179
  else if (slot.name == "rightIcon") {
180
+ content.style.width = "var(--ez-text-input__icon--right--width)";
180
181
  content.style.right = "0px";
181
182
  content.style.borderRadius = "0 var(--ez-text-input--border-radius) var(--ez-text-input--border-radius) 0";
182
183
  this._inputElem.classList.add("icon--right");