@sankhyalabs/ezui 1.1.94 → 1.1.95

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 (87) hide show
  1. package/dist/cjs/{CSSVarsUtils-66e86394.js → CSSVarsUtils-8fbdf2e0.js} +1 -0
  2. package/dist/cjs/StringUtils-0ba09df4.js +57 -0
  3. package/dist/cjs/ez-button_3.cjs.entry.js +578 -0
  4. package/dist/cjs/ez-calendar_14.cjs.entry.js +2625 -0
  5. package/dist/cjs/{ez-button_11.cjs.entry.js → ez-grid.cjs.entry.js} +20 -1510
  6. package/dist/cjs/ez-icon.cjs.entry.js +42 -0
  7. package/dist/cjs/ez-modal_2.cjs.entry.js +317 -0
  8. package/dist/cjs/ez-popover.cjs.entry.js +1 -1
  9. package/dist/cjs/ez-time-input.cjs.entry.js +2 -2
  10. package/dist/cjs/ezui.cjs.js +1 -1
  11. package/dist/cjs/{index-5c8eb919.js → index-6164b259.js} +16 -16
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/collection/components/ez-check/ez-check.css +3 -3
  14. package/dist/collection/components/ez-combo-box/ez-combo-box.js +52 -3
  15. package/dist/collection/components/ez-form/fieldbuilder/FieldBuilder.js +4 -1
  16. package/dist/collection/components/ez-form/fieldbuilder/tpl/CheckBox.tpl.js +4 -4
  17. package/dist/collection/components/ez-form/fieldbuilder/tpl/ComboBox.tpl.js +2 -2
  18. package/dist/collection/components/ez-form/fieldbuilder/tpl/DateInput.tpl.js +2 -2
  19. package/dist/collection/components/ez-form/fieldbuilder/tpl/FileInput.tpl.js +2 -2
  20. package/dist/collection/components/ez-form/fieldbuilder/tpl/NumberInput.tpl.js +6 -6
  21. package/dist/collection/components/ez-form/fieldbuilder/tpl/SearchInput.tpl.js +2 -2
  22. package/dist/collection/components/ez-form/fieldbuilder/tpl/TextArea.tpl.js +2 -2
  23. package/dist/collection/components/ez-form/structure/FormSheetMetadata.js +10 -7
  24. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +3 -2
  25. package/dist/collection/components/ez-grid/ez-grid.css +8 -0
  26. package/dist/collection/components/ez-grid/ez-grid.js +3 -3
  27. package/dist/collection/components/ez-grid/subcomponents/gridconfig/grid-config.css +28 -4
  28. package/dist/collection/components/ez-grid/subcomponents/gridconfig/grid-config.js +6 -5
  29. package/dist/collection/components/ez-grid/subcomponents/select-box/select-box.css +10 -7
  30. package/dist/collection/components/ez-grid/subcomponents/select-box/select-box.js +12 -17
  31. package/dist/collection/components/ez-list/ez-list.js +2 -2
  32. package/dist/collection/components/ez-text-input/ez-text-input.css +2 -2
  33. package/dist/collection/components/ez-text-input/ez-text-input.js +24 -1
  34. package/dist/collection/components/test-du/test-du.js +1 -1
  35. package/dist/collection/utils/CSSVarsUtils.js +1 -0
  36. package/dist/custom-elements/index.js +79 -65
  37. package/dist/esm/{CSSVarsUtils-aeee9825.js → CSSVarsUtils-667e0016.js} +1 -0
  38. package/dist/esm/StringUtils-cbf10229.js +55 -0
  39. package/dist/esm/ez-button_3.entry.js +572 -0
  40. package/dist/esm/ez-calendar_14.entry.js +2608 -0
  41. package/dist/esm/{ez-button_11.entry.js → ez-grid.entry.js} +10 -1490
  42. package/dist/esm/ez-icon.entry.js +38 -0
  43. package/dist/esm/ez-modal_2.entry.js +312 -0
  44. package/dist/esm/ez-popover.entry.js +1 -1
  45. package/dist/esm/ez-time-input.entry.js +2 -2
  46. package/dist/esm/ezui.js +1 -1
  47. package/dist/esm/{index-4688c617.js → index-74a9c220.js} +17 -17
  48. package/dist/esm/loader.js +1 -1
  49. package/dist/ezui/ezui.esm.js +1 -1
  50. package/dist/ezui/p-0a8018c2.entry.js +1 -0
  51. package/dist/ezui/{p-4b5c4408.entry.js → p-2617733e.entry.js} +1 -1
  52. package/dist/ezui/p-2f84ba72.js +1 -0
  53. package/dist/ezui/{p-ca42d682.entry.js → p-6714a1b2.entry.js} +46 -46
  54. package/dist/ezui/p-90f6d8a0.entry.js +1 -0
  55. package/dist/ezui/p-a943d501.entry.js +1 -0
  56. package/dist/ezui/p-b139372f.entry.js +1 -0
  57. package/dist/ezui/{p-7ff8b7f7.js → p-c6762896.js} +1 -1
  58. package/dist/ezui/p-d54c157f.js +1 -0
  59. package/dist/ezui/{p-7e1d9c29.entry.js → p-ef393d36.entry.js} +1 -1
  60. package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +8 -0
  61. package/dist/types/components/ez-form/ez-form.d.ts +6 -1
  62. package/dist/types/components/ez-form/fieldbuilder/tpl/ComboBox.tpl.d.ts +2 -1
  63. package/dist/types/components/ez-form/fieldbuilder/tpl/DateInput.tpl.d.ts +2 -1
  64. package/dist/types/components/ez-form/fieldbuilder/tpl/FileInput.tpl.d.ts +2 -1
  65. package/dist/types/components/ez-form/fieldbuilder/tpl/NumberInput.tpl.d.ts +4 -2
  66. package/dist/types/components/ez-form/fieldbuilder/tpl/SearchInput.tpl.d.ts +2 -1
  67. package/dist/types/components/ez-form/fieldbuilder/tpl/TextArea.tpl.d.ts +2 -1
  68. package/dist/types/components/ez-grid/subcomponents/select-box/select-box.d.ts +6 -4
  69. package/dist/types/components/ez-text-input/ez-text-input.d.ts +4 -0
  70. package/dist/types/components.d.ts +26 -2
  71. package/package.json +1 -1
  72. package/dist/cjs/ApplicationUtils-d1c1db56.js +0 -35
  73. package/dist/cjs/ez-calendar.cjs.entry.js +0 -224
  74. package/dist/cjs/ez-collapsible-box_7.cjs.entry.js +0 -853
  75. package/dist/cjs/ez-combo-box.cjs.entry.js +0 -254
  76. package/dist/cjs/ez-form.cjs.entry.js +0 -753
  77. package/dist/esm/ApplicationUtils-01280a9d.js +0 -33
  78. package/dist/esm/ez-calendar.entry.js +0 -220
  79. package/dist/esm/ez-collapsible-box_7.entry.js +0 -843
  80. package/dist/esm/ez-combo-box.entry.js +0 -250
  81. package/dist/esm/ez-form.entry.js +0 -749
  82. package/dist/ezui/p-278ce681.entry.js +0 -1
  83. package/dist/ezui/p-33d1247f.entry.js +0 -1
  84. package/dist/ezui/p-5793a2e1.entry.js +0 -1
  85. package/dist/ezui/p-68f6b75e.entry.js +0 -1
  86. package/dist/ezui/p-7107d7ef.js +0 -1
  87. package/dist/ezui/p-8b099482.js +0 -1
@@ -7993,7 +7993,7 @@ let EzCalendar$1 = class extends HTMLElement$1 {
7993
7993
  static get style() { return ezCalendarCss; }
7994
7994
  };
7995
7995
 
