@sankhyalabs/ezui 0.0.0-bugfix-dev-KB-76362.0 → 0.0.0-bugfix-dev-KB-75609.1

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 (129) hide show
  1. package/dist/cjs/DataBinder-aff1dcc7.js +445 -0
  2. package/dist/cjs/FocusResolver-885f2173.js +35 -0
  3. package/dist/cjs/ez-card-item_3.cjs.entry.js +12 -19
  4. package/dist/cjs/ez-combo-box.cjs.entry.js +46 -10
  5. package/dist/cjs/ez-date-input.cjs.entry.js +8 -2
  6. package/dist/cjs/ez-date-time-input.cjs.entry.js +8 -2
  7. package/dist/cjs/ez-dialog.cjs.entry.js +9 -1
  8. package/dist/cjs/ez-form.cjs.entry.js +3 -324
  9. package/dist/cjs/ez-grid.cjs.entry.js +254 -62
  10. package/dist/cjs/ez-list.cjs.entry.js +151 -100
  11. package/dist/cjs/ez-number-input.cjs.entry.js +7 -0
  12. package/dist/cjs/ez-popover.cjs.entry.js +1 -1
  13. package/dist/cjs/ez-popup.cjs.entry.js +2 -9
  14. package/dist/cjs/ez-search.cjs.entry.js +28 -12
  15. package/dist/cjs/ez-text-area.cjs.entry.js +66 -4
  16. package/dist/cjs/ez-text-input.cjs.entry.js +8 -3
  17. package/dist/cjs/ez-time-input.cjs.entry.js +6 -0
  18. package/dist/cjs/ezui.cjs.js +1 -1
  19. package/dist/cjs/loader.cjs.js +1 -1
  20. package/dist/collection/collection-manifest.json +1 -1
  21. package/dist/collection/components/ez-card-item/ez-card-item.css +14 -5
  22. package/dist/collection/components/ez-combo-box/ez-combo-box.js +75 -14
  23. package/dist/collection/components/ez-date-input/ez-date-input.js +35 -4
  24. package/dist/collection/components/ez-date-time-input/ez-date-time-input.js +35 -4
  25. package/dist/collection/components/ez-dialog/ez-dialog.js +9 -1
  26. package/dist/collection/components/ez-filter-input/ez-filter-input.css +0 -11
  27. package/dist/collection/components/ez-filter-input/ez-filter-input.js +22 -52
  28. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +52 -14
  29. package/dist/collection/components/ez-grid/controller/ag-grid/DataSource.js +3 -0
  30. package/dist/collection/components/ez-grid/controller/ag-grid/GridEditionManager.js +166 -45
  31. package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.js +7 -0
  32. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/ComboBox.tpl.js +1 -0
  33. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/DateInput.tpl.js +1 -0
  34. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/NumberInput.tpl.js +1 -0
  35. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/Search.tpl.js +1 -0
  36. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/TextInput.tpl.js +4 -1
  37. package/dist/collection/components/ez-grid/ez-grid.js +83 -1
  38. package/dist/collection/components/ez-list/ez-list.css +5 -5
  39. package/dist/collection/components/ez-list/ez-list.js +152 -170
  40. package/dist/collection/components/ez-number-input/ez-number-input.js +25 -0
  41. package/dist/collection/components/ez-popover/ez-popover.css +3 -10
  42. package/dist/collection/components/ez-popup/ez-popup.css +2 -6
  43. package/dist/collection/components/ez-popup/ez-popup.js +3 -10
  44. package/dist/collection/components/ez-search/ez-search.css +1 -1
  45. package/dist/collection/components/ez-search/ez-search.js +55 -14
  46. package/dist/collection/components/ez-text-area/ez-text-area.css +49 -0
  47. package/dist/collection/components/ez-text-area/ez-text-area.js +102 -2
  48. package/dist/collection/components/ez-text-input/ez-text-input.css +27 -53
  49. package/dist/collection/components/ez-text-input/ez-text-input.js +25 -2
  50. package/dist/collection/components/ez-time-input/ez-time-input.js +24 -0
  51. package/dist/collection/utils/FocusResolver.js +31 -0
  52. package/dist/collection/utils/form/DataBinder.js +18 -3
  53. package/dist/custom-elements/index.js +663 -237
  54. package/dist/esm/DataBinder-bd240826.js +441 -0
  55. package/dist/esm/FocusResolver-1ccbf850.js +33 -0
  56. package/dist/esm/ez-card-item_3.entry.js +12 -19
  57. package/dist/esm/ez-combo-box.entry.js +47 -11
  58. package/dist/esm/ez-date-input.entry.js +8 -2
  59. package/dist/esm/ez-date-time-input.entry.js +8 -2
  60. package/dist/esm/ez-dialog.entry.js +9 -1
  61. package/dist/esm/ez-form.entry.js +2 -323
  62. package/dist/esm/ez-grid.entry.js +253 -61
  63. package/dist/esm/ez-list.entry.js +152 -101
  64. package/dist/esm/ez-number-input.entry.js +7 -0
  65. package/dist/esm/ez-popover.entry.js +1 -1
  66. package/dist/esm/ez-popup.entry.js +2 -9
  67. package/dist/esm/ez-search.entry.js +28 -12
  68. package/dist/esm/ez-text-area.entry.js +66 -4
  69. package/dist/esm/ez-text-input.entry.js +8 -3
  70. package/dist/esm/ez-time-input.entry.js +6 -0
  71. package/dist/esm/ezui.js +1 -1
  72. package/dist/esm/loader.js +1 -1
  73. package/dist/ezui/ezui.esm.js +1 -1
  74. package/dist/ezui/p-03a2c7d1.entry.js +1 -0
  75. package/dist/ezui/p-0a75bb05.entry.js +1 -0
  76. package/dist/ezui/p-0db68715.entry.js +1 -0
  77. package/dist/ezui/p-19098a3f.entry.js +1 -0
  78. package/dist/ezui/p-1f830a2f.entry.js +1 -0
  79. package/dist/ezui/p-3dd919b7.entry.js +1 -0
  80. package/dist/ezui/p-7bfae0fc.entry.js +1 -0
  81. package/dist/ezui/p-81f06699.js +1 -0
  82. package/dist/ezui/p-97af4b13.entry.js +1 -0
  83. package/dist/ezui/p-9ceefe4d.entry.js +1 -0
  84. package/dist/ezui/p-a80b1287.entry.js +1 -0
  85. package/dist/ezui/{p-c3c3d640.entry.js → p-b0a5c2cd.entry.js} +2 -2
  86. package/dist/ezui/p-b54e17d2.entry.js +1 -0
  87. package/dist/ezui/p-bfad39eb.entry.js +1 -0
  88. package/dist/ezui/p-d0ca26fe.entry.js +1 -0
  89. package/dist/ezui/p-dc628ed3.js +1 -0
  90. package/dist/ezui/p-ffd246f5.entry.js +1 -0
  91. package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +7 -1
  92. package/dist/types/components/ez-date-input/ez-date-input.d.ts +6 -1
  93. package/dist/types/components/ez-date-time-input/ez-date-time-input.d.ts +6 -1
  94. package/dist/types/components/ez-dialog/ez-dialog.d.ts +2 -0
  95. package/dist/types/components/ez-filter-input/ez-filter-input.d.ts +4 -11
  96. package/dist/types/components/ez-grid/controller/EzGridController.d.ts +10 -0
  97. package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +4 -0
  98. package/dist/types/components/ez-grid/controller/ag-grid/GridEditionManager.d.ts +18 -6
  99. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.d.ts +2 -0
  100. package/dist/types/components/ez-grid/controller/ag-grid/editor/IUICellEditor.d.ts +1 -0
  101. package/dist/types/components/ez-grid/ez-grid.d.ts +10 -0
  102. package/dist/types/components/ez-list/ez-list.d.ts +3 -26
  103. package/dist/types/components/ez-number-input/ez-number-input.d.ts +4 -0
  104. package/dist/types/components/ez-popup/ez-popup.d.ts +2 -2
  105. package/dist/types/components/ez-search/ez-search.d.ts +6 -1
  106. package/dist/types/components/ez-text-area/ez-text-area.d.ts +17 -0
  107. package/dist/types/components/ez-text-input/ez-text-input.d.ts +4 -0
  108. package/dist/types/components/ez-time-input/ez-time-input.d.ts +4 -0
  109. package/dist/types/components.d.ts +101 -44
  110. package/dist/types/utils/FocusResolver.d.ts +5 -0
  111. package/dist/types/utils/form/DataBinder.d.ts +3 -0
  112. package/package.json +1 -1
  113. package/dist/cjs/RecordValidationProcessor-10846595.js +0 -108
  114. package/dist/esm/RecordValidationProcessor-9c6cc267.js +0 -105
  115. package/dist/ezui/p-188f1c4c.entry.js +0 -1
  116. package/dist/ezui/p-25ac5376.entry.js +0 -1
  117. package/dist/ezui/p-49456b34.entry.js +0 -1
  118. package/dist/ezui/p-5a90d7d1.entry.js +0 -1
  119. package/dist/ezui/p-62732269.entry.js +0 -1
  120. package/dist/ezui/p-86b6aa01.entry.js +0 -1
  121. package/dist/ezui/p-b3b94f72.entry.js +0 -1
  122. package/dist/ezui/p-b95632e8.entry.js +0 -1
  123. package/dist/ezui/p-bcd47eda.entry.js +0 -1
  124. package/dist/ezui/p-d2c06f38.entry.js +0 -1
  125. package/dist/ezui/p-dc4ada32.entry.js +0 -1
  126. package/dist/ezui/p-e85c48d7.entry.js +0 -1
  127. package/dist/ezui/p-f299c608.entry.js +0 -1
  128. package/dist/ezui/p-f42855b9.js +0 -1
  129. package/dist/ezui/p-f80ac647.entry.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import { HTMLElement as HTMLElement$1, createEvent, h, Host, forceUpdate, Fragment, proxyCustomElement } from '@stencil/core/internal/client';
2
2
  export { setAssetPath, setPlatformOptions } from '@stencil/core/internal/client';
3
- import { UserInterface, DateUtils as DateUtils$1, Action, StringUtils as StringUtils$1, ApplicationContext, WaitingChangeException, DataUnitAction, FloatingManager, ElementIDUtils, ObjectUtils as ObjectUtils$1, JSUtils, HTMLBuilder, TimeFormatter, DataUnit, NumberUtils as NumberUtils$1, MaskFormatter, DataType, SortMode, FieldComparator, ArrayUtils as ArrayUtils$1, OverflowWatcher, OVERFLOWED_CLASS_NAME, KeyboardManager } from '@sankhyalabs/core';
3
+ import { UserInterface, DateUtils as DateUtils$1, Action, StringUtils as StringUtils$1, ApplicationContext, WaitingChangeException, DataUnitAction, FloatingManager, ElementIDUtils, ObjectUtils as ObjectUtils$1, JSUtils, HTMLBuilder, TimeFormatter, DataUnit, LockManager, LockManagerOperation, NumberUtils as NumberUtils$1, MaskFormatter, DataType, SortMode, FieldComparator, ArrayUtils as ArrayUtils$1, OverflowWatcher, OVERFLOWED_CLASS_NAME, KeyboardManager } from '@sankhyalabs/core';
4
4
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
5
5
 
6
6
  // Unique ID creation requires a high quality random # generator. In the browser we therefore
@@ -609,6 +609,7 @@ class DataBinder {
609
609
  (_a = this._fields) === null || _a === void 0 ? void 0 : _a.forEach(field => {
610
610
  this.updateValue(field.fieldName, field.field);
611
611
  });
612
+ this.clearFieldError(Object.keys(action.payload)[0]);
612
613
  break;
613
614
  case Action.FIELD_INVALIDATED:
614
615
  (_b = this._fields) === null || _b === void 0 ? void 0 : _b.forEach(field => {
@@ -654,11 +655,14 @@ class DataBinder {
654
655
  });
655
656
  this._formMetadata = formMetadata;
656
657
  this._recordValidatorProcessor = new RecordValidationProcessor(this._dataUnit, {
657
- getRequiredFields: () => this._formMetadata.getRequiredFields(),
658
+ getRequiredFields: () => this.getFormRequiredFields(),
658
659
  markAsInvalid: field => this.markInvalid(field),
659
660
  getMessageForField: field => this.getErrorMessage(field),
660
661
  }, recordsValidator);
661
662
  }
663
+ getFormRequiredFields() {
664
+ return this._formMetadata.getRequiredFields();
665
+ }
662
666
  disconnectDataUnit() {
663
667
  const dataBindersByDataUnit = ApplicationContext.getContextValue("__DATABINDER_BY_DATAUNIT__") || new Map();
664
668
  const dataBinders = dataBindersByDataUnit.get(this._dataUnit.dataUnitId);
@@ -698,6 +702,14 @@ class DataBinder {
698
702
  fieldElement["errorMessage"] = "";
699
703
  });
700
704
  }
705
+ clearFieldError(fieldName) {
706
+ var _a;
707
+ const field = (_a = this._fields.get(fieldName)) === null || _a === void 0 ? void 0 : _a.field;
708
+ if (field["errorMessage"]) {
709
+ field["errorMessage"] = "";
710
+ this._dataUnit.clearInvalid(this.getCurrentRecordId(), fieldName);
711
+ }
712
+ }
701
713
  updateValue(fieldName, field) {
702
714
  const bind = this._fields.get(fieldName);
703
715
  try {
@@ -718,8 +730,7 @@ class DataBinder {
718
730
  }
719
731
  static async validateByDataunit(dataUnit) {
720
732
  try {
721
- const dataBindersByDataUnit = ApplicationContext.getContextValue("__DATABINDER_BY_DATAUNIT__");
722
- const dataBinders = dataBindersByDataUnit.get(dataUnit.dataUnitId) || [];
733
+ const dataBinders = this.getDataBindersByDataUnit(dataUnit);
723
734
  await Promise.all(dataBinders.map((dataBinder) => dataBinder.validate()));
724
735
  return true;
725
736
  }
@@ -727,6 +738,10 @@ class DataBinder {
727
738
  return false;
728
739
  }
729
740
  }
741
+ static getDataBindersByDataUnit(dataUnit) {
742
+ const dataBindersByDataUnit = ApplicationContext.getContextValue("__DATABINDER_BY_DATAUNIT__");
743
+ return dataBindersByDataUnit.get(dataUnit.dataUnitId) || [];
744
+ }
730
745
  updateErrorMessage(fieldName, field, message) {
731
746
  if (message == undefined) {
732
747
  message = this._dataUnit.getInvalidMessage(this.getCurrentRecordId(), fieldName);
@@ -2066,7 +2081,7 @@ const EzCalendar$1 = class extends HTMLElement$1 {
2066
2081
  static get style() { return ezCalendarCss; }
2067
2082
  };
2068
2083
 
2069
- const ezCardItemCss = ":host { \n /*@doc Define o tamanho da fonte do componente.*/\n --ez-card-item--font-size: var(--text--medium, 14px);\n\n /*@doc Define o tamanho da fonte do componente no modo compacto.*/\n --ez-card-item--font-size-compacted: var(--text--extra-small, 10px);\n\n /*@doc Define a família da fonte do componente.*/\n --ez-card-item--font-family: var(--font-pattern, Arial);\n\n /*@doc Define o peso da fonte do componente.*/\n --ez-card-item--font-weight: var(--text-weight--medium, 400);\n\n /*@doc Define o peso da fonte do title do componente.*/\n --ez-card-item--font-weight-medium: var(--text-weight--medium, 400);\n\n /*@doc Define a cor da fonte do componente.*/\n --ez-card-item--color: var(--text--primary, #626e82);\n\n /*@doc Define a cor da fonte da key do componente.*/\n --ez-card-item__key--color: var(--text--primary, #626e82);\n\n /*@doc Define a cor da fonte do label do detalhe do componente.*/\n --ez-card-item__detail-label--color: var(--text--secondary, #A2ABB9);\n\n /*@doc Define o espaçamento inferior dos detalhes do componente.*/\n --ez-card-item__detail--padding-bottom: var(--space--extra-small, 3px);\n\n /*@doc Define a cor do highlight / marcação nos textos do componente.*/\n --ez-card-item__highlight--color: var(--color--primary-300, #E2F4EF);\n\n /*@doc Define o peso da fonte do componente.*/\n --ez-card-item--detail-label--font-weight: var(--text-weight--large, 400);\n\n width: 100%;\n display: flex;\n cursor: pointer;\n}\n\n.card-item {\n display: flex;\n flex-direction: column;\n width: 100%;\n cursor: pointer;\n z-index: 0;\n position: relative;\n container-type: inline-size;\n container-name: box;\n white-space: pre-line;\n}\n\n.card-item__detail {\n display: inline-block;\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n opacity: var(--opacity--soft);\n cursor: pointer;\n}\n\n\n\n.card-item__expanded {\n padding: var(--space--medium);\n}\n\n.card-item:hover {\n background: #F0F3F7;\n border-radius: 12px;\n}\n\n.card-item__title {\n display: flex;\n align-items: center;\n line-height: 18px;\n cursor: pointer;\n\n /*public*/\n font-size: var(--ez-card-item--font-size);\n font-family: var(--ez-card-item--font-family);\n font-weight: var(--ez-card-item--font-weight-medium);\n color: var(--ez-card-item--color);\n gap: var(--space--small, 6px);\n}\n\n.card-item__key {\n /*public*/\n color: var(--ez-card-item__key--color);\n}\n\n.card-item__details {\n display: flex;\n flex-direction: column;\n cursor: pointer;\n justify-content: space-between;\n width: 100%;\n}\n\n.card-item__details-container__left {\n display: flex;\n flex-direction: column;\n white-space: pre-line;\n cursor: pointer;\n width: 50%;\n}\n\n.card-item__details-container__right {\n display: flex;\n flex-direction: column;\n white-space: pre-line;\n width: 50%;\n cursor: pointer;\n}\n\n.card-item__detail-default:not(:last-child) {\n padding-bottom: var(--ez-card-item__detail--padding-bottom);\n}\n\n.card-item__detail-label {\n cursor: pointer;\n\n /*public*/\n font-size: var(--ez-card-item--font-size);\n font-family: var(--ez-card-item--font-family);\n font-weight: var(--ez-card-item--detail-label--font-weight);\n}\n\n.card-item__detail-value {\n cursor: pointer;\n line-break: anywhere;\n\n /*public*/\n font-size: var(--ez-card-item--font-size);\n font-family: var(--ez-card-item--font-family);\n font-weight: var(--ez-card-item--font-weight);\n}\n\n.card-item__highlight {\n position: relative;\n border-radius: 8px;\n z-index: -1;\n\n /*public*/\n background-color: var(--ez-card-item__highlight--color);\n outline: 2px solid var(--ez-card-item__highlight--color);\n box-shadow: -4px 0px 0px 0px var(--ez-card-item__highlight--color), \n 4px 0px 0px 0px var(--ez-card-item__highlight--color);\n}\n\n.card-item__content{\n display: flex;\n align-items: center;\n}\n\n.card-item__details-container_default{\n display: flex;\n}\n\n.card-item__details-slot{\n margin-left: auto;\n}\n\n/* Modo compacto */\n.card-item__compacted {\n padding: var(--space--2xs, 8px) var(--space--3xs, 4px);\n}\n\n.card-item__detail-label-compacted {\n font-size: var(--ez-card-item--font-size-compacted);\n}\n\n.card-item__detail-value-compacted {\n font-size: var(--ez-card-item--font-size-compacted);\n}\n\n.card-item__title-compacted {\n font-size: var(--ez-card-item--font-size-compacted);\n}\n\n.card-item__details-container__left-compacted{\n width: 100%;\n}\n\n.card-item__details-container__right-compacted {\n width: 100%;\n}\n\n\n@container box (max-width: 550px) {\n .card-item__details {\n flex-direction: column;\n }\n\n .card-item__details-container__left {\n width: 100%;\n }\n \n .card-item__details-container__right {\n width: 100%;\n }\n}\n\n@container box (max-width: 200px) {\n .card-item__title {\n font-size: 10px;\n }\n\n .card-item__detail-label {\n font-size: 10px;\n }\n\n .card-item__detail-value {\n font-size: 10px;\n }\n\n}";
2084
+ const ezCardItemCss = ":host { \n /*@doc Define o tamanho da fonte do componente.*/\n --ez-card-item--font-size: var(--text--medium, 14px);\n\n /*@doc Define o tamanho da fonte do componente no modo compacto.*/\n --ez-card-item--font-size-compacted: var(--text--extra-small, 10px);\n\n /*@doc Define a família da fonte do componente.*/\n --ez-card-item--font-family: var(--font-pattern, Arial);\n\n /*@doc Define o peso da fonte do componente.*/\n --ez-card-item--font-weight: var(--text-weight--medium, 400);\n\n /*@doc Define o peso da fonte do title do componente.*/\n --ez-card-item--font-weight-large: var(--text-weight--large, 600);\n\n /*@doc Define a cor da fonte do componente.*/\n --ez-card-item--color: var(--text--primary, #626e82);\n\n /*@doc Define a cor da fonte da key do componente.*/\n --ez-card-item__key--color: var(--text--primary, #626e82);\n\n /*@doc Define a cor da fonte do label do detalhe do componente.*/\n --ez-card-item__detail-label--color: var(--text--secondary, #A2ABB9);\n\n /*@doc Define o espaçamento inferior dos detalhes do componente.*/\n --ez-card-item__detail--padding-bottom: var(--space--extra-small, 3px);\n\n /*@doc Define o espaçamento inferior do title do componente.*/\n --ez-card-item__title--padding-bottom: var(--space--extra-small, 3px);\n\n /*@doc Define a cor do highlight / marcação nos textos do componente.*/\n --ez-card-item__highlight--color: var(--color--primary-300, #E2F4EF);\n\n /*@doc Define o peso da fonte do componente.*/\n --ez-card-item--detail-label--font-weight: var(--text-weight--large, 400);\n\n width: 100%;\n display: flex;\n cursor: pointer;\n}\n\n.card-item {\n display: flex;\n flex-direction: column;\n width: 100%;\n cursor: pointer;\n z-index: 0;\n position: relative;\n container-type: inline-size;\n container-name: box;\n white-space: pre-line;\n}\n\n.card-item__detail{\n display: inline-block;\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n opacity: var(--opacity--soft);\n}\n\n\n\n.card-item__expanded {\n padding: var(--space--medium);\n}\n\n.card-item:hover {\n background: #F0F3F7;\n border-radius: 12px;\n}\n\n.card-item__title {\n display: flex;\n align-items: center;\n line-height: 18px;\n cursor: pointer;\n\n /*public*/\n font-size: var(--ez-card-item--font-size);\n font-family: var(--ez-card-item--font-family);\n font-weight: var(--ez-card-item--font-weight-large);\n color: var(--ez-card-item--color);\n padding-bottom: var(--ez-card-item__title--padding-bottom);\n gap: var(--space--small, 6px);\n}\n\n.card-item__key {\n /*public*/\n color: var(--ez-card-item__key--color);\n}\n\n.card-item__details {\n display: flex;\n flex-direction: column;\n cursor: pointer;\n justify-content: space-between;\n width: 100%;\n}\n\n.card-item__details-container__left {\n display: flex;\n flex-direction: column;\n white-space: pre-line;\n cursor: pointer;\n width: 50%;\n}\n\n.card-item__details-container__right {\n display: flex;\n flex-direction: column;\n white-space: pre-line;\n width: 50%;\n cursor: pointer;\n}\n\n.card-item__detail{\n cursor: pointer;\n}\n\n.card-item__detail-default:not(:last-child) {\n padding-bottom: var(--ez-card-item__detail--padding-bottom);\n}\n\n.card-item__detail-label {\n cursor: pointer;\n\n /*public*/\n font-size: var(--ez-card-item--font-size);\n font-family: var(--ez-card-item--font-family);\n font-weight: var(--ez-card-item--detail-label--font-weight);\n}\n\n.card-item__detail-value {\n cursor: pointer;\n line-break: anywhere;\n\n /*public*/\n font-size: var(--ez-card-item--font-size);\n font-family: var(--ez-card-item--font-family);\n font-weight: var(--ez-card-item--font-weight);\n}\n\n.card-item__highlight {\n position: relative;\n border-radius: 8px;\n z-index: -1;\n\n /*public*/\n background-color: var(--ez-card-item__highlight--color);\n outline: 2px solid var(--ez-card-item__highlight--color);\n box-shadow: -4px 0px 0px 0px var(--ez-card-item__highlight--color), \n 4px 0px 0px 0px var(--ez-card-item__highlight--color);\n}\n\n.card-item__content{\n display: flex;\n align-items: center;\n}\n\n.card-item__details-container_default{\n display: flex;\n}\n\n.card-item__details-slot{\n margin-left: auto;\n}\n\n/* Modo compacto */\n.card-item__compacted {\n padding: var(--space--medium);\n padding-bottom: 0px;\n padding-right: 0px;\n}\n\n.card-item__detail-label-compacted {\n font-size: var(--ez-card-item--font-size-compacted);\n}\n\n.card-item__detail-value-compacted {\n font-size: var(--ez-card-item--font-size-compacted);\n}\n\n.card-item__title-compacted {\n font-size: var(--ez-card-item--font-size-compacted);\n}\n\n.card-item__details-container__left-compacted{\n width: 100%;\n}\n\n.card-item__details-container__right-compacted {\n width: 100%;\n}\n\n\n@container box (max-width: 550px) {\n .card-item__details {\n flex-direction: column;\n }\n\n .card-item__details-container__left {\n width: 100%;\n }\n \n .card-item__details-container__right {\n width: 100%;\n }\n}\n\n@container box (max-width: 200px) {\n .card-item__title {\n font-size: 10px;\n }\n\n .card-item__detail-label {\n font-size: 10px;\n }\n\n .card-item__detail-value {\n font-size: 10px;\n }\n\n}";
2070
2085
 
2071
2086
  const EzCardItem$1 = class extends HTMLElement$1 {
2072
2087
  constructor() {
@@ -2903,12 +2918,13 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2903
2918
  this.suppressSearch = false;
2904
2919
  this.optionLoader = undefined;
2905
2920
  this.suppressEmptyOption = false;
2906
- this.stopPropagateEnterKeyEvent = false;
2921
+ this.stopPropagateEnterKeyEvent = true;
2907
2922
  this.canShowError = true;
2908
2923
  this.mode = "regular";
2909
2924
  this.hideErrorOnFocusOut = true;
2910
2925
  this.listOptionsPosition = undefined;
2911
2926
  this.isTextSearch = false;
2927
+ this.autoFocus = false;
2912
2928
  }
2913
2929
  observeErrorMessage() {
2914
2930
  var _a;
@@ -2971,9 +2987,9 @@ const EzComboBox$1 = class extends HTMLElement$1 {
2971
2987
  /**
2972
2988
  * Aplica o foco no campo.
2973
2989
  */
2974
- async setFocus() {
2990
+ async setFocus(options) {
2975
2991
  if (this._textInput) {
2976
- this._textInput.setFocus();
2992
+ this._textInput.setFocus(options);
2977
2993
  }
2978
2994
  }
2979
2995
  /**
@@ -3133,11 +3149,15 @@ const EzComboBox$1 = class extends HTMLElement$1 {
3133
3149
  : undefined, h("span", { class: "item__label " + (this.showOptionValue ? "item__label--bold" : ""), title: opt.label }, opt.label));
3134
3150
  }
3135
3151
  showOptions() {
3152
+ var _a, _b;
3136
3153
  if (!this.enabled)
3137
3154
  return;
3138
3155
  if (this.isOptionsVisible()) {
3139
3156
  return;
3140
3157
  }
3158
+ const valueString = (_b = (_a = this.value) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : this.value;
3159
+ const indexValue = this._visibleOptions.findIndex(option => option.value === valueString);
3160
+ this._preSelection = indexValue === -1 ? 0 : indexValue;
3141
3161
  if (!!this._resizeObserver)
3142
3162
  this._resizeObserver.observe(this._textInput);
3143
3163
  this._floatingID = FloatingManager.float(this._listWrapper, this._listContainer, { autoClose: true, isFixed: true, backClickListener: () => this.hideOptions() });
@@ -3179,11 +3199,26 @@ const EzComboBox$1 = class extends HTMLElement$1 {
3179
3199
  liElem.scrollIntoView({ behavior: "smooth", block: "nearest" });
3180
3200
  });
3181
3201
  }
3182
- selectCurrentOption() {
3202
+ selectCurrentOption(focusOnInput = true) {
3183
3203
  if (this._preSelection !== undefined) {
3184
- this.selectOption(this._visibleOptions[this._preSelection]);
3204
+ this.selectOption(this._visibleOptions[this._preSelection], focusOnInput);
3185
3205
  this._preSelection = undefined;
3186
3206
  }
3207
+ else {
3208
+ this.controlListWithOnlyOne(focusOnInput);
3209
+ }
3210
+ }
3211
+ controlListWithOnlyOne(focusOnInput = true) {
3212
+ var _a;
3213
+ const source = (_a = this._visibleOptions) === null || _a === void 0 ? void 0 : _a.filter((opt) => opt.label !== "" && opt.value != undefined);
3214
+ if ((source === null || source === void 0 ? void 0 : source.length) > 0) {
3215
+ let title = StringUtils$1.decodeHtmlEntities(source[0].label);
3216
+ const option = {
3217
+ value: source[0].value,
3218
+ label: title,
3219
+ };
3220
+ this.selectOption(option, focusOnInput);
3221
+ }
3187
3222
  }
3188
3223
  updateSource(source) {
3189
3224
  this._startLoading = false;
@@ -3209,7 +3244,7 @@ const EzComboBox$1 = class extends HTMLElement$1 {
3209
3244
  }
3210
3245
  }
3211
3246
  }
3212
- selectOption(newOption) {
3247
+ selectOption(newOption, focusOnInput = true) {
3213
3248
  var _a, _b;
3214
3249
  const currentValue = this.getSelectedOption(this.value);
3215
3250
  if ((((_a = currentValue === null || currentValue === void 0 ? void 0 : currentValue.value) === null || _a === void 0 ? void 0 : _a.toString()) !== ((_b = newOption === null || newOption === void 0 ? void 0 : newOption.value) === null || _b === void 0 ? void 0 : _b.toString()))
@@ -3220,6 +3255,11 @@ const EzComboBox$1 = class extends HTMLElement$1 {
3220
3255
  else {
3221
3256
  this.resetOptions();
3222
3257
  }
3258
+ if (focusOnInput) {
3259
+ setTimeout(() => {
3260
+ this.setFocus();
3261
+ }, 0);
3262
+ }
3223
3263
  }
3224
3264
  loadOptions(mode, argument = "") {
3225
3265
  this._criteria = argument;
@@ -3303,6 +3343,11 @@ const EzComboBox$1 = class extends HTMLElement$1 {
3303
3343
  }
3304
3344
  });
3305
3345
  });
3346
+ if (this.autoFocus) {
3347
+ requestAnimationFrame(() => {
3348
+ this.setFocus({ selectText: true });
3349
+ });
3350
+ }
3306
3351
  }
3307
3352
  //---------------------------------------------
3308
3353
  // Event handlers
@@ -3357,18 +3402,24 @@ const EzComboBox$1 = class extends HTMLElement$1 {
3357
3402
  }
3358
3403
  switch (event.key) {
3359
3404
  case "ArrowDown":
3405
+ event.stopPropagation();
3406
+ if (this.canShowListOptions())
3407
+ event.preventDefault();
3360
3408
  this.showOptions();
3361
3409
  this.nextOption();
3362
- event.stopPropagation();
3363
3410
  break;
3364
3411
  case "ArrowUp":
3412
+ event.stopPropagation();
3413
+ if (this.canShowListOptions())
3414
+ event.preventDefault();
3365
3415
  this.showOptions();
3366
3416
  this.previousOption();
3367
- event.stopPropagation();
3368
3417
  break;
3369
3418
  case "Enter":
3370
3419
  this.handleEventPropagation(event);
3371
- this.selectCurrentOption();
3420
+ if (this.isOptionsVisible()) {
3421
+ this.selectCurrentOption();
3422
+ }
3372
3423
  break;
3373
3424
  case "Escape":
3374
3425
  if (this.isOptionsVisible()) {
@@ -3380,7 +3431,7 @@ const EzComboBox$1 = class extends HTMLElement$1 {
3380
3431
  case "Tab":
3381
3432
  this._tabPressed = true;
3382
3433
  if (this.isOptionsVisible()) {
3383
- this.selectCurrentOption();
3434
+ this.selectCurrentOption(false);
3384
3435
  }
3385
3436
  this.resetOptions();
3386
3437
  break;
@@ -3574,6 +3625,7 @@ const EzDateInput$1 = class extends HTMLElement$1 {
3574
3625
  this.errorMessage = undefined;
3575
3626
  this.mode = "regular";
3576
3627
  this.canShowError = true;
3628
+ this.autoFocus = false;
3577
3629
  }
3578
3630
  observeLabel() {
3579
3631
  if (this._textInput) {
@@ -3610,8 +3662,8 @@ const EzDateInput$1 = class extends HTMLElement$1 {
3610
3662
  /**
3611
3663
  * Aplica o foco no campo.
3612
3664
  */
3613
- async setFocus() {
3614
- this._textInput.setFocus();
3665
+ async setFocus(options) {
3666
+ this._textInput.setFocus(options);
3615
3667
  }
3616
3668
  /**
3617
3669
  * Remove o foco do campo.
@@ -3729,6 +3781,11 @@ const EzDateInput$1 = class extends HTMLElement$1 {
3729
3781
  componentDidLoad() {
3730
3782
  CSSVarsUtils.applyVarsTextInput(this._elem, this._textInput);
3731
3783
  this.setInputValue();
3784
+ if (this.autoFocus) {
3785
+ requestAnimationFrame(() => {
3786
+ this.setFocus({ selectText: true });
3787
+ });
3788
+ }
3732
3789
  }
3733
3790
  render() {
3734
3791
  ElementIDUtils.addIDInfoIfNotExists(this._elem, 'input');
@@ -3763,6 +3820,7 @@ const EzDateTimeInput$1 = class extends HTMLElement$1 {
3763
3820
  this.showSeconds = false;
3764
3821
  this.mode = "regular";
3765
3822
  this.canShowError = true;
3823
+ this.autoFocus = false;
3766
3824
  }
3767
3825
  observeLabel() {
3768
3826
  if (this._textInput) {
@@ -3799,8 +3857,8 @@ const EzDateTimeInput$1 = class extends HTMLElement$1 {
3799
3857
  /**
3800
3858
  * Aplica o foco no campo.
3801
3859
  */
3802
- async setFocus() {
3803
- this._textInput.setFocus();
3860
+ async setFocus(options) {
3861
+ this._textInput.setFocus(options);
3804
3862
  }
3805
3863
  /**
3806
3864
  * Remove o foco do campo.
@@ -3967,6 +4025,11 @@ const EzDateTimeInput$1 = class extends HTMLElement$1 {
3967
4025
  componentDidLoad() {
3968
4026
  CSSVarsUtils.applyVarsTextInput(this._elem, this._textInput);
3969
4027
  this.setInputValue();
4028
+ if (this.autoFocus) {
4029
+ requestAnimationFrame(() => {
4030
+ this.setFocus({ selectText: true });
4031
+ });
4032
+ }
3970
4033
  }
3971
4034
  render() {
3972
4035
  ElementIDUtils.addIDInfoIfNotExists(this._elem, 'input');
@@ -3981,6 +4044,38 @@ const EzDateTimeInput$1 = class extends HTMLElement$1 {
3981
4044
  static get style() { return ezDateTimeInputCss; }
3982
4045
  };
3983
4046
 
4047
+ class FocusResolver {
4048
+ static resolveFocus(element, selectText = true) {
4049
+ var _a;
4050
+ if (!element)
4051
+ return;
4052
+ (_a = element.focus) === null || _a === void 0 ? void 0 : _a.call(element);
4053
+ if (element.setFocus) {
4054
+ element.setFocus({ selectText });
4055
+ return;
4056
+ }
4057
+ this.resolveFocusOnChild(element, selectText);
4058
+ }
4059
+ static resolveFocusOnChild(element, selectText = true) {
4060
+ var _a, _b;
4061
+ if (this.isGridCell(element) && element.firstElementChild) {
4062
+ this.resolveFocusOnChild(element.firstElementChild);
4063
+ return;
4064
+ }
4065
+ if (!element || !element.classList.contains('hydrated'))
4066
+ return;
4067
+ const firstChild = element.firstElementChild;
4068
+ if (!(firstChild === null || firstChild === void 0 ? void 0 : firstChild.focus) && !(firstChild === null || firstChild === void 0 ? void 0 : firstChild.setFocus))
4069
+ return;
4070
+ (_a = firstChild === null || firstChild === void 0 ? void 0 : firstChild.focus) === null || _a === void 0 ? void 0 : _a.call(firstChild);
4071
+ (_b = firstChild === null || firstChild === void 0 ? void 0 : firstChild.setFocus) === null || _b === void 0 ? void 0 : _b.call(firstChild, { selectText });
4072
+ }
4073
+ static isGridCell(element) {
4074
+ var _a;
4075
+ return ((_a = element === null || element === void 0 ? void 0 : element.getAttribute) === null || _a === void 0 ? void 0 : _a.call(element, "role")) === 'gridcell';
4076
+ }
4077
+ }
4078
+
3984
4079
  const ezDialogCss = ":host{--dialog__container-padding:var(--space--large, 24px);--dialog__btn__close--background-color:var(--title--primary, #2b3a54);--dialog__btn__no--padding-right:var(--space--large, 24px);--dialog__btn__close__image:url('data:image/svg+xml;utf8,<svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" xmlns=\"http://www.w3.org/2000/svg%22%3E<path d=\"M 7.0060773,5.995511 11.461972,1.5397722 c 0.132856,-0.1328413 0.207547,-0.3130253 0.207547,-0.5009046 0,-0.18786999 -0.07469,-0.3680541 -0.207547,-0.5009048 -0.132857,-0.13284126 -0.31302,-0.20748126 -0.500927,-0.20748126 -0.187812,0 -0.36807,0.07464 -0.500926,0.20748126 L 6.0042244,4.9937015 1.5482921,0.5379628 C 1.4154357,0.40512154 1.2352533,0.33048154 1.0473657,0.33048154 c -0.18787813,0 -0.36807,0.07464 -0.50092647,0.20748126 -0.13285646,0.1328507 -0.20749026,0.31303481 -0.20749026,0.5009048 0,0.1878793 0.0746338,0.3680633 0.20749026,0.5009046 L 5.0023715,5.995511 0.54643923,10.452213 c -0.0676086,0.06534 -0.12151598,0.14352 -0.15859681,0.229916 -0.0370714,0.08639 -0.0565645,0.1794 -0.0573369,0.27335 -7.724e-4,0.09404 0.0171873,0.187331 0.0528423,0.274293 0.0356455,0.08705 0.0882688,0.166087 0.15479148,0.23256 0.0665321,0.06648 0.14562277,0.11897 0.2326735,0.154567 0.0870507,0.0356 0.18031463,0.05344 0.2743433,0.05259 0.094029,-8.5e-4 0.1869528,-0.02049 0.2733331,-0.0576 0.08639,-0.0372 0.1645078,-0.09121 0.2298029,-0.158817 L 6.0042244,6.9973204 10.460119,11.453078 c 0.132856,0.132851 0.313114,0.207444 0.500926,0.207444 0.187907,0 0.36807,-0.07459 0.500927,-0.207444 0.132856,-0.13285 0.207547,-0.313006 0.207547,-0.500904 0,-0.187898 -0.07469,-0.368054 -0.207547,-0.500905 z\"/></svg>');--dialog__title--font-pattern:var(--font-pattern, \"Roboto\");--dialog__title--padding-left:var(--space--small, 6px);--dialog__title__container--padding-bottom:var(--space--medium, 12px);--dialog__title--weight--large:var(--text-weight--large, 600);--dialog__body--font-pattern:var(--font-pattern, \"Roboto\");--dialog__body--text-shadow:var(--text-shadow, \"0 0 0 #353535, 0 0 1px transparent\");--dialog__body--text-weight--medium:var(--text-weight--medium, 400);--dialog__body--padding-bottom:var(--space--large, 24px);--dialog__body--font-size:var(--text--medium, 14px);--dialog__body--color:var(--text--primary, #626e82);--dialog__icon--color:var(--text--inverted, #fff);--dialog__critical--background-color:var(--color--alert-error-800, #BD0025);--dialog__warning--background-color:var(--color--alert-warning-500, #EFB103);--dialog__success--background-color:var(--color--alert-success-500, #00523c);--dialog-z-index:var(--elevation--100, 100);--dialog--warning__image:url('data: image/svg+xml;utf8,<svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 7.5,0 0,13 h 15 z m 0,2.73684 5.1341,8.89476 H 2.36591 Z M 6.81818,5.47368 V 8.21053 H 8.18182 V 5.47368 Z m 0,4.10527 V 10.9474 H 8.18182 V 9.57895\"/></svg>');--dialog--critical__image:url('data: image/svg+xml;utf8,<svg width=\"13\" height=\"13\" viewBox=\"0 0 13 13\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 7.6534493,6.4948538 12.762051,1.3864299 C 12.914368,1.2341297 13,1.027552 13,0.81215179 13,0.59676225 12.914369,0.39018443 12.762051,0.23787352 12.609733,0.08557341 12.40318,0 12.187747,0 11.972425,0 11.765762,0.08557341 11.613445,0.23787352 L 6.5048431,5.3462975 1.3961977,0.23787352 C 1.2438802,0.08557341 1.0373043,0 0.82189458,0 0.60649572,0 0.39990901,0.08557341 0.24759147,0.23787352 0.09527396,0.39018443 0.00970766,0.59676225 0.00970766,0.81215179 c 0,0.21540021 0.0855663,0.42197791 0.23788381,0.57427811 L 5.3562369,6.4948538 0.24759147,11.604381 c -0.0775121,0.07492 -0.13931586,0.164543 -0.18182835,0.263595 -0.04250169,0.09905 -0.064850182,0.205678 -0.0657357237,0.313391 -8.8554258e-4,0.107813 0.0197049337,0.214771 0.0605827337,0.314472 0.04086693,0.0998 0.10119858,0.190415 0.17746563,0.266625 0.0762779,0.07622 0.16695386,0.136398 0.26675594,0.177208 0.099802,0.04082 0.20672745,0.06127 0.31452961,0.06029 0.1078025,-9.53e-4 0.21433799,-0.0235 0.31337139,-0.06604 0.099045,-0.04265 0.1886052,-0.104571 0.263465,-0.182081 L 6.5048431,7.6434102 11.613445,12.751855 c 0.152317,0.152312 0.35898,0.237831 0.574302,0.237831 0.215433,0 0.421986,-0.08552 0.574304,-0.237831 C 12.914368,12.599545 13,12.393 13,12.177578 13,11.962157 12.91437,11.75561 12.762051,11.603299 Z\"/></svg>')}h2{margin-block-start:0;margin-block-end:0;margin-inline-start:0px;margin-inline-end:0px}.overlay{position:fixed;display:flex;top:0px;z-index:var(--dialog-z-index);left:0px;width:100%;box-sizing:border-box;height:100vh;background-color:rgba(var(--rgb-background--overlay), var(--opacity--soft));backdrop-filter:blur(var(--background-blur--medium))}.dialog{display:flex;width:80%;position:absolute;top:50%;left:50%;margin-right:-50%;box-sizing:border-box;transform:translate(-50%, -50%);box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122)}@media screen and (min-width: 768px){.dialog{width:50%}}@media screen and (min-width: 992px){.dialog{width:33.33333%}}.dialog__container{width:100%;background:#FFFF;border-radius:0px 6px 6px 0px;box-sizing:border-box;padding:var(--dialog__container-padding)}.dialog__container--default{border-radius:6px 6px 6px 6px}.dialog__critical--indicator{box-sizing:border-box;width:12px;border-radius:6px 0px 0px 6px;background-color:var(--dialog__critical--background-color)}.dialog__warning--indicator{width:12px;border-radius:6px 0px 0px 6px;box-sizing:border-box;background-color:var(--dialog__warning--background-color)}.dialog__success--indicator{width:12px;border-radius:6px 0px 0px 6px;box-sizing:border-box;background-color:var(--dialog__success--background-color)}.message{font-size:var(--dialog__body--font-size);font-weight:var(--dialog__body--text-weight--medium);font-family:var(--dialog__body--font-pattern);text-shadow:var(--dialog__body--text-shadow);padding-bottom:var(--dialog__body--padding-bottom);color:var(--dialog__body--color);max-height:30vh;content-visibility:auto;margin-bottom:24px;overflow-y:auto}.changeable__icon{background:var(--dialog__warning--background-color);--ez-icon--color:var(--dialog__icon--color);display:grid;place-items:center;width:26px;height:26px;border-radius:50%}.changeable__icon.critical{background:var(--dialog__critical--background-color)}.title{display:flex;font-family:var(--dialog__title--font-pattern);margin:0;font-weight:var(--dialog__title--weight--large);line-height:0;color:var(--title--primary)}.title__container{display:flex;padding-bottom:var(--dialog__title__container--padding-bottom)}.title__box{display:flex;width:100%;align-items:center;align-self:center}.title__label{padding-left:var(--dialog__title--padding-left)}.title__label--no-icon{padding-left:0}.title-icon--critical{background-color:var(--dialog__critical--background-color)}.title-icon--success{background-color:var(--dialog__success--background-color)}.title-icon--warn{background-color:var(--dialog__warning--background-color)}.btn-close{justify-content:flex-end;align-self:flex-start;align-items:flex-start;display:flex;outline:none;width:10%;border:none;background-color:unset;cursor:pointer}.btn-close::after{content:'';display:flex;background-color:var(--dialog__btn__close--background-color);width:12px;height:12px;-webkit-mask-image:var(--dialog__btn__close__image);mask-image:var(--dialog__btn__close__image)}.title-icon::after{content:'';display:flex;background-color:#FFFF;width:15px;height:15px;-webkit-mask-image:var(--dialog--warning__image);mask-image:var(--dialog--warning__image)}.button-yes-no__container{display:flex;box-sizing:border-box;align-self:center;align-items:center;justify-content:flex-end}.button__cancel{padding-right:var(--dialog__btn__no--padding-right)}.button__confirm{--ez-button--background-color:var(--color--primary);--ez-button--color:var(--color--inverted);--ez-button--hover--background-color:var(--color--primary-600);--ez-button--hover-color:var(--color--inverted)}.button__confirm--danger{--ez-button--background-color:var(--color--alert-error-800, #BD0025);--ez-button--color:var(--color--inverted);--ez-button--hover--background-color:var(--color-alert--error-900, #a10020);--ez-button--hover-color:var(--color--inverted)}.button__confirm--container{display:flex;justify-content:flex-end}.row{width:100%;display:flex;flex-wrap:wrap}.col{display:flex;flex-wrap:wrap;align-self:flex-start;box-sizing:border-box}.col--stretch{align-self:stretch}.col--undefined{width:unset}.col--nowrap{flex-wrap:nowrap}@media screen and (min-width: 320px){.col--sd-1{width:8.33333%}.col--sd-2{width:16.66667%}.col--sd-3{width:25%}.col--sd-4{width:33.33333%}.col--sd-5{width:41.66667%}.col--sd-6{width:50%}.col--sd-7{width:58.33333%}.col--sd-8{width:66.66667%}.col--sd-9{width:75%}.col--sd-10{width:83.33333%}.col--sd-11{width:91.66667%}.col--sd-12{width:100%}}@media screen and (min-width: 480px){.col--pn-1{width:8.33333%}.col--pn-2{width:16.66667%}.col--pn-3{width:25%}.col--pn-4{width:33.33333%}.col--pn-5{width:41.66667%}.col--pn-6{width:50%}.col--pn-7{width:58.33333%}.col--pn-8{width:66.66667%}.col--pn-9{width:75%}.col--pn-10{width:83.33333%}.col--pn-11{width:91.66667%}.col--pn-12{width:100%}}@media screen and (min-width: 768px){.col--tb-1{width:8.33333%}.col--tb-2{width:16.66667%}.col--tb-3{width:25%}.col--tb-4{width:33.33333%}.col--tb-5{width:41.66667%}.col--tb-6{width:50%}.col--tb-7{width:58.33333%}.col--tb-8{width:66.66667%}.col--tb-9{width:75%}.col--tb-10{width:83.33333%}.col--tb-11{width:91.66667%}.col--tb-12{width:100%}}@media screen and (min-width: 992px){.col--md-1{width:8.33333%}.col--md-2{width:16.66667%}.col--md-3{width:25%}.col--md-4{width:33.33333%}.col--md-5{width:41.66667%}.col--md-6{width:50%}.col--md-7{width:58.33333%}.col--md-8{width:66.66667%}.col--md-9{width:75%}.col--md-10{width:83.33333%}.col--md-11{width:91.66667%}.col--md-12{width:100%}}@media screen and (min-width: 1200px){.col--ld-1{width:8.33333%}.col--ld-2{width:16.66667%}.col--ld-3{width:25%}.col--ld-4{width:33.33333%}.col--ld-5{width:41.66667%}.col--ld-6{width:50%}.col--ld-7{width:58.33333%}.col--ld-8{width:66.66667%}.col--ld-9{width:75%}.col--ld-10{width:83.33333%}.col--ld-11{width:91.66667%}.col--ld-12{width:100%}}";
3985
4080
 
3986
4081
  class Message {
@@ -4151,6 +4246,7 @@ const EzDialog$1 = class extends HTMLElement$1 {
4151
4246
  const dialog = this._element.shadowRoot.querySelector('.overlay .dialog');
4152
4247
  if (dialog instanceof HTMLDivElement) {
4153
4248
  dialog.style.outline = 'none';
4249
+ this._lastActiveElement = document.activeElement;
4154
4250
  dialog.focus();
4155
4251
  }
4156
4252
  }
@@ -4163,7 +4259,13 @@ const EzDialog$1 = class extends HTMLElement$1 {
4163
4259
  focusOnPrimaryButton() {
4164
4260
  const btnConfirm = this._element.shadowRoot.querySelector(`#${this.PRIMARY_BUTTON_ID}`);
4165
4261
  const buttonElement = btnConfirm === null || btnConfirm === void 0 ? void 0 : btnConfirm.shadowRoot.querySelector('button');
4166
- buttonElement === null || buttonElement === void 0 ? void 0 : buttonElement.focus();
4262
+ requestAnimationFrame(() => {
4263
+ buttonElement === null || buttonElement === void 0 ? void 0 : buttonElement.focus();
4264
+ });
4265
+ }
4266
+ disconnectedCallback() {
4267
+ FocusResolver.resolveFocus(this._lastActiveElement);
4268
+ this._lastActiveElement = undefined;
4167
4269
  }
4168
4270
  render() {
4169
4271
  if (this.opened && this._currentMessage) {
@@ -4769,7 +4871,7 @@ const FILE_TYPE_ICONS = {
4769
4871
  };
4770
4872
  const DEFAULT_FILE_TYPE_ICON = "generic";
4771
4873
 
4772
- const ezFilterInputCss = ":host{--ez-filter-slot--right--width:70px;display:block;width:100%}.pointerCursor{cursor:pointer}ez-text-input{--ez-text-input__icon--right--width:var(--ez-filter-slot--right--width)}";
4874
+ const ezFilterInputCss = ":host{display:block;width:100%}";
4773
4875
 
4774
4876
  const EzFilterInput$1 = class extends HTMLElement$1 {
4775
4877
  constructor() {
@@ -4779,19 +4881,15 @@ const EzFilterInput$1 = class extends HTMLElement$1 {
4779
4881
  this.ezChange = createEvent(this, "ezChange", 7);
4780
4882
  this.ezSearching = createEvent(this, "ezSearching", 7);
4781
4883
  this.ezFocusIn = createEvent(this, "ezFocusIn", 7);
4782
- this.ezIconClick = createEvent(this, "ezIconClick", 7);
4783
4884
  this._searchingText = "";
4784
4885
  this.handleFocus = () => {
4785
- this.ezFocusIn.emit();
4786
- if (!this.asyncSearch) {
4787
- return;
4788
- }
4789
4886
  if (this._searchingText === "") {
4790
4887
  this._textInput.value = "";
4791
4888
  }
4792
4889
  else {
4793
4890
  this._textInput.value = this._searchingText;
4794
4891
  }
4892
+ this.ezFocusIn.emit();
4795
4893
  };
4796
4894
  this.label = undefined;
4797
4895
  this.value = undefined;
@@ -4801,7 +4899,7 @@ const EzFilterInput$1 = class extends HTMLElement$1 {
4801
4899
  this.mode = "regular";
4802
4900
  this.asyncSearch = false;
4803
4901
  this.canShowError = true;
4804
- this.enabledIconClick = false;
4902
+ this.autoFocus = false;
4805
4903
  }
4806
4904
  observeLabel() {
4807
4905
  if (this._textInput) {
@@ -4822,8 +4920,8 @@ const EzFilterInput$1 = class extends HTMLElement$1 {
4822
4920
  /**
4823
4921
  * Aplica o foco no campo.
4824
4922
  */
4825
- async setFocus() {
4826
- this._textInput.setFocus();
4923
+ async setFocus(options) {
4924
+ this._textInput.setFocus(options);
4827
4925
  }
4828
4926
  /**
4829
4927
  * Remove o foco do campo.
@@ -4863,14 +4961,6 @@ const EzFilterInput$1 = class extends HTMLElement$1 {
4863
4961
  this._textInput.value = this.value;
4864
4962
  }
4865
4963
  }
4866
- /**
4867
- * Método usado para emitir o evento de clique no ícone
4868
- */
4869
- async handleIconClick() {
4870
- if (this.enabledIconClick) {
4871
- this.ezIconClick.emit(true);
4872
- }
4873
- }
4874
4964
  handleChange(evt) {
4875
4965
  const newValue = evt.detail;
4876
4966
  this.errorMessage = "";
@@ -4884,10 +4974,15 @@ const EzFilterInput$1 = class extends HTMLElement$1 {
4884
4974
  }
4885
4975
  componentDidLoad() {
4886
4976
  CSSVarsUtils.applyVarsTextInput(this._elem, this._textInput);
4977
+ if (this.autoFocus) {
4978
+ requestAnimationFrame(() => {
4979
+ this.setFocus({ selectText: true });
4980
+ });
4981
+ }
4887
4982
  }
4888
4983
  render() {
4889
4984
  ElementIDUtils.addIDInfoIfNotExists(this._elem, 'input');
4890
- return (h("ez-text-input", { "data-element-id": ElementIDUtils.getInternalIDInfo("textInput"), ref: elem => this._textInput = elem, label: this.label, onEzChange: evt => this.handleChange(evt), value: this.value, enabled: this.enabled, errorMessage: this.errorMessage, restrict: this.restrict, mode: this.mode, onFocusin: this.handleFocus, canShowError: this.canShowError }, h("ez-icon", { slot: "leftIcon", iconName: "search", onClick: () => this.handleIconClick(), class: this.enabledIconClick ? 'pointerCursor' : '' }), h("slot", { name: "right", slot: "rightIcon" })));
4985
+ return (h("ez-text-input", { "data-element-id": ElementIDUtils.getInternalIDInfo("textInput"), ref: elem => this._textInput = elem, label: this.label, onEzChange: evt => this.handleChange(evt), value: this.value, enabled: this.enabled, errorMessage: this.errorMessage, restrict: this.restrict, mode: this.mode, onFocusin: this.handleFocus, canShowError: this.canShowError }, h("ez-icon", { slot: "leftIcon", iconName: "search" })));
4891
4986
  }
4892
4987
  get _elem() { return this; }
4893
4988
  static get watchers() { return {
@@ -124522,12 +124617,14 @@ class DataSource {
124522
124617
  this._controller.clearInvalidCells();
124523
124618
  this.handleRefreshOrReload(action);
124524
124619
  this._controller.processContinuousInsert();
124620
+ this._controller.showSelectionColumn();
124525
124621
  }
124526
124622
  handleEditionCanceled(action) {
124527
124623
  if (this._options.enableGridInsert) {
124528
124624
  this._controller.processEditionCanceled();
124529
124625
  }
124530
124626
  this.handleRefreshOrReload(action);
124627
+ this._controller.showSelectionColumn();
124531
124628
  }
124532
124629
  handleSavingCanceled(action) {
124533
124630
  var _a, _b, _c, _d;
@@ -124582,6 +124679,7 @@ class DataSource {
124582
124679
  }
124583
124680
  handleRecordsAdded() {
124584
124681
  if (this._options.enableGridInsert) {
124682
+ this._controller.hideSelectionColumn();
124585
124683
  this._controller.refresh();
124586
124684
  this.focusOnNewRecord();
124587
124685
  }
@@ -125008,12 +125106,14 @@ const buildEditorMetadata = (descriptor, eGridCell, dataUnit, editionManager) =>
125008
125106
  const MINIMIUM_WIDTH_TEXTAREA = 210;
125009
125107
  const PADDING_VALUE_TEXTAREA = 12;
125010
125108
  const buildTextInput = ({ name, contextName }) => {
125011
- return HTMLBuilder.parseElement(`<ez-text-input
125109
+ const textInput = HTMLBuilder.parseElement(`<ez-text-input
125012
125110
  class="ez-grid grid_editor"
125013
125111
  data-field-name=${name}
125014
125112
  data-context-name=${contextName}
125015
125113
  mode="slim"
125016
125114
  />`);
125115
+ textInput.autoFocus = true;
125116
+ return textInput;
125017
125117
  };
125018
125118
  const buildTextAreaInput = ({ eGridCell, editionManager }) => {
125019
125119
  const element = HTMLBuilder.parseElement(`<ez-text-area
@@ -125023,6 +125123,7 @@ const buildTextAreaInput = ({ eGridCell, editionManager }) => {
125023
125123
  element.addEventListener('keydown', event => handlePressEnterEvent(event, element, editionManager));
125024
125124
  setElementInitialWidth(eGridCell, element);
125025
125125
  element.isPopUp = true;
125126
+ element.autoFocus = true;
125026
125127
  return element;
125027
125128
  };
125028
125129
  function setElementInitialWidth(eGridCell, element) {
@@ -125054,6 +125155,7 @@ const buildDate = () => {
125054
125155
  data-is-fixed="true"
125055
125156
  />`);
125056
125157
  dateInput.valueGetter = () => dateInput.getValueAsync();
125158
+ dateInput.autoFocus = true;
125057
125159
  return dateInput;
125058
125160
  };
125059
125161
  const buildTime = ({ readOnly }) => {
@@ -125104,6 +125206,7 @@ function buildNumeric(readOnly, precision, prettyPrecision) {
125104
125206
  mode="slim"
125105
125207
  />`);
125106
125208
  input.valueGetter = () => input.getValueAsync();
125209
+ input.autoFocus = true;
125107
125210
  return input;
125108
125211
  }
125109
125212
 
@@ -125137,6 +125240,7 @@ const buildComboBox = ({ required, props, eGridCell }) => {
125137
125240
  combo.options = options;
125138
125241
  combo.stopPropagateEnterKeyEvent = true;
125139
125242
  combo.listOptionsPosition = { verticalPosition: 29, bottomLimit: getViewPortHeight(eGridCell), hardPosition: true };
125243
+ combo.autoFocus = true;
125140
125244
  return combo;
125141
125245
  };
125142
125246
  const buildSwitch = (fieldMetadata) => {
@@ -125169,6 +125273,7 @@ const buildSearch = ({ name, required, readOnly, eGridCell, dataUnit }) => {
125169
125273
  ezSearch.suppressPreLoad = true;
125170
125274
  ezSearch.listOptionsPosition = { verticalPosition: 29, bottomLimit: getViewPortHeight(eGridCell), hardPosition: true };
125171
125275
  ezSearch.stopPropagateEnterKeyEvent = true;
125276
+ ezSearch.autoFocus = true;
125172
125277
  ezSearch.valueGetter = () => ezSearch.getValueAsync();
125173
125278
  return ezSearch;
125174
125279
  };
@@ -125294,6 +125399,12 @@ class EzGridCustomCellEditor extends EzCellEditor {
125294
125399
  return this._customGui.value;
125295
125400
  return this._value;
125296
125401
  }
125402
+ afterGuiAttached() {
125403
+ this.focusIn();
125404
+ }
125405
+ focusIn() {
125406
+ FocusResolver.resolveFocus(this._customGui);
125407
+ }
125297
125408
  }
125298
125409
 
125299
125410
  class EzCellRender {
@@ -125375,11 +125486,11 @@ class EzGridCustomCellRender extends EzCellRender {
125375
125486
  }
125376
125487
 
125377
125488
  class GridEditionManager {
125378
- constructor(dataUnit, useEnterLikeTab, recordsValidator, editionIsDisabled, customEditors, customRenders, enableContinuousInsert, enableGridInsert) {
125489
+ constructor(dataUnit, useEnterLikeTab, recordsValidator, editionIsDisabled, customEditors, customRenders, enableContinuousInsert, enableGridInsert, lockerId) {
125379
125490
  this._dataUnit = dataUnit;
125380
125491
  this._recordValidationProcessor = new RecordValidationProcessor(this._dataUnit, {
125381
125492
  getRequiredFields: () => this.getRequiredFields(),
125382
- markAsInvalid: (invalidField, recordId) => { this.setInvalidCell(invalidField, recordId); },
125493
+ markAsInvalid: (invalidField, recordId) => { this.pushInvalidCell(invalidField, recordId); },
125383
125494
  getMessageForField: () => null,
125384
125495
  }, recordsValidator);
125385
125496
  this._useEnterLikeTab = useEnterLikeTab;
@@ -125388,16 +125499,34 @@ class GridEditionManager {
125388
125499
  this._enableGridInsert = enableGridInsert;
125389
125500
  this._customEditors = customEditors;
125390
125501
  this._customRenders = customRenders;
125502
+ this._lockerId = lockerId;
125391
125503
  }
125392
125504
  configureGrid(options) {
125393
125505
  this._gridOptions = options;
125394
125506
  options.readOnlyEdit = true;
125395
125507
  options.onCellEditRequest = evt => this.onCellEditRequest(evt);
125508
+ options.onCellEditingStarted = async (evt) => {
125509
+ var _a;
125510
+ if (this._dataUnit.hasNewRecord()) {
125511
+ this.handleCellEditingStartedRowAdd(evt);
125512
+ }
125513
+ else {
125514
+ this._lastCellOpened = this._lastCellEdited = { rowIndex: evt.rowIndex, column: evt.column, rowPinned: undefined };
125515
+ }
125516
+ (_a = this._currentEditLock) === null || _a === void 0 ? void 0 : _a.call(this);
125517
+ this._currentEditLock = LockManager.lock(this._lockerId, LockManagerOperation.TASKBAR_CLICK);
125518
+ };
125519
+ options.onCellEditingStopped = () => {
125520
+ var _a;
125521
+ (_a = this._currentEditLock) === null || _a === void 0 ? void 0 : _a.call(this);
125522
+ };
125396
125523
  options.onCellKeyDown = evt => {
125397
125524
  if (evt.event && evt["column"]) {
125398
125525
  this.onCellKeyDown(evt);
125399
125526
  }
125400
125527
  };
125528
+ options.isRowSelectable = (node) => this.isSelectableRow(node);
125529
+ options.onCellFocused = () => this.lockFocusWhenAddRow();
125401
125530
  return options;
125402
125531
  }
125403
125532
  updateCurrentEditorGuiValue(updatedRowValue) {
@@ -125410,37 +125539,82 @@ class GridEditionManager {
125410
125539
  const value = updatedRowValue[fieldName];
125411
125540
  currentEditor.setGuiValue(value);
125412
125541
  }
125542
+ lockFocusWhenAddRow() {
125543
+ var _a, _b, _c, _d;
125544
+ const api = this._gridOptions.api;
125545
+ const newFocusCell = api.getFocusedCell();
125546
+ const rowIndex = newFocusCell === null || newFocusCell === void 0 ? void 0 : newFocusCell.rowIndex;
125547
+ const recordId = (_b = (_a = this._dataUnit.getAddedRecords()) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.__record__id__;
125548
+ const rowNode = api.getRowNode(recordId);
125549
+ if (!this._dataUnit.hasNewRecord() || rowIndex == (rowNode === null || rowNode === void 0 ? void 0 : rowNode.rowIndex)) {
125550
+ return;
125551
+ }
125552
+ const lastCell = (_d = (_c = this._lastCellOpened) !== null && _c !== void 0 ? _c : this._lastCellEdited) !== null && _d !== void 0 ? _d : this._lastCellClicked;
125553
+ if ((lastCell === null || lastCell === void 0 ? void 0 : lastCell.rowIndex) < (rowNode === null || rowNode === void 0 ? void 0 : rowNode.rowIndex)) {
125554
+ return;
125555
+ }
125556
+ api.clearFocusedCell();
125557
+ if (!lastCell || (rowNode === null || rowNode === void 0 ? void 0 : rowNode.rowIndex) == undefined) {
125558
+ return;
125559
+ }
125560
+ lastCell.rowIndex = rowNode === null || rowNode === void 0 ? void 0 : rowNode.rowIndex;
125561
+ this.focusOnCell(lastCell);
125562
+ }
125563
+ handleCellEditingStartedRowAdd(evt) {
125564
+ var _a, _b, _c, _d, _e;
125565
+ const nodeId = (_a = evt.node) === null || _a === void 0 ? void 0 : _a.id;
125566
+ const addedRecordId = (_c = (_b = this._dataUnit.getAddedRecords()) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.__record__id__;
125567
+ if (nodeId == addedRecordId) {
125568
+ this._lastCellOpened = this._lastCellEdited = { rowIndex: evt.rowIndex, column: evt === null || evt === void 0 ? void 0 : evt.column, rowPinned: undefined };
125569
+ return;
125570
+ }
125571
+ evt.api.stopEditing();
125572
+ const rowIndex = (_d = evt.api.getRowNode(addedRecordId)) === null || _d === void 0 ? void 0 : _d.rowIndex;
125573
+ this._lastCellOpened = this._lastCellEdited = { rowIndex: rowIndex, column: (_e = this._lastCellEdited) === null || _e === void 0 ? void 0 : _e.column, rowPinned: undefined };
125574
+ }
125575
+ isSelectableRow(node) {
125576
+ if (!this._dataUnit.hasNewRecord()) {
125577
+ return true;
125578
+ }
125579
+ if (!this._dataUnit.isNewRecord(node.id)) {
125580
+ return false;
125581
+ }
125582
+ return true;
125583
+ }
125413
125584
  canContinuousInsert() {
125414
125585
  var _a;
125415
125586
  return this._enableContinuousInsert && (this._dataUnit.records.length - 1) === ((_a = this._lastCellEdited) === null || _a === void 0 ? void 0 : _a.rowIndex);
125416
125587
  }
125417
- proceedAutoSave() {
125588
+ async proceedAutoSave() {
125418
125589
  if (!this._dataUnit.isDirty()) {
125419
125590
  this.saveSuccess();
125420
- return;
125591
+ return true;
125421
125592
  }
125422
- if (!this._isGridEdition) {
125423
- return;
125593
+ const currentRecord = this._dataUnit.getSelectedRecord();
125594
+ if (currentRecord == undefined) {
125595
+ return true;
125424
125596
  }
125425
- const currentRercord = this._dataUnit.getSelectedRecord();
125426
- if (currentRercord == undefined) {
125427
- return;
125597
+ this.clearInvalidCells(false);
125598
+ try {
125599
+ await this._recordValidationProcessor.validate(true);
125600
+ await this.saveDataUnit();
125601
+ this.saveSuccess();
125602
+ return true;
125603
+ }
125604
+ catch (reason) {
125605
+ this.saveFail(reason);
125606
+ return false;
125428
125607
  }
125429
- this._invalidCell = undefined;
125430
- this._recordValidationProcessor
125431
- .validate(true)
125432
- .then(() => {
125433
- this._dataUnit.saveData()
125434
- .then(() => this.saveSuccess())
125435
- .catch(reason => this.saveFail(reason));
125436
- })
125437
- .catch(reason => this.saveFail(reason));
125608
+ }
125609
+ async saveDataUnit() {
125610
+ await this._dataUnit.saveData();
125611
+ return true;
125438
125612
  }
125439
125613
  async recordValidate() {
125440
125614
  if (!this._dataUnit.isDirty())
125441
125615
  return;
125442
125616
  try {
125443
- this._invalidCell = undefined;
125617
+ this.clearInvalidCells(false);
125444
125618
  await this._recordValidationProcessor.validate(false);
125445
125619
  }
125446
125620
  catch (error) { }
@@ -125468,6 +125642,13 @@ class GridEditionManager {
125468
125642
  return { ezCellEditor: EzCellEditor };
125469
125643
  }
125470
125644
  verifyClickToEdition(api, cellClicked) {
125645
+ var _a, _b;
125646
+ const selectedRecordID = (_a = this._dataUnit.getSelectedRecord()) === null || _a === void 0 ? void 0 : _a.__record__id__;
125647
+ if (this._dataUnit.hasNewRecord() && selectedRecordID) {
125648
+ const dataUnitRecordIndex = (_b = api.getRowNode(selectedRecordID)) === null || _b === void 0 ? void 0 : _b.rowIndex;
125649
+ if (dataUnitRecordIndex != cellClicked.rowIndex)
125650
+ return;
125651
+ }
125471
125652
  if (this.isSecondClick(cellClicked)) {
125472
125653
  api.startEditingCell({ rowIndex: cellClicked.rowIndex, colKey: cellClicked.column.getColId() });
125473
125654
  }
@@ -125477,6 +125658,9 @@ class GridEditionManager {
125477
125658
  col.cellEditor = 'ezCellEditor';
125478
125659
  col.editable = params => this.canEdit(params);
125479
125660
  col.suppressKeyboardEvent = (params) => {
125661
+ if (params.event.key === KeyCode.ESCAPE && params.editing) {
125662
+ return this._dataUnit.isDirty();
125663
+ }
125480
125664
  return params.event.key === KeyCode.ENTER;
125481
125665
  };
125482
125666
  col.cellEditorSelector = (params) => {
@@ -125506,10 +125690,21 @@ class GridEditionManager {
125506
125690
  return col;
125507
125691
  }
125508
125692
  getRequiredFields() {
125509
- return this._gridOptions.columnApi.getAllDisplayedColumns().filter(c => {
125510
- const fieldDefinition = this._dataUnit.getField(c.getColId());
125511
- return fieldDefinition && fieldDefinition.required;
125512
- }).map(c => c.getColId());
125693
+ const formRequiredFields = this.getFormRequiredFields();
125694
+ return this._gridOptions.columnApi.getAllDisplayedColumns()
125695
+ .filter(column => {
125696
+ const fieldDefinition = this._dataUnit.getField(column.getColId());
125697
+ return (fieldDefinition && fieldDefinition.required) || formRequiredFields.includes(column.getColId());
125698
+ })
125699
+ .map(column => column.getColId());
125700
+ }
125701
+ getFormRequiredFields() {
125702
+ const formRequiredFields = [];
125703
+ const dataBinders = DataBinder.getDataBindersByDataUnit(this._dataUnit);
125704
+ dataBinders.forEach(dataBinder => {
125705
+ formRequiredFields.push(...dataBinder.getFormRequiredFields());
125706
+ });
125707
+ return formRequiredFields;
125513
125708
  }
125514
125709
  saveSuccess() {
125515
125710
  var _a;
@@ -125522,10 +125717,11 @@ class GridEditionManager {
125522
125717
  this._isGridEdition = false;
125523
125718
  }
125524
125719
  saveFail(reason) {
125525
- this.focusOnCell(this._lastCellEdited);
125720
+ var _a;
125721
+ this.focusOnCell((_a = this._lastCellOpened) !== null && _a !== void 0 ? _a : this._lastCellEdited);
125526
125722
  this._isGridEdition = false;
125527
125723
  if (reason) {
125528
- Promise.reject(reason);
125724
+ throw reason;
125529
125725
  }
125530
125726
  }
125531
125727
  focusOnCell(cell) {
@@ -125590,6 +125786,9 @@ class GridEditionManager {
125590
125786
  this.moveEditionVertically(api, 1);
125591
125787
  }
125592
125788
  moveEditionVertically(api, offset) {
125789
+ if (this._dataUnit.hasNewRecord() && this._isGridEdition) {
125790
+ return;
125791
+ }
125593
125792
  const editionCell = api.getEditingCells()[0];
125594
125793
  if (!editionCell) {
125595
125794
  return;
@@ -125634,41 +125833,66 @@ class GridEditionManager {
125634
125833
  return true;
125635
125834
  }
125636
125835
  onCellEditRequest(event) {
125637
- const fieldName = event.colDef.field;
125836
+ var _a;
125638
125837
  const value = event.newValue;
125639
- if (event.oldValue != value) {
125640
- if (value instanceof Promise) {
125641
- const fieldDescriptor = this._dataUnit.getField(event.colDef.colId);
125642
- event.node.setData(Object.assign(Object.assign({}, event.data), { [fieldName]: (fieldDescriptor === null || fieldDescriptor === void 0 ? void 0 : fieldDescriptor.userInterface) === UserInterface.SEARCH ? value : event.oldValue }));
125643
- value.then(resolved => event.node.setData(Object.assign(Object.assign({}, event.data), { [fieldName]: resolved })));
125644
- }
125645
- else {
125646
- event.node.setData(Object.assign(Object.assign({}, event.data), { [fieldName]: value }));
125647
- }
125838
+ if (event.oldValue == value) {
125839
+ (_a = this._currentEditLock) === null || _a === void 0 ? void 0 : _a.call(this);
125840
+ return;
125841
+ }
125842
+ if (value instanceof Promise) {
125843
+ this.handlePromiseValue(event, value);
125844
+ return;
125845
+ }
125846
+ this.updateCellValue(event, value);
125847
+ }
125848
+ async handlePromiseValue(event, value) {
125849
+ const fieldName = event.colDef.field;
125850
+ const fieldDescriptor = this._dataUnit.getField(event.colDef.colId);
125851
+ const initialValue = (fieldDescriptor === null || fieldDescriptor === void 0 ? void 0 : fieldDescriptor.userInterface) === UserInterface.SEARCH ? value : event.oldValue;
125852
+ event.node.setData(Object.assign(Object.assign({}, event.data), { [fieldName]: initialValue }));
125853
+ const resolved = await value;
125854
+ return this.updateCellValue(event, resolved);
125855
+ }
125856
+ updateCellValue(event, newValue) {
125857
+ var _a;
125858
+ const fieldName = event.colDef.field;
125859
+ event.node.setData(Object.assign(Object.assign({}, event.data), { [fieldName]: newValue }));
125860
+ (_a = this._currentEditLock) === null || _a === void 0 ? void 0 : _a.call(this);
125861
+ if (event.oldValue !== newValue) {
125648
125862
  this._isGridEdition = true;
125649
- this._dataUnit.setFieldValue(fieldName, value, [event.data.__record__id__], { suppressCreateNewRecord: true });
125863
+ this._dataUnit.setFieldValue(fieldName, newValue, [event.data.__record__id__], { suppressCreateNewRecord: true });
125650
125864
  this._lastCellEdited = { rowIndex: event.rowIndex, column: event.column, rowPinned: undefined };
125651
125865
  }
125652
125866
  }
125653
125867
  setCellEditors(customEditors) {
125868
+ var _a, _b;
125654
125869
  this._customEditors = customEditors;
125870
+ if (!customEditors.has((_b = (_a = this._lastCellOpened) === null || _a === void 0 ? void 0 : _a.column) === null || _b === void 0 ? void 0 : _b.getColId()))
125871
+ return;
125872
+ this._gridOptions.api.stopEditing();
125873
+ window.requestAnimationFrame(() => this.focusOnCell(this._lastCellOpened));
125655
125874
  }
125656
125875
  setCellRenders(customRenders) {
125657
125876
  this._customRenders = customRenders;
125658
125877
  }
125659
- setInvalidCell(invalidCell, recordId) {
125660
- this._invalidCell = { field: invalidCell, recordId };
125878
+ pushInvalidCell(invalidField, recordId) {
125879
+ this._invalidCells.push({ field: invalidField, recordId });
125880
+ this._nextInvalidCell = this._invalidCells[0];
125661
125881
  }
125662
- getInvalidCell() {
125663
- return this._invalidCell;
125882
+ getInvalidCells() {
125883
+ return this._invalidCells;
125664
125884
  }
125665
- processContinuousInsert() {
125885
+ getNextInvalidCell() {
125886
+ return this._nextInvalidCell;
125887
+ }
125888
+ async processContinuousInsert() {
125666
125889
  if (!this.canContinuousInsert())
125667
125890
  return;
125668
125891
  this._dataUnit.addRecord();
125669
125892
  }
125670
125893
  clearInvalidCells(stopEdition) {
125671
- this._invalidCell = undefined;
125894
+ this._invalidCells = [];
125895
+ this._nextInvalidCell = undefined;
125672
125896
  if (stopEdition) {
125673
125897
  this._isGridEdition = false;
125674
125898
  }
@@ -125679,10 +125903,17 @@ class GridEditionManager {
125679
125903
  hasInvalidField(fieldName, recordId) {
125680
125904
  if (!this.hasInvalidCell())
125681
125905
  return false;
125682
- return this._invalidCell.field.name === fieldName && this._invalidCell.recordId === recordId;
125906
+ this._nextInvalidCell = this._invalidCells[0];
125907
+ const containsFieldName = this._nextInvalidCell.field.name === fieldName;
125908
+ const containsRecordId = this._nextInvalidCell.recordId === recordId;
125909
+ return containsFieldName && containsRecordId;
125683
125910
  }
125684
125911
  hasInvalidCell() {
125685
- if (!this._invalidCell || !this._invalidCell.field || !this._invalidCell.recordId)
125912
+ var _a, _b, _c;
125913
+ const hasInvalidCell = ((_a = this._invalidCells) === null || _a === void 0 ? void 0 : _a.length) > 0;
125914
+ const hasField = (_b = this._invalidCells) === null || _b === void 0 ? void 0 : _b.filter(invalidCell => { });
125915
+ const hasRecordId = (_c = this._invalidCells) === null || _c === void 0 ? void 0 : _c.filter(invalidCell => { });
125916
+ if (!hasInvalidCell || !hasField || !hasRecordId)
125686
125917
  return false;
125687
125918
  return true;
125688
125919
  }
@@ -125809,6 +126040,7 @@ class AgGridController {
125809
126040
  var _a;
125810
126041
  this._options = options;
125811
126042
  this._container = container;
126043
+ const lockerId = options.enableLockManger ? LockManager.addLockManagerCtxId(this._container) : null;
125812
126044
  if (this._grid === undefined) {
125813
126045
  LicenseManager.setLicenseKey(ApplicationContext.getContextValue('__EZUI__GRID_LICENSE__'));
125814
126046
  this._columnStateChangeCallback = options.onColumnStateChange;
@@ -125816,7 +126048,7 @@ class AgGridController {
125816
126048
  this._doubleClickCallBack = options.onDoubleClick;
125817
126049
  this._multipleSelection = options.allowMultipleSelection;
125818
126050
  this._dataUnit = options.dataUnit;
125819
- this._editionManager = new GridEditionManager(this._dataUnit, options.useEnterLikeTab, options.recordsValidator, options.editionIsDisabled, options.customEditors || this._customEditors, options.customRenders || this._customRenders, options.enableContinuousInsert, options.enableGridInsert);
126051
+ this._editionManager = new GridEditionManager(this._dataUnit, options.useEnterLikeTab, options.recordsValidator, options.editionIsDisabled, options.customEditors || this._customEditors, options.customRenders || this._customRenders, options.enableContinuousInsert, options.enableGridInsert, lockerId);
125820
126052
  this._statusResolver = options.statusResolver;
125821
126053
  if (this._dataUnit) {
125822
126054
  this._dataUnit.sortingProvider = this;
@@ -126179,7 +126411,7 @@ class AgGridController {
126179
126411
  r.setData(data);
126180
126412
  });
126181
126413
  this._gridOptions.api.refreshCells({ force: true });
126182
- const invalidCell = this._editionManager.getInvalidCell();
126414
+ const invalidCell = this._editionManager.getNextInvalidCell();
126183
126415
  if (invalidCell) {
126184
126416
  const rowNode = this._gridOptions.api.getRowNode(invalidCell.recordId);
126185
126417
  if (rowNode && invalidCell.field) {
@@ -126199,6 +126431,7 @@ class AgGridController {
126199
126431
  if (this._grid === undefined) {
126200
126432
  throw new Error('Erro interno: Grid ainda não inicializado.');
126201
126433
  }
126434
+ this._gridOptions.api.clearRangeSelection();
126202
126435
  this._gridOptions.api.refreshServerSide({ purge: true });
126203
126436
  this._options.onRefresh();
126204
126437
  if (scrollToSelectedRow)
@@ -126221,12 +126454,15 @@ class AgGridController {
126221
126454
  }
126222
126455
  setFocus() {
126223
126456
  var _a, _b;
126224
- if ((_b = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.records) === null || _b === void 0 ? void 0 : _b.length) {
126225
- this.setFocusFirstRow();
126226
- }
126227
- else {
126457
+ if (!((_b = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.records) === null || _b === void 0 ? void 0 : _b.length)) {
126228
126458
  this.focusOnGridContainer();
126459
+ return;
126460
+ }
126461
+ if (!this._dataUnit.getSelectedRecord()) {
126462
+ this.setFocusFirstRow();
126463
+ return;
126229
126464
  }
126465
+ this.syncSelectWithDataUnit();
126230
126466
  }
126231
126467
  setAutoFocus(autoFocus) {
126232
126468
  var _a;
@@ -126270,6 +126506,23 @@ class AgGridController {
126270
126506
  this.startEditionOnRowByIndex(newRowIndex);
126271
126507
  }
126272
126508
  }
126509
+ syncSelectWithDataUnit() {
126510
+ const rowNode = this._gridOptions.api.getRowNode(this._dataUnit.getSelectedRecord().__record__id__);
126511
+ if ((rowNode === null || rowNode === void 0 ? void 0 : rowNode.rowIndex) < 0)
126512
+ return;
126513
+ const rowRange = this._gridOptions.api.getCellRanges().find(row => row.startRow.rowIndex === rowNode.rowIndex);
126514
+ if ((rowRange === null || rowRange === void 0 ? void 0 : rowRange.columns.length) > 0) {
126515
+ if (this._dataUnit.hasNewRecord()) {
126516
+ this.startEdition(rowNode.rowIndex, rowRange.columns[0]);
126517
+ return;
126518
+ }
126519
+ this.focusByCollAndRow(rowRange.columns[0], rowNode.rowIndex);
126520
+ this._gridOptions.api.addCellRange({ rowStartIndex: rowNode.rowIndex, rowEndIndex: rowNode.rowIndex, columns: rowRange.columns });
126521
+ return;
126522
+ }
126523
+ this._gridOptions.api.clearRangeSelection();
126524
+ this.setFocusOnRow(rowNode.rowIndex);
126525
+ }
126273
126526
  startEdition(rowIndex, firstCol) {
126274
126527
  this._gridOptions.api.clearRangeSelection();
126275
126528
  this._gridOptions.api.addCellRange({ rowStartIndex: rowIndex, rowEndIndex: rowIndex, columns: [firstCol] });
@@ -126300,6 +126553,7 @@ class AgGridController {
126300
126553
  let displayedColumns = this._gridOptions.columnApi.getAllDisplayedColumns();
126301
126554
  let firstColl = displayedColumns.find(column => column.getColDef().headerName !== '');
126302
126555
  this.focusByCollAndRow(firstColl, rowIndex);
126556
+ this._gridOptions.api.addCellRange({ rowStartIndex: rowIndex, rowEndIndex: rowIndex, columns: [firstColl] });
126303
126557
  }
126304
126558
  focusByCollAndRow(firstCell, rowIndex) {
126305
126559
  this._gridOptions.api.ensureColumnVisible(firstCell);
@@ -126339,6 +126593,14 @@ class AgGridController {
126339
126593
  this._gridOptions.api.setColumnDefs(this._colDefs);
126340
126594
  }
126341
126595
  }
126596
+ hideSelectionColumn() {
126597
+ var _a, _b;
126598
+ (_b = (_a = this._gridOptions) === null || _a === void 0 ? void 0 : _a.columnApi) === null || _b === void 0 ? void 0 : _b.setColumnVisible(this.CHECK_BOX_COL_ID, false);
126599
+ }
126600
+ showSelectionColumn() {
126601
+ var _a, _b;
126602
+ (_b = (_a = this._gridOptions) === null || _a === void 0 ? void 0 : _a.columnApi) === null || _b === void 0 ? void 0 : _b.setColumnVisible(this.CHECK_BOX_COL_ID, true);
126603
+ }
126342
126604
  getColumnsDef() {
126343
126605
  if (this._grid === undefined) {
126344
126606
  throw new Error('Erro interno: Grid ainda não inicializado.');
@@ -126623,18 +126885,24 @@ class AgGridController {
126623
126885
  return false;
126624
126886
  }
126625
126887
  onSelectionChange(event) {
126888
+ var _a, _b;
126889
+ const selectedRowId = (_b = (_a = event.api.getSelectedNodes()) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.id;
126890
+ const isNewRecord = this._dataUnit.isNewRecord(selectedRowId);
126626
126891
  if (!this._selectionChangeCallback)
126627
126892
  return;
126628
126893
  clearTimeout(this._selectionChangeDeboucing);
126629
- this._selectionChangeDeboucing = window.setTimeout(() => {
126630
- this.handleExecuteProceedAutosave();
126894
+ this._selectionChangeDeboucing = window.setTimeout(async () => {
126895
+ const saveSuccess = (!isNewRecord && selectedRowId) ? await this.handleExecuteProceedAutosave() : true;
126896
+ if (!saveSuccess)
126897
+ return;
126631
126898
  this.processBuildSelectionChangeCallback(event);
126632
126899
  }, 0);
126633
126900
  }
126634
- handleExecuteProceedAutosave() {
126901
+ async handleExecuteProceedAutosave() {
126635
126902
  if (this._gridShowDom) {
126636
- this._editionManager.proceedAutoSave();
126903
+ return await this._editionManager.proceedAutoSave();
126637
126904
  }
126905
+ return true;
126638
126906
  }
126639
126907
  processBuildSelectionChangeCallback(event) {
126640
126908
  if (this._dataUnit) {
@@ -126659,7 +126927,7 @@ class AgGridController {
126659
126927
  });
126660
126928
  }
126661
126929
  onRowDoubleClick(evt) {
126662
- if (this._doubleClickCallBack) {
126930
+ if (this._doubleClickCallBack && (!this._options.enableGridInsert || !this._dataUnit.hasNewRecord())) {
126663
126931
  this._doubleClickCallBack(evt.data);
126664
126932
  }
126665
126933
  }
@@ -126675,13 +126943,11 @@ class AgGridController {
126675
126943
  }
126676
126944
  }
126677
126945
  setCellEditors(customEditors) {
126678
- var _a;
126679
126946
  if (!this._editionManager) {
126680
126947
  this._customEditors = customEditors;
126681
126948
  return;
126682
126949
  }
126683
126950
  this._editionManager.setCellEditors(customEditors);
126684
- (_a = this._gridOptions) === null || _a === void 0 ? void 0 : _a.api.redrawRows();
126685
126951
  }
126686
126952
  setCellRenders(customRenders) {
126687
126953
  var _a;
@@ -126704,6 +126970,9 @@ class AgGridController {
126704
126970
  destroy() {
126705
126971
  this.observer.disconnect();
126706
126972
  }
126973
+ stopEdit() {
126974
+ this._gridOptions.api.stopEditing();
126975
+ }
126707
126976
  }
126708
126977
 
126709
126978
  function enableSelectAll(total) {
@@ -126954,6 +127223,7 @@ const EzGrid$1 = class extends HTMLElement$1 {
126954
127223
  this.paginationCounterMode = 'show';
126955
127224
  this.enableGridInsert = false;
126956
127225
  this.enableContinuousInsert = true;
127226
+ this.enableLockManger = true;
126957
127227
  }
126958
127228
  /**
126959
127229
  * Aplica a definição de colunas.
@@ -127078,6 +127348,18 @@ const EzGrid$1 = class extends HTMLElement$1 {
127078
127348
  async setFocus() {
127079
127349
  this._gridController.setFocus();
127080
127350
  }
127351
+ /**
127352
+ * Para a edição da grade.
127353
+ */
127354
+ async stopEdit() {
127355
+ this._gridController.stopEdit();
127356
+ }
127357
+ async checkStopEditOutsideClick(event) {
127358
+ var _a;
127359
+ if ((_a = this._container) === null || _a === void 0 ? void 0 : _a.contains(event.target))
127360
+ return;
127361
+ this._gridController.stopEdit();
127362
+ }
127081
127363
  observeConfig(config) {
127082
127364
  this._gridController.setColumnsState(config === null || config === void 0 ? void 0 : config.columns);
127083
127365
  }
@@ -127103,6 +127385,9 @@ const EzGrid$1 = class extends HTMLElement$1 {
127103
127385
  this.setSelection(this.dataUnit.getSelectionInfo());
127104
127386
  }
127105
127387
  }
127388
+ async handleClick(event) {
127389
+ this.checkStopEditOutsideClick(event);
127390
+ }
127106
127391
  setSelection(selectionInfo) {
127107
127392
  var _a;
127108
127393
  this._selectionCount = (_a = selectionInfo === null || selectionInfo === void 0 ? void 0 : selectionInfo.length) !== null && _a !== void 0 ? _a : 0;
@@ -127299,7 +127584,8 @@ const EzGrid$1 = class extends HTMLElement$1 {
127299
127584
  if (this.dataUnit) {
127300
127585
  this.setSelection(this.dataUnit.getSelectionInfo());
127301
127586
  }
127302
- }
127587
+ },
127588
+ enableLockManger: this.enableLockManger
127303
127589
  });
127304
127590
  if (this.config) {
127305
127591
  this.observeConfig(this.config);
@@ -127563,7 +127849,7 @@ const EzIcon$1 = class extends HTMLElement$1 {
127563
127849
  static get style() { return ezIconCss; }
127564
127850
  };
127565
127851
 
127566
- const ezListCss = ".sc-ez-list-h{--ez-list__host--z-index:var(--visible, 1);--ez-list__host--border-radius:var(--border--radius-medium, 12px);--ez-list__host--padding:var(--space--medium, 12px);--ez-list__icon--padding:var(--space--small, 6px);--ez-list__icon--color:#AFB6C0;--ez-list__item--margin:0 var(--space--small, 6px);--ez-list__item--color:var(--title--primary, #2b3a54);--ez-list__item--border-bottom:none;--ez-list__item--border-bottom-color:none;--ez-list__item--font-family:var(--font-pattern, \"Roboto\");--ez-list__item--font-size:var(--text--medium, 14px);--ez-list__item--white-space:var(--ez-list__item--white-space, nowrap);--ez-list__selectable--padding-right:var(--space--small, 6px);--ez-list__selectable--padding-left:var(--space--small, 6px);--ez-list__selected-item--border-radius:var(--border--radius-small, 6px);--ez-list__selected-item--background-color:var(--color--primary-300, #E2F4EF);--ez-list__group--font-family:var(--font-pattern, \"Roboto\");--ez-list__group--font-size:var(--text--medium, 14px);--ez-list__group--font-weight:var(--text-weight--large, 600);--ez-list__group--padding-bottom:var(--space-small, 6px);--ez-list__group-overlay--font-family:var(--font-pattern, \"Roboto\");--ez-list__group-overlay--font-size:var(--text--medium, 14px);--ez-list__over--border--color:var(--color--primary, #008561);--ez-list__last-droppable-space--height:var(--space--small, 6px);--ez-list__draggable-list--padding-bottom:var(--space--small, 6px);--ez-list__draggable-icon--image:url('data:image/svg+xml;utf8,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m 6.75,2.25 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z\"/></svg>');--ez-list__scrollbar--color-default:var(--scrollbar--default, #626e82);--ez-list__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--ez-list__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--ez-list__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--ez-list__scrollbar--border-radius:var(--border--radius-small, 6px);--ez-list__scrollbar--width:var(--space--medium, 12px);max-height:100%;width:100%;background-color:#fff;display:flex;z-index:var(--ez-list__host--z-index)}p.sc-ez-list{margin:0}.draggable.sc-ez-list{width:100%;display:grid;grid-template-columns:minmax(0px, auto) minmax(0px, auto);place-items:center;border-top:1px solid #fff;justify-content:space-between;font-family:var(--ez-list__item--font-family);font-size:var(--ez-list__item--font-size)}.dragging.sc-ez-list{background:#FFFFFF;border:1px solid #008561;box-sizing:border-box;box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122);border-radius:6px}.selectable.sc-ez-list{cursor:pointer;padding-right:var(--ez-list__selectable--padding-right);padding-left:var(--ez-list__selectable--padding-left)}.selectable-container.sc-ez-list{margin:0px !important}.hover-feedback.sc-ez-list:hover{background-color:var(--background--medium);border-radius:var(--border--radius-regular)}.item-content.sc-ez-list{display:flex;align-items:center;overflow:hidden;justify-content:flex-start;width:100%}.draggable-list.sc-ez-list{padding:0;margin:0;width:100%;max-height:100%;scrollbar-width:thin;color:var(--text-color);scrollbar-color:var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background)}.draggable-list.sc-ez-list li.sc-ez-list{display:flex;font-family:var(--ez-list__item--font-family);font-size:var(--ez-list__item--font-size);color:var(--ez-list__item--color);border-bottom:var(--ez-list__item--border-bottom, none) var(--ez-list__item--border-bottom-color)}.draggable-list.sc-ez-list li.sc-ez-list>div.sc-ez-list{padding:var(--space--2xs, 8px) var(--space--3xs, 4px);margin:var(--ez-list__item--margin)}.over.sc-ez-list{border-top:1px dashed var(--ez-list__over--border--color)}.last-droppable-space.sc-ez-list{height:var(--ez-list__last-droppable-space--height)}.draggable-selected.sc-ez-list{background-color:var(--background--strong) !important}.draggable-selected.sc-ez-list div.sc-ez-list:hover{background-color:var(--background--strong) !important}.draggable-list.sc-ez-list::-webkit-scrollbar{background-color:var(--ez-list__scrollbar--color-background);width:var(--ez-list__scrollbar--width);max-width:var(--ez-list__scrollbar--width);min-width:var(--ez-list__scrollbar--width)}.draggable-list.sc-ez-list::-webkit-scrollbar-track{background-color:var(--ez-list__scrollbar--color-background);border-radius:var(--ez-list__scrollbar--border-radius)}.draggable-list.sc-ez-list::-webkit-scrollbar-thumb{background-color:var(--ez-list__scrollbar--color-default);border-radius:var(--ez-list__scrollbar--border-radius)}.draggable-list.sc-ez-list::-webkit-scrollbar-thumb:vertical:hover,.draggable-list.sc-ez-list::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-list__scrollbar--color-hover)}.draggable-list.sc-ez-list::-webkit-scrollbar-thumb:vertical:active,.draggable-list.sc-ez-list::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-list__scrollbar--color-clicked)}.draggable-icon.sc-ez-list{align-items:flex-start;display:flex;outline:none;border:none;background-color:unset}.draggable-icon.sc-ez-list::after{content:'';display:flex;width:18px;height:18px;background-color:var(--ez-list__icon--color);-webkit-mask-image:var(--ez-list__draggable-icon--image);mask-image:var(--ez-list__draggable-icon--image)}*.sc-ez-list{box-sizing:border-box}.checkbox.sc-ez-list{width:fit-content}.text--ellipsis.sc-ez-list{overflow:hidden;text-overflow:ellipsis;white-space:var(--ez-list__item--white-space)}.group-container.sc-ez-list{display:flex;flex-direction:column;max-height:100%;overflow-y:auto;outline:none;width:100%;scrollbar-width:thin;scrollbar-color:var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background)}.group-name.sc-ez-list{-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--title--primary);font-family:var(--ez-list__group--font-family);font-size:var(--ez-list__group--font-size);font-weight:var(--ez-list__group--font-weight);padding-bottom:var(--ez-list__group--padding-bottom)}.group.sc-ez-list{display:flex;flex-direction:column}.group-container.sc-ez-list::-webkit-scrollbar{background-color:var(--ez-list__scrollbar--color-background);width:var(--ez-list__scrollbar--width);max-width:var(--ez-list__scrollbar--width);min-width:var(--ez-list__scrollbar--width)}.group-container.sc-ez-list::-webkit-scrollbar-track{background-color:var(--ez-list__scrollbar--color-background);border-radius:var(--ez-list__scrollbar--border-radius)}.group-container.sc-ez-list::-webkit-scrollbar-thumb{background-color:var(--ez-list__scrollbar--color-default);border-radius:var(--ez-list__scrollbar--border-radius)}.group-container.sc-ez-list::-webkit-scrollbar-thumb:vertical:hover,.group-container.sc-ez-list::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-list__scrollbar--color-hover)}.group-container.sc-ez-list::-webkit-scrollbar-thumb:vertical:active,.group-container.sc-ez-list::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-list__scrollbar--color-clicked)}.section-container.sc-ez-list{display:flex;position:relative;height:100%}.items-container.sc-ez-list{width:100%;max-height:100%;outline:none;scrollbar-width:thin;overflow:auto;scrollbar-color:var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background)}.group-items-container.sc-ez-list{width:100%;max-height:100%;height:100%;outline:none}.items-container.sc-ez-list::-webkit-scrollbar{background-color:var(--ez-list__scrollbar--color-background);width:var(--ez-list__scrollbar--width);max-width:var(--ez-list__scrollbar--width);min-width:var(--ez-list__scrollbar--width)}.items-container.sc-ez-list::-webkit-scrollbar-track{background-color:var(--ez-list__scrollbar--color-background);border-radius:var(--ez-list__scrollbar--border-radius)}.items-container.sc-ez-list::-webkit-scrollbar-thumb{background-color:var(--ez-list__scrollbar--color-default);border-radius:var(--ez-list__scrollbar--border-radius)}.items-container.sc-ez-list::-webkit-scrollbar-thumb:vertical:hover,.items-container.sc-ez-list::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-list__scrollbar--color-hover)}.items-container.sc-ez-list::-webkit-scrollbar-thumb:vertical:active,.items-container.sc-ez-list::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-list__scrollbar--color-clicked)}.group-overlay.sc-ez-list{background:rgba(226, 244, 239, 0.8);border:1px solid #008561;border-radius:8px;position:absolute;display:none;place-items:center;top:0;bottom:0;left:0;right:0;z-index:2;margin:0;cursor:pointer;font-family:var(--ez-list__group-overlay--font-family);font-size:var(--ez-list__group-overlay--font-size)}.presetedHeight.sc-ez-list{min-height:100px}.overlay-text.sc-ez-list{position:absolute;top:50%;left:50%;font-size:50px;color:white;transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%)}.selected-item.sc-ez-list{background:var(--ez-list__selected-item--background-color);border-radius:var(--ez-list__selected-item--border-radius)}.slot-item.sc-ez-list{align-items:flex-end}.overGroup.sc-ez-list{background:rgba(226, 244, 239, 0.8);border:1px solid #008561;box-sizing:border-box;border-radius:8px;padding-top:6px}";
127852
+ const ezListCss = ".sc-ez-list-h {\n \n --ez-list__host--z-index: var(--visible, 1);\n\n \n --ez-list__host--border-radius: var(--border--radius-medium, 12px);\n\n \n --ez-list__host--padding: var(--space--medium, 12px);\n\n \n --ez-list__icon--padding: var(--space--small, 6px);\n\n \n --ez-list__icon--color: #AFB6C0;\n\n \n --ez-list__item--margin: 0 var(--space--small, 6px);\n\n \n --ez-list__item--color: var(--title--primary, #2b3a54);\n\n \n --ez-list__item--border-bottom;\n\n \n --ez-list__item--border-bottom-color;\n\n \n --ez-list__item--font-family: var(--font-pattern, \"Roboto\");\n\n \n --ez-list__item--font-size: var(--text--medium, 14px);\n \n \n --ez-list__item--white-space: var(--ez-list__item--white-space, nowrap);\n\n \n --ez-list__selectable--padding-right: var(--space--small, 6px);\n \n \n --ez-list__selectable--padding-left: var(--space--small, 6px);\n\n \n --ez-list__selected-item--border-radius: var(--border--radius-small, 6px);\n \n \n --ez-list__selected-item--background-color: var(--color--primary-300, #E2F4EF);\n\n \n --ez-list__group--font-family: var(--font-pattern, \"Roboto\");\n \n \n --ez-list__group--font-size: var(--text--medium, 14px);\n \n \n --ez-list__group--font-weight: var(--text-weight--large, 600);\n \n \n --ez-list__group--padding-bottom: var(--space-small, 6px);\n\n \n --ez-list__group-overlay--font-family: var(--font-pattern, \"Roboto\");\n\n \n --ez-list__group-overlay--font-size: var(--text--medium, 14px);\n \n \n --ez-list__over--border--color: var(--color--primary, #008561);\n\n \n --ez-list__last-droppable-space--height: var(--space--small, 6px);\n \n \n --ez-list__draggable-list--padding-bottom: var(--space--small, 6px);\n\n \n --ez-list__draggable-icon--image: url('data:image/svg+xml;utf8,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m 6.75,2.25 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z m -3,3 h 1.5 v 1.5 h -1.5 z m 3,0 h 1.5 v 1.5 h -1.5 z\"/></svg>');\n\n \n \n --ez-list__scrollbar--color-default: var(--scrollbar--default, #626e82);\n \n --ez-list__scrollbar--color-background: var(--scrollbar--background, #E5EAF0);\n \n --ez-list__scrollbar--color-hover: var(--scrollbar--hover, #2B3A54);\n \n --ez-list__scrollbar--color-clicked: var(--scrollbar--clicked, #a2abb9);\n \n --ez-list__scrollbar--border-radius: var(--border--radius-small, 6px);\n \n --ez-list__scrollbar--width: var(--space--medium, 12px);\n\n max-height: 100%;\n width: 100%;\n background-color: #fff;\n display: flex;\n\n \n z-index: var(--ez-list__host--z-index);\n}\n\np.sc-ez-list {\n margin: 0;\n}\n\n.draggable.sc-ez-list {\n \n width: 100%;\n display: grid;\n grid-template-columns: minmax(0px, auto) minmax(0px, auto);\n place-items: center;\n border-top: 1px dashed #fff;\n justify-content: space-between;\n\n \n font-family: var(--ez-list__item--font-family);\n font-size: var(--ez-list__item--font-size);\n}\n\n.dragging.sc-ez-list {\n background: #FFFFFF;\n \n\n border: 1px solid #008561;\n box-sizing: border-box;\n box-shadow: 0px 0px 16px rgba(0, 38, 111, 0.122);\n border-radius: 6px;\n}\n\n.selectable.sc-ez-list {\n cursor: pointer;\n\n \n padding-right: var(--ez-list__selectable--padding-right);\n padding-left: var(--ez-list__selectable--padding-left);\n}\n\n.selectable-container.sc-ez-list {\n margin: 0px !important;\n}\n\n.hover-feedback.sc-ez-list:hover {\n background-color: var(--background--medium);\n border-radius: var(--border--radius-regular);\n}\n\n.item-content.sc-ez-list {\n display: flex;\n align-items: center;\n overflow: hidden;\n justify-content: flex-start;\n width: 100%;\n}\n\n.draggable-list.sc-ez-list {\n padding: 0;\n margin: 0;\n width: 100%;\n max-height: 100%;\n scrollbar-width: thin;\n \n \n color: var(--text-color);\n scrollbar-color: var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background);\n}\n\n.draggable-list.sc-ez-list li.sc-ez-list {\n display: flex;\n \n \n font-family: var(--ez-list__item--font-family);\n font-size: var(--ez-list__item--font-size);\n color: var(--ez-list__item--color);\n border-bottom: var(--ez-list__item--border-bottom, none) var(--ez-list__item--border-bottom-color);\n}\n\n.draggable-list.sc-ez-list li.sc-ez-list > div.sc-ez-list {\n \n padding: var(--space--3xs, 4px) var(--space--3xs, 4px);\n margin: var(--ez-list__item--margin);\n}\n\n.over.sc-ez-list {\n \n border-top: 1px dashed var(--ez-list__over--border--color);\n}\n\n.last-droppable-space.sc-ez-list {\n \n height: var(--ez-list__last-droppable-space--height);\n}\n\n.draggable-selected.sc-ez-list {\n \n background-color: var(--background--strong) !important;\n}\n\n.draggable-selected.sc-ez-list div.sc-ez-list:hover {\n \n background-color: var(--background--strong) !important;\n}\n\n.draggable-list.sc-ez-list::-webkit-scrollbar {\n \n background-color: var(--ez-list__scrollbar--color-background);\n width: var(--ez-list__scrollbar--width);\n max-width: var(--ez-list__scrollbar--width);\n min-width: var(--ez-list__scrollbar--width);\n}\n\n.draggable-list.sc-ez-list::-webkit-scrollbar-track {\n \n background-color: var(--ez-list__scrollbar--color-background);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.draggable-list.sc-ez-list::-webkit-scrollbar-thumb {\n \n background-color: var(--ez-list__scrollbar--color-default);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.draggable-list.sc-ez-list::-webkit-scrollbar-thumb:vertical:hover, .draggable-list.sc-ez-list::-webkit-scrollbar-thumb:horizontal:hover {\n \n background-color: var(--ez-list__scrollbar--color-hover);\n}\n\n.draggable-list.sc-ez-list::-webkit-scrollbar-thumb:vertical:active, .draggable-list.sc-ez-list::-webkit-scrollbar-thumb:horizontal:active {\n \n background-color: var(--ez-list__scrollbar--color-clicked);\n}\n\n.draggable-icon.sc-ez-list {\n align-items: flex-start;\n display: flex;\n outline: none;\n border: none;\n background-color: unset;\n}\n\n.draggable-icon.sc-ez-list::after {\n content: '';\n display: flex;\n width: 18px;\n height: 18px;\n\n \n background-color: var(--ez-list__icon--color);\n -webkit-mask-image: var(--ez-list__draggable-icon--image);\n mask-image: var(--ez-list__draggable-icon--image);\n}\n\n*.sc-ez-list {\n box-sizing: border-box;\n}\n\n.checkbox.sc-ez-list {\n width: fit-content;\n}\n\n.text--ellipsis.sc-ez-list {\n overflow: hidden;\n text-overflow: ellipsis;\n \n \n white-space: var(--ez-list__item--white-space);\n}\n\n.group-container.sc-ez-list {\n display: flex;\n flex-direction: column;\n max-height: 100%;\n overflow-y: auto;\n outline: none;\n width: 100%;\n scrollbar-width: thin;\n\n \n scrollbar-color: var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background);\n}\n\n.group-name.sc-ez-list {\n -webkit-user-select: none;\n -moz-user-select: -moz-none;\n -ms-user-select: none;\n user-select: none;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n \n color: var(--title--primary);\n font-family: var(--ez-list__group--font-family);\n font-size: var(--ez-list__group--font-size);\n font-weight: var(--ez-list__group--font-weight);\n padding-bottom: var(--ez-list__group--padding-bottom);\n}\n\n.group.sc-ez-list {\n display: flex;\n flex-direction: column;\n}\n\n.group-container.sc-ez-list::-webkit-scrollbar {\n \n background-color: var(--ez-list__scrollbar--color-background);\n width: var(--ez-list__scrollbar--width);\n max-width: var(--ez-list__scrollbar--width);\n min-width: var(--ez-list__scrollbar--width);\n}\n\n.group-container.sc-ez-list::-webkit-scrollbar-track {\n \n background-color: var(--ez-list__scrollbar--color-background);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.group-container.sc-ez-list::-webkit-scrollbar-thumb {\n \n background-color: var(--ez-list__scrollbar--color-default);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.group-container.sc-ez-list::-webkit-scrollbar-thumb:vertical:hover, .group-container.sc-ez-list::-webkit-scrollbar-thumb:horizontal:hover {\n \n background-color: var(--ez-list__scrollbar--color-hover);\n}\n\n.group-container.sc-ez-list::-webkit-scrollbar-thumb:vertical:active, .group-container.sc-ez-list::-webkit-scrollbar-thumb:horizontal:active {\n \n background-color: var(--ez-list__scrollbar--color-clicked);\n}\n\n.section-container.sc-ez-list {\n display: flex;\n position: relative;\n height: 100%;\n}\n\n.items-container.sc-ez-list {\n width: 100%;\n max-height: 100%;\n outline: none;\n scrollbar-width: thin;\n\n \n scrollbar-color: var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background);\n}\n\n.group-items-container.sc-ez-list {\n width: 100%;\n max-height: 100%;\n height: 100%;\n outline: none;\n}\n\n.items-container.sc-ez-list::-webkit-scrollbar {\n \n background-color: var(--ez-list__scrollbar--color-background);\n width: var(--ez-list__scrollbar--width);\n max-width: var(--ez-list__scrollbar--width);\n min-width: var(--ez-list__scrollbar--width);\n}\n\n.items-container.sc-ez-list::-webkit-scrollbar-track {\n \n background-color: var(--ez-list__scrollbar--color-background);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.items-container.sc-ez-list::-webkit-scrollbar-thumb {\n \n background-color: var(--ez-list__scrollbar--color-default);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.items-container.sc-ez-list::-webkit-scrollbar-thumb:vertical:hover, .items-container.sc-ez-list::-webkit-scrollbar-thumb:horizontal:hover {\n \n background-color: var(--ez-list__scrollbar--color-hover);\n}\n\n.items-container.sc-ez-list::-webkit-scrollbar-thumb:vertical:active, .items-container.sc-ez-list::-webkit-scrollbar-thumb:horizontal:active {\n \n background-color: var(--ez-list__scrollbar--color-clicked);\n}\n\n.group-overlay.sc-ez-list {\n background: rgba(226, 244, 239, 0.8);\n border: 1px solid #008561;\n border-radius: 8px;\n position: absolute;\n display: none;\n place-items: center;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 2;\n margin: 0;\n cursor: pointer;\n\n \n font-family: var(--ez-list__group-overlay--font-family);\n font-size: var(--ez-list__group-overlay--font-size);\n}\n\n.presetedHeight.sc-ez-list {\n min-height: 100px;\n}\n\n.overlay-text.sc-ez-list {\n position: absolute;\n top: 50%;\n left: 50%;\n font-size: 50px;\n color: white;\n transform: translate(-50%, -50%);\n -ms-transform: translate(-50%, -50%);\n}\n\n.selected-item.sc-ez-list {\n \n background: var(--ez-list__selected-item--background-color);\n border-radius: var(--ez-list__selected-item--border-radius);\n}\n\n.slot-item.sc-ez-list {\n align-items: flex-end;\n}\n\n.overGroup.sc-ez-list {\n background: rgba(226, 244, 239, 0.8);\n border: 1px solid #008561;\n box-sizing: border-box;\n border-radius: 8px;\n padding-top: 6px;\n}";
127567
127853
 
127568
127854
  const EzList$1 = class extends HTMLElement$1 {
127569
127855
  constructor() {
@@ -127571,13 +127857,11 @@ const EzList$1 = class extends HTMLElement$1 {
127571
127857
  this.__registerHost();
127572
127858
  this.ezChange = createEvent(this, "ezChange", 7);
127573
127859
  this.ezSelectItem = createEvent(this, "ezSelectItem", 7);
127574
- this.ezClickItem = createEvent(this, "ezClickItem", 7);
127575
127860
  this.ezCheckChange = createEvent(this, "ezCheckChange", 7);
127576
127861
  this.ezDoubleClick = createEvent(this, "ezDoubleClick", 7);
127577
127862
  this._listItemsHistory = [];
127578
127863
  this._listItems = [];
127579
127864
  this._listGroupItems = [];
127580
- this._selectedItem = undefined;
127581
127865
  this.dataSource = [];
127582
127866
  this.listMode = 'regular';
127583
127867
  this.useGroups = false;
@@ -127586,19 +127870,6 @@ const EzList$1 = class extends HTMLElement$1 {
127586
127870
  this.itemSlotBuilder = undefined;
127587
127871
  this.itemLeftSlotBuilder = undefined;
127588
127872
  this.hoverFeedback = false;
127589
- this.disableShortcuts = false;
127590
- }
127591
- /**
127592
- * Seleciona o próximo item.
127593
- */
127594
- async selectNextItem() {
127595
- this.nextOption();
127596
- }
127597
- /**
127598
- * Seleciona o item anterior.
127599
- */
127600
- async selectPreviousItem() {
127601
- this.previousOption();
127602
127873
  }
127603
127874
  /**
127604
127875
  * Limpa o histórico da lista.
@@ -127622,8 +127893,23 @@ const EzList$1 = class extends HTMLElement$1 {
127622
127893
  */
127623
127894
  async setSelection(selectedItem, scrollToOption) {
127624
127895
  if (selectedItem && this.ezSelectable) {
127625
- this._selectedItem = Object.assign({}, selectedItem);
127626
127896
  this.ezSelectItem.emit(selectedItem);
127897
+ if (this.useGroups) {
127898
+ let newList = [...this._listGroupItems];
127899
+ newList.forEach(groupItem => {
127900
+ groupItem.items.forEach(item => {
127901
+ item.selected = item.id === selectedItem.id;
127902
+ });
127903
+ });
127904
+ this._listGroupItems = newList;
127905
+ }
127906
+ else {
127907
+ let newList = [...this._listItems];
127908
+ newList.forEach(item => {
127909
+ item.selected = item.id === selectedItem.id;
127910
+ });
127911
+ this._listItems = newList;
127912
+ }
127627
127913
  if (scrollToOption) {
127628
127914
  let liElem = this.useGroups
127629
127915
  ? this._groupContainer.querySelector('li#item_' + selectedItem.id)
@@ -127641,7 +127927,21 @@ const EzList$1 = class extends HTMLElement$1 {
127641
127927
  * Obtém o item selecionado.
127642
127928
  */
127643
127929
  async getSelection() {
127644
- return this._selectedItem;
127930
+ let selectedItem;
127931
+ if (this.useGroups) {
127932
+ this._listGroupItems.every(group => {
127933
+ let item = group.items.find(item => item.selected == true);
127934
+ if (item) {
127935
+ selectedItem = item;
127936
+ return false;
127937
+ }
127938
+ return true;
127939
+ });
127940
+ }
127941
+ else {
127942
+ selectedItem = this._listItems.find(item => item.selected == true);
127943
+ }
127944
+ return selectedItem;
127645
127945
  }
127646
127946
  /**
127647
127947
  * Obtém a lista de items ou grupos.
@@ -127656,7 +127956,22 @@ const EzList$1 = class extends HTMLElement$1 {
127656
127956
  * Limpa a seleção atual
127657
127957
  */
127658
127958
  async removeSelection() {
127659
- this._selectedItem = undefined;
127959
+ if (this.useGroups) {
127960
+ let newList = [...this._listGroupItems];
127961
+ newList.forEach(groupItem => {
127962
+ groupItem.items.forEach(item => {
127963
+ item.selected = false;
127964
+ });
127965
+ });
127966
+ this._listGroupItems = newList;
127967
+ }
127968
+ else {
127969
+ let newList = [...this._listItems];
127970
+ newList.forEach(item => {
127971
+ item.selected = false;
127972
+ });
127973
+ this._listItems = newList;
127974
+ }
127660
127975
  }
127661
127976
  applyUUID(item) {
127662
127977
  if (!item.id) {
@@ -127716,10 +128031,6 @@ const EzList$1 = class extends HTMLElement$1 {
127716
128031
  }
127717
128032
  componentDidLoad() {
127718
128033
  ElementIDUtils.addIDInfo(this._element);
127719
- this.bindKeyboardManager();
127720
- }
127721
- disconnectCallback() {
127722
- this.unbindKeyboardManager();
127723
128034
  }
127724
128035
  onDrop(ev, dragEndItem) {
127725
128036
  this.removeOverClass();
@@ -127912,58 +128223,92 @@ const EzList$1 = class extends HTMLElement$1 {
127912
128223
  if (this.useGroups) {
127913
128224
  this.setSelection(this._listGroupItems[0].items[0]);
127914
128225
  }
127915
- else {
128226
+ {
127916
128227
  this.setSelection(this._listItems[0]);
127917
128228
  }
127918
128229
  }
127919
- getFlatedItems() {
128230
+ nextOption(selectedItem) {
128231
+ let nextItem = undefined;
127920
128232
  if (this.useGroups) {
127921
- const itemsGroups = this._listGroupItems.map(({ items }) => items).flat();
127922
- return itemsGroups;
127923
- }
127924
- return this._listItems;
127925
- }
127926
- getSelectedIndex(items) {
127927
- const itemIndex = items.findIndex(item => { var _a; return item.id === ((_a = this._selectedItem) === null || _a === void 0 ? void 0 : _a.id); });
127928
- return itemIndex;
127929
- }
127930
- nextOption() {
127931
- if (!this._selectedItem) {
127932
- this.selectFirstItem();
127933
- return;
128233
+ this._listGroupItems.every((group, groupIndex, listGroupItems) => {
128234
+ let item = undefined;
128235
+ let itemIndex = group.items.findIndex(item => item.id == selectedItem.id);
128236
+ if (itemIndex != undefined && itemIndex != -1) {
128237
+ if (itemIndex === group.items.length - 1) {
128238
+ if (groupIndex + 1 <= listGroupItems.length - 1) {
128239
+ item = { label: listGroupItems[groupIndex + 1].items[0].label };
128240
+ }
128241
+ }
128242
+ else {
128243
+ item = { label: group.items[itemIndex + 1].label };
128244
+ }
128245
+ }
128246
+ if (item != undefined) {
128247
+ nextItem = item;
128248
+ return false;
128249
+ }
128250
+ return true;
128251
+ });
127934
128252
  }
127935
- const items = this.getFlatedItems();
127936
- const itemIndex = this.getSelectedIndex(items);
127937
- if (itemIndex < (items.length - 1)) {
127938
- const nextItem = items[itemIndex + 1];
127939
- this.setSelection(nextItem, true);
128253
+ else {
128254
+ let itemIndex = this._listItems.findIndex(item => item.id === selectedItem.id);
128255
+ if (itemIndex >= 0 && itemIndex < this._listItems.length) {
128256
+ nextItem = this._listItems[itemIndex + 1];
128257
+ }
127940
128258
  }
128259
+ this.setSelection(nextItem, true);
127941
128260
  }
127942
- previousOption() {
127943
- const items = this.getFlatedItems();
127944
- const itemIndex = this.getSelectedIndex(items);
127945
- if (itemIndex > 0) {
127946
- const previousItem = items[itemIndex - 1];
127947
- this.setSelection(previousItem, true);
128261
+ previousOption(selectedItem) {
128262
+ let previousItem = undefined;
128263
+ if (this.useGroups) {
128264
+ this._listGroupItems.every((group, groupIndex, listGroupItems) => {
128265
+ let item = undefined;
128266
+ let itemIndex = group.items.findIndex(item => item.id === selectedItem.id);
128267
+ if (itemIndex != undefined && itemIndex != -1) {
128268
+ if (itemIndex === 0) {
128269
+ if (groupIndex - 1 >= 0) {
128270
+ item = { label: listGroupItems[groupIndex - 1].items[listGroupItems[groupIndex - 1].items.length - 1].label };
128271
+ }
128272
+ }
128273
+ else {
128274
+ item = { label: group.items[itemIndex - 1].label };
128275
+ }
128276
+ }
128277
+ if (item != undefined) {
128278
+ previousItem = item;
128279
+ return false;
128280
+ }
128281
+ return true;
128282
+ });
127948
128283
  }
127949
- }
127950
- bindKeyboardManager() {
127951
- this._keyboardManager = new KeyboardManager({ propagate: false, element: this._element });
127952
- if (this.disableShortcuts) {
127953
- return;
128284
+ else {
128285
+ let itemIndex = this._listItems.findIndex(item => item.id === selectedItem.id);
128286
+ if (itemIndex > 0 && itemIndex < this._listItems.length) {
128287
+ previousItem = this._listItems[itemIndex - 1];
128288
+ }
127954
128289
  }
127955
- this._keyboardManager
127956
- .bind("ArrowDown", () => this.nextOption())
127957
- .bind("ArrowUp", () => this.previousOption())
127958
- .bind("shift+Tab", () => this.previousOption())
127959
- .bind("Tab", () => this.nextOption());
128290
+ this.setSelection(previousItem, true);
127960
128291
  }
127961
- unbindKeyboardManager() {
127962
- this._keyboardManager
127963
- .unbind("ArrowDown")
127964
- .unbind("ArrowUp")
127965
- .unbind("shift+Tab")
127966
- .unbind("Tab");
128292
+ keyDownHandler(event) {
128293
+ if (!event.ctrlKey) {
128294
+ event.preventDefault();
128295
+ }
128296
+ this.getSelection().then(selectedItem => {
128297
+ if (selectedItem) {
128298
+ switch (event.key) {
128299
+ case 'ArrowDown':
128300
+ this.nextOption(selectedItem);
128301
+ break;
128302
+ case 'ArrowUp':
128303
+ this.previousOption(selectedItem);
128304
+ break;
128305
+ }
128306
+ }
128307
+ else {
128308
+ this.selectFirstItem();
128309
+ }
128310
+ });
128311
+ event.stopPropagation();
127967
128312
  }
127968
128313
  getDivGroupId(groupName) {
127969
128314
  if (groupName) {
@@ -128028,46 +128373,38 @@ const EzList$1 = class extends HTMLElement$1 {
128028
128373
  doubleClickItem(item) {
128029
128374
  this.ezDoubleClick.emit(item);
128030
128375
  }
128031
- onClickItem(item) {
128032
- this.setSelection(item);
128033
- this.ezClickItem.emit(item);
128034
- }
128035
128376
  render() {
128036
- 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 => {
128037
- 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) => {
128038
- var _a;
128039
- return (h("li", Object.assign({ id: 'item_' + item.id, class: {
128040
- 'selectable-container': this.ezSelectable,
128041
- 'hover-feedback': this.hoverFeedback,
128042
- }, key: 'item_' + item.id }, {
128043
- [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(`ezListItem__${StringUtils$1.replaceAccentuatedChars(item.label)}`),
128044
- }), h("div", { class: 'draggable' + (((_a = this._selectedItem) === null || _a === void 0 ? void 0 : _a.id) === item.id ? ' selected-item ' : '') + (this.ezSelectable == true ? ' selectable ' : ''), onDblClick: () => {
128045
- this.doubleClickItem(item);
128046
- }, onClick: () => {
128047
- this.onClickItem(item);
128048
- }, onDragLeave: () => {
128049
- group.sort ? undefined : this.removeOverClass();
128050
- }, onDragEnd: () => this.onDragEnd(), onDragStart: () => this.onDragStart(item, group, index), onDragOver: event => {
128051
- group.sort ? undefined : this.onDragOverItem(event);
128052
- }, 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'))));
128053
- })), h("div", { class: "last-droppable-space", onDragLeave: () => this.removeOverClass(), onDragOver: event => {
128054
- this.onDragOverLastIndex(event);
128055
- }, 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)));
128056
- }))) : (h("div", { class: "items-container", ref: el => (this._itemContainer = el), tabIndex: 0 }, h("ul", { class: "draggable-list" }, this._listItems.map((item, index) => {
128057
- var _a, _b;
128058
- return (h("li", Object.assign({ id: 'item_' + item.id, class: {
128377
+ return (h(Host, { ref: el => (this._element = el) }, this.useGroups ? (h("div", { class: "group-container", ref: el => (this._groupContainer = el), tabIndex: 0, onKeyDown: event => {
128378
+ this.keyDownHandler(event);
128379
+ } }, this._listGroupItems.map(group => {
128380
+ 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: {
128059
128381
  'selectable-container': this.ezSelectable,
128060
- 'selected-item': ((_a = this._selectedItem) === null || _a === void 0 ? void 0 : _a.id) === item.id,
128061
- 'hover-feedback': this.hoverFeedback && ((_b = this._selectedItem) === null || _b === void 0 ? void 0 : _b.id) !== item.id,
128062
- }, key: 'item_' + item.id }, { [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(`ezListItem__${StringUtils$1.replaceAccentuatedChars(item.label)}`) }), h("div", { class: 'draggable' + (this.ezSelectable == true ? ' selectable ' : ''), onDragStart: () => this.onDragStart({ item: item, index: index }), onDblClick: () => {
128382
+ 'hover-feedback': this.hoverFeedback,
128383
+ }, key: 'item_' + item.id }, {
128384
+ [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(`ezListItem__${StringUtils$1.replaceAccentuatedChars(item.label)}`),
128385
+ }), h("div", { class: 'draggable' + (item.selected == true ? ' selected-item ' : '') + (this.ezSelectable == true ? ' selectable ' : ''), onDblClick: () => {
128063
128386
  this.doubleClickItem(item);
128064
128387
  }, onClick: () => {
128065
- this.onClickItem(item);
128066
- }, 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))));
128067
- }), this.ezDraggable &&
128068
- h("div", { class: "last-droppable-space", onDragLeave: () => this.removeOverClass(), onDragOver: event => {
128388
+ this.setSelection(item);
128389
+ }, onDragLeave: () => {
128390
+ group.sort ? undefined : this.removeOverClass();
128391
+ }, onDragEnd: () => this.onDragEnd(), onDragStart: () => this.onDragStart(item, group, index), onDragOver: event => {
128392
+ group.sort ? undefined : this.onDragOverItem(event);
128393
+ }, 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 => {
128069
128394
  this.onDragOverLastIndex(event);
128070
- }, onDragEnd: () => this.onDragEnd(), onDrop: event => this.onDropLastIndex(event) }))))));
128395
+ }, 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)));
128396
+ }))) : (h("div", { class: "items-container", ref: el => (this._itemContainer = el), tabIndex: 0, onKeyDown: event => {
128397
+ this.keyDownHandler(event);
128398
+ } }, h("div", { class: "draggable-list" }, this._listItems.map((item, index) => (h("li", Object.assign({ id: 'item_' + item.id, class: {
128399
+ 'selectable-container': this.ezSelectable,
128400
+ 'hover-feedback': this.hoverFeedback,
128401
+ }, 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 }), onDblClick: () => {
128402
+ this.doubleClickItem(item);
128403
+ }, onClick: () => {
128404
+ this.setSelection(item);
128405
+ }, 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 => {
128406
+ this.onDragOverLastIndex(event);
128407
+ }, onDragEnd: () => this.onDragEnd(), onDrop: event => this.onDropLastIndex(event) }))))));
128071
128408
  }
128072
128409
  static get style() { return ezListCss; }
128073
128410
  };
@@ -128455,6 +128792,7 @@ const EzNumberInput$1 = class extends HTMLElement$1 {
128455
128792
  this.precision = undefined;
128456
128793
  this.prettyPrecision = undefined;
128457
128794
  this.mode = "regular";
128795
+ this.autoFocus = false;
128458
128796
  }
128459
128797
  /**
128460
128798
  * Aplica o foco no campo.
@@ -128595,11 +128933,17 @@ const EzNumberInput$1 = class extends HTMLElement$1 {
128595
128933
  const textValue = this.getTextValue(this.value) || '';
128596
128934
  if ((this._value || '') !== textValue) {
128597
128935
  this._value = textValue;
128936
+ this._textInput.value = this._value;
128598
128937
  }
128599
128938
  }
128600
128939
  componentDidLoad() {
128601
128940
  CSSVarsUtils.applyVarsTextInput(this._elem, this._textInput);
128602
128941
  this.setInputValue();
128942
+ if (this.autoFocus) {
128943
+ requestAnimationFrame(() => {
128944
+ this.setFocus({ selectText: true });
128945
+ });
128946
+ }
128603
128947
  }
128604
128948
  render() {
128605
128949
  ElementIDUtils.addIDInfoIfNotExists(this._elem, 'input');
@@ -128620,7 +128964,7 @@ const EzNumberInput$1 = class extends HTMLElement$1 {
128620
128964
  static get style() { return ezNumberInputCss; }
128621
128965
  };
128622
128966
 
128623
- const ezPopoverCss = ":host{--ez-popover__box--border-radius:var(--border--radius-medium, 12px);--ez-popover__box--box-shadow:var(--shadow, 0px 0px 16px 0px #000);--ez-popover__box--background-color:var(--background--xlight, #fff);--ez-popover__box--z-index:var(--most-visible, 3);--ez-popover__height:fit-content;--ez-popover__max-height:fit-content;--ez-popover__margin:0;position:relative;display:flex;user-select:none}.popover__box{z-index:var(--ez-popover__box--z-index);display:flex;flex-direction:column;height:var(--ez-popover__height);max-height:var(--ez-popover__max-height);background-color:var(--ez-popover__box--background-color);border-radius:var(--ez-popover__box--border-radius);box-shadow:var(--ez-popover__box--box-shadow);margin:var(--ez-popover__margin)}.popover__box--fit-content{width:fit-content}.popover__box--full-width{width:100%}";
128967
+ const ezPopoverCss = ":host{--ez-popover__box--border-radius:var(--border--radius-medium, 12px);--ez-popover__box--box-shadow:var(--shadow, 0px 0px 16px 0px #000);--ez-popover__box--background-color:var(--background--xlight, #fff);--ez-popover__box--z-index:var(--most-visible, 3);position:relative;display:flex;user-select:none}.popover__box{z-index:var(--ez-popover__box--z-index);display:flex;flex-direction:column;height:fit-content;background-color:var(--ez-popover__box--background-color);border-radius:var(--ez-popover__box--border-radius);box-shadow:var(--ez-popover__box--box-shadow)}.popover__box--fit-content{width:fit-content}.popover__box--full-width{width:100%}";
128624
128968
 
128625
128969
  const EzPopover$1 = class extends HTMLElement$1 {
128626
128970
  constructor() {
@@ -128770,7 +129114,7 @@ const EzPopover$1 = class extends HTMLElement$1 {
128770
129114
  static get style() { return ezPopoverCss; }
128771
129115
  };
128772
129116
 
128773
- const ezPopupCss = ":host{display:flex;--ez-popup-z-index:var(--elevation--24, 24);--ez-popup__container--color:var(--title--primary, #2b3a54);--ez-popup__container--padding:var(--space--large, 24px);--ez-popup__container--width:100%;--ez-popup__container--height:100%;--ez-popup__header--padding-bottom:var(--space--medium, 12px);--ez-popup__title--font-family:var(--font-pattern, \"Roboto\");--ez-popup__title--font-size:var(--title--extra-large, 24px);--ez-popup__title--color:var(--title--primary, #2b3a54);--ez-popup__title--font-weight:var(--text-weight--large, 600);--ez-popup__btn__close--icon-color:var(--title--primary, #2b3a54);--ez-popup__btn__close--icon:url('data:image/svg+xml;utf8,<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 8.2421753,6.9944578 13.743748,1.4930784 C 13.907781,1.3290628 14,1.1065946 14,0.87462511 14,0.64266712 13.907782,0.42019873 13.743748,0.25617155 13.579712,0.09215597 13.35727,6.48e-8 13.125266,6.48e-8 12.89338,6.48e-8 12.670821,0.09215634 12.506787,0.25617155 L 7.005215,5.7575508 1.5035972,0.25617155 C 1.3395631,0.09215597 1.1170968,6.48e-8 0.88511716,6.48e-8 0.65314917,6.48e-8 0.4306712,0.09215597 0.26663695,0.25617155 0.10260271,0.42019873 0.01045441,0.64266712 0.01045441,0.87462511 c 0,0.23196949 0.0921483,0.45443769 0.25618254,0.61845329 L 5.7682546,6.9944578 0.26663695,12.497027 c -0.0834745,0.08067 -0.15003245,0.1772 -0.19581514,0.283871 C 0.02505077,12.887561 9.831648e-4,13.002399 2.950369e-5,13.118395 -9.2415746e-4,13.234504 0.02125019,13.349689 0.06527245,13.457057 c 0.04401053,0.107479 0.10898307,0.205064 0.1911168,0.287137 0.0821454,0.08208 0.17979645,0.146888 0.28727561,0.190839 0.10747906,0.04395 0.22262954,0.06598 0.33872417,0.06493 0.116095,-10e-4 0.23082547,-0.0253 0.33747687,-0.07112 0.1066637,-0.04593 0.2031133,-0.112615 0.2837313,-0.196086 L 7.005215,8.2313646 12.506787,13.732768 c 0.164034,0.164027 0.386593,0.256125 0.618479,0.256125 0.232004,0 0.454446,-0.09209 0.618482,-0.256125 C 13.907781,13.568741 14,13.346308 14,13.114315 14,12.882323 13.90779,12.659888 13.743748,12.495861 Z\"/></svg>')}.overlay{position:fixed;display:flex;top:0px;z-index:var(--ez-popup-z-index, 24);left:0px;width:100%;align-items:center;justify-content:center;box-sizing:border-box;height:100vh;backdrop-filter:blur(4px);background:rgba(0, 4, 12, 0.4)}.popup{display:flex;height:100%;align-items:center;justify-content:center;box-sizing:border-box}.popup__container{width:var(--ez-popup__container--width);max-height:90%;height:var(--ez-popup__container--height);display:flex;flex-wrap:wrap;overflow:hidden;outline:none;background:#FFFF;color:var(--ez-popup__container--color);border-radius:12px;box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122);box-sizing:border-box;padding:var(--ez-popup__container--padding)}.popup__container--auto{height:auto}.popup__overflow-y--auto{overflow-y:auto}.popup__content{box-sizing:border-box;height:100%;width:100%}.popup__expandable-content{box-sizing:border-box;width:100%;height:calc(100% - 44px)}.popup__header{width:100%;display:flex}.popup__header--padding{padding-bottom:var(--ez-popup__header--padding-bottom)}.popup__title{display:flex;margin:0;width:100%;font-family:var(--ez-popup__title--font-family);font-size:var(--ez-popup__title--font-size);font-weight:var(--ez-popup__title--font-weight);color:var(--ez-popup__title--color);line-height:1.3}.btn-close{justify-content:flex-end;align-self:flex-start;align-items:flex-start;display:flex;outline:none;border:none;background-color:unset;cursor:pointer}.btn-close::after{content:'';display:flex;background-color:var(--ez-popup__btn__close--icon-color);width:14px;height:14px;-webkit-mask-image:var(--ez-popup__btn__close--icon);mask-image:var(--ez-popup__btn__close--icon)}.btn-close--solo{width:100%}.row{width:100%;display:flex;flex-wrap:wrap}.col{display:flex;flex-wrap:wrap;align-self:flex-start;box-sizing:border-box}.col--stretch{align-self:stretch}.col--undefined{width:unset}.col--nowrap{flex-wrap:nowrap}.ez-popup__size-limit--x-small{min-width:350px;max-width:560px}@media screen and (min-width: 320px){.col--sd-1{width:8.33333%}.col--sd-2{width:16.66667%}.col--sd-3{width:25%}.col--sd-4{width:33.33333%}.col--sd-5{width:41.66667%}.col--sd-6{width:50%}.col--sd-7{width:58.33333%}.col--sd-8{width:66.66667%}.col--sd-9{width:75%}.col--sd-10{width:83.33333%}.col--sd-11{width:91.66667%}.col--sd-12{width:100%}}@media screen and (min-width: 480px){.col--pn-1{width:8.33333%}.col--pn-2{width:16.66667%}.col--pn-3{width:25%}.col--pn-4{width:33.33333%}.col--pn-5{width:41.66667%}.col--pn-6{width:50%}.col--pn-7{width:58.33333%}.col--pn-8{width:66.66667%}.col--pn-9{width:75%}.col--pn-10{width:83.33333%}.col--pn-11{width:91.66667%}.col--pn-12{width:100%}}@media screen and (min-width: 768px){.col--tb-1{width:8.33333%}.col--tb-2{width:16.66667%}.col--tb-3{width:25%}.col--tb-4{width:33.33333%}.col--tb-5{width:41.66667%}.col--tb-6{width:50%}.col--tb-7{width:58.33333%}.col--tb-8{width:66.66667%}.col--tb-9{width:75%}.col--tb-10{width:83.33333%}.col--tb-11{width:91.66667%}.col--tb-12{width:100%}}@media screen and (min-width: 992px){.col--md-1{width:8.33333%}.col--md-2{width:16.66667%}.col--md-3{width:25%}.col--md-4{width:33.33333%}.col--md-5{width:41.66667%}.col--md-6{width:50%}.col--md-7{width:58.33333%}.col--md-8{width:66.66667%}.col--md-9{width:75%}.col--md-10{width:83.33333%}.col--md-11{width:91.66667%}.col--md-12{width:100%}}@media screen and (min-width: 1200px){.col--ld-1{width:8.33333%}.col--ld-2{width:16.66667%}.col--ld-3{width:25%}.col--ld-4{width:33.33333%}.col--ld-5{width:41.66667%}.col--ld-6{width:50%}.col--ld-7{width:58.33333%}.col--ld-8{width:66.66667%}.col--ld-9{width:75%}.col--ld-10{width:83.33333%}.col--ld-11{width:91.66667%}.col--ld-12{width:100%}}";
129117
+ const ezPopupCss = ":host{display:flex;--ez-popup-z-index:var(--elevation--24, 24);--ez-popup__container--color:var(--title--primary, #2b3a54);--ez-popup__container--padding:var(--space--large, 24px);--ez-popup__header--padding-bottom:var(--space--medium, 12px);--ez-popup__title--font-family:var(--font-pattern, \"Roboto\");--ez-popup__title--font-size:var(--title--extra-large, 24px);--ez-popup__title--color:var(--title--primary, #2b3a54);--ez-popup__title--font-weight:var(--text-weight--large, 600);--ez-popup__btn__close--icon-color:var(--title--primary, #2b3a54);--ez-popup__btn__close--icon:url('data:image/svg+xml;utf8,<svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 8.2421753,6.9944578 13.743748,1.4930784 C 13.907781,1.3290628 14,1.1065946 14,0.87462511 14,0.64266712 13.907782,0.42019873 13.743748,0.25617155 13.579712,0.09215597 13.35727,6.48e-8 13.125266,6.48e-8 12.89338,6.48e-8 12.670821,0.09215634 12.506787,0.25617155 L 7.005215,5.7575508 1.5035972,0.25617155 C 1.3395631,0.09215597 1.1170968,6.48e-8 0.88511716,6.48e-8 0.65314917,6.48e-8 0.4306712,0.09215597 0.26663695,0.25617155 0.10260271,0.42019873 0.01045441,0.64266712 0.01045441,0.87462511 c 0,0.23196949 0.0921483,0.45443769 0.25618254,0.61845329 L 5.7682546,6.9944578 0.26663695,12.497027 c -0.0834745,0.08067 -0.15003245,0.1772 -0.19581514,0.283871 C 0.02505077,12.887561 9.831648e-4,13.002399 2.950369e-5,13.118395 -9.2415746e-4,13.234504 0.02125019,13.349689 0.06527245,13.457057 c 0.04401053,0.107479 0.10898307,0.205064 0.1911168,0.287137 0.0821454,0.08208 0.17979645,0.146888 0.28727561,0.190839 0.10747906,0.04395 0.22262954,0.06598 0.33872417,0.06493 0.116095,-10e-4 0.23082547,-0.0253 0.33747687,-0.07112 0.1066637,-0.04593 0.2031133,-0.112615 0.2837313,-0.196086 L 7.005215,8.2313646 12.506787,13.732768 c 0.164034,0.164027 0.386593,0.256125 0.618479,0.256125 0.232004,0 0.454446,-0.09209 0.618482,-0.256125 C 13.907781,13.568741 14,13.346308 14,13.114315 14,12.882323 13.90779,12.659888 13.743748,12.495861 Z\"/></svg>')}.overlay{position:fixed;display:flex;top:0px;z-index:var(--ez-popup-z-index, 24);left:0px;width:100%;align-items:center;justify-content:center;box-sizing:border-box;height:100vh;backdrop-filter:blur(4px);background:rgba(0, 4, 12, 0.4)}.popup{display:flex;height:100%;align-items:center;justify-content:center;box-sizing:border-box}.popup__container{width:100%;max-height:90%;height:100%;display:flex;flex-wrap:wrap;overflow:hidden;outline:none;background:#FFFF;color:var(--ez-popup__container--color);border-radius:12px;box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122);box-sizing:border-box;padding:var(--ez-popup__container--padding)}.popup__container--auto{height:auto}.popup__overflow-y--auto{overflow-y:auto}.popup__content{box-sizing:border-box;height:100%;width:100%}.popup__expandable-content{box-sizing:border-box;width:100%;height:calc(100% - 44px)}.popup__header{width:100%;display:flex}.popup__header--padding{padding-bottom:var(--ez-popup__header--padding-bottom)}.popup__title{display:flex;margin:0;width:100%;font-family:var(--ez-popup__title--font-family);font-size:var(--ez-popup__title--font-size);font-weight:var(--ez-popup__title--font-weight);color:var(--ez-popup__title--color);line-height:1.3}.btn-close{justify-content:flex-end;align-self:flex-start;align-items:flex-start;display:flex;outline:none;border:none;background-color:unset;cursor:pointer}.btn-close::after{content:'';display:flex;background-color:var(--ez-popup__btn__close--icon-color);width:14px;height:14px;-webkit-mask-image:var(--ez-popup__btn__close--icon);mask-image:var(--ez-popup__btn__close--icon)}.btn-close--solo{width:100%}.row{width:100%;display:flex;flex-wrap:wrap}.col{display:flex;flex-wrap:wrap;align-self:flex-start;box-sizing:border-box}.col--stretch{align-self:stretch}.col--undefined{width:unset}.col--nowrap{flex-wrap:nowrap}.ez-popup__size-limit--x-small{min-width:350px;max-width:560px}@media screen and (min-width: 320px){.col--sd-1{width:8.33333%}.col--sd-2{width:16.66667%}.col--sd-3{width:25%}.col--sd-4{width:33.33333%}.col--sd-5{width:41.66667%}.col--sd-6{width:50%}.col--sd-7{width:58.33333%}.col--sd-8{width:66.66667%}.col--sd-9{width:75%}.col--sd-10{width:83.33333%}.col--sd-11{width:91.66667%}.col--sd-12{width:100%}}@media screen and (min-width: 480px){.col--pn-1{width:8.33333%}.col--pn-2{width:16.66667%}.col--pn-3{width:25%}.col--pn-4{width:33.33333%}.col--pn-5{width:41.66667%}.col--pn-6{width:50%}.col--pn-7{width:58.33333%}.col--pn-8{width:66.66667%}.col--pn-9{width:75%}.col--pn-10{width:83.33333%}.col--pn-11{width:91.66667%}.col--pn-12{width:100%}}@media screen and (min-width: 768px){.col--tb-1{width:8.33333%}.col--tb-2{width:16.66667%}.col--tb-3{width:25%}.col--tb-4{width:33.33333%}.col--tb-5{width:41.66667%}.col--tb-6{width:50%}.col--tb-7{width:58.33333%}.col--tb-8{width:66.66667%}.col--tb-9{width:75%}.col--tb-10{width:83.33333%}.col--tb-11{width:91.66667%}.col--tb-12{width:100%}}@media screen and (min-width: 992px){.col--md-1{width:8.33333%}.col--md-2{width:16.66667%}.col--md-3{width:25%}.col--md-4{width:33.33333%}.col--md-5{width:41.66667%}.col--md-6{width:50%}.col--md-7{width:58.33333%}.col--md-8{width:66.66667%}.col--md-9{width:75%}.col--md-10{width:83.33333%}.col--md-11{width:91.66667%}.col--md-12{width:100%}}@media screen and (min-width: 1200px){.col--ld-1{width:8.33333%}.col--ld-2{width:16.66667%}.col--ld-3{width:25%}.col--ld-4{width:33.33333%}.col--ld-5{width:41.66667%}.col--ld-6{width:50%}.col--ld-7{width:58.33333%}.col--ld-8{width:66.66667%}.col--ld-9{width:75%}.col--ld-10{width:83.33333%}.col--ld-11{width:91.66667%}.col--ld-12{width:100%}}";
128774
129118
 
128775
129119
  const EzPopup$1 = class extends HTMLElement$1 {
128776
129120
  constructor() {
@@ -128839,14 +129183,7 @@ const EzPopup$1 = class extends HTMLElement$1 {
128839
129183
  });
128840
129184
  }
128841
129185
  getGridSize() {
128842
- if (!this.size) {
128843
- return this._sizeClasses["medium"];
128844
- }
128845
- if (!this._sizeClasses[this.size]) {
128846
- this._element.style.setProperty("--ez-popup__container--width", this.size);
128847
- return "";
128848
- }
128849
- return this._sizeClasses[this.size];
129186
+ return this._sizeClasses[this.size] || this._sizeClasses["medium"];
128850
129187
  }
128851
129188
  handlePopupHeight() {
128852
129189
  return this.heightMode === 'auto' ? 'popup__container--auto' : '';
@@ -129144,6 +129481,7 @@ const EzSearch$1 = class extends HTMLElement$1 {
129144
129481
  this.suppressSearch = false;
129145
129482
  this.ensureClearButtonVisible = false;
129146
129483
  this.suppressPreLoad = false;
129484
+ this.autoFocus = false;
129147
129485
  }
129148
129486
  observeErrorMessage() {
129149
129487
  var _a;
@@ -129202,9 +129540,9 @@ const EzSearch$1 = class extends HTMLElement$1 {
129202
129540
  /**
129203
129541
  * Aplica o foco no campo.
129204
129542
  */
129205
- async setFocus() {
129543
+ async setFocus(options) {
129206
129544
  if (this._textInput) {
129207
- this._textInput.setFocus();
129545
+ this._textInput.setFocus(options);
129208
129546
  }
129209
129547
  }
129210
129548
  /**
@@ -129477,15 +129815,16 @@ const EzSearch$1 = class extends HTMLElement$1 {
129477
129815
  replaceHighlight(value) {
129478
129816
  const startHighlight = new RegExp(this._startHighlightTag, 'g');
129479
129817
  const endHighlight = new RegExp(this._endHighlightTag, 'g');
129480
- return (value !== null && value !== void 0 ? value : "").replace(startHighlight, '').replace(endHighlight, '');
129818
+ return String(value !== null && value !== void 0 ? value : "").replace(startHighlight, '').replace(endHighlight, '');
129481
129819
  }
129482
- selectOption(newOption) {
129820
+ selectOption(newOption, focusOnInput = true) {
129483
129821
  var _a, _b;
129484
129822
  const currentValue = this.getSelectedOption(this.value);
129485
129823
  const newOptionsReplaced = Object.assign(Object.assign({}, newOption), { value: this.replaceHighlight(newOption === null || newOption === void 0 ? void 0 : newOption.value), label: this.replaceHighlight(newOption === null || newOption === void 0 ? void 0 : newOption.label) });
129486
- if ((((_a = currentValue === null || currentValue === void 0 ? void 0 : currentValue.value) === null || _a === void 0 ? void 0 : _a.toString()) !== ((_b = newOptionsReplaced === null || newOptionsReplaced === void 0 ? void 0 : newOptionsReplaced.value) === null || _b === void 0 ? void 0 : _b.toString()))
129487
- || (currentValue == undefined && newOptionsReplaced != undefined && "value" in newOptionsReplaced)) {
129488
- const adjustedOpt = !(newOptionsReplaced === null || newOptionsReplaced === void 0 ? void 0 : newOptionsReplaced.value) ? undefined : newOptionsReplaced;
129824
+ const newOptionsFormatted = Object.assign(Object.assign({}, newOptionsReplaced), { value: this.replaceQuotes(newOptionsReplaced === null || newOptionsReplaced === void 0 ? void 0 : newOptionsReplaced.value), label: this.replaceQuotes(newOptionsReplaced === null || newOptionsReplaced === void 0 ? void 0 : newOptionsReplaced.label) });
129825
+ if ((((_a = currentValue === null || currentValue === void 0 ? void 0 : currentValue.value) === null || _a === void 0 ? void 0 : _a.toString()) !== ((_b = newOptionsFormatted === null || newOptionsFormatted === void 0 ? void 0 : newOptionsFormatted.value) === null || _b === void 0 ? void 0 : _b.toString()))
129826
+ || (currentValue == undefined && newOptionsFormatted != undefined && "value" in newOptionsFormatted)) {
129827
+ const adjustedOpt = !(newOptionsFormatted === null || newOptionsFormatted === void 0 ? void 0 : newOptionsFormatted.value) ? undefined : newOptionsFormatted;
129489
129828
  this.value = adjustedOpt;
129490
129829
  this._currentValue = adjustedOpt;
129491
129830
  }
@@ -129495,6 +129834,11 @@ const EzSearch$1 = class extends HTMLElement$1 {
129495
129834
  }
129496
129835
  this._visibleOptions = [];
129497
129836
  this.clearSource();
129837
+ if (focusOnInput) {
129838
+ setTimeout(() => {
129839
+ this.setFocus();
129840
+ }, 0);
129841
+ }
129498
129842
  }
129499
129843
  loadOptions(mode, argument = "") {
129500
129844
  this._criteria = argument;
@@ -129531,7 +129875,7 @@ const EzSearch$1 = class extends HTMLElement$1 {
129531
129875
  this.value = null;
129532
129876
  this._currentValue = null;
129533
129877
  }
129534
- controlListWithOnlyOne() {
129878
+ controlListWithOnlyOne(focusOnInput = true) {
129535
129879
  var _a, _b;
129536
129880
  const source = (_a = this._visibleOptions) === null || _a === void 0 ? void 0 : _a.filter((opt) => opt.label !== "" && opt.value != undefined);
129537
129881
  if ((source === null || source === void 0 ? void 0 : source.length) > 0) {
@@ -129542,7 +129886,7 @@ const EzSearch$1 = class extends HTMLElement$1 {
129542
129886
  value: (_b = source[0].value) === null || _b === void 0 ? void 0 : _b.replace(startHighlight, '').replace(endHighlight, ''),
129543
129887
  label: title === null || title === void 0 ? void 0 : title.replace(startHighlight, '').replace(endHighlight, '')
129544
129888
  };
129545
- this.selectOption(option);
129889
+ this.selectOption(option, focusOnInput);
129546
129890
  }
129547
129891
  }
129548
129892
  controlEmptySearch() {
@@ -129668,6 +130012,11 @@ const EzSearch$1 = class extends HTMLElement$1 {
129668
130012
  }
129669
130013
  });
129670
130014
  });
130015
+ if (this.autoFocus) {
130016
+ requestAnimationFrame(() => {
130017
+ this.setFocus({ selectText: true });
130018
+ });
130019
+ }
129671
130020
  }
129672
130021
  //---------------------------------------------
129673
130022
  // Event handlers
@@ -129737,12 +130086,16 @@ const EzSearch$1 = class extends HTMLElement$1 {
129737
130086
  }
129738
130087
  switch (event.key) {
129739
130088
  case "ArrowDown":
129740
- this.nextOption();
129741
130089
  event.stopPropagation();
130090
+ if (this.canShowListOptions())
130091
+ event.preventDefault();
130092
+ this.nextOption();
129742
130093
  break;
129743
130094
  case "ArrowUp":
129744
- this.previousOption();
129745
130095
  event.stopPropagation();
130096
+ if (this.canShowListOptions())
130097
+ event.preventDefault();
130098
+ this.previousOption();
129746
130099
  break;
129747
130100
  case "Enter":
129748
130101
  this.handleEventPropagation(event);
@@ -129753,7 +130106,7 @@ const EzSearch$1 = class extends HTMLElement$1 {
129753
130106
  break;
129754
130107
  case "Tab":
129755
130108
  this._tabPressed = true;
129756
- this.controlListWithOnlyOne();
130109
+ this.controlListWithOnlyOne(false);
129757
130110
  break;
129758
130111
  }
129759
130112
  //ATENÇÃO: Existe a necessidade de propagar o evento de teclado.
@@ -131216,7 +131569,7 @@ const EzTabselector$1 = class extends HTMLElement$1 {
131216
131569
  static get style() { return ezTabselectorCss; }
131217
131570
  };
131218
131571
 
131219
- const ezTextAreaCss = ":host{--text-area--width:100%;--text-area--border-radius:var(--border--radius-medium, 12px);--text-area--font-size:var(--text--medium, 14px);--text-area--font-family:var(--font-pattern, Arial);--text-area--font-weight:var(--text-weight--medium, 400);--text-area--color:var(--title--primary, #2B3A54);--text-area__input--background-color:var(--background--light, #FFFFFF);--text-area__input--border:var(--border--medium, 2px solid);--text-area__input--border-color:var(--color--strokes,#DCE0E8);--text-area__input--focus--border-color:var(--color--primary, #008561);--text-area__input--disabled--background-color:var(--background--medium, #F0F3F7);--text-area__input--disabled--color:var(--text--primary, #626E82);--text-area__input--disabled--border--color:var(--color--strokes,#DCE0E8);--text-area__input--error--border-color:var(--color-alert--error-800,#BD0025);--text-area__message_box--font-size:var(--text--small, 12px);--text-area__message_box--info--color:var(--color--success, #22085d);--text-area__message_box--error--color:var(--color-alert--error-800,#BD0025);--text-area__label--floating--top:6px;--text-area__label--padding-top:12px;--text-area__label--padding-left:14px;--text-area__label--padding-right:12px;display:flex;flex-wrap:wrap;position:relative;width:var(--text-area--width)}textarea{box-sizing:border-box;border:none;resize:none;width:100%;padding:0;background:none;font-weight:var(--text-area--font-weight);font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);color:var(--text-area--color);margin-top:calc(var(--space--medium, 12px) + 4px)}textarea:focus{outline:none}textarea:disabled{background-color:transparent;color:var(--text-area__input--disabled--color);border:var(--text-area__input--disabled--border);cursor:not-allowed}.textarea{width:100%;box-sizing:border-box;padding-left:var(--space--medium);padding-right:var(--space--extra-small);border-radius:var(--text-area--border-radius);border:var(--text-area__input--border);border-color:var(--text-area__input--border-color);background-color:var(--text-area__input--background-color)}.textarea--disabled{border-radius:var(--text-area--border-radius);border:var(--text-area__input--border);border-color:var(--text-area__input--disabled--border--color);background-color:var(--text-area__input--disabled--background-color);cursor:not-allowed}.textarea--resizable{resize:both}.textarea--focus{border-color:var(--text-area__input--focus--border-color)}.textarea.hasError{color:var(--text-area--color);border-color:var(--text-area__input--error--border-color)}.message-box{min-height:16px;min-width:100%;margin-top:3px;line-height:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--text-area--font-family);font-size:var(--text-area__message_box--font-size);color:var(--text-area__message_box--info--color)}.hasError{color:var(--text-area__message_box--error--color)}.textarea__label{box-sizing:border-box;position:absolute;z-index:var(--visible);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:font-size .05s, top .05s;transition:font-size .05s, top .05s;width:calc(100% - var(--text-area__label--padding-right));left:var(--text-area--space--medium);font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color);top:var(--text-area__label--padding-top);left:var(--text-area__label--padding-left);padding-right:var(--text-area__label--padding-right)}.textarea__label--floated{font-family:var(--text-area--font-family);font-size:var(--text--extra-small);color:var(--text--primary);top:var(--text-area__label--floating--top)}.textarea__label--disabled{color:var(--text-area__input--disabled--color);cursor:not-allowed}.textarea--slim{margin-top:var(--space--small, 6px)}.textarea--slim::-webkit-input-placeholder{font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color)}.textarea--slim:-moz-placeholder{font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color)}.textarea--slim::-moz-placeholder{font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color)}.textarea--slim:-ms-input-placeholder{font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color)}.textarea--slim::placeholder{font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color)}.textarea--slim:disabled::-webkit-input-placeholder,.textarea--slim:disabled:-moz-placeholder,.textarea--slim:disabled::-moz-placeholder,.textarea--slim:disabled:-ms-input-placeholder,.textarea--slim:disabled::placeholder{color:var(--text-area__input--disabled--color);cursor:not-allowed}";
131572
+ const ezTextAreaCss = ":host{--text-area--width:100%;--text-area--border-radius:var(--border--radius-medium, 12px);--text-area--font-size:var(--text--medium, 14px);--text-area--font-family:var(--font-pattern, Arial);--text-area--font-weight:var(--text-weight--medium, 400);--text-area--color:var(--title--primary, #2B3A54);--text-area__input--background-color:var(--background--light, #FFFFFF);--text-area__input--border:var(--border--medium, 2px solid);--text-area__input--border-color:var(--color--strokes,#DCE0E8);--text-area__input--focus--border-color:var(--color--primary, #008561);--text-area__input--disabled--background-color:var(--background--medium, #F0F3F7);--text-area__input--disabled--color:var(--text--primary, #626E82);--text-area__input--disabled--border--color:var(--color--strokes,#DCE0E8);--text-area__input--error--border-color:var(--color-alert--error-800,#BD0025);--text-area__message_box--font-size:var(--text--small, 12px);--text-area__message_box--info--color:var(--color--success, #22085d);--text-area__message_box--error--color:var(--color-alert--error-800,#BD0025);--text-area__label--floating--top:6px;--text-area__label--padding-top:12px;--text-area__label--padding-left:14px;--text-area__label--padding-right:12px;--text-area__scrollbar--color-default:var(--scrollbar--default, #626e82);--text-area__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--text-area__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--text-area__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--text-area__scrollbar--border-radius:var(--border--radius-small, 6px);--text-area__scrollbar--width:var(--space--medium, 12px);display:flex;flex-wrap:wrap;position:relative;width:var(--text-area--width)}textarea{box-sizing:border-box;border:none;resize:none;width:100%;padding:0;background:none;font-weight:var(--text-area--font-weight);font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);color:var(--text-area--color);margin-top:calc(var(--space--medium, 12px) + 4px);scrollbar-width:thin;scrollbar-color:var(--text-area__scrollbar--color-clicked) var(--text-area__scrollbar--color-background)}textarea:focus{outline:none}textarea:disabled{background-color:transparent;color:var(--text-area__input--disabled--color);border:var(--text-area__input--disabled--border);cursor:not-allowed}textarea::-webkit-scrollbar{background-color:var(--text-area__scrollbar--color-background);width:var(--text-area__scrollbar--width);max-width:var(--text-area__scrollbar--width);min-width:var(--text-area__scrollbar--width)}textarea::-webkit-scrollbar-thumb{background-color:var(--text-area__scrollbar--color-default);border-radius:var(--text-area__scrollbar--border-radius)}textarea::-webkit-scrollbar-track{background-color:var(--text-area__scrollbar--color-background);border-radius:var(--text-area__scrollbar--border-radius)}textarea::-webkit-scrollbar-thumb:vertical:hover,textarea::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--text-area__scrollbar--color-hover)}textarea::-webkit-scrollbar-thumb:vertical:active,textarea::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--text-area__scrollbar--color-clicked)}.textarea{width:100%;box-sizing:border-box;padding-left:var(--space--medium);padding-right:var(--space--extra-small);border-radius:var(--text-area--border-radius);border:var(--text-area__input--border);border-color:var(--text-area__input--border-color);background-color:var(--text-area__input--background-color)}.textarea--disabled{border-radius:var(--text-area--border-radius);border:var(--text-area__input--border);border-color:var(--text-area__input--disabled--border--color);background-color:var(--text-area__input--disabled--background-color);cursor:not-allowed}.textarea--resizable{resize:both}.textarea--focus{border-color:var(--text-area__input--focus--border-color)}.textarea.hasError{color:var(--text-area--color);border-color:var(--text-area__input--error--border-color)}.message-box{min-height:16px;min-width:100%;margin-top:3px;line-height:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--text-area--font-family);font-size:var(--text-area__message_box--font-size);color:var(--text-area__message_box--info--color)}.hasError{color:var(--text-area__message_box--error--color)}.textarea__label{box-sizing:border-box;position:absolute;z-index:var(--visible);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:font-size .05s, top .05s;transition:font-size .05s, top .05s;width:calc(100% - var(--text-area__label--padding-right));left:var(--text-area--space--medium);font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color);top:var(--text-area__label--padding-top);left:var(--text-area__label--padding-left);padding-right:var(--text-area__label--padding-right)}.textarea__label--floated{font-family:var(--text-area--font-family);font-size:var(--text--extra-small);color:var(--text--primary);top:var(--text-area__label--floating--top)}.textarea__label--disabled{color:var(--text-area__input--disabled--color);cursor:not-allowed}.textarea--slim{margin-top:var(--space--small, 6px)}.textarea--slim::-webkit-input-placeholder{font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color)}.textarea--slim:-moz-placeholder{font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color)}.textarea--slim::-moz-placeholder{font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color)}.textarea--slim:-ms-input-placeholder{font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color)}.textarea--slim::placeholder{font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color)}.textarea--slim:disabled::-webkit-input-placeholder,.textarea--slim:disabled:-moz-placeholder,.textarea--slim:disabled::-moz-placeholder,.textarea--slim:disabled:-ms-input-placeholder,.textarea--slim:disabled::placeholder{color:var(--text-area__input--disabled--color);cursor:not-allowed}";
131220
131573
 
131221
131574
  const EzTextArea$1 = class extends HTMLElement$1 {
131222
131575
  constructor() {
@@ -131224,6 +131577,8 @@ const EzTextArea$1 = class extends HTMLElement$1 {
131224
131577
  this.__registerHost();
131225
131578
  this.__attachShadow();
131226
131579
  this.ezChange = createEvent(this, "ezChange", 7);
131580
+ this.LINE_HEIGHT = 24;
131581
+ this.HEIGHT_RATIO = 1.4;
131227
131582
  this.label = undefined;
131228
131583
  this.value = undefined;
131229
131584
  this.enabled = true;
@@ -131232,6 +131587,8 @@ const EzTextArea$1 = class extends HTMLElement$1 {
131232
131587
  this.canShowError = true;
131233
131588
  this.mode = "regular";
131234
131589
  this.enableResize = false;
131590
+ this.autoRows = false;
131591
+ this.autoFocus = false;
131235
131592
  }
131236
131593
  observeErrorMessage() {
131237
131594
  var _a, _b, _c, _d;
@@ -131269,8 +131626,17 @@ const EzTextArea$1 = class extends HTMLElement$1 {
131269
131626
  observeRows() {
131270
131627
  const rows = this.rows > 0 ? this.rows : this.mode != "slim" ? 4 : 2;
131271
131628
  if (rows !== this.rows) {
131272
- this.rows = rows;
131273
- this._initialRows = rows;
131629
+ this.updateRows(rows);
131630
+ }
131631
+ }
131632
+ observeAutoRows() {
131633
+ var _a, _b;
131634
+ if (this.autoRows) {
131635
+ (_a = this._resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
131636
+ this.initializeResizeObserver();
131637
+ }
131638
+ else {
131639
+ (_b = this._resizeObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
131274
131640
  }
131275
131641
  }
131276
131642
  //---------------------------------------------
@@ -131339,6 +131705,42 @@ const EzTextArea$1 = class extends HTMLElement$1 {
131339
131705
  isFocused() {
131340
131706
  return this._hostElement.shadowRoot.activeElement !== null;
131341
131707
  }
131708
+ updateRows(newRows) {
131709
+ this.rows = newRows;
131710
+ this._initialRows = newRows;
131711
+ }
131712
+ calculateMaxRows() {
131713
+ const parentElement = this._hostElement.parentElement;
131714
+ if (!parentElement) {
131715
+ return;
131716
+ }
131717
+ const height = Math.max((parentElement === null || parentElement === void 0 ? void 0 : parentElement.clientHeight) || 0, this.LINE_HEIGHT);
131718
+ if (height > 0) {
131719
+ const maxRows = Math.floor(height / this.LINE_HEIGHT * this.HEIGHT_RATIO);
131720
+ if (maxRows !== this.rows) {
131721
+ this.updateRows(maxRows);
131722
+ }
131723
+ }
131724
+ }
131725
+ initializeResizeObserver() {
131726
+ if (!this.autoRows) {
131727
+ return;
131728
+ }
131729
+ const parentElement = this._hostElement.parentElement;
131730
+ if (parentElement) {
131731
+ try {
131732
+ if (this._resizeObserver != undefined) {
131733
+ this._resizeObserver.unobserve(parentElement);
131734
+ }
131735
+ this._resizeObserver = new ResizeObserver(this.calculateMaxRows.bind(this));
131736
+ this._resizeObserver.observe(parentElement);
131737
+ }
131738
+ catch (e) {
131739
+ console.warn(e);
131740
+ }
131741
+ this.calculateMaxRows();
131742
+ }
131743
+ }
131342
131744
  //---------------------------------------------
131343
131745
  // Event handlers
131344
131746
  //---------------------------------------------
@@ -131361,6 +131763,13 @@ const EzTextArea$1 = class extends HTMLElement$1 {
131361
131763
  this._container.classList.add("textarea--focus");
131362
131764
  }
131363
131765
  }
131766
+ connectedCallback() {
131767
+ this.initializeResizeObserver();
131768
+ }
131769
+ disconnectedCallback() {
131770
+ var _a;
131771
+ (_a = this._resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
131772
+ }
131364
131773
  //---------------------------------------------
131365
131774
  // Lifecycle web component
131366
131775
  //---------------------------------------------
@@ -131368,6 +131777,11 @@ const EzTextArea$1 = class extends HTMLElement$1 {
131368
131777
  this.observeErrorMessage();
131369
131778
  this.adjustFloatingLabel();
131370
131779
  this.observeMode();
131780
+ if (this.autoFocus) {
131781
+ requestAnimationFrame(() => {
131782
+ this.setFocus();
131783
+ });
131784
+ }
131371
131785
  }
131372
131786
  render() {
131373
131787
  ElementIDUtils.addIDInfoIfNotExists(this._hostElement, 'input');
@@ -131384,7 +131798,8 @@ const EzTextArea$1 = class extends HTMLElement$1 {
131384
131798
  "errorMessage": ["observeErrorMessage"],
131385
131799
  "value": ["observeValue"],
131386
131800
  "mode": ["observeMode"],
131387
- "rows": ["observeRows"]
131801
+ "rows": ["observeRows"],
131802
+ "autoRows": ["observeAutoRows"]
131388
131803
  }; }
131389
131804
  static get style() { return ezTextAreaCss; }
131390
131805
  };
@@ -131487,7 +131902,7 @@ const EzTextEdit$1 = class extends HTMLElement$1 {
131487
131902
  static get style() { return ezTextEditCss; }
131488
131903
  };
131489
131904
 
131490
- const ezTextInputCss = ":host{--ez-text-input--height:42px;--ez-text-input--width:100%;--ez-text-input__icon--width:48px;--ez-text-input__icon--left--width:var(--ez-text-input__icon--width);--ez-text-input__icon--right--width:var(--ez-text-input__icon--width);--ez-text-input--height--slim:32px;--ez-text-input--border-radius:var(--border--radius-medium, 12px);--ez-text-input--font-size:var(--text--medium, 14px);--ez-text-input--font-family:var(--font-pattern, Arial);--ez-text-input--font-weight:var(--text-weight--medium, 400);--ez-text-input--color:var(--title--primary, #2B3A54);--ez-text-input__input--background-color:var(--background--light, #ffffff);--ez-text-input__input--border:var(--border--small, 1px solid);--ez-text-input__input--border-color:var(--color--strokes,#DCE0E8);--ez-text-input__input--focus--border-color:var(--color--primary, #008561);--ez-text-input__input--disabled--background-color:var(--background--medium, #F0F3F7);--ez-text-input__input--disabled--color:var(--text--primary, #626E82);--ez-text-input__input--error--border-color:var(--color-alert--error-800,#BD0025);--ez-text-input__input--noborder-color:white;--ez-text-input__input--padding:var(--space--medium, 6px);--ez-text-input__message_box--font-size:var(--text--extra-small, 10px);--ez-text-input__message_box--info--color:var(--color--success, #22085d);--ez-text-input__message_box--error--color:var(--color-alert--error-800,#BD0025);--ez-text-input__label--floating--top:6px;--ez-text-input__label--padding-top:12px;--ez-text-input__label--padding-left:14px;--ez-text-input__label--padding-right:12px;--ez-text-input__input--focus--icon-color:var(--title--primary, #2B3A54);--ez-text-input__input--disabled--focus--icon-color:var(--text--primary, #626E82);display:flex;flex-wrap:wrap;position:relative;width:var(--ez-text-input--width)}:host(.grid_editor){--ez-text-input--height--slim:25px}input{width:100%;box-sizing:border-box;height:var(--ez-text-input--height);border-radius:var(--ez-text-input--border-radius);font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);border:var(--ez-text-input__input--border);border-color:var(--ez-text-input__input--border-color);background-color:var(--ez-text-input__input--background-color);color:var(--ez-text-input--color);font-weight:var(--ez-text-input--font-weight);padding:var(--ez-text-input__input--padding);text-overflow:ellipsis;overflow:hidden}input:disabled{background-color:var(--ez-text-input__input--disabled--background-color);color:var(--ez-text-input__input--disabled--color);cursor:not-allowed}input:focus{outline:none;border-color:var(--ez-text-input__input--focus--border-color)}input.icon--left{padding-left:var(--ez-text-input__icon--left--width)}input.icon--right{padding-right:var(--ez-text-input__icon--right--width)}input.hasError{color:var(--ez-text-input--color);border-color:var(--ez-text-input__input--error--border-color)}input:disabled.hasError{color:var(--ez-text-input__input--disabled--color)}input.text--right{text-align:right}input:disabled,input:read-only{cursor:not-allowed}.message-box{min-height:14px;min-width:100%;margin-top:3px;line-height:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input__message_box--font-size);color:var(--ez-text-input__message_box--info--color)}.hasError{color:var(--ez-text-input__message_box--error--color)}.input__label{box-sizing:border-box;position:absolute;z-index:var(--visible);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:font-size .05s, top .05s;transition:font-size .05s, top .05s;width:calc(100% - var(--ez-text-input__label--padding-right));left:var(--ez-text-input--space--medium);font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);font-weight:var(--ez-text-input--font-weight);color:var(--ez-text-input--color);top:var(--ez-text-input__label--padding-top);left:var(--ez-text-input__label--padding-left);padding-right:var(--ez-text-input__label--padding-right)}.input__label--floated{font-family:var(--ez-text-input--font-family);font-size:var(--text--extra-small);color:var(--text--primary);top:var(--ez-text-input__label--floating--top)}.input__label--disabled{color:var(--ez-text-input__input--disabled--color);cursor:not-allowed}.input__label--left.input__label--right{left:calc(var(--ez-text-input__icon--left--width) + 2px);width:calc(100% - (var(--ez-text-input__icon--right--width) + var(--ez-text-input__icon--left--width)))}.input__label--left{text-align:left;left:calc(var(--ez-text-input__icon--left--width) + 2px);width:calc(100% - var(--ez-text-input__icon--left--width))}.input__label--right{right:var(--ez-text-input__icon--right--width);width:calc(100% - var(--ez-text-input__icon--right--width))}.input--with--label{padding-bottom:0}.input--slim{padding-top:var(--space--small, 3px);padding-bottom:var(--space--small, 3px);height:var(--ez-text-input--height--slim)}.input__slim--title{font-size:16px;font-weight:bold}.input--slim::-webkit-input-placeholder{font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);font-weight:var(--ez-text-input--font-weight);color:var(--ez-text-input--color)}.input--slim:-moz-placeholder{font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);font-weight:var(--ez-text-input--font-weight);color:var(--ez-text-input--color)}.input--slim::-moz-placeholder{font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);font-weight:var(--ez-text-input--font-weight);color:var(--ez-text-input--color)}.input--slim:-ms-input-placeholder{font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);font-weight:var(--ez-text-input--font-weight);color:var(--ez-text-input--color)}.input--slim::placeholder{font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);font-weight:var(--ez-text-input--font-weight);color:var(--ez-text-input--color)}.input--slim:disabled::-webkit-input-placeholder,.input--slim:disabled:-moz-placeholder,.input--slim:disabled::-moz-placeholder,.input--slim:disabled:-ms-input-placeholder,.input--slim:disabled::placeholder{color:var(--ez-text-input__input--disabled--color)}input.input__slim--noborder{box-shadow:0 0 0 0;border:0 none;outline:0;background:var(--ez-text-input__input--noborder-color)}";
131905
+ const ezTextInputCss = ":host{--ez-text-input--height:42px;--ez-text-input--width:100%;--ez-text-input__icon--width:48px;--ez-text-input--height--slim:32px;--ez-text-input--border-radius:var(--border--radius-medium, 12px);--ez-text-input--font-size:var(--text--medium, 14px);--ez-text-input--font-family:var(--font-pattern, Arial);--ez-text-input--font-weight:var(--text-weight--medium, 400);--ez-text-input--color:var(--title--primary, #2B3A54);--ez-text-input__input--background-color:var(--background--light, #ffffff);--ez-text-input__input--border:var(--border--small, 1px solid);--ez-text-input__input--border-color:var(--color--strokes,#DCE0E8);--ez-text-input__input--focus--border-color:var(--color--primary, #008561);--ez-text-input__input--disabled--background-color:var(--background--medium, #F0F3F7);--ez-text-input__input--disabled--color:var(--text--primary, #626E82);--ez-text-input__input--error--border-color:var(--color-alert--error-800,#BD0025);--ez-text-input__input--noborder-color:white;--ez-text-input__input--padding:var(--space--medium, 6px);--ez-text-input__placeholder--color:var(--text--secondary, #a2abb9);--ez-text-input__message_box--font-size:var(--text--extra-small, 10px);--ez-text-input__message_box--info--color:var(--color--success, #22085d);--ez-text-input__message_box--error--color:var(--color-alert--error-800,#BD0025);--ez-text-input__label--floating--top:6px;--ez-text-input__label--padding-top:12px;--ez-text-input__label--padding-left:14px;--ez-text-input__label--padding-right:12px;--ez-text-input__input--focus--icon-color:var(--title--primary, #2B3A54);--ez-text-input__input--disabled--focus--icon-color:var(--text--primary, #626E82);display:flex;flex-wrap:wrap;position:relative;width:var(--ez-text-input--width)}:host(.grid_editor){--ez-text-input--height--slim:25px}input{width:100%;box-sizing:border-box;height:var(--ez-text-input--height);border-radius:var(--ez-text-input--border-radius);font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);border:var(--ez-text-input__input--border);border-color:var(--ez-text-input__input--border-color);background-color:var(--ez-text-input__input--background-color);color:var(--ez-text-input--color);font-weight:var(--ez-text-input--font-weight);padding:var(--ez-text-input__input--padding)}input:disabled{background-color:var(--ez-text-input__input--disabled--background-color);color:var(--ez-text-input__input--disabled--color);cursor:not-allowed}input:focus{outline:none;border-color:var(--ez-text-input__input--focus--border-color)}input.icon--left{padding-left:var(--ez-text-input__icon--width)}input.icon--right{padding-right:var(--ez-text-input__icon--width)}input.hasError{color:var(--ez-text-input--color);border-color:var(--ez-text-input__input--error--border-color)}input:disabled.hasError{color:var(--ez-text-input__input--disabled--color)}input.text--right{text-align:right}input:disabled,input:read-only{cursor:not-allowed}.message-box{min-height:14px;min-width:100%;margin-top:3px;line-height:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input__message_box--font-size);color:var(--ez-text-input__message_box--info--color)}.hasError{color:var(--ez-text-input__message_box--error--color)}.input__label{box-sizing:border-box;position:absolute;z-index:var(--visible);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:font-size .05s, top .05s;transition:font-size .05s, top .05s;width:calc(100% - var(--ez-text-input__label--padding-right));left:var(--ez-text-input--space--medium);font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);font-weight:var(--ez-text-input--font-weight);color:var(--ez-text-input--color);top:var(--ez-text-input__label--padding-top);left:var(--ez-text-input__label--padding-left);padding-right:var(--ez-text-input__label--padding-right)}.input__label--floated{font-family:var(--ez-text-input--font-family);font-size:var(--text--extra-small);color:var(--text--primary);top:var(--ez-text-input__label--floating--top)}.input__label--disabled{color:var(--ez-text-input__input--disabled--color);cursor:not-allowed}.input__label--left{text-align:left;left:calc(var(--ez-text-input__icon--width) + 2px);width:calc(100% - var(--ez-text-input__icon--width))}.input__label--right{right:var(--ez-text-input__icon--width);width:calc(100% - var(--ez-text-input__icon--width))}.input__label--left.input__label--right{left:calc(var(--ez-text-input__icon--width) + 2px);width:calc(100% - var(--ez-text-input__icon--width) * 2)}.input--with--label{padding-bottom:0}.input--slim{padding-top:var(--space--small, 3px);padding-bottom:var(--space--small, 3px);height:var(--ez-text-input--height--slim)}.input__slim--title{font-size:16px;font-weight:bold}.input--slim::-webkit-input-placeholder,.input--slim:-moz-placeholder,.input--slim::-moz-placeholder,.input--slim:-ms-input-placeholder,.input--slim::placeholder{font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);font-weight:var(--ez-text-input--font-weight);color:var(--ez-text-input__placeholder--color)}.input--slim:disabled::-webkit-input-placeholder,.input--slim:disabled:-moz-placeholder,.input--slim:disabled::-moz-placeholder,.input--slim:disabled:-ms-input-placeholder,.input--slim:disabled::placeholder{color:var(--ez-text-input__input--disabled--color)}input.input__slim--noborder{box-shadow:0 0 0 0;border:0 none;outline:0;background:var(--ez-text-input__input--noborder-color)}";
131491
131906
 
131492
131907
  const EzTextInput$1 = class extends HTMLElement$1 {
131493
131908
  constructor() {
@@ -131505,6 +131920,7 @@ const EzTextInput$1 = class extends HTMLElement$1 {
131505
131920
  this.mode = "regular";
131506
131921
  this.noBorder = false;
131507
131922
  this.password = false;
131923
+ this.autoFocus = false;
131508
131924
  }
131509
131925
  observeErrorMessage() {
131510
131926
  if (this._inputElem) {
@@ -131658,9 +132074,9 @@ const EzTextInput$1 = class extends HTMLElement$1 {
131658
132074
  content.style.justifyContent = "center";
131659
132075
  content.style.overflow = "hidden";
131660
132076
  content.style.top = "0px";
132077
+ content.style.width = "var(--ez-text-input__icon--width)";
131661
132078
  content.style.height = this.mode != "slim" ? "var(--ez-text-input--height)" : "var(--ez-text-input--height--slim)";
131662
132079
  if (slot.name == "leftIcon") {
131663
- content.style.width = "var(--ez-text-input__icon--left--width)";
131664
132080
  content.style.left = "0px";
131665
132081
  content.style.borderRadius = "var(--ez-text-input--border-radius) 0 0 var(--ez-text-input--border-radius)";
131666
132082
  this._inputElem.classList.add("icon--left");
@@ -131670,7 +132086,6 @@ const EzTextInput$1 = class extends HTMLElement$1 {
131670
132086
  this._contentLeftSlot = content;
131671
132087
  }
131672
132088
  else if (slot.name == "rightIcon") {
131673
- content.style.width = "var(--ez-text-input__icon--right--width)";
131674
132089
  content.style.right = "0px";
131675
132090
  content.style.borderRadius = "0 var(--ez-text-input--border-radius) var(--ez-text-input--border-radius) 0";
131676
132091
  this._inputElem.classList.add("icon--right");
@@ -131696,6 +132111,11 @@ const EzTextInput$1 = class extends HTMLElement$1 {
131696
132111
  this.observeMask();
131697
132112
  this.adjustFloatingLabel();
131698
132113
  this.adjustBorderInput();
132114
+ if (this.autoFocus) {
132115
+ requestAnimationFrame(() => {
132116
+ this.setFocus({ selectText: true });
132117
+ });
132118
+ }
131699
132119
  this._inputElem.addEventListener('focus', () => {
131700
132120
  this._inputElem.setSelectionRange(0, this._inputElem.value.length);
131701
132121
  });
@@ -131750,6 +132170,7 @@ const EzTimeInput$1 = class extends HTMLElement$1 {
131750
132170
  this.showSeconds = false;
131751
132171
  this.mode = "regular";
131752
132172
  this.canShowError = true;
132173
+ this.autoFocus = false;
131753
132174
  }
131754
132175
  observeErrorMessage() {
131755
132176
  var _a;
@@ -131870,6 +132291,11 @@ const EzTimeInput$1 = class extends HTMLElement$1 {
131870
132291
  //---------------------------------------------
131871
132292
  componentDidLoad() {
131872
132293
  CSSVarsUtils.applyVarsTextInput(this._elem, this._textInput);
132294
+ if (this.autoFocus) {
132295
+ requestAnimationFrame(() => {
132296
+ this.setFocus({ selectText: true });
132297
+ });
132298
+ }
131873
132299
  }
131874
132300
  componentWillLoad() {
131875
132301
  this.observeShowSeconds();
@@ -133236,30 +133662,30 @@ const EzChart = /*@__PURE__*/proxyCustomElement(EzChart$1, [1,"ez-chart",{"type"
133236
133662
  const EzCheck = /*@__PURE__*/proxyCustomElement(EzCheck$1, [1,"ez-check",{"label":[513],"value":[1540],"enabled":[1540],"indeterminate":[1540],"mode":[513],"compact":[4]}]);
133237
133663
  const EzChip = /*@__PURE__*/proxyCustomElement(EzChip$1, [1,"ez-chip",{"label":[513],"enabled":[516],"removePosition":[513,"remove-position"],"mode":[513],"value":[1540],"showNativeTooltip":[4,"show-native-tooltip"]}]);
133238
133664
  const EzCollapsibleBox = /*@__PURE__*/proxyCustomElement(EzCollapsibleBox$1, [1,"ez-collapsible-box",{"value":[1540],"boxBordered":[4,"box-bordered"],"label":[513],"subtitle":[513],"headerSize":[513,"header-size"],"iconPlacement":[513,"icon-placement"],"headerAlign":[513,"header-align"],"removable":[516],"editable":[516],"conditionalSave":[16],"_activeEditText":[32]}]);
133239
- const EzComboBox = /*@__PURE__*/proxyCustomElement(EzComboBox$1, [1,"ez-combo-box",{"limitCharsToSearch":[2,"limit-chars-to-search"],"value":[1537],"label":[513],"enabled":[516],"options":[1040],"errorMessage":[1537,"error-message"],"showSelectedValue":[4,"show-selected-value"],"showOptionValue":[4,"show-option-value"],"suppressSearch":[4,"suppress-search"],"optionLoader":[16],"suppressEmptyOption":[4,"suppress-empty-option"],"stopPropagateEnterKeyEvent":[4,"stop-propagate-enter-key-event"],"canShowError":[516,"can-show-error"],"mode":[513],"hideErrorOnFocusOut":[4,"hide-error-on-focus-out"],"listOptionsPosition":[16],"isTextSearch":[4,"is-text-search"],"_preSelection":[32],"_visibleOptions":[32],"_startLoading":[32],"_showLoading":[32],"_criteria":[32]},[[11,"scroll","scrollListener"]]]);
133665
+ const EzComboBox = /*@__PURE__*/proxyCustomElement(EzComboBox$1, [1,"ez-combo-box",{"limitCharsToSearch":[2,"limit-chars-to-search"],"value":[1537],"label":[513],"enabled":[516],"options":[1040],"errorMessage":[1537,"error-message"],"showSelectedValue":[4,"show-selected-value"],"showOptionValue":[4,"show-option-value"],"suppressSearch":[4,"suppress-search"],"optionLoader":[16],"suppressEmptyOption":[4,"suppress-empty-option"],"stopPropagateEnterKeyEvent":[4,"stop-propagate-enter-key-event"],"canShowError":[516,"can-show-error"],"mode":[513],"hideErrorOnFocusOut":[4,"hide-error-on-focus-out"],"listOptionsPosition":[16],"isTextSearch":[4,"is-text-search"],"autoFocus":[4,"auto-focus"],"_preSelection":[32],"_visibleOptions":[32],"_startLoading":[32],"_showLoading":[32],"_criteria":[32]},[[11,"scroll","scrollListener"]]]);
133240
133666
  const EzCustomFormInput = /*@__PURE__*/proxyCustomElement(EzCustomFormInput$1, [2,"ez-custom-form-input",{"customEditor":[16],"formViewField":[16],"value":[1032],"detailContext":[1,"detail-context"],"builderFallback":[16],"selectedRecord":[16],"gui":[32]}]);
133241
- const EzDateInput = /*@__PURE__*/proxyCustomElement(EzDateInput$1, [1,"ez-date-input",{"label":[513],"value":[1040],"enabled":[516],"errorMessage":[1537,"error-message"],"mode":[513],"canShowError":[516,"can-show-error"]}]);
133242
- const EzDateTimeInput = /*@__PURE__*/proxyCustomElement(EzDateTimeInput$1, [1,"ez-date-time-input",{"label":[513],"value":[1040],"enabled":[516],"errorMessage":[1537,"error-message"],"showSeconds":[516,"show-seconds"],"mode":[513],"canShowError":[516,"can-show-error"]}]);
133667
+ const EzDateInput = /*@__PURE__*/proxyCustomElement(EzDateInput$1, [1,"ez-date-input",{"label":[513],"value":[1040],"enabled":[516],"errorMessage":[1537,"error-message"],"mode":[513],"canShowError":[516,"can-show-error"],"autoFocus":[4,"auto-focus"]}]);
133668
+ const EzDateTimeInput = /*@__PURE__*/proxyCustomElement(EzDateTimeInput$1, [1,"ez-date-time-input",{"label":[513],"value":[1040],"enabled":[516],"errorMessage":[1537,"error-message"],"showSeconds":[516,"show-seconds"],"mode":[513],"canShowError":[516,"can-show-error"],"autoFocus":[4,"auto-focus"]}]);
133243
133669
  const EzDialog = /*@__PURE__*/proxyCustomElement(EzDialog$1, [1,"ez-dialog",{"confirm":[1028],"dialogType":[1025,"dialog-type"],"message":[1025],"opened":[1540],"personalizedIconPath":[1025,"personalized-icon-path"],"ezTitle":[1025,"ez-title"],"beforeClose":[1040]},[[8,"keydown","handleKeyDown"]]]);
133244
133670
  const EzDropdown = /*@__PURE__*/proxyCustomElement(EzDropdown$1, [1,"ez-dropdown",{"items":[1040],"value":[1040],"itemBuilder":[16]},[[4,"click","handleClickOutside"]]]);
133245
133671
  const EzFileItem = /*@__PURE__*/proxyCustomElement(EzFileItem$1, [1,"ez-file-item",{"canRemove":[4,"can-remove"],"fileName":[1,"file-name"],"iconName":[1,"icon-name"],"fileSize":[2,"file-size"],"progress":[2]}]);
133246
- const EzFilterInput = /*@__PURE__*/proxyCustomElement(EzFilterInput$1, [1,"ez-filter-input",{"label":[1],"value":[1537],"enabled":[4],"errorMessage":[1537,"error-message"],"restrict":[1],"mode":[513],"asyncSearch":[516,"async-search"],"canShowError":[516,"can-show-error"],"enabledIconClick":[4,"enabled-icon-click"]}]);
133672
+ const EzFilterInput = /*@__PURE__*/proxyCustomElement(EzFilterInput$1, [1,"ez-filter-input",{"label":[1],"value":[1537],"enabled":[4],"errorMessage":[1537,"error-message"],"restrict":[1],"mode":[513],"asyncSearch":[516,"async-search"],"canShowError":[516,"can-show-error"],"autoFocus":[4,"auto-focus"]}]);
133247
133673
  const EzForm = /*@__PURE__*/proxyCustomElement(EzForm$1, [2,"ez-form",{"dataUnit":[1040],"config":[16],"recordsValidator":[16],"fieldToFocus":[1,"field-to-focus"],"onlyStaticFields":[4,"only-static-fields"],"_fieldsProps":[32]}]);
133248
133674
  const EzFormView = /*@__PURE__*/proxyCustomElement(EzFormView$1, [2,"ez-form-view",{"fields":[16],"selectedRecord":[16],"_customEditors":[32]}]);
133249
- 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],"useEnterLikeTab":[4,"use-enter-like-tab"],"recordsValidator":[16],"canEdit":[4,"can-edit"],"autoFocus":[4,"auto-focus"],"paginationCounterMode":[1,"pagination-counter-mode"],"enableGridInsert":[4,"enable-grid-insert"],"enableContinuousInsert":[4,"enable-continuous-insert"],"_paginationInfo":[32],"_paginationChangedByKeyboard":[32],"_showSelectionCounter":[32],"_isAllSelection":[32],"_currentPageSelected":[32],"_selectionCount":[32],"_hasLeftButtons":[32],"_customFormatters":[32]},[[0,"ezSelectionChange","onSelectionChange"]]]);
133675
+ 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],"useEnterLikeTab":[4,"use-enter-like-tab"],"recordsValidator":[16],"canEdit":[4,"can-edit"],"autoFocus":[4,"auto-focus"],"paginationCounterMode":[1,"pagination-counter-mode"],"enableGridInsert":[4,"enable-grid-insert"],"enableContinuousInsert":[4,"enable-continuous-insert"],"enableLockManger":[4,"enable-lock-manger"],"_paginationInfo":[32],"_paginationChangedByKeyboard":[32],"_showSelectionCounter":[32],"_isAllSelection":[32],"_currentPageSelected":[32],"_selectionCount":[32],"_hasLeftButtons":[32],"_customFormatters":[32]},[[0,"ezSelectionChange","onSelectionChange"],[2,"click","handleClick"]]]);
133250
133676
  const EzGuideNavigator = /*@__PURE__*/proxyCustomElement(EzGuideNavigator$1, [1,"ez-guide-navigator",{"open":[1540],"selectedId":[1537,"selected-id"],"items":[16],"tooltipResolver":[16],"filterText":[32]}]);
133251
133677
  const EzIcon = /*@__PURE__*/proxyCustomElement(EzIcon$1, [1,"ez-icon",{"size":[513],"href":[513],"iconName":[513,"icon-name"]}]);
133252
- const EzList = /*@__PURE__*/proxyCustomElement(EzList$1, [2,"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"],"disableShortcuts":[4,"disable-shortcuts"],"_listItems":[32],"_listGroupItems":[32],"_selectedItem":[32]}]);
133678
+ const EzList = /*@__PURE__*/proxyCustomElement(EzList$1, [2,"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]}]);
133253
133679
  const EzLoadingBar = /*@__PURE__*/proxyCustomElement(EzLoadingBar$1, [1,"ez-loading-bar",{"_showLoading":[32]}]);
133254
133680
  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"],"closeOutsideLeave":[4,"close-outside-leave"],"scrim":[1]}]);
133255
133681
  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"],"showCloseButton":[4,"show-close-button"]},[[4,"ezCloseModal","handleEzModalAction"]]]);
133256
133682
  const EzMultiSelectionList = /*@__PURE__*/proxyCustomElement(EzMuiltiSelectionList, [2,"ez-multi-selection-list",{"columnName":[1,"column-name"],"dataSource":[16],"useOptions":[1028,"use-options"],"options":[1040],"isTextSearch":[4,"is-text-search"],"filteredOptions":[32],"displayOptions":[32],"viewScenario":[32],"displayOptionToCheckAllItems":[32]}]);
133257
- const EzNumberInput = /*@__PURE__*/proxyCustomElement(EzNumberInput$1, [1,"ez-number-input",{"label":[1],"value":[1538],"enabled":[4],"canShowError":[516,"can-show-error"],"errorMessage":[1537,"error-message"],"allowNegative":[4,"allow-negative"],"precision":[2],"prettyPrecision":[2,"pretty-precision"],"mode":[513],"_value":[32]}]);
133683
+ const EzNumberInput = /*@__PURE__*/proxyCustomElement(EzNumberInput$1, [1,"ez-number-input",{"label":[1],"value":[1538],"enabled":[4],"canShowError":[516,"can-show-error"],"errorMessage":[1537,"error-message"],"allowNegative":[4,"allow-negative"],"precision":[2],"prettyPrecision":[2,"pretty-precision"],"mode":[513],"autoFocus":[4,"auto-focus"],"_value":[32]}]);
133258
133684
  const EzPopover = /*@__PURE__*/proxyCustomElement(EzPopover$1, [1,"ez-popover",{"autoClose":[516,"auto-close"],"boxWidth":[513,"box-width"],"opened":[1540],"innerElement":[1537,"inner-element"],"overlayType":[513,"overlay-type"]}]);
133259
133685
  const EzPopup = /*@__PURE__*/proxyCustomElement(EzPopup$1, [1,"ez-popup",{"size":[1],"opened":[1540],"useHeader":[516,"use-header"],"heightMode":[513,"height-mode"],"ezTitle":[1,"ez-title"],"enabledScroll":[4,"enabled-scroll"]}]);
133260
133686
  const EzRadioButton = /*@__PURE__*/proxyCustomElement(EzRadioButton$1, [1,"ez-radio-button",{"value":[1544],"options":[1040],"enabled":[516],"label":[513],"direction":[1537]}]);
133261
133687
  const EzScroller = /*@__PURE__*/proxyCustomElement(EzScroller$1, [1,"ez-scroller",{"direction":[1],"locked":[4],"activeShadow":[4,"active-shadow"],"isActive":[32]},[[2,"click","clickListener"],[1,"mousedown","mouseDownHandler"],[1,"mouseup","mouseUpHandler"],[1,"mousemove","mouseMoveHandler"]]]);
133262
- const EzSearch = /*@__PURE__*/proxyCustomElement(EzSearch$1, [1,"ez-search",{"value":[1537],"label":[1537],"enabled":[1540],"errorMessage":[1537,"error-message"],"optionLoader":[16],"showSelectedValue":[4,"show-selected-value"],"showOptionValue":[4,"show-option-value"],"suppressEmptyOption":[4,"suppress-empty-option"],"stopPropagateEnterKeyEvent":[4,"stop-propagate-enter-key-event"],"mode":[513],"canShowError":[516,"can-show-error"],"hideErrorOnFocusOut":[4,"hide-error-on-focus-out"],"listOptionsPosition":[16],"isTextSearch":[4,"is-text-search"],"ignoreLimitCharsToSearch":[4,"ignore-limit-chars-to-search"],"options":[1040],"suppressSearch":[4,"suppress-search"],"ensureClearButtonVisible":[4,"ensure-clear-button-visible"],"suppressPreLoad":[4,"suppress-pre-load"],"_preSelection":[32],"_visibleOptions":[32],"_startLoading":[32],"_showLoading":[32],"_showLoadingDescription":[32],"_criteria":[32]},[[11,"scroll","scrollListener"]]]);
133688
+ const EzSearch = /*@__PURE__*/proxyCustomElement(EzSearch$1, [1,"ez-search",{"value":[1537],"label":[1537],"enabled":[1540],"errorMessage":[1537,"error-message"],"optionLoader":[16],"showSelectedValue":[4,"show-selected-value"],"showOptionValue":[4,"show-option-value"],"suppressEmptyOption":[4,"suppress-empty-option"],"stopPropagateEnterKeyEvent":[4,"stop-propagate-enter-key-event"],"mode":[513],"canShowError":[516,"can-show-error"],"hideErrorOnFocusOut":[4,"hide-error-on-focus-out"],"listOptionsPosition":[16],"isTextSearch":[4,"is-text-search"],"ignoreLimitCharsToSearch":[4,"ignore-limit-chars-to-search"],"options":[1040],"suppressSearch":[4,"suppress-search"],"ensureClearButtonVisible":[4,"ensure-clear-button-visible"],"suppressPreLoad":[4,"suppress-pre-load"],"autoFocus":[4,"auto-focus"],"_preSelection":[32],"_visibleOptions":[32],"_startLoading":[32],"_showLoading":[32],"_showLoadingDescription":[32],"_criteria":[32]},[[11,"scroll","scrollListener"]]]);
133263
133689
  const EzSidebarButton = /*@__PURE__*/proxyCustomElement(EzSidebarButton$1, [1,"ez-sidebar-button"]);
133264
133690
  const EzSidebarNavigator = /*@__PURE__*/proxyCustomElement(EzSidebarNavigator$1, [1,"ez-sidebar-navigator",{"type":[1],"mode":[1025],"size":[1],"isResponsive":[4,"is-responsive"],"titleMenu":[1,"title-menu"],"showCollapseMenu":[4,"show-collapse-menu"],"showFixedButton":[4,"show-fixed-button"],"open":[32]}]);
133265
133691
  const EzSkeleton = /*@__PURE__*/proxyCustomElement(EzSkeleton$1, [0,"ez-skeleton",{"count":[2],"variant":[1],"width":[1],"height":[1],"marginBottom":[1,"margin-bottom"],"animation":[1]}]);
@@ -133267,10 +133693,10 @@ const EzSplitButton = /*@__PURE__*/proxyCustomElement(EzSplitButton$1, [1,"ez-sp
133267
133693
  const EzSplitItem = /*@__PURE__*/proxyCustomElement(SplitItem, [4,"ez-split-item",{"label":[1],"enableExpand":[516,"enable-expand"],"size":[1],"_expanded":[32]}]);
133268
133694
  const EzSplitPanel = /*@__PURE__*/proxyCustomElement(SplitPanel, [0,"ez-split-panel",{"direction":[1],"anchorToExpand":[4,"anchor-to-expand"]}]);
133269
133695
  const EzTabselector = /*@__PURE__*/proxyCustomElement(EzTabselector$1, [1,"ez-tabselector",{"selectedIndex":[1538,"selected-index"],"selectedTab":[1537,"selected-tab"],"tabs":[1],"_processedTabs":[32]}]);
133270
- const EzTextArea = /*@__PURE__*/proxyCustomElement(EzTextArea$1, [1,"ez-text-area",{"label":[513],"value":[1537],"enabled":[516],"errorMessage":[1537,"error-message"],"rows":[1538],"canShowError":[516,"can-show-error"],"mode":[513],"enableResize":[516,"enable-resize"]}]);
133696
+ const EzTextArea = /*@__PURE__*/proxyCustomElement(EzTextArea$1, [1,"ez-text-area",{"label":[513],"value":[1537],"enabled":[516],"errorMessage":[1537,"error-message"],"rows":[1538],"canShowError":[516,"can-show-error"],"mode":[513],"enableResize":[516,"enable-resize"],"autoRows":[516,"auto-rows"],"autoFocus":[4,"auto-focus"]}]);
133271
133697
  const EzTextEdit = /*@__PURE__*/proxyCustomElement(EzTextEdit$1, [1,"ez-text-edit",{"value":[1],"styled":[16],"_newValue":[32]}]);
133272
- const EzTextInput = /*@__PURE__*/proxyCustomElement(EzTextInput$1, [1,"ez-text-input",{"label":[513],"value":[1537],"enabled":[516],"errorMessage":[1537,"error-message"],"mask":[1],"canShowError":[516,"can-show-error"],"restrict":[1],"mode":[513],"noBorder":[516,"no-border"],"password":[4]}]);
133273
- const EzTimeInput = /*@__PURE__*/proxyCustomElement(EzTimeInput$1, [1,"ez-time-input",{"label":[513],"value":[1026],"enabled":[516],"errorMessage":[1537,"error-message"],"showSeconds":[516,"show-seconds"],"mode":[513],"canShowError":[516,"can-show-error"]}]);
133698
+ const EzTextInput = /*@__PURE__*/proxyCustomElement(EzTextInput$1, [1,"ez-text-input",{"label":[513],"value":[1537],"enabled":[516],"errorMessage":[1537,"error-message"],"mask":[1],"canShowError":[516,"can-show-error"],"restrict":[1],"mode":[513],"noBorder":[516,"no-border"],"password":[4],"autoFocus":[4,"auto-focus"]}]);
133699
+ const EzTimeInput = /*@__PURE__*/proxyCustomElement(EzTimeInput$1, [1,"ez-time-input",{"label":[513],"value":[1026],"enabled":[516],"errorMessage":[1537,"error-message"],"showSeconds":[516,"show-seconds"],"mode":[513],"canShowError":[516,"can-show-error"],"autoFocus":[4,"auto-focus"]}]);
133274
133700
  const EzToast = /*@__PURE__*/proxyCustomElement(EzToast$1, [1,"ez-toast",{"message":[1025],"fadeTime":[1026,"fade-time"],"useIcon":[1028,"use-icon"],"canClose":[1028,"can-close"]}]);
133275
133701
  const EzTree = /*@__PURE__*/proxyCustomElement(EzTree$1, [1,"ez-tree",{"items":[1040],"value":[1040],"selectedId":[1537,"selected-id"],"iconResolver":[16],"tooltipResolver":[16],"_tree":[32],"_waintingForLoad":[32]},[[2,"keydown","onKeyDownListener"]]]);
133276
133702
  const EzUpload = /*@__PURE__*/proxyCustomElement(EzUpload$1, [1,"ez-upload",{"label":[1],"subtitle":[1],"enabled":[4],"maxFileSize":[2,"max-file-size"],"maxFiles":[2,"max-files"],"requestHeaders":[8,"request-headers"],"urlUpload":[1,"url-upload"],"urlDelete":[1,"url-delete"],"value":[1040]}]);