@sankhyalabs/ezui 5.21.0-dev.10 → 5.21.0-dev.12

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 (90) 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-collapsible-box.cjs.entry.js +1 -0
  4. package/dist/cjs/ez-combo-box.cjs.entry.js +1 -0
  5. package/dist/cjs/{ez-text-edit.cjs.entry.js → ez-custom-form-input_2.cjs.entry.js} +86 -0
  6. package/dist/cjs/ez-form-view.cjs.entry.js +18 -2
  7. package/dist/cjs/ez-form.cjs.entry.js +24 -1
  8. package/dist/cjs/ez-grid.cjs.entry.js +218 -9
  9. package/dist/cjs/ez-search.cjs.entry.js +1 -0
  10. package/dist/cjs/ez-split-item.cjs.entry.js +1 -0
  11. package/dist/cjs/ezui.cjs.js +1 -1
  12. package/dist/cjs/index-a7b0c73d.js +4 -4
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/collection/collection-manifest.json +1 -0
  15. package/dist/collection/components/ez-form/ez-form.js +55 -3
  16. package/dist/collection/components/ez-form-view/custom-input/ez-custom-form-input.js +245 -0
  17. package/dist/collection/components/ez-form-view/ez-form-view.js +52 -2
  18. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +20 -2
  19. package/dist/collection/components/ez-grid/controller/ag-grid/GridEditionManager.js +35 -1
  20. package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.js +58 -0
  21. package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomCellRender.js +40 -0
  22. package/dist/collection/components/ez-grid/controller/ag-grid/components/test/constants/EzGridCustomCellEditorConstants.js +11 -0
  23. package/dist/collection/components/ez-grid/controller/ag-grid/components/test/constants/EzGridCustomCellRenderConstants.js +11 -0
  24. package/dist/collection/components/ez-grid/controller/ag-grid/editor/EzCellEditor.js +6 -3
  25. package/dist/collection/components/ez-grid/controller/ag-grid/editor/EzCellRender.js +40 -0
  26. package/dist/collection/components/ez-grid/controller/ag-grid/editor/IUICellRender.js +1 -0
  27. package/dist/collection/components/ez-grid/ez-grid.js +81 -0
  28. package/dist/collection/components/ez-grid/subcomponents/utils/selectionCounterUtils.js +2 -4
  29. package/dist/collection/utils/customEditor/interfaces/ICustomEditor.js +5 -0
  30. package/dist/collection/utils/customEditor/interfaces/ICustomEditorInfo.js +1 -0
  31. package/dist/collection/utils/customRender/interfaces/ICustomRender.js +5 -0
  32. package/dist/collection/utils/customRender/interfaces/ICustomRenderInfo.js +1 -0
  33. package/dist/collection/utils/index.js +2 -0
  34. package/dist/custom-elements/index.d.ts +6 -0
  35. package/dist/custom-elements/index.js +361 -15
  36. package/dist/esm/ICustomRender-875b5a40.js +13 -0
  37. package/dist/esm/ez-actions-button.entry.js +1 -0
  38. package/dist/esm/ez-collapsible-box.entry.js +1 -0
  39. package/dist/esm/ez-combo-box.entry.js +1 -0
  40. package/dist/esm/{ez-text-edit.entry.js → ez-custom-form-input_2.entry.js} +88 -3
  41. package/dist/esm/ez-form-view.entry.js +18 -2
  42. package/dist/esm/ez-form.entry.js +24 -1
  43. package/dist/esm/ez-grid.entry.js +218 -9
  44. package/dist/esm/ez-search.entry.js +1 -0
  45. package/dist/esm/ez-split-item.entry.js +1 -0
  46. package/dist/esm/ezui.js +1 -1
  47. package/dist/esm/index-baa5e267.js +4 -4
  48. package/dist/esm/loader.js +1 -1
  49. package/dist/ezui/ezui.esm.js +1 -1
  50. package/dist/ezui/p-13727aec.entry.js +1 -0
  51. package/dist/ezui/{p-1db718ab.entry.js → p-1f96ba9a.entry.js} +2 -2
  52. package/dist/ezui/p-4607fb89.js +1 -0
  53. package/dist/ezui/{p-3a21618b.entry.js → p-77362d3a.entry.js} +1 -1
  54. package/dist/ezui/p-7922142b.entry.js +1 -0
  55. package/dist/ezui/p-84e439b9.entry.js +1 -0
  56. package/dist/ezui/p-922ac38b.entry.js +1 -0
  57. package/dist/ezui/p-bcb53f27.entry.js +1 -0
  58. package/dist/ezui/p-c942e4a7.entry.js +1 -0
  59. package/dist/ezui/p-e90dd4eb.entry.js +1 -0
  60. package/dist/types/components/ez-form/ez-form.d.ts +9 -2
  61. package/dist/types/components/ez-form-view/custom-input/ez-custom-form-input.d.ts +41 -0
  62. package/dist/types/components/ez-form-view/ez-form-view.d.ts +7 -0
  63. package/dist/types/components/ez-grid/controller/EzGridController.d.ts +19 -0
  64. package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +6 -0
  65. package/dist/types/components/ez-grid/controller/ag-grid/GridEditionManager.d.ts +7 -1
  66. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.d.ts +19 -0
  67. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellRender.d.ts +14 -0
  68. package/dist/types/components/ez-grid/controller/ag-grid/components/test/constants/EzGridCustomCellEditorConstants.d.ts +11 -0
  69. package/dist/types/components/ez-grid/controller/ag-grid/components/test/constants/EzGridCustomCellRenderConstants.d.ts +11 -0
  70. package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellEditor.d.ts +3 -0
  71. package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellRender.d.ts +15 -0
  72. package/dist/types/components/ez-grid/controller/ag-grid/editor/IUICellRender.d.ts +10 -0
  73. package/dist/types/components/ez-grid/ez-grid.d.ts +12 -0
  74. package/dist/types/components.d.ts +87 -3
  75. package/dist/types/utils/customEditor/interfaces/ICustomEditor.d.ts +29 -0
  76. package/dist/types/utils/customEditor/interfaces/ICustomEditorInfo.d.ts +5 -0
  77. package/dist/types/utils/customRender/interfaces/ICustomRender.d.ts +29 -0
  78. package/dist/types/utils/customRender/interfaces/ICustomRenderInfo.d.ts +5 -0
  79. package/dist/types/utils/index.d.ts +2 -0
  80. package/package.json +1 -1
  81. package/react/components.d.ts +1 -0
  82. package/react/components.js +1 -0
  83. package/react/components.js.map +1 -1
  84. package/dist/ezui/p-0447d17c.entry.js +0 -1
  85. package/dist/ezui/p-20ec22c0.entry.js +0 -1
  86. package/dist/ezui/p-637f69f2.entry.js +0 -1
  87. package/dist/ezui/p-7c770f14.entry.js +0 -1
  88. package/dist/ezui/p-836cdfdf.entry.js +0 -1
  89. package/dist/ezui/p-99ead599.entry.js +0 -1
  90. package/dist/ezui/p-bae3d0aa.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 {
@@ -2918,6 +2930,91 @@ var SearchMode$1;
2918
2930
  SearchMode["PREDICTIVE"] = "PREDICTIVE";
2919
2931
  })(SearchMode$1 || (SearchMode$1 = {}));
2920
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
+
2921
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)}";
2922
3019
 
2923
3020
  const EzDateInput$1 = class extends HTMLElement$1 {
@@ -4615,6 +4712,7 @@ const EzForm$1 = class extends HTMLElement$1 {
4615
4712
  this.ezFormSetFields = createEvent(this, "ezFormSetFields", 7);
4616
4713
  this.ezReady = createEvent(this, "ezReady", 7);
4617
4714
  this.formItemsReady = createEvent(this, "formItemsReady", 7);
4715
+ this._customEditors = new Map();
4618
4716
  this.onDataUnitAction = (action) => {
4619
4717
  if (action.type === Action.METADATA_LOADED) {
4620
4718
  this.processMetadata();
@@ -4633,6 +4731,18 @@ const EzForm$1 = class extends HTMLElement$1 {
4633
4731
  validate() {
4634
4732
  return this._dataBinder.validate();
4635
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
+ }
4636
4746
  observeConfig() {
4637
4747
  this.processMetadata();
4638
4748
  }
@@ -4671,7 +4781,7 @@ const EzForm$1 = class extends HTMLElement$1 {
4671
4781
  }
4672
4782
  this.ezFormSetFields.emit(fields);
4673
4783
  const idFormSheet = `${StringUtils$1.replaceAccentuatedChars(StringUtils$1.toCamelCase(currentSheet === null || currentSheet === void 0 ? void 0 : currentSheet.label), false)}_selectorContainer`;
4674
- return (h("div", { class: "dynamic-content", "data-element-id": idFormSheet }, h("ez-form-view", { ref: ref => this._formView = ref, 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 })));
4675
4785
  }
4676
4786
  processMetadata() {
4677
4787
  if (this.bindFields() && this.dataUnit && this._store) {
@@ -4705,8 +4815,18 @@ const EzForm$1 = class extends HTMLElement$1 {
4705
4815
  this._dataBinder.bind(Array.from(this._element.querySelectorAll("[data-field-name]")), this.dataUnit.dataUnitId, metadata, this.recordsValidator);
4706
4816
  this.ezReady.emit();
4707
4817
  this.handleFieldToFocus();
4818
+ this.setCustomEditors();
4708
4819
  this.setFieldsProps();
4709
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
+ }
4829
+ }
4710
4830
  handleFieldToFocus() {
4711
4831
  var _a;
4712
4832
  if (this.fieldToFocus == undefined) {
@@ -4900,11 +5020,20 @@ const EzFormView$1 = class extends HTMLElement$1 {
4900
5020
  this.__registerHost();
4901
5021
  this.ezContentReady = createEvent(this, "ezContentReady", 7);
4902
5022
  this.formItemsReady = createEvent(this, "formItemsReady", 7);
5023
+ this._customEditors = new Map();
4903
5024
  this.fields = undefined;
4904
5025
  }
4905
5026
  async showUp() {
4906
5027
  this._element.scrollIntoView({ behavior: "smooth", block: "start" });
4907
5028
  }
5029
+ /**
5030
+ * Registra um editor customizado para campos da grade e formulário.
5031
+ */
5032
+ async addCustomEditor(fieldName, customEditor, detailContext) {
5033
+ const newCustomEditors = new Map(this._customEditors);
5034
+ newCustomEditors.set(fieldName, { customEditor, detailContext });
5035
+ this._customEditors = newCustomEditors;
5036
+ }
4908
5037
  /**
4909
5038
  * Altera/adiciona uma propriedade nos metados do campo.
4910
5039
  */
@@ -4937,8 +5066,9 @@ const EzFormView$1 = class extends HTMLElement$1 {
4937
5066
  return result;
4938
5067
  }
4939
5068
  componentDidRender() {
4940
- this.ezContentReady.emit(Array.from(this._element.querySelectorAll("[data-field-name]")));
4941
- const formItems = new FormItems(Array.from(this._element.querySelectorAll("[data-form-item]")));
5069
+ this._formElements = Array.from(this._element.querySelectorAll("[data-field-name]"));
5070
+ this.ezContentReady.emit(this._formElements);
5071
+ const formItems = new FormItems(this._formElements);
4942
5072
  this.formItemsReady.emit(formItems);
4943
5073
  }
4944
5074
  isItemFullWidth(userInterface) {
@@ -4948,9 +5078,15 @@ const EzFormView$1 = class extends HTMLElement$1 {
4948
5078
  ].includes(userInterface);
4949
5079
  }
4950
5080
  buildFormItemElement(item, classItem = "") {
5081
+ var _a;
4951
5082
  if (this.isItemFullWidth(item.userInterface)) {
4952
5083
  classItem += " input-full_width";
4953
5084
  }
5085
+ if (this._customEditors.has(item.name)) {
5086
+ 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;
5087
+ const customEditor = this._customEditors.get(item.name).customEditor;
5088
+ return h("div", { class: classItem }, h("ez-custom-form-input", { "data-field-name": item.name, customEditor: customEditor, formViewField: item, builderFallback: fieldBuilder, value: value }));
5089
+ }
4954
5090
  return h("div", { class: classItem }, fieldBuilder(item));
4955
5091
  }
4956
5092
  render() {
@@ -124379,9 +124515,9 @@ class EzCellEditor {
124379
124515
  init(params) {
124380
124516
  const fieldName = params.column.getColId();
124381
124517
  const dataUnit = params.context.dataUnit;
124382
- const fieldMetadata = buildEditorMetadata(dataUnit.getField(fieldName), params.eGridCell, dataUnit, params.context.editionManager);
124383
- const builder = uiBuilders.get(fieldMetadata.userInterface) || buildTextInput;
124384
- this._gui = builder(fieldMetadata);
124518
+ this._fieldMetadata = buildEditorMetadata(dataUnit.getField(fieldName), params.eGridCell, dataUnit, params.context.editionManager);
124519
+ const builder = uiBuilders.get(this._fieldMetadata.userInterface) || buildTextInput;
124520
+ this._gui = builder(this._fieldMetadata);
124385
124521
  if (this._gui.valueSetter != undefined) {
124386
124522
  this._gui.valueSetter(params.value);
124387
124523
  }
@@ -124405,10 +124541,147 @@ class EzCellEditor {
124405
124541
  isPopup() {
124406
124542
  return this._gui.isPopUp;
124407
124543
  }
124544
+ getFieldMetadata() {
124545
+ return this._fieldMetadata;
124546
+ }
124547
+ }
124548
+
124549
+ class EzGridCustomCellEditor extends EzCellEditor {
124550
+ init(params) {
124551
+ var _a, _b;
124552
+ this._value = params.value;
124553
+ this._fieldName = params.column.getColId();
124554
+ this._customEditorInstance = params.customEditorsInfo.customEditor;
124555
+ super.init(params);
124556
+ this._defaultGui = this.getDefaultGui();
124557
+ const fieldMetadata = super.getFieldMetadata();
124558
+ this._params = {
124559
+ value: params.value,
124560
+ charPress: params.charPress,
124561
+ currentEditor: this._defaultGui,
124562
+ name: this._fieldName,
124563
+ source: CustomEditorSource.GRID,
124564
+ detailContext: params.customEditorsInfo.detailContext,
124565
+ setValue: (value) => this.setValue(value),
124566
+ getValue: () => this.getValue(),
124567
+ editorMetadata: {
124568
+ hidden: ((_a = fieldMetadata.props) === null || _a === void 0 ? void 0 : _a.visible) === false,
124569
+ label: fieldMetadata.label,
124570
+ userInterface: fieldMetadata.userInterface,
124571
+ props: fieldMetadata.props,
124572
+ optionLoader: fieldMetadata.optionLoader,
124573
+ options: ((_b = fieldMetadata.props) === null || _b === void 0 ? void 0 : _b.options) || {},
124574
+ }
124575
+ };
124576
+ }
124577
+ getDefaultGui() {
124578
+ const gui = super.getGui();
124579
+ gui.value = this._value;
124580
+ gui.onkeyup = (event) => {
124581
+ const value = event.target.value;
124582
+ this.setValue(value);
124583
+ };
124584
+ return gui;
124585
+ }
124586
+ getGui() {
124587
+ const editorElement = this._customEditorInstance.getEditorElement(this._params);
124588
+ if (!editorElement) {
124589
+ return this._defaultGui;
124590
+ }
124591
+ if (typeof editorElement === 'string') {
124592
+ const element = HTMLBuilder.parseElement(editorElement);
124593
+ return element;
124594
+ }
124595
+ return editorElement;
124596
+ }
124597
+ setValue(value) {
124598
+ this._value = value;
124599
+ }
124600
+ getValue() {
124601
+ return this._value;
124602
+ }
124603
+ }
124604
+
124605
+ class EzCellRender {
124606
+ init(params) {
124607
+ const span = document.createElement('span');
124608
+ this._currentParams = params;
124609
+ span.textContent = params.value;
124610
+ const fieldName = params.column.getColId();
124611
+ const dataUnit = params.context.dataUnit;
124612
+ this._fieldMetadata = buildEditorMetadata(dataUnit.getField(fieldName), params.eGridCell, dataUnit, params.context.editionManager);
124613
+ this._gui = span;
124614
+ }
124615
+ refresh() {
124616
+ try {
124617
+ this._currentParams.refreshCell();
124618
+ return true;
124619
+ }
124620
+ catch (_a) {
124621
+ return false;
124622
+ }
124623
+ }
124624
+ getGui() {
124625
+ return this._gui;
124626
+ }
124627
+ afterGuiAttached() {
124628
+ this.focusIn();
124629
+ }
124630
+ focusIn() {
124631
+ this._gui.focus();
124632
+ this._gui.setFocus({ selectText: true });
124633
+ }
124634
+ getValue() {
124635
+ return this._currentParams.getValue();
124636
+ }
124637
+ isPopup() {
124638
+ return this._gui.isPopUp;
124639
+ }
124640
+ getFieldMetadata() {
124641
+ return this._fieldMetadata;
124642
+ }
124643
+ }
124644
+
124645
+ class EzGridCustomCellRender extends EzCellRender {
124646
+ init(params) {
124647
+ var _a, _b;
124648
+ this._fieldName = params.column.getColId();
124649
+ this._customRenderInstance = params.customRendersInfo.customRender;
124650
+ super.init(params);
124651
+ const fieldMetadata = super.getFieldMetadata();
124652
+ this._params = {
124653
+ value: params.value,
124654
+ charPress: '',
124655
+ currentRender: super.getGui(),
124656
+ name: this._fieldName,
124657
+ source: CustomRenderSource.GRID,
124658
+ getValue: () => params.getValue(),
124659
+ detailContext: params.customRendersInfo.detailContext,
124660
+ renderMetadata: {
124661
+ hidden: ((_a = fieldMetadata.props) === null || _a === void 0 ? void 0 : _a.visible) === false,
124662
+ label: fieldMetadata.label,
124663
+ userInterface: fieldMetadata.userInterface,
124664
+ props: fieldMetadata.props,
124665
+ optionLoader: fieldMetadata.optionLoader,
124666
+ options: ((_b = fieldMetadata.props) === null || _b === void 0 ? void 0 : _b.options) || {},
124667
+ }
124668
+ };
124669
+ }
124670
+ getGui() {
124671
+ const editorElement = this._customRenderInstance.getRenderElement(this._params);
124672
+ if (!editorElement) {
124673
+ return super.getGui();
124674
+ }
124675
+ if (typeof editorElement === 'string') {
124676
+ const element = HTMLBuilder.parseElement(editorElement);
124677
+ return element;
124678
+ }
124679
+ return editorElement;
124680
+ }
124408
124681
  }
124409
124682
 
124410
124683
  class GridEditionManager {
124411
- constructor(dataUnit, useEnterLikeTab, recordsValidator, editionIsDisabled) {
124684
+ constructor(dataUnit, useEnterLikeTab, recordsValidator, editionIsDisabled, customEditors, customRenders) {
124412
124685
  this._dataUnit = dataUnit;
124413
124686
  this._recordValidationProcessor = new RecordValidationProcessor(this._dataUnit, {
124414
124687
  getRequiredFields: () => this.getRequiredFields(),
@@ -124417,6 +124690,8 @@ class GridEditionManager {
124417
124690
  }, recordsValidator);
124418
124691
  this._useEnterLikeTab = useEnterLikeTab;
124419
124692
  this._editionIsDisabled = editionIsDisabled;
124693
+ this._customEditors = customEditors;
124694
+ this._customRenders = customRenders;
124420
124695
  }
124421
124696
  configureGrid(options) {
124422
124697
  this._gridOptions = options;
@@ -124483,6 +124758,30 @@ class GridEditionManager {
124483
124758
  col.suppressKeyboardEvent = (params) => {
124484
124759
  return params.event.key === KeyCode.ENTER;
124485
124760
  };
124761
+ col.cellEditorSelector = (params) => {
124762
+ var _a;
124763
+ if ((_a = this._customEditors) === null || _a === void 0 ? void 0 : _a.has(params.colDef.field)) {
124764
+ const customEditor = this._customEditors.get(params.colDef.field);
124765
+ return {
124766
+ component: EzGridCustomCellEditor,
124767
+ params: {
124768
+ customEditorsInfo: customEditor,
124769
+ }
124770
+ };
124771
+ }
124772
+ };
124773
+ col.cellRendererSelector = (params) => {
124774
+ var _a;
124775
+ if ((_a = this._customRenders) === null || _a === void 0 ? void 0 : _a.has(params.colDef.field)) {
124776
+ const customRender = this._customRenders.get(params.colDef.field);
124777
+ return {
124778
+ component: EzGridCustomCellRender,
124779
+ params: {
124780
+ customRendersInfo: customRender,
124781
+ }
124782
+ };
124783
+ }
124784
+ };
124486
124785
  return col;
124487
124786
  }
124488
124787
  getRequiredFields() {
@@ -124624,6 +124923,12 @@ class GridEditionManager {
124624
124923
  this._lastCellEdited = { rowIndex: event.rowIndex, column: event.column, rowPinned: undefined };
124625
124924
  }
124626
124925
  }
124926
+ setCellEditors(customEditors) {
124927
+ this._customEditors = customEditors;
124928
+ }
124929
+ setCellRenders(customRenders) {
124930
+ this._customRenders = customRenders;
124931
+ }
124627
124932
  }
124628
124933
  class TargetEdition {
124629
124934
  constructor(rowIndex, column, backwards) {
@@ -124752,7 +125057,7 @@ class AgGridController {
124752
125057
  this._doubleClickCallBack = options.onDoubleClick;
124753
125058
  this._multipleSelection = options.allowMultipleSelection;
124754
125059
  this._dataUnit = options.dataUnit;
124755
- this._editionManager = new GridEditionManager(this._dataUnit, options.useEnterLikeTab, options.recordsValidator, options.editionIsDisabled);
125060
+ this._editionManager = new GridEditionManager(this._dataUnit, options.useEnterLikeTab, options.recordsValidator, options.editionIsDisabled, options.customEditors || this._customEditors, options.customRenders || this._customRenders);
124756
125061
  this._statusResolver = options.statusResolver;
124757
125062
  if (this._dataUnit) {
124758
125063
  this._dataUnit.sortingProvider = this;
@@ -125482,6 +125787,24 @@ class AgGridController {
125482
125787
  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;
125483
125788
  return labelSize > this.DEFAULT_MAX_SIZE ? this.DEFAULT_MAX_SIZE : labelSize;
125484
125789
  }
125790
+ setCellEditors(customEditors) {
125791
+ var _a;
125792
+ if (!this._editionManager) {
125793
+ this._customEditors = customEditors;
125794
+ return;
125795
+ }
125796
+ this._editionManager.setCellEditors(customEditors);
125797
+ (_a = this._gridOptions) === null || _a === void 0 ? void 0 : _a.api.redrawRows();
125798
+ }
125799
+ setCellRenders(customRenders) {
125800
+ var _a;
125801
+ if (!this._editionManager) {
125802
+ this._customRenders = customRenders;
125803
+ return;
125804
+ }
125805
+ this._editionManager.setCellRenders(customRenders);
125806
+ (_a = this._gridOptions) === null || _a === void 0 ? void 0 : _a.api.redrawRows();
125807
+ }
125485
125808
  }
125486
125809
 
125487
125810
  function enableSelectAll(total) {
@@ -125503,10 +125826,8 @@ function getText(selectionCount, allSelectedRecords) {
125503
125826
  if (allSelectedRecords) {
125504
125827
  return `Todos os <strong>${selectionCount} registros</strong> da grade estão selecionados.`;
125505
125828
  }
125506
- if (selectionCount > 1) {
125507
- return `Os <strong>${selectionCount} registros</strong> dessa página estão selecionados.`;
125508
- }
125509
- return "O único registro dessa página está selecionado";
125829
+ const pluralCharacter = selectionCount > 1 ? "s" : "";
125830
+ return ` <strong>${selectionCount} registro${pluralCharacter}</strong> selecionado${pluralCharacter} na grade.`;
125510
125831
  }
125511
125832
 
125512
125833
  const SelectionCounter = (props) => {
@@ -125710,6 +126031,8 @@ const EzGrid$1 = class extends HTMLElement$1 {
125710
126031
  this.componentReady = createEvent(this, "componentReady", 7);
125711
126032
  this._gridController = new AgGridController(false);
125712
126033
  this._messageFilterAppliedSuccess = 'Filtro de coluna aplicado com sucesso!';
126034
+ this._customEditor = new Map();
126035
+ this._customRenders = new Map();
125713
126036
  this._paginationInfo = undefined;
125714
126037
  this._paginationChangedByKeyboard = true;
125715
126038
  this._showSelectionCounter = false;
@@ -125789,6 +126112,27 @@ const EzGrid$1 = class extends HTMLElement$1 {
125789
126112
  async filterColumns(search) {
125790
126113
  return Promise.resolve(this._gridController.getColumnsState().filter(col => matches(col.label, search)));
125791
126114
  }
126115
+ /**
126116
+ * Registra um editor customizado para campos da grade e formulário.
126117
+ */
126118
+ async addCustomEditor(fieldName, customEditor, detailContext) {
126119
+ const newCustomEditor = new Map(this._customEditor);
126120
+ newCustomEditor.set(fieldName, {
126121
+ customEditor,
126122
+ detailContext,
126123
+ });
126124
+ this._customEditor = newCustomEditor;
126125
+ this._gridController.setCellEditors(newCustomEditor);
126126
+ }
126127
+ /**
126128
+ * Registra um render customizado para colunas da grid.
126129
+ */
126130
+ async addGridCustomRender(fieldName, customRender, detailContext) {
126131
+ const newCustomRenders = new Map(this._customRenders);
126132
+ newCustomRenders.set(fieldName, { customRender, detailContext });
126133
+ this._customRenders = newCustomRenders;
126134
+ this._gridController.setCellRenders(newCustomRenders);
126135
+ }
125792
126136
  /**
125793
126137
  * Registra um formatador de valores para uma coluna da grid.
125794
126138
  */
@@ -131824,6 +132168,7 @@ const EzCheck = /*@__PURE__*/proxyCustomElement(EzCheck$1, [1,"ez-check",{"label
131824
132168
  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"]}]);
131825
132169
  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]}]);
131826
132170
  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"]]]);
132171
+ 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]}]);
131827
132172
  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"]}]);
131828
132173
  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"]}]);
131829
132174
  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"]]]);
@@ -131831,7 +132176,7 @@ const EzDropdown = /*@__PURE__*/proxyCustomElement(EzDropdown$1, [1,"ez-dropdown
131831
132176
  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]}]);
131832
132177
  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"]}]);
131833
132178
  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]}]);
131834
- const EzFormView = /*@__PURE__*/proxyCustomElement(EzFormView$1, [2,"ez-form-view",{"fields":[16]}]);
132179
+ const EzFormView = /*@__PURE__*/proxyCustomElement(EzFormView$1, [2,"ez-form-view",{"fields":[16],"_customEditors":[32]}]);
131835
132180
  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"]]]);
131836
132181
  const EzGuideNavigator = /*@__PURE__*/proxyCustomElement(EzGuideNavigator$1, [1,"ez-guide-navigator",{"open":[1540],"selectedId":[1537,"selected-id"],"items":[16],"tooltipResolver":[16],"filterText":[32]}]);
131837
132182
  const EzIcon = /*@__PURE__*/proxyCustomElement(EzIcon$1, [1,"ez-icon",{"size":[513],"href":[513],"iconName":[513,"icon-name"]}]);
@@ -131878,6 +132223,7 @@ const defineCustomElements = (opts) => {
131878
132223
  EzChip,
131879
132224
  EzCollapsibleBox,
131880
132225
  EzComboBox,
132226
+ EzCustomFormInput,
131881
132227
  EzDateInput,
131882
132228
  EzDateTimeInput,
131883
132229
  EzDialog,
@@ -131924,4 +132270,4 @@ const defineCustomElements = (opts) => {
131924
132270
  }
131925
132271
  };
131926
132272
 
131927
- 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 };
132273
+ 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 };
@@ -0,0 +1,13 @@
1
+ var CustomEditorSource;
2
+ (function (CustomEditorSource) {
3
+ CustomEditorSource["GRID"] = "GRID";
4
+ CustomEditorSource["FORM"] = "FORM";
5
+ })(CustomEditorSource || (CustomEditorSource = {}));
6
+
7
+ var CustomRenderSource;
8
+ (function (CustomRenderSource) {
9
+ CustomRenderSource["GRID"] = "GRID";
10
+ CustomRenderSource["FORM"] = "FORM";
11
+ })(CustomRenderSource || (CustomRenderSource = {}));
12
+
13
+ export { CustomEditorSource as C, CustomRenderSource as a };
@@ -4,6 +4,7 @@ import './ApplicationUtils-eaf91331.js';
4
4
  import { C as CSSVarsUtils } from './CSSVarsUtils-71ce76be.js';
5
5
  import './DialogType-54a62731.js';
6
6
  import './CheckMode-bdb2ec19.js';
7
+ import './ICustomRender-875b5a40.js';
7
8
 
8
9
  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)}";
9
10
 
@@ -3,6 +3,7 @@ import { ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { A as ApplicationUtils } from './ApplicationUtils-eaf91331.js';
4
4
  import './DialogType-54a62731.js';
5
5
  import './CheckMode-bdb2ec19.js';
6
+ import './ICustomRender-875b5a40.js';
6
7
 
7
8
  const ezCollapsibleBoxCss = ":host{--ez-collapsible-box--font-size:var(--title--medium, 14px);--ez-collapsible-box--font-family:var(--font-pattern, Arial);--ez-collapsible-box--font-weight:var(--text-weight--large, 600);--ez-collapsible-box--color:var(--title--primary);--ez-collapsible-box--subtitle--font-size:var(--text--medium, 14px);--ez-collapsible-box--subtitle--font-family:var(--font-pattern, 'Roboto');--ez-collapsible-box--subtitle--font-weight:var(--text-weight--medium, 400);--ez-collapsible-box--subtitle--color:var(--text--primary);--ez-collapsible-box--subtitle--margin-bottom:var(--space--medium, 12px);--ez-collapsible-box--focus--color:var(--color--primary-600);--ez-collapsible-box__icon--color:var(--ez-collapsible-box--color);--ez-collapsible-box__header--padding-top:0px;--ez-collapsible-box__header--padding-bottom:0px;--ez-collapsible-box__header--padding-right:0px;--ez-collapsible-box__header--padding-left:0px;display:flex;flex-wrap:wrap;width:100%}ez-icon{--ez-icon--color:inherit}.collapsible-box{display:flex;flex-direction:column;width:100%}.collapsable-box--bordered{border:var(--border--small);border-color:var(--color--strokes);border-radius:var(--border--radius-medium);padding:var(--space--xs)}.collapsible-box__header{display:flex;box-sizing:border-box;padding-top:var(--ez-collapsible-box__header--padding-top);padding-bottom:var(--ez-collapsible-box__header--padding-bottom);padding-right:var(--ez-collapsible-box__header--padding-right);padding-left:var(--ez-collapsible-box__header--padding-left)}.collapsible-box__title{position:relative;width:auto;display:flex;box-sizing:border-box;align-items:center;outline:none;border:none;background-color:unset;cursor:pointer;padding:0px;text-align:left;color:var(--ez-collapsible-box--color);--ez-icon--color:var(--ez-collapsible-box__icon--color);margin-bottom:var(--space--medium, 12px)}.collapsible-box__title:focus{color:var(--ez-collapsible-box--focus--color);--ez-icon--color:var(--ez-collapsible-box--focus--color)}.collapsible-box__label{display:flex;white-space:nowrap;overflow:hidden;cursor:pointer;text-overflow:ellipsis;box-sizing:border-box;margin-left:6px;gap:6px;font-family:var(--ez-collapsible-box--font-family);font-size:var(--ez-collapsible-box--font-size);font-weight:var(--ez-collapsible-box--font-weight)}.subtitle-box__label{display:flex;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;font-family:var(--ez-collapsible-box--subtitle--font-family);font-size:var(--ez-collapsible-box--subtitle--font-size);font-weight:var(--ez-collapsible-box--subtitle--font-weight);color:var(--ez-collapsible-box--subtitle--color);margin-bottom:var(--ez-collapsible-box--subtitle--margin-bottom)}.subtitle-box__content{width:100%}.collapsible-box__label ez-icon{visibility:hidden;transition:2s all ease-in-out}.collapsible-box__label:hover ez-icon{visibility:visible}.collapsible-box__text-edit{margin-left:6px}.collapsible-box__icon{transform:rotate(90deg) translate(0px, 14%);transition:transform var(--transition)}.collapsible-box__icon--collapsed{transform:rotate(0deg) translate(-14%, 0px)}.collapsible-box__title--icon-right{flex-direction:row-reverse}.collapsible-box__title--icon-right .collapsible-box__icon{transform:rotate(90deg) translate(0px, -14%)}.collapsible-box__title--icon-right .collapsible-box__icon--collapsed{transform:rotate(0deg) translate(14%, 0px)}.collapsible-box__title--icon-right .collapsible-box__label{margin-left:0px;margin-right:6px}.collapsible-box__title--left{margin-right:auto}.collapsible-box__title--right{margin-left:auto}.collapsible-box__title--center{margin-left:auto;margin-right:auto}.collapsible-box__title--stretch{justify-content:space-between;width:100%}.collapsible-box__title--no-margin{margin-bottom:0}.collapsible-box__content{display:flex;flex-wrap:wrap;width:100%;height:0px;max-height:0px;opacity:0;overflow:hidden;transition:all var(--transition, 0.5s)}.collapsible-box__content--show{height:100%;max-height:none;opacity:1;overflow:visible;transition:all var(--transition, 0.5s)}.font--x-small{font-size:10px}.font--small{font-size:12px}.font--medium{font-size:14px}.font--large{font-size:16px}.font--x-large{font-size:20px}";
8
9
 
@@ -4,6 +4,7 @@ import './ApplicationUtils-eaf91331.js';
4
4
  import { C as CSSVarsUtils } from './CSSVarsUtils-71ce76be.js';
5
5
  import './DialogType-54a62731.js';
6
6
  import './CheckMode-bdb2ec19.js';
7
+ import './ICustomRender-875b5a40.js';
7
8
 
8
9
  const ezComboBoxCss = ":host{--ez-combo-box--height:42px;--ez-combo-box--width:100%;--ez-combo-box__icon--width:48px;--ez-combo-box--border-radius:var(--border--radius-medium, 12px);--ez-combo-box--border-radius-small:var(--border--radius-small, 6px);--ez-combo-box--font-size:var(--text--medium, 14px);--ez-combo-box--font-family:var(--font-pattern, Arial);--ez-combo-box--font-weight--large:var(--text-weight--large, 500);--ez-combo-box--font-weight--medium:var(--text-weight--medium, 400);--ez-combo-box--background-color--xlight:var(--background--xlight, #fff);--ez-combo-box--background-medium:var(--background--medium, #f0f3f7);--ez-combo-box--line-height:calc(var(--text--medium, 14px) + 4px);--ez-combo-box__input--background-color:var(--background--medium, #e0e0e0);--ez-combo-box__input--border:var(--border--medium, 2px solid);--ez-combo-box__input--border-color:var(--ez-combo-box__input--background-color);--ez-combo-box__input--focus--border-color:var(--color--primary, #008561);--ez-combo-box__input--disabled--background-color:var(--color--disable-secondary, #F2F5F8);--ez-combo-box__input--disabled--color:var(--text--disable, #AFB6C0);--ez-combo-box__input--error--border-color:#CC2936;--ez-combo-box__btn--color:var(--title--primary, #2B3A54);--ez-combo-box__btn-disabled--color:var(--text--disable, #AFB6C0);--ez-combo-box__btn-hover--color:var(--color--primary, #4e4e4e);--ez-combo-box__label--color:var(--title--primary, #2B3A54);--ez-combo-box__list-title--primary:var(--title--primary, #2B3A54);--ez-combo-box__list-text--primary:var(--text--primary, #626e82);--ez-combo-box__list-height:calc(var(--ez-combo-box--font-size) + var(--ez-combo-box--space--medium) + 4px);--ez-combo-box__list-min-width:64px;--ez-combo-box--space--medium:var(--space--medium, 12px);--ez-combo-box--space--small:var(--space--small, 6px);--ez-combo-box__scrollbar--color-default:var(--scrollbar--default, #626e82);--ez-combo-box__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--ez-combo-box__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--ez-combo-box__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--ez-combo-box__scrollbar--border-radius:var(--border--radius-small, 6px);--ez-combo-box__scrollbar--width:var(--space--medium, 12px);display:flex;flex-wrap:wrap;position:relative;width:var(--ez-combo-box--width)}ez-icon{--ez-icon--color:inherit;font-weight:var(--text-weight--large, 600)}.suppressed-search-input{--ez-text-input__input--border-color:var(--color--strokes, #dce0e8);--ez-text-input__input--disabled--background-color:var(--background--xlight, #fff);--ez-text-input__input--disabled--color:var(--title--primary, #2B3A54)}.list-container{min-width:var(--ez-combo-box__list-min-width);position:relative;width:100%}.list-wrapper{display:flex;flex-direction:column;box-sizing:border-box;width:0;z-index:var(--more-visible, 2);max-height:calc(4*var(--ez-combo-box__list-height) + 2*var(--ez-combo-box--space--small) + 9px);background-color:var(--ez-combo-box--background-color--xlight);border-radius:var(--ez-combo-box--border-radius);box-shadow:var(--shadow, 0px 0px 16px 0px #000);padding:var(--ez-combo-box--space--small)}.list-options{box-sizing:border-box;width:100%;height:100%;padding:0;display:flex;flex-direction:column;scroll-behavior:smooth;overflow:auto;scrollbar-width:thin;gap:3px;scrollbar-color:var(--ez-combo-box__scrollbar--color-clicked) var(--ez-combo-box__scrollbar--color-background)}.list-options::-webkit-scrollbar{background-color:var(--ez-combo-box__scrollbar--color-background);width:var(--ez-combo-box__scrollbar--width);max-width:var(--ez-combo-box__scrollbar--width);min-width:var(--ez-combo-box__scrollbar--width)}.list-options::-webkit-scrollbar-track{background-color:var(--ez-combo-box__scrollbar--color-background);border-radius:var(--ez-combo-box__scrollbar--border-radius)}.list-options::-webkit-scrollbar-thumb{background-color:var(--ez-combo-box__scrollbar--color-default);border-radius:var(--ez-combo-box__scrollbar--border-radius)}.list-options::-webkit-scrollbar-thumb:vertical:hover,.list-options::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-combo-box__scrollbar--color-hover)}.list-options::-webkit-scrollbar-thumb:vertical:active,.list-options::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-combo-box__scrollbar--color-clicked)}.item{display:flex;align-items:center;width:100%;box-sizing:border-box;list-style-type:none;cursor:pointer;border-radius:var(--ez-combo-box--border-radius-small);padding:var(--ez-combo-box--space--small);min-height:var(--ez-combo-box__list-height);gap:var(--space--small, 6px)}.item__value,.item__label{flex-basis:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ez-combo-box__list-title--primary);font-family:var(--ez-combo-box--font-family);font-size:var(--ez-combo-box--font-size);line-height:var(--ez-combo-box--line-height)}.item__label{font-weight:var(--ez-combo-box--font-weight--medium)}.item__label--bold{font-weight:var(--ez-combo-box--font-weight--large)}.item__value{text-align:center;color:var(--ez-combo-box__list-text--primary);font-weight:var(--ez-combo-box--font-weight--large)}.item__value--hidden{visibility:hidden;position:absolute;white-space:nowrap;z-index:-1;top:0;left:0}.item__label{text-align:left}.message{text-align:center;display:flex;justify-content:center;align-items:center;list-style-type:none;min-height:var(--ez-combo-box__list-height)}.message__no-result{color:var(--ez-combo-box__list-title--primary);font-family:var(--ez-combo-box--font-family);font-size:var(--ez-combo-box--font-size)}.message__loading{border-radius:50%;width:14px;height:14px;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;border:3px solid var(--ez-combo-box__list-title--primary);border-top:3px solid transparent}li:hover{background-color:var(--ez-combo-box--background-medium)}.preselected{background-color:var(--background--medium)}.btn{outline:none;border:none;background:none;cursor:pointer;color:var(--ez-combo-box__btn--color)}.btn:disabled{cursor:unset;color:var(--ez-combo-box__btn-disabled--color)}.btn:disabled:hover{cursor:unset;color:var(--ez-combo-box__btn-disabled--color)}.btn:hover{color:var(--ez-combo-box__btn-hover--color)}.btn__close{visibility:hidden}ez-text-input:hover .btn__close,ez-text-input:focus .btn__close{visibility:visible}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}";
9
10