@sankhyalabs/ezui 0.0.0-bugfix-dev-KB-78242.3 → 0.0.0-bugfix-dev-KB-78242.4

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 (60) hide show
  1. package/dist/cjs/ez-actions-button.cjs.entry.js +3 -2
  2. package/dist/cjs/ez-combo-box.cjs.entry.js +1 -1
  3. package/dist/cjs/ez-form-view.cjs.entry.js +11 -11
  4. package/dist/cjs/ez-grid.cjs.entry.js +1 -1
  5. package/dist/cjs/ez-search.cjs.entry.js +1 -1
  6. package/dist/cjs/ez-text-input.cjs.entry.js +84 -24
  7. package/dist/cjs/ez-tooltip.cjs.entry.js +55 -0
  8. package/dist/cjs/ezui.cjs.js +1 -1
  9. package/dist/cjs/index-a7b0c73d.js +4 -0
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/collection/collection-manifest.json +1 -0
  12. package/dist/collection/components/ez-actions-button/ez-actions-button.js +3 -2
  13. package/dist/collection/components/ez-combo-box/ez-combo-box.js +1 -1
  14. package/dist/collection/components/ez-form-view/ez-form-view.css +5 -2
  15. package/dist/collection/components/ez-form-view/fieldbuilder/templates/CheckBox.tpl.js +1 -1
  16. package/dist/collection/components/ez-form-view/fieldbuilder/templates/ComboBox.tpl.js +1 -1
  17. package/dist/collection/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.js +3 -3
  18. package/dist/collection/components/ez-form-view/fieldbuilder/templates/FileInput.tpl.js +1 -1
  19. package/dist/collection/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.js +1 -1
  20. package/dist/collection/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.js +1 -1
  21. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextArea.tpl.js +1 -1
  22. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.js +1 -1
  23. package/dist/collection/components/ez-grid/ez-grid.css +0 -7
  24. package/dist/collection/components/ez-search/ez-search.js +1 -1
  25. package/dist/collection/components/ez-text-input/ez-text-input.css +56 -24
  26. package/dist/collection/components/ez-text-input/ez-text-input.js +88 -23
  27. package/dist/collection/components/ez-tooltip/ez-tooltip.css +20 -0
  28. package/dist/collection/components/ez-tooltip/ez-tooltip.js +116 -0
  29. package/dist/custom-elements/index.d.ts +6 -0
  30. package/dist/custom-elements/index.js +154 -42
  31. package/dist/esm/ez-actions-button.entry.js +3 -2
  32. package/dist/esm/ez-combo-box.entry.js +1 -1
  33. package/dist/esm/ez-form-view.entry.js +11 -11
  34. package/dist/esm/ez-grid.entry.js +1 -1
  35. package/dist/esm/ez-search.entry.js +1 -1
  36. package/dist/esm/ez-text-input.entry.js +84 -24
  37. package/dist/esm/ez-tooltip.entry.js +51 -0
  38. package/dist/esm/ezui.js +1 -1
  39. package/dist/esm/index-baa5e267.js +4 -0
  40. package/dist/esm/loader.js +1 -1
  41. package/dist/ezui/ezui.esm.js +1 -1
  42. package/dist/ezui/{p-4f11286b.entry.js → p-0a866516.entry.js} +1 -1
  43. package/dist/ezui/p-12e7218b.entry.js +1 -0
  44. package/dist/ezui/p-6cdd3e0a.entry.js +1 -0
  45. package/dist/ezui/p-6de23ca5.entry.js +1 -0
  46. package/dist/ezui/p-85a4d3b2.entry.js +1 -0
  47. package/dist/ezui/p-b100a958.entry.js +1 -0
  48. package/dist/ezui/p-ca6340a9.entry.js +1 -0
  49. package/dist/types/components/ez-text-input/ez-text-input.d.ts +15 -2
  50. package/dist/types/components/ez-tooltip/ez-tooltip.d.ts +21 -0
  51. package/dist/types/components.d.ts +33 -0
  52. package/package.json +1 -1
  53. package/react/components.d.ts +1 -0
  54. package/react/components.js +1 -0
  55. package/react/components.js.map +1 -1
  56. package/dist/ezui/p-151fc744.entry.js +0 -1
  57. package/dist/ezui/p-7fde6c1d.entry.js +0 -1
  58. package/dist/ezui/p-8481a08a.entry.js +0 -1
  59. package/dist/ezui/p-a5b91a77.entry.js +0 -1
  60. package/dist/ezui/p-bcb53f27.entry.js +0 -1
@@ -0,0 +1,116 @@
1
+ import { ElementIDUtils } from "@sankhyalabs/core";
2
+ import { h } from "@stencil/core";
3
+ export class EzTooltip {
4
+ constructor() {
5
+ this.errorMessage = undefined;
6
+ this.anchoringElement = undefined;
7
+ }
8
+ /**
9
+ * TODO: Implementar a possibilidade de definir a posição do tooltip.
10
+ */
11
+ // @Prop() tooltipSide: 'left' | 'right' | 'top' | 'bottom' = 'bottom';
12
+ /**
13
+ * Reposiciona o tooltip de acordo com a posição do elemento de ancoragem.
14
+ */
15
+ async positionTooltip() {
16
+ const anchorRect = this.anchoringElement.getBoundingClientRect();
17
+ const top = (anchorRect.bottom + window.scrollY);
18
+ const left = (anchorRect.left + window.scrollX);
19
+ this._element.style.top = `${top}px`;
20
+ this._element.style.left = `${left}px`;
21
+ }
22
+ setEvents() {
23
+ window.addEventListener('scroll', () => {
24
+ this.positionTooltip();
25
+ }, { capture: true });
26
+ window.addEventListener('resize', () => {
27
+ this.positionTooltip();
28
+ }, { capture: true });
29
+ this.anchoringElement.addEventListener('mouseover', () => {
30
+ this._element.style.display = 'block';
31
+ });
32
+ this.anchoringElement.addEventListener('mouseout', () => {
33
+ this._element.style.display = 'none';
34
+ });
35
+ }
36
+ componentDidLoad() {
37
+ this.positionTooltip();
38
+ this.setEvents();
39
+ }
40
+ render() {
41
+ return (h("div", { inert: true, class: "tooltip", role: "tooltip", "data-element-id": ElementIDUtils.getInternalIDInfo("tooltip") }, this.errorMessage));
42
+ }
43
+ static get is() { return "ez-tooltip"; }
44
+ static get encapsulation() { return "shadow"; }
45
+ static get originalStyleUrls() {
46
+ return {
47
+ "$": ["ez-tooltip.css"]
48
+ };
49
+ }
50
+ static get styleUrls() {
51
+ return {
52
+ "$": ["ez-tooltip.css"]
53
+ };
54
+ }
55
+ static get properties() {
56
+ return {
57
+ "errorMessage": {
58
+ "type": "string",
59
+ "mutable": false,
60
+ "complexType": {
61
+ "original": "string",
62
+ "resolved": "string",
63
+ "references": {}
64
+ },
65
+ "required": false,
66
+ "optional": false,
67
+ "docs": {
68
+ "tags": [],
69
+ "text": "Mensagem de erro que ser\u00E1 apresentada no tooltip."
70
+ },
71
+ "attribute": "error-message",
72
+ "reflect": false
73
+ },
74
+ "anchoringElement": {
75
+ "type": "unknown",
76
+ "mutable": false,
77
+ "complexType": {
78
+ "original": "HTMLElement",
79
+ "resolved": "HTMLElement",
80
+ "references": {
81
+ "HTMLElement": {
82
+ "location": "global"
83
+ }
84
+ }
85
+ },
86
+ "required": false,
87
+ "optional": false,
88
+ "docs": {
89
+ "tags": [],
90
+ "text": "Elemento HTML que ser\u00E1 utilizado como ancoragem do tooltip."
91
+ }
92
+ }
93
+ };
94
+ }
95
+ static get methods() {
96
+ return {
97
+ "positionTooltip": {
98
+ "complexType": {
99
+ "signature": "() => Promise<void>",
100
+ "parameters": [],
101
+ "references": {
102
+ "Promise": {
103
+ "location": "global"
104
+ }
105
+ },
106
+ "return": "Promise<void>"
107
+ },
108
+ "docs": {
109
+ "text": "Reposiciona o tooltip de acordo com a posi\u00E7\u00E3o do elemento de ancoragem.",
110
+ "tags": []
111
+ }
112
+ }
113
+ };
114
+ }
115
+ static get elementRef() { return "_element"; }
116
+ }
@@ -296,6 +296,12 @@ export const EzToast: {
296
296
  new (): EzToast;
297
297
  };
