@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
@@ -8,6 +8,7 @@ const DataUnit = require('@sankhyalabs/core/dist/dataunit/DataUnit');
8
8
  const ApplicationUtils = require('./ApplicationUtils-c9d1205c.js');
9
9
  require('./DialogType-2114c337.js');
10
10
  require('./CheckMode-ecb90b87.js');
11
+ const ICustomRender = require('./ICustomRender-6fafffce.js');
11
12
  const constants = require('./constants-2714478b.js');
12
13
  const RecordValidationProcessor = require('./RecordValidationProcessor-4c893e04.js');
13
14
 
@@ -119414,9 +119415,9 @@ class EzCellEditor {
119414
119415
  init(params) {
119415
119416
  const fieldName = params.column.getColId();
119416
119417
  const dataUnit = params.context.dataUnit;
119417
- const fieldMetadata = buildEditorMetadata(dataUnit.getField(fieldName), params.eGridCell, dataUnit, params.context.editionManager);
119418
- const builder = uiBuilders.get(fieldMetadata.userInterface) || buildTextInput;
119419
- this._gui = builder(fieldMetadata);
119418
+ this._fieldMetadata = buildEditorMetadata(dataUnit.getField(fieldName), params.eGridCell, dataUnit, params.context.editionManager);
119419
+ const builder = uiBuilders.get(this._fieldMetadata.userInterface) || buildTextInput;
119420
+ this._gui = builder(this._fieldMetadata);
119420
119421
  if (this._gui.valueSetter != undefined) {
119421
119422
  this._gui.valueSetter(params.value);
119422
119423
  }
@@ -119440,10 +119441,147 @@ class EzCellEditor {
119440
119441
  isPopup() {
119441
119442
  return this._gui.isPopUp;
119442
119443
  }
119444
+ getFieldMetadata() {
119445
+ return this._fieldMetadata;
119446
+ }
119447
+ }
119448
+
119449
+ class EzGridCustomCellEditor extends EzCellEditor {
119450
+ init(params) {
119451
+ var _a, _b;
119452
+ this._value = params.value;
119453
+ this._fieldName = params.column.getColId();
119454
+ this._customEditorInstance = params.customEditorsInfo.customEditor;
119455
+ super.init(params);
119456
+ this._defaultGui = this.getDefaultGui();
119457
+ const fieldMetadata = super.getFieldMetadata();
119458
+ this._params = {
119459
+ value: params.value,
119460
+ charPress: params.charPress,
119461
+ currentEditor: this._defaultGui,
119462
+ name: this._fieldName,
119463
+ source: ICustomRender.CustomEditorSource.GRID,
119464
+ detailContext: params.customEditorsInfo.detailContext,
119465
+ setValue: (value) => this.setValue(value),
119466
+ getValue: () => this.getValue(),
119467
+ editorMetadata: {
119468
+ hidden: ((_a = fieldMetadata.props) === null || _a === void 0 ? void 0 : _a.visible) === false,
119469
+ label: fieldMetadata.label,
119470
+ userInterface: fieldMetadata.userInterface,
119471
+ props: fieldMetadata.props,
119472
+ optionLoader: fieldMetadata.optionLoader,
119473
+ options: ((_b = fieldMetadata.props) === null || _b === void 0 ? void 0 : _b.options) || {},
119474
+ }
119475
+ };
119476
+ }
119477
+ getDefaultGui() {
119478
+ const gui = super.getGui();
119479
+ gui.value = this._value;
119480
+ gui.onkeyup = (event) => {
119481
+ const value = event.target.value;
119482
+ this.setValue(value);
119483
+ };
119484
+ return gui;
119485
+ }
119486
+ getGui() {
119487
+ const editorElement = this._customEditorInstance.getEditorElement(this._params);
119488
+ if (!editorElement) {
119489
+ return this._defaultGui;
119490
+ }
119491
+ if (typeof editorElement === 'string') {
119492
+ const element = core.HTMLBuilder.parseElement(editorElement);
119493
+ return element;
119494
+ }
119495
+ return editorElement;
119496
+ }
119497
+ setValue(value) {
119498
+ this._value = value;
119499
+ }
119500
+ getValue() {
119501
+ return this._value;
119502
+ }
119503
+ }
119504
+
119505
+ class EzCellRender {
119506
+ init(params) {
119507
+ const span = document.createElement('span');
119508
+ this._currentParams = params;
119509
+ span.textContent = params.value;
119510
+ const fieldName = params.column.getColId();
119511
+ const dataUnit = params.context.dataUnit;
119512
+ this._fieldMetadata = buildEditorMetadata(dataUnit.getField(fieldName), params.eGridCell, dataUnit, params.context.editionManager);
119513
+ this._gui = span;
119514
+ }
119515
+ refresh() {
119516
+ try {
119517
+ this._currentParams.refreshCell();
119518
+ return true;
119519
+ }
119520
+ catch (_a) {
119521
+ return false;
119522
+ }
119523
+ }
119524
+ getGui() {
119525
+ return this._gui;
119526
+ }
119527
+ afterGuiAttached() {
119528
+ this.focusIn();
119529
+ }
119530
+ focusIn() {
119531
+ this._gui.focus();
119532
+ this._gui.setFocus({ selectText: true });
119533
+ }
119534
+ getValue() {
119535
+ return this._currentParams.getValue();
119536
+ }
119537
+ isPopup() {
119538
+ return this._gui.isPopUp;
119539
+ }
119540
+ getFieldMetadata() {
119541
+ return this._fieldMetadata;
119542
+ }
119543
+ }
119544
+
119545
+ class EzGridCustomCellRender extends EzCellRender {
119546
+ init(params) {
119547
+ var _a, _b;
119548
+ this._fieldName = params.column.getColId();
119549
+ this._customRenderInstance = params.customRendersInfo.customRender;
119550
+ super.init(params);
119551
+ const fieldMetadata = super.getFieldMetadata();
119552
+ this._params = {
119553
+ value: params.value,
119554
+ charPress: '',
119555
+ currentRender: super.getGui(),
119556
+ name: this._fieldName,
119557
+ source: ICustomRender.CustomRenderSource.GRID,
119558
+ getValue: () => params.getValue(),
119559
+ detailContext: params.customRendersInfo.detailContext,
119560
+ renderMetadata: {
119561
+ hidden: ((_a = fieldMetadata.props) === null || _a === void 0 ? void 0 : _a.visible) === false,
119562
+ label: fieldMetadata.label,
119563
+ userInterface: fieldMetadata.userInterface,
119564
+ props: fieldMetadata.props,
119565
+ optionLoader: fieldMetadata.optionLoader,
119566
+ options: ((_b = fieldMetadata.props) === null || _b === void 0 ? void 0 : _b.options) || {},
119567
+ }
119568
+ };
119569
+ }
119570
+ getGui() {
119571
+ const editorElement = this._customRenderInstance.getRenderElement(this._params);
119572
+ if (!editorElement) {
119573
+ return super.getGui();
119574
+ }
119575
+ if (typeof editorElement === 'string') {
119576
+ const element = core.HTMLBuilder.parseElement(editorElement);
119577
+ return element;
119578
+ }
119579
+ return editorElement;
119580
+ }
119443
119581
  }
119444
119582
 
119445
119583
  class GridEditionManager {
119446
- constructor(dataUnit, useEnterLikeTab, recordsValidator, editionIsDisabled) {
119584
+ constructor(dataUnit, useEnterLikeTab, recordsValidator, editionIsDisabled, customEditors, customRenders) {
119447
119585
  this._dataUnit = dataUnit;
119448
119586
  this._recordValidationProcessor = new RecordValidationProcessor.RecordValidationProcessor(this._dataUnit, {
119449
119587
  getRequiredFields: () => this.getRequiredFields(),
@@ -119452,6 +119590,8 @@ class GridEditionManager {
119452
119590
  }, recordsValidator);
119453
119591
  this._useEnterLikeTab = useEnterLikeTab;
119454
119592
  this._editionIsDisabled = editionIsDisabled;
119593
+ this._customEditors = customEditors;
119594
+ this._customRenders = customRenders;
119455
119595
  }
119456
119596
  configureGrid(options) {
119457
119597
  this._gridOptions = options;
@@ -119518,6 +119658,30 @@ class GridEditionManager {
119518
119658
  col.suppressKeyboardEvent = (params) => {
119519
119659
  return params.event.key === KeyCode.ENTER;
119520
119660
  };
119661
+ col.cellEditorSelector = (params) => {
119662
+ var _a;
119663
+ if ((_a = this._customEditors) === null || _a === void 0 ? void 0 : _a.has(params.colDef.field)) {
119664
+ const customEditor = this._customEditors.get(params.colDef.field);
119665
+ return {
119666
+ component: EzGridCustomCellEditor,
119667
+ params: {
119668
+ customEditorsInfo: customEditor,
119669
+ }
119670
+ };
119671
+ }
119672
+ };
119673
+ col.cellRendererSelector = (params) => {
119674
+ var _a;
119675
+ if ((_a = this._customRenders) === null || _a === void 0 ? void 0 : _a.has(params.colDef.field)) {
119676
+ const customRender = this._customRenders.get(params.colDef.field);
119677
+ return {
119678
+ component: EzGridCustomCellRender,
119679
+ params: {
119680
+ customRendersInfo: customRender,
119681
+ }
119682
+ };
119683
+ }
119684
+ };
119521
119685
  return col;
119522
119686
  }
119523
119687
  getRequiredFields() {
@@ -119659,6 +119823,12 @@ class GridEditionManager {
119659
119823
  this._lastCellEdited = { rowIndex: event.rowIndex, column: event.column, rowPinned: undefined };
119660
119824
  }
119661
119825
  }
119826
+ setCellEditors(customEditors) {
119827
+ this._customEditors = customEditors;
119828
+ }
119829
+ setCellRenders(customRenders) {
119830
+ this._customRenders = customRenders;
119831
+ }
119662
119832
  }
119663
119833
  class TargetEdition {
119664
119834
  constructor(rowIndex, column, backwards) {
@@ -119703,6 +119873,7 @@ class AgGridController {
119703
119873
  this._gridConfig = [];
119704
119874
  this._filteredColumns = new Map();
119705
119875
  this._filterColumnleftPosition = 0;
119876
+ this._customFormatters = new Map();
119706
119877
  this._enterprise = enterprise;
119707
119878
  }
119708
119879
  getGridConfig() {
@@ -119786,7 +119957,7 @@ class AgGridController {
119786
119957
  this._doubleClickCallBack = options.onDoubleClick;
119787
119958
  this._multipleSelection = options.allowMultipleSelection;
119788
119959
  this._dataUnit = options.dataUnit;
119789
- this._editionManager = new GridEditionManager(this._dataUnit, options.useEnterLikeTab, options.recordsValidator, options.editionIsDisabled);
119960
+ this._editionManager = new GridEditionManager(this._dataUnit, options.useEnterLikeTab, options.recordsValidator, options.editionIsDisabled, options.customEditors || this._customEditors, options.customRenders || this._customRenders);
119790
119961
  this._statusResolver = options.statusResolver;
119791
119962
  if (this._dataUnit) {
119792
119963
  this._dataUnit.sortingProvider = this;
@@ -119818,6 +119989,13 @@ class AgGridController {
119818
119989
  headerCheckStatusGetter: () => this.getSelectionHeaderStatus(),
119819
119990
  headerCheckStatusSetter: (selectAll) => this.updateSelectionForAll(selectAll),
119820
119991
  },
119992
+ processCellForClipboard: this.processFormatterCellCallback,
119993
+ defaultExcelExportParams: {
119994
+ processCellCallback: this.processFormatterCellCallback
119995
+ },
119996
+ defaultCsvExportParams: {
119997
+ processCellCallback: this.processFormatterCellCallback
119998
+ }
119821
119999
  };
119822
120000
  this.defineRowModelType(this._gridOptions, options);
119823
120001
  this.setOptionsEvents(this._gridOptions);
@@ -119841,7 +120019,25 @@ class AgGridController {
119841
120019
  this.selectRows((selection === null || selection === void 0 ? void 0 : selection.recordIds) || [], true);
119842
120020
  }
119843
120021
  this._gridOptions.api.setHeaderHeight(this.getHeaderRowHeight());
120022
+ this._customFormatters = options.customFormatters;
120023
+ }
120024
+ }
120025
+ processFormatterCellCallback(params) {
120026
+ const column = params.column.getColDef();
120027
+ if (typeof column.valueFormatter === 'function') {
120028
+ const valueParams = {
120029
+ value: params.value,
120030
+ data: params.node.data,
120031
+ node: params.node,
120032
+ colDef: column,
120033
+ column: params.column,
120034
+ api: params.api,
120035
+ columnApi: params.columnApi,
120036
+ context: params.context,
120037
+ };
120038
+ return column.valueFormatter(valueParams);
119844
120039
  }
120040
+ return params.value;
119845
120041
  }
119846
120042
  setFilterColumnLeftPosition({ type, ePopup }) {
119847
120043
  if (type === 'columnMenu') {
@@ -120191,7 +120387,7 @@ class AgGridController {
120191
120387
  //Como vamos reordenar, precisamos considerar o deslocamento provocado por elas.
120192
120388
  const columnsOffset = colDef.length - columns.length;
120193
120389
  let sort = [];
120194
- state.forEach((cfgColumn, index) => {
120390
+ state === null || state === void 0 ? void 0 : state.forEach((cfgColumn, index) => {
120195
120391
  const colWidth = this.getColumnWidth(cfgColumn);
120196
120392
  this._gridOptions.columnApi.moveColumn(cfgColumn.name, index + columnsOffset);
120197
120393
  this._gridOptions.columnApi.setColumnWidth(cfgColumn.name, colWidth);
@@ -120294,6 +120490,13 @@ class AgGridController {
120294
120490
  if (params.value instanceof Promise) {
120295
120491
  return "Carregando...";
120296
120492
  }
120493
+ const customFormatter = this._customFormatters.get(source.name);
120494
+ if (customFormatter) {
120495
+ const formattedValue = customFormatter.format(params.value, source, params.data.__record__id__);
120496
+ if (formattedValue) {
120497
+ return formattedValue;
120498
+ }
120499
+ }
120297
120500
  if (this._dataUnit) {
120298
120501
  return this._dataUnit.getFormattedValue(source.name, params.value);
120299
120502
  }
@@ -120302,6 +120505,13 @@ class AgGridController {
120302
120505
  cellStyle: this.getStyleByColumn(source),
120303
120506
  });
120304
120507
  }
120508
+ setCustomFormatters(customFormatters) {
120509
+ this._customFormatters = customFormatters;
120510
+ }
120511
+ refreshSelectedRows() {
120512
+ const selectedNodes = this._gridOptions.api.getSelectedNodes();
120513
+ this._gridOptions.api.redrawRows({ rowNodes: selectedNodes });
120514
+ }
120305
120515
  getInitCellStyle() {
120306
120516
  return {
120307
120517
  'line-height': this.getRowHeight() - 1 + 'px',
@@ -120477,11 +120687,52 @@ class AgGridController {
120477
120687
  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;
120478
120688
  return labelSize > this.DEFAULT_MAX_SIZE ? this.DEFAULT_MAX_SIZE : labelSize;
120479
120689
  }
120690
+ setCellEditors(customEditors) {
120691
+ var _a;
120692
+ if (!this._editionManager) {
120693
+ this._customEditors = customEditors;
120694
+ return;
120695
+ }
120696
+ this._editionManager.setCellEditors(customEditors);
120697
+ (_a = this._gridOptions) === null || _a === void 0 ? void 0 : _a.api.redrawRows();
120698
+ }
120699
+ setCellRenders(customRenders) {
120700
+ var _a;
120701
+ if (!this._editionManager) {
120702
+ this._customRenders = customRenders;
120703
+ return;
120704
+ }
120705
+ this._editionManager.setCellRenders(customRenders);
120706
+ (_a = this._gridOptions) === null || _a === void 0 ? void 0 : _a.api.redrawRows();
120707
+ }
120708
+ }
120709
+
120710
+ function enableSelectAll(total) {
120711
+ return total !== undefined;
120712
+ }
120713
+ function buildSelectAllLabel(allRecordSelected, count, total) {
120714
+ if (allRecordSelected)
120715
+ return 'Selecionar apenas a página atual';
120716
+ if (total === undefined)
120717
+ return `Carregando todos os ${count} registros`;
120718
+ return `Selecionar todos os ${total} registros`;
120719
+ }
120720
+ function buildSelectAllTitle(total) {
120721
+ if (enableSelectAll(total))
120722
+ return '';
120723
+ return 'Aguarde o carregamento para selecionar o registro de todas as páginas';
120724
+ }
120725
+ function getText(selectionCount, allSelectedRecords) {
120726
+ if (allSelectedRecords) {
120727
+ return `Todos os <strong>${selectionCount} registros</strong> da grade estão selecionados.`;
120728
+ }
120729
+ const pluralCharacter = selectionCount > 1 ? "s" : "";
120730
+ return `Há <strong>${selectionCount} registro${pluralCharacter}</strong> selecionado${pluralCharacter} na grade.`;
120480
120731
  }
120481
120732
 
120482
120733
  const SelectionCounter = (props) => {
120483
120734
  const { selectionCount, currentPageSelected, allRecordSelected, paginationInfo, canSelectAll, onSelectAll, onSelectPage, onClearAll, onClose } = props;
120484
- const { total, hasMore } = paginationInfo || {};
120735
+ const { total, hasMore, count } = paginationInfo || {};
120485
120736
  const shouldRenderSelectionButton = () => {
120486
120737
  if ((!allRecordSelected && selectionCount === total) || (allRecordSelected && !hasMore))
120487
120738
  return false;
@@ -120495,20 +120746,11 @@ const SelectionCounter = (props) => {
120495
120746
  index.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"))),
120496
120747
  index.h("div", { class: "ez-flex ez-margin-right--medium" },
120497
120748
  shouldRenderSelectionButton() &&
120498
- index.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"}`))),
120499
- index.h("ez-button", Object.assign({ class: "grid__btn-clear", label: "Limpar", mode: "link", onClick: onClearAll }, getElementID("ezGridSelectionCounter_clearAll"))))),
120749
+ index.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"}`))),
120750
+ index.h("ez-button", Object.assign({ class: "grid__btn-clear", label: "Limpar Sele\u00E7\u00E3o", mode: "link", onClick: onClearAll }, getElementID("ezGridSelectionCounter_clearAll"))))),
120500
120751
  index.h("button", Object.assign({ class: "grid__btn-close", title: "Fechar", onClick: onClose }, getElementID("ezGridSelectionCounter_close")),
120501
120752
  index.h("ez-icon", { iconName: "close" })))));
120502
120753
  };
120503
- function getText(selectionCount, allSelectedRecords) {
120504
- if (allSelectedRecords) {
120505
- return `Todos os <strong>${selectionCount} registros</strong> da grade estão selecionados.`;
120506
- }
120507
- else {
120508
- const pluralChar = selectionCount > 1 ? "s" : "";
120509
- return `Há <strong>${selectionCount} registro${pluralChar}</strong> selecionado${pluralChar}.`;
120510
- }
120511
- }
120512
120754
  function getElementID(sufix) {
120513
120755
  return {
120514
120756
  [core.ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: core.ElementIDUtils.getInternalIDInfo(sufix)
@@ -120688,6 +120930,8 @@ const EzGrid = class {
120688
120930
  this.componentReady = index.createEvent(this, "componentReady", 7);
120689
120931
  this._gridController = new AgGridController(false);
120690
120932
  this._messageFilterAppliedSuccess = 'Filtro de coluna aplicado com sucesso!';
120933
+ this._customEditor = new Map();
120934
+ this._customRenders = new Map();
120691
120935
  this._paginationInfo = undefined;
120692
120936
  this._paginationChangedByKeyboard = true;
120693
120937
  this._showSelectionCounter = false;
@@ -120695,6 +120939,7 @@ const EzGrid = class {
120695
120939
  this._currentPageSelected = undefined;
120696
120940
  this._selectionCount = undefined;
120697
120941
  this._hasLeftButtons = false;
120942
+ this._customFormatters = new Map();
120698
120943
  this.multipleSelection = undefined;
120699
120944
  this.config = undefined;
120700
120945
  this.selectionToastConfig = undefined;
@@ -120766,6 +121011,63 @@ const EzGrid = class {
120766
121011
  async filterColumns(search) {
120767
121012
  return Promise.resolve(this._gridController.getColumnsState().filter(col => matches(col.label, search)));
120768
121013
  }
121014
+ /**
121015
+ * Registra um editor customizado para campos da grade e formulário.
121016
+ */
121017
+ async addCustomEditor(fieldName, customEditor, detailContext) {
121018
+ const newCustomEditor = new Map(this._customEditor);
121019
+ newCustomEditor.set(fieldName, {
121020
+ customEditor,
121021
+ detailContext,
121022
+ });
121023
+ this._customEditor = newCustomEditor;
121024
+ this._gridController.setCellEditors(newCustomEditor);
121025
+ }
121026
+ /**
121027
+ * Registra um render customizado para colunas da grid.
121028
+ */
121029
+ async addGridCustomRender(fieldName, customRender, detailContext) {
121030
+ const newCustomRenders = new Map(this._customRenders);
121031
+ newCustomRenders.set(fieldName, { customRender, detailContext });
121032
+ this._customRenders = newCustomRenders;
121033
+ this._gridController.setCellRenders(newCustomRenders);
121034
+ }
121035
+ /**
121036
+ * Registra um formatador de valores para uma coluna da grid.
121037
+ */
121038
+ async addCustomValueFormatter(columnName, customFormatter) {
121039
+ if (!columnName || !customFormatter) {
121040
+ return;
121041
+ }
121042
+ const newCustomFormatters = new Map(this._customFormatters);
121043
+ newCustomFormatters.set(columnName, customFormatter);
121044
+ this._customFormatters = newCustomFormatters;
121045
+ this._gridController.setCustomFormatters(newCustomFormatters);
121046
+ }
121047
+ /**
121048
+ * Remove o formatador de valores de uma coluna da grid.
121049
+ */
121050
+ async removeCustomValueFormatter(columnName) {
121051
+ if (!columnName) {
121052
+ return;
121053
+ }
121054
+ const newCustomFormatters = new Map(this._customFormatters);
121055
+ newCustomFormatters.delete(columnName);
121056
+ this._customFormatters = newCustomFormatters;
121057
+ this._gridController.setCustomFormatters(newCustomFormatters);
121058
+ }
121059
+ /**
121060
+ * Atualiza linhas da grade.
121061
+ */
121062
+ async refreshSelectedRows() {
121063
+ this._gridController.refreshSelectedRows();
121064
+ }
121065
+ /**
121066
+ * Retorna o formatador customizado da coluna caso exista.
121067
+ */
121068
+ async getCustomValueFormatter(columnName) {
121069
+ return this._customFormatters.get(columnName);
121070
+ }
120769
121071
  observeConfig(config) {
120770
121072
  this._gridController.setColumnsState(config === null || config === void 0 ? void 0 : config.columns);
120771
121073
  }
@@ -120967,7 +121269,8 @@ const EzGrid = class {
120967
121269
  statusResolver: this.statusResolver,
120968
121270
  useEnterLikeTab: this.useEnterLikeTab,
120969
121271
  recordsValidator: this.recordsValidator,
120970
- editionIsDisabled: () => !this.canEdit
121272
+ editionIsDisabled: () => !this.canEdit,
121273
+ customFormatters: this._customFormatters
120971
121274
  });
120972
121275
  if (this.config) {
120973
121276
  this.observeConfig(this.config);
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-a7b0c73d.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
 
8
- 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}";
8
+ 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}";
9
9
 
10
10
  const EzList = class {
11
11
  constructor(hostRef) {
@@ -22,7 +22,7 @@ var ModalButtonStatus;
22
22
  })(ModalButtonStatus || (ModalButtonStatus = {}));
23
23
  const ModalButtonStatus$1 = ModalButtonStatus;
24
24
 
25
- 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}";
25
+ 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}";
26
26
 
27
27
  const EzModalContainer = class {
28
28
  constructor(hostRef) {
@@ -71,7 +71,7 @@ const EzModalContainer = class {
71
71
  this._closeButton.focus();
72
72
  }
73
73
  render() {
74
- return (index.h(index.Host, null, index.h("button", { class: "ez-modal-container__focus-ctrl", onFocusin: () => this.focusLast() }), index.h("div", { ref: ref => this._modalRef = ref, tabIndex: -1 }, this.showTitleBar && (index.h("div", { class: "ez-modal-container__header ez-margin-bottom--large" }, index.h("div", { class: "ez-col ez-align--middle ez-modal-container__title" }, index.h("h2", { class: "ez-text ez-title--large ez-title--primary ez-text--bold ez-margin-vertical--extra-small" }, this.modalTitle), this.modalSubTitle && (index.h("div", { class: "ez-text ez-text--medium ez-text--primary ez-margin-vertical--extra-small" }, this.modalSubTitle))), index.h("button", { ref: ref => this._closeButton = ref, class: "ez-modal-container__close-button", onClick: () => this.ezModalAction.emit(ModalAction$1.CLOSE) }, index.h("ez-icon", { class: "ez-modal-container__close-icon", size: "medium", iconName: "close" }))))), index.h("div", { class: "ez-modal-container__content" }, index.h("slot", null)), index.h("div", { class: "ez-modal-container__footer" }, this.cancelIsVisible() && (index.h("ez-button", { label: this.cancelButtonLabel, enabled: this.cancelButtonStatus !== ModalButtonStatus$1.DISABLED, onClick: () => this.ezModalAction.emit(ModalAction$1.CANCEL) })), this.okIsVisible() && (index.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) }))), index.h("button", { class: "ez-modal-container__focus-ctrl", onFocusin: () => this.focusFirst() })));
74
+ return (index.h(index.Host, null, index.h("button", { class: "ez-modal-container__focus-ctrl", onFocusin: () => this.focusLast() }), index.h("div", { ref: ref => this._modalRef = ref, tabIndex: -1, class: "ez-modal-container__header-container" }, this.showTitleBar && (index.h("div", { class: "ez-modal-container__header ez-margin-bottom--large" }, index.h("div", { class: "ez-col ez-align--middle ez-modal-container__title" }, index.h("h2", { class: "ez-text ez-title--large ez-title--primary ez-text--bold ez-margin-vertical--extra-small" }, this.modalTitle), this.modalSubTitle && (index.h("div", { class: "ez-text ez-text--medium ez-text--primary ez-margin-vertical--extra-small" }, this.modalSubTitle))), index.h("button", { ref: ref => this._closeButton = ref, class: "ez-modal-container__close-button", onClick: () => this.ezModalAction.emit(ModalAction$1.CLOSE) }, index.h("ez-icon", { class: "ez-modal-container__close-icon", size: "medium", iconName: "close" }))))), index.h("div", { class: "ez-modal-container__content" }, index.h("slot", null)), index.h("div", { class: "ez-modal-container__footer" }, this.cancelIsVisible() && (index.h("ez-button", { label: this.cancelButtonLabel, enabled: this.cancelButtonStatus !== ModalButtonStatus$1.DISABLED, onClick: () => this.ezModalAction.emit(ModalAction$1.CANCEL) })), this.okIsVisible() && (index.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) }))), index.h("button", { class: "ez-modal-container__focus-ctrl", onFocusin: () => this.focusFirst() })));
75
75
  }
76
76
  get _element() { return index.getElement(this); }
77
77
  };
@@ -93,12 +93,17 @@ const EzNumberInput = class {
93
93
  }
94
94
  this._changePending = false;
95
95
  }
96
+ observePrecision() {
97
+ if (this._textInput) {
98
+ this.setInputValue();
99
+ }
100
+ }
96
101
  validateValue(value) {
97
102
  return isNaN(value) || value === undefined ? null : value;
98
103
  }
99
104
  getTextValue(value) {
100
105
  if (value != undefined) {
101
- return this.precision > 0 ? core.NumberUtils.format(value.toString(), Number(this.precision), Number(this.prettyPrecision)) : value.toString();
106
+ return this.precision >= 0 ? core.NumberUtils.format(value.toString(), Number(this.precision), Number(this.prettyPrecision)) : value.toString();
102
107
  }
103
108
  return undefined;
104
109
  }
@@ -176,7 +181,9 @@ const EzNumberInput = class {
176
181
  static get watchers() { return {
177
182
  "label": ["observeLabel"],
178
183
  "errorMessage": ["observeErrorMessage"],
179
- "value": ["observeValue"]
184
+ "value": ["observeValue"],
185
+ "precision": ["observePrecision"],
186
+ "prettyPrecision": ["observePrecision"]
180
187
  }; }
181
188
  };
182
189
  EzNumberInput.style = ezNumberInputCss;
@@ -8,6 +8,7 @@ const core = require('@sankhyalabs/core');
8
8
  const ApplicationUtils = require('./ApplicationUtils-c9d1205c.js');
9
9
  require('./DialogType-2114c337.js');
10
10
  require('./CheckMode-ecb90b87.js');
11
+ require('./ICustomRender-6fafffce.js');
11
12
  const constants = require('./constants-2714478b.js');
12
13
 
13
14
  const ezSearchCss = ":host{--ez-search--height:42px;--ez-search--width:100%;--ez-search__icon--width:48px;--ez-search--border-radius:var(--border--radius-medium, 12px);--ez-search--border-radius-small:var(--border--radius-small, 6px);--ez-search--font-size:var(--text--medium, 14px);--ez-search--font-family:var(--font-pattern, Arial);--ez-search--font-weight--large:var(--text-weight--large, 500);--ez-search--font-weight--medium:var(--text-weight--medium, 400);--ez-search--background-color--xlight:var(--background--xlight, #fff);--ez-search--background-medium:var(--background--medium, #f0f3f7);--ez-search--line-height:calc(var(--text--medium, 14px) + 4px);--ez-search__input--background-color:var(--background--medium, #e0e0e0);--ez-search__input--border:var(--border--medium, 2px solid);--ez-search__input--border-color:var(--ez-search__input--background-color);--ez-search__input--focus--border-color:var(--color--primary, #008561);--ez-search__input--disabled--background-color:var(--color--disable-secondary, #F2F5F8);--ez-search__input--disabled--color:var(--text--disable, #AFB6C0);--ez-search__input--error--border-color:#CC2936;--ez-search__btn--color:var(--title--primary, #2B3A54);--ez-search__btn-disabled--color:var(--text--disable, #AFB6C0);--ez-search__btn-hover--color:var(--color--primary, #4e4e4e);--ez-search__label--color:var(--title--primary, #2B3A54);--ez-search__list-title--primary:var(--title--primary, #2B3A54);--ez-search__list-text--primary:var(--text--primary, #626e82);--ez-search__list-height:calc(var(--ez-search--font-size) + var(--ez-search--space--medium) + 4px);--ez-search__list-min-width:64px;--ez-search--space--medium:var(--space--medium, 12px);--ez-search--space--small:var(--space--small, 6px);--ez-search__scrollbar--color-default:var(--scrollbar--default, #626e82);--ez-search__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--ez-search__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--ez-search__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--ez-search__scrollbar--border-radius:var(--border--radius-small, 6px);--ez-search__scrollbar--width:var(--space--medium, 12px);display:flex;flex-wrap:wrap;position:relative;width:var(--ez-search--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-search__list-min-width);overflow:auto;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:350px;min-width:150px;background-color:var(--ez-search--background-color--xlight);border-radius:var(--ez-search--border-radius);box-shadow:var(--shadow, 0px 0px 16px 0px #000);padding:var(--ez-search--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-search__scrollbar--color-clicked) var(--ez-search__scrollbar--color-background)}.list-options::-webkit-scrollbar{background-color:var(--ez-search__scrollbar--color-background);width:var(--ez-search__scrollbar--width);max-width:var(--ez-search__scrollbar--width);min-width:var(--ez-search__scrollbar--width)}.list-options::-webkit-scrollbar-track{background-color:var(--ez-search__scrollbar--color-background);border-radius:var(--ez-search__scrollbar--border-radius)}.list-options::-webkit-scrollbar-thumb{background-color:var(--ez-search__scrollbar--color-default);border-radius:var(--ez-search__scrollbar--border-radius)}.list-options::-webkit-scrollbar-thumb:vertical:hover,.list-options::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-search__scrollbar--color-hover)}.list-options::-webkit-scrollbar-thumb:vertical:active,.list-options::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-search__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-search--border-radius-small);padding:var(--ez-search--space--small);gap:var(--space--small, 6px)}.item__value,.item__label{flex-basis:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ez-search__list-title--primary);font-family:var(--ez-search--font-family);font-size:var(--ez-search--font-size);line-height:var(--ez-search--line-height)}.item__label{font-weight:var(--ez-search--font-weight--medium)}.item__label--bold{font-weight:var(--ez-search--font-weight--large)}.item__value{text-align:center;color:var(--ez-search__list-text--primary);font-weight:var(--ez-search--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-search__list-height)}.message__no-result{color:var(--ez-search__list-title--primary);font-family:var(--ez-search--font-family);font-size:var(--ez-search--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-search__list-title--primary);border-top:3px solid transparent}.item__list>li:hover{background-color:var(--ez-search--background-medium)}.preselected{background-color:var(--background--medium)}.btn{outline:none;border:none;background:none;cursor:pointer;color:var(--ez-search__btn--color)}.btn:disabled{cursor:unset;color:var(--ez-search__btn-disabled--color)}.btn:disabled:hover{cursor:unset;color:var(--ez-search__btn-disabled--color)}.btn:hover{color:var(--ez-search__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)}}";
@@ -319,9 +320,12 @@ const EzSearch = class {
319
320
  }
320
321
  scrollToOption(opt) {
321
322
  window.requestAnimationFrame(() => {
322
- 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;
323
- if (liElem)
323
+ const liElem = (opt === null || opt === void 0 ? void 0 : opt.value)
324
+ ? this._optionsList.querySelector(`div#item_${opt.value.replace(/([ #;&,.+*~':"!^$[\]()=<>|/\\])/g, '\\$1')}`)
325
+ : undefined;
326
+ if (liElem) {
324
327
  liElem.scrollIntoView({ behavior: "smooth", block: "nearest" });
328
+ }
325
329
  });
326
330
  }
327
331
  selectCurrentOption() {