@sankhyalabs/ezui 1.2.0-beta.6 → 1.2.0-beta.7

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 (147) hide show
  1. package/dist/cjs/{ApplicationUtils-483c0a9e.js → ApplicationUtils-2ac1b73e.js} +2 -1
  2. package/dist/cjs/ApplicationUtils-475b50d9.js +63 -0
  3. package/dist/cjs/app-globals-3a1e7e63.js +5 -0
  4. package/dist/cjs/css-shim-3bfdba4f.js +6 -0
  5. package/dist/cjs/dom-8ac1ad03.js +75 -0
  6. package/dist/cjs/ez-actions-button.cjs.entry.js +7 -6
  7. package/dist/cjs/ez-application.cjs.entry.js +1 -1
  8. package/dist/cjs/ez-button.cjs.entry.js +1 -1
  9. package/dist/cjs/ez-calendar.cjs.entry.js +4 -4
  10. package/dist/cjs/ez-card-item.cjs.entry.js +1 -1
  11. package/dist/cjs/ez-check.cjs.entry.js +1 -1
  12. package/dist/cjs/ez-chip.cjs.entry.js +1 -1
  13. package/dist/cjs/ez-collapsible-box.cjs.entry.js +1 -1
  14. package/dist/cjs/ez-combo-box.cjs.entry.js +7 -6
  15. package/dist/cjs/ez-date-input.cjs.entry.js +6 -6
  16. package/dist/cjs/ez-date-time-input.cjs.entry.js +4 -4
  17. package/dist/cjs/ez-dialog.cjs.entry.js +1 -1
  18. package/dist/cjs/ez-filter-input.cjs.entry.js +1 -1
  19. package/dist/cjs/ez-form.cjs.entry.js +460 -49
  20. package/dist/cjs/ez-grid-config.cjs.entry.js +5 -5
  21. package/dist/cjs/ez-grid.cjs.entry.js +1153 -989
  22. package/dist/cjs/ez-icon.cjs.entry.js +3 -3
  23. package/dist/cjs/ez-list.cjs.entry.js +3 -1
  24. package/dist/cjs/ez-loading-bar.cjs.entry.js +1 -1
  25. package/dist/cjs/ez-modal.cjs.entry.js +1 -1
  26. package/dist/cjs/ez-number-input.cjs.entry.js +4 -4
  27. package/dist/cjs/ez-popover.cjs.entry.js +5 -5
  28. package/dist/cjs/ez-popup.cjs.entry.js +1 -1
  29. package/dist/cjs/ez-radio-button.cjs.entry.js +1 -1
  30. package/dist/cjs/ez-scroller.cjs.entry.js +1 -1
  31. package/dist/cjs/ez-search.cjs.entry.js +1 -1
  32. package/dist/cjs/ez-select-box.cjs.entry.js +1 -1
  33. package/dist/cjs/ez-tabselector.cjs.entry.js +2 -1
  34. package/dist/cjs/ez-text-area.cjs.entry.js +1 -1
  35. package/dist/cjs/ez-text-input.cjs.entry.js +3 -3
  36. package/dist/cjs/ez-time-input.cjs.entry.js +7 -7
  37. package/dist/cjs/ez-toast.cjs.entry.js +1 -1
  38. package/dist/cjs/ez-upload.cjs.entry.js +2 -2
  39. package/dist/cjs/ez-view-stack.cjs.entry.js +2 -1
  40. package/dist/cjs/ezui.cjs.js +112 -4
  41. package/dist/cjs/index-0ad7c3e4.js +6 -0
  42. package/dist/cjs/index-2ec1da82.js +2307 -0
  43. package/dist/cjs/index-d9c5cb88.js +3068 -0
  44. package/dist/cjs/loader.cjs.js +18 -2
  45. package/dist/cjs/shadow-css-41d9783d.js +390 -0
  46. package/dist/collection/collection-manifest.json +2 -2
  47. package/dist/collection/utils/ApplicationUtils.js +2 -1
  48. package/dist/custom-elements/index.js +3844 -967
  49. package/dist/esm/ApplicationUtils-30a69eb0.js +61 -0
  50. package/dist/esm/{ApplicationUtils-5f87ae60.js → ApplicationUtils-a4a76132.js} +2 -1
  51. package/dist/esm/app-globals-0f993ce5.js +3 -0
  52. package/dist/esm/css-shim-20dbffa5.js +4 -0
  53. package/dist/esm/dom-c5ed0ba5.js +73 -0
  54. package/dist/esm/ez-actions-button.entry.js +4 -3
  55. package/dist/esm/ez-application.entry.js +1 -1
  56. package/dist/esm/ez-button.entry.js +1 -1
  57. package/dist/esm/ez-calendar.entry.js +2 -2
  58. package/dist/esm/ez-card-item.entry.js +1 -1
  59. package/dist/esm/ez-check.entry.js +1 -1
  60. package/dist/esm/ez-chip.entry.js +1 -1
  61. package/dist/esm/ez-collapsible-box.entry.js +1 -1
  62. package/dist/esm/ez-combo-box.entry.js +4 -3
  63. package/dist/esm/ez-date-input.entry.js +2 -2
  64. package/dist/esm/ez-date-time-input.entry.js +2 -2
  65. package/dist/esm/ez-dialog.entry.js +1 -1
  66. package/dist/esm/ez-filter-input.entry.js +1 -1
  67. package/dist/esm/ez-form.entry.js +426 -15
  68. package/dist/esm/ez-grid-config.entry.js +3 -3
  69. package/dist/esm/ez-grid.entry.js +1119 -955
  70. package/dist/esm/ez-icon.entry.js +2 -2
  71. package/dist/esm/ez-list.entry.js +3 -1
  72. package/dist/esm/ez-loading-bar.entry.js +1 -1
  73. package/dist/esm/ez-modal.entry.js +1 -1
  74. package/dist/esm/ez-number-input.entry.js +2 -2
  75. package/dist/esm/ez-popover.entry.js +2 -2
  76. package/dist/esm/ez-popup.entry.js +1 -1
  77. package/dist/esm/ez-radio-button.entry.js +1 -1
  78. package/dist/esm/ez-scroller.entry.js +1 -1
  79. package/dist/esm/ez-search.entry.js +1 -1
  80. package/dist/esm/ez-select-box.entry.js +1 -1
  81. package/dist/esm/ez-tabselector.entry.js +2 -1
  82. package/dist/esm/ez-text-area.entry.js +1 -1
  83. package/dist/esm/ez-text-input.entry.js +2 -2
  84. package/dist/esm/ez-time-input.entry.js +2 -2
  85. package/dist/esm/ez-toast.entry.js +1 -1
  86. package/dist/esm/ez-upload.entry.js +2 -2
  87. package/dist/esm/ez-view-stack.entry.js +2 -1
  88. package/dist/esm/ezui.js +112 -4
  89. package/dist/esm/index-12b43518.js +3 -0
  90. package/dist/esm/index-1e9d524f.js +3031 -0
  91. package/dist/esm/index-b96183c8.js +2295 -0
  92. package/dist/esm/loader.js +18 -2
  93. package/dist/esm/shadow-css-8c625855.js +388 -0
  94. package/dist/ezui/ApplicationUtils-30a69eb0.js +61 -0
  95. package/dist/ezui/CSSVarsUtils-499b75c2.js +53 -0
  96. package/dist/ezui/DialogType-72afa679.js +8 -0
  97. package/dist/ezui/app-globals-0f993ce5.js +3 -0
  98. package/dist/ezui/css-shim-20dbffa5.js +4 -0
  99. package/dist/ezui/dom-c5ed0ba5.js +73 -0
  100. package/dist/ezui/ez-actions-button.entry.js +98 -0
  101. package/dist/ezui/ez-application.entry.js +22 -0
  102. package/dist/ezui/ez-button.entry.js +73 -0
  103. package/dist/ezui/ez-calendar.entry.js +219 -0
  104. package/dist/ezui/ez-card-item.entry.js +40 -0
  105. package/dist/ezui/ez-check.entry.js +72 -0
  106. package/dist/ezui/ez-chip.entry.js +97 -0
  107. package/dist/ezui/ez-collapsible-box.entry.js +57 -0
  108. package/dist/ezui/ez-combo-box.entry.js +439 -0
  109. package/dist/ezui/ez-date-input.entry.js +159 -0
  110. package/dist/ezui/ez-date-time-input.entry.js +214 -0
  111. package/dist/ezui/ez-dialog.entry.js +108 -0
  112. package/dist/ezui/ez-filter-input.entry.js +75 -0
  113. package/dist/ezui/ez-form.entry.js +1395 -0
  114. package/dist/ezui/ez-grid-config.entry.js +433 -0
  115. package/dist/ezui/ez-grid.entry.js +115419 -0
  116. package/dist/ezui/ez-icon.entry.js +37 -0
  117. package/dist/ezui/ez-list.entry.js +516 -0
  118. package/dist/ezui/ez-loading-bar.entry.js +24 -0
  119. package/dist/ezui/ez-modal.entry.js +67 -0
  120. package/dist/ezui/ez-number-input.entry.js +148 -0
  121. package/dist/ezui/ez-popover.entry.js +141 -0
  122. package/dist/ezui/ez-popup.entry.js +49 -0
  123. package/dist/ezui/ez-radio-button.entry.js +45 -0
  124. package/dist/ezui/ez-scroller.entry.js +101 -0
  125. package/dist/ezui/ez-search.entry.js +83 -0
  126. package/dist/ezui/ez-select-box.entry.js +18 -0
  127. package/dist/ezui/ez-tabselector.entry.js +195 -0
  128. package/dist/ezui/ez-text-area.entry.js +158 -0
  129. package/dist/ezui/ez-text-input.entry.js +235 -0
  130. package/dist/ezui/ez-time-input.entry.js +164 -0
  131. package/dist/ezui/ez-toast.entry.js +84 -0
  132. package/dist/ezui/ez-upload.entry.js +379 -0
  133. package/dist/ezui/ez-view-stack.entry.js +74 -0
  134. package/dist/ezui/ezui.esm.js +125 -1
  135. package/dist/ezui/index-12b43518.js +3 -0
  136. package/dist/ezui/index-1e9d524f.js +3031 -0
  137. package/dist/ezui/index-b96183c8.js +2295 -0
  138. package/dist/ezui/index.esm.js +1 -0
  139. package/dist/ezui/{p-72ab066f.entry.js → p-4eb273f8.entry.js} +1 -1
  140. package/dist/ezui/p-adbe4188.js +1 -0
  141. package/dist/ezui/{p-6cfe20a0.entry.js → p-af43be42.entry.js} +1 -1
  142. package/dist/ezui/{p-47e06040.entry.js → p-c9d2060e.entry.js} +1 -1
  143. package/dist/ezui/{p-3ae441ec.entry.js → p-d836f546.entry.js} +1 -1
  144. package/dist/ezui/{p-7fe1ac9a.entry.js → p-e55fc20f.entry.js} +1 -1
  145. package/dist/ezui/shadow-css-8c625855.js +388 -0
  146. package/package.json +1 -1
  147. package/dist/ezui/p-898b9906.js +0 -1