298
298
 
299
+ interface EzTooltip extends Components.EzTooltip, HTMLElement {}
300
+ export const EzTooltip: {
301
+ prototype: EzTooltip;
302
+ new (): EzTooltip;
303
+ };
304
+
299
305
  interface EzTree extends Components.EzTree, HTMLElement {}
300
306
  export const EzTree: {
301
307
  prototype: EzTree;
@@ -1026,8 +1026,9 @@ const EzActionsButton$1 = class extends HTMLElement$1 {
1026
1026
  var _a;
1027
1027
  const docWidth = document.body.clientWidth;
1028
1028
  const boundingList = (_a = this._actionsList) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
1029
- if ((boundingList === null || boundingList === void 0 ? void 0 : boundingList.right) > docWidth) {
1030
- return (docWidth - boundingList.width) + "px";
1029
+ const rightOffset = docWidth - this._button.getBoundingClientRect().right;
1030
+ if ((boundingList === null || boundingList === void 0 ? void 0 : boundingList.right) >= docWidth || (boundingList === null || boundingList === void 0 ? void 0 : boundingList.right) === (docWidth - rightOffset)) {
1031
+ return (docWidth - boundingList.width - rightOffset) + "px";
1031
1032
  }
1032
1033
  return;
1033
1034
  }
@@ -3066,7 +3067,7 @@ const EzComboBox$1 = class extends HTMLElement$1 {
3066
3067
  return this.listOptionsPosition;
3067
3068
  }
3068
3069
  return {
3069
- verticalPosition: (this.errorMessage || !this.canShowError || this.mode === "slim") ? 6 : -13
3070
+ verticalPosition: 6
3070
3071
  };
3071
3072
  }
3072
3073
  isDifferentValues(firstValue, secondValue) {
@@ -5543,7 +5544,7 @@ const buildCheckBox = (field) => {
5543
5544
  return buildField(field.name, field.label, field.readOnly, field.contextName, false);
5544
5545
  };
5545
5546
  function buildField(fieldName, fieldLabel, readOnly, contextName, switchMode) {
5546
- return (h("div", { class: "ez-col ez-col--sd-12 ez-align--middle ez-padding-horizontal--small ez-padding-bottom--large" },
5547
+ return (h("div", { class: "ez-col ez-col--sd-12 ez-align--middle ez-padding-bottom--large" },
5547
5548
  h("ez-check", { enabled: !readOnly, label: fieldLabel, mode: switchMode ? CheckMode.SWITCH : CheckMode.REGULAR, "data-field-name": fieldName, "data-context-name": contextName, key: fieldName })));
5548
5549
  }
5549
5550
 
@@ -5557,20 +5558,20 @@ const buildComboBox$1 = ({ name, label, readOnly, required, props, contextName,
5557
5558
  else {
5558
5559
  options = prop;
5559
5560
  }
5560
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
5561
+ return (h("div", { class: "ez-col ez-col--sd-12" },
5561
5562
  h("ez-combo-box", { enabled: !readOnly, suppressEmptyOption: required, label: label, "data-field-name": name, "data-context-name": contextName, key: name, options: options, canShowError: canShowError })));
5562
5563
  };
5563
5564
 
5564
5565
  const buildDate$1 = ({ name, label, readOnly, canShowError }) => {
5565
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
5566
+ return (h("div", { class: "ez-col ez-col--sd-12" },
5566
5567
  h("ez-date-input", { enabled: !readOnly, label: label, "data-field-name": name, key: name, canShowError: canShowError })));
5567
5568
  };
5568
5569
  const buildTime$1 = ({ name, label, readOnly, canShowError }) => {
5569
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
5570
+ return (h("div", { class: "ez-col ez-col--sd-12" },
5570
5571
  h("ez-time-input", { enabled: !readOnly, label: label, "data-field-name": name, key: name, canShowError: canShowError })));
5571
5572
  };
5572
5573
  const buildDateTime$1 = ({ name, label, readOnly, contextName, canShowError }) => {
5573
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
5574
+ return (h("div", { class: "ez-col ez-col--sd-12" },
5574
5575
  h("ez-date-time-input", { enabled: !readOnly, label: label, "data-field-name": name, "data-context-name": contextName, key: name, canShowError: canShowError })));
5575
5576
  };
5576
5577
 
@@ -5583,7 +5584,7 @@ const buildFile = ({ name, label, readOnly, contextName, props }) => {
5583
5584
  INTERNAL_FILENAME: props.INTERNAL_FILENAME
5584
5585
  })),
5585
5586
  });
5586
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
5587
+ return (h("div", { class: "ez-col ez-col--sd-12" },
5587
5588
  h("ez-upload", Object.assign({ enabled: !readOnly, label: label, "data-field-name": name, "data-context-name": contextName, key: name }, uploadProps))));
5588
5589
  };
5589
5590
 
@@ -5597,23 +5598,23 @@ const buildInteger$1 = ({ name, label, readOnly, contextName, canShowError }) =>
5597
5598
  return buildNumeric$1(name, label, readOnly, 0, 0, contextName, canShowError);
5598
5599
  };
5599
5600
  function buildNumeric$1(fieldName, fieldLabel, readOnly, precision, prettyPrecision, contextName, canShowError) {
5600
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
5601
+ return (h("div", { class: "ez-col ez-col--sd-12 " },
5601
5602
  h("ez-number-input", { enabled: !readOnly, label: fieldLabel, precision: precision, prettyPrecision: prettyPrecision, "data-field-name": fieldName, "data-context-name": contextName, key: fieldName, canShowError: canShowError })));
5602
5603
  }
5603
5604
 
5604
5605
  const buildSearch$1 = ({ name, label, readOnly, required, contextName, canShowError, optionLoader, props }) => {
5605
5606
  var _a;
5606
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
5607
+ return (h("div", { class: "ez-col ez-col--sd-12" },
5607
5608
  h("ez-search", { enabled: !readOnly, suppressEmptyOption: required, label: label, "data-field-name": name, "data-context-name": contextName, key: name, canShowError: canShowError, optionLoader: optionLoader, ignoreLimitCharsToSearch: (_a = props.ignoreLimitCharsToSearch) !== null && _a !== void 0 ? _a : false })));
5608
5609
  };
5609
5610
 
5610
5611
  const buildTextArea = ({ name, label, readOnly, contextName, rows, canShowError }) => {
5611
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small", key: name },
5612
+ return (h("div", { class: "ez-col ez-col--sd-12", key: name },
5612
5613
  h("ez-text-area", { enabled: !readOnly, label: label, "data-field-name": name, "data-context-name": contextName, rows: rows, canShowError: canShowError })));
5613
5614
  };
5614
5615
 
5615
5616
  const buildTextInput$1 = ({ name, label, readOnly, contextName, canShowError, props }) => {
5616
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
5617
+ return (h("div", { class: "ez-col ez-col--sd-12" },
5617
5618
  h("ez-text-input", { label: label, "data-field-name": name, "data-context-name": contextName, key: name, enabled: !readOnly, canShowError: canShowError, mask: props === null || props === void 0 ? void 0 : props.mask, "clean-value-mask": props === null || props === void 0 ? void 0 : props.cleanValueMask })));
5618
5619
  };