7996
- const ezCheckCss = ":host{--ez-check--box--width:18px;--ez-check--box--height:18px;--ez-check--width:calc(var(--ez-check--box--width) + 14px);--ez-check--height:calc(var(--ez-check--box--width) + 14px);--ez-check--border-radius:var(--border--radius-small);--ez-check--checked--background-color:var(--color--primary-200);--ez-check--focus--background-color:var(--color--strokes, #FFFFFF);--ez-check--hover--background-color:var(--background--medium);--ez-check--checked--disabled--background-color:var(--color--disable-secondary);--ez-check--border:var(--border--medium) var(--title--primary);--ez-check--disabled--border:var(--border--medium) var(--color--strokes);--ez-check--checked--border:var(--border--medium) var(--color--primary);--ez-check--checked--hover--background-color:var(--color--primary-200);--ez-check--checked--focus--background-color:var(--color--primary-300, #FFFFFF);--ez-check--check--image:url('data:image/svg+xml;utf8,<svg width=\"8\" height=\"7\" viewBox=\"0 0 8 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.70002 0.398999L7.48502 0.207997C7.31524 0.0598858 7.09376 -0.0150438 6.86894 -0.000430025C6.64411 0.0141838 6.43419 0.117153 6.28502 0.285997L2.70002 4.332L1.61802 3.384C1.44837 3.23576 1.22697 3.16067 1.00214 3.17509C0.77732 3.18952 0.567332 3.2923 0.418019 3.461L0.229019 3.674C0.0752361 3.84797 -0.00437434 4.07521 0.00721192 4.30713C0.0187982 4.53904 0.120661 4.75722 0.291019 4.915L2.27402 6.762C2.35832 6.8432 2.45842 6.90618 2.56811 6.94702C2.67779 6.98787 2.79471 7.00571 2.91159 6.99942C3.02846 6.99314 3.14279 6.96287 3.24747 6.91049C3.35214 6.85812 3.44492 6.78477 3.52002 6.695L7.79102 1.638C7.94063 1.46048 8.01486 1.23149 7.99786 0.999963C7.98085 0.768436 7.87396 0.552749 7.70002 0.398999Z\"/></svg>');--ez-check--check--background-color:var(--color--primary);--ez-check--check--disabled--background-color:var(--color--strokes);--ez-switch--slider--width:34px;--ez-switch--slider--height:14px;--ez-switch--pin--width:20px;--ez-switch--pin--height:20px;--ez-switch--focus--width:32px;--ez-switch--focus--height:32px;--ez-switch--background-color:var(--color--strokes);--ez-switch--disabled--background-color:var(--color--disable-secondary);--ez-switch--checked--background-color:var(--color--primary-300);--ez-switch--pin--background-color:var(--background--xlight);--ez-switch--pin--disabled--background-color:var(--color--disable-secondary);--ez-switch--pin--checked--background-color:var(--color--primary);--ez-switch--pin--checked--disabled--background-color:#E8F7F4;--ez-switch--pin--focus--background-color:var(--text--disable);--ez-switch--pin--checked--focus--background-color:var(--color--primary);--ez-check--label--font-size:var(--text--medium, 14px);--ez-check--label--font-family:var(--font-pattern, Arial);--ez-check--label--color:var(--title--primary, #000);--ez-check--label--disabled--color:var(--text--disable, #AFB6C0);display:flex;width:100%;align-items:center;margin:0}input.regularMode{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;box-sizing:border-box;-webkit-appearance:none;appearance:none;cursor:pointer;border-radius:50%;position:relative;width:var(--ez-check--width);height:var(--ez-check--height)}input.regularMode:enabled:hover{background-color:var(--ez-check--hover--background-color)}input.regularMode:enabled:focus{outline:none;background-color:var(--ez-check--focus--background-color)}input.regularMode:disabled{cursor:auto;background:none}input.regularMode::before{box-sizing:border-box;content:\"\";display:block;width:var(--ez-check--box--width);height:var(--ez-check--box--height);border-radius:var(--ez-check--border-radius);border:var(--ez-check--border)}input.regularMode:disabled::before{border:var(--ez-check--disabled--border)}input.regularMode:checked:enabled:hover{background-color:var(--ez-check--checked--hover--background-color)}input.regularMode:checked:enabled:focus{background-color:var(--ez-check--checked--focus--background-color)}input.regularMode:checked::before{border:var(--ez-check--checked--border);background-color:var(--ez-check--checked--background-color)}input.regularMode:checked:disabled:before{border:var(--ez-check--disabled--border);background-color:var(--ez-check--checked--disabled--background-color)}input.regularMode:checked::after{display:flex;position:absolute;content:\"\";background-color:var(--ez-check--check--background-color);width:8px;height:7px;-webkit-mask-image:var(--ez-check--check--image);mask-image:var(--ez-check--check--image)}input.regularMode:checked:disabled::after{background-color:var(--ez-check--check--disabled--background-color)}input.switchMode{flex-shrink:0;-webkit-appearance:none;appearance:none;position:relative;outline:none;cursor:pointer;border-radius:20px;border:none;transition:background-color var(--transition);width:var(--ez-switch--slider--width);height:var(--ez-switch--slider--height);background-color:var(--ez-switch--background-color)}input.switchMode:disabled{background-color:var(--ez-switch--disabled--background-color)}input.switchMode::after{content:\"\";display:block;position:absolute;box-shadow:var(--shadow);transition:transform var(--transition);transition:background-color var(--transition);transform:translateY(-3px);border-radius:50%;width:var(--ez-switch--pin--width);height:var(--ez-switch--pin--height);background-color:var(--ez-switch--pin--background-color)}input.switchMode:disabled::after{background-color:var(--ez-switch--pin--disabled--background-color)}input.switchMode:checked{transition:background-color var(--transition);background-color:var(--ez-switch--checked--background-color)}input.switchMode::before{display:block;content:\"\";display:block;position:absolute;border-radius:50%;opacity:0;width:var(--ez-switch--focus--width);height:var(--ez-switch--focus--height);top:calc((var(--ez-switch--slider--height) - var(--ez-switch--focus--height)) / 2);left:calc((var(--ez-switch--pin--width) - var(--ez-switch--focus--width))/2);background-color:var(--ez-switch--pin--focus--background-color)}input.switchMode:focus::before{opacity:0.24;transition:opacity var(--transition)}input.switchMode:checked:focus::before{background-color:var(--ez-switch--pin--checked--focus--background-color);transform:translateX(calc(var(--ez-switch--slider--width) - var(--ez-switch--pin--width)))}input.switchMode:checked::after{transition:transform var(--transition);transition:background-color var(--transition);transform:translateX(calc(var(--ez-switch--slider--width) - var(--ez-switch--pin--width))) translateY(-3px);box-shadow:var(--shadow);background-color:var(--ez-switch--pin--checked--background-color)}input.switchMode:checked:disabled::after{background-color:var(--ez-switch--pin--checked--disabled--background-color)}.label{flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ez-check--label--color);text-shadow:var(--text-shadow);font-size:var(--ez-check--label--font-size);font-family:var(--ez-check--label--font-family);cursor:default;padding-left:var(--space--small)}.label--disabled{color:var(--ez-check--label--disabled--color)}";
7996
+ const ezCheckCss = ":host{--ez-check--box--width:18px;--ez-check--box--height:18px;--ez-check--width:calc(var(--ez-check--box--width) + 14px);--ez-check--height:calc(var(--ez-check--box--width) + 14px);--ez-check--border-radius:var(--border--radius-small);--ez-check--checked--background-color:var(--color--primary-200);--ez-check--focus--background-color:var(--color--strokes, #FFFFFF);--ez-check--hover--background-color:var(--background--medium);--ez-check--checked--disabled--background-color:var(--color--disable-secondary);--ez-check--border:var(--border--medium) var(--title--primary);--ez-check--disabled--border:var(--border--medium) var(--color--strokes);--ez-check--checked--border:var(--border--medium) var(--color--primary);--ez-check--checked--hover--background-color:var(--color--primary-200);--ez-check--checked--focus--background-color:var(--color--primary-300, #FFFFFF);--ez-check--check--image:url('data:image/svg+xml;utf8,<svg width=\"8\" height=\"7\" viewBox=\"0 0 8 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.70002 0.398999L7.48502 0.207997C7.31524 0.0598858 7.09376 -0.0150438 6.86894 -0.000430025C6.64411 0.0141838 6.43419 0.117153 6.28502 0.285997L2.70002 4.332L1.61802 3.384C1.44837 3.23576 1.22697 3.16067 1.00214 3.17509C0.77732 3.18952 0.567332 3.2923 0.418019 3.461L0.229019 3.674C0.0752361 3.84797 -0.00437434 4.07521 0.00721192 4.30713C0.0187982 4.53904 0.120661 4.75722 0.291019 4.915L2.27402 6.762C2.35832 6.8432 2.45842 6.90618 2.56811 6.94702C2.67779 6.98787 2.79471 7.00571 2.91159 6.99942C3.02846 6.99314 3.14279 6.96287 3.24747 6.91049C3.35214 6.85812 3.44492 6.78477 3.52002 6.695L7.79102 1.638C7.94063 1.46048 8.01486 1.23149 7.99786 0.999963C7.98085 0.768436 7.87396 0.552749 7.70002 0.398999Z\"/></svg>');--ez-check--check--background-color:var(--color--primary);--ez-check--check--disabled--background-color:var(--color--strokes);--ez-switch--slider--width:34px;--ez-switch--slider--height:14px;--ez-switch--pin--width:20px;--ez-switch--pin--height:20px;--ez-switch--focus--width:32px;--ez-switch--focus--height:32px;--ez-switch--background-color:var(--color--strokes);--ez-switch--disabled--background-color:var(--color--disable-secondary);--ez-switch--checked--background-color:var(--color--primary-300);--ez-switch--pin--background-color:var(--background--xlight);--ez-switch--pin--disabled--background-color:var(--color--disable-secondary);--ez-switch--pin--checked--background-color:var(--color--primary);--ez-switch--pin--checked--disabled--background-color:#E8F7F4;--ez-switch--pin--focus--background-color:var(--text--disable);--ez-switch--pin--checked--focus--background-color:var(--color--primary);--ez-check--label--font-size:var(--text--medium, 14px);--ez-check--label--font-family:var(--font-pattern, Arial);--ez-check--label--color:var(--title--primary, #000);--ez-check--label--disabled--color:var(--text--disable, #AFB6C0);display:flex;width:100%;align-items:center;margin:0}input.regularMode{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;box-sizing:border-box;-webkit-appearance:none;appearance:none;cursor:pointer;border-radius:50%;position:relative;width:var(--ez-check--width);height:var(--ez-check--height)}input.regularMode:enabled:hover{background-color:var(--ez-check--hover--background-color)}input.regularMode:enabled:focus{outline:none;background-color:var(--ez-check--focus--background-color)}input.regularMode:disabled{cursor:auto;background:none}input.regularMode::before{box-sizing:border-box;content:\"\";display:block;width:var(--ez-check--box--width);height:var(--ez-check--box--height);border-radius:var(--ez-check--border-radius);border:var(--ez-check--border)}input.regularMode:disabled::before{border:var(--ez-check--disabled--border)}input.regularMode:checked:enabled:hover{background-color:var(--ez-check--checked--hover--background-color)}input.regularMode:checked:enabled:focus{background-color:var(--ez-check--checked--focus--background-color)}input.regularMode:checked::before{border:var(--ez-check--checked--border);background-color:var(--ez-check--checked--background-color)}input.regularMode:checked:disabled:before{border:var(--ez-check--disabled--border);background-color:var(--ez-check--checked--disabled--background-color)}input.regularMode:checked::after{display:flex;position:absolute;content:\"\";background-color:var(--ez-check--check--background-color);width:8px;height:7px;-webkit-mask-image:var(--ez-check--check--image);mask-image:var(--ez-check--check--image)}input.regularMode:checked:disabled::after{background-color:var(--ez-check--check--disabled--background-color)}input.switchMode{flex-shrink:0;-webkit-appearance:none;appearance:none;position:relative;outline:none;cursor:pointer;border-radius:20px;border:var(--border--small) solid var(--text--secondary);transition:background-color var(--transition);width:var(--ez-switch--slider--width);height:var(--ez-switch--slider--height);background-color:var(--ez-switch--background-color)}input.switchMode:disabled{background-color:var(--ez-switch--disabled--background-color)}input.switchMode::after{content:\"\";display:block;position:absolute;box-shadow:var(--shadow);transition:transform var(--transition);transition:background-color var(--transition);transform:translateX(-2px) translateY(-3px);border-radius:50%;width:var(--ez-switch--pin--width);height:var(--ez-switch--pin--height);background-color:var(--ez-switch--pin--background-color)}input.switchMode:disabled::after{background-color:var(--ez-switch--pin--disabled--background-color)}input.switchMode:checked{transition:background-color var(--transition) border var(--border--small) solid var(--color--primary);background-color:var(--ez-switch--checked--background-color)}input.switchMode::before{display:block;content:\"\";display:block;position:absolute;border-radius:50%;opacity:0;width:var(--ez-switch--focus--width);height:var(--ez-switch--focus--height);top:calc((var(--ez-switch--slider--height) - var(--ez-switch--focus--height)) / 2);left:calc((var(--ez-switch--pin--width) - var(--ez-switch--focus--width))/2);background-color:var(--ez-switch--pin--focus--background-color)}input.switchMode:focus::before{opacity:0.24;transition:opacity var(--transition)}input.switchMode:checked:focus::before{background-color:var(--ez-switch--pin--checked--focus--background-color);transform:translateX(calc(var(--ez-switch--slider--width) - var(--ez-switch--pin--width)))}input.switchMode:checked::after{transition:transform var(--transition);transition:background-color var(--transition);transform:translateX(calc(var(--ez-switch--slider--width) - var(--ez-switch--pin--width))) translateY(-3px);box-shadow:var(--shadow);background-color:var(--ez-switch--pin--checked--background-color)}input.switchMode:checked:disabled::after{background-color:var(--ez-switch--pin--checked--disabled--background-color)}.label{flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ez-check--label--color);text-shadow:var(--text-shadow);font-size:var(--ez-check--label--font-size);font-family:var(--ez-check--label--font-family);cursor:default;padding-left:var(--space--small)}.label--disabled{color:var(--ez-check--label--disabled--color)}";
7997
7997
 