@@ -0,0 +1,214 @@
1
+ import { r as registerInstance, e as createEvent, h, f as Host, g as getElement } from './index-1e9d524f.js';
2
+ import { T as TimeFormatter, e as DateUtils } from './index-b96183c8.js';
3
+ import { C as CSSVarsUtils } from './CSSVarsUtils-499b75c2.js';
4
+
5
+ const ezDateTimeInputCss = ":host{display:block;width:100%;--ez-date-input__input--background-color:var(--background--medium, #e0e0e0);--ez-date-input__input--border-color:var(--ez-date-input__input--background-color);--ez-date-input__calendar-image:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" height=\"16px\" width=\"15px\"><path d=\"M 3.171875,5.25 C 2.6485088,5.25 2.21875,5.6797588 2.21875,6.203125 2.21875,6.7264912 2.6485088,7.15625 3.171875,7.15625 3.6952412,7.15625 4.125,6.7264912 4.125,6.203125 4.125,5.6797588 3.6952412,5.25 3.171875,5.25 Z m 2.875,0 C 5.5235088,5.25 5.09375,5.6797588 5.09375,6.203125 5.09375,6.7264912 5.5235088,7.15625 6.046875,7.15625 6.5702412,7.15625 7,6.7264912 7,6.203125 7,5.6797588 6.5702412,5.25 6.046875,5.25 Z m 2.875,0 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.953125 0.953125,0.953125 0.5233662,0 0.9511719,-0.4297588 0.9511719,-0.953125 C 9.8730469,5.6797588 9.4452412,5.25 8.921875,5.25 Z m 2.873047,0 c -0.523366,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.429759,0.953125 0.953125,0.953125 0.523366,0 0.953125,-0.4297588 0.953125,-0.953125 C 12.748047,5.6797588 12.318288,5.25 11.794922,5.25 Z M 3.171875,8.1230469 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.9531251 0.953125,0.9531251 0.5233662,0 0.953125,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.875,0 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.9531251 0.953125,0.9531251 C 6.5702412,10.029297 7,9.5995381 7,9.0761719 7,8.5528057 6.5702412,8.1230469 6.046875,8.1230469 Z m 2.8554688,0 c -0.5233663,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297587,0.9531251 0.953125,0.9531251 0.5233661,0 0.9531249,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.9003902,0 c -0.523366,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.429759,0.9531251 0.953125,0.9531251 0.523367,0 0.953125,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.429758,-0.953125 -0.953125,-0.953125 z M 3.171875,10.998047 c -0.5233662,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297588,0.953125 0.953125,0.953125 0.5233662,0 0.953125,-0.429759 0.953125,-0.953125 0,-0.523366 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.875,0 c -0.5233662,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297588,0.953125 0.953125,0.953125 C 6.5702412,12.904297 7,12.474538 7,11.951172 7,11.427806 6.5702412,10.998047 6.046875,10.998047 Z m 2.8554688,0 c -0.5233663,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297587,0.953125 0.953125,0.953125 0.5233661,0 0.9531249,-0.429759 0.953125,-0.953125 0,-0.523366 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.9003902,0 c -0.523366,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.429759,0.953125 0.953125,0.953125 0.523367,0 0.953125,-0.429759 0.953125,-0.953125 0,-0.523366 -0.429758,-0.953125 -0.953125,-0.953125 z M 3.5,0 c -0.554,0 -1,0.446 -1,1 v 0.050781 C 1.0853217,1.2909766 0,2.5186658 0,4 v 9 c 0,1.652487 1.3475134,3 3,3 h 9 c 1.652487,0 3,-1.347513 3,-3 V 4 C 15,2.5186658 13.914678,1.2909766 12.5,1.0507812 V 1 c 0,-0.554 -0.446,-1 -1,-1 -0.554,0 -1,0.446 -1,1 h -2 c 0,-0.554 -0.446,-1 -1,-1 -0.554,0 -1,0.446 -1,1 h -2 C 4.5,0.446 4.054,0 3.5,0 Z m 1,2.0996094 h 2 v 0.640625 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 v -0.640625 h 2 v 0.640625 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 V 2.1738281 C 13.311725,2.3905225 13.900391,3.11278 13.900391,4 v 9 c 0,1.062113 -0.838278,1.900391 -1.900391,1.900391 H 3 C 1.9378864,14.900391 1.0996094,14.062113 1.0996094,13 V 4 C 1.0996094,3.11278 1.6882747,2.3905225 2.5,2.1738281 v 0.5664063 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 z\"/></svg>')}.btn-open-cal{outline:none;border:none;background-color:unset;cursor:pointer}.btn-open-cal:disabled{cursor:unset}.btn-open-cal::after{content:'';display:flex;background-color:var(--text--primary, #008561);width:15px;height:16px;-webkit-mask-image:var(--ez-date-input__calendar-image);mask-image:var(--ez-date-input__calendar-image)}.btn-open-cal:disabled:after{background-color:var(--text--disable, #AFB6C0)}.btn-open-cal:enabled:hover::after{background-color:var(--color--primary, #4e4e4e)}ez-text-input{--text-input__input--background-color:var(--ez-date-input__input--background-color, #FFFFFF);--text-input__input--border-color:var(--ez-date-input__input--border-color, #DCE0E8)}";
6
+
7
+ let EzDateTimeInput = class {
8
+ constructor(hostRef) {
9
+ registerInstance(this, hostRef);
10
+ this.ezChange = createEvent(this, "ezChange", 7);
11
+ this.ezStartChange = createEvent(this, "ezStartChange", 7);
12
+ this.ezCancelWaitingChange = createEvent(this, "ezCancelWaitingChange", 7);
13
+ this._focused = false;
14
+ /**
15
+ * Deixa o campo disponível ou não para uso.
16
+ */
17
+ this.enabled = true;
18
+ /**
19
+ * Exibe ou não os segundos no input
20
+ */
21
+ this.showSeconds = false;
22
+ /**
23
+ * Define o modo do tamanho do campo; opções: slim e regular.
24
+ */
25
+ this.mode = "regular";
26
+ }
27
+ observeLabel() {
28
+ if (this._textInput) {
29
+ this._textInput.label = this.label;
30
+ }
31
+ }
32
+ observeErrorMessage() {
33
+ var _a;
34
+ if (this._textInput) {
35
+ this._textInput.errorMessage = this.errorMessage;
36
+ if (!((_a = this.errorMessage) === null || _a === void 0 ? void 0 : _a.trim())) {
37
+ this.setInputValue();
38
+ }
39
+ }
40
+ }
41
+ observeValue(newValue, oldValue) {
42
+ if (this._textInput && newValue != oldValue) {
43
+ const newValueValidated = this.validateValue(newValue);
44
+ const oldValueValidated = this.validateValue(oldValue);
45
+ if ((newValueValidated === null || newValueValidated === void 0 ? void 0 : newValueValidated.getTime()) !== (oldValueValidated === null || oldValueValidated === void 0 ? void 0 : oldValueValidated.getTime())) {
46
+ const textValue = this.getTextValue(newValueValidated) || '';
47
+ const parsedDate = this.getParsedDateTime(textValue);
48
+ if ((parsedDate || !this._focused) && (this._textInput.value || '') !== textValue) {
49
+ this._textInput.value = textValue;
50
+ this._focused = false;
51
+ this.errorMessage = "";
52
+ }
53
+ const valueEmitted = newValueValidated === null ? undefined : newValueValidated;
54
+ this.ezChange.emit(valueEmitted);
55
+ }
56
+ }
57
+ }
58
+ /**
59
+ * Realiza o foco no componente de datetime
60
+ */
61
+ async setFocus() {
62
+ this._textInput.setFocus();
63
+ }
64
+ /**
65
+ * Remove o foco no componente de datetime
66
+ */
67
+ async setBlur() {
68
+ this._textInput.setBlur();
69
+ }
70
+ /**
71
+ * Retorna informando se o campo está inválido (true | false)
72
+ */
73
+ async isInvalid() {
74
+ return typeof this.errorMessage === "string" && this.errorMessage.trim() !== "";
75
+ }
76
+ handleKeyDown(event) {
77
+ const input = this._textInput.shadowRoot.querySelector('input');
78
+ if (event.shiftKey && event.key === "Tab") {
79
+ if (input.selectionStart > 0) {
80
+ let selectIni = input.value.lastIndexOf(" ", input.selectionStart);
81
+ if (selectIni !== -1) {
82
+ input.setSelectionRange(0, selectIni);
83
+ event.preventDefault();
84
+ }
85
+ }
86
+ }
87
+ else if (event.key === "Tab") {
88
+ if (input.value.length !== input.selectionEnd) {
89
+ let selectIni = input.value.indexOf(" ", input.selectionEnd);
90
+ selectIni = selectIni === -1 ? input.selectionEnd : selectIni + 1;
91
+ input.setSelectionRange(selectIni, input.value.length);
92
+ event.preventDefault();
93
+ }
94
+ }
95
+ }
96
+ handleFocus() {
97
+ const input = this._textInput.shadowRoot.querySelector('input');
98
+ if (input.selectionStart !== input.selectionEnd) {
99
+ let selectIni = input.value.indexOf(" ", input.selectionStart);
100
+ selectIni = selectIni === -1 ? input.value.length : selectIni;
101
+ input.setSelectionRange(0, selectIni);
102
+ }
103
+ }
104
+ handleClick() {
105
+ const input = this._textInput.shadowRoot.querySelector('input');
106
+ let selectIni = input.value.lastIndexOf(" ", input.selectionEnd);
107
+ selectIni = selectIni === -1 ? 0 : selectIni + 1;
108
+ selectIni = selectIni > input.selectionEnd ? 0 : selectIni;
109
+ let selectFin = selectIni === 0 ? input.value.indexOf(" ") : input.value.length;
110
+ input.setSelectionRange(selectIni, selectFin);
111
+ }
112
+ changeValue(newValue) {
113
+ const currentValue = this.validateValue(this.value);
114
+ const newValueValidated = this.validateValue(newValue);
115
+ if ((currentValue === null || currentValue === void 0 ? void 0 : currentValue.getTime()) !== (newValueValidated === null || newValueValidated === void 0 ? void 0 : newValueValidated.getTime())) {
116
+ this.value = newValueValidated;
117
+ }
118
+ }
119
+ showCalendar() {
120
+ const top = this.errorMessage || this.mode === "slim" ? 0 : -19;
121
+ this._calendar.fitVertical(top, this._elem.clientHeight);
122
+ this._calendar.style.visibility = 'inherit';
123
+ }
124
+ getParsedDateTime(strValue) {
125
+ var _a, _b;
126
+ if (strValue === void 0) {
127
+ strValue = (((_b = (_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.trim()) || "");
128
+ }
129
+ if (!strValue) {
130
+ return;
131
+ }
132
+ const partsDateTime = strValue.split(" ");
133
+ const onlyDate = partsDateTime.length > 0 ? partsDateTime[0] : strValue;
134
+ const onlyTime = partsDateTime[1] ? partsDateTime[1] : "";
135
+ const parsedTime = TimeFormatter.prepareValue(onlyTime, this.showSeconds);
136
+ const strDateTime = onlyDate + (parsedTime && " " + parsedTime);
137
+ return DateUtils.strToDate(strDateTime);
138
+ }
139
+ handleBlur() {
140
+ var _a, _b;
141
+ const strValue = ((_b = (_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.trim()) || "";
142
+ const newValue = this.getParsedDateTime();
143
+ if (newValue || !strValue) {
144
+ this.errorMessage = "";
145
+ const currentValue = this.validateValue(this.value);
146
+ const newValueValidated = this.validateValue(newValue);
147
+ if ((currentValue === null || currentValue === void 0 ? void 0 : currentValue.getTime()) === (newValueValidated === null || newValueValidated === void 0 ? void 0 : newValueValidated.getTime())) {
148
+ if (newValueValidated) {
149
+ this._textInput.value = this.getTextValue(newValueValidated) || '';
150
+ this._focused = false;
151
+ }
152
+ this.ezCancelWaitingChange.emit();
153
+ }
154
+ else {
155
+ this.changeValue(newValueValidated);
156
+ }
157
+ }
158
+ else {
159
+ this.changeValue(undefined);
160
+ this.ezCancelWaitingChange.emit();
161
+ this.errorMessage = "O valor digitado não é uma data válida";
162
+ }
163
+ }
164
+ getTextValue(d) {
165
+ const options = {
166
+ year: 'numeric', month: 'numeric', day: 'numeric',
167
+ hour: 'numeric', minute: 'numeric'
168
+ };
169
+ const optionsSecond = {
170
+ year: 'numeric', month: 'numeric', day: 'numeric',
171
+ hour: 'numeric', minute: 'numeric', second: 'numeric'
172
+ };
173
+ return d ? (new Intl.DateTimeFormat('pt-BR', this.showSeconds ? optionsSecond : options).format(d)) : undefined;
174
+ }
175
+ validateValue(value) {
176
+ return value instanceof Date && !isNaN(value.valueOf())
177
+ ? value
178
+ : undefined;
179
+ }
180
+ handleInput(event) {
181
+ const newValue = this.getParsedDateTime();
182
+ const currentValue = this.validateValue(this.value);
183
+ const newValueValidated = this.validateValue(newValue);
184
+ if ((currentValue === null || currentValue === void 0 ? void 0 : currentValue.getTime()) !== (newValueValidated === null || newValueValidated === void 0 ? void 0 : newValueValidated.getTime())) {
185
+ this._focused = true;
186
+ this.ezStartChange.emit({ waitmessage: "", blocking: false });
187
+ }
188
+ if (event['data'] === "H" || event['data'] === "h") {
189
+ this.changeValue(new Date());
190
+ }
191
+ }
192
+ setInputValue() {
193
+ const textValue = this.getTextValue(this.value) || '';
194
+ if ((this._textInput.value || '') !== textValue) {
195
+ this._textInput.value = textValue;
196
+ }
197
+ }
198
+ componentDidLoad() {
199
+ CSSVarsUtils.applyVarsTextInput(this._elem, this._textInput);
200
+ this.setInputValue();
201
+ }
202
+ render() {
203
+ return (h(Host, null, h("ez-text-input", { ref: elem => this._textInput = elem, "data-slave-mode": "true", label: this.label, restrict: "0123456789/: ", enabled: this.enabled, errorMessage: this.errorMessage, mode: this.mode, onKeyDown: event => { this.handleKeyDown(event); }, onBlur: () => this.handleBlur(), onInput: (evt) => this.handleInput(evt), onFocus: () => this.handleFocus(), onClick: () => this.handleClick() }, h("button", { disabled: !this.enabled, tabindex: -1, class: "btn-open-cal", onClick: () => this.showCalendar(), slot: "leftIcon" })), h("ez-calendar", { onEzChange: (event) => { this.changeValue(this._calendar.value); event.stopPropagation(); }, floating: true, ref: elem => this._calendar = elem, time: true, showSeconds: this.showSeconds })));
204
+ }
205
+ get _elem() { return getElement(this); }
206
+ static get watchers() { return {
207
+ "label": ["observeLabel"],
208
+ "errorMessage": ["observeErrorMessage"],
209
+ "value": ["observeValue"]
210
+ }; }
211
+ };
212
+ EzDateTimeInput.style = ezDateTimeInputCss;
213
+
214
+ export { EzDateTimeInput as ez_date_time_input };
@@ -0,0 +1,108 @@
1
+ import { r as registerInstance, e as createEvent, i as forceUpdate, h } from './index-1e9d524f.js';
2
+ import { D as DialogType } from './DialogType-72afa679.js';
3
+
4
+ const ezDialogCss = ":host{--dialog__container-padding:var(--space--large, 24px);--dialog__btn__close--background-color:var(--title--primary, #2b3a54);--dialog__btn__no--padding-right:var(--space--large, 24px);--dialog__btn__close__image:url('data:image/svg+xml;utf8,<svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" xmlns=\"http://www.w3.org/2000/svg%22%3E<path d=\"M 7.0060773,5.995511 11.461972,1.5397722 c 0.132856,-0.1328413 0.207547,-0.3130253 0.207547,-0.5009046 0,-0.18786999 -0.07469,-0.3680541 -0.207547,-0.5009048 -0.132857,-0.13284126 -0.31302,-0.20748126 -0.500927,-0.20748126 -0.187812,0 -0.36807,0.07464 -0.500926,0.20748126 L 6.0042244,4.9937015 1.5482921,0.5379628 C 1.4154357,0.40512154 1.2352533,0.33048154 1.0473657,0.33048154 c -0.18787813,0 -0.36807,0.07464 -0.50092647,0.20748126 -0.13285646,0.1328507 -0.20749026,0.31303481 -0.20749026,0.5009048 0,0.1878793 0.0746338,0.3680633 0.20749026,0.5009046 L 5.0023715,5.995511 0.54643923,10.452213 c -0.0676086,0.06534 -0.12151598,0.14352 -0.15859681,0.229916 -0.0370714,0.08639 -0.0565645,0.1794 -0.0573369,0.27335 -7.724e-4,0.09404 0.0171873,0.187331 0.0528423,0.274293 0.0356455,0.08705 0.0882688,0.166087 0.15479148,0.23256 0.0665321,0.06648 0.14562277,0.11897 0.2326735,0.154567 0.0870507,0.0356 0.18031463,0.05344 0.2743433,0.05259 0.094029,-8.5e-4 0.1869528,-0.02049 0.2733331,-0.0576 0.08639,-0.0372 0.1645078,-0.09121 0.2298029,-0.158817 L 6.0042244,6.9973204 10.460119,11.453078 c 0.132856,0.132851 0.313114,0.207444 0.500926,0.207444 0.187907,0 0.36807,-0.07459 0.500927,-0.207444 0.132856,-0.13285 0.207547,-0.313006 0.207547,-0.500904 0,-0.187898 -0.07469,-0.368054 -0.207547,-0.500905 z\"/></svg>');--dialog__title--font-pattern:var(--font-pattern, \"'Sora', 'Algerian'\");--dialog__title--padding-left:var(--space--small, 6px);--dialog__title__container--padding-bottom:var(--space--medium, 12px);--dialog__title--weight--large:var(--text-weight--large, 600);--dialog__body--font-pattern:var(--font-pattern, \"'Sora', 'Algerian'\");--dialog__body--text-shadow:var(--text-shadow, \"0 0 0 #353535, 0 0 1px transparent\");--dialog__body--text-weight--medium:var(--text-weight--medium, 400);--dialog__body--padding-bottom:var(--space--large, 24px);--dialog__body--font-size:var(--text--medium, 14px);--dialog__body--color:var(--text--primary, #626e82);--dialog__icon--color:var(--text--inverted, #fff);--dialog__critical--background-color:var(--color--alert-error-800, #BD0025);--dialog__warning--background-color:var(--color--alert-warning-500, #EFB103);--dialog-z-index:var(--most-visible, 3);--dialog--warning__image:url('data: image/svg+xml;utf8,<svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 7.5,0 0,13 h 15 z m 0,2.73684 5.1341,8.89476 H 2.36591 Z M 6.81818,5.47368 V 8.21053 H 8.18182 V 5.47368 Z m 0,4.10527 V 10.9474 H 8.18182 V 9.57895\"/></svg>');--dialog--critical__image:url('data: image/svg+xml;utf8,<svg width=\"13\" height=\"13\" viewBox=\"0 0 13 13\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 7.6534493,6.4948538 12.762051,1.3864299 C 12.914368,1.2341297 13,1.027552 13,0.81215179 13,0.59676225 12.914369,0.39018443 12.762051,0.23787352 12.609733,0.08557341 12.40318,0 12.187747,0 11.972425,0 11.765762,0.08557341 11.613445,0.23787352 L 6.5048431,5.3462975 1.3961977,0.23787352 C 1.2438802,0.08557341 1.0373043,0 0.82189458,0 0.60649572,0 0.39990901,0.08557341 0.24759147,0.23787352 0.09527396,0.39018443 0.00970766,0.59676225 0.00970766,0.81215179 c 0,0.21540021 0.0855663,0.42197791 0.23788381,0.57427811 L 5.3562369,6.4948538 0.24759147,11.604381 c -0.0775121,0.07492 -0.13931586,0.164543 -0.18182835,0.263595 -0.04250169,0.09905 -0.064850182,0.205678 -0.0657357237,0.313391 -8.8554258e-4,0.107813 0.0197049337,0.214771 0.0605827337,0.314472 0.04086693,0.0998 0.10119858,0.190415 0.17746563,0.266625 0.0762779,0.07622 0.16695386,0.136398 0.26675594,0.177208 0.099802,0.04082 0.20672745,0.06127 0.31452961,0.06029 0.1078025,-9.53e-4 0.21433799,-0.0235 0.31337139,-0.06604 0.099045,-0.04265 0.1886052,-0.104571 0.263465,-0.182081 L 6.5048431,7.6434102 11.613445,12.751855 c 0.152317,0.152312 0.35898,0.237831 0.574302,0.237831 0.215433,0 0.421986,-0.08552 0.574304,-0.237831 C 12.914368,12.599545 13,12.393 13,12.177578 13,11.962157 12.91437,11.75561 12.762051,11.603299 Z\"/></svg>')}h2{margin-block-start:0;margin-block-end:0;margin-inline-start:0px;margin-inline-end:0px}.overlay{position:fixed;display:flex;top:0px;z-index:var(--dialog-z-index);left:0px;width:100%;box-sizing:border-box;height:100vh;backdrop-filter:blur(4px);background:rgba(0, 4, 12, 0.4)}.dialog{display:flex;width:80%;position:absolute;top:50%;left:50%;margin-right:-50%;box-sizing:border-box;transform:translate(-50%, -50%);box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122)}@media screen and (min-width: 768px){.dialog{width:50%}}@media screen and (min-width: 992px){.dialog{width:33.33333%}}.dialog__container{width:100%;background:#FFFF;border-radius:0px 6px 6px 0px;box-sizing:border-box;padding:var(--dialog__container-padding)}.dialog__container--default{border-radius:6px 6px 6px 6px}.dialog__critical--indicator{box-sizing:border-box;width:12px;border-radius:6px 0px 0px 6px;background-color:var(--dialog__critical--background-color)}.dialog__warning--indicator{width:12px;border-radius:6px 0px 0px 6px;box-sizing:border-box;background-color:var(--dialog__warning--background-color)}.message{font-size:var(--dialog__body--font-size);font-weight:var(--dialog__body--text-weight--medium);font-family:var(--dialog__body--font-pattern);text-shadow:var(--dialog__body--text-shadow);padding-bottom:var(--dialog__body--padding-bottom);color:var(--dialog__body--color);max-height:30vh;content-visibility:auto;margin-bottom:24px;overflow-y:auto}.changeable__icon{background:var(--dialog__warning--background-color);--ez-icon--color:var(--dialog__icon--color);display:grid;place-items:center;width:26px;height:26px;border-radius:50%}.changeable__icon.critical{background:var(--dialog__critical--background-color)}.title{display:flex;font-family:var(--dialog__title--font-pattern);margin:0;font-weight:var(--dialog__title--weight--large);line-height:0}.title__container{display:flex;padding-bottom:var(--dialog__title__container--padding-bottom)}.title__box{display:flex;width:100%;align-items:center;align-self:center}.title__label{padding-left:var(--dialog__title--padding-left)}.title__label--no-icon{padding-left:0}.title-icon{outline:none;border:none;background-color:var(--dialog__warning--background-color);width:26px;height:26px;border-radius:100%;padding:0;display:flex;justify-content:center;align-items:center}.title-icon--critical{background-color:var(--dialog__critical--background-color)}.btn-close{justify-content:flex-end;align-self:flex-start;align-items:flex-start;display:flex;outline:none;width:10%;border:none;background-color:unset;cursor:pointer}.btn-close::after{content:'';display:flex;background-color:var(--dialog__btn__close--background-color);width:12px;height:12px;-webkit-mask-image:var(--dialog__btn__close__image);mask-image:var(--dialog__btn__close__image)}.title-icon::after{content:'';display:flex;background-color:#FFFF;width:15px;height:15px;-webkit-mask-image:var(--dialog--warning__image);mask-image:var(--dialog--warning__image)}.title-icon--critical::after{content:'';display:flex;background-color:#FFFF;width:13px;height:13px;-webkit-mask-image:var(--dialog--critical__image);mask-image:var(--dialog--critical__image)}.button-yes-no__container{display:flex;box-sizing:border-box;align-self:center;align-items:center;justify-content:flex-end}.button__cancel{padding-right:var(--dialog__btn__no--padding-right)}.button__confirm{--ez-button--background-color:var(--color--primary);--ez-button--color:var(--color--inverted);--ez-button--hover--background-color:var(--color--primary-600);--ez-button--hover-color:var(--color--inverted)}.button__confirm--danger{--ez-button--background-color:var(--color--alert-error-800, #BD0025);--ez-button--color:var(--color--inverted);--ez-button--hover--background-color:var(--color-alert--error-900, #a10020);--ez-button--hover-color:var(--color--inverted)}.button__confirm--container{display:flex;justify-content:flex-end}.row{width:100%;display:flex;flex-wrap:wrap}.col{display:flex;flex-wrap:wrap;align-self:flex-start;box-sizing:border-box}.col--stretch{align-self:stretch}.col--undefined{width:unset}.col--nowrap{flex-wrap:nowrap}@media screen and (min-width: 320px){.col--sd-1{width:8.33333%}.col--sd-2{width:16.66667%}.col--sd-3{width:25%}.col--sd-4{width:33.33333%}.col--sd-5{width:41.66667%}.col--sd-6{width:50%}.col--sd-7{width:58.33333%}.col--sd-8{width:66.66667%}.col--sd-9{width:75%}.col--sd-10{width:83.33333%}.col--sd-11{width:91.66667%}.col--sd-12{width:100%}}@media screen and (min-width: 480px){.col--pn-1{width:8.33333%}.col--pn-2{width:16.66667%}.col--pn-3{width:25%}.col--pn-4{width:33.33333%}.col--pn-5{width:41.66667%}.col--pn-6{width:50%}.col--pn-7{width:58.33333%}.col--pn-8{width:66.66667%}.col--pn-9{width:75%}.col--pn-10{width:83.33333%}.col--pn-11{width:91.66667%}.col--pn-12{width:100%}}@media screen and (min-width: 768px){.col--tb-1{width:8.33333%}.col--tb-2{width:16.66667%}.col--tb-3{width:25%}.col--tb-4{width:33.33333%}.col--tb-5{width:41.66667%}.col--tb-6{width:50%}.col--tb-7{width:58.33333%}.col--tb-8{width:66.66667%}.col--tb-9{width:75%}.col--tb-10{width:83.33333%}.col--tb-11{width:91.66667%}.col--tb-12{width:100%}}@media screen and (min-width: 992px){.col--md-1{width:8.33333%}.col--md-2{width:16.66667%}.col--md-3{width:25%}.col--md-4{width:33.33333%}.col--md-5{width:41.66667%}.col--md-6{width:50%}.col--md-7{width:58.33333%}.col--md-8{width:66.66667%}.col--md-9{width:75%}.col--md-10{width:83.33333%}.col--md-11{width:91.66667%}.col--md-12{width:100%}}@media screen and (min-width: 1200px){.col--ld-1{width:8.33333%}.col--ld-2{width:16.66667%}.col--ld-3{width:25%}.col--ld-4{width:33.33333%}.col--ld-5{width:41.66667%}.col--ld-6{width:50%}.col--ld-7{width:58.33333%}.col--ld-8{width:66.66667%}.col--ld-9{width:75%}.col--ld-10{width:83.33333%}.col--ld-11{width:91.66667%}.col--ld-12{width:100%}}";
5
+
6
+ class Message {
7
+ constructor(title, message, dialogType, confirm, icon, labelCancel, labelConfirm, btnConfirmDanger, callBack) {
8
+ this.title = title;
9
+ this.message = message;
10
+ this.dialogType = dialogType;
11
+ this.confirm = confirm;
12
+ this.icon = icon;
13
+ this.labelCancel = labelCancel;
14
+ this.labelConfirm = labelConfirm;
15
+ this.btnConfirmDanger = btnConfirmDanger;
16
+ this.callBack = callBack;
17
+ }
18
+ }
19
+ let EzDialog = class {
20
+ constructor(hostRef) {
21
+ registerInstance(this, hostRef);
22
+ this.ezCancel = createEvent(this, "ezCancel", 7);
23
+ this.ezAccept = createEvent(this, "ezAccept", 7);
24
+ this.labelConfirm = 'Sim';
25
+ this.labelCancel = 'Não';
26
+ this.btnConfirmDanger = false;
27
+ /**
28
+ * Define se o componente será utilizado no modo de confirmação.
29
+ */
30
+ this.confirm = false;
31
+ /**
32
+ * Controla a exibição do componente
33
+ */
34
+ this.opened = false;
35
+ this._messageQueue = [];
36
+ }
37
+ /**
38
+ * Lida com o clique nos botões de dentro do componente.
39
+ */
40
+ async handleButtonClick(selectedOption) {
41
+ this.opened = this._messageQueue.length > 0;
42
+ if (this._currentMessage.callBack) {
43
+ this._currentMessage.callBack(selectedOption);
44
+ }
45
+ else {
46
+ selectedOption ? this.ezAccept.emit(selectedOption) : this.ezCancel.emit(selectedOption);
47
+ }
48
+ this._currentMessage = this._messageQueue.shift();
49
+ forceUpdate(this);
50
+ }
51
+ /**
52
+ * Faz com que o componente seja exibido.
53
+ */
54
+ async show(title, message, dialogType, confirm, icon, labelCancel, labelConfirm, btnConfirmDanger) {
55
+ this.opened = true;
56
+ return new Promise(resolve => {
57
+ this._messageQueue.push(new Message(title, message, dialogType, confirm, icon, labelCancel, labelConfirm, btnConfirmDanger, resolve));
58
+ });
59
+ }
60
+ isCritical(dialogType) {
61
+ return dialogType === DialogType.CRITICAL;
62
+ }
63
+ getIconElement(message) {
64
+ if (message.icon) {
65
+ return h("ez-icon", { class: this.isCritical(message.dialogType) ? "changeable__icon critical" : "changeable__icon", size: "small", iconName: message.icon });
66
+ }
67
+ if (message.dialogType === DialogType.DEFAULT) {
68
+ return;
69
+ }
70
+ return h("div", { class: this.isCritical(message.dialogType) ? "title-icon title-icon--critical" : "title-icon" });
71
+ }
72
+ getTypeIndicatorElement(message) {
73
+ if (message.dialogType === DialogType.DEFAULT) {
74
+ return;
75
+ }
76
+ return h("div", { class: this.isCritical(message.dialogType) ? "dialog__critical--indicator" : "dialog__warning--indicator" });
77
+ }
78
+ getClassContainer(message) {
79
+ const type = message.dialogType || DialogType.DEFAULT;
80
+ return type === DialogType.DEFAULT ? "dialog__container dialog__container--default" : "dialog__container";
81
+ }
82
+ getClassTitleLabel(message) {
83
+ return this.getIconElement(message) == undefined ? "title title__label title__label--no-icon" : "title title__label";
84
+ }
85
+ componentWillRender() {
86
+ if (!this._currentMessage) {
87
+ if (this._messageQueue.length > 0) {
88
+ this._currentMessage = this._messageQueue.pop();
89
+ }
90
+ else {
91
+ if (this.opened) {
92
+ this._currentMessage = new Message(this.ezTitle, this.message, this.dialogType, this.confirm, this.personalizedIconPath, this.labelCancel, this.labelConfirm, this.btnConfirmDanger, null);
93
+ }
94
+ }
95
+ }
96
+ }
97
+ render() {
98
+ if (this.opened && this._currentMessage) {
99
+ return (h("div", { class: "overlay" }, h("div", { class: "dialog" }, this.getTypeIndicatorElement(this._currentMessage), h("div", { class: this.getClassContainer(this._currentMessage) }, h("div", { class: "title__container" }, h("div", { class: "title__box" }, this.getIconElement(this._currentMessage), h("div", { class: this.getClassTitleLabel(this._currentMessage), innerHTML: this._currentMessage.title })), h("button", { class: "btn-close", onClick: () => this.handleButtonClick(false) })), h("div", { class: "message", innerHTML: this._currentMessage.message }), this._currentMessage.confirm &&
100
+ h("div", { class: "button-yes-no__container" }, h("ez-button", { class: "button__cancel", label: this._currentMessage.labelCancel, onClick: () => this.handleButtonClick(false) }), h("ez-button", { class: !this._currentMessage.btnConfirmDanger ? "button__confirm" : "button__confirm--danger", label: this._currentMessage.labelConfirm, onClick: () => this.handleButtonClick(true) })), !this._currentMessage.confirm &&
101
+ h("div", { class: "button__confirm--container" }, h("ez-button", { label: 'Ok', class: "button__confirm", onClick: () => this.handleButtonClick(true) }))))));
102
+ }
103
+ return null;
104
+ }
105
+ };
106
+ EzDialog.style = ezDialogCss;
107
+
108
+ export { EzDialog as ez_dialog };
@@ -0,0 +1,75 @@
1
+ import { r as registerInstance, e as createEvent, h, g as getElement } from './index-1e9d524f.js';
2
+ import { C as CSSVarsUtils } from './CSSVarsUtils-499b75c2.js';
3
+
4
+ const ezFilterInputCss = ":host{display:block;width:100%}";
5
+
6
+ let EzFilterInput = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.ezChange = createEvent(this, "ezChange", 7);
10
+ /**
11
+ * Deixa o campo disponível ou não para uso.
12
+ */
13
+ this.enabled = true;
14
+ /**
15
+ * Define o modo do tamanho do campo; opções: slim e regular.
16
+ */
17
+ this.mode = "regular";
18
+ }
19
+ observeLabel() {
20
+ if (this._textInput) {
21
+ this._textInput.label = this.label;
22
+ }
23
+ }
24
+ observeErrorMessage() {
25
+ if (this._textInput) {
26
+ this._textInput.errorMessage = this.errorMessage;
27
+ }
28
+ }
29
+ observeValue(newValue, oldValue) {
30
+ if (this._textInput && newValue != oldValue) {
31
+ this._textInput.value = newValue;
32
+ this.ezChange.emit(newValue);
33
+ }
34
+ }
35
+ /**
36
+ * Realiza o foco no componente de input
37
+ */
38
+ async setFocus() {
39
+ this._textInput.setFocus();
40
+ }
41
+ /**
42
+ * Remove o foco no componente de input
43
+ */
44
+ async setBlur() {
45
+ this._textInput.setBlur();
46
+ }
47
+ /**
48
+ * Retorna informando se o campo está inválido (true | false)
49
+ */
50
+ async isInvalid() {
51
+ return typeof this.errorMessage === "string" && this.errorMessage.trim() !== "";
52
+ }
53
+ changeValue(evt) {
54
+ const newValue = evt.detail;
55
+ this.errorMessage = "";
56
+ if (newValue !== this.value) {
57
+ this.value = newValue;
58
+ }
59
+ }
60
+ componentDidLoad() {
61
+ CSSVarsUtils.applyVarsTextInput(this._elem, this._textInput);
62
+ }
63
+ render() {
64
+ return (h("ez-text-input", { ref: elem => this._textInput = elem, label: this.label, onEzChange: evt => this.changeValue(evt), value: this.value, enabled: this.enabled, errorMessage: this.errorMessage, restrict: this.restrict, loading: this.loading, mode: this.mode }, h("ez-icon", { slot: "leftIcon", iconName: "search" })));
65
+ }
66
+ get _elem() { return getElement(this); }
67
+ static get watchers() { return {
68
+ "label": ["observeLabel"],
69
+ "errorMessage": ["observeErrorMessage"],
70
+ "value": ["observeValue"]
71
+ }; }
72
+ };
73
+ EzFilterInput.style = ezFilterInputCss;
74
+
75
+ export { EzFilterInput as ez_filter_input };