5619
5620
 
@@ -5673,7 +5674,7 @@ class FormItems {
5673
5674
  }
5674
5675
  }
5675
5676
 
5676
- const ezFormViewCss = ".sc-ez-form-view-h{display:flex;flex-wrap:wrap;width:100%;--ez-form-view__item--min-width:220px;--ez-form-view__item--sapce-width:5px}.form-view__content.sc-ez-form-view{display:grid;grid-template-columns:repeat(auto-fill, minmax(var(--ez-form-view__item--min-width), 1fr));gap:var(--ez-form-view__item--sapce-width);width:100%}.input-full_width.sc-ez-form-view{grid-column:1 / -1;width:100%}";
5677
+ const ezFormViewCss = ".sc-ez-form-view-h{display:flex;flex-wrap:wrap;width:100%;--ez-form-view__item--min-width:220px;--ez-form-view__item--width:var(--space--small);--ez-form-view__item--padding:var(--space--small)}.form-view__content.sc-ez-form-view{display:grid;grid-template-columns:repeat(auto-fill, minmax(var(--ez-form-view__item--min-width), 1fr));gap:var(--ez-form-view__item--width);padding-inline:var(--ez-form-view__item--padding);width:100%}.input-full_width.sc-ez-form-view{grid-column:1 / -1;width:100%}";
5677
5678
 
5678
5679
  const EzFormView$1 = class extends HTMLElement$1 {
5679
5680
  constructor() {
@@ -71103,7 +71104,7 @@ class InMemoryFilterColumnDataSource {
71103
71104
  }
71104
71105
  }
71105
71106
 
71106
- const ezGridCss = ".sc-ez-grid-h{display:grid;grid-template-rows:auto 1fr auto;height:100%;width:100%;--ez-grid__header--background-color:var(--background--xlight, #FFF);--ez-grid__selection-counter--z-index:var(--visible, 1);--ez-grid__container--shadow:var(--shadow);--ez-grid--min-height:300px;--ez-grid__container--shadow--outline:var(--shadow--outline) var(--color--strokes);--ez-grid__header--shadow:var(--shadow--xsmall);--ez-grid__header--shadow--outline:var(--shadow--outline) var(--color--strokes);--ez-grid__header--outline:none;--ez-grid__header--border:none;min-height:var(--ez-grid--min-height)}.grid-header.sc-ez-grid{display:grid;justify-content:space-between;align-items:center;grid-row-start:1;grid-template-columns:1fr;background-color:var(--ez-grid__header--background-color, #FFF)}.grid-header.shadow-mode.sc-ez-grid{box-shadow:var(--ez-grid__header--shadow);border:var(--ez-grid__header--border);outline:var(--ez-grid__header--outline)}.grid-header.outline-mode.sc-ez-grid{box-shadow:var(--ez-grid__header--shadow--outline);border:var(--ez-grid__header--border);outline:var(--ez-grid__header--outline)}.grid__container.sc-ez-grid{padding-top:15px;margin-top:-12px;outline:none;box-shadow:var(--ez-grid__container--shadow);background-color:var(--ez-grid__header--background-color)}.grid__container.box-outline.sc-ez-grid{box-shadow:var(--ez-grid__container--shadow--outline);border:none;outline:none}.grid-header__popover.sc-ez-grid{position:relative;top:var(--space--sm, 16px)}.grid-header__container.sc-ez-grid{display:flex;align-items:center}.grid-header__position.sc-ez-grid{display:flex;align-items:center;justify-content:space-between}.grid__selection-counter.sc-ez-grid{position:fixed;white-space:nowrap;transform:translate(-50%, 0px);left:50%;opacity:0;bottom:-100%;transition:opacity 0.1s, bottom 0.5s}.grid__selection-counter--opened.sc-ez-grid{opacity:1;bottom:0px}.grid__btn-close.sc-ez-grid{display:flex;align-items:center;justify-content:center;padding:0;outline:none;width:20px;height:20px;border:none;background-color:unset;cursor:pointer}.grid__btn-clear.sc-ez-grid{--ez-button--link-color:var(--color--alert-warning-900, #8C6B00);--ez-button--link--hover-color:var(--color--alert-warning-900, #8C6B00)}[no-header].sc-ez-grid-h .grid-header.sc-ez-grid{height:0;padding:0}.grid-header__pagination.sc-ez-grid{justify-content:flex-end;flex-wrap:nowrap}.grid-header__pagination-label.sc-ez-grid{width:100%;white-space:nowrap}.overflowed.sc-ez-grid{display:none}.pagination-contracted.sc-ez-grid{width:100px}.pagination-expanded.sc-ez-grid{min-width:150px}.left__header-contracted.sc-ez-grid{width:calc(100% - 100px)}.left__header-expanded.sc-ez-grid{flex-grow:1}";
71107
+ const ezGridCss = ".sc-ez-grid-h{display:grid;grid-template-rows:auto 1fr auto;height:100%;width:100%;--ez-grid__header--background-color:var(--background--xlight, #FFF);--ez-grid__selection-counter--z-index:var(--visible, 1);--ez-grid__container--shadow:var(--shadow);--ez-grid--min-height:300px;--ez-grid__container--shadow--outline:var(--shadow--outline) var(--color--strokes);--ez-grid__header--shadow:var(--shadow--xsmall);--ez-grid__header--shadow--outline:var(--shadow--outline) var(--color--strokes);--ez-grid__header--outline:none;--ez-grid__header--border:none;min-height:var(--ez-grid--min-height)}.grid-header.sc-ez-grid{display:grid;justify-content:space-between;align-items:center;grid-row-start:1;grid-template-columns:1fr;background-color:var(--ez-grid__header--background-color, #FFF)}.grid-header.shadow-mode.sc-ez-grid{box-shadow:var(--ez-grid__header--shadow);border:var(--ez-grid__header--border);outline:var(--ez-grid__header--outline)}.grid-header.outline-mode.sc-ez-grid{box-shadow:var(--ez-grid__header--shadow--outline);border:var(--ez-grid__header--border);outline:var(--ez-grid__header--outline)}.grid__container.sc-ez-grid{padding-top:15px;margin-top:-12px;outline:none;box-shadow:var(--ez-grid__container--shadow);background-color:var(--ez-grid__header--background-color)}.grid-header__popover.sc-ez-grid{position:relative;top:var(--space--sm, 16px)}.grid-header__container.sc-ez-grid{display:flex;align-items:center}.grid-header__position.sc-ez-grid{display:flex;align-items:center;justify-content:space-between}.grid__selection-counter.sc-ez-grid{position:fixed;white-space:nowrap;transform:translate(-50%, 0px);left:50%;opacity:0;bottom:-100%;transition:opacity 0.1s, bottom 0.5s}.grid__selection-counter--opened.sc-ez-grid{opacity:1;bottom:0px}.grid__btn-close.sc-ez-grid{display:flex;align-items:center;justify-content:center;padding:0;outline:none;width:20px;height:20px;border:none;background-color:unset;cursor:pointer}.grid__btn-clear.sc-ez-grid{--ez-button--link-color:var(--color--alert-warning-900, #8C6B00);--ez-button--link--hover-color:var(--color--alert-warning-900, #8C6B00)}[no-header].sc-ez-grid-h .grid-header.sc-ez-grid{height:0;padding:0}.grid-header__pagination.sc-ez-grid{justify-content:flex-end;flex-wrap:nowrap}.grid-header__pagination-label.sc-ez-grid{width:100%;white-space:nowrap}.overflowed.sc-ez-grid{display:none}.pagination-contracted.sc-ez-grid{width:100px}.pagination-expanded.sc-ez-grid{min-width:150px}.left__header-contracted.sc-ez-grid{width:calc(100% - 100px)}.left__header-expanded.sc-ez-grid{flex-grow:1}";
71107
71108
 
71108
71109
  const windowInstace$1 = window;
71109
71110
  const matches = (text, filter) => {
@@ -73570,7 +73571,7 @@ const EzSearch$1 = class extends HTMLElement$1 {
73570
73571
  return this.listOptionsPosition;
73571
73572
  }
73572
73573
  return {
73573
- verticalPosition: (this.errorMessage || !this.canShowError || this.mode === "slim") ? 6 : -13
73574
+ verticalPosition: 6
73574
73575
  };
73575
73576
  }
73576
73577
  isDifferentValues(firstValue, secondValue) {
@@ -75897,7 +75898,7 @@ const applyEllipsisToInput = (inputElement) => {
75897
75898
  adjustEllipsis();
75898
75899
  };
75899
75900
 
75900
- const ezTextInputCss = ":host{--ez-text-input--height:42px;--ez-text-input--width:100%;--ez-text-input__icon--width:48px;--ez-text-input--height--slim:32px;--ez-text-input__min-width:0px;--ez-text-input__max-width:100%;--ez-text-input--border-radius:var(--border--radius-medium, 12px);--ez-text-input--font-size:var(--text--medium, 14px);--ez-text-input--font-family:var(--font-pattern, Arial);--ez-text-input--font-weight:var(--text-weight--medium, 400);--ez-text-input--color:var(--title--primary, #2B3A54);--ez-text-input__input--background-color:var(--background--light, #ffffff);--ez-text-input__input--border:var(--border--small, 1px solid);--ez-text-input__input--border-color:var(--color--strokes,#DCE0E8);--ez-text-input__input--focus--border-color:var(--color--primary, #008561);--ez-text-input__input--disabled--background-color:var(--background--medium, #F0F3F7);--ez-text-input__input--disabled--color:var(--text--primary, #626E82);--ez-text-input__input--error--border-color:var(--color-alert--error-800,#BD0025);--ez-text-input__input--noborder-color:white;--ez-text-input__input--padding:var(--space--medium, 6px);--ez-text-input__placeholder--color:var(--text--secondary, #a2abb9);--ez-text-input__message_box--font-size:var(--text--extra-small, 10px);--ez-text-input__message_box--info--color:var(--color--success, #22085d);--ez-text-input__message_box--error--color:var(--color-alert--error-800,#BD0025);--ez-text-input__label--floating--top:6px;--ez-text-input__label--padding-top:12px;--ez-text-input__label--padding-left:14px;--ez-text-input__label--padding-right:12px;--ez-text-input__input--focus--icon-color:var(--title--primary, #2B3A54);--ez-text-input__input--disabled--focus--icon-color:var(--text--primary, #626E82);display:flex;flex-wrap:wrap;position:relative;width:var(--ez-text-input--width);min-width:var(--ez-text-input__min-width);max-width:var(--ez-text-input__max-width)}:host(.grid_editor){--ez-text-input--height--slim:25px}input{width:100%;box-sizing:border-box;height:var(--ez-text-input--height);border-radius:var(--ez-text-input--border-radius);font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);border:var(--ez-text-input__input--border);border-color:var(--ez-text-input__input--border-color);background-color:var(--ez-text-input__input--background-color);color:var(--ez-text-input--color);font-weight:var(--ez-text-input--font-weight);padding:var(--ez-text-input__input--padding)}input:disabled{background-color:var(--ez-text-input__input--disabled--background-color);color:var(--ez-text-input__input--disabled--color);cursor:not-allowed}input:focus{outline:none;border-color:var(--ez-text-input__input--focus--border-color)}input.icon--left{padding-left:var(--ez-text-input__icon--width)}input.icon--right{padding-right:var(--ez-text-input__icon--width)}input.hasError{color:var(--ez-text-input--color);border-color:var(--ez-text-input__input--error--border-color)}input:disabled.hasError{color:var(--ez-text-input__input--disabled--color)}input.text--right{text-align:right}input:disabled,input:read-only{cursor:not-allowed}.message-box{min-height:14px;min-width:100%;margin-top:3px;line-height:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input__message_box--font-size);color:var(--ez-text-input__message_box--info--color)}.hasError{color:var(--ez-text-input__message_box--error--color)}.input__label{box-sizing:border-box;position:absolute;z-index:var(--visible);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:font-size .05s, top .05s;transition:font-size .05s, top .05s;width:calc(100% - var(--ez-text-input__label--padding-right));left:var(--ez-text-input--space--medium);font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);font-weight:var(--ez-text-input--font-weight);color:var(--ez-text-input--color);top:var(--ez-text-input__label--padding-top);left:var(--ez-text-input__label--padding-left);padding-right:var(--ez-text-input__label--padding-right)}.input__label--floated{font-family:var(--ez-text-input--font-family);font-size:var(--text--extra-small);color:var(--text--primary);top:var(--ez-text-input__label--floating--top)}.input__label--disabled{color:var(--ez-text-input__input--disabled--color);cursor:not-allowed}.input__label--left{text-align:left;left:calc(var(--ez-text-input__icon--width) + 2px);width:calc(100% - var(--ez-text-input__icon--width))}.input__label--right{right:var(--ez-text-input__icon--width);width:calc(100% - var(--ez-text-input__icon--width))}.input__label--left.input__label--right{left:calc(var(--ez-text-input__icon--width) + 2px);width:calc(100% - var(--ez-text-input__icon--width) * 2)}.input--with--label{padding-bottom:0}.input--slim{padding-top:var(--space--small, 3px);padding-bottom:var(--space--small, 3px);height:var(--ez-text-input--height--slim)}.input__slim--title{font-size:16px;font-weight:bold}.input--slim::-webkit-input-placeholder,.input--slim:-moz-placeholder,.input--slim::-moz-placeholder,.input--slim:-ms-input-placeholder,.input--slim::placeholder{font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);font-weight:var(--ez-text-input--font-weight);color:var(--ez-text-input__placeholder--color)}.input--slim:disabled::-webkit-input-placeholder,.input--slim:disabled:-moz-placeholder,.input--slim:disabled::-moz-placeholder,.input--slim:disabled:-ms-input-placeholder,.input--slim:disabled::placeholder{color:var(--ez-text-input__input--disabled--color)}input.input__slim--noborder{box-shadow:0 0 0 0;border:0 none;outline:0;background:var(--ez-text-input__input--noborder-color)}";
75901
+ const ezTextInputCss = ":host{--ez-text-input--height:42px;--ez-text-input--width:100%;--ez-text-input__icon--width:48px;--ez-text-input--height--slim:32px;--ez-text-input__min-width:0px;--ez-text-input__max-width:100%;--ez-text-input--border-radius:var(--border--radius-medium, 12px);--ez-text-input--font-size:var(--text--medium, 14px);--ez-text-input--font-family:var(--font-pattern, Arial);--ez-text-input--font-weight:var(--text-weight--medium, 400);--ez-text-input--color:var(--title--primary, #2B3A54);--ez-text-input__input--background-color:var(--background--light, #ffffff);--ez-text-input__input--border:var(--border--small, 1px solid);--ez-text-input__input--border-color:var(--color--strokes,#DCE0E8);--ez-text-input__input--focus--border-color:var(--color--primary, #008561);--ez-text-input__input--disabled--background-color:var(--background--medium, #F0F3F7);--ez-text-input__input--disabled--color:var(--text--primary, #626E82);--ez-text-input__input--error--border-color:var(--color-alert--error-800,#BD0025);--ez-text-input__input--noborder-color:white;--ez-text-input__input--padding:var(--space--medium, 6px);--ez-text-input__placeholder--color:var(--text--secondary, #a2abb9);--ez-text-input__tooltip_icon--error--color:var(--color-alert--error-800,#BD0025);--ez-text-input__label--floating--top:6px;--ez-text-input__label--padding-top:12px;--ez-text-input__label--padding-left:14px;--ez-text-input__label--padding-right:12px;--ez-text-input__input--focus--icon-color:var(--title--primary, #2B3A54);--ez-text-input__input--disabled--focus--icon-color:var(--text--primary, #626E82);--ez-text-input__tooltip-icon--spacing:var(--space--large);--ez-text-input__tooltip-icon---width:var(--space--large);--ez-text-input__tooltip-icon---horizontal-margin:var(--space--medium, 12px);--ez-text-input__tooltip-icon---vertical-margin:10px;display:flex;flex-wrap:wrap;position:relative;width:var(--ez-text-input--width);min-width:var(--ez-text-input__min-width);max-width:var(--ez-text-input__max-width)}:host(.grid_editor){--ez-text-input--height--slim:25px}input{width:100%;box-sizing:border-box;height:var(--ez-text-input--height);border-radius:var(--ez-text-input--border-radius);font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);border:var(--ez-text-input__input--border);border-color:var(--ez-text-input__input--border-color);background-color:var(--ez-text-input__input--background-color);color:var(--ez-text-input--color);font-weight:var(--ez-text-input--font-weight);padding:var(--ez-text-input__input--padding)}input:disabled{background-color:var(--ez-text-input__input--disabled--background-color);color:var(--ez-text-input__input--disabled--color);cursor:not-allowed}input:focus{outline:none;border-color:var(--ez-text-input__input--focus--border-color)}input.icon--left{padding-left:var(--ez-text-input__icon--width)}input.icon--left.hasError{padding-right:var(--ez-text-input__icon--width)}input.icon--right{padding-right:var(--ez-text-input__icon--width)}input.icon--right.hasError{padding-right:calc(var(--ez-text-input__icon--width) + var(--ez-text-input__tooltip-icon--spacing))}input.hasError{color:var(--ez-text-input--color);border-color:var(--ez-text-input__input--error--border-color);padding-right:calc(var(--ez-text-input__tooltip-icon---width) + (2*var(--ez-text-input__tooltip-icon---horizontal-margin)))}input:disabled.hasError{color:var(--ez-text-input__input--disabled--color)}input.text--right{text-align:right}input:disabled,input:read-only{cursor:not-allowed}.hasError{color:var(--ez-text-input__tooltip_icon--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.hasError{width:calc(100% - 2*(var(--ez-text-input__tooltip-icon--spacing)))}.input__label--floated{font-family:var(--ez-text-input--font-family);font-size:var(--text--extra-small);color:var(--text--primary);top:var(--ez-text-input__label--floating--top)}.input__label--disabled{color:var(--ez-text-input__input--disabled--color);cursor:not-allowed}.input__label--left{text-align:left;left:calc(var(--ez-text-input__icon--width) + 2px);width:calc(100% - var(--ez-text-input__icon--width))}.input__label--left.hasError{width:calc(100% - var(--ez-text-input__icon--width) - var(--ez-text-input__tooltip-icon--spacing))}.input__label--right{right:var(--ez-text-input__icon--width);width:calc(100% - var(--ez-text-input__icon--width))}.input__label--right.hasError{width:calc(100% - var(--ez-text-input__icon--width) - var(--ez-text-input__tooltip-icon--spacing))}.input__label--left.input__label--right{left:calc(var(--ez-text-input__icon--width) + 2px);width:calc(100% - var(--ez-text-input__icon--width) * 2)}.input--with--label{padding-bottom:0}.input--slim{padding-top:var(--space--small, 3px);padding-bottom:var(--space--small, 3px);height:var(--ez-text-input--height--slim)}.input__slim--title{font-size:16px;font-weight:bold}.input--slim::-webkit-input-placeholder,.input--slim:-moz-placeholder,.input--slim::-moz-placeholder,.input--slim:-ms-input-placeholder,.input--slim::placeholder{font-family:var(--ez-text-input--font-family);font-size:var(--ez-text-input--font-size);font-weight:var(--ez-text-input--font-weight);color:var(--ez-text-input__placeholder--color)}.input--slim:disabled::-webkit-input-placeholder,.input--slim:disabled:-moz-placeholder,.input--slim:disabled::-moz-placeholder,.input--slim:disabled:-ms-input-placeholder,.input--slim:disabled::placeholder{color:var(--ez-text-input__input--disabled--color)}input.input__slim--noborder{box-shadow:0 0 0 0;border:0 none;outline:0;background:var(--ez-text-input__input--noborder-color)}ez-icon.tooltip-icon{position:absolute;display:flex;align-items:center;justify-content:center;overflow:hidden;width:var(--ez-text-input__tooltip-icon---width);height:22px;margin:var(--ez-text-input__tooltip-icon---vertical-margin) var(--ez-text-input__tooltip-icon---horizontal-margin);top:0;right:0;z-index:var(--elevation--4);border-radius:var(--ez-text-input--border-radius)}ez-icon.tooltip-icon.rightIconSlot{right:var(--ez-text-input__tooltip-icon--spacing)}ez-icon.tooltip-icon.hasError{--ez-icon--color:var(--ez-text-input__tooltip_icon--error--color)}";
75901
75902
 
75902
75903
  const EzTextInput$1 = class extends HTMLElement$1 {
75903
75904
  constructor() {
@@ -75917,18 +75918,19 @@ const EzTextInput$1 = class extends HTMLElement$1 {
75917
75918
  this.noBorder = false;
75918
75919
  this.password = false;
75919
75920
  this.autoFocus = false;
75921
+ this.hasRightSlotContent = false;
75920
75922
  }
75921
75923
  observeErrorMessage() {
75922
75924
  if (this._inputElem) {
75923
75925
  this.isInvalid().then((hasError) => {
75924
- var _a, _b;
75926
+ var _a;
75925
75927
  if (hasError) {
75926
75928
  this._inputElem.classList.add("hasError");
75927
- (_a = this._messageBoxElem) === null || _a === void 0 ? void 0 : _a.classList.add("hasError");
75929
+ (_a = this._tooltipPositioningObserver) === null || _a === void 0 ? void 0 : _a.observe(this._inputElem);
75928
75930
  }
75929
75931
  else {
75930
75932
  this._inputElem.classList.remove("hasError");
75931
- (_b = this._messageBoxElem) === null || _b === void 0 ? void 0 : _b.classList.remove("hasError");
75933
+ this.removeGlobalTooltip();
75932
75934
  }
75933
75935
  });
75934
75936
  }
@@ -76092,8 +76094,10 @@ const EzTextInput$1 = class extends HTMLElement$1 {
76092
76094
  this.controlChangeValue();
76093
76095
  }
76094
76096
  handleSlotChange(ev) {
76097
+ var _a;
76095
76098
  const slot = ev.target;
76096
76099
  const content = slot.assignedElements()[0];
76100
+ this.hasRightSlotContent = false;
76097
76101
  if (content) {
76098
76102
  content.style.position = "absolute";
76099
76103
  content.style.display = "flex";
@@ -76119,6 +76123,10 @@ const EzTextInput$1 = class extends HTMLElement$1 {
76119
76123
  if (this._labelElem) {
76120
76124
  this._labelElem.classList.add("input__label--right");
76121
76125
  }
76126
+ if (this._tooltipIconElem) {
76127
+ this._tooltipIconElem.classList.add("rightIconSlot");
76128
+ }
76129
+ this.hasRightSlotContent = ((_a = content.children) === null || _a === void 0 ? void 0 : _a.length) > 0;
76122
76130
  }
76123
76131
  slot.name && ElementIDUtils.addIDInfo(content, slot.name);
76124
76132
  }
@@ -76130,26 +76138,39 @@ const EzTextInput$1 = class extends HTMLElement$1 {
76130
76138
  }
76131
76139
  this.adjustColorContentSlot("var(--ez-text-input__input--focus--icon-color)");
76132
76140
  }
76141
+ renderGlobalTooltip() {
76142
+ const tooltip = document.createElement('ez-tooltip');
76143
+ tooltip.errorMessage = this.errorMessage;
76144
+ tooltip.anchoringElement = this._tooltipIconElem;
76145
+ document.body.appendChild(tooltip);
76146
+ this._tooltipElem = tooltip;
76147
+ }
76148
+ removeGlobalTooltip() {
76149
+ var _a;
76150
+ if (!this._tooltipElem)
76151
+ return;
76152
+ this._tooltipElem.remove();
76153
+ this._tooltipElem = undefined;
76154
+ (_a = this._tooltipPositioningObserver) === null || _a === void 0 ? void 0 : _a.unobserve(this._inputElem);
76155
+ }
76156
+ createTooltipPositioningObserver() {
76157
+ const observer = new ResizeObserver(() => {
76158
+ if (!this._tooltipElem)
76159
+ return;
76160
+ if (!this._tooltipIconElem)
76161
+ return;
76162
+ clearTimeout(this._observerDebounceTimeout);
76163
+ this._observerDebounceTimeout = setTimeout(async () => {
76164
+ if (this._tooltipElem) {
76165
+ await this._tooltipElem.positionTooltip();
76166
+ }
76167
+ }, 200);
76168
+ });
76169
+ this._tooltipPositioningObserver = observer;
76170
+ }
76133
76171
  //---------------------------------------------
76134
76172
  // Lifecycle web component
76135
76173
  //---------------------------------------------
76136
- componentDidLoad() {
76137
- this.observeErrorMessage();
76138
- this.observeMask();
76139
- this.adjustFloatingLabel();
76140
- this.adjustBorderInput();
76141
- if (this.autoFocus) {
76142
- requestAnimationFrame(() => {
76143
- this.setFocus({ selectText: true });
76144
- });
76145
- }
76146
- this._inputElem.addEventListener('focus', () => {
76147
- this._inputElem.setSelectionRange(0, this._inputElem.value.length);
76148
- });
76149
- if (this._inputElem) {
76150
- applyEllipsisToInput(this._inputElem);
76151
- }
76152
- }
76153
76174
  componentWillLoad() {
76154
76175
  this.observeMask();
76155
76176
  if (this.value) {
@@ -76172,12 +76193,52 @@ const EzTextInput$1 = class extends HTMLElement$1 {
76172
76193
  }
76173
76194
  }
76174
76195
  }
76196
+ componentDidLoad() {
76197
+ var _a, _b;
76198
+ this.observeErrorMessage();
76199
+ this.observeMask();
76200
+ this.adjustFloatingLabel();
76201
+ this.adjustBorderInput();
76202
+ if (this.autoFocus) {
76203
+ requestAnimationFrame(() => {
76204
+ this.setFocus({ selectText: true });
76205
+ });
76206
+ }
76207
+ (_a = this._inputElem) === null || _a === void 0 ? void 0 : _a.addEventListener('focus', () => {
76208
+ var _a;
76209
+ this._inputElem.setSelectionRange(0, (_a = this._inputElem) === null || _a === void 0 ? void 0 : _a.value.length);
76210
+ });
76211
+ this.createTooltipPositioningObserver();
76212
+ if (this._inputElem) {
76213
+ (_b = this._tooltipPositioningObserver) === null || _b === void 0 ? void 0 : _b.observe(this._inputElem);
76214
+ applyEllipsisToInput(this._inputElem);
76215
+ }
76216
+ }
76217
+ componentDidRender() {
76218
+ if (this._tooltipIconElem && !this._tooltipElem) {
76219
+ this.renderGlobalTooltip();
76220
+ }
76221
+ }
76222
+ componentDidUpdate() {
76223
+ if (this._tooltipIconElem && this._tooltipElem) {
76224
+ this._tooltipElem.positionTooltip();
76225
+ }
76226
+ }
76227
+ disconnectedCallback() {
76228
+ if (this._tooltipPositioningObserver) {
76229
+ this._tooltipPositioningObserver.disconnect();
76230
+ }
76231
+ if (this._observerDebounceTimeout) {
76232
+ clearTimeout(this._observerDebounceTimeout);
76233
+ }
76234
+ this.removeGlobalTooltip();
76235
+ }
76175
76236
  render() {
76176
76237
  ElementIDUtils.addIDInfoIfNotExists(this._hostElement, 'input');
76177
76238
  return (h(Host, { style: this._hostElement.classList.contains("grid_editor") ? { "height": "100%" } : null }, h("slot", { name: "leftIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } }), this.label && this.mode != "slim" ?
76178
- 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)
76179
- : null, h("input", { "data-element-id": ElementIDUtils.getInternalIDInfo("input"), onFocus: () => this.doFocus(), ref: (el) => this._inputElem = el, type: this.password ? "password" : "text", class: this.mode === "slim" ? "input--slim" : "", placeholder: this.mode === "slim" && this.label ? this.label : "", value: this.mask && this.cleanValueMask ? this.applyMask(this.value) : this.value, disabled: !this.enabled, onInput: () => { this.handleChange(); }, onFocusout: () => { this.handleFocusout(); } }), h("slot", { name: "rightIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } }), this.canShowError && this.mode != "slim" &&
76180
- h("span", { class: "message-box", ref: (el) => this._messageBoxElem = el, title: this.errorMessage, "data-element-id": ElementIDUtils.getInternalIDInfo("message_box") }, this.errorMessage)));
76239
+ h("label", { ref: (el) => this._labelElem = el, class: `${this.enabled ? "input__label" : "input__label input__label--disabled"} ${this.errorMessage ? "hasError" : ""}`, onClick: () => this._inputElem.focus(), title: this.label }, this.label)
76240
+ : null, h("input", { "data-element-id": ElementIDUtils.getInternalIDInfo("input"), onFocus: () => this.doFocus(), ref: (el) => this._inputElem = el, type: this.password ? "password" : "text", class: this.mode === "slim" ? "input--slim" : "", placeholder: this.mode === "slim" && this.label ? this.label : "", value: this.mask && this.cleanValueMask ? this.applyMask(this.value) : this.value, disabled: !this.enabled, onInput: () => { this.handleChange(); }, onFocusout: () => { this.handleFocusout(); } }), this.canShowError && this.mode != "slim" && this.errorMessage &&
76241
+ h("ez-icon", { class: `tooltip-icon ${this.errorMessage ? "hasError" : ""} ${this.hasRightSlotContent ? "rightIconSlot" : ""}`, "data-element-id": ElementIDUtils.getInternalIDInfo("tooltip-icon"), ref: (el) => this._tooltipIconElem = el, iconName: "alert-circle" }), h("slot", { name: "rightIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } }, " ")));
76181
76242
  }
76182
76243
  get _hostElement() { return this; }
76183
76244
  static get watchers() { return {
@@ -76450,6 +76511,55 @@ const EzToast$1 = class extends HTMLElement$1 {
76450
76511
  static get style() { return ezToastCss; }
76451
76512
  };
76452
76513
 
76514
+ const ezTooltipCss = ":host{position:absolute;z-index:var(--elevation--24);background:var(--color-alert--error-800, #BD0025);padding:var(--space--extra-small, 3px) var(--space--small, 6px);color:var(--color--inverted);border-radius:var(--border--radius-small);display:none;transform:translateX(calc(-50% + 12px)) translateY(8px)}.tooltip::after{--triangle-size:8px;content:'';right:50%;border:var(--triangle-size) solid transparent;border-bottom-color:var(--color-alert--error-800, #BD0025);position:absolute;transform:translateX(calc(50%)) translateY(-100%)}";
76515
+
76516
+ const EzTooltip$1 = class extends HTMLElement$1 {
76517
+ constructor() {
76518
+ super();
76519
+ this.__registerHost();
76520
+ this.__attachShadow();
76521
+ this.errorMessage = undefined;
76522
+ this.anchoringElement = undefined;
76523
+ }
76524
+ /**
76525
+ * TODO: Implementar a possibilidade de definir a posição do tooltip.
76526
+ */
76527
+ // @Prop() tooltipSide: 'left' | 'right' | 'top' | 'bottom' = 'bottom';
76528
+ /**
76529
+ * Reposiciona o tooltip de acordo com a posição do elemento de ancoragem.
76530
+ */
76531
+ async positionTooltip() {
76532
+ const anchorRect = this.anchoringElement.getBoundingClientRect();
76533
+ const top = (anchorRect.bottom + window.scrollY);
76534
+ const left = (anchorRect.left + window.scrollX);
76535
+ this._element.style.top = `${top}px`;
76536
+ this._element.style.left = `${left}px`;
76537
+ }
76538
+ setEvents() {
76539
+ window.addEventListener('scroll', () => {
76540
+ this.positionTooltip();
76541
+ }, { capture: true });
76542
+ window.addEventListener('resize', () => {
76543
+ this.positionTooltip();
76544
+ }, { capture: true });
76545
+ this.anchoringElement.addEventListener('mouseover', () => {
76546
+ this._element.style.display = 'block';
76547
+ });
76548
+ this.anchoringElement.addEventListener('mouseout', () => {
76549
+ this._element.style.display = 'none';
76550
+ });
76551
+ }
76552
+ componentDidLoad() {
76553
+ this.positionTooltip();
76554
+ this.setEvents();
76555
+ }
76556
+ render() {
76557
+ return (h("div", { inert: true, class: "tooltip", role: "tooltip", "data-element-id": ElementIDUtils.getInternalIDInfo("tooltip") }, this.errorMessage));
76558
+ }
76559
+ get _element() { return this; }
76560
+ static get style() { return ezTooltipCss; }
76561
+ };
76562
+
76453
76563
  const ICON_EXPANDED = "chevron-down";
76454
76564
  const ICON_COLAPSED = "chevron-right";
76455
76565
  const defaultIconResolver = (item, expanded, _level) => {
@@ -77730,9 +77840,10 @@ const EzSplitPanel = /*@__PURE__*/proxyCustomElement(SplitPanel, [0,"ez-split-pa
77730
77840
  const EzTabselector = /*@__PURE__*/proxyCustomElement(EzTabselector$1, [1,"ez-tabselector",{"selectedIndex":[1538,"selected-index"],"selectedTab":[1537,"selected-tab"],"tabs":[1],"_processedTabs":[32]}]);
77731
77841
  const EzTextArea = /*@__PURE__*/proxyCustomElement(EzTextArea$1, [1,"ez-text-area",{"label":[513],"value":[1537],"enabled":[516],"errorMessage":[1537,"error-message"],"rows":[1538],"canShowError":[516,"can-show-error"],"mode":[513],"enableResize":[516,"enable-resize"],"autoRows":[516,"auto-rows"],"autoFocus":[4,"auto-focus"]}]);
77732
77842
  const EzTextEdit = /*@__PURE__*/proxyCustomElement(EzTextEdit$1, [1,"ez-text-edit",{"value":[1],"styled":[16],"_newValue":[32]}]);
77733
- const EzTextInput = /*@__PURE__*/proxyCustomElement(EzTextInput$1, [1,"ez-text-input",{"label":[513],"value":[1537],"enabled":[516],"errorMessage":[1537,"error-message"],"mask":[1],"cleanValueMask":[4,"clean-value-mask"],"canShowError":[516,"can-show-error"],"restrict":[1],"mode":[513],"noBorder":[516,"no-border"],"password":[4],"autoFocus":[4,"auto-focus"]}]);
77843
+ const EzTextInput = /*@__PURE__*/proxyCustomElement(EzTextInput$1, [1,"ez-text-input",{"label":[513],"value":[1537],"enabled":[516],"errorMessage":[1537,"error-message"],"mask":[1],"cleanValueMask":[4,"clean-value-mask"],"canShowError":[516,"can-show-error"],"restrict":[1],"mode":[513],"noBorder":[516,"no-border"],"password":[4],"autoFocus":[4,"auto-focus"],"hasRightSlotContent":[32]}]);
77734
77844
  const EzTimeInput = /*@__PURE__*/proxyCustomElement(EzTimeInput$1, [1,"ez-time-input",{"label":[513],"value":[1026],"enabled":[516],"errorMessage":[1537,"error-message"],"showSeconds":[516,"show-seconds"],"mode":[513],"canShowError":[516,"can-show-error"],"autoFocus":[4,"auto-focus"]}]);
77735
77845
  const EzToast = /*@__PURE__*/proxyCustomElement(EzToast$1, [1,"ez-toast",{"message":[1025],"fadeTime":[1026,"fade-time"],"useIcon":[1028,"use-icon"],"canClose":[1028,"can-close"]}]);
77846
+ const EzTooltip = /*@__PURE__*/proxyCustomElement(EzTooltip$1, [1,"ez-tooltip",{"errorMessage":[1,"error-message"],"anchoringElement":[16]}]);
77736
77847
  const EzTree = /*@__PURE__*/proxyCustomElement(EzTree$1, [1,"ez-tree",{"items":[1040],"value":[1040],"selectedId":[1537,"selected-id"],"iconResolver":[16],"tooltipResolver":[16],"_tree":[32],"_waintingForLoad":[32]},[[2,"keydown","onKeyDownListener"]]]);
77737
77848
  const EzUpload = /*@__PURE__*/proxyCustomElement(EzUpload$1, [1,"ez-upload",{"label":[1],"subtitle":[1],"enabled":[4],"maxFileSize":[2,"max-file-size"],"maxFiles":[2,"max-files"],"requestHeaders":[8,"request-headers"],"urlUpload":[1,"url-upload"],"urlDelete":[1,"url-delete"],"value":[1040]}]);
77738
77849
  const EzViewStack = /*@__PURE__*/proxyCustomElement(EzViewStack$1, [0,"ez-view-stack"]);
@@ -77790,6 +77901,7 @@ const defineCustomElements = (opts) => {
77790
77901
  EzTextInput,
77791
77902
  EzTimeInput,
77792
77903
  EzToast,
77904
+ EzTooltip,
77793
77905
  EzTree,
77794
77906
  EzUpload,
77795
77907
  EzViewStack,
@@ -77803,4 +77915,4 @@ const defineCustomElements = (opts) => {
77803
77915
  }
77804
77916
  };
77805
77917
 
77806
- export { EzActionsButton, EzAlert, EzAlertList, EzApplication, EzBadge, EzBreadcrumb, EzButton, EzCalendar, EzCardItem, EzChart, EzCheck, EzChip, EzCollapsibleBox, EzComboBox, EzCustomFormInput, EzDateInput, EzDateTimeInput, EzDialog, EzDropdown, EzFileItem, EzFilterInput, EzForm, EzFormView, EzGrid, EzGuideNavigator, EzIcon, EzList, EzLoadingBar, EzModal, EzModalContainer, EzMultiSelectionList, EzNumberInput, EzPopover, EzPopup, EzRadioButton, EzScroller, EzSearch, EzSidebarButton, EzSidebarNavigator, EzSkeleton, EzSplitButton, EzSplitItem, EzSplitPanel, EzTabselector, EzTextArea, EzTextEdit, EzTextInput, EzTimeInput, EzToast, EzTree, EzUpload, EzViewStack, FilterColumn, MultiSelectionBoxMessage, defineCustomElements };
77918
+ export { EzActionsButton, EzAlert, EzAlertList, EzApplication, EzBadge, EzBreadcrumb, EzButton, EzCalendar, EzCardItem, EzChart, EzCheck, EzChip, EzCollapsibleBox, EzComboBox, EzCustomFormInput, EzDateInput, EzDateTimeInput, EzDialog, EzDropdown, EzFileItem, EzFilterInput, EzForm, EzFormView, EzGrid, EzGuideNavigator, EzIcon, EzList, EzLoadingBar, EzModal, EzModalContainer, EzMultiSelectionList, EzNumberInput, EzPopover, EzPopup, EzRadioButton, EzScroller, EzSearch, EzSidebarButton, EzSidebarNavigator, EzSkeleton, EzSplitButton, EzSplitItem, EzSplitPanel, EzTabselector, EzTextArea, EzTextEdit, EzTextInput, EzTimeInput, EzToast, EzTooltip, EzTree, EzUpload, EzViewStack, FilterColumn, MultiSelectionBoxMessage, defineCustomElements };
@@ -95,8 +95,9 @@ const EzActionsButton = class {
95
95
  var _a;
96
96
  const docWidth = document.body.clientWidth;
97
97
  const boundingList = (_a = this._actionsList) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
98
- if ((boundingList === null || boundingList === void 0 ? void 0 : boundingList.right) > docWidth) {
99
- return (docWidth - boundingList.width) + "px";
98
+ const rightOffset = docWidth - this._button.getBoundingClientRect().right;
99
+ if ((boundingList === null || boundingList === void 0 ? void 0 : boundingList.right) >= docWidth || (boundingList === null || boundingList === void 0 ? void 0 : boundingList.right) === (docWidth - rightOffset)) {
100
+ return (docWidth - boundingList.width - rightOffset) + "px";
100
101
  }
101
102
  return;
102
103
  }
@@ -182,7 +182,7 @@ const EzComboBox = class {
182
182
  return this.listOptionsPosition;
183
183
  }
184
184
  return {
185
- verticalPosition: (this.errorMessage || !this.canShowError || this.mode === "slim") ? 6 : -13
185
+ verticalPosition: 6
186
186
  };
187
187
  }
188
188
  isDifferentValues(firstValue, secondValue) {
@@ -10,7 +10,7 @@ const buildCheckBox = (field) => {
10
10
  return buildField(field.name, field.label, field.readOnly, field.contextName, false);
11
11
  };
12
12
  function buildField(fieldName, fieldLabel, readOnly, contextName, switchMode) {
13
- return (h("div", { class: "ez-col ez-col--sd-12 ez-align--middle ez-padding-horizontal--small ez-padding-bottom--large" },
13
+ return (h("div", { class: "ez-col ez-col--sd-12 ez-align--middle ez-padding-bottom--large" },
14
14
  h("ez-check", { enabled: !readOnly, label: fieldLabel, mode: switchMode ? CheckMode.SWITCH : CheckMode.REGULAR, "data-field-name": fieldName, "data-context-name": contextName, key: fieldName })));
15
15
  }
16
16
 
@@ -24,20 +24,20 @@ const buildComboBox = ({ name, label, readOnly, required, props, contextName, ca
24
24
  else {
25
25
  options = prop;
26
26
  }
27
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
27
+ return (h("div", { class: "ez-col ez-col--sd-12" },
28
28
  h("ez-combo-box", { enabled: !readOnly, suppressEmptyOption: required, label: label, "data-field-name": name, "data-context-name": contextName, key: name, options: options, canShowError: canShowError })));
29
29
  };
30
30
 
31
31
  const buildDate = ({ name, label, readOnly, canShowError }) => {
32
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
32
+ return (h("div", { class: "ez-col ez-col--sd-12" },
33
33
  h("ez-date-input", { enabled: !readOnly, label: label, "data-field-name": name, key: name, canShowError: canShowError })));
34
34
  };
35
35
  const buildTime = ({ name, label, readOnly, canShowError }) => {
36
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
36
+ return (h("div", { class: "ez-col ez-col--sd-12" },
37
37
  h("ez-time-input", { enabled: !readOnly, label: label, "data-field-name": name, key: name, canShowError: canShowError })));
38
38
  };
39
39
  const buildDateTime = ({ name, label, readOnly, contextName, canShowError }) => {
40
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
40
+ return (h("div", { class: "ez-col ez-col--sd-12" },
41
41
  h("ez-date-time-input", { enabled: !readOnly, label: label, "data-field-name": name, "data-context-name": contextName, key: name, canShowError: canShowError })));
42
42
  };
43
43
 
@@ -50,7 +50,7 @@ const buildFile = ({ name, label, readOnly, contextName, props }) => {
50
50
  INTERNAL_FILENAME: props.INTERNAL_FILENAME
51
51
  })),
52
52
  });
53
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
53
+ return (h("div", { class: "ez-col ez-col--sd-12" },
54
54
  h("ez-upload", Object.assign({ enabled: !readOnly, label: label, "data-field-name": name, "data-context-name": contextName, key: name }, uploadProps))));
55
55
  };
56
56
 
@@ -64,23 +64,23 @@ const buildInteger = ({ name, label, readOnly, contextName, canShowError }) => {
64
64
  return buildNumeric(name, label, readOnly, 0, 0, contextName, canShowError);
65
65
  };
66
66
  function buildNumeric(fieldName, fieldLabel, readOnly, precision, prettyPrecision, contextName, canShowError) {
67
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
67
+ return (h("div", { class: "ez-col ez-col--sd-12 " },
68
68
  h("ez-number-input", { enabled: !readOnly, label: fieldLabel, precision: precision, prettyPrecision: prettyPrecision, "data-field-name": fieldName, "data-context-name": contextName, key: fieldName, canShowError: canShowError })));
69
69
  }
70
70
 
71
71
  const buildSearch = ({ name, label, readOnly, required, contextName, canShowError, optionLoader, props }) => {
72
72
  var _a;
73
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
73
+ return (h("div", { class: "ez-col ez-col--sd-12" },
74
74
  h("ez-search", { enabled: !readOnly, suppressEmptyOption: required, label: label, "data-field-name": name, "data-context-name": contextName, key: name, canShowError: canShowError, optionLoader: optionLoader, ignoreLimitCharsToSearch: (_a = props.ignoreLimitCharsToSearch) !== null && _a !== void 0 ? _a : false })));
75
75
  };
76
76
 
77
77
  const buildTextArea = ({ name, label, readOnly, contextName, rows, canShowError }) => {
78
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small", key: name },
78
+ return (h("div", { class: "ez-col ez-col--sd-12", key: name },
79
79
  h("ez-text-area", { enabled: !readOnly, label: label, "data-field-name": name, "data-context-name": contextName, rows: rows, canShowError: canShowError })));
80
80
  };
81
81
 
82
82
  const buildTextInput = ({ name, label, readOnly, contextName, canShowError, props }) => {
83
- return (h("div", { class: "ez-col ez-col--sd-12 ez-padding-horizontal--small" },
83
+ return (h("div", { class: "ez-col ez-col--sd-12" },
84
84
  h("ez-text-input", { label: label, "data-field-name": name, "data-context-name": contextName, key: name, enabled: !readOnly, canShowError: canShowError, mask: props === null || props === void 0 ? void 0 : props.mask, "clean-value-mask": props === null || props === void 0 ? void 0 : props.cleanValueMask })));
85
85
  };
86
86
 
@@ -140,7 +140,7 @@ class FormItems {
140
140
  }
141
141
  }
142
142
 
143
- const ezFormViewCss = ".sc-ez-form-view-h{display:flex;flex-wrap:wrap;width:100%;--ez-form-view__item--min-width:220px;--ez-form-view__item--sapce-width:5px}.form-view__content.sc-ez-form-view{display:grid;grid-template-columns:repeat(auto-fill, minmax(var(--ez-form-view__item--min-width), 1fr));gap:var(--ez-form-view__item--sapce-width);width:100%}.input-full_width.sc-ez-form-view{grid-column:1 / -1;width:100%}";
143
+ const ezFormViewCss = ".sc-ez-form-view-h{display:flex;flex-wrap:wrap;width:100%;--ez-form-view__item--min-width:220px;--ez-form-view__item--width:var(--space--small);--ez-form-view__item--padding:var(--space--small)}.form-view__content.sc-ez-form-view{display:grid;grid-template-columns:repeat(auto-fill, minmax(var(--ez-form-view__item--min-width), 1fr));gap:var(--ez-form-view__item--width);padding-inline:var(--ez-form-view__item--padding);width:100%}.input-full_width.sc-ez-form-view{grid-column:1 / -1;width:100%}";
144
144
 
145
145
  const EzFormView = class {
146
146
  constructor(hostRef) {