@sankhyalabs/ezui 0.0.0-bugfix-dev-KB-52057.0 → 0.0.0-bugfix-dev-59880.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/cjs/ICustomRender-6fafffce.js +13 -0
  2. package/dist/cjs/ez-actions-button.cjs.entry.js +1 -0
  3. package/dist/cjs/ez-alert-list.cjs.entry.js +6 -4
  4. package/dist/cjs/ez-button.cjs.entry.js +2 -2
  5. package/dist/cjs/ez-collapsible-box.cjs.entry.js +1 -0
  6. package/dist/cjs/ez-combo-box.cjs.entry.js +1 -0
  7. package/dist/cjs/{ez-text-edit.cjs.entry.js → ez-custom-form-input_2.cjs.entry.js} +86 -0
  8. package/dist/cjs/ez-date-input.cjs.entry.js +1 -0
  9. package/dist/cjs/ez-form-view.cjs.entry.js +36 -4
  10. package/dist/cjs/ez-form.cjs.entry.js +51 -2
  11. package/dist/cjs/ez-grid.cjs.entry.js +322 -19
  12. package/dist/cjs/ez-list.cjs.entry.js +1 -1
  13. package/dist/cjs/ez-modal-container.cjs.entry.js +2 -2
  14. package/dist/cjs/ez-number-input.cjs.entry.js +9 -2
  15. package/dist/cjs/ez-search.cjs.entry.js +6 -2
  16. package/dist/cjs/ez-split-item.cjs.entry.js +2 -1
  17. package/dist/cjs/ezui.cjs.js +1 -1
  18. package/dist/cjs/index-a7b0c73d.js +4 -4
  19. package/dist/cjs/loader.cjs.js +1 -1
  20. package/dist/collection/collection-manifest.json +1 -0
  21. package/dist/collection/components/ez-alert-list/ez-alert-list.js +6 -4
  22. package/dist/collection/components/ez-button/ez-button.css +7 -0
  23. package/dist/collection/components/ez-button/ez-button.js +1 -1
  24. package/dist/collection/components/ez-date-input/ez-date-input.js +1 -0
  25. package/dist/collection/components/ez-form/ez-form.js +130 -4
  26. package/dist/collection/components/ez-form-view/custom-input/ez-custom-form-input.js +245 -0
  27. package/dist/collection/components/ez-form-view/ez-form-view.js +92 -2
  28. package/dist/collection/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.js +3 -2
  29. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +62 -4
  30. package/dist/collection/components/ez-grid/controller/ag-grid/GridEditionManager.js +35 -1
  31. package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.js +58 -0
  32. package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomCellRender.js +40 -0
  33. package/dist/collection/components/ez-grid/controller/ag-grid/components/test/constants/EzGridCustomCellEditorConstants.js +11 -0
  34. package/dist/collection/components/ez-grid/controller/ag-grid/components/test/constants/EzGridCustomCellRenderConstants.js +11 -0
  35. package/dist/collection/components/ez-grid/controller/ag-grid/editor/EzCellEditor.js +6 -3
  36. package/dist/collection/components/ez-grid/controller/ag-grid/editor/EzCellRender.js +40 -0
  37. package/dist/collection/components/ez-grid/controller/ag-grid/editor/IUICellRender.js +1 -0
  38. package/dist/collection/components/ez-grid/ez-grid.js +206 -2
  39. package/dist/collection/components/ez-grid/interfaces/ICustomFormatter.js +1 -0
  40. package/dist/collection/components/ez-grid/interfaces/index.js +1 -0
  41. package/dist/collection/components/ez-grid/subcomponents/selection-counter.js +3 -11
  42. package/dist/collection/components/ez-grid/subcomponents/utils/selectionCounterUtils.js +22 -0
  43. package/dist/collection/components/ez-grid/test/resources/gridDataUnit.js +19 -0
  44. package/dist/collection/components/ez-list/ez-list.css +6 -2
  45. package/dist/collection/components/ez-modal-container/ez-modal-container.css +4 -0
  46. package/dist/collection/components/ez-modal-container/ez-modal-container.js +1 -1
  47. package/dist/collection/components/ez-number-input/ez-number-input.js +12 -1
  48. package/dist/collection/components/ez-search/ez-search.js +5 -2
  49. package/dist/collection/components/ez-split-panel/structure/item/ez-split-item.js +1 -1
  50. package/dist/collection/utils/customEditor/interfaces/ICustomEditor.js +5 -0
  51. package/dist/collection/utils/customEditor/interfaces/ICustomEditorInfo.js +1 -0
  52. package/dist/collection/utils/customRender/interfaces/ICustomRender.js +5 -0
  53. package/dist/collection/utils/customRender/interfaces/ICustomRenderInfo.js +1 -0
  54. package/dist/collection/utils/index.js +2 -0
  55. package/dist/custom-elements/index.d.ts +6 -0
  56. package/dist/custom-elements/index.js +539 -44
  57. package/dist/esm/ICustomRender-875b5a40.js +13 -0
  58. package/dist/esm/ez-actions-button.entry.js +1 -0
  59. package/dist/esm/ez-alert-list.entry.js +6 -4
  60. package/dist/esm/ez-button.entry.js +2 -2
  61. package/dist/esm/ez-collapsible-box.entry.js +1 -0
  62. package/dist/esm/ez-combo-box.entry.js +1 -0
  63. package/dist/esm/{ez-text-edit.entry.js → ez-custom-form-input_2.entry.js} +88 -3
  64. package/dist/esm/ez-date-input.entry.js +1 -0
  65. package/dist/esm/ez-form-view.entry.js +36 -4
  66. package/dist/esm/ez-form.entry.js +51 -2
  67. package/dist/esm/ez-grid.entry.js +322 -19
  68. package/dist/esm/ez-list.entry.js +1 -1
  69. package/dist/esm/ez-modal-container.entry.js +2 -2
  70. package/dist/esm/ez-number-input.entry.js +9 -2
  71. package/dist/esm/ez-search.entry.js +6 -2
  72. package/dist/esm/ez-split-item.entry.js +2 -1
  73. package/dist/esm/ezui.js +1 -1
  74. package/dist/esm/index-baa5e267.js +4 -4
  75. package/dist/esm/loader.js +1 -1
  76. package/dist/ezui/ezui.esm.js +1 -1
  77. package/dist/ezui/p-09de35a2.entry.js +1 -0
  78. package/dist/ezui/p-13d2fe2d.entry.js +1 -0
  79. package/dist/ezui/{p-384247cd.entry.js → p-1f96ba9a.entry.js} +2 -2
  80. package/dist/ezui/p-204b1439.entry.js +1 -0
  81. package/dist/ezui/p-2b8da3a4.entry.js +1 -0
  82. package/dist/ezui/p-30775e7f.entry.js +1 -0
  83. package/dist/ezui/p-4607fb89.js +1 -0
  84. package/dist/ezui/{p-2a1a0e04.entry.js → p-77362d3a.entry.js} +1 -1
  85. package/dist/ezui/{p-8defa6d3.entry.js → p-786559c5.entry.js} +1 -1
  86. package/dist/ezui/p-7922142b.entry.js +1 -0
  87. package/dist/ezui/p-84e439b9.entry.js +1 -0
  88. package/dist/ezui/p-922ac38b.entry.js +1 -0
  89. package/dist/ezui/p-bae4e180.entry.js +1 -0
  90. package/dist/ezui/p-bcb53f27.entry.js +1 -0
  91. package/dist/ezui/p-c942e4a7.entry.js +1 -0
  92. package/dist/ezui/p-e90dd4eb.entry.js +1 -0
  93. package/dist/types/components/ez-alert-list/ez-alert-list.d.ts +2 -2
  94. package/dist/types/components/ez-form/ez-form.d.ts +20 -1
  95. package/dist/types/components/ez-form-view/custom-input/ez-custom-form-input.d.ts +41 -0
  96. package/dist/types/components/ez-form-view/ez-form-view.d.ts +11 -0
  97. package/dist/types/components/ez-grid/controller/EzGridController.d.ts +29 -0
  98. package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +11 -0
  99. package/dist/types/components/ez-grid/controller/ag-grid/GridEditionManager.d.ts +7 -1
  100. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.d.ts +19 -0
  101. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellRender.d.ts +14 -0
  102. package/dist/types/components/ez-grid/controller/ag-grid/components/test/constants/EzGridCustomCellEditorConstants.d.ts +11 -0
  103. package/dist/types/components/ez-grid/controller/ag-grid/components/test/constants/EzGridCustomCellRenderConstants.d.ts +11 -0
  104. package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellEditor.d.ts +3 -0
  105. package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellRender.d.ts +15 -0
  106. package/dist/types/components/ez-grid/controller/ag-grid/editor/IUICellRender.d.ts +10 -0
  107. package/dist/types/components/ez-grid/ez-grid.d.ts +30 -1
  108. package/dist/types/components/ez-grid/interfaces/ICustomFormatter.d.ts +5 -0
  109. package/dist/types/components/ez-grid/interfaces/index.d.ts +1 -0
  110. package/dist/types/components/ez-grid/subcomponents/utils/selectionCounterUtils.d.ts +4 -0
  111. package/dist/types/components/ez-grid/test/resources/gridDataUnit.d.ts +2 -0
  112. package/dist/types/components/ez-number-input/ez-number-input.d.ts +1 -0
  113. package/dist/types/components.d.ts +120 -4
  114. package/dist/types/utils/customEditor/interfaces/ICustomEditor.d.ts +29 -0
  115. package/dist/types/utils/customEditor/interfaces/ICustomEditorInfo.d.ts +5 -0
  116. package/dist/types/utils/customRender/interfaces/ICustomRender.d.ts +29 -0
  117. package/dist/types/utils/customRender/interfaces/ICustomRenderInfo.d.ts +5 -0
  118. package/dist/types/utils/index.d.ts +2 -0
  119. package/package.json +1 -1
  120. package/react/components.d.ts +1 -0
  121. package/react/components.js +1 -0
  122. package/react/components.js.map +1 -1
  123. package/dist/ezui/p-0447d17c.entry.js +0 -1
  124. package/dist/ezui/p-20ec22c0.entry.js +0 -1
  125. package/dist/ezui/p-44c5b6a5.entry.js +0 -1
  126. package/dist/ezui/p-5ef056ce.entry.js +0 -1
  127. package/dist/ezui/p-86ff298d.entry.js +0 -1
  128. package/dist/ezui/p-99ead599.entry.js +0 -1
  129. package/dist/ezui/p-9aefaa52.entry.js +0 -1
  130. package/dist/ezui/p-9f1e89c9.entry.js +0 -1
  131. package/dist/ezui/p-b041333c.entry.js +0 -1
  132. package/dist/ezui/p-b567fa8c.entry.js +0 -1
  133. package/dist/ezui/p-bae3d0aa.entry.js +0 -1
  134. package/dist/ezui/p-db77a984.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, WaitingChangeException, ApplicationContext, DataUnitAction, FloatingManager, ElementIDUtils, ObjectUtils as ObjectUtils$1, JSUtils, StringUtils as StringUtils$1, TimeFormatter, DataUnit, HTMLBuilder, 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, WaitingChangeException, ApplicationContext, DataUnitAction, FloatingManager, ElementIDUtils, ObjectUtils as ObjectUtils$1, JSUtils, StringUtils as StringUtils$1, HTMLBuilder, TimeFormatter, DataUnit, 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
@@ -872,6 +872,18 @@ class Bind {
872
872
  }
873
873
  }
874
874
 
875
+ var CustomEditorSource;
876
+ (function (CustomEditorSource) {
877
+ CustomEditorSource["GRID"] = "GRID";
878
+ CustomEditorSource["FORM"] = "FORM";
879
+ })(CustomEditorSource || (CustomEditorSource = {}));
880
+
881
+ var CustomRenderSource;
882
+ (function (CustomRenderSource) {
883
+ CustomRenderSource["GRID"] = "GRID";
884
+ CustomRenderSource["FORM"] = "FORM";
885
+ })(CustomRenderSource || (CustomRenderSource = {}));
886
+
875
887
  const ezActionsButtonCss = ":host{--ez-actions-button__actions-list--border-radius:var(--border--radius-medium, 12px);--ez-actions-button__actions-list--box-shadow:var(--shadow, 0px 0px 16px 0px #000);--ez-actions-button__actions-list--background-color:var(--background--xlight, #fff);--ez-actions-button__actions-list--padding:var(--space--small, 6px);--ez-actions-button__actions-list--top-margin:var(--space-small, 6px);--ez-actions-button__actions-list--z-index:var(--ez-elevation--8, 8);--ez-actions-button__actions-max-height:415px;--ez-actions-button__btn-action--min-width:'auto';--ez-actions-button__btn-action--background-color:var(--background--xlight, #fff);display:flex;flex-direction:column;height:fit-content;user-select:none}.ez-actions-button__actions-list{display:flex;flex-direction:column;position:fixed;width:fit-content;height:fit-content;overflow-y:auto;scrollbar-width:thin;z-index:var(--ez-actions-button__actions-list--z-index);padding:var(--ez-actions-button__actions-list--padding);margin-top:var(--ez-actions-button__actions-list--top-margin);background-color:var(--ez-actions-button__actions-list--background-color);border-radius:var(--ez-actions-button__actions-list--border-radius);box-shadow:var(--ez-actions-button__actions-list--box-shadow)}.ez-actions-button__actions-list--max-height{max-height:var(--ez-actions-button__actions-max-height)}.ez-actions-button__actions-list--lowered{margin-top:calc(var(--ez-actions-button__actions-list--top-margin) + 6px)}.ez-actions-button__btn-action{--ez-button--justify-content:flex-start;--ez-button--width:100%;--ez-button--min-width:var(--ez-actions-button__btn-action--min-width);--ez-button--background-color:var(--ez-actions-button__btn-action--background-color);--ez-button--font-weight:var(--text-weight--medium, 400);--ez-button--padding-left:var(--space--medium, 12px);--ez-button--padding-right:var(--space--medium, 12px)}.ez-actions-button__btn-action--spaced{--ez-button--padding-left:calc(var(--space--medium, 12px) + 24px)}.ez-actions-button__icon-right{margin-left:var(--space--small, 6px)}.ez-actions-button__icon-check,.ez-actions-button__icon-item{position:absolute;left:var(--space--medium, 12px)}.ez-actions-button__icon-check{color:var(--ez-button--hover-color)}.ez-actions-button__arrow{position:absolute;border-left:10px solid transparent;border-right:10px solid transparent;width:0;height:0;z-index:calc(var(--ez-actions-button__actions-list--z-index) + 1);border-bottom:15px solid var(--ez-actions-button__btn-action--background-color)}.ez-actions-button__arrow--upped{margin-top:calc((var(--ez-actions-button__actions-list--top-margin) + 2px) * -1)}.ez-actions-button__arrow--small{margin-left:6px}.ez-actions-button__arrow--medium{margin-left:11px}.ez-actions-button__arrow--large{margin-left:13px}.ez-actions-button__arrow:only-child{display:none}.ez-actions-button__btn-transparent{--ez-button--background-color:transparent;--ez-button--hover--background-color:transparent;--ez-button--active--background-color:transparent;--ez-button--focus--border:none}.ez-actions-button__btn-label{--ez-button--padding-left:var(--space--medium, 12px);--ez-button--padding-right:var(--space--medium, 12px)}.ez-actions-button__list-container{position:relative}.ez-actions-button--bottom-padding{padding-bottom:var(--space--small, 6px)}";