7998
7998
  let EzCheck$1 = class extends HTMLElement$1 {
7999
7999
  constructor() {
@@ -8108,6 +8108,7 @@ class CSSVarsUtils {
8108
8108
  if (child) {
8109
8109
  CSSVarsUtils.applyIfExists(host, child, '--ez-text-input__input--background-color');
8110
8110
  CSSVarsUtils.applyIfExists(host, child, '--ez-text-input__input--border-color');
8111
+ CSSVarsUtils.applyIfExists(host, child, '--ez-text-input--height');
8111
8112
  }
8112
8113
  }
8113
8114
  static applyIfExists(host, element, varName) {
@@ -8138,6 +8139,14 @@ let EzComboBox$1 = class extends HTMLElement$1 {
8138
8139
  * Ajusta a opção de mostrar o "value" para cada opção. Por padrão não mostra
8139
8140
  */
8140
8141
  this.showOptionValue = false;
8142
+ /**
8143
+ * Remove a opção vazia da lista de opções
8144
+ */
8145
+ this.suppressEmptyOption = false;
8146
+ /**
8147
+ * Permite exibir a mensagem de erro.
8148
+ */
8149
+ this.canShowError = true;
8141
8150
  }
8142
8151
  internalUpdate() {
8143
8152
  if (this._inputElement) {
@@ -8168,7 +8177,12 @@ let EzComboBox$1 = class extends HTMLElement$1 {
8168
8177
  const upperCriteria = this._criteria.toUpperCase();
8169
8178
  opts = opts.filter(opt => opt.label.toLocaleUpperCase().indexOf(upperCriteria) > -1);
8170
8179
  }
8171
- this._visibleOptions = [{ value: undefined, label: "" }].concat(opts);
8180
+ if (this.suppressEmptyOption) {
8181
+ this._visibleOptions = opts;
8182
+ }
8183
+ else {
8184
+ this._visibleOptions = [{ value: undefined, label: "" }].concat(opts);
8185
+ }
8172
8186
  }
8173
8187
  buildItem(opt, index) {
8174
8188
  return h("li", { class: index === this._preSelection ? "item preselected" : "item", id: `item_${opt.value}`, onMouseDown: () => this.selectOption(opt), onMouseOver: () => this._preSelection = undefined }, h("span", { class: "item--label", title: opt.label }, opt.label), this.showOptionValue ? h("span", { class: "item--value", title: opt.value }, opt.value) : undefined);
@@ -8180,7 +8194,7 @@ let EzComboBox$1 = class extends HTMLElement$1 {
8180
8194
  //FIXME: Provavelmente isso fará com que o popup abra em uma
8181
8195
  //posição errada no futuro. Preferi fazer simples no começo,
8182
8196
  //porque não quis onerar o text input com essa funcionalidade...
8183
- const top = this.errorMessage ? "0px" : "-17px";
8197
+ const top = (this.errorMessage || !this.canShowError) ? "0px" : "-17px";
8184
8198
  this._floatingID = FloatingManager.float(this._optionsList, this._listContainer, { autoClose: true, top });
8185
8199
  window.requestAnimationFrame(() => {
8186
8200
  this._optionsList.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
@@ -8352,7 +8366,7 @@ let EzComboBox$1 = class extends HTMLElement$1 {
8352
8366
  this.cancelPreselection();
8353
8367
  }
8354
8368
  render() {
8355
- return (h(Host, null, h("ez-text-input", { ref: elem => this._inputElement = elem, enabled: this.enabled, onInput: evt => this.onTextInputChangeHandler(evt), onClick: () => this.onTextInputClickHandler(), onFocusout: () => this.onTextInputFocusOutHandler(), onEzChange: event => event.stopPropagation(), onKeyDown: event => this.keyDownHandler(event), label: this.label, value: this.getText(), errorMessage: this.errorMessage }, this.searchMode ?
8369
+ return (h(Host, null, h("ez-text-input", { ref: elem => this._inputElement = elem, enabled: this.enabled, onInput: evt => this.onTextInputChangeHandler(evt), onClick: () => this.onTextInputClickHandler(), onFocusout: () => this.onTextInputFocusOutHandler(), onEzChange: event => event.stopPropagation(), onKeyDown: event => this.keyDownHandler(event), label: this.label, value: this.getText(), canShowError: this.canShowError, errorMessage: this.errorMessage }, this.searchMode ?
8356
8370
  h("button", { disabled: !this.enabled, tabindex: -1, class: "btn-open-search", onClick: () => { this.loadOptions("ADVANCED"); }, slot: "leftIcon" })
8357
8371
  :
8358
8372
  h("button", { disabled: !this.enabled, tabindex: -1, class: "btn-open-options", slot: "rightIcon", onClick: () => this.showOptions() })), h("section", { class: "list-container", ref: elem => this._listContainer = elem }, h("div", { class: "options-list", ref: elem => this._optionsList = elem }, this._visibleOptions.map((opt, index) => this.buildItem(opt, index))))));
@@ -8654,9 +8668,9 @@ let EzDialog$1 = class extends HTMLElement$1 {
8654
8668
  static get style() { return ezDialogCss; }
8655
8669
  };
8656
8670
 
8657
- const buildTextArea = ({ name, label }) => {
8671
+ const buildTextArea = ({ name, label, readOnly }) => {
8658
8672
  return (h("div", { class: "col col--sd-12 padding--small", key: name },
8659
- h("ez-text-area", { label: label, "data-field-name": name })));
8673
+ h("ez-text-area", { enabled: !readOnly, label: label, "data-field-name": name })));
8660
8674
  };
8661
8675
 
8662
8676
  const buildTextInput = ({ name, label }) => {
@@ -8665,17 +8679,17 @@ const buildTextInput = ({ name, label }) => {
8665
8679
  };
8666
8680
 
8667
8681
  const buildSwitch = (fieldConfig) => {
8668
- return buildField$1(fieldConfig.name, fieldConfig.label, true);
8682
+ return buildField$1(fieldConfig.name, fieldConfig.label, fieldConfig.readOnly, true);
8669
8683
  };
8670
8684
  const buildCheckBox = (fieldConfig) => {
8671
- return buildField$1(fieldConfig.name, fieldConfig.label, false);
8685
+ return buildField$1(fieldConfig.name, fieldConfig.label, fieldConfig.readOnly, false);
8672
8686
  };
8673
- function buildField$1(fieldName, fieldLabel, switchMode = false) {
8687
+ function buildField$1(fieldName, fieldLabel, readOnly, switchMode = false) {
8674
8688
  return (h("div", { class: "col col--sd-12 col--tb-3 padding--small align--middle padding-bottom--large" },
8675
- h("ez-check", { label: fieldLabel, mode: switchMode ? "switch" : "regular", "data-field-name": fieldName, key: fieldName })));
8689
+ h("ez-check", { enabled: !readOnly, label: fieldLabel, mode: switchMode ? "switch" : "regular", "data-field-name": fieldName, key: fieldName })));
8676
8690
  }
8677
8691
 
8678
- const buildComboBox = ({ name, label }, properties) => {
8692
+ const buildComboBox = ({ name, label, readOnly }, properties) => {
8679
8693
  const prop = properties === null || properties === void 0 ? void 0 : properties.options;
8680
8694
  let options;
8681
8695
  if (typeof prop === "string") {
@@ -8686,39 +8700,39 @@ const buildComboBox = ({ name, label }, properties) => {
8686
8700
  options = prop;
8687
8701
  }
8688
8702
  return (h("div", { class: "col col--sd-12 col--tb-3 padding--small" },
8689
- h("ez-combo-box", { label: label, "data-field-name": name, key: name, options: options })));
8703
+ h("ez-combo-box", { enabled: !readOnly, label: label, "data-field-name": name, key: name, options: options })));
8690
8704
  };
8691
8705
 
8692
- const buildSearch = ({ name, label }) => {
8706
+ const buildSearch = ({ name, label, readOnly }) => {
8693
8707
  return (h("div", { class: "col col--sd-12 col--tb-3 padding--small" },
8694
- h("ez-search", { label: label, optionLoader: (_argument) => { }, "data-field-name": name, key: name })));
8708
+ h("ez-search", { enabled: !readOnly, label: label, optionLoader: (_argument) => { }, "data-field-name": name, key: name })));
8695
8709
  };
8696
8710
 
8697
- const buildFile = ({ name, label }) => {
8711
+ const buildFile = ({ name, label, readOnly }) => {
8698
8712
  return (h("div", { class: "col col--sd-12 padding--small" },
8699
- h("ez-upload", { label: label, urlUpload: "", requestHeaders: "", maxFiles: 10, "data-field-name": name, key: name })));
8713
+ h("ez-upload", { enabled: !readOnly, label: label, urlUpload: "", requestHeaders: "", maxFiles: 10, "data-field-name": name, key: name })));
8700
8714
  };
8701
8715
 
8702
- const buildDate = ({ name, label }) => {
8716
+ const buildDate = ({ name, label, readOnly }) => {
8703
8717
  return (h("div", { class: "col col--sd-12 col--tb-3 padding--small" },
8704
- h("ez-date-input", { label: label, "data-field-name": name, key: name })));
8718
+ h("ez-date-input", { enabled: !readOnly, label: label, "data-field-name": name, key: name })));
8705
8719
  };
8706
8720
  const buildTimeDate = ({ name, label }) => {
8707
8721
  return (h("div", { class: "col col--sd-12 col--tb-3 padding--small" },
8708
8722
  h("ez-date-time-input", { label: label, "data-field-name": name, key: name })));
8709
8723
  };
8710
8724
 
8711
- const buildDecimal = ({ name, label }, properties) => {
8725
+ const buildDecimal = ({ name, label, readOnly }, properties) => {
8712
8726
  const precision = Number((properties === null || properties === void 0 ? void 0 : properties.precision) || 2);
8713
8727
  const prettyPrecision = Number((properties === null || properties === void 0 ? void 0 : properties.prettyPrecision) || precision);
8714
- return buildNumeric(name, label, precision, prettyPrecision);
8728
+ return buildNumeric(name, label, readOnly, precision, prettyPrecision);
8715
8729
  };
8716
- const buildInteger = ({ name, label }) => {
8717
- return buildNumeric(name, label, 0, 0);
8730
+ const buildInteger = ({ name, label, readOnly }) => {
8731
+ return buildNumeric(name, label, readOnly, 0, 0);
8718
8732
  };
8719
- function buildNumeric(fieldName, fieldLabel, precision, prettyPrecision) {
8733
+ function buildNumeric(fieldName, fieldLabel, readOnly, precision, prettyPrecision) {
8720
8734
  return (h("div", { class: "col col--sd-12 col--tb-3 padding--small" },
8721
- h("ez-number-input", { label: fieldLabel, precision: precision, prettyPrecision: prettyPrecision, "data-field-name": fieldName, key: fieldName })));
8735
+ h("ez-number-input", { enabled: !readOnly, label: fieldLabel, precision: precision, prettyPrecision: prettyPrecision, "data-field-name": fieldName, key: fieldName })));
8722
8736
  }
8723
8737
 
8724
8738
  const uiBuilders = new Map();
@@ -8738,7 +8752,6 @@ const buildField = (field) => {
8738
8752
  let builder;
8739
8753
  let props;
8740
8754
  if (descriptor) {
8741
- builder = uiBuilders.get(descriptor.userInterface);
8742
8755
  if (!config.label) {
8743
8756
  config.label = descriptor.label;
8744
8757
  }
@@ -8748,7 +8761,11 @@ const buildField = (field) => {
8748
8761
  if (config.required === undefined) {
8749
8762
  config.required = descriptor.required;
8750
8763
  }
8764
+ if (config.readOnly === undefined) {
8765
+ config.readOnly = descriptor.readOnly;
8766
+ }
8751
8767
  props = descriptor.properties;
8768
+ builder = uiBuilders.get(descriptor.userInterface);
8752
8769
  }
8753
8770
  if (config.required) {
8754
8771
  config.label = `* ${config.label} (obrigatório)`;
@@ -8825,10 +8842,11 @@ const buildFromConfig = (fields, dataUnit) => {
8825
8842
  var _a;
8826
8843
  if (config.visible !== false) {
8827
8844
  const tab = config.tab || "Geral";
8845
+ const tabConfig = (typeof tab === "string" ? { label: tab, visible: true } : tab);
8828
8846
  const descriptor = dataUnit.getField(config.name);
8829
- if (descriptor) {
8830
- if (!sheets.has(tab)) {
8831
- sheets.set(tab, new Map());
8847
+ if (descriptor && tabConfig.visible) {
8848
+ if (!sheets.has(tabConfig)) {
8849
+ sheets.set(tabConfig, new Map());
8832
8850
  }
8833
8851
  const isRequired = config.required === undefined ? descriptor.required : config.required;
8834
8852
  if (isRequired) {
@@ -8838,7 +8856,7 @@ const buildFromConfig = (fields, dataUnit) => {
8838
8856
  if (clearOnCopy) {
8839
8857
  cleanOnCopyFields.push(config.name);
8840
8858
  }
8841
- const tabItens = sheets.get(tab);
8859
+ const tabItens = sheets.get(tabConfig);
8842
8860
  const fieldMD = { config, descriptor };
8843
8861
  const group = config.group;
8844
8862
  if (group) {
@@ -8857,10 +8875,12 @@ const buildFromConfig = (fields, dataUnit) => {
8857
8875
  }
8858
8876
  });
8859
8877
  const metadata = new FormMetadata();
8860
- sheets.forEach((value, key) => {
8878
+ Array.from(sheets.entries())
8879
+ .sort((a, b) => (a[0].order || 10000) - (b[0].order || 10000))
8880
+ .forEach(([key, value]) => {
8861
8881
  metadata.addSheet({
8862
- label: key,
8863
- name: key,
8882
+ label: key.label,
8883
+ name: key.label,
8864
8884
  items: Array.from(value.values()),
8865
8885
  requiredFields,
8866
8886
  cleanOnCopyFields
@@ -119559,8 +119579,9 @@ class AgGridController {
119559
119579
  headerName: "",
119560
119580
  checkboxSelection: true,
119561
119581
  headerCheckboxSelection: false,
119562
- width: 100,
119563
- suppressMovable: true
119582
+ width: 24,
119583
+ suppressMovable: true,
119584
+ suppressMenu: true
119564
119585
  });
119565
119586
  }
119566
119587
  cols.forEach(c => {
@@ -119754,7 +119775,7 @@ class DataUnitBridge {
119754
119775
  }
119755
119776
  }
119756
119777
 
119757
- const ezGridCss = ".sc-ez-grid-h{display:grid;grid-template-rows:auto 1fr auto;height:100%;width:100%;--ezgrid__header--background-color:var(--background--xlight, #FFF)}.grid-header.sc-ez-grid{display:flex;justify-content:space-between;align-items:center;background-color:var(--ezgrid__header--background-color)}.grid-header__container.sc-ez-grid{display:flex;align-items:center}";
119778
+ const ezGridCss = ".sc-ez-grid-h{display:grid;grid-template-rows:auto 1fr auto;height:100%;width:100%;--ezgrid__header--background-color:var(--background--xlight, #FFF)}.grid-header.sc-ez-grid{display:flex;justify-content:space-between;align-items:center;background-color:var(--ezgrid__header--background-color, #FFF);z-index:var(--visible)}.grid__container.sc-ez-grid{box-shadow:0 0 16px 0 rgb(0 38 111 / 12%);padding-top:15px;margin-top:-12px;background-color:var(--ezgrid__header--background-color)}.grid-header__container.sc-ez-grid{display:flex;align-items:center}";
119758
119779
 
119759
119780
  let EzGrid$1 = class extends HTMLElement$1 {
119760
119781
  constructor() {
@@ -119849,8 +119870,8 @@ let EzGrid$1 = class extends HTMLElement$1 {
119849
119870
  }
119850
119871
  return [
119851
119872
  h("div", { class: "text text--primary text--medium margin-right--medium" }, h("strong", { class: "text text--primary text--medium" }, `${this._navigationFirstRow}-${this._navigationLastRow}`), ` de ${this._navigationTotalRows}`),
119852
- h("ez-button", { size: "small", iconName: "chevron-left", class: "button--secondary margin-right--medium", mode: "icon", enabled: this._navigationHasPrevious, onClick: () => this._gridController.previousPage(), label: "P\u00E1gina anterior" }),
119853
- h("ez-button", { size: "small", iconName: "chevron-right", class: "button--secondary margin-right--medium", mode: "icon", enabled: this._navigationHasNext, onClick: () => this._gridController.nextPage(), label: "Pr\u00F3xima P\u00E1gina" })
119873
+ h("ez-button", { size: "small", iconName: "chevron-left", class: "margin-right--medium", mode: "icon", enabled: this._navigationHasPrevious, onClick: () => this._gridController.previousPage(), label: "P\u00E1gina anterior" }),
119874
+ h("ez-button", { size: "small", iconName: "chevron-right", class: "margin-right--medium", mode: "icon", enabled: this._navigationHasNext, onClick: () => this._gridController.nextPage(), label: "Pr\u00F3xima P\u00E1gina" })
119854
119875
  ];
119855
119876
  }
119856
119877
  applyConfig(cols) {
@@ -119866,7 +119887,7 @@ let EzGrid$1 = class extends HTMLElement$1 {
119866
119887
  this._popUpVisible = true;
119867
119888
  }
119868
119889
  render() {
119869
- return (h(Host, null, h("div", { class: "box box--shadow padding--medium grid-header margin-bottom--small" }, h("div", { class: "grid-header__container" }, h("slot", { name: "leftButtons" })), h("div", { class: "grid-header__container" }, this.getPaginationControl(), h("ez-button", { size: "small", iconName: "settings", class: "button--secondary", mode: "icon", onClick: () => { this.openConfig(); } }))), h("div", { class: "grid__container ag-sankhya-theme", ref: elem => this._container = elem }), h("div", { class: "grid__footer" }), h("ez-modal", { modalSize: "small", closeEsc: true, closeOutsideClick: true, opened: this._popUpVisible, onEzCloseModal: () => this._popUpVisible = false }, h("grid-config", { ref: ref => this._gridConfig = ref, selectedTab: "Colunas", onConfigFinish: evt => this.applyConfig(evt.detail), onConfigCancel: _evt => this.closeConfig() }))));
119890
+ return (h(Host, null, h("div", { class: "box box--shadow padding--medium grid-header" }, h("div", { class: "grid-header__container" }, h("slot", { name: "leftButtons" })), h("div", { class: "grid-header__container" }, this.getPaginationControl(), h("ez-button", { size: "small", iconName: "settings", class: "button--secondary", mode: "icon", onClick: () => { this.openConfig(); } }))), h("div", { class: "grid__container ag-sankhya-theme", ref: elem => this._container = elem }), h("div", { class: "grid__footer" }), h("ez-modal", { modalSize: "small", closeEsc: true, closeOutsideClick: true, opened: this._popUpVisible, onEzCloseModal: () => this._popUpVisible = false }, h("grid-config", { ref: ref => this._gridConfig = ref, selectedTab: "Colunas", onConfigFinish: evt => this.applyConfig(evt.detail), onConfigCancel: _evt => this.closeConfig() }))));
119870
119891
  }
119871
119892
  static get assetsDirs() { return ["../assets"]; }
119872
119893
  static get style() { return ezGridCss; }
@@ -120066,7 +120087,7 @@ let EzList$1 = class extends HTMLElement$1 {
120066
120087
  newList.forEach(groupItem => {
120067
120088
  groupItem.items.forEach(item => {
120068
120089
  if (item.label == selectedItem.label) {
120069
- item.selected = !item.selected;
120090
+ item.selected = true;
120070
120091
  }
120071
120092
  else {
120072
120093
  item.selected = false;
@@ -120079,7 +120100,7 @@ let EzList$1 = class extends HTMLElement$1 {
120079
120100
  let newList = [...this._listItems];
120080
120101
  newList.forEach(item => {
120081
120102
  if (item.label === selectedItem.label) {
120082
- item.selected = !item.selected;
120103
+ item.selected = true;
120083
120104
  }
120084
120105
  else {
120085
120106
  item.selected = false;
@@ -121134,7 +121155,7 @@ let EzTextArea$1 = class extends HTMLElement$1 {
121134
121155
  static get style() { return ezTextAreaCss; }
121135
121156
  };
121136
121157
 
121137
- const ezTextInputCss = ":host{--ez-text-input--height:42px;--ez-text-input--width:100%;--ez-text-input__icon--width:48px;--ez-text-input--border-radius:var(--border--radius-medium, 12px);--ez-text-input--font-size:var(--text--medium, 14px);--ez-text-input--font-family:var(--font-pattern, Arial);--ez-text-input--font-weight:var(--text-weight--large, 500);--ez-text-input--color:var(--title--primary, #000);--ez-text-input__input--background-color:var(--background--medium, #e0e0e0);--ez-text-input__input--border:var(--border--medium, 2px solid);--ez-text-input__input--border-color:var(--ez-text-input__input--background-color);--ez-text-input__input--focus--border-color:var(--color--alert-cold-800, #042EFF);--ez-text-input__input--disabled--background-color:var(--color--disable-secondary, #F2F5F8);--ez-text-input__input--disabled--color:var(--text--disable, #AFB6C0);--ez-text-input__input--error--border-color:#CC2936;--ez-text-input__message_box--font-size:var(--text--small, 12px);--ez-text-input__message_box--info--color:var(--color--success, #22085d);--ez-text-input__message_box--error--color:var(--color--error, #FF0000);--ez-text-input__label--floating--top:6px;--ez-text-input__label--padding-top:12px;--ez-text-input__label--padding-left:14px;--ez-text-input__label--padding-right:12px;display:flex;flex-wrap:wrap;position:relative;width:var(--ez-text-input--width)}input{width:100%;box-sizing:border-box;padding:var(--space--medium, 6px);font-weight:var(--text-weight--large, 600);height:var(--ez-text-input--height);border-radius:var(--ez-text-input--border-radius);font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);border:var(--ez-text-input__input--border);border-color:var(--ez-text-input__input--border-color);background-color:var(--ez-text-input__input--background-color);color:var(--ez-text-input--color)}input:disabled{background-color:var(--ez-text-input__input--disabled--background-color);color:var(--ez-text-input__input--disabled--color)}input:focus{outline:none;border-color:var(--ez-text-input__input--focus--border-color)}input.icon--left{padding-left:var(--ez-text-input__icon--width)}input.icon--right{padding-right:var(--ez-text-input__icon--width)}input.hasError{color:var(--ez-text-input--color);border-color:var(--ez-text-input__input--error--border-color)}input.text--right{text-align:right}.message-box{display:flex;min-height:16px;min-width:100%;margin-top:2px;line-height:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input__message_box--font-size);color:var(--ez-text-input__message_box--info--color)}.hasError{color:var(--ez-text-input__message_box--error--color)}.input__label{box-sizing:border-box;position:absolute;z-index:var(--visible);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:font-size .05s, top .05s;transition:font-size .05s, top .05s;width:calc(100% - var(--ez-text-input__label--padding-right));left:var(--ez-text-input--space--medium);font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);font-weight:var(--ez-text-input--font-weight);color:var(--ez-text-input--color);top:var(--ez-text-input__label--padding-top);left:var(--ez-text-input__label--padding-left);padding-right:var(--ez-text-input__label--padding-right)}.input__label--floated{font-family:var(--ez-text-input--font-family);font-size:var(--text--extra-small);color:var(--text--primary);top:var(--ez-text-input__label--floating--top)}.input__label--disabled{color:var(--ez-text-input__input--disabled--color)}.input__label--left{text-align:left;left:calc(var(--ez-text-input__icon--width) + 2px);width:calc(100% - var(--ez-text-input__icon--width))}.input__label--right{right:var(--ez-text-input__icon--width);width:calc(100% - var(--ez-text-input__icon--width))}.input__label--left.input__label--right{left:calc(var(--ez-text-input__icon--width) + 2px);width:calc(100% - var(--ez-text-input__icon--width) * 2)}.input--with--label{padding-bottom:0}";
121158
+ const ezTextInputCss = ":host{--ez-text-input--height:42px;--ez-text-input--width:100%;--ez-text-input__icon--width:48px;--ez-text-input--border-radius:var(--border--radius-medium, 12px);--ez-text-input--font-size:var(--text--medium, 14px);--ez-text-input--font-family:var(--font-pattern, Arial);--ez-text-input--font-weight:var(--text-weight--medium, 400);--ez-text-input--color:var(--title--primary, #000);--ez-text-input__input--background-color:var(--background--medium, #e0e0e0);--ez-text-input__input--border:var(--border--medium, 2px solid);--ez-text-input__input--border-color:var(--ez-text-input__input--background-color);--ez-text-input__input--focus--border-color:var(--color--primary, #008561);--ez-text-input__input--disabled--background-color:var(--color--disable-secondary, #F2F5F8);--ez-text-input__input--disabled--color:var(--text--disable, #AFB6C0);--ez-text-input__input--error--border-color:#CC2936;--ez-text-input__message_box--font-size:var(--text--small, 12px);--ez-text-input__message_box--info--color:var(--color--success, #22085d);--ez-text-input__message_box--error--color:var(--color--error, #FF0000);--ez-text-input__label--floating--top:6px;--ez-text-input__label--padding-top:12px;--ez-text-input__label--padding-left:14px;--ez-text-input__label--padding-right:12px;display:flex;flex-wrap:wrap;position:relative;width:var(--ez-text-input--width)}input{width:100%;box-sizing:border-box;padding:var(--space--medium, 6px);font-weight:var(--text-weight--large, 600);height:var(--ez-text-input--height);border-radius:var(--ez-text-input--border-radius);font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);border:var(--ez-text-input__input--border);border-color:var(--ez-text-input__input--border-color);background-color:var(--ez-text-input__input--background-color);color:var(--ez-text-input--color)}input:disabled{background-color:var(--ez-text-input__input--disabled--background-color);color:var(--ez-text-input__input--disabled--color)}input:focus{outline:none;border-color:var(--ez-text-input__input--focus--border-color)}input.icon--left{padding-left:var(--ez-text-input__icon--width)}input.icon--right{padding-right:var(--ez-text-input__icon--width)}input.hasError{color:var(--ez-text-input--color);border-color:var(--ez-text-input__input--error--border-color)}input.text--right{text-align:right}.message-box{display:flex;min-height:16px;min-width:100%;margin-top:2px;line-height:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input__message_box--font-size);color:var(--ez-text-input__message_box--info--color)}.hasError{color:var(--ez-text-input__message_box--error--color)}.input__label{box-sizing:border-box;position:absolute;z-index:var(--visible);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:font-size .05s, top .05s;transition:font-size .05s, top .05s;width:calc(100% - var(--ez-text-input__label--padding-right));left:var(--ez-text-input--space--medium);font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);font-weight:var(--ez-text-input--font-weight);color:var(--ez-text-input--color);top:var(--ez-text-input__label--padding-top);left:var(--ez-text-input__label--padding-left);padding-right:var(--ez-text-input__label--padding-right)}.input__label--floated{font-family:var(--ez-text-input--font-family);font-size:var(--text--extra-small);color:var(--text--primary);top:var(--ez-text-input__label--floating--top)}.input__label--disabled{color:var(--ez-text-input__input--disabled--color)}.input__label--left{text-align:left;left:calc(var(--ez-text-input__icon--width) + 2px);width:calc(100% - var(--ez-text-input__icon--width))}.input__label--right{right:var(--ez-text-input__icon--width);width:calc(100% - var(--ez-text-input__icon--width))}.input__label--left.input__label--right{left:calc(var(--ez-text-input__icon--width) + 2px);width:calc(100% - var(--ez-text-input__icon--width) * 2)}.input--with--label{padding-bottom:0}";
121138
121159
 
121139
121160
  let EzTextInput$1 = class extends HTMLElement$1 {
121140
121161
  constructor() {
@@ -121146,6 +121167,10 @@ let EzTextInput$1 = class extends HTMLElement$1 {
121146
121167
  * Deixa o campo disponível ou não para digitação.
121147
121168
  */
121148
121169
  this.enabled = true;
121170
+ /**
121171
+ * Permite exibir a mensagem de erro.
121172
+ */
121173
+ this.canShowError = true;
121149
121174
  }
121150
121175
  showError() {
121151
121176
  const hasError = typeof this.errorMessage === "string" && this.errorMessage !== "";
@@ -121313,7 +121338,8 @@ let EzTextInput$1 = class extends HTMLElement$1 {
121313
121338
  render() {
121314
121339
  return (h(Host, null, h("slot", { name: "leftIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } }), this.label ?
121315
121340
  h("label", { ref: (el) => this._labelElem = el, class: this.enabled ? "input__label" : "input__label input__label--disabled", onClick: () => this._inputElem.focus(), title: this.label }, this.label)
121316
- : null, h("input", { onFocus: () => this.doFocus(), ref: (el) => this._inputElem = el, type: "text", value: this.value, disabled: !this.enabled, onInput: () => { this.handleChange(); }, onFocusout: () => { this.handleFocusout(); } }), h("slot", { name: "rightIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } }), h("span", { class: "message-box", ref: (el) => this._messageBoxElem = el, title: this.errorMessage }, this.errorMessage)));
121341
+ : null, h("input", { onFocus: () => this.doFocus(), ref: (el) => this._inputElem = el, type: "text", value: this.value, disabled: !this.enabled, onInput: () => { this.handleChange(); }, onFocusout: () => { this.handleFocusout(); } }), h("slot", { name: "rightIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } }), this.canShowError &&
121342
+ h("span", { class: "message-box", ref: (el) => this._messageBoxElem = el, title: this.errorMessage }, this.errorMessage)));
121317
121343
  }
121318
121344
  get _hostElement() { return this; }
121319
121345
  static get watchers() { return {
@@ -121826,7 +121852,7 @@ let EzUpload$1 = class extends HTMLElement$1 {
121826
121852
  static get style() { return ezUploadCss; }
121827
121853
  };
121828
121854
 
121829
- const gridConfigCss = ".sc-grid-config-h{--ez-grid-config__footer--padding-top:var(--space--medium, 12px);--ez-grid-config__main--padding-right:var(--space--medium, 12px);--ez-grid-config__tabselector-container--padding:var(--space--medium, 12px);--ez-grid-config__button-close--padding-left:var(--space--medium, 12px);--ez-grid-config__subtitle--font-family:var(--font-pattern, \"Sora\");--ez-grid-config__title--font-family:var(--font-pattern, \"Sora\");--ez-grid-config__title--font-weight:var(--text-weight--large, 14px);--ez-grid-config__subtitle--font-size:var(--text--medium, 14px);--ez-grid-config__scrollbar--width:var(--space--medium, 12px);--ez-grid-config__main__scrollbar--background-color:var(--text--primary, #626e82);--ez-grid-config__main__scrollbar--border-radius:var(--border--radius-medium, 12px);display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}.padding-right--medium.sc-grid-config{padding-right:var(--space--medium)}ez-list.sc-grid-config{height:100%}.grid-config__footer.sc-grid-config{padding-top:var(--ez-grid-config__footer--padding-top);display:flex;justify-content:flex-end;width:100%}.hidden.sc-grid-config{display:none}.grid-config__main.sc-grid-config{padding-right:var(--ez-grid-config__main--padding-right);overflow-y:auto}.tabselector-container.sc-grid-config{padding:var(--ez-grid-config__tabselector-container--padding) 0}.button-close.sc-grid-config{padding-left:var(--ez-grid-config__button-close--padding-left)}.title-container.sc-grid-config{display:flex;justify-content:center;align-items:center}.subtitle.sc-grid-config{font-family:var(--ez-grid-config__subtitle--font-family);font-size:var(--ez-grid-config__subtitle--font-size)}.title.sc-grid-config{display:flex;font-family:var(--ez-grid-config__title--font-family);margin:0;font-weight:var(--ez-grid-config__title--font-weight);line-height:1.3}.grid-config__main.sc-grid-config::-webkit-scrollbar-track{background-color:#f0f2f5}.grid-config__main.sc-grid-config::-webkit-scrollbar-thumb{background-color:var(--ez-grid-config__main__scrollbar--background-color);border-radius:var(--ez-grid-config__main__scrollbar--border-radius)}.grid-config__main.sc-grid-config::-webkit-scrollbar{background-color:#f0f2f5;width:var(--ez-grid-config__scrollbar--width);max-width:var(--ez-grid-config__scrollbar--width);min-width:var(--ez-grid-config__scrollbar--width)}";
121855
+ const gridConfigCss = ".sc-grid-config-h{--ez-grid-config__footer--padding-top:var(--space--medium, 12px);--ez-grid-config__main--padding-right:var(--space--medium, 12px);--ez-grid-config__tabselector-container--padding:var(--space--medium, 12px);--ez-grid-config__button-close--padding-left:var(--space--medium, 12px);--ez-grid-config__subtitle--font-family:var(--font-pattern, \"Sora\");--ez-grid-config__title--font-family:var(--font-pattern, \"Sora\");--ez-grid-config__title--font-weight:var(--text-weight--large, 700);--ez-grid-config__subtitle--font-size:var(--text--medium, 14px);--ez-grid-config__scrollbar--width:var(--space--medium, 12px);--ez-grid-config__main__scrollbar--background-color:var(--text--primary, #626e82);--ez-grid-config__main__scrollbar--border-radius:var(--border--radius-medium, 12px);--ez-grid__group--font-family:var(--font-pattern, \"Sora\");--ez-grid__group--font-size:var(--text--medium, 14px);--ez-grid__group--font-weight:var(--text-weight--large, 600);--ez-grid__group--padding-bottom:var(--space-small, 6px);display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}.padding-right--medium.sc-grid-config{padding-right:var(--space--medium)}ez-list.sc-grid-config{height:100%}.heigth-calc.sc-grid-config{max-height:calc(100% - 24px)}.grid-config__footer.sc-grid-config{padding-top:var(--ez-grid-config__footer--padding-top);display:flex;justify-content:flex-end;width:100%}.hidden.sc-grid-config{display:none}.grid-config__main.sc-grid-config{padding-right:var(--ez-grid-config__main--padding-right);overflow-y:auto}.tabselector-container.sc-grid-config{padding:var(--ez-grid-config__tabselector-container--padding) 0}.button-close.sc-grid-config{padding-left:var(--ez-grid-config__button-close--padding-left)}.title-container.sc-grid-config{display:flex;justify-content:space-between;align-items:center;width:359px}.subtitle.sc-grid-config{font-family:var(--ez-grid-config__subtitle--font-family);font-size:var(--ez-grid-config__subtitle--font-size);color:var(--text--primary)}.title.sc-grid-config{display:flex;margin:0;font-family:var(--ez-grid-config__title--font-family);font-size:var(--title--large);font-weight:var(--ez-grid-config__title--font-weight);line-height:normal;letter-spacing:0em;text-align:left;color:var(--title--primary)}.grid-config__main.sc-grid-config::-webkit-scrollbar-track{background-color:#f0f2f5}.grid-config__main.sc-grid-config::-webkit-scrollbar-thumb{background-color:var(--ez-grid-config__main__scrollbar--background-color);border-radius:var(--ez-grid-config__main__scrollbar--border-radius)}.grid-config__main.sc-grid-config::-webkit-scrollbar{background-color:#f0f2f5;width:var(--ez-grid-config__scrollbar--width);max-width:var(--ez-grid-config__scrollbar--width);min-width:var(--ez-grid-config__scrollbar--width)}.group-name.sc-grid-config{font-family:var(--ez-grid__group--font-family);font-size:var(--ez-grid__group--font-size);font-weight:var(--ez-grid__group--font-weight);padding-bottom:var(--ez-grid__group--padding-bottom)}";
121830
121856
 
121831
121857
  let GridConfig$1 = class extends HTMLElement$1 {
121832
121858
  constructor() {
@@ -121894,7 +121920,7 @@ let GridConfig$1 = class extends HTMLElement$1 {
121894
121920
  let newList = [...this.columns];
121895
121921
  let newItem = newList.find(item => item.label === updatedItem.label);
121896
121922
  if (newItem) {
121897
- newItem.sort = sortOrder;
121923
+ newItem.sort = sortOrder.value;
121898
121924
  }
121899
121925
  this.columns = newList;
121900
121926
  }
@@ -121951,7 +121977,7 @@ let GridConfig$1 = class extends HTMLElement$1 {
121951
121977
  searchingText = (_a = evt.currentTarget) === null || _a === void 0 ? void 0 : _a.value;
121952
121978
  }
121953
121979
  let newSelected = -1;
121954
- if (this.selectedTab === "Ordenação") {
121980
+ if (this.selectedTab === "Ordenação das linhas") {
121955
121981
  if (searchingText) {
121956
121982
  const matchedIndexes = [];
121957
121983
  let orderListDatasource;
@@ -122039,7 +122065,7 @@ let GridConfig$1 = class extends HTMLElement$1 {
122039
122065
  handleTabChange(ev) {
122040
122066
  var _a;
122041
122067
  if ((_a = ev === null || ev === void 0 ? void 0 : ev.target) === null || _a === void 0 ? void 0 : _a.selectedTab) {
122042
- if (ev.target.selectedTab === "Ordenação") {
122068
+ if (ev.target.selectedTab === "Ordenação das linhas") {
122043
122069
  this._columnListHistory = this._columnList.dataSource;
122044
122070
  this.createOrderList();
122045
122071
  }
@@ -122069,13 +122095,13 @@ let GridConfig$1 = class extends HTMLElement$1 {
122069
122095
  }
122070
122096
  }
122071
122097
  render() {
122072
- return (h(Host, null, h("div", { class: "grid-config__header" }, h("div", { class: "title-container" }, h("div", { class: "" }, h("label", { class: "title" }, "Configura\u00E7\u00E3o da Grade"), h("label", { class: "subtitle" }, "Defina visibilidade e ordem das colunas.")), h("div", { class: "button-close" }, h("ez-button", { mode: 'icon', image: getSpritePath("close"), size: 'medium', onClick: () => this.closeConfig() }))), h("div", { class: "tabselector-container" }, h("ez-tabselector", { selectedTab: this.selectedTab, selectedIndex: 0, onEzChange: (ev) => { this.handleTabChange(ev); }, tabs: 'Colunas, Ordena\u00E7\u00E3o' })), h("div", null, h("ez-text-input", { ref: (el) => this._searchElement = el, label: "Localizar coluna", onKeyUp: evt => this.locateColumn(evt) }, h("ez-icon", { slot: "leftIcon", size: "medium", href: getSpritePath("search") })))), h("div", { class: "grid-config__main" }, h("ez-list", { ref: (el) => this._columnList = el, class: this.selectedTab === "Colunas" ? "" : "hidden", dataSource: this._columListItems, onEzChange: ev => this.handleColumnListChange(ev), ezDraggable: true, ezSelectable: true, itemSlotBuilder: (item, group) => this.buildColumnListSlot(item, group), useGroups: true }), h("ez-list", { ref: (el) => this._orderList = el, class: this.selectedTab === "Ordenação" ? "" : "hidden", dataSource: this._orderListItems, ezSelectable: true, itemSlotBuilder: (item) => this.buildOrderListSlot(item) })), h("div", { class: "grid-config__footer" }, h("ez-button", { class: "padding-right--medium", label: "Cancelar", onClick: () => this.closeConfig() }), h("ez-button", { label: "Concluir", class: "button--primary", onClick: () => this.finish() }))));
122098
+ return (h(Host, null, h("div", { class: "grid-config__header" }, h("div", { class: "title-container" }, h("div", { class: "" }, h("label", { class: "title" }, "Configura\u00E7\u00E3o da Grade"), h("label", { class: "subtitle" }, "Defina visibilidade e ordem das colunas.")), h("div", { class: "button-close" }, h("ez-button", { mode: 'icon', image: getSpritePath("close"), size: 'medium', onClick: () => this.closeConfig() }))), h("div", { class: "tabselector-container" }, h("ez-tabselector", { selectedTab: this.selectedTab, selectedIndex: 0, onEzChange: (ev) => { this.handleTabChange(ev); }, tabs: 'Colunas, Ordena\u00E7\u00E3o das linhas' })), h("div", null, h("ez-text-input", { ref: (el) => this._searchElement = el, label: "Localizar coluna", onKeyUp: evt => this.locateColumn(evt) }, h("ez-icon", { slot: "leftIcon", size: "medium", href: getSpritePath("search") })))), h("div", { class: "grid-config__main" }, h("ez-list", { ref: (el) => this._columnList = el, class: this.selectedTab === "Colunas" ? "" : "hidden", dataSource: this._columListItems, onEzChange: ev => this.handleColumnListChange(ev), ezDraggable: true, ezSelectable: true, itemSlotBuilder: (item, group) => this.buildColumnListSlot(item, group), useGroups: true }), h("div", { class: this.selectedTab === "Ordenação das linhas" ? "group-name" : "hidden" }, "Sequ\u00EAncia da ordena\u00E7\u00E3o"), h("ez-list", { ref: (el) => this._orderList = el, class: this.selectedTab === "Ordenação das linhas" ? "heigth-calc" : "hidden", dataSource: this._orderListItems, ezSelectable: true, ezDraggable: true, itemSlotBuilder: (item) => this.buildOrderListSlot(item) })), h("div", { class: "grid-config__footer" }, h("ez-button", { class: "padding-right--medium", label: "Cancelar", onClick: () => this.closeConfig() }), h("ez-button", { label: "Concluir", class: "button--primary", onClick: () => this.finish() }))));
122073
122099
  }
122074
122100
  static get assetsDirs() { return ["../assets"]; }
122075
122101
  static get style() { return gridConfigCss; }
122076
122102
  };
122077
122103
 
122078
- const selectBoxCss = "select{border:1px solid #DCE0E8;font-family:'Sora';border-radius:3px;outline:none;cursor:pointer}";
122104
+ const selectBoxCss = "ez-combo-box{width:100px}.grid-config-combo{--ez-text-input--height:28px;--ez-text-input__input--background-color:#fff;--ez-text-input__input--border-color:#dce0e8}";
122079
122105
 
122080
122106
  let SelectBox$1 = class extends HTMLElement$1 {
122081
122107
  constructor() {
@@ -122083,22 +122109,10 @@ let SelectBox$1 = class extends HTMLElement$1 {
122083
122109
  this.__registerHost();
122084
122110
  this.__attachShadow();
122085
122111
  this.ezChange = createEvent(this, "ezChange", 7);
122086
- }
122087
- changeSelection() {
122088
- this.ezChange.emit(this._selectElem.value);
122089
- }
122090
- componentDidRender() {
122091
- if (this._selectElem) {
122092
- if (this.selectedOption) {
122093
- this._selectElem.value = this.selectedOption;
122094
- }
122095
- else {
122096
- this._selectElem.value = "na";
122097
- }
122098
- }
122112
+ this.selectedOption = { value: "na", label: "N/A" };
122099
122113
  }
122100
122114
  render() {
122101
- return (h("select", { ref: (el) => this._selectElem = el, onChange: () => { this.changeSelection(); } }, h("option", { value: "na" }, "N/A"), h("option", { value: "asc" }, "A-Z"), h("option", { value: "desc" }, "Z-A")));
122115
+ return (h("ez-combo-box", { class: "grid-config-combo inverted", label: "", value: this.selectedOption, enabled: true, canShowError: false, suppressEmptyOption: true }, h("option", { value: "na" }, "N/A"), h("option", { value: "asc" }, "A-Z"), h("option", { value: "desc" }, "Z-A")));
122102
122116
  }
122103
122117
  static get assetsDirs() { return ["../assets"]; }
122104
122118
  static get style() { return selectBoxCss; }
@@ -122161,7 +122175,7 @@ let TestDu$1 = class extends HTMLElement$1 {
122161
122175
  ]));
122162
122176
  }
122163
122177
  render() {
122164
- return (h("ez-grid", { dataUnit: this.dataUnit }));
122178
+ return (h("ez-form", { dataUnit: this.dataUnit }));
122165
122179
  }
122166
122180
  static get style() { return testDuCss; }
122167
122181
  };
@@ -122172,7 +122186,7 @@ const EzButton = /*@__PURE__*/proxyCustomElement(EzButton$1, [1,"ez-button",{"la
122172
122186
  const EzCalendar = /*@__PURE__*/proxyCustomElement(EzCalendar$1, [1,"ez-calendar",{"value":[1040],"floating":[516],"time":[516],"showSeconds":[516,"show-seconds"]}]);
122173
122187
  const EzCheck = /*@__PURE__*/proxyCustomElement(EzCheck$1, [1,"ez-check",{"label":[513],"value":[1540],"enabled":[516],"mode":[513]}]);
122174
122188
  const EzCollapsibleBox = /*@__PURE__*/proxyCustomElement(EzCollapsibleBox$1, [1,"ez-collapsible-box",{"value":[1540],"label":[513],"headerSize":[513,"header-size"],"iconPlacement":[513,"icon-placement"]}]);
122175
- const EzComboBox = /*@__PURE__*/proxyCustomElement(EzComboBox$1, [1,"ez-combo-box",{"value":[1537],"label":[513],"enabled":[516],"options":[1040],"errorMessage":[1537,"error-message"],"searchMode":[4,"search-mode"],"showSelectedValue":[4,"show-selected-value"],"showOptionValue":[4,"show-option-value"],"optionLoader":[16],"_preSelection":[32],"_visibleOptions":[32]}]);
122189
+ const EzComboBox = /*@__PURE__*/proxyCustomElement(EzComboBox$1, [1,"ez-combo-box",{"value":[1537],"label":[513],"enabled":[516],"options":[1040],"errorMessage":[1537,"error-message"],"searchMode":[4,"search-mode"],"showSelectedValue":[4,"show-selected-value"],"showOptionValue":[4,"show-option-value"],"optionLoader":[16],"suppressEmptyOption":[4,"suppress-empty-option"],"canShowError":[516,"can-show-error"],"_preSelection":[32],"_visibleOptions":[32]}]);
122176
122190
  const EzDateInput = /*@__PURE__*/proxyCustomElement(EzDateInput$1, [1,"ez-date-input",{"label":[513],"value":[1040],"enabled":[516],"errorMessage":[1537,"error-message"]}]);
122177
122191
  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"]}]);
122178
122192
  const EzDialog = /*@__PURE__*/proxyCustomElement(EzDialog$1, [1,"ez-dialog",{"confirm":[1028],"critical":[1028],"message":[1025],"opened":[1540],"personalizedIconPath":[1025,"personalized-icon-path"],"ezTitle":[1025,"ez-title"]}]);
@@ -122188,7 +122202,7 @@ const EzPopup = /*@__PURE__*/proxyCustomElement(EzPopup$1, [1,"ez-popup",{"size"
122188
122202
  const EzSearch = /*@__PURE__*/proxyCustomElement(EzSearch$1, [1,"ez-search",{"value":[1537],"label":[1537],"enabled":[1540],"errorMessage":[1537,"error-message"],"optionLoader":[16],"showSelectedValue":[4,"show-selected-value"],"showOptionValue":[4,"show-option-value"]}]);
122189
122203
  const EzTabselector = /*@__PURE__*/proxyCustomElement(EzTabselector$1, [1,"ez-tabselector",{"selectedIndex":[1538,"selected-index"],"selectedTab":[1537,"selected-tab"],"tabs":[1]}]);
122190
122204
  const EzTextArea = /*@__PURE__*/proxyCustomElement(EzTextArea$1, [1,"ez-text-area",{"label":[513],"value":[1537],"enabled":[516],"loading":[516],"errorMessage":[1537,"error-message"],"rows":[1538]}]);
122191
- const EzTextInput = /*@__PURE__*/proxyCustomElement(EzTextInput$1, [1,"ez-text-input",{"label":[513],"value":[1537],"enabled":[516],"loading":[516],"errorMessage":[1537,"error-message"],"mask":[1],"restrict":[1]}]);
122205
+ const EzTextInput = /*@__PURE__*/proxyCustomElement(EzTextInput$1, [1,"ez-text-input",{"label":[513],"value":[1537],"enabled":[516],"loading":[516],"errorMessage":[1537,"error-message"],"mask":[1],"canShowError":[516,"can-show-error"],"restrict":[1]}]);
122192
122206
  const EzTimeInput = /*@__PURE__*/proxyCustomElement(EzTimeInput$1, [1,"ez-time-input",{"label":[513],"viewValue":[1537,"view-value"],"value":[1026],"enabled":[516],"errorMessage":[1537,"error-message"],"showSeconds":[516,"show-seconds"]}]);
122193
122207
  const EzToast = /*@__PURE__*/proxyCustomElement(EzToast$1, [1,"ez-toast",{"message":[1025],"fadeTime":[1026,"fade-time"],"useIcon":[1028,"use-icon"]}]);
122194
122208
  const EzUpload = /*@__PURE__*/proxyCustomElement(EzUpload$1, [1,"ez-upload",{"label":[1],"enabled":[4],"maxFileSize":[2,"max-file-size"],"maxFiles":[2,"max-files"],"requestHeaders":[8,"request-headers"],"urlUpload":[1,"url-upload"],"urlDelete":[1,"url-delete"],"value":[1040]}]);
@@ -3,6 +3,7 @@ class CSSVarsUtils {
3
3
  if (child) {
4
4
  CSSVarsUtils.applyIfExists(host, child, '--ez-text-input__input--background-color');
5
5
  CSSVarsUtils.applyIfExists(host, child, '--ez-text-input__input--border-color');
6
+ CSSVarsUtils.applyIfExists(host, child, '--ez-text-input--height');
6
7
  }
7
8
  }
8
9
  static applyIfExists(host, element, varName) {
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Classe com utiliários comuns para Strings.
3
+ */
4
+ class StringUtils {
5
+ /**
6
+ * Verifica se a string está vazia.
7
+ * Valores null e undefined são considerados como vazio.
8
+ *
9
+ * @param value String para ser validada.
10
+ */
11
+ static isEmpty(value) {
12
+ if (value == undefined || value === null) {
13
+ return true;
14
+ }
15
+ value = value.toString();
16
+ value = value.trim();
17
+ if (value.length === 0) {
18
+ return true;
19
+ }
20
+ return false;
21
+ }
22
+ /**
23
+ * Remove acentos de vogais, substitui Ç por c e retorna a string em caixa alta.
24
+ *
25
+ * @param value String para ser transformada.
26
+ */
27
+ static replaceAccentuatedChars(text) {
28
+ text = text.toUpperCase();
29
+ text = text.replace(/[À]/, "A");
30
+ text = text.replace(/[Á]/, "A");
31
+ text = text.replace(/[Â]/, "A");
32
+ text = text.replace(/[Ã]/, "A");
33
+ text = text.replace(/[Ä]/, "A");
34
+ text = text.replace(/[È]/, "E");
35
+ text = text.replace(/[É]/, "E");
36
+ text = text.replace(/[Ê]/, "E");
37
+ text = text.replace(/[Ë]/, "E");
38
+ text = text.replace(/[Ì]/, "I");
39
+ text = text.replace(/[Í]/, "I");
40
+ text = text.replace(/[Î]/, "I");
41
+ text = text.replace(/[Ï]/, "I");
42
+ text = text.replace(/[Ò]/, "O");
43
+ text = text.replace(/[Ó]/, "O");
44
+ text = text.replace(/[Ô]/, "O");
45
+ text = text.replace(/[Ö]/, "O");
46
+ text = text.replace(/[Ù]/, "U");
47
+ text = text.replace(/[Ú]/, "U");
48
+ text = text.replace(/[Û]/, "U");
49
+ text = text.replace(/[Ü]/, "U");
50
+ text = text.replace(/[Ç]/, "C");
51
+ return text.replace(/[^a-z0-9]/gi, '');
52
+ }
53
+ }
54
+
55
+ export { StringUtils as S };