876
888
 
877
889
  const EzActionsButton$1 = class extends HTMLElement$1 {
@@ -1163,10 +1175,12 @@ const EzAlertList$1 = class extends HTMLElement$1 {
1163
1175
  /**
1164
1176
  * Retorna o link para o titulo do alerta a partir do id.
1165
1177
  */
1166
- getLinkTitle(item) {
1178
+ getLinkActionClick(item) {
1167
1179
  var _a;
1168
- const link = (_a = this.alerts.find((alert, index) => this.alertId(alert.title, index) === item.id)) === null || _a === void 0 ? void 0 : _a.link;
1169
- return link !== null && link !== void 0 ? link : "#";
1180
+ const action = (_a = this.alerts.find((alert, index) => this.alertId(alert.title, index) === item.id)) === null || _a === void 0 ? void 0 : _a.onClickLink;
1181
+ if (action)
1182
+ return action;
1183
+ return () => { };
1170
1184
  }
1171
1185
  /**
1172
1186
  * Retorna o texto do título do alerta.
@@ -1258,7 +1272,7 @@ const EzAlertList$1 = class extends HTMLElement$1 {
1258
1272
  (h("div", { ref: elem => (this._overlayRef = elem) }, h("div", { class: `alert-list__container ${this.expanded ? 'expanded' : ''}`, ref: elem => (this._container = elem) }, h("div", { class: "alert-list__content" }, h("div", { class: "alert-list__header" }, h("div", { class: "alert-list__title" }, `Avisos (${this.alerts.length})`), h("div", { class: "alert-list__header__buttons" }, this.enableExpand && (h("ez-button", { mode: "icon", size: "small", iconName: "expand", onClick: () => this.toggleExpandContainer(), "data-element-id": ElementIDUtils.getInternalIDInfo('expandButton'), title: this.expanded ? 'Resumir' : 'Expandir' })), h("ez-button", { mode: "icon", size: "small", iconName: "close", "data-element-id": ElementIDUtils.getInternalIDInfo('closeButton'), onClick: () => {
1259
1273
  this.opened = false;
1260
1274
  }, title: 'Fechar' }))), h("div", { class: "alert-list__expandable-content" }, h("ez-list", { itemSlotBuilder: this.itemRightSlotBuilder, hoverFeedback: true, itemLeftSlotBuilder: item => {
1261
- return (h("a", { href: this.getLinkTitle(item), style: {
1275
+ return (h("a", { onClick: this.getLinkActionClick(item), style: {
1262
1276
  fontFamily: "var(--font-pattern, 'Roboto')",
1263
1277
  fontSize: 'var(--text--medium, 14px)',
1264
1278
  fontWeight: 'var(--text-weight--medium, 400)',
@@ -1697,7 +1711,7 @@ const EzBreadcrumb$1 = class extends HTMLElement$1 {
1697
1711
  static get style() { return ezBreadcrumbCss; }
1698
1712
  };
1699
1713
 
1700
- const ezButtonCss = ":host{--ez-button--min-width:100px;--ez-button--width:'auto';--ez-button--height:42px;--ez-button__icon--width:18px;--ez-button__inline__icon--padding:12px;--ez-button--padding-top:0px;--ez-button--padding-bottom:0px;--ez-button--padding-right:var(--space--large, 24px);--ez-button--padding-left:var(--space--large, 24px);--ez-button--color:var(--title--primary, #FFF);--ez-button--font-size:var(--text--medium, 14px);--ez-button--font-family:var(--font-pattern, Arial);--ez-button--font-weight:var(--text-weight--large);--ez-button--background-color:var(--background--medium, #c0c0c0);--ez-button--border-radius:var(--border--radius-large, 12px);--ez-button--border:none;--ez-button--justify-content:center;--ez-button--hover-color:var(--color--primary-600);--ez-button--hover--background-color:var(--background--medium, var(--ez-button--background-color));--ez-button--disabled-color:var(--text--disable);--ez-button--disabled--background-color:var(--color--disable-secondary);--ez-button--focus--border:var(--border--xlarge, 4px solid) var(--color--primary-300);--ez-button--focus--box-shadow:none;--ez-button--active-color:var(--color--primary-700);--ez-button--active--background-color:var(--background--strong);--ez-button--link-color:var(--color--primary, '#008561');--ez-button--link--hover-color:var(--color--primary-700, '#1C1D22');--ez-button--link--small--font-size:var(--text--small, 12px);--ez-button--link--medium--font-size:var(--text--medium, 14px);--ez-button--link--large--font-size:var(--text--large, 16px)}ez-icon{--ez-icon--color:inherit}button{position:relative;display:flex;align-items:center;margin:0;cursor:pointer;transition:background-color 0.2s linear;white-space:nowrap;min-width:var(--ez-button--min-width);width:var(--ez-button--width);height:var(--ez-button--height);font-family:var(--ez-button--font-family);font-size:var(--ez-button--font-size);font-weight:var(--ez-button--font-weight);padding:var(--ez-button--padding-top) var(--ez-button--padding-right) var(--ez-button--padding-bottom) var(--ez-button--padding-left);border-radius:var(--ez-button--border-radius);background-color:var(--ez-button--background-color);color:var(--ez-button--color);fill:var(--ez-button--color);border:var(--ez-button--border);justify-content:var(--ez-button--justify-content)}button:focus{outline:var(--ez-button--focus--border);box-shadow:var(--ez-button--focus--box-shadow)}button:hover{outline:none;background-color:var(--ez-button--hover--background-color);color:var(--ez-button--hover-color);fill:var(--ez-button--hover-color);--ez-icon--color:var(--ez-button--hover-color)}button:active{outline:none;box-shadow:none;background-color:var(--ez-button--active--background-color);color:var(--ez-button--active-color);fill:var(--ez-button--active-color);--ez-icon--color:var(--ez-button--active-color)}button:disabled{background-color:var(--ez-button--disabled--background-color);color:var(--ez-button--disabled-color);fill:var(--ez-button--disabled-color);border:none;--ez-icon--color:var(--ez-button--disabled-color);cursor:no-drop}.small{height:32px;--ez-button--font-size:var(--text--small, 12px)}.medium{height:42px}.large{height:46px}.btn-icon{padding:0px}.btn-icon--medium{width:42px;min-width:42px;height:42px}.btn-icon--small{width:32px;min-width:32px;height:32px}.btn-icon--large{width:46px;min-width:46px;height:46px}.label-icon{display:flex;flex-direction:column;align-items:center;color:var(--ez-button--color)}.label-icon:hover{color:var(--ez-button--hover-color);fill:var(--ez-button--hover-color);--ez-icon--color:var(--ez-button--hover-color)}.label-icon:active{color:var(--ez-button--active-color);fill:var(--ez-button--active-color);--ez-icon--color:var(--ez-button--active-color)}.label-icon label{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-family:var(--ez-button--font-family);font-size:var(--ez-button--font-size);font-weight:var(--ez-button--font-weight);user-select:none}button:disabled+label{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-family:var(--ez-button--font-family);font-size:var(--ez-button--font-size);font-weight:var(--ez-button--font-weight);color:var(--ez-button--disabled-color);cursor:no-drop}div.label-icon{cursor:pointer}div.label-icon,button:disabled{cursor:no-drop}a{font-family:var(--ez-button--font-family);font-weight:var(--ez-button--font-weight);color:var(--ez-button--link-color);cursor:pointer;display:flex;align-items:center;justify-content:center;}a:hover{color:var(--ez-button--link--hover-color)}a.small{font-size:var(--ez-button--link--small--font-size);line-height:var(--ez-button--link--small--font-size)}a.medium{font-size:var(--ez-button--link--medium--font-size);line-height:var(--ez-button--link--medium--font-size)}a.large{font-size:var(--ez-button--link--large--font-size);line-height:var(--ez-button--link--large--font-size)}";
1714
+ const ezButtonCss = ":host{--ez-button--min-width:100px;--ez-button--width:'auto';--ez-button--height:42px;--ez-button__icon--width:18px;--ez-button__inline__icon--padding:12px;--ez-button--padding-top:0px;--ez-button--padding-bottom:0px;--ez-button--padding-right:var(--space--large, 24px);--ez-button--padding-left:var(--space--large, 24px);--ez-button--color:var(--title--primary, #FFF);--ez-button--font-size:var(--text--medium, 14px);--ez-button--font-family:var(--font-pattern, Arial);--ez-button--font-weight:var(--text-weight--large);--ez-button--background-color:var(--background--medium, #c0c0c0);--ez-button--border-radius:var(--border--radius-large, 12px);--ez-button--border:none;--ez-button--justify-content:center;--ez-button--hover-color:var(--color--primary-600);--ez-button--hover--background-color:var(--background--medium, var(--ez-button--background-color));--ez-button--disabled-color:var(--text--disable);--ez-button--disabled--background-color:var(--color--disable-secondary);--ez-button--focus--border:var(--border--xlarge, 4px solid) var(--color--primary-300);--ez-button--focus--box-shadow:none;--ez-button--active-color:var(--color--primary-700);--ez-button--active--background-color:var(--background--strong);--ez-button--link-color:var(--color--primary, '#008561');--ez-button--link--hover-color:var(--color--primary-700, '#1C1D22');--ez-button--link-disabled-color:var(--color--disable-primary, '#e5eaf0');--ez-button--link--small--font-size:var(--text--small, 12px);--ez-button--link--medium--font-size:var(--text--medium, 14px);--ez-button--link--large--font-size:var(--text--large, 16px)}ez-icon{--ez-icon--color:inherit}button{position:relative;display:flex;align-items:center;margin:0;cursor:pointer;transition:background-color 0.2s linear;white-space:nowrap;min-width:var(--ez-button--min-width);width:var(--ez-button--width);height:var(--ez-button--height);font-family:var(--ez-button--font-family);font-size:var(--ez-button--font-size);font-weight:var(--ez-button--font-weight);padding:var(--ez-button--padding-top) var(--ez-button--padding-right) var(--ez-button--padding-bottom) var(--ez-button--padding-left);border-radius:var(--ez-button--border-radius);background-color:var(--ez-button--background-color);color:var(--ez-button--color);fill:var(--ez-button--color);border:var(--ez-button--border);justify-content:var(--ez-button--justify-content)}button:focus{outline:var(--ez-button--focus--border);box-shadow:var(--ez-button--focus--box-shadow)}button:hover{outline:none;background-color:var(--ez-button--hover--background-color);color:var(--ez-button--hover-color);fill:var(--ez-button--hover-color);--ez-icon--color:var(--ez-button--hover-color)}button:active{outline:none;box-shadow:none;background-color:var(--ez-button--active--background-color);color:var(--ez-button--active-color);fill:var(--ez-button--active-color);--ez-icon--color:var(--ez-button--active-color)}button:disabled{background-color:var(--ez-button--disabled--background-color);color:var(--ez-button--disabled-color);fill:var(--ez-button--disabled-color);border:none;--ez-icon--color:var(--ez-button--disabled-color);cursor:no-drop}.small{height:32px;--ez-button--font-size:var(--text--small, 12px)}.medium{height:42px}.large{height:46px}.btn-icon{padding:0px}.btn-icon--medium{width:42px;min-width:42px;height:42px}.btn-icon--small{width:32px;min-width:32px;height:32px}.btn-icon--large{width:46px;min-width:46px;height:46px}.label-icon{display:flex;flex-direction:column;align-items:center;color:var(--ez-button--color)}.label-icon:hover{color:var(--ez-button--hover-color);fill:var(--ez-button--hover-color);--ez-icon--color:var(--ez-button--hover-color)}.label-icon:active{color:var(--ez-button--active-color);fill:var(--ez-button--active-color);--ez-icon--color:var(--ez-button--active-color)}.label-icon label{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-family:var(--ez-button--font-family);font-size:var(--ez-button--font-size);font-weight:var(--ez-button--font-weight);user-select:none}button:disabled+label{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-family:var(--ez-button--font-family);font-size:var(--ez-button--font-size);font-weight:var(--ez-button--font-weight);color:var(--ez-button--disabled-color);cursor:no-drop}div.label-icon{cursor:pointer}div.label-icon,button:disabled{cursor:no-drop}a{font-family:var(--ez-button--font-family);font-weight:var(--ez-button--font-weight);color:var(--ez-button--link-color);cursor:pointer;display:flex;align-items:center;justify-content:center;}a:hover{color:var(--ez-button--link--hover-color)}a.small{font-size:var(--ez-button--link--small--font-size);line-height:var(--ez-button--link--small--font-size)}a.medium{font-size:var(--ez-button--link--medium--font-size);line-height:var(--ez-button--link--medium--font-size)}a.large{font-size:var(--ez-button--link--large--font-size);line-height:var(--ez-button--link--large--font-size)}a.disabled{color:var(--ez-button--link-disabled-color);cursor:not-allowed}";
1701
1715
 
1702
1716
  const EzButton$1 = class extends HTMLElement$1 {
1703
1717
  constructor() {
@@ -1768,7 +1782,7 @@ const EzButton$1 = class extends HTMLElement$1 {
1768
1782
  return (h("div", { class: "label-icon" }, h("button", { class: "btn-icon " + ((this.getIconSize()) ? `btn-icon--${this.getIconSize()}` : ""), type: "button", disabled: !this.enabled, ref: (el) => this._button = el }, h("ez-icon", { class: "icon", href: this.image, iconName: this.iconName, size: this.getIconSize() })), h("label", { title: this.label }, this.label)));
1769
1783
  }
1770
1784
  else if (this.mode == "link") {
1771
- return (h("a", { class: this.getIconSize(), ref: (el) => this._button = el }, h("slot", { name: "leftIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } }), this.label, h("slot", { name: "rightIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } })));
1785
+ return (h("a", { class: `${this.getIconSize()} ${!this.enabled ? "disabled" : ""}`, ref: (el) => this._button = el }, h("slot", { name: "leftIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } }), this.label, h("slot", { name: "rightIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } })));
1772
1786
  }
1773
1787
  else {
1774
1788
  return (h("button", { class: this.getIconSize(""), type: "button", disabled: !this.enabled, ref: (el) => this._button = el }, h("slot", { name: "leftIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } }), this.label, h("slot", { name: "rightIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } })));
@@ -2916,6 +2930,91 @@ var SearchMode$1;
2916
2930
  SearchMode["PREDICTIVE"] = "PREDICTIVE";
2917
2931
  })(SearchMode$1 || (SearchMode$1 = {}));
2918
2932
 
2933
+ const EzCustomFormInput$1 = class extends HTMLElement$1 {
2934
+ constructor() {
2935
+ super();
2936
+ this.__registerHost();
2937
+ this.gui = undefined;
2938
+ this.customEditor = undefined;
2939
+ this.formViewField = undefined;
2940
+ this.value = undefined;
2941
+ this.detailContext = undefined;
2942
+ this.builderFallback = undefined;
2943
+ }
2944
+ /**
2945
+ * Aplica foco no campo.
2946
+ */
2947
+ async setFocus() {
2948
+ var _a, _b;
2949
+ (_b = (_a = this.gui) === null || _a === void 0 ? void 0 : _a["setFocus"]) === null || _b === void 0 ? void 0 : _b.call(_a);
2950
+ }
2951
+ /**
2952
+ * Remove o foco do campo.
2953
+ */
2954
+ async setBlur() {
2955
+ var _a, _b;
2956
+ (_b = (_a = this.gui) === null || _a === void 0 ? void 0 : _a["setBlur"]) === null || _b === void 0 ? void 0 : _b.call(_a);
2957
+ }
2958
+ /**
2959
+ * Retorna se o conteúdo é inválido.
2960
+ */
2961
+ async isInvalid() {
2962
+ var _a, _b;
2963
+ return ((_b = (_a = this.gui) === null || _a === void 0 ? void 0 : _a["isInvalid"]) === null || _b === void 0 ? void 0 : _b.call(_a)) || false;
2964
+ }
2965
+ getContent() {
2966
+ var _a, _b;
2967
+ const fieldProps = new Map();
2968
+ for (const prop in this.formViewField.props) {
2969
+ fieldProps.set(prop, this.formViewField.props[prop]);
2970
+ }
2971
+ const params = {
2972
+ value: this.value,
2973
+ name: this.formViewField.name,
2974
+ currentEditor: this.builderFallback(this.formViewField),
2975
+ editorMetadata: {
2976
+ label: this.formViewField.label,
2977
+ hidden: ((_a = this.formViewField.props) === null || _a === void 0 ? void 0 : _a.visible) === false,
2978
+ userInterface: this.formViewField.userInterface,
2979
+ options: (_b = this.formViewField.props) === null || _b === void 0 ? void 0 : _b.options,
2980
+ props: this.formViewField.props ? fieldProps : undefined,
2981
+ optionLoader: this.formViewField.optionLoader
2982
+ },
2983
+ source: CustomEditorSource.FORM,
2984
+ detailContext: this.detailContext
2985
+ };
2986
+ let gui = this.customEditor.getEditorElement(params);
2987
+ if (!gui) {
2988
+ gui = this.builderFallback(this.formViewField);
2989
+ this.handleValue(gui);
2990
+ this.gui = gui;
2991
+ return;
2992
+ }
2993
+ if (!(gui instanceof HTMLElement$1) && typeof gui !== 'string') {
2994
+ this.handleValue(gui);
2995
+ this.gui = gui;
2996
+ return;
2997
+ }
2998
+ if (typeof gui === 'string') {
2999
+ gui = HTMLBuilder.parseElement(gui);
3000
+ }
3001
+ gui.setAttribute('value', this.value);
3002
+ this.gui = h("div", { key: StringUtils$1.generateUUID(), ref: el => el && el.appendChild(gui) });
3003
+ }
3004
+ handleValue(gui) {
3005
+ //@ts-ignore
3006
+ gui.$children$.forEach((child) => {
3007
+ child.$attrs$.value = this.value;
3008
+ });
3009
+ }
3010
+ componentWillRender() {
3011
+ this.getContent();
3012
+ }
3013
+ render() {
3014
+ return (h(Host, null, this.gui));
3015
+ }
3016
+ };
3017
+
2919
3018
  const ezDateInputCss = ":host{display:block;width:100%;--ez-date-input__input--background-color:var(--background--medium, #e0e0e0);--ez-date-input__input--border-color:var(--ez-date-input__input--background-color);--ez-date-input__calendar-image:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" height=\"16px\" width=\"15px\"><path d=\"M 3.171875,5.25 C 2.6485088,5.25 2.21875,5.6797588 2.21875,6.203125 2.21875,6.7264912 2.6485088,7.15625 3.171875,7.15625 3.6952412,7.15625 4.125,6.7264912 4.125,6.203125 4.125,5.6797588 3.6952412,5.25 3.171875,5.25 Z m 2.875,0 C 5.5235088,5.25 5.09375,5.6797588 5.09375,6.203125 5.09375,6.7264912 5.5235088,7.15625 6.046875,7.15625 6.5702412,7.15625 7,6.7264912 7,6.203125 7,5.6797588 6.5702412,5.25 6.046875,5.25 Z m 2.875,0 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.953125 0.953125,0.953125 0.5233662,0 0.9511719,-0.4297588 0.9511719,-0.953125 C 9.8730469,5.6797588 9.4452412,5.25 8.921875,5.25 Z m 2.873047,0 c -0.523366,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.429759,0.953125 0.953125,0.953125 0.523366,0 0.953125,-0.4297588 0.953125,-0.953125 C 12.748047,5.6797588 12.318288,5.25 11.794922,5.25 Z M 3.171875,8.1230469 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.9531251 0.953125,0.9531251 0.5233662,0 0.953125,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.875,0 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.9531251 0.953125,0.9531251 C 6.5702412,10.029297 7,9.5995381 7,9.0761719 7,8.5528057 6.5702412,8.1230469 6.046875,8.1230469 Z m 2.8554688,0 c -0.5233663,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297587,0.9531251 0.953125,0.9531251 0.5233661,0 0.9531249,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.9003902,0 c -0.523366,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.429759,0.9531251 0.953125,0.9531251 0.523367,0 0.953125,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.429758,-0.953125 -0.953125,-0.953125 z M 3.171875,10.998047 c -0.5233662,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297588,0.953125 0.953125,0.953125 0.5233662,0 0.953125,-0.429759 0.953125,-0.953125 0,-0.523366 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.875,0 c -0.5233662,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297588,0.953125 0.953125,0.953125 C 6.5702412,12.904297 7,12.474538 7,11.951172 7,11.427806 6.5702412,10.998047 6.046875,10.998047 Z m 2.8554688,0 c -0.5233663,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297587,0.953125 0.953125,0.953125 0.5233661,0 0.9531249,-0.429759 0.953125,-0.953125 0,-0.523366 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.9003902,0 c -0.523366,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.429759,0.953125 0.953125,0.953125 0.523367,0 0.953125,-0.429759 0.953125,-0.953125 0,-0.523366 -0.429758,-0.953125 -0.953125,-0.953125 z M 3.5,0 c -0.554,0 -1,0.446 -1,1 v 0.050781 C 1.0853217,1.2909766 0,2.5186658 0,4 v 9 c 0,1.652487 1.3475134,3 3,3 h 9 c 1.652487,0 3,-1.347513 3,-3 V 4 C 15,2.5186658 13.914678,1.2909766 12.5,1.0507812 V 1 c 0,-0.554 -0.446,-1 -1,-1 -0.554,0 -1,0.446 -1,1 h -2 c 0,-0.554 -0.446,-1 -1,-1 -0.554,0 -1,0.446 -1,1 h -2 C 4.5,0.446 4.054,0 3.5,0 Z m 1,2.0996094 h 2 v 0.640625 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 v -0.640625 h 2 v 0.640625 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 V 2.1738281 C 13.311725,2.3905225 13.900391,3.11278 13.900391,4 v 9 c 0,1.062113 -0.838278,1.900391 -1.900391,1.900391 H 3 C 1.9378864,14.900391 1.0996094,14.062113 1.0996094,13 V 4 C 1.0996094,3.11278 1.6882747,2.3905225 2.5,2.1738281 v 0.5664063 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 z\"/></svg>')}.btn-open-cal{outline:none;border:none;background-color:unset;cursor:pointer}.btn-open-cal:disabled{cursor:unset}.btn-open-cal::after{content:'';display:flex;background-color:var(--text--primary, #008561);width:15px;height:16px;-webkit-mask-image:var(--ez-date-input__calendar-image);mask-image:var(--ez-date-input__calendar-image)}.btn-open-cal:disabled:after{background-color:var(--text--disable, #AFB6C0)}.btn-open-cal:enabled:hover::after{background-color:var(--color--primary, #4e4e4e)}ez-text-input{--text-input__input--background-color:var(--ez-date-input__input--background-color, #FFFFFF);--text-input__input--border-color:var(--ez-date-input__input--border-color, #DCE0E8)}";
2920
3019
 
2921
3020
  const EzDateInput$1 = class extends HTMLElement$1 {
@@ -3041,6 +3140,7 @@ const EzDateInput$1 = class extends HTMLElement$1 {
3041
3140
  this.ezCancelWaitingChange.emit();
3042
3141
  }
3043
3142
  else {
3143
+ this._focused = false;
3044
3144
  this.changeValue(newValueValidated);
3045
3145
  }
3046
3146
  }
@@ -4612,15 +4712,18 @@ const EzForm$1 = class extends HTMLElement$1 {
4612
4712
  this.ezFormSetFields = createEvent(this, "ezFormSetFields", 7);
4613
4713
  this.ezReady = createEvent(this, "ezReady", 7);
4614
4714
  this.formItemsReady = createEvent(this, "formItemsReady", 7);
4715
+ this._customEditors = new Map();
4615
4716
  this.onDataUnitAction = (action) => {
4616
4717
  if (action.type === Action.METADATA_LOADED) {
4617
4718
  this.processMetadata();
4618
4719
  }
4619
4720
  };
4721
+ this._fieldsProps = new Map();
4620
4722
  this.dataUnit = undefined;
4621
4723
  this.config = undefined;
4622
4724
  this.recordsValidator = undefined;
4623
4725
  this.fieldToFocus = undefined;
4726
+ this.onlyStaticFields = false;
4624
4727
  }
4625
4728
  /**
4626
4729
  * Realiza validação no conteúdo de todos os campos.
@@ -4628,9 +4731,30 @@ const EzForm$1 = class extends HTMLElement$1 {
4628
4731
  validate() {
4629
4732
  return this._dataBinder.validate();
4630
4733
  }
4734
+ /**
4735
+ * Registra um editor customizado para campos da grade e formulário.
4736
+ */
4737
+ async addCustomEditor(fieldName, customEditor, detailContext) {
4738
+ if (this._formView) {
4739
+ this._formView.addCustomEditor(fieldName, customEditor, detailContext);
4740
+ return;
4741
+ }
4742
+ const newCustomEditors = new Map(this._customEditors);
4743
+ newCustomEditors.set(fieldName, { customEditor, detailContext });
4744
+ this._customEditors = newCustomEditors;
4745
+ }
4631
4746
  observeConfig() {
4632
4747
  this.processMetadata();
4633
4748
  }
4749
+ /**
4750
+ * Altera/adiciona uma propriedade nos metadados do campo.
4751
+ */
4752
+ async setFieldProp(fieldName, propName, value) {
4753
+ const newCustomFieldProps = new Map(this._fieldsProps);
4754
+ const currentProps = this._fieldsProps.get(fieldName);
4755
+ newCustomFieldProps.set(fieldName, Object.assign(Object.assign({}, currentProps), { [propName]: value }));
4756
+ this._fieldsProps = newCustomFieldProps;
4757
+ }
4634
4758
  getDynamicContent() {
4635
4759
  var _a;
4636
4760
  const formMD = selectFormMetadata(this._store.getState());
@@ -4657,10 +4781,10 @@ const EzForm$1 = class extends HTMLElement$1 {
4657
4781
  }
4658
4782
  this.ezFormSetFields.emit(fields);
4659
4783
  const idFormSheet = `${StringUtils$1.replaceAccentuatedChars(StringUtils$1.toCamelCase(currentSheet === null || currentSheet === void 0 ? void 0 : currentSheet.label), false)}_selectorContainer`;
4660
- return (h("div", { class: "dynamic-content", "data-element-id": idFormSheet }, h("ez-form-view", { class: "ez-row ez-padding-vertical--small", fields: fields })));
4784
+ return (h("div", { class: "dynamic-content", "data-element-id": idFormSheet }, h("ez-form-view", { ref: (element) => (this._formView = element), class: "ez-row ez-padding-vertical--small", fields: fields })));
4661
4785
  }
4662
4786
  processMetadata() {
4663
- if (!this.isStatic() && this.dataUnit && this._store) {
4787
+ if (this.bindFields() && this.dataUnit && this._store) {
4664
4788
  const metadata = buildFormMetadata(this.config, this.dataUnit);
4665
4789
  this._store.dispatch(loadMetadata(metadata));
4666
4790
  }
@@ -4669,6 +4793,9 @@ const EzForm$1 = class extends HTMLElement$1 {
4669
4793
  var _a;
4670
4794
  return ((_a = this._staticFields) === null || _a === void 0 ? void 0 : _a.length) > 0;
4671
4795
  }
4796
+ bindFields() {
4797
+ return !this.isStatic() || this.onlyStaticFields === false;
4798
+ }
4672
4799
  componentWillLoad() {
4673
4800
  if (this.dataUnit === undefined) {
4674
4801
  this.dataUnit = new DataUnit("ez-form");
@@ -4688,6 +4815,17 @@ const EzForm$1 = class extends HTMLElement$1 {
4688
4815
  this._dataBinder.bind(Array.from(this._element.querySelectorAll("[data-field-name]")), this.dataUnit.dataUnitId, metadata, this.recordsValidator);
4689
4816
  this.ezReady.emit();
4690
4817
  this.handleFieldToFocus();
4818
+ this.setCustomEditors();
4819
+ this.setFieldsProps();
4820
+ }
4821
+ setCustomEditors() {
4822
+ if (!this._formView) {
4823
+ return;
4824
+ }
4825
+ for (const [fieldName, customEditorProps] of this._customEditors) {
4826
+ this._formView.addCustomEditor(fieldName, customEditorProps.customEditor, customEditorProps.detailContext);
4827
+ this._customEditors.delete(fieldName);
4828
+ }
4691
4829
  }
4692
4830
  handleFieldToFocus() {
4693
4831
  var _a;
@@ -4704,6 +4842,17 @@ const EzForm$1 = class extends HTMLElement$1 {
4704
4842
  this.ezFormRequestClearFieldToFocus.emit();
4705
4843
  });
4706
4844
  }
4845
+ setFieldsProps() {
4846
+ if (!this._formView) {
4847
+ return;
4848
+ }
4849
+ for (const [fieldName, props] of this._fieldsProps) {
4850
+ for (const prop in props) {
4851
+ this._formView.setFieldProp(fieldName, prop, props[prop]);
4852
+ }
4853
+ this._fieldsProps.delete(fieldName);
4854
+ }
4855
+ }
4707
4856
  disconnectedCallback() {
4708
4857
  this.dataUnit.unsubscribe(this.onDataUnitAction);
4709
4858
  this._dataBinder.onDisconnectedCallback();
@@ -4780,8 +4929,9 @@ const buildFile = ({ name, label, readOnly, contextName, props }) => {
4780
4929
  };
4781
4930
 
4782
4931
  const buildDecimal$1 = ({ name, label, readOnly, props, contextName, canShowError }) => {
4783
- const precision = Number((props === null || props === void 0 ? void 0 : props.precision) || 2);
4784
- const prettyPrecision = Number((props === null || props === void 0 ? void 0 : props.prettyPrecision) || precision);
4932
+ var _a, _b;
4933
+ const precision = Number((_a = props === null || props === void 0 ? void 0 : props.precision) !== null && _a !== void 0 ? _a : 2);
4934
+ const prettyPrecision = Number((_b = props === null || props === void 0 ? void 0 : props.prettyPrecision) !== null && _b !== void 0 ? _b : precision);
4785
4935
  return buildNumeric$1(name, label, readOnly, precision, prettyPrecision, contextName, canShowError);
4786
4936
  };
4787
4937
  const buildInteger$1 = ({ name, label, readOnly, contextName, canShowError }) => {
@@ -4871,11 +5021,35 @@ const EzFormView$1 = class extends HTMLElement$1 {
4871
5021
  this.__registerHost();
4872
5022
  this.ezContentReady = createEvent(this, "ezContentReady", 7);
4873
5023
  this.formItemsReady = createEvent(this, "formItemsReady", 7);
5024
+ this._customEditors = new Map();
4874
5025
  this.fields = undefined;
4875
5026
  }
4876
5027
  async showUp() {
4877
5028
  this._element.scrollIntoView({ behavior: "smooth", block: "start" });
4878
5029
  }
5030
+ /**
5031
+ * Registra um editor customizado para campos da grade e formulário.
5032
+ */
5033
+ async addCustomEditor(fieldName, customEditor, detailContext) {
5034
+ const newCustomEditors = new Map(this._customEditors);
5035
+ newCustomEditors.set(fieldName, { customEditor, detailContext });
5036
+ this._customEditors = newCustomEditors;
5037
+ }
5038
+ /**
5039
+ * Altera/adiciona uma propriedade nos metados do campo.
5040
+ */
5041
+ async setFieldProp(fieldName, propName, value) {
5042
+ const fields = this.fields.map(field => {
5043
+ if (field.name === fieldName) {
5044
+ field.props = field.props || {};
5045
+ if (value || value === 0) {
5046
+ field.props[propName] = value;
5047
+ }
5048
+ }
5049
+ return field;
5050
+ });
5051
+ this.fields = [...fields];
5052
+ }
4879
5053
  groupFields(fields) {
4880
5054
  const result = new Map();
4881
5055
  fields.forEach(item => {
@@ -4895,8 +5069,9 @@ const EzFormView$1 = class extends HTMLElement$1 {
4895
5069
  return result;
4896
5070
  }
4897
5071
  componentDidRender() {
4898
- this.ezContentReady.emit(Array.from(this._element.querySelectorAll("[data-field-name]")));
4899
- const formItems = new FormItems(Array.from(this._element.querySelectorAll("[data-form-item]")));
5072
+ this._formElements = Array.from(this._element.querySelectorAll("[data-field-name]"));
5073
+ this.ezContentReady.emit(this._formElements);
5074
+ const formItems = new FormItems(this._formElements);
4900
5075
  this.formItemsReady.emit(formItems);
4901
5076
  }
4902
5077
  isItemFullWidth(userInterface) {
@@ -4906,9 +5081,15 @@ const EzFormView$1 = class extends HTMLElement$1 {
4906
5081
  ].includes(userInterface);
4907
5082
  }
4908
5083
  buildFormItemElement(item, classItem = "") {
5084
+ var _a;
4909
5085
  if (this.isItemFullWidth(item.userInterface)) {
4910
5086
  classItem += " input-full_width";
4911
5087
  }
5088
+ if (this._customEditors.has(item.name)) {
5089
+ const value = (_a = this._formElements.map(el => ({ name: el.dataset.fieldName, value: el['value'] })).find(field => field.name === item.name)) === null || _a === void 0 ? void 0 : _a.value;
5090
+ const customEditor = this._customEditors.get(item.name).customEditor;
5091
+ return h("div", { class: classItem }, h("ez-custom-form-input", { "data-field-name": item.name, customEditor: customEditor, formViewField: item, builderFallback: fieldBuilder, value: value }));
5092
+ }
4912
5093
  return h("div", { class: classItem }, fieldBuilder(item));
4913
5094
  }
4914
5095
  render() {
@@ -124337,9 +124518,9 @@ class EzCellEditor {
124337
124518
  init(params) {
124338
124519
  const fieldName = params.column.getColId();
124339
124520
  const dataUnit = params.context.dataUnit;
124340
- const fieldMetadata = buildEditorMetadata(dataUnit.getField(fieldName), params.eGridCell, dataUnit, params.context.editionManager);
124341
- const builder = uiBuilders.get(fieldMetadata.userInterface) || buildTextInput;
124342
- this._gui = builder(fieldMetadata);
124521
+ this._fieldMetadata = buildEditorMetadata(dataUnit.getField(fieldName), params.eGridCell, dataUnit, params.context.editionManager);
124522
+ const builder = uiBuilders.get(this._fieldMetadata.userInterface) || buildTextInput;
124523
+ this._gui = builder(this._fieldMetadata);
124343
124524
  if (this._gui.valueSetter != undefined) {
124344
124525
  this._gui.valueSetter(params.value);
124345
124526
  }
@@ -124363,10 +124544,147 @@ class EzCellEditor {
124363
124544
  isPopup() {
124364
124545
  return this._gui.isPopUp;
124365
124546
  }
124547
+ getFieldMetadata() {
124548
+ return this._fieldMetadata;
124549
+ }
124550
+ }
124551
+
124552
+ class EzGridCustomCellEditor extends EzCellEditor {
124553
+ init(params) {
124554
+ var _a, _b;
124555
+ this._value = params.value;
124556
+ this._fieldName = params.column.getColId();
124557
+ this._customEditorInstance = params.customEditorsInfo.customEditor;
124558
+ super.init(params);
124559
+ this._defaultGui = this.getDefaultGui();
124560
+ const fieldMetadata = super.getFieldMetadata();
124561
+ this._params = {
124562
+ value: params.value,
124563
+ charPress: params.charPress,
124564
+ currentEditor: this._defaultGui,
124565
+ name: this._fieldName,
124566
+ source: CustomEditorSource.GRID,
124567
+ detailContext: params.customEditorsInfo.detailContext,
124568
+ setValue: (value) => this.setValue(value),
124569
+ getValue: () => this.getValue(),
124570
+ editorMetadata: {
124571
+ hidden: ((_a = fieldMetadata.props) === null || _a === void 0 ? void 0 : _a.visible) === false,
124572
+ label: fieldMetadata.label,
124573
+ userInterface: fieldMetadata.userInterface,
124574
+ props: fieldMetadata.props,
124575
+ optionLoader: fieldMetadata.optionLoader,
124576
+ options: ((_b = fieldMetadata.props) === null || _b === void 0 ? void 0 : _b.options) || {},
124577
+ }
124578
+ };
124579
+ }
124580
+ getDefaultGui() {
124581
+ const gui = super.getGui();
124582
+ gui.value = this._value;
124583
+ gui.onkeyup = (event) => {
124584
+ const value = event.target.value;
124585
+ this.setValue(value);
124586
+ };
124587
+ return gui;
124588
+ }
124589
+ getGui() {
124590
+ const editorElement = this._customEditorInstance.getEditorElement(this._params);
124591
+ if (!editorElement) {
124592
+ return this._defaultGui;
124593
+ }
124594
+ if (typeof editorElement === 'string') {
124595
+ const element = HTMLBuilder.parseElement(editorElement);
124596
+ return element;
124597
+ }
124598
+ return editorElement;
124599
+ }
124600
+ setValue(value) {
124601
+ this._value = value;
124602
+ }
124603
+ getValue() {
124604
+ return this._value;
124605
+ }
124606
+ }
124607
+
124608
+ class EzCellRender {
124609
+ init(params) {
124610
+ const span = document.createElement('span');
124611
+ this._currentParams = params;
124612
+ span.textContent = params.value;
124613
+ const fieldName = params.column.getColId();
124614
+ const dataUnit = params.context.dataUnit;
124615
+ this._fieldMetadata = buildEditorMetadata(dataUnit.getField(fieldName), params.eGridCell, dataUnit, params.context.editionManager);
124616
+ this._gui = span;
124617
+ }
124618
+ refresh() {
124619
+ try {
124620
+ this._currentParams.refreshCell();
124621
+ return true;
124622
+ }
124623
+ catch (_a) {
124624
+ return false;
124625
+ }
124626
+ }
124627
+ getGui() {
124628
+ return this._gui;
124629
+ }
124630
+ afterGuiAttached() {
124631
+ this.focusIn();
124632
+ }
124633
+ focusIn() {
124634
+ this._gui.focus();
124635
+ this._gui.setFocus({ selectText: true });
124636
+ }
124637
+ getValue() {
124638
+ return this._currentParams.getValue();
124639
+ }
124640
+ isPopup() {
124641
+ return this._gui.isPopUp;
124642
+ }
124643
+ getFieldMetadata() {
124644
+ return this._fieldMetadata;
124645
+ }
124646
+ }
124647
+
124648
+ class EzGridCustomCellRender extends EzCellRender {
124649
+ init(params) {
124650
+ var _a, _b;
124651
+ this._fieldName = params.column.getColId();
124652
+ this._customRenderInstance = params.customRendersInfo.customRender;
124653
+ super.init(params);
124654
+ const fieldMetadata = super.getFieldMetadata();
124655
+ this._params = {
124656
+ value: params.value,
124657
+ charPress: '',
124658
+ currentRender: super.getGui(),
124659
+ name: this._fieldName,
124660
+ source: CustomRenderSource.GRID,
124661
+ getValue: () => params.getValue(),
124662
+ detailContext: params.customRendersInfo.detailContext,
124663
+ renderMetadata: {
124664
+ hidden: ((_a = fieldMetadata.props) === null || _a === void 0 ? void 0 : _a.visible) === false,
124665
+ label: fieldMetadata.label,
124666
+ userInterface: fieldMetadata.userInterface,
124667
+ props: fieldMetadata.props,
124668
+ optionLoader: fieldMetadata.optionLoader,
124669
+ options: ((_b = fieldMetadata.props) === null || _b === void 0 ? void 0 : _b.options) || {},
124670
+ }
124671
+ };
124672
+ }
124673
+ getGui() {
124674
+ const editorElement = this._customRenderInstance.getRenderElement(this._params);
124675
+ if (!editorElement) {
124676
+ return super.getGui();
124677
+ }
124678
+ if (typeof editorElement === 'string') {
124679
+ const element = HTMLBuilder.parseElement(editorElement);
124680
+ return element;
124681
+ }
124682
+ return editorElement;
124683
+ }
124366
124684
  }
124367
124685
 
124368
124686
  class GridEditionManager {
124369
- constructor(dataUnit, useEnterLikeTab, recordsValidator, editionIsDisabled) {
124687
+ constructor(dataUnit, useEnterLikeTab, recordsValidator, editionIsDisabled, customEditors, customRenders) {
124370
124688
  this._dataUnit = dataUnit;
124371
124689
  this._recordValidationProcessor = new RecordValidationProcessor(this._dataUnit, {
124372
124690
  getRequiredFields: () => this.getRequiredFields(),
@@ -124375,6 +124693,8 @@ class GridEditionManager {
124375
124693
  }, recordsValidator);
124376
124694
  this._useEnterLikeTab = useEnterLikeTab;
124377
124695
  this._editionIsDisabled = editionIsDisabled;
124696
+ this._customEditors = customEditors;
124697
+ this._customRenders = customRenders;
124378
124698
  }
124379
124699
  configureGrid(options) {
124380
124700
  this._gridOptions = options;
@@ -124441,6 +124761,30 @@ class GridEditionManager {
124441
124761
  col.suppressKeyboardEvent = (params) => {
124442
124762
  return params.event.key === KeyCode.ENTER;
124443
124763
  };
124764
+ col.cellEditorSelector = (params) => {
124765
+ var _a;
124766
+ if ((_a = this._customEditors) === null || _a === void 0 ? void 0 : _a.has(params.colDef.field)) {
124767
+ const customEditor = this._customEditors.get(params.colDef.field);
124768
+ return {
124769
+ component: EzGridCustomCellEditor,
124770
+ params: {
124771
+ customEditorsInfo: customEditor,
124772
+ }
124773
+ };
124774
+ }
124775
+ };
124776
+ col.cellRendererSelector = (params) => {
124777
+ var _a;
124778
+ if ((_a = this._customRenders) === null || _a === void 0 ? void 0 : _a.has(params.colDef.field)) {
124779
+ const customRender = this._customRenders.get(params.colDef.field);
124780
+ return {
124781
+ component: EzGridCustomCellRender,
124782
+ params: {
124783
+ customRendersInfo: customRender,
124784
+ }
124785
+ };
124786
+ }
124787
+ };
124444
124788
  return col;
124445
124789
  }
124446
124790
  getRequiredFields() {
@@ -124582,6 +124926,12 @@ class GridEditionManager {
124582
124926
  this._lastCellEdited = { rowIndex: event.rowIndex, column: event.column, rowPinned: undefined };
124583
124927
  }
124584
124928
  }
124929
+ setCellEditors(customEditors) {
124930
+ this._customEditors = customEditors;
124931
+ }
124932
+ setCellRenders(customRenders) {
124933
+ this._customRenders = customRenders;
124934
+ }
124585
124935
  }
124586
124936
  class TargetEdition {
124587
124937
  constructor(rowIndex, column, backwards) {
@@ -124626,6 +124976,7 @@ class AgGridController {
124626
124976
  this._gridConfig = [];
124627
124977
  this._filteredColumns = new Map();
124628
124978
  this._filterColumnleftPosition = 0;
124979
+ this._customFormatters = new Map();
124629
124980
  this._enterprise = enterprise;
124630
124981
  }
124631
124982
  getGridConfig() {
@@ -124709,7 +125060,7 @@ class AgGridController {
124709
125060
  this._doubleClickCallBack = options.onDoubleClick;
124710
125061
  this._multipleSelection = options.allowMultipleSelection;
124711
125062
  this._dataUnit = options.dataUnit;
124712
- this._editionManager = new GridEditionManager(this._dataUnit, options.useEnterLikeTab, options.recordsValidator, options.editionIsDisabled);
125063
+ this._editionManager = new GridEditionManager(this._dataUnit, options.useEnterLikeTab, options.recordsValidator, options.editionIsDisabled, options.customEditors || this._customEditors, options.customRenders || this._customRenders);
124713
125064
  this._statusResolver = options.statusResolver;
124714
125065
  if (this._dataUnit) {
124715
125066
  this._dataUnit.sortingProvider = this;
@@ -124741,6 +125092,13 @@ class AgGridController {
124741
125092
  headerCheckStatusGetter: () => this.getSelectionHeaderStatus(),
124742
125093
  headerCheckStatusSetter: (selectAll) => this.updateSelectionForAll(selectAll),
124743
125094
  },
125095
+ processCellForClipboard: this.processFormatterCellCallback,
125096
+ defaultExcelExportParams: {
125097
+ processCellCallback: this.processFormatterCellCallback
125098
+ },
125099
+ defaultCsvExportParams: {
125100
+ processCellCallback: this.processFormatterCellCallback
125101
+ }
124744
125102
  };
124745
125103
  this.defineRowModelType(this._gridOptions, options);
124746
125104
  this.setOptionsEvents(this._gridOptions);
@@ -124764,7 +125122,25 @@ class AgGridController {
124764
125122
  this.selectRows((selection === null || selection === void 0 ? void 0 : selection.recordIds) || [], true);
124765
125123
  }
124766
125124
  this._gridOptions.api.setHeaderHeight(this.getHeaderRowHeight());
125125
+ this._customFormatters = options.customFormatters;
125126
+ }
125127
+ }
125128
+ processFormatterCellCallback(params) {
125129
+ const column = params.column.getColDef();
125130
+ if (typeof column.valueFormatter === 'function') {
125131
+ const valueParams = {
125132
+ value: params.value,
125133
+ data: params.node.data,
125134
+ node: params.node,
125135
+ colDef: column,
125136
+ column: params.column,
125137
+ api: params.api,
125138
+ columnApi: params.columnApi,
125139
+ context: params.context,
125140
+ };
125141
+ return column.valueFormatter(valueParams);
124767
125142
  }
125143
+ return params.value;
124768
125144
  }
124769
125145
  setFilterColumnLeftPosition({ type, ePopup }) {
124770
125146
  if (type === 'columnMenu') {
@@ -125114,7 +125490,7 @@ class AgGridController {
125114
125490
  //Como vamos reordenar, precisamos considerar o deslocamento provocado por elas.
125115
125491
  const columnsOffset = colDef.length - columns.length;
125116
125492
  let sort = [];
125117
- state.forEach((cfgColumn, index) => {
125493
+ state === null || state === void 0 ? void 0 : state.forEach((cfgColumn, index) => {
125118
125494
  const colWidth = this.getColumnWidth(cfgColumn);
125119
125495
  this._gridOptions.columnApi.moveColumn(cfgColumn.name, index + columnsOffset);
125120
125496
  this._gridOptions.columnApi.setColumnWidth(cfgColumn.name, colWidth);
@@ -125217,6 +125593,13 @@ class AgGridController {
125217
125593
  if (params.value instanceof Promise) {
125218
125594
  return "Carregando...";
125219
125595
  }
125596
+ const customFormatter = this._customFormatters.get(source.name);
125597
+ if (customFormatter) {
125598
+ const formattedValue = customFormatter.format(params.value, source, params.data.__record__id__);
125599
+ if (formattedValue) {
125600
+ return formattedValue;
125601
+ }
125602
+ }
125220
125603
  if (this._dataUnit) {
125221
125604
  return this._dataUnit.getFormattedValue(source.name, params.value);
125222
125605
  }
@@ -125225,6 +125608,13 @@ class AgGridController {
125225
125608
  cellStyle: this.getStyleByColumn(source),
125226
125609
  });
125227
125610
  }
125611
+ setCustomFormatters(customFormatters) {
125612
+ this._customFormatters = customFormatters;
125613
+ }
125614
+ refreshSelectedRows() {
125615
+ const selectedNodes = this._gridOptions.api.getSelectedNodes();
125616
+ this._gridOptions.api.redrawRows({ rowNodes: selectedNodes });
125617
+ }
125228
125618
  getInitCellStyle() {
125229
125619
  return {
125230
125620
  'line-height': this.getRowHeight() - 1 + 'px',
@@ -125400,11 +125790,52 @@ class AgGridController {
125400
125790
  const labelSize = (((_b = field === null || field === void 0 ? void 0 : field.label) === null || _b === void 0 ? void 0 : _b.length) || 0) * this.DEFAULT_FONT_SIZE + this.DEFAULT_ICON_SIZE;
125401
125791
  return labelSize > this.DEFAULT_MAX_SIZE ? this.DEFAULT_MAX_SIZE : labelSize;
125402
125792
  }
125793
+ setCellEditors(customEditors) {
125794
+ var _a;
125795
+ if (!this._editionManager) {
125796
+ this._customEditors = customEditors;
125797
+ return;
125798
+ }
125799
+ this._editionManager.setCellEditors(customEditors);
125800
+ (_a = this._gridOptions) === null || _a === void 0 ? void 0 : _a.api.redrawRows();
125801
+ }
125802
+ setCellRenders(customRenders) {
125803
+ var _a;
125804
+ if (!this._editionManager) {
125805
+ this._customRenders = customRenders;
125806
+ return;
125807
+ }
125808
+ this._editionManager.setCellRenders(customRenders);
125809
+ (_a = this._gridOptions) === null || _a === void 0 ? void 0 : _a.api.redrawRows();
125810
+ }
125811
+ }
125812
+
125813
+ function enableSelectAll(total) {
125814
+ return total !== undefined;
125815
+ }
125816
+ function buildSelectAllLabel(allRecordSelected, count, total) {
125817
+ if (allRecordSelected)
125818
+ return 'Selecionar apenas a página atual';
125819
+ if (total === undefined)
125820
+ return `Carregando todos os ${count} registros`;
125821
+ return `Selecionar todos os ${total} registros`;
125822
+ }
125823
+ function buildSelectAllTitle(total) {
125824
+ if (enableSelectAll(total))
125825
+ return '';
125826
+ return 'Aguarde o carregamento para selecionar o registro de todas as páginas';
125827
+ }
125828
+ function getText(selectionCount, allSelectedRecords) {
125829
+ if (allSelectedRecords) {
125830
+ return `Todos os <strong>${selectionCount} registros</strong> da grade estão selecionados.`;
125831
+ }
125832
+ const pluralCharacter = selectionCount > 1 ? "s" : "";
125833
+ return `Há <strong>${selectionCount} registro${pluralCharacter}</strong> selecionado${pluralCharacter} na grade.`;
125403
125834
  }
125404
125835
 
125405
125836
  const SelectionCounter = (props) => {
125406
125837
  const { selectionCount, currentPageSelected, allRecordSelected, paginationInfo, canSelectAll, onSelectAll, onSelectPage, onClearAll, onClose } = props;
125407
- const { total, hasMore } = paginationInfo || {};
125838
+ const { total, hasMore, count } = paginationInfo || {};
125408
125839
  const shouldRenderSelectionButton = () => {
125409
125840
  if ((!allRecordSelected && selectionCount === total) || (allRecordSelected && !hasMore))
125410
125841
  return false;
@@ -125418,20 +125849,11 @@ const SelectionCounter = (props) => {
125418
125849
  h("label", Object.assign({ innerHTML: getText(selectionCount, allRecordSelected), class: "ez-text ez-text--primary ez-text--medium ez-margin-right--medium ez-margin-top--medium" }, getElementID("ezGridSelectionCounter_label"))),
125419
125850
  h("div", { class: "ez-flex ez-margin-right--medium" },
125420
125851
  shouldRenderSelectionButton() &&
125421
- h("ez-button", Object.assign({ class: "ez-margin-right--medium", label: `Selecionar ${allRecordSelected ? "apenas a página atual" : `todos os ${total} registros`}`, mode: "link", onClick: allRecordSelected ? onSelectPage : onSelectAll }, getElementID(`ezGridSelectionCounter_select${allRecordSelected ? "Page" : "All"}`))),
125422
- h("ez-button", Object.assign({ class: "grid__btn-clear", label: "Limpar", mode: "link", onClick: onClearAll }, getElementID("ezGridSelectionCounter_clearAll"))))),
125852
+ h("ez-button", Object.assign({ title: buildSelectAllTitle(total), enabled: enableSelectAll(total), class: "ez-margin-right--medium", label: buildSelectAllLabel(allRecordSelected, count, total), mode: "link", onClick: allRecordSelected ? onSelectPage : onSelectAll }, getElementID(`ezGridSelectionCounter_select${allRecordSelected ? "Page" : "All"}`))),
125853
+ h("ez-button", Object.assign({ class: "grid__btn-clear", label: "Limpar Sele\u00E7\u00E3o", mode: "link", onClick: onClearAll }, getElementID("ezGridSelectionCounter_clearAll"))))),
125423
125854
  h("button", Object.assign({ class: "grid__btn-close", title: "Fechar", onClick: onClose }, getElementID("ezGridSelectionCounter_close")),
125424
125855
  h("ez-icon", { iconName: "close" })))));
125425
125856
  };
125426
- function getText(selectionCount, allSelectedRecords) {
125427
- if (allSelectedRecords) {
125428
- return `Todos os <strong>${selectionCount} registros</strong> da grade estão selecionados.`;
125429
- }
125430
- else {
125431
- const pluralChar = selectionCount > 1 ? "s" : "";
125432
- return `Há <strong>${selectionCount} registro${pluralChar}</strong> selecionado${pluralChar}.`;
125433
- }
125434
- }
125435
125857
  function getElementID(sufix) {
125436
125858
  return {
125437
125859
  [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(sufix)
@@ -125612,6 +126034,8 @@ const EzGrid$1 = class extends HTMLElement$1 {
125612
126034
  this.componentReady = createEvent(this, "componentReady", 7);
125613
126035
  this._gridController = new AgGridController(false);
125614
126036
  this._messageFilterAppliedSuccess = 'Filtro de coluna aplicado com sucesso!';
126037
+ this._customEditor = new Map();
126038
+ this._customRenders = new Map();
125615
126039
  this._paginationInfo = undefined;
125616
126040
  this._paginationChangedByKeyboard = true;
125617
126041
  this._showSelectionCounter = false;
@@ -125619,6 +126043,7 @@ const EzGrid$1 = class extends HTMLElement$1 {
125619
126043
  this._currentPageSelected = undefined;
125620
126044
  this._selectionCount = undefined;
125621
126045
  this._hasLeftButtons = false;
126046
+ this._customFormatters = new Map();
125622
126047
  this.multipleSelection = undefined;
125623
126048
  this.config = undefined;
125624
126049
  this.selectionToastConfig = undefined;
@@ -125690,6 +126115,63 @@ const EzGrid$1 = class extends HTMLElement$1 {
125690
126115
  async filterColumns(search) {
125691
126116
  return Promise.resolve(this._gridController.getColumnsState().filter(col => matches(col.label, search)));
125692
126117
  }
126118
+ /**
126119
+ * Registra um editor customizado para campos da grade e formulário.
126120
+ */
126121
+ async addCustomEditor(fieldName, customEditor, detailContext) {
126122
+ const newCustomEditor = new Map(this._customEditor);
126123
+ newCustomEditor.set(fieldName, {
126124
+ customEditor,
126125
+ detailContext,
126126
+ });
126127
+ this._customEditor = newCustomEditor;
126128
+ this._gridController.setCellEditors(newCustomEditor);
126129
+ }
126130
+ /**
126131
+ * Registra um render customizado para colunas da grid.
126132
+ */
126133
+ async addGridCustomRender(fieldName, customRender, detailContext) {
126134
+ const newCustomRenders = new Map(this._customRenders);
126135
+ newCustomRenders.set(fieldName, { customRender, detailContext });
126136
+ this._customRenders = newCustomRenders;
126137
+ this._gridController.setCellRenders(newCustomRenders);
126138
+ }
126139
+ /**
126140
+ * Registra um formatador de valores para uma coluna da grid.
126141
+ */
126142
+ async addCustomValueFormatter(columnName, customFormatter) {
126143
+ if (!columnName || !customFormatter) {
126144
+ return;
126145
+ }
126146
+ const newCustomFormatters = new Map(this._customFormatters);
126147
+ newCustomFormatters.set(columnName, customFormatter);
126148
+ this._customFormatters = newCustomFormatters;
126149
+ this._gridController.setCustomFormatters(newCustomFormatters);
126150
+ }
126151
+ /**
126152
+ * Remove o formatador de valores de uma coluna da grid.
126153
+ */
126154
+ async removeCustomValueFormatter(columnName) {
126155
+ if (!columnName) {
126156
+ return;
126157
+ }
126158
+ const newCustomFormatters = new Map(this._customFormatters);
126159
+ newCustomFormatters.delete(columnName);
126160
+ this._customFormatters = newCustomFormatters;
126161
+ this._gridController.setCustomFormatters(newCustomFormatters);
126162
+ }
126163
+ /**
126164
+ * Atualiza linhas da grade.
126165
+ */
126166
+ async refreshSelectedRows() {
126167
+ this._gridController.refreshSelectedRows();
126168
+ }
126169
+ /**
126170
+ * Retorna o formatador customizado da coluna caso exista.
126171
+ */
126172
+ async getCustomValueFormatter(columnName) {
126173
+ return this._customFormatters.get(columnName);
126174
+ }
125693
126175
  observeConfig(config) {
125694
126176
  this._gridController.setColumnsState(config === null || config === void 0 ? void 0 : config.columns);
125695
126177
  }
@@ -125891,7 +126373,8 @@ const EzGrid$1 = class extends HTMLElement$1 {
125891
126373
  statusResolver: this.statusResolver,
125892
126374
  useEnterLikeTab: this.useEnterLikeTab,
125893
126375
  recordsValidator: this.recordsValidator,
125894
- editionIsDisabled: () => !this.canEdit
126376
+ editionIsDisabled: () => !this.canEdit,
126377
+ customFormatters: this._customFormatters
125895
126378
  });
125896
126379
  if (this.config) {
125897
126380
  this.observeConfig(this.config);
@@ -126139,7 +126622,7 @@ const EzIcon$1 = class extends HTMLElement$1 {
126139
126622
  static get style() { return ezIconCss; }
126140
126623
  };
126141
126624
 
126142
- const ezListCss = ":host {\n /* @doc Define a camada de visibilidae do componente. */\n --ez-list__host--z-index: var(--visible, 1);\n\n /* @doc Define o raio da borda do componente. */\n --ez-list__host--border-radius: var(--border--radius-medium, 12px);\n\n /* @doc Define o espaçamento entre a lista e o componente. */\n --ez-list__host--padding: var(--space--medium, 12px);\n\n /* @doc Define o espaçamento interno do ícone. */\n --ez-list__icon--padding: var(--space--small, 6px);\n\n /* @doc Define a cor do ícone de arrasto do item da lista. */\n --ez-list__icon--color: #AFB6C0;\n\n /* @doc Define o espaçamento externo do item da lista. */\n --ez-list__item--margin: 0 var(--space--small, 6px);\n\n /* @doc Define a cor do texto do item da lista. */\n --ez-list__item--color: var(--title--primary, #2b3a54);\n\n /* @doc Define o estilo borda inferior do item da lista. */\n --ez-list__item--border-bottom;\n\n /* @doc Define a cor da borda inferior do item da lista. */\n --ez-list__item--border-bottom-color;\n\n /* @doc Define o estilo do texto do item da lista. */\n --ez-list__item--font-family: var(--font-pattern, \"Roboto\");\n\n /* @doc Define o tamanho do texto do item da lista. */\n --ez-list__item--font-size: var(--text--medium, 14px);\n \n /* @doc Define o tipo da quebra de linha do item da lista. */\n --ez-list__item--white-space: var(--ez-list__item--white-space, nowrap);\n\n /* @doc Define o espaçamento lateral direito para items selecionados. */\n --ez-list__selectable--padding-right: var(--space--small, 6px);\n \n /* @doc Define o espaçamento lateral esquerdo para items selecionados. */\n --ez-list__selectable--padding-left: var(--space--small, 6px);\n\n /*@doc Define o raio da borda de items selecionados.*/\n --ez-list__selected-item--border-radius: var(--border--radius-small, 6px);\n \n /*@doc Define a cor de fundo de items selecionados.*/\n --ez-list__selected-item--background-color: var(--color--primary-300, #E2F4EF);\n\n /* @doc Define o estilo do texto do grupo da lista. */\n --ez-list__group--font-family: var(--font-pattern, \"Roboto\");\n \n /* @doc Define o tamanho do texto do grupo da lista. */\n --ez-list__group--font-size: var(--text--medium, 14px);\n \n /* @doc Define o peso do texto do grupo da lista. */\n --ez-list__group--font-weight: var(--text-weight--large, 600);\n \n /* @doc Define o espaçamento inferior do grupo da lista. */\n --ez-list__group--padding-bottom: var(--space-small, 6px);\n\n /* @doc Define o estilo do texto da área de transferência de grupos. */\n --ez-list__group-overlay--font-family: var(--font-pattern, \"Roboto\");\n\n /* @doc Define o tamanho do texto da área de transferência de grupos. */\n --ez-list__group-overlay--font-size: var(--text--medium, 14px);\n \n /* @doc Define a cor da borda pontilhada sobre os elementos da lista. */\n --ez-list__over--border--color: var(--color--primary, #008561);\n\n /*@doc Define a altura do container para arrasto para última posição .*/\n --ez-list__last-droppable-space--height: var(--space--small, 6px);\n \n /*@doc Define o espaçamento do container de itens arrastáveis .*/\n --ez-list__draggable-list--padding-bottom: var(--space--small, 6px);\n\n /* @doc Define a imagem do ícone de drag. */\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 /* scrollbar */\n /*@doc Define a cor da barra de rolagem do componente.*/\n --ez-list__scrollbar--color-default: var(--scrollbar--default, #626e82);\n /*@doc Define a cor de fundo da barra de rolagem do componente.*/\n --ez-list__scrollbar--color-background: var(--scrollbar--background, #E5EAF0);\n /*@doc Define a cor do hover na barra de rolagem do componente.*/\n --ez-list__scrollbar--color-hover: var(--scrollbar--hover, #2B3A54);\n /*@doc Define a cor do active na barra de rolagem do componente.*/\n --ez-list__scrollbar--color-clicked: var(--scrollbar--clicked, #a2abb9);\n /*@doc Define o raio da borda da barra de rolagem do componente.*/\n --ez-list__scrollbar--border-radius: var(--border--radius-small, 6px);\n /*@doc Define a largura da barra de rolagem do componente.*/\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 /*public*/\n z-index: var(--ez-list__host--z-index);\n}\n\np {\n margin: 0;\n}\n\n.draggable {\n /* private */\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 /*public*/\n font-family: var(--ez-list__item--font-family);\n font-size: var(--ez-list__item--font-size);\n}\n\n.dragging {\n background: #FFFFFF;\n /* Primary/color--primary */\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 {\n cursor: pointer;\n\n /*public*/\n padding-right: var(--ez-list__selectable--padding-right);\n padding-left: var(--ez-list__selectable--padding-left);\n}\n\n.selectable-container {\n margin: 0px !important;\n}\n\n.hover-feedback:hover {\n background-color: var(--background--medium);\n border-radius: var(--border--radius-regular);\n}\n\n.item-content {\n display: flex;\n overflow: hidden;\n justify-content: flex-start;\n width: 100%;\n}\n\n.draggable-list {\n padding: 0;\n margin: 0;\n width: 100%;\n max-height: 100%;\n scrollbar-width: thin;\n \n /*public*/\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 li {\n display: flex;\n \n /*public*/\n padding: var(--space--2xs, 8px) var(--space--3xs, 4px);\n margin: var(--ez-list__item--margin);\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.over {\n /*public*/\n border-top: 1px dashed var(--ez-list__over--border--color);\n}\n\n.last-droppable-space {\n /*public*/\n height: var(--ez-list__last-droppable-space--height);\n}\n\n.draggable-selected {\n /*public*/\n background-color: var(--background--strong) !important;\n}\n\n.draggable-selected div:hover {\n /*public*/\n background-color: var(--background--strong) !important;\n}\n\n.draggable-list::-webkit-scrollbar {\n /*public*/\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::-webkit-scrollbar-track {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-background);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.draggable-list::-webkit-scrollbar-thumb {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-default);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.draggable-list::-webkit-scrollbar-thumb:vertical:hover,\n.draggable-list::-webkit-scrollbar-thumb:horizontal:hover {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-hover);\n}\n\n.draggable-list::-webkit-scrollbar-thumb:vertical:active,\n.draggable-list::-webkit-scrollbar-thumb:horizontal:active {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-clicked);\n}\n\n.draggable-icon {\n align-items: flex-start;\n display: flex;\n outline: none;\n border: none;\n background-color: unset;\n}\n\n.draggable-icon::after {\n content: '';\n display: flex;\n width: 18px;\n height: 18px;\n\n /*public*/\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* {\n box-sizing: border-box;\n}\n\n.checkbox {\n width: fit-content;\n}\n\n.text--ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n \n /*public*/\n white-space: var(--ez-list__item--white-space);\n}\n\n.group-container {\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 /*public*/\n scrollbar-color: var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background);\n}\n\n.group-name {\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 /*public*/\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 {\n display: flex;\n flex-direction: column;\n}\n\n.group-container::-webkit-scrollbar {\n /*public*/\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::-webkit-scrollbar-track {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-background);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.group-container::-webkit-scrollbar-thumb {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-default);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.group-container::-webkit-scrollbar-thumb:vertical:hover,\n.group-container::-webkit-scrollbar-thumb:horizontal:hover {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-hover);\n}\n\n.group-container::-webkit-scrollbar-thumb:vertical:active,\n.group-container::-webkit-scrollbar-thumb:horizontal:active {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-clicked);\n}\n\n.section-container {\n display: flex;\n position: relative;\n height: 100%;\n}\n\n.items-container {\n width: 100%;\n max-height: 100%;\n outline: none;\n scrollbar-width: thin;\n\n /*public*/\n scrollbar-color: var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background);\n}\n\n.group-items-container {\n width: 100%;\n max-height: 100%;\n height: 100%;\n outline: none;\n}\n\n.items-container::-webkit-scrollbar {\n /*public*/\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::-webkit-scrollbar-track {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-background);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.items-container::-webkit-scrollbar-thumb {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-default);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.items-container::-webkit-scrollbar-thumb:vertical:hover,\n.items-container::-webkit-scrollbar-thumb:horizontal:hover {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-hover);\n}\n\n.items-container::-webkit-scrollbar-thumb:vertical:active,\n.items-container::-webkit-scrollbar-thumb:horizontal:active {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-clicked);\n}\n\n.group-overlay {\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 /*public*/\n font-family: var(--ez-list__group-overlay--font-family);\n font-size: var(--ez-list__group-overlay--font-size);\n}\n\n.presetedHeight {\n min-height: 100px;\n}\n\n.overlay-text {\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 {\n /*public*/\n background: var(--ez-list__selected-item--background-color);\n border-radius: var(--ez-list__selected-item--border-radius);\n}\n\n.slot-item {\n align-items: flex-end;\n}\n\n.overGroup {\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}";
126625
+ const ezListCss = ":host {\n /* @doc Define a camada de visibilidae do componente. */\n --ez-list__host--z-index: var(--visible, 1);\n\n /* @doc Define o raio da borda do componente. */\n --ez-list__host--border-radius: var(--border--radius-medium, 12px);\n\n /* @doc Define o espaçamento entre a lista e o componente. */\n --ez-list__host--padding: var(--space--medium, 12px);\n\n /* @doc Define o espaçamento interno do ícone. */\n --ez-list__icon--padding: var(--space--small, 6px);\n\n /* @doc Define a cor do ícone de arrasto do item da lista. */\n --ez-list__icon--color: #AFB6C0;\n\n /* @doc Define o espaçamento externo do item da lista. */\n --ez-list__item--margin: 0 var(--space--small, 6px);\n\n /* @doc Define a cor do texto do item da lista. */\n --ez-list__item--color: var(--title--primary, #2b3a54);\n\n /* @doc Define o estilo borda inferior do item da lista. */\n --ez-list__item--border-bottom;\n\n /* @doc Define a cor da borda inferior do item da lista. */\n --ez-list__item--border-bottom-color;\n\n /* @doc Define o estilo do texto do item da lista. */\n --ez-list__item--font-family: var(--font-pattern, \"Roboto\");\n\n /* @doc Define o tamanho do texto do item da lista. */\n --ez-list__item--font-size: var(--text--medium, 14px);\n \n /* @doc Define o tipo da quebra de linha do item da lista. */\n --ez-list__item--white-space: var(--ez-list__item--white-space, nowrap);\n\n /* @doc Define o espaçamento lateral direito para items selecionados. */\n --ez-list__selectable--padding-right: var(--space--small, 6px);\n \n /* @doc Define o espaçamento lateral esquerdo para items selecionados. */\n --ez-list__selectable--padding-left: var(--space--small, 6px);\n\n /*@doc Define o raio da borda de items selecionados.*/\n --ez-list__selected-item--border-radius: var(--border--radius-small, 6px);\n \n /*@doc Define a cor de fundo de items selecionados.*/\n --ez-list__selected-item--background-color: var(--color--primary-300, #E2F4EF);\n\n /* @doc Define o estilo do texto do grupo da lista. */\n --ez-list__group--font-family: var(--font-pattern, \"Roboto\");\n \n /* @doc Define o tamanho do texto do grupo da lista. */\n --ez-list__group--font-size: var(--text--medium, 14px);\n \n /* @doc Define o peso do texto do grupo da lista. */\n --ez-list__group--font-weight: var(--text-weight--large, 600);\n \n /* @doc Define o espaçamento inferior do grupo da lista. */\n --ez-list__group--padding-bottom: var(--space-small, 6px);\n\n /* @doc Define o estilo do texto da área de transferência de grupos. */\n --ez-list__group-overlay--font-family: var(--font-pattern, \"Roboto\");\n\n /* @doc Define o tamanho do texto da área de transferência de grupos. */\n --ez-list__group-overlay--font-size: var(--text--medium, 14px);\n \n /* @doc Define a cor da borda pontilhada sobre os elementos da lista. */\n --ez-list__over--border--color: var(--color--primary, #008561);\n\n /*@doc Define a altura do container para arrasto para última posição .*/\n --ez-list__last-droppable-space--height: var(--space--small, 6px);\n \n /*@doc Define o espaçamento do container de itens arrastáveis .*/\n --ez-list__draggable-list--padding-bottom: var(--space--small, 6px);\n\n /* @doc Define a imagem do ícone de drag. */\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 /* scrollbar */\n /*@doc Define a cor da barra de rolagem do componente.*/\n --ez-list__scrollbar--color-default: var(--scrollbar--default, #626e82);\n /*@doc Define a cor de fundo da barra de rolagem do componente.*/\n --ez-list__scrollbar--color-background: var(--scrollbar--background, #E5EAF0);\n /*@doc Define a cor do hover na barra de rolagem do componente.*/\n --ez-list__scrollbar--color-hover: var(--scrollbar--hover, #2B3A54);\n /*@doc Define a cor do active na barra de rolagem do componente.*/\n --ez-list__scrollbar--color-clicked: var(--scrollbar--clicked, #a2abb9);\n /*@doc Define o raio da borda da barra de rolagem do componente.*/\n --ez-list__scrollbar--border-radius: var(--border--radius-small, 6px);\n /*@doc Define a largura da barra de rolagem do componente.*/\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 /*public*/\n z-index: var(--ez-list__host--z-index);\n}\n\np {\n margin: 0;\n}\n\n.draggable {\n /* private */\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 /*public*/\n font-family: var(--ez-list__item--font-family);\n font-size: var(--ez-list__item--font-size);\n}\n\n.dragging {\n background: #FFFFFF;\n /* Primary/color--primary */\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 {\n cursor: pointer;\n\n /*public*/\n padding-right: var(--ez-list__selectable--padding-right);\n padding-left: var(--ez-list__selectable--padding-left);\n}\n\n.selectable-container {\n margin: 0px !important;\n}\n\n.hover-feedback:hover {\n background-color: var(--background--medium);\n border-radius: var(--border--radius-regular);\n}\n\n.item-content {\n display: flex;\n overflow: hidden;\n justify-content: flex-start;\n width: 100%;\n}\n\n.draggable-list {\n padding: 0;\n margin: 0;\n width: 100%;\n max-height: 100%;\n scrollbar-width: thin;\n \n /*public*/\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 li {\n display: flex;\n \n /*public*/\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 li > div {\n /*public*/\n padding: var(--space--2xs, 8px) var(--space--3xs, 4px);\n margin: var(--ez-list__item--margin);\n}\n\n.over {\n /*public*/\n border-top: 1px dashed var(--ez-list__over--border--color);\n}\n\n.last-droppable-space {\n /*public*/\n height: var(--ez-list__last-droppable-space--height);\n}\n\n.draggable-selected {\n /*public*/\n background-color: var(--background--strong) !important;\n}\n\n.draggable-selected div:hover {\n /*public*/\n background-color: var(--background--strong) !important;\n}\n\n.draggable-list::-webkit-scrollbar {\n /*public*/\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::-webkit-scrollbar-track {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-background);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.draggable-list::-webkit-scrollbar-thumb {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-default);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.draggable-list::-webkit-scrollbar-thumb:vertical:hover,\n.draggable-list::-webkit-scrollbar-thumb:horizontal:hover {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-hover);\n}\n\n.draggable-list::-webkit-scrollbar-thumb:vertical:active,\n.draggable-list::-webkit-scrollbar-thumb:horizontal:active {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-clicked);\n}\n\n.draggable-icon {\n align-items: flex-start;\n display: flex;\n outline: none;\n border: none;\n background-color: unset;\n}\n\n.draggable-icon::after {\n content: '';\n display: flex;\n width: 18px;\n height: 18px;\n\n /*public*/\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* {\n box-sizing: border-box;\n}\n\n.checkbox {\n width: fit-content;\n}\n\n.text--ellipsis {\n overflow: hidden;\n text-overflow: ellipsis;\n \n /*public*/\n white-space: var(--ez-list__item--white-space);\n}\n\n.group-container {\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 /*public*/\n scrollbar-color: var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background);\n}\n\n.group-name {\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 /*public*/\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 {\n display: flex;\n flex-direction: column;\n}\n\n.group-container::-webkit-scrollbar {\n /*public*/\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::-webkit-scrollbar-track {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-background);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.group-container::-webkit-scrollbar-thumb {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-default);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.group-container::-webkit-scrollbar-thumb:vertical:hover,\n.group-container::-webkit-scrollbar-thumb:horizontal:hover {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-hover);\n}\n\n.group-container::-webkit-scrollbar-thumb:vertical:active,\n.group-container::-webkit-scrollbar-thumb:horizontal:active {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-clicked);\n}\n\n.section-container {\n display: flex;\n position: relative;\n height: 100%;\n}\n\n.items-container {\n width: 100%;\n max-height: 100%;\n outline: none;\n scrollbar-width: thin;\n\n /*public*/\n scrollbar-color: var(--ez-list__scrollbar--color-clicked) var(--ez-list__scrollbar--color-background);\n}\n\n.group-items-container {\n width: 100%;\n max-height: 100%;\n height: 100%;\n outline: none;\n}\n\n.items-container::-webkit-scrollbar {\n /*public*/\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::-webkit-scrollbar-track {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-background);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.items-container::-webkit-scrollbar-thumb {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-default);\n border-radius: var(--ez-list__scrollbar--border-radius);\n}\n\n.items-container::-webkit-scrollbar-thumb:vertical:hover,\n.items-container::-webkit-scrollbar-thumb:horizontal:hover {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-hover);\n}\n\n.items-container::-webkit-scrollbar-thumb:vertical:active,\n.items-container::-webkit-scrollbar-thumb:horizontal:active {\n /*public*/\n background-color: var(--ez-list__scrollbar--color-clicked);\n}\n\n.group-overlay {\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 /*public*/\n font-family: var(--ez-list__group-overlay--font-family);\n font-size: var(--ez-list__group-overlay--font-size);\n}\n\n.presetedHeight {\n min-height: 100px;\n}\n\n.overlay-text {\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 {\n /*public*/\n background: var(--ez-list__selected-item--background-color);\n border-radius: var(--ez-list__selected-item--border-radius);\n}\n\n.slot-item {\n align-items: flex-end;\n}\n\n.overGroup {\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}";
126143
126626
 
126144
126627
  const EzList$1 = class extends HTMLElement$1 {
126145
126628
  constructor() {
@@ -126802,7 +127285,7 @@ var ModalButtonStatus;
126802
127285
  })(ModalButtonStatus || (ModalButtonStatus = {}));
126803
127286
  const ModalButtonStatus$1 = ModalButtonStatus;
126804
127287
 
126805
- const ezModalContainerCss = ".sc-ez-modal-container-h{--ez-modal-container-overflow-y:auto;--ez-modal-container-overflow-x:clip;display:grid;grid-template-rows:0 auto 1fr auto 0;width:100%;height:100%}.ez-modal-container__header.sc-ez-modal-container{display:flex;flex-wrap:nowrap;flex-direction:row;justify-content:space-between}.ez-modal-container__content.sc-ez-modal-container{overflow-y:var(--ez-modal-container-overflow-y);overflow-x:var(--ez-modal-container-overflow-x)}.ez-modal-container__content.sc-ez-modal-container::-webkit-scrollbar{width:var(--space--small);min-width:var(--space--small);max-width:var(--space--small)}.ez-modal-container__footer.sc-ez-modal-container{display:flex;flex-direction:row;justify-content:flex-end;gap:var(--space--medium);width:100%;padding-top:var(--space--small, 6px)}.ez-modal-container__title.sc-ez-modal-container{display:grid}.ez-modal-container__close-button.sc-ez-modal-container{cursor:pointer;background-color:transparent;border:none}.ez-modal-container__close-icon.sc-ez-modal-container{--icon--color:var(--title--primary, #2B3A54)}.ez-modal-container__focus-ctrl.sc-ez-modal-container{height:0px;background-color:transparent;border:none}";
127288
+ const ezModalContainerCss = ".sc-ez-modal-container-h{--ez-modal-container-overflow-y:auto;--ez-modal-container-overflow-x:clip;display:grid;grid-template-rows:0 auto 1fr auto 0;width:100%;height:100%}.ez-modal-container__header-container.sc-ez-modal-container{outline:none}.ez-modal-container__header.sc-ez-modal-container{display:flex;flex-wrap:nowrap;flex-direction:row;justify-content:space-between}.ez-modal-container__content.sc-ez-modal-container{overflow-y:var(--ez-modal-container-overflow-y);overflow-x:var(--ez-modal-container-overflow-x)}.ez-modal-container__content.sc-ez-modal-container::-webkit-scrollbar{width:var(--space--small);min-width:var(--space--small);max-width:var(--space--small)}.ez-modal-container__footer.sc-ez-modal-container{display:flex;flex-direction:row;justify-content:flex-end;gap:var(--space--medium);width:100%;padding-top:var(--space--small, 6px)}.ez-modal-container__title.sc-ez-modal-container{display:grid}.ez-modal-container__close-button.sc-ez-modal-container{cursor:pointer;background-color:transparent;border:none}.ez-modal-container__close-icon.sc-ez-modal-container{--icon--color:var(--title--primary, #2B3A54)}.ez-modal-container__focus-ctrl.sc-ez-modal-container{height:0px;background-color:transparent;border:none}";
126806
127289
 
126807
127290
  const EzModalContainer$1 = class extends HTMLElement$1 {
126808
127291
  constructor() {
@@ -126852,7 +127335,7 @@ const EzModalContainer$1 = class extends HTMLElement$1 {
126852
127335
  this._closeButton.focus();
126853
127336
  }
126854
127337
  render() {
126855
- return (h(Host, null, h("button", { class: "ez-modal-container__focus-ctrl", onFocusin: () => this.focusLast() }), h("div", { ref: ref => this._modalRef = ref, tabIndex: -1 }, this.showTitleBar && (h("div", { class: "ez-modal-container__header ez-margin-bottom--large" }, h("div", { class: "ez-col ez-align--middle ez-modal-container__title" }, h("h2", { class: "ez-text ez-title--large ez-title--primary ez-text--bold ez-margin-vertical--extra-small" }, this.modalTitle), this.modalSubTitle && (h("div", { class: "ez-text ez-text--medium ez-text--primary ez-margin-vertical--extra-small" }, this.modalSubTitle))), h("button", { ref: ref => this._closeButton = ref, class: "ez-modal-container__close-button", onClick: () => this.ezModalAction.emit(ModalAction$1.CLOSE) }, h("ez-icon", { class: "ez-modal-container__close-icon", size: "medium", iconName: "close" }))))), h("div", { class: "ez-modal-container__content" }, h("slot", null)), h("div", { class: "ez-modal-container__footer" }, this.cancelIsVisible() && (h("ez-button", { label: this.cancelButtonLabel, enabled: this.cancelButtonStatus !== ModalButtonStatus$1.DISABLED, onClick: () => this.ezModalAction.emit(ModalAction$1.CANCEL) })), this.okIsVisible() && (h("ez-button", { ref: ref => this._okButton = ref, class: "ez-button--primary", label: this.okButtonLabel, enabled: this.okButtonStatus !== ModalButtonStatus$1.DISABLED, onClick: () => this.ezModalAction.emit(ModalAction$1.OK) }))), h("button", { class: "ez-modal-container__focus-ctrl", onFocusin: () => this.focusFirst() })));
127338
+ return (h(Host, null, h("button", { class: "ez-modal-container__focus-ctrl", onFocusin: () => this.focusLast() }), h("div", { ref: ref => this._modalRef = ref, tabIndex: -1, class: "ez-modal-container__header-container" }, this.showTitleBar && (h("div", { class: "ez-modal-container__header ez-margin-bottom--large" }, h("div", { class: "ez-col ez-align--middle ez-modal-container__title" }, h("h2", { class: "ez-text ez-title--large ez-title--primary ez-text--bold ez-margin-vertical--extra-small" }, this.modalTitle), this.modalSubTitle && (h("div", { class: "ez-text ez-text--medium ez-text--primary ez-margin-vertical--extra-small" }, this.modalSubTitle))), h("button", { ref: ref => this._closeButton = ref, class: "ez-modal-container__close-button", onClick: () => this.ezModalAction.emit(ModalAction$1.CLOSE) }, h("ez-icon", { class: "ez-modal-container__close-icon", size: "medium", iconName: "close" }))))), h("div", { class: "ez-modal-container__content" }, h("slot", null)), h("div", { class: "ez-modal-container__footer" }, this.cancelIsVisible() && (h("ez-button", { label: this.cancelButtonLabel, enabled: this.cancelButtonStatus !== ModalButtonStatus$1.DISABLED, onClick: () => this.ezModalAction.emit(ModalAction$1.CANCEL) })), this.okIsVisible() && (h("ez-button", { ref: ref => this._okButton = ref, class: "ez-button--primary", label: this.okButtonLabel, enabled: this.okButtonStatus !== ModalButtonStatus$1.DISABLED, onClick: () => this.ezModalAction.emit(ModalAction$1.OK) }))), h("button", { class: "ez-modal-container__focus-ctrl", onFocusin: () => this.focusFirst() })));
126856
127339
  }
126857
127340
  get _element() { return this; }
126858
127341
  static get style() { return ezModalContainerCss; }
@@ -127126,12 +127609,17 @@ const EzNumberInput$1 = class extends HTMLElement$1 {
127126
127609
  }
127127
127610
  this._changePending = false;
127128
127611
  }
127612
+ observePrecision() {
127613
+ if (this._textInput) {
127614
+ this.setInputValue();
127615
+ }
127616
+ }
127129
127617
  validateValue(value) {
127130
127618
  return isNaN(value) || value === undefined ? null : value;
127131
127619
  }
127132
127620
  getTextValue(value) {
127133
127621
  if (value != undefined) {
127134
- return this.precision > 0 ? NumberUtils$1.format(value.toString(), Number(this.precision), Number(this.prettyPrecision)) : value.toString();
127622
+ return this.precision >= 0 ? NumberUtils$1.format(value.toString(), Number(this.precision), Number(this.prettyPrecision)) : value.toString();
127135
127623
  }
127136
127624
  return undefined;
127137
127625
  }
@@ -127209,7 +127697,9 @@ const EzNumberInput$1 = class extends HTMLElement$1 {
127209
127697
  static get watchers() { return {
127210
127698
  "label": ["observeLabel"],
127211
127699
  "errorMessage": ["observeErrorMessage"],
127212
- "value": ["observeValue"]
127700
+ "value": ["observeValue"],
127701
+ "precision": ["observePrecision"],
127702
+ "prettyPrecision": ["observePrecision"]
127213
127703
  }; }
127214
127704
  static get style() { return ezNumberInputCss; }
127215
127705
  };
@@ -127981,9 +128471,12 @@ const EzSearch$1 = class extends HTMLElement$1 {
127981
128471
  }
127982
128472
  scrollToOption(opt) {
127983
128473
  window.requestAnimationFrame(() => {
127984
- const liElem = (opt === null || opt === void 0 ? void 0 : opt.value) ? this._optionsList.querySelector(`div#item_${this.replaceHighlight(opt.value).replace(/[<>\[\]#=]/g, '\\$&').replace(/:/g, '\\:')}`) : undefined;
127985
- if (liElem)
128474
+ const liElem = (opt === null || opt === void 0 ? void 0 : opt.value)
128475
+ ? this._optionsList.querySelector(`div#item_${opt.value.replace(/([ #;&,.+*~':"!^$[\]()=<>|/\\])/g, '\\$1')}`)
128476
+ : undefined;
128477
+ if (liElem) {
127986
128478
  liElem.scrollIntoView({ behavior: "smooth", block: "nearest" });
128479
+ }
127987
128480
  });
127988
128481
  }
127989
128482
  selectCurrentOption() {
@@ -128612,7 +129105,7 @@ const SplitItem = class extends HTMLElement$1 {
128612
129105
  CSSVarsUtils.applyVarsGrid(this._element, this._slot.children[0]);
128613
129106
  }
128614
129107
  render() {
128615
- return (h(Host, { class: `box_split-item ${this._expanded ? 'expanded__item' : ''}`, ref: el => (this._element = el) }, h("div", { class: "ez-split-item--header" }, h("slot", { name: "leftButtons" }), h("div", { class: "ez-split-item--header-title" }, this.label && (h("h3", { class: "ez-text ez-text--primary ez-title ez-title--small ez-margin--small", title: this.label }, this.label))), h("div", { class: "ez-split-item--header-buttons" }, this.enableExpand && (h("ez-button", { size: "small", mode: "icon", iconName: "expand", class: 'ez-button--tertiary', onClick: () => this.toggleExpandItem(), title: this._expanded ? 'Resumir' : 'Expandir' })), h("slot", { name: "rightButtons" }))), h("div", { class: "ez-split-item--content grid_height-0", ref: el => (this._slot = el) }, h("slot", null))));
129108
+ return (h(Host, { class: `box_split-item ${this._expanded ? 'expanded__item' : ''}`, ref: el => (this._element = el) }, h("div", { class: "ez-split-item--header" }, h("slot", { name: "leftButtons" }), h("div", { class: "ez-split-item--header-title" }, this.label && (h("h3", { class: "ez-text ez-text--primary ez-title ez-title--small ez-margin--small", title: this.label }, this.label))), h("div", { class: "ez-split-item--header-buttons" }, h("slot", { name: "rightButtons" }), this.enableExpand && (h("ez-button", { size: "small", mode: "icon", iconName: "expand", class: 'ez-button--tertiary', onClick: () => this.toggleExpandItem(), title: this._expanded ? 'Resumir' : 'Expandir' })))), h("div", { class: "ez-split-item--content grid_height-0", ref: el => (this._slot = el) }, h("slot", null))));
128616
129109
  }
128617
129110
  static get style() { return ezSplitItemCss; }
128618
129111
  };
@@ -131678,15 +132171,16 @@ const EzCheck = /*@__PURE__*/proxyCustomElement(EzCheck$1, [1,"ez-check",{"label
131678
132171
  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"]}]);
131679
132172
  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]}]);
131680
132173
  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"],"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"]]]);
132174
+ const EzCustomFormInput = /*@__PURE__*/proxyCustomElement(EzCustomFormInput$1, [2,"ez-custom-form-input",{"customEditor":[16],"formViewField":[16],"value":[8],"detailContext":[1,"detail-context"],"builderFallback":[16],"gui":[32]}]);
131681
132175
  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"]}]);
131682
132176
  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"]}]);
131683
132177
  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"]]]);
131684
132178
  const EzDropdown = /*@__PURE__*/proxyCustomElement(EzDropdown$1, [1,"ez-dropdown",{"items":[1040],"value":[1040],"itemBuilder":[16]},[[4,"click","handleClickOutside"]]]);
131685
132179
  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]}]);
131686
132180
  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"]}]);
131687
- const EzForm = /*@__PURE__*/proxyCustomElement(EzForm$1, [2,"ez-form",{"dataUnit":[1040],"config":[16],"recordsValidator":[16],"fieldToFocus":[1,"field-to-focus"]}]);
131688
- const EzFormView = /*@__PURE__*/proxyCustomElement(EzFormView$1, [2,"ez-form-view",{"fields":[16]}]);
131689
- 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"],"_paginationInfo":[32],"_paginationChangedByKeyboard":[32],"_showSelectionCounter":[32],"_isAllSelection":[32],"_currentPageSelected":[32],"_selectionCount":[32],"_hasLeftButtons":[32]},[[0,"ezSelectionChange","onSelectionChange"]]]);
132181
+ 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]}]);
132182
+ const EzFormView = /*@__PURE__*/proxyCustomElement(EzFormView$1, [2,"ez-form-view",{"fields":[16],"_customEditors":[32]}]);
132183
+ 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"],"_paginationInfo":[32],"_paginationChangedByKeyboard":[32],"_showSelectionCounter":[32],"_isAllSelection":[32],"_currentPageSelected":[32],"_selectionCount":[32],"_hasLeftButtons":[32],"_customFormatters":[32]},[[0,"ezSelectionChange","onSelectionChange"]]]);
131690
132184
  const EzGuideNavigator = /*@__PURE__*/proxyCustomElement(EzGuideNavigator$1, [1,"ez-guide-navigator",{"open":[1540],"selectedId":[1537,"selected-id"],"items":[16],"tooltipResolver":[16],"filterText":[32]}]);
131691
132185
  const EzIcon = /*@__PURE__*/proxyCustomElement(EzIcon$1, [1,"ez-icon",{"size":[513],"href":[513],"iconName":[513,"icon-name"]}]);
131692
132186
  const EzList = /*@__PURE__*/proxyCustomElement(EzList$1, [1,"ez-list",{"dataSource":[1040],"listMode":[1,"list-mode"],"useGroups":[1540,"use-groups"],"ezDraggable":[1028,"ez-draggable"],"ezSelectable":[1028,"ez-selectable"],"itemSlotBuilder":[1040],"itemLeftSlotBuilder":[1040],"hoverFeedback":[1028,"hover-feedback"],"_listItems":[32],"_listGroupItems":[32]}]);
@@ -131732,6 +132226,7 @@ const defineCustomElements = (opts) => {
131732
132226
  EzChip,
131733
132227
  EzCollapsibleBox,
131734
132228
  EzComboBox,
132229
+ EzCustomFormInput,
131735
132230
  EzDateInput,
131736
132231
  EzDateTimeInput,
131737
132232
  EzDialog,
@@ -131778,4 +132273,4 @@ const defineCustomElements = (opts) => {
131778
132273
  }
131779
132274
  };
131780
132275
 
131781
- export { EzActionsButton, EzAlert, EzAlertList, EzApplication, EzBadge, EzBreadcrumb, EzButton, EzCalendar, EzCardItem, EzCheck, EzChip, EzCollapsibleBox, EzComboBox, EzDateInput, EzDateTimeInput, EzDialog, EzDropdown, EzFileItem, EzFilterInput, EzForm, EzFormView, EzGrid, EzGuideNavigator, EzIcon, EzList, EzLoadingBar, EzModal, EzModalContainer, EzMultiSelectionList, EzNumberInput, EzPopover, EzPopup, EzRadioButton, EzScroller, EzSearch, EzSidebarButton, EzSkeleton, EzSplitButton, EzSplitItem, EzSplitPanel, EzTabselector, EzTextArea, EzTextEdit, EzTextInput, EzTimeInput, EzToast, EzTree, EzUpload, EzViewStack, FilterColumn, MultiSelectionBoxMessage, defineCustomElements };
132276
+ export { EzActionsButton, EzAlert, EzAlertList, EzApplication, EzBadge, EzBreadcrumb, EzButton, EzCalendar, EzCardItem, EzCheck, EzChip, EzCollapsibleBox, EzComboBox, EzCustomFormInput, EzDateInput, EzDateTimeInput, EzDialog, EzDropdown, EzFileItem, EzFilterInput, EzForm, EzFormView, EzGrid, EzGuideNavigator, EzIcon, EzList, EzLoadingBar, EzModal, EzModalContainer, EzMultiSelectionList, EzNumberInput, EzPopover, EzPopup, EzRadioButton, EzScroller, EzSearch, EzSidebarButton, EzSkeleton, EzSplitButton, EzSplitItem, EzSplitPanel, EzTabselector, EzTextArea, EzTextEdit, EzTextInput, EzTimeInput, EzToast, EzTree, EzUpload, EzViewStack, FilterColumn, MultiSelectionBoxMessage, defineCustomElements };