@sankhyalabs/ezui 1.1.67 → 1.1.70
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.
- package/dist/cjs/ez-action-chip.cjs.entry.js +1 -1
- package/dist/cjs/ez-button_16.cjs.entry.js +133 -144
- package/dist/cjs/ez-dialog.cjs.entry.js +7 -1
- package/dist/cjs/ez-modal.cjs.entry.js +16 -69
- package/dist/cjs/ez-number-input.cjs.entry.js +9 -9
- package/dist/cjs/ez-popover.cjs.entry.js +13 -18
- package/dist/cjs/ez-popup.cjs.entry.js +2 -2
- package/dist/cjs/ez-time-input.cjs.entry.js +6 -6
- package/dist/cjs/ezui.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/ez-action-chip/ez-action-chip.css +2 -1
- package/dist/collection/components/ez-action-chip/ez-action-chip.js +1 -1
- package/dist/collection/components/ez-button/ez-button.css +48 -45
- package/dist/collection/components/ez-button/ez-button.js +5 -5
- package/dist/collection/components/ez-calendar/ez-calendar.css +2 -2
- package/dist/collection/components/ez-check/ez-check.css +78 -78
- package/dist/collection/components/ez-check/ez-check.js +7 -7
- package/dist/collection/components/ez-collapsible-box/ez-collapsible-box.css +2 -2
- package/dist/collection/components/ez-collapsible-box/ez-collapsible-box.js +1 -1
- package/dist/collection/components/ez-combo-box/ez-combo-box.css +46 -44
- package/dist/collection/components/ez-combo-box/ez-combo-box.js +38 -39
- package/dist/collection/components/ez-date-input/ez-date-input.js +9 -9
- package/dist/collection/components/ez-dialog/ez-dialog.css +43 -43
- package/dist/collection/components/ez-dialog/ez-dialog.js +10 -4
- package/dist/collection/components/ez-form/subcomponents/structure/Field.js +6 -6
- package/dist/collection/components/ez-form/subcomponents/structure/FormSheet.js +1 -1
- package/dist/collection/components/ez-icon/ez-icon.css +3 -1
- package/dist/collection/components/ez-icon/ez-icon.js +5 -3
- package/dist/collection/components/ez-label-chip/ez-label-chip.css +2 -1
- package/dist/collection/components/ez-label-chip/ez-label-chip.js +1 -1
- package/dist/collection/components/ez-modal/ez-modal.css +1 -1
- package/dist/collection/components/ez-modal/ez-modal.js +30 -83
- package/dist/collection/components/ez-number-input/ez-number-input.js +11 -11
- package/dist/collection/components/ez-numeric-input/ez-numeric-input.css +1 -1
- package/dist/collection/components/ez-numeric-input/ez-numeric-input.js +9 -9
- package/dist/collection/components/ez-popover/ez-popover.css +4 -5
- package/dist/collection/components/ez-popover/ez-popover.js +25 -30
- package/dist/collection/components/ez-popup/ez-popup.css +7 -7
- package/dist/collection/components/ez-popup/ez-popup.js +4 -4
- package/dist/collection/components/ez-search/ez-search.js +5 -5
- package/dist/collection/components/ez-tabselector/ez-tabselector.css +7 -10
- package/dist/collection/components/ez-tabselector/ez-tabselector.js +68 -70
- package/dist/collection/components/ez-text-area/ez-text-area.css +6 -0
- package/dist/collection/components/ez-text-area/ez-text-area.js +9 -9
- package/dist/collection/components/ez-text-input/ez-text-input.css +68 -60
- package/dist/collection/components/ez-text-input/ez-text-input.js +14 -38
- package/dist/collection/components/ez-time-input/ez-time-input.css +8 -0
- package/dist/collection/components/ez-time-input/ez-time-input.js +9 -9
- package/dist/collection/components/ez-toast/ez-toast.css +2 -2
- package/dist/collection/components/ez-upload/ez-upload.css +4 -1
- package/dist/collection/components/ez-upload/ez-upload.js +3 -3
- package/dist/custom-elements/index.js +198 -261
- package/dist/esm/ez-action-chip.entry.js +1 -1
- package/dist/esm/ez-button_16.entry.js +133 -144
- package/dist/esm/ez-dialog.entry.js +7 -1
- package/dist/esm/ez-modal.entry.js +16 -69
- package/dist/esm/ez-number-input.entry.js +9 -9
- package/dist/esm/ez-popover.entry.js +13 -18
- package/dist/esm/ez-popup.entry.js +2 -2
- package/dist/esm/ez-time-input.entry.js +6 -6
- package/dist/esm/ezui.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/ezui/ezui.esm.js +1 -1
- package/dist/ezui/p-1bc9ddad.entry.js +1 -0
- package/dist/ezui/{p-4f4b8aae.entry.js → p-1c33a56d.entry.js} +1 -1
- package/dist/ezui/{p-d8a47f23.entry.js → p-74e4415e.entry.js} +1 -1
- package/dist/ezui/p-a7e23f65.entry.js +1 -0
- package/dist/ezui/p-a88ee12f.entry.js +1 -0
- package/dist/ezui/p-b692a0ab.entry.js +1 -0
- package/dist/ezui/p-b6e0fd3e.entry.js +1 -0
- package/dist/ezui/{p-7f528c19.entry.js → p-f7d7fb7f.entry.js} +1 -1
- package/dist/types/components/ez-action-chip/ez-action-chip.d.ts +1 -1
- package/dist/types/components/ez-button/ez-button.d.ts +1 -1
- package/dist/types/components/ez-check/ez-check.d.ts +3 -3
- package/dist/types/components/ez-collapsible-box/ez-collapsible-box.d.ts +1 -1
- package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +8 -8
- package/dist/types/components/ez-date-input/ez-date-input.d.ts +2 -2
- package/dist/types/components/ez-dialog/ez-dialog.d.ts +8 -2
- package/dist/types/components/ez-icon/ez-icon.d.ts +6 -0
- package/dist/types/components/ez-label-chip/ez-label-chip.d.ts +1 -1
- package/dist/types/components/ez-modal/ez-modal.d.ts +9 -9
- package/dist/types/components/ez-number-input/ez-number-input.d.ts +1 -1
- package/dist/types/components/ez-numeric-input/ez-numeric-input.d.ts +3 -3
- package/dist/types/components/ez-popover/ez-popover.d.ts +4 -5
- package/dist/types/components/ez-popup/ez-popup.d.ts +3 -3
- package/dist/types/components/ez-search/ez-search.d.ts +3 -3
- package/dist/types/components/ez-tabselector/ez-tabselector.d.ts +19 -10
- package/dist/types/components/ez-text-area/ez-text-area.d.ts +4 -4
- package/dist/types/components/ez-text-input/ez-text-input.d.ts +4 -8
- package/dist/types/components/ez-time-input/ez-time-input.d.ts +2 -2
- package/dist/types/components/ez-upload/ez-upload.d.ts +3 -3
- package/dist/types/components.d.ts +142 -114
- package/package.json +2 -1
- package/dist/ezui/p-7c7dbfcb.entry.js +0 -1
- package/dist/ezui/p-8c8f1c00.entry.js +0 -1
- package/dist/ezui/p-afc553a4.entry.js +0 -1
- package/dist/ezui/p-d185d7e8.entry.js +0 -1
- package/dist/ezui/p-ee5058c1.entry.js +0 -1
|
@@ -2,7 +2,7 @@ import { r as registerInstance, h, c as createEvent, f as forceUpdate, H as Host
|
|
|
2
2
|
import { N as NumberUtils, M as MaskFormatter } from './RequestMetadata-c265c9d5.js';
|
|
3
3
|
import { F as FloatingManager } from './FloatingManager-bb90ef41.js';
|
|
4
4
|
|
|
5
|
-
const ezButtonCss = ":host{--
|
|
5
|
+
const ezButtonCss = ":host{--button--min-width:100px;--button--height:42px;--button__icon--width:18px;--button__inline__icon--padding:12px;--button--padding-top:var(--space--medium, 12px);--button--padding-bottom:var(--space--medium, 12px);--button--padding-right:var(--space--large, 24px);--button--padding-left:var(--space--large, 24px);--button--color:var(--text--primary, #FFF);--button--font-size:var(--text--medium, 14px);--button--font-family:var(--font-pattern, Arial);--button--font-weight:var(--text-weight--large);--button--background-color:var(--background--medium, #c0c0c0);--button--border-radius:var(--border--radius-large, 12px);--button--border:none;--button--hover--background-color:var(--background--strong, var(--button--background-color));--button--disabled-color:var(--text--disable);--button--disabled--background-color:var(--color--disable-secondary);--button--focus--border:var(--button--border);--button--focus--box-shadow:none;--button--link-color:var(--title--primary, '#C0C0C0')}button{display:flex;align-items:center;justify-content:center;margin:0;cursor:pointer;transition:background-color 0.2s linear;min-width:var(--button--min-width);height:var(--button--height);font-family:var(--button--font-family);font-size:var(--button--font-size);font-weight:var(--button--font-weight);padding:var(--button--padding-top) var(--button--padding-right) var(--button--padding-bottom) var(--button--padding-left);border-radius:var(--button--border-radius);background-color:var(--button--background-color);color:var(--button--color);fill:var(--button--color);border:var(--button--border)}button:hover{background-color:var(--button--hover--background-color)}button:focus{outline:none;border:var(--button--focus--border);box-shadow:var(--button--focus--box-shadow)}button:disabled{background-color:var(--button--disabled--background-color);color:var(--button--disabled-color);fill:var(--button--disabled-color);border:none;cursor:no-drop}button.icon{width:42px;min-width:42px;height:42px;padding:0px;--icon--color:#ffffff}a{font-family:var(--button--font-family);font-size:var(--button--font-size);font-weight:var(--button--font-weight);color:var(--button--link-color);cursor:pointer;display:flex;align-items:center;justify-content:center;}";
|
|
6
6
|
|
|
7
7
|
let EzButton = class {
|
|
8
8
|
constructor(hostRef) {
|
|
@@ -17,15 +17,15 @@ let EzButton = class {
|
|
|
17
17
|
this.mode = "regular";
|
|
18
18
|
}
|
|
19
19
|
handleSlotChange(ev) {
|
|
20
|
-
const slot = ev.target;
|
|
21
|
-
const content = slot.assignedElements()[0];
|
|
22
20
|
if (this.mode == "link") {
|
|
21
|
+
const slot = ev.target;
|
|
22
|
+
const content = slot.assignedElements()[0];
|
|
23
23
|
content.style.display = "inline";
|
|
24
24
|
if (slot.name == "leftIcon") {
|
|
25
|
-
content.style.paddingRight = "var(--
|
|
25
|
+
content.style.paddingRight = "var(--button__inline__icon--padding)";
|
|
26
26
|
}
|
|
27
27
|
else if (slot.name == "rightIcon") {
|
|
28
|
-
content.style.paddingLeft = "var(--
|
|
28
|
+
content.style.paddingLeft = "var(--button__inline__icon--padding)";
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
}
|
|
@@ -201,19 +201,19 @@ let EzCalendar = class {
|
|
|
201
201
|
};
|
|
202
202
|
EzCalendar.style = ezCalendarCss;
|
|
203
203
|
|
|
204
|
-
const ezCheckCss = ":host{--
|
|
204
|
+
const ezCheckCss = ":host{--check--box--width:18px;--check--box--height:18px;--check--width:calc(var(--check--box--width) + 14px);--check--height:calc(var(--check--box--width) + 14px);--check--border-radius:var(--border--radius-small);--check--checked--background-color:var(--color--primary-200);--check--focus--background-color:var(--color--strokes, #FFFFFF);--check--hover--background-color:var(--background--medium);--check--checked--disabled--background-color:var(--color--disable-secondary);--check--border:var(--border--medium) var(--title--primary);--check--disabled--border:var(--border--medium) var(--color--strokes);--check--checked--border:var(--border--medium) var(--color--primary);--check--checked--hover--background-color:var(--color--primary-200);--check--checked--focus--background-color:var(--color--primary-300, #FFFFFF);--check--check--image:url('data:image/svg+xml;utf8,<svg width=\"8\" height=\"7\" viewBox=\"0 0 8 7\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.70002 0.398999L7.48502 0.207997C7.31524 0.0598858 7.09376 -0.0150438 6.86894 -0.000430025C6.64411 0.0141838 6.43419 0.117153 6.28502 0.285997L2.70002 4.332L1.61802 3.384C1.44837 3.23576 1.22697 3.16067 1.00214 3.17509C0.77732 3.18952 0.567332 3.2923 0.418019 3.461L0.229019 3.674C0.0752361 3.84797 -0.00437434 4.07521 0.00721192 4.30713C0.0187982 4.53904 0.120661 4.75722 0.291019 4.915L2.27402 6.762C2.35832 6.8432 2.45842 6.90618 2.56811 6.94702C2.67779 6.98787 2.79471 7.00571 2.91159 6.99942C3.02846 6.99314 3.14279 6.96287 3.24747 6.91049C3.35214 6.85812 3.44492 6.78477 3.52002 6.695L7.79102 1.638C7.94063 1.46048 8.01486 1.23149 7.99786 0.999963C7.98085 0.768436 7.87396 0.552749 7.70002 0.398999Z\"/></svg>');--check--check--background-color:var(--color--primary);--check--check--disabled--background-color:var(--color--strokes);--switch--slider--width:34px;--switch--slider--height:14px;--switch--pin--width:20px;--switch--pin--height:20px;--switch--focus--width:32px;--switch--focus--height:32px;--switch--background-color:var(--color--strokes);--switch--disabled--background-color:var(--color--disable-secondary);--switch--checked--background-color:var(--color--primary-300);--switch--pin--background-color:var(--background--xlight);--switch--pin--disabled--background-color:var(--color--disable-secondary);--switch--pin--checked--background-color:var(--color--primary);--switch--pin--checked--disabled--background-color:#E8F7F4;--switch--pin--focus--background-color:var(--text--disable);--switch--pin--checked--focus--background-color:var(--color--primary);--check--label--font-size:var(--text--medium, 14px);--check--label--font-family:var(--font-pattern, Arial);--check--label--color:var(--title--primary, #000);--check--label--disabled--color:var(--text--disable, #AFB6C0);display:flex;width:100%;align-items:center;margin:0}input.regularMode{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;box-sizing:border-box;-webkit-appearance:none;appearance:none;cursor:pointer;border-radius:50%;position:relative;width:var(--check--width);height:var(--check--height)}input.regularMode:enabled:hover{background-color:var(--check--hover--background-color)}input.regularMode:enabled:focus{outline:none;background-color:var(--check--focus--background-color)}input.regularMode:disabled{cursor:auto;background:none}input.regularMode::before{box-sizing:border-box;content:\"\";display:block;width:var(--check--box--width);height:var(--check--box--height);border-radius:var(--check--border-radius);border:var(--check--border)}input.regularMode:disabled::before{border:var(--check--disabled--border)}input.regularMode:checked:enabled:hover{background-color:var(--check--checked--hover--background-color)}input.regularMode:checked:enabled:focus{background-color:var(--check--checked--focus--background-color)}input.regularMode:checked::before{border:var(--check--checked--border);background-color:var(--check--checked--background-color)}input.regularMode:checked:disabled:before{border:var(--check--disabled--border);background-color:var(--check--checked--disabled--background-color)}input.regularMode:checked::after{display:flex;position:absolute;content:\"\";background-color:var(--check--check--background-color);width:8px;height:7px;-webkit-mask-image:var(--check--check--image);mask-image:var(--check--check--image)}input.regularMode:checked:disabled::after{background-color:var(--check--check--disabled--background-color)}input.switchMode{flex-shrink:0;-webkit-appearance:none;appearance:none;position:relative;outline:none;cursor:pointer;border-radius:20px;border:none;transition:background-color var(--transition);width:var(--switch--slider--width);height:var(--switch--slider--height);background-color:var(--switch--background-color)}input.switchMode:disabled{background-color:var(--switch--disabled--background-color)}input.switchMode::after{content:\"\";display:block;position:absolute;box-shadow:var(--shadow);transition:transform var(--transition);transition:background-color var(--transition);transform:translateY(-3px);border-radius:50%;width:var(--switch--pin--width);height:var(--switch--pin--height);background-color:var(--switch--pin--background-color)}input.switchMode:disabled::after{background-color:var(--switch--pin--disabled--background-color)}input.switchMode:checked{transition:background-color var(--transition);background-color:var(--switch--checked--background-color)}input.switchMode::before{display:block;content:\"\";display:block;position:absolute;border-radius:50%;opacity:0;width:var(--switch--focus--width);height:var(--switch--focus--height);top:calc((var(--switch--slider--height) - var(--switch--focus--height)) / 2);left:calc((var(--switch--pin--width) - var(--switch--focus--width))/2);background-color:var(--switch--pin--focus--background-color)}input.switchMode:focus::before{opacity:0.24;transition:opacity var(--transition)}input.switchMode:checked:focus::before{background-color:var(--switch--pin--checked--focus--background-color);transform:translateX(calc(var(--switch--slider--width) - var(--switch--pin--width)))}input.switchMode:checked::after{transition:transform var(--transition);transition:background-color var(--transition);transform:translateX(calc(var(--switch--slider--width) - var(--switch--pin--width))) translateY(-3px);box-shadow:var(--shadow);background-color:var(--switch--pin--checked--background-color)}input.switchMode:checked:disabled::after{background-color:var(--switch--pin--checked--disabled--background-color)}.label{flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--check--label--color);text-shadow:var(--text-shadow);font-size:var(--check--label--font-size);font-family:var(--check--label--font-family);cursor:default;padding-left:var(--space--small)}.label--disabled{color:var(--check--label--disabled--color)}";
|
|
205
205
|
|
|
206
206
|
let EzCheck = class {
|
|
207
207
|
constructor(hostRef) {
|
|
208
208
|
registerInstance(this, hostRef);
|
|
209
209
|
this.ezChange = createEvent(this, "ezChange", 7);
|
|
210
210
|
/**
|
|
211
|
-
* Deixa o campo disponível ou não
|
|
211
|
+
* Deixa o campo disponível ou não para interação com o usuário.
|
|
212
212
|
*/
|
|
213
213
|
this.enabled = true;
|
|
214
214
|
/**
|
|
215
215
|
* Existem dois modos de visualização: regular e switch.
|
|
216
|
-
* Se esta propriedade for omitida, o componete assume o formato "regular"
|
|
216
|
+
* Se esta propriedade for omitida, o componete assume o formato "regular".
|
|
217
217
|
* No modo "regular" a visualização é a tradicional de uma caixinha marcada/desmarcada.
|
|
218
218
|
* No modo "switch" o campo tem uma interface em formato de um pino liga/desliga.
|
|
219
219
|
*/
|
|
@@ -254,12 +254,12 @@ let EzCheck = class {
|
|
|
254
254
|
getLabelClasses() {
|
|
255
255
|
let classes = "label";
|
|
256
256
|
if (!this.enabled) {
|
|
257
|
-
classes
|
|
257
|
+
classes += " label--disabled";
|
|
258
258
|
}
|
|
259
259
|
return classes;
|
|
260
260
|
}
|
|
261
261
|
render() {
|
|
262
|
-
return (h(Host, null, h("input", { type: "checkbox", class: "regularMode", checked: this.value === true, onChange: () => { this.changeValue(); }, disabled: !this.enabled, ref: (el) => this._inputElem = el }), this.label ? h("label", { class: this.getLabelClasses(), onClick: () => { this.changeValue(); }, title: this.label }, this.label) :
|
|
262
|
+
return (h(Host, null, h("input", { type: "checkbox", class: "regularMode", checked: this.value === true, onChange: () => { this.changeValue(); }, disabled: !this.enabled, ref: (el) => this._inputElem = el }), this.label ? h("label", { class: this.getLabelClasses(), onClick: () => { this.changeValue(); }, title: this.label }, this.label) : undefined));
|
|
263
263
|
}
|
|
264
264
|
static get watchers() { return {
|
|
265
265
|
"mode": ["adjustMode"]
|
|
@@ -307,7 +307,7 @@ let EzCollapsibleBox = class {
|
|
|
307
307
|
};
|
|
308
308
|
EzCollapsibleBox.style = ezCollapsibleBoxCss;
|
|
309
309
|
|
|
310
|
-
const ezComboBoxCss = ":host{--
|
|
310
|
+
const ezComboBoxCss = ":host{--combo-box--height:42px;--combo-box--width:100%;--combo-box__icon--width:48px;--combo-box--border-radius:var(--border--radius-medium, 12px);--combo-box--border-radius-small:var(--border--radius-small, 6px);--combo-box--font-size:var(--text--medium, 14px);--combo-box--font-family:var(--font-pattern, Arial);--combo-box--font-weight--large:var(--text-weight--large, 500);--combo-box--font-weight--medium:var(--text-weight--medium, 400);--combo-box--background-color--xlight:var(--background--xlight, #fff);--combo-box__input--background-color:var(--background--medium, #e0e0e0);--combo-box__input--border:var(--border--medium, 2px solid);--combo-box__input--border-color:var(--combo-box__input--background-color);--combo-box__input--focus--border-color:var(--color--primary, #008561);--combo-box__input--disabled--background-color:var(--color--disable-secondary, #F2F5F8);--combo-box__input--disabled--color:var(--text--disable, #AFB6C0);--combo-box__input--error--border-color:#CC2936;--combo-box__label--color:var(--title--primary, #919191);--combo-box__list-text--primary:var(--text--primary, #626e82);--combo-box__list-height:calc(var(--combo-box--font-size) + var(--combo-box--space--medium));--combo-box--drop-down__image:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" height=\"16px\" width=\"16px\"><path d=\"M 1.8585859,3.0707069 7.9999998,9.2121212 14.141414,3.0707069 16,5.0101006 7.9999998,12.929293 0,4.9292932 Z\"/></svg>');--combo-box--search__image:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" height=\"22px\" width=\"22px\"><path d=\"m 9.4,2.3 c 4.1,0 7.4,3.2 7.4,7.2 0,1.8 -0.7,3.4 -1.8,4.7 l 0.3,0.3 h 0.9 l 5.7,5.6 -1.7,1.7 -5.7,-5.6 V 15.3 L 14.3,15 C 13,16.1 11.3,16.7 9.5,16.7 5.3,16.7 2,13.5 2,9.5 2,5.5 5.3,2.3 9.4,2.3 m 0,2.2 c -2.9,0 -5.1,2.2 -5.1,5 0,2.8 2.3,5 5.1,5 2.8,0 5.1,-2.2 5.1,-5 0,-2.8 -2.2,-5 -5.1,-5 z\"/></svg>');--combo-box--space--medium:var(--space--medium, 12px);--combo-box--space--small:var(--space--small, 6px);display:flex;flex-wrap:wrap;position:relative;width:var(--combo-box--width)}ez-text-input{--it__input--background-color:var(--combo-box__input--background-color, #FFFFFF);--it__input--border-color:var(--combo-box__input--border-color, #DCE0E8)}.list-container{position:relative;width:100%}.options-list{box-sizing:border-box;width:100%;z-index:var(--more-visible, 2);display:flex;flex-direction:column;background-color:var(--combo-box--background-color--xlight);padding:var(--combo-box--space--small);border-radius:var(--combo-box--border-radius);box-shadow:var(--shadow, 0px 0px 16px 0px #000);scroll-behavior:smooth;max-height:calc(4*var(--combo-box__list-height) + 2*var(--combo-box--space--small));overflow:auto}.item{text-align:left;display:flex;justify-content:space-between;align-items:center;border-radius:var(--combo-box--border-radius-small);padding:0 var(--combo-box--space--small);list-style-type:none;min-height:var(--combo-box__list-height)}.item--label{text-align:left;flex-basis:85%;flex-grow:1;color:var(--combo-box__list-text--primary);font-weight:var(--combo-box--font-weight--large);font-family:var(--combo-box--font-family);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item--value{text-align:right;flex-basis:15%;flex-grow:0;color:var(--combo-box__list-text--primary);font-weight:var(--combo-box--font-weight--large);font-family:var(--combo-box--font-family);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}li:hover{background-color:var(--background--medium)}.preselected{background-color:var(--background--medium)}.btn-open-options{outline:none;border:none;background-color:unset;cursor:pointer}.btn-open-options:disabled{cursor:unset}.btn-open-options::after{content:'';display:flex;background-color:var(--text--primary, #008561);width:16px;height:16px;-webkit-mask-image:var(--combo-box--drop-down__image);mask-image:var(--combo-box--drop-down__image)}.btn-open-options:disabled:after{background-color:var(--text--disable, #AFB6C0)}.btn-open-options:enabled:hover::after{background-color:var(--color--primary, #4e4e4e)}.btn-open-search{outline:none;border:none;background-color:unset;cursor:pointer}.btn-open-search:disabled{cursor:unset}.btn-open-search::after{content:'';display:flex;background-color:var(--text--primary, #008561);width:22px;height:22px;-webkit-mask-image:var(--combo-box--search__image);mask-image:var(--combo-box--search__image)}.btn-open-search:disabled:after{background-color:var(--text--disable, #AFB6C0)}.btn-open-search:enabled:hover::after{background-color:var(--color--primary, #4e4e4e)}";
|
|
311
311
|
|
|
312
312
|
let EzComboBox = class {
|
|
313
313
|
constructor(hostRef) {
|
|
@@ -320,11 +320,11 @@ let EzComboBox = class {
|
|
|
320
320
|
/**
|
|
321
321
|
* Ajusta a opção de mostrar o "value" ao selecionar uma opção. Por padrão não mostra.
|
|
322
322
|
*/
|
|
323
|
-
this.
|
|
323
|
+
this.showSelectedValue = false;
|
|
324
324
|
/**
|
|
325
325
|
* Ajusta a opção de mostrar o "value" para cada opção. Por padrão não mostra
|
|
326
326
|
*/
|
|
327
|
-
this.
|
|
327
|
+
this.showOptionValue = false;
|
|
328
328
|
}
|
|
329
329
|
internalUpdate() {
|
|
330
330
|
if (this._inputElement) {
|
|
@@ -336,29 +336,29 @@ let EzComboBox = class {
|
|
|
336
336
|
this.updateVisibleOptions();
|
|
337
337
|
}
|
|
338
338
|
getText() {
|
|
339
|
-
let text =
|
|
339
|
+
let text = "";
|
|
340
340
|
const selected = this.getSelectedOption();
|
|
341
341
|
if (selected) {
|
|
342
|
-
text = this.
|
|
342
|
+
text = this.showSelectedValue ? `${selected.value} - ${selected.label}` : selected.label;
|
|
343
343
|
}
|
|
344
344
|
return text;
|
|
345
345
|
}
|
|
346
346
|
getSelectedOption() {
|
|
347
|
-
if (typeof this.value ===
|
|
347
|
+
if (typeof this.value === "string" || this.value instanceof String) {
|
|
348
348
|
return this._visibleOptions.find(o => o.value === this.value);
|
|
349
349
|
}
|
|
350
350
|
return this.value;
|
|
351
351
|
}
|
|
352
352
|
updateVisibleOptions() {
|
|
353
353
|
let opts = this._source || [];
|
|
354
|
-
if (!this.
|
|
354
|
+
if (!this.searchMode && this._criteria) {
|
|
355
355
|
const upperCriteria = this._criteria.toUpperCase();
|
|
356
356
|
opts = opts.filter(opt => opt.label.toLocaleUpperCase().indexOf(upperCriteria) > -1);
|
|
357
357
|
}
|
|
358
|
-
this._visibleOptions = [{ value:
|
|
358
|
+
this._visibleOptions = [{ value: undefined, label: "" }].concat(opts);
|
|
359
359
|
}
|
|
360
360
|
buildItem(opt, index) {
|
|
361
|
-
return h("li", { class: index === this._preSelection ? "item preselected" : "item", id: `item_${opt.value}`, onMouseDown: () => this.selectOption(opt), onMouseOver: () => this._preSelection = undefined }, h("span", { class: "item--label", title: opt.label }, opt.label), this.
|
|
361
|
+
return h("li", { class: index === this._preSelection ? "item preselected" : "item", id: `item_${opt.value}`, onMouseDown: () => this.selectOption(opt), onMouseOver: () => this._preSelection = undefined }, h("span", { class: "item--label", title: opt.label }, opt.label), this.showOptionValue ? h("span", { class: "item--value", title: opt.value }, opt.value) : undefined);
|
|
362
362
|
}
|
|
363
363
|
showOptions() {
|
|
364
364
|
if (!this.enabled) {
|
|
@@ -367,10 +367,10 @@ let EzComboBox = class {
|
|
|
367
367
|
//FIXME: Provavelmente isso fará com que o popup abra em uma
|
|
368
368
|
//posição errada no futuro. Preferi fazer simples no começo,
|
|
369
369
|
//porque não quis onerar o text input com essa funcionalidade...
|
|
370
|
-
const top = this.
|
|
370
|
+
const top = this.errorMessage ? "0px" : "-17px";
|
|
371
371
|
this._floatingID = FloatingManager.float(this._optionsList, this._listContainer, { autoClose: true, top });
|
|
372
372
|
window.requestAnimationFrame(() => {
|
|
373
|
-
this._optionsList.scrollIntoView({ behavior:
|
|
373
|
+
this._optionsList.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
|
|
374
374
|
});
|
|
375
375
|
}
|
|
376
376
|
hideOptions() {
|
|
@@ -383,7 +383,7 @@ let EzComboBox = class {
|
|
|
383
383
|
return this._floatingID !== undefined && FloatingManager.isFloating(this._floatingID);
|
|
384
384
|
}
|
|
385
385
|
nextOption() {
|
|
386
|
-
if (this.
|
|
386
|
+
if (this.searchMode && !this.isOptionsVisible()) {
|
|
387
387
|
return;
|
|
388
388
|
}
|
|
389
389
|
this.showOptions();
|
|
@@ -419,7 +419,7 @@ let EzComboBox = class {
|
|
|
419
419
|
selectOption(opt) {
|
|
420
420
|
const currentOpt = this.getSelectedOption();
|
|
421
421
|
if (currentOpt !== opt) {
|
|
422
|
-
const adjustedOpt = !(opt === null || opt === void 0 ? void 0 : opt.value) ?
|
|
422
|
+
const adjustedOpt = !(opt === null || opt === void 0 ? void 0 : opt.value) ? undefined : opt;
|
|
423
423
|
this.value = adjustedOpt;
|
|
424
424
|
this.ezChange.emit(adjustedOpt);
|
|
425
425
|
}
|
|
@@ -437,10 +437,10 @@ let EzComboBox = class {
|
|
|
437
437
|
this.updateVisibleOptions();
|
|
438
438
|
}
|
|
439
439
|
}
|
|
440
|
-
loadOptions(mode, argument =
|
|
440
|
+
loadOptions(mode, argument = "") {
|
|
441
441
|
this._criteria = argument;
|
|
442
|
-
if (this.
|
|
443
|
-
this.updateSource(this.
|
|
442
|
+
if (this.optionLoader) {
|
|
443
|
+
this.updateSource(this.optionLoader({ mode, argument }));
|
|
444
444
|
}
|
|
445
445
|
else {
|
|
446
446
|
this.updateSource(this.options);
|
|
@@ -448,7 +448,7 @@ let EzComboBox = class {
|
|
|
448
448
|
}
|
|
449
449
|
cancelPreselection() {
|
|
450
450
|
if (!this._inputElement.value && this.value) {
|
|
451
|
-
this.selectOption(
|
|
451
|
+
this.selectOption(undefined);
|
|
452
452
|
}
|
|
453
453
|
else {
|
|
454
454
|
this.internalUpdate();
|
|
@@ -460,11 +460,11 @@ let EzComboBox = class {
|
|
|
460
460
|
componentWillLoad() {
|
|
461
461
|
if (this.options === undefined) {
|
|
462
462
|
this.options = [];
|
|
463
|
-
const optionsTags = this.el.querySelectorAll(
|
|
463
|
+
const optionsTags = this.el.querySelectorAll("option");
|
|
464
464
|
if (optionsTags) {
|
|
465
465
|
optionsTags.forEach(e => {
|
|
466
466
|
let label = e.innerText;
|
|
467
|
-
let value = e.getAttribute(
|
|
467
|
+
let value = e.getAttribute("value");
|
|
468
468
|
if (!value) {
|
|
469
469
|
value = label;
|
|
470
470
|
}
|
|
@@ -473,11 +473,11 @@ let EzComboBox = class {
|
|
|
473
473
|
});
|
|
474
474
|
}
|
|
475
475
|
}
|
|
476
|
-
if (this.
|
|
476
|
+
if (this.searchMode) {
|
|
477
477
|
this.updateSource([]);
|
|
478
478
|
}
|
|
479
479
|
else {
|
|
480
|
-
this.loadOptions(
|
|
480
|
+
this.loadOptions("PRELOAD");
|
|
481
481
|
}
|
|
482
482
|
}
|
|
483
483
|
componentDidRender() {
|
|
@@ -495,13 +495,12 @@ let EzComboBox = class {
|
|
|
495
495
|
const argument = event.target.value;
|
|
496
496
|
this._criteria = argument;
|
|
497
497
|
if (this._criteria) {
|
|
498
|
-
if (this.
|
|
498
|
+
if (this.searchMode) {
|
|
499
499
|
if (this._changeDeboucingTimeout) {
|
|
500
500
|
window.clearTimeout(this._changeDeboucingTimeout);
|
|
501
501
|
}
|
|
502
502
|
this._changeDeboucingTimeout = window.setTimeout(() => {
|
|
503
|
-
|
|
504
|
-
this.loadOptions('PREDICTIVE', argument);
|
|
503
|
+
this.loadOptions("PREDICTIVE", argument);
|
|
505
504
|
}, 200);
|
|
506
505
|
}
|
|
507
506
|
else {
|
|
@@ -511,7 +510,7 @@ let EzComboBox = class {
|
|
|
511
510
|
}
|
|
512
511
|
}
|
|
513
512
|
onTextInputClickHandler() {
|
|
514
|
-
if (!this.
|
|
513
|
+
if (!this.searchMode) {
|
|
515
514
|
this.showOptions();
|
|
516
515
|
}
|
|
517
516
|
}
|
|
@@ -536,8 +535,8 @@ let EzComboBox = class {
|
|
|
536
535
|
this.cancelPreselection();
|
|
537
536
|
}
|
|
538
537
|
render() {
|
|
539
|
-
return (h(Host, null, h("ez-text-input", { ref: elem => this._inputElement = elem, enabled: this.enabled, onInput: evt => this.onTextInputChangeHandler(evt), onClick: () => this.onTextInputClickHandler(), onFocusout: () => this.onTextInputFocusOutHandler(), onEzChange: event => event.stopPropagation(), onKeyDown: event => this.keyDownHandler(event), label: this.label, value: this.getText(),
|
|
540
|
-
h("button", { disabled: !this.enabled, tabindex: -1, class: "btn-open-search", onClick: () => { this.loadOptions(
|
|
538
|
+
return (h(Host, null, h("ez-text-input", { ref: elem => this._inputElement = elem, enabled: this.enabled, onInput: evt => this.onTextInputChangeHandler(evt), onClick: () => this.onTextInputClickHandler(), onFocusout: () => this.onTextInputFocusOutHandler(), onEzChange: event => event.stopPropagation(), onKeyDown: event => this.keyDownHandler(event), label: this.label, value: this.getText(), errorMessage: this.errorMessage }, this.searchMode ?
|
|
539
|
+
h("button", { disabled: !this.enabled, tabindex: -1, class: "btn-open-search", onClick: () => { this.loadOptions("ADVANCED"); }, slot: "leftIcon" })
|
|
541
540
|
:
|
|
542
541
|
h("button", { disabled: !this.enabled, tabindex: -1, class: "btn-open-options", slot: "rightIcon", onClick: () => this.showOptions() })), h("section", { class: "list-container", ref: elem => this._listContainer = elem }, h("div", { class: "options-list", ref: elem => this._optionsList = elem }, this._visibleOptions.map((opt, index) => this.buildItem(opt, index))))));
|
|
543
542
|
}
|
|
@@ -563,7 +562,7 @@ let EzDateInput = class {
|
|
|
563
562
|
this._textInput.label = this.label;
|
|
564
563
|
}
|
|
565
564
|
setErrorMessage() {
|
|
566
|
-
this._textInput.
|
|
565
|
+
this._textInput.errorMessage = this.errorMessage;
|
|
567
566
|
}
|
|
568
567
|
applyValueToInput() {
|
|
569
568
|
if (this._textInput) {
|
|
@@ -572,7 +571,7 @@ let EzDateInput = class {
|
|
|
572
571
|
}
|
|
573
572
|
changeValue(newValue) {
|
|
574
573
|
newValue = newValue == null ? null : DateUtils.clearTime(newValue);
|
|
575
|
-
this._textInput.
|
|
574
|
+
this._textInput.errorMessage = "";
|
|
576
575
|
if (this.getTextValue(newValue) !== this.getTextValue(this.value)) {
|
|
577
576
|
this.value = newValue;
|
|
578
577
|
this.ezChange.emit();
|
|
@@ -584,7 +583,7 @@ let EzDateInput = class {
|
|
|
584
583
|
//FIXME: Provavelmente isso fará com que o popup abra em uma
|
|
585
584
|
//posição errada no futuro. Preferi fazer simples no começo,
|
|
586
585
|
//porque não quis onerar o text input com essa funcionalidade...
|
|
587
|
-
const top = this._textInput.
|
|
586
|
+
const top = this._textInput.errorMessage ? 0 : -17;
|
|
588
587
|
this._calendar.fitVertical(top, this._elem.clientHeight);
|
|
589
588
|
}
|
|
590
589
|
hideCalendar() {
|
|
@@ -603,7 +602,7 @@ let EzDateInput = class {
|
|
|
603
602
|
}
|
|
604
603
|
}
|
|
605
604
|
else {
|
|
606
|
-
this._textInput.
|
|
605
|
+
this._textInput.errorMessage = "O valor digitado não é uma data válida";
|
|
607
606
|
}
|
|
608
607
|
}
|
|
609
608
|
getTextValue(d) {
|
|
@@ -613,12 +612,12 @@ let EzDateInput = class {
|
|
|
613
612
|
return (h(Host, null, h("ez-text-input", { class: "text-input", ref: elem => this._textInput = elem, onBlur: () => this.parseDate(), onKeyDown: event => {
|
|
614
613
|
if (event.key === 'H' || event.key === 'h')
|
|
615
614
|
this.changeValue(new Date());
|
|
616
|
-
}, label: this.label, onEzChange: event => event.stopPropagation(), value: this.getTextValue(this.value), restrict: "0123456789/", enabled: this.enabled,
|
|
615
|
+
}, label: this.label, onEzChange: event => event.stopPropagation(), value: this.getTextValue(this.value), restrict: "0123456789/", enabled: this.enabled, errorMessage: this.errorMessage }, h("button", { disabled: !this.enabled, tabindex: -1, class: "btn-open-cal", onClick: () => this.showCalendar(), slot: "leftIcon" })), h("ez-calendar", { onEzChange: (event) => { this.hideCalendar(); event.stopPropagation(); }, floating: true, ref: elem => this._calendar = elem })));
|
|
617
616
|
}
|
|
618
617
|
get _elem() { return getElement(this); }
|
|
619
618
|
static get watchers() { return {
|
|
620
619
|
"label": ["setLabel"],
|
|
621
|
-
"
|
|
620
|
+
"errorMessage": ["setErrorMessage"],
|
|
622
621
|
"value": ["applyValueToInput"]
|
|
623
622
|
}; }
|
|
624
623
|
};
|
|
@@ -2575,7 +2574,7 @@ const Field = ({ dataUnit, field, forceScroll, enabled }) => {
|
|
|
2575
2574
|
switch (userInterface) {
|
|
2576
2575
|
case 'LONGTEXT':
|
|
2577
2576
|
return h("div", { class: "col col--sd-12 padding--small" }, loadingData ? h("place-holder", null) :
|
|
2578
|
-
h("ez-text-area", { value: value || '', label: formattedLabel, onEzChange: evt => changeFieldHandler(evt.target['value']),
|
|
2577
|
+
h("ez-text-area", { value: value || '', label: formattedLabel, onEzChange: evt => changeFieldHandler(evt.target['value']), errorMessage: errorMessage, ref: elem => scrollToView(forceScroll, elem), key: key, enabled: isEnabled }));
|
|
2579
2578
|
case 'CHECKBOX':
|
|
2580
2579
|
case 'SWITCH':
|
|
2581
2580
|
return h("div", { class: "col col--sd-12 col--tb-3 padding--small align--middle padding-bottom--large" }, loadingData ? h("place-holder", null) :
|
|
@@ -2584,7 +2583,7 @@ const Field = ({ dataUnit, field, forceScroll, enabled }) => {
|
|
|
2584
2583
|
const optsObj = properties ? JSON.parse(getProp(properties, 'options')) : {};
|
|
2585
2584
|
const normalized = Object.keys(optsObj).map(key => { return { value: key, label: optsObj[key] }; });
|
|
2586
2585
|
return h("div", { class: "col col--sd-12 col--tb-3 padding--small" }, loadingData ? h("place-holder", null) :
|
|
2587
|
-
h("ez-combo-box", { value: value, label: formattedLabel, enabled: isEnabled, onEzChange: (event) => changeFieldHandler(event.target['value']),
|
|
2586
|
+
h("ez-combo-box", { value: value, label: formattedLabel, enabled: isEnabled, onEzChange: (event) => changeFieldHandler(event.target['value']), errorMessage: errorMessage, ref: elem => scrollToView(forceScroll, elem), key: key, options: normalized }));
|
|
2588
2587
|
case 'SEARCH':
|
|
2589
2588
|
const context = {
|
|
2590
2589
|
__MAIN_FORM: form,
|
|
@@ -2612,7 +2611,7 @@ const Field = ({ dataUnit, field, forceScroll, enabled }) => {
|
|
|
2612
2611
|
context['CRITERIA'] = criteriaList;
|
|
2613
2612
|
}
|
|
2614
2613
|
return h("div", { class: "col col--sd-12 col--tb-3 padding--small" }, loadingData ? h("place-holder", null) :
|
|
2615
|
-
h("ez-search", { value: value, label: formattedLabel, enabled: isEnabled, onEzChange: (event) => changeFieldHandler(event.target['value']),
|
|
2614
|
+
h("ez-search", { value: value, label: formattedLabel, enabled: isEnabled, onEzChange: (event) => changeFieldHandler(event.target['value']), errorMessage: errorMessage, optionloader: (argument) => {
|
|
2616
2615
|
if (form) {
|
|
2617
2616
|
return form.loadSearch(argument, context);
|
|
2618
2617
|
}
|
|
@@ -2626,7 +2625,7 @@ const Field = ({ dataUnit, field, forceScroll, enabled }) => {
|
|
|
2626
2625
|
h("ez-upload", { value: value, label: formattedLabel, enabled: isEnabled, onEzChange: (event) => changeFieldHandler(event.detail), urlupload: target, requestheaders: headers, maxfiles: maxfiles })));
|
|
2627
2626
|
case 'DATE':
|
|
2628
2627
|
return h("div", { class: "col col--sd-12 col--tb-3 padding--small" }, loadingData ? h("place-holder", null) :
|
|
2629
|
-
h("ez-date-input", { value: !value ? null : DateUtils.clearTime(value), label: formattedLabel, enabled: isEnabled, onEzChange: (event) => changeFieldHandler(event.target['value']),
|
|
2628
|
+
h("ez-date-input", { value: !value ? null : DateUtils.clearTime(value), label: formattedLabel, enabled: isEnabled, onEzChange: (event) => changeFieldHandler(event.target['value']), errorMessage: errorMessage, ref: elem => scrollToView(forceScroll, elem), key: key }));
|
|
2630
2629
|
case 'DECIMALNUMBER':
|
|
2631
2630
|
case 'INTEGERNUMBER':
|
|
2632
2631
|
let precision = 0;
|
|
@@ -2636,11 +2635,11 @@ const Field = ({ dataUnit, field, forceScroll, enabled }) => {
|
|
|
2636
2635
|
prettyPrecision = Number(getProp(properties, "prettyprecision") || precision);
|
|
2637
2636
|
}
|
|
2638
2637
|
return h("div", { class: "col col--sd-12 col--tb-3 padding--small" }, loadingData ? h("place-holder", null) :
|
|
2639
|
-
h("ez-numeric-input", { value: !value ? null : value, label: formattedLabel, enabled: isEnabled, onEzChange: (event) => changeFieldHandler(event.target['value']),
|
|
2638
|
+
h("ez-numeric-input", { value: !value ? null : value, label: formattedLabel, enabled: isEnabled, onEzChange: (event) => changeFieldHandler(event.target['value']), errorMessage: errorMessage, precision: precision, prettyprecision: prettyPrecision, ref: elem => scrollToView(forceScroll, elem), key: key }));
|
|
2640
2639
|
//IMAGE, DATETIME, ELAPSEDTIME, PASSWORD, MASKEDTEXT, HTML
|
|
2641
2640
|
default:
|
|
2642
2641
|
return h("div", { class: "col col--sd-12 col--tb-3 padding--small" }, loadingData ? h("place-holder", null) :
|
|
2643
|
-
h("ez-text-input", { value: value, label: formattedLabel, enabled: isEnabled, loading: loadingData, onInput: (event) => changeFieldHandler(event.target['value']),
|
|
2642
|
+
h("ez-text-input", { value: value, label: formattedLabel, enabled: isEnabled, loading: loadingData, onInput: (event) => changeFieldHandler(event.target['value']), errorMessage: errorMessage, ref: elem => scrollToView(forceScroll, elem), key: key }));
|
|
2644
2643
|
}
|
|
2645
2644
|
};
|
|
2646
2645
|
function getProp(properties, name) {
|
|
@@ -2701,7 +2700,7 @@ const FormSheet = ({ store, parentName, source, parentDataUnit, dataUnitBuilder,
|
|
|
2701
2700
|
buttons.previousVisible = false;
|
|
2702
2701
|
}
|
|
2703
2702
|
return h("div", { class: "form-sheet" },
|
|
2704
|
-
tabs ? h("ez-tabselector", {
|
|
2703
|
+
tabs ? h("ez-tabselector", { selectedIndex: selectedTab, selectedTab: name, onChange: (evt) => changeTabHandler(evt.target.selectedindex) }, tabs) : null,
|
|
2705
2704
|
dataUnit ? h(NavigationBar, { enabled: enabled, dataUnit: dataUnit, buttonProps: buttons }) : null,
|
|
2706
2705
|
h("div", { class: "tab__container" },
|
|
2707
2706
|
items ? items.map(item => buildFormItem(item, name, store, currentDU, enabled)) : null,
|
|
@@ -2960,12 +2959,14 @@ let EzForm = class {
|
|
|
2960
2959
|
};
|
|
2961
2960
|
EzForm.style = ezFormCss;
|
|
2962
2961
|
|
|
2963
|
-
const ezIconCss = ":host{display:block;overflow:hidden;position:relative}svg{display:flex;justify-content:center;align-items:center;fill:var(--color
|
|
2962
|
+
const ezIconCss = ":host{display:block;overflow:hidden;position:relative;--ez-icon--color:var(--icon--color, #ffffff)}svg{display:flex;justify-content:center;align-items:center;fill:var(--ez-icon--color)}.x-small{width:12px;height:12px}.small{width:16px;height:16px}.medium{width:20px;height:20px}.large{width:24px;height:24px}.x-large{width:30px;height:30px}";
|
|
2964
2963
|
|
|
2965
2964
|
let EzIcon = class {
|
|
2966
2965
|
constructor(hostRef) {
|
|
2967
2966
|
registerInstance(this, hostRef);
|
|
2968
|
-
|
|
2967
|
+
/**
|
|
2968
|
+
* Tamanho do ícone
|
|
2969
|
+
*/
|
|
2969
2970
|
this.size = 'medium';
|
|
2970
2971
|
}
|
|
2971
2972
|
isSprite() {
|
|
@@ -2996,7 +2997,7 @@ let EzNumericInput = class {
|
|
|
2996
2997
|
this._textInput.label = this.label;
|
|
2997
2998
|
}
|
|
2998
2999
|
setErrorMessage() {
|
|
2999
|
-
this._textInput.
|
|
3000
|
+
this._textInput.errorMessage = this.errorMessage;
|
|
3000
3001
|
}
|
|
3001
3002
|
applyValueToInput() {
|
|
3002
3003
|
if (this._textInput) {
|
|
@@ -3004,7 +3005,7 @@ let EzNumericInput = class {
|
|
|
3004
3005
|
}
|
|
3005
3006
|
}
|
|
3006
3007
|
changeValue(newValue) {
|
|
3007
|
-
this._textInput.
|
|
3008
|
+
this._textInput.errorMessage = "";
|
|
3008
3009
|
if (newValue !== this.value) {
|
|
3009
3010
|
this.value = newValue;
|
|
3010
3011
|
this.ezChange.emit();
|
|
@@ -3013,7 +3014,7 @@ let EzNumericInput = class {
|
|
|
3013
3014
|
parseNumber() {
|
|
3014
3015
|
const parsedNumber = this._textInput.value ? NumberUtils.stringToNumber(this._textInput.value) : null;
|
|
3015
3016
|
if (parsedNumber != null && isNaN(parsedNumber)) {
|
|
3016
|
-
this._textInput.
|
|
3017
|
+
this._textInput.errorMessage = "O valor digitado não é um número válido";
|
|
3017
3018
|
}
|
|
3018
3019
|
else {
|
|
3019
3020
|
this.changeValue(parsedNumber);
|
|
@@ -3026,11 +3027,11 @@ let EzNumericInput = class {
|
|
|
3026
3027
|
return null;
|
|
3027
3028
|
}
|
|
3028
3029
|
render() {
|
|
3029
|
-
return (h("ez-text-input", { class: "text-input", ref: elem => this._textInput = elem, onBlur: () => this.parseNumber(), label: this.label, onEzChange: event => event.stopPropagation(), value: this.getTextValue(this.value), restrict: this.precision > 0 ? "0123456789-,." : "0123456789-", enabled: this.enabled,
|
|
3030
|
+
return (h("ez-text-input", { class: "text-input", ref: elem => this._textInput = elem, onBlur: () => this.parseNumber(), label: this.label, onEzChange: event => event.stopPropagation(), value: this.getTextValue(this.value), restrict: this.precision > 0 ? "0123456789-,." : "0123456789-", enabled: this.enabled, errorMessage: this.errorMessage }));
|
|
3030
3031
|
}
|
|
3031
3032
|
static get watchers() { return {
|
|
3032
3033
|
"label": ["setLabel"],
|
|
3033
|
-
"
|
|
3034
|
+
"errorMessage": ["setErrorMessage"],
|
|
3034
3035
|
"value": ["applyValueToInput"]
|
|
3035
3036
|
}; }
|
|
3036
3037
|
};
|
|
@@ -3067,7 +3068,7 @@ let EzSearch = class {
|
|
|
3067
3068
|
this.ezChange.emit(evt.detail);
|
|
3068
3069
|
}
|
|
3069
3070
|
render() {
|
|
3070
|
-
return (h("ez-combo-box", { ref: elem => this._comboElement = elem, value: this.value, label: this.label, enabled: this.enabled,
|
|
3071
|
+
return (h("ez-combo-box", { ref: elem => this._comboElement = elem, value: this.value, label: this.label, enabled: this.enabled, errorMessage: this.errorMessage, optionLoader: this.optionloader, searchMode: true, onEzChange: evt => this.onComboChange(evt), showSelectedValue: this.showselectedvalue, showOptionValue: this.showoptionvalue }));
|
|
3071
3072
|
}
|
|
3072
3073
|
;
|
|
3073
3074
|
static get watchers() { return {
|
|
@@ -3076,91 +3077,91 @@ let EzSearch = class {
|
|
|
3076
3077
|
};
|
|
3077
3078
|
EzSearch.style = ezSearchCss;
|
|
3078
3079
|
|
|
3079
|
-
const ezTabselectorCss = "@keyframes activate{0%{clip-path:inset(calc(100% - 3px) 50% 0px 50%)}100%{clip-path:inset(calc(100% - 3px) 0px 0px 0px)}}:host{display:flex;position:relative;width:100%;overflow:hidden;margin-bottom:var(--space--large, 24px);--
|
|
3080
|
+
const ezTabselectorCss = "@keyframes activate{0%{clip-path:inset(calc(100% - 3px) 50% 0px 50%)}100%{clip-path:inset(calc(100% - 3px) 0px 0px 0px)}}:host{display:flex;position:relative;width:100%;overflow:hidden;margin-bottom:var(--space--large, 24px);--tabselector--backward-icon:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" height=\"16px\" width=\"10px\"><path d=\"M 9.7808475,13.860393 3.9204526,8.0000004 9.7808475,2.0624965 7.9301965,0.28895552 0.21915255,8.0000004 7.9301965,15.711044 Z\"/></svg>');--tabselector--forward-icon:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" height=\"16px\" width=\"10px\"><path d=\"M 0.21915251,13.860393 6.0795475,8.0000007 0.21915251,2.0624968 2.0698036,0.28895588 9.7808475,8.0000007 2.0698036,15.711044 Z\"/></svg>')}.scroll{display:flex;width:100%;scroll-behavior:smooth;overflow-x:auto;scrollbar-width:none}.scroll.startHidden{-webkit-mask-image:linear-gradient(90deg, transparent 20px, #000 48px)}.scroll.midle{-webkit-mask-image:linear-gradient(90deg, transparent 20px, #000 48px, #000 calc(100% - 48px), transparent calc(100% - 20px))}.scroll.endHidden{-webkit-mask-image:linear-gradient(90deg, #000 calc(100% - 48px), transparent calc(100% - 20px))}.tab{display:flex;border:none;min-width:100px;background-color:unset;cursor:pointer;padding:6px 12px;align-items:center;justify-content:center;color:var(--text--primary, #626e82);font-family:var(--font-pattern, \"Sora, Algerian\");font-size:var(--title--small, 14px)}.tab:focus,.forward-button,.backward-button{outline:none}.is-active{position:relative;color:var(--color--primary, #008561)}.is-active::after{content:\"\";position:absolute;width:100%;height:100%;background-color:var(--color--primary, #008561);clip-path:inset(calc(100% - 3px) 0px 0px 0px);animation:activate 0.25s ease-in-out}.is-focused{border:1px dashed var(--color--primary, #000000c5)}.tab-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-shadow:var(--text-shadow);margin-bottom:var(--space--extra-small, 3px)}.forward-button,.backward-button{position:absolute;z-index:1;display:flex;box-sizing:border-box;padding:0px;top:0px;right:0px;width:16px;height:100%;border:none;background-color:unset;cursor:pointer;justify-content:center;align-items:center}.backward-button{left:0px}.forward-button::after,.backward-button::after{content:'';display:flex;background-color:var(--text--primary, #008561);width:10px;height:16px}.forward-button::after{-webkit-mask-image:var(--tabselector--forward-icon);mask-image:var(--tabselector--forward-icon)}.backward-button::after{-webkit-mask-image:var(--tabselector--backward-icon);mask-image:var(--tabselector--backward-icon)}.forward-button:hover::after,.backward-button:hover::after{background-color:var(--color--primary, #4e4e4e)}.hidden{display:none}.scroll::-webkit-scrollbar{display:none}";
|
|
3080
3081
|
|
|
3081
3082
|
let EzTabselector = class {
|
|
3082
3083
|
constructor(hostRef) {
|
|
3083
3084
|
registerInstance(this, hostRef);
|
|
3084
|
-
this.
|
|
3085
|
-
this.
|
|
3086
|
-
if (ev.key ===
|
|
3087
|
-
this.
|
|
3088
|
-
this.
|
|
3089
|
-
this.
|
|
3090
|
-
this.handleTabClick(this.
|
|
3085
|
+
this.ezChange = createEvent(this, "ezChange", 7);
|
|
3086
|
+
this.setFocusedParam = (ev) => {
|
|
3087
|
+
if (ev.key === "Enter") {
|
|
3088
|
+
this.selectedIndex = this.focusedIndex;
|
|
3089
|
+
this.focusedIndex = undefined;
|
|
3090
|
+
this.selectedTab = this._processedTabs[this.selectedIndex]["tabKey"];
|
|
3091
|
+
this.handleTabClick(this.selectedTab, parseInt(this.selectedIndex));
|
|
3091
3092
|
ev.preventDefault();
|
|
3092
|
-
this.setFocusedTab(this.
|
|
3093
|
+
this.setFocusedTab(this.selectedIndex);
|
|
3093
3094
|
}
|
|
3094
|
-
else if (ev.key ===
|
|
3095
|
+
else if (ev.key === "ArrowLeft" || ev.key === "ArrowRight") {
|
|
3095
3096
|
let operator = undefined;
|
|
3096
|
-
if (ev.key ===
|
|
3097
|
+
if (ev.key === "ArrowLeft") {
|
|
3097
3098
|
operator = false;
|
|
3098
3099
|
}
|
|
3099
|
-
else if (ev.key ===
|
|
3100
|
+
else if (ev.key === "ArrowRight") {
|
|
3100
3101
|
operator = true;
|
|
3101
3102
|
}
|
|
3102
3103
|
else {
|
|
3103
3104
|
return;
|
|
3104
3105
|
}
|
|
3105
|
-
if (this.
|
|
3106
|
+
if (this.focusedIndex === undefined) {
|
|
3106
3107
|
if (operator === false) {
|
|
3107
|
-
this.
|
|
3108
|
+
this.focusedIndex = this.selectedIndex !== undefined ? (parseInt(this.selectedIndex) - 1).toString() : undefined;
|
|
3108
3109
|
}
|
|
3109
3110
|
else {
|
|
3110
|
-
this.
|
|
3111
|
+
this.focusedIndex = this.selectedIndex !== undefined ? (parseInt(this.selectedIndex) + 1).toString() : undefined;
|
|
3111
3112
|
}
|
|
3112
3113
|
}
|
|
3113
3114
|
else {
|
|
3114
3115
|
if (operator === false) {
|
|
3115
|
-
this.
|
|
3116
|
+
this.focusedIndex = (parseInt(this.focusedIndex) - 1).toString();
|
|
3116
3117
|
}
|
|
3117
3118
|
else {
|
|
3118
|
-
this.
|
|
3119
|
+
this.focusedIndex = (parseInt(this.focusedIndex) + 1).toString();
|
|
3119
3120
|
}
|
|
3120
3121
|
}
|
|
3121
|
-
if (parseInt(this.
|
|
3122
|
-
this.
|
|
3122
|
+
if (parseInt(this.focusedIndex) < 0) {
|
|
3123
|
+
this.focusedIndex = "0";
|
|
3123
3124
|
}
|
|
3124
|
-
else if (parseInt(this.
|
|
3125
|
-
this.
|
|
3125
|
+
else if (parseInt(this.focusedIndex) > this._processedTabs.length - 1) {
|
|
3126
|
+
this.focusedIndex = (this._processedTabs.length - 1).toString();
|
|
3126
3127
|
}
|
|
3127
|
-
this.
|
|
3128
|
-
this.setFocusedTab(this.
|
|
3129
|
-
this.
|
|
3130
|
-
}
|
|
3131
|
-
else if (ev.key ===
|
|
3132
|
-
this.
|
|
3133
|
-
this.
|
|
3134
|
-
this.handleTabClick(this.
|
|
3128
|
+
this.setFocusedBtn(true, this.focusedIndex);
|
|
3129
|
+
this.setFocusedTab(this.focusedIndex);
|
|
3130
|
+
this.ezChange.emit();
|
|
3131
|
+
}
|
|
3132
|
+
else if (ev.key === "Tab" || ev.key === "Escape") {
|
|
3133
|
+
this.focusedIndex = undefined;
|
|
3134
|
+
this.selectedTab = this._processedTabs[this.selectedIndex]["tabKey"];
|
|
3135
|
+
this.handleTabClick(this.selectedTab, parseInt(this.selectedIndex));
|
|
3135
3136
|
ev.preventDefault();
|
|
3136
|
-
this.setFocusedTab(this.
|
|
3137
|
+
this.setFocusedTab(this.selectedIndex);
|
|
3137
3138
|
}
|
|
3138
3139
|
// this.setFocusedTab();
|
|
3139
3140
|
};
|
|
3140
3141
|
}
|
|
3141
3142
|
handleTabClick(tab, index) {
|
|
3142
|
-
this.
|
|
3143
|
-
this.
|
|
3144
|
-
this.
|
|
3145
|
-
this.
|
|
3146
|
-
this.
|
|
3143
|
+
this.selectedIndex = index.toString();
|
|
3144
|
+
this.focusedIndex = undefined;
|
|
3145
|
+
this.selectedTab = tab;
|
|
3146
|
+
this.ezChange.emit();
|
|
3147
|
+
this.setFocusedBtn(false, this.selectedIndex);
|
|
3147
3148
|
}
|
|
3148
3149
|
componentWillRender() {
|
|
3149
3150
|
if (!this._processedTabs) {
|
|
3150
3151
|
this._processedTabs = [];
|
|
3151
3152
|
if (this.tabs) {
|
|
3152
|
-
this.tabs.split(
|
|
3153
|
+
this.tabs.split(",").forEach((label) => {
|
|
3153
3154
|
label = label.trim();
|
|
3154
3155
|
this._processedTabs.push(new Tab(label, label));
|
|
3155
3156
|
});
|
|
3156
3157
|
}
|
|
3157
|
-
this._hostElem.querySelectorAll(
|
|
3158
|
-
const tabKey = elem.getAttribute(
|
|
3159
|
-
const label = elem.getAttribute(
|
|
3158
|
+
this._hostElem.querySelectorAll("ez-tab").forEach((elem) => {
|
|
3159
|
+
const tabKey = elem.getAttribute("tabKey");
|
|
3160
|
+
const label = elem.getAttribute("label");
|
|
3160
3161
|
const t = new Tab(label, tabKey);
|
|
3161
3162
|
const content = elem.firstChild;
|
|
3162
3163
|
if (content) {
|
|
3163
|
-
content.setAttribute(
|
|
3164
|
+
content.setAttribute("slot", "tab" + this._processedTabs.length);
|
|
3164
3165
|
this._hostElem.appendChild(content);
|
|
3165
3166
|
}
|
|
3166
3167
|
this._processedTabs.push(t);
|
|
@@ -3184,7 +3185,7 @@ let EzTabselector = class {
|
|
|
3184
3185
|
const container = this._scrollContainer;
|
|
3185
3186
|
if (container) {
|
|
3186
3187
|
let lastTab = null;
|
|
3187
|
-
container.querySelectorAll(
|
|
3188
|
+
container.querySelectorAll(".tab").forEach((tab) => {
|
|
3188
3189
|
if (tab.getBoundingClientRect().right < container.clientWidth) {
|
|
3189
3190
|
lastTab = tab;
|
|
3190
3191
|
}
|
|
@@ -3203,18 +3204,18 @@ let EzTabselector = class {
|
|
|
3203
3204
|
this._startHidden = container.scrollLeft > 0;
|
|
3204
3205
|
this._endHidden = remainingScroll > 0;
|
|
3205
3206
|
if (this._startHidden) {
|
|
3206
|
-
this._backwardButton.classList.remove(
|
|
3207
|
+
this._backwardButton.classList.remove("hidden");
|
|
3207
3208
|
}
|
|
3208
3209
|
else {
|
|
3209
|
-
this._backwardButton.classList.add(
|
|
3210
|
+
this._backwardButton.classList.add("hidden");
|
|
3210
3211
|
}
|
|
3211
3212
|
if (this._endHidden) {
|
|
3212
|
-
this._forwardButton.classList.remove(
|
|
3213
|
+
this._forwardButton.classList.remove("hidden");
|
|
3213
3214
|
}
|
|
3214
3215
|
else {
|
|
3215
|
-
this._forwardButton.classList.add(
|
|
3216
|
+
this._forwardButton.classList.add("hidden");
|
|
3216
3217
|
}
|
|
3217
|
-
const classNames = [
|
|
3218
|
+
const classNames = ["", "startHidden", "endHidden", "midle"];
|
|
3218
3219
|
const currentClass = classNames[Number(this._startHidden) | Number(this._endHidden) << 1];
|
|
3219
3220
|
classNames.forEach((name) => {
|
|
3220
3221
|
if (name !== currentClass && container.classList.contains(name)) {
|
|
@@ -3231,11 +3232,9 @@ let EzTabselector = class {
|
|
|
3231
3232
|
this._scrollCallBack = window.setTimeout(() => { this.updateScroll(); }, 200);
|
|
3232
3233
|
}
|
|
3233
3234
|
setFocusedTab(index) {
|
|
3234
|
-
window.clearTimeout(this.
|
|
3235
|
-
this.
|
|
3235
|
+
window.clearTimeout(this._scrollCallBackTest);
|
|
3236
|
+
this._scrollCallBackTest = window.setTimeout(() => {
|
|
3236
3237
|
const tabtoscroll = this._scrollContainer.querySelector(`#tab${index}`);
|
|
3237
|
-
console.log('tabtoscroll => ID', `#tab${this.selectedindex}`);
|
|
3238
|
-
console.log('tabtoscroll', tabtoscroll);
|
|
3239
3238
|
tabtoscroll.scrollIntoView();
|
|
3240
3239
|
}, 200);
|
|
3241
3240
|
}
|
|
@@ -3244,27 +3243,27 @@ let EzTabselector = class {
|
|
|
3244
3243
|
this._textMesurement = this._hostElem.shadowRoot.ownerDocument.createElement("canvas");
|
|
3245
3244
|
}
|
|
3246
3245
|
const context = this._textMesurement.getContext("2d");
|
|
3247
|
-
context.font =
|
|
3248
|
-
return Math.min(220, 24 + context.measureText(text).width) +
|
|
3246
|
+
context.font = "14px Sora, Algerian";
|
|
3247
|
+
return Math.min(220, 24 + context.measureText(text).width) + "px";
|
|
3249
3248
|
}
|
|
3250
3249
|
;
|
|
3251
|
-
|
|
3252
|
-
const tabsButtons = this._scrollContainer.querySelectorAll(
|
|
3250
|
+
setFocusedBtn(visible, parameter) {
|
|
3251
|
+
const tabsButtons = this._scrollContainer.querySelectorAll(".tab");
|
|
3253
3252
|
tabsButtons.forEach((el) => {
|
|
3254
|
-
el.classList.remove(
|
|
3255
|
-
if (el.id ===
|
|
3256
|
-
el.classList.add(
|
|
3253
|
+
el.classList.remove("is-focused");
|
|
3254
|
+
if (el.id === "tab" + parameter && visible) {
|
|
3255
|
+
el.classList.add("is-focused");
|
|
3257
3256
|
}
|
|
3258
3257
|
});
|
|
3259
3258
|
}
|
|
3260
3259
|
render() {
|
|
3261
|
-
return (h(Host, null, h("button", { class: "backward-button", ref: (el) => this._backwardButton = el, onClick: () => this.scrollBackward() }), h("div", { class: "scroll", ref: (el) => this._scrollContainer = el, onScroll: () => this.domScrollHandler(), onKeyDown: (ev) => this.
|
|
3262
|
-
const labelStyle = {
|
|
3260
|
+
return (h(Host, null, h("button", { class: "backward-button", ref: (el) => this._backwardButton = el, onClick: () => this.scrollBackward() }), h("div", { class: "scroll", ref: (el) => this._scrollContainer = el, onScroll: () => this.domScrollHandler(), onKeyDown: (ev) => this.setFocusedParam(ev) }, this._processedTabs.map((tab, index) => {
|
|
3261
|
+
const labelStyle = { "min-width": this.getTextWidth(tab.label) };
|
|
3263
3262
|
const tabId = "tab" + index;
|
|
3264
|
-
const isSelected = index === parseInt(this.
|
|
3263
|
+
const isSelected = index === parseInt(this.selectedIndex) || (this.selectedTab && tab.tabKey === this.selectedTab);
|
|
3265
3264
|
if (isSelected) {
|
|
3266
|
-
this.
|
|
3267
|
-
this.
|
|
3265
|
+
this.selectedTab = tab.tabKey;
|
|
3266
|
+
this.selectedIndex = index.toString();
|
|
3268
3267
|
}
|
|
3269
3268
|
return h("button", { id: tabId, class: `tab${isSelected ? " is-active" : ""}`, onClick: () => this.handleTabClick(tab.tabKey, index), style: labelStyle }, h("span", { class: "tab-label", title: tab.label }, tab.label), h("slot", { name: tabId, onSlotchange: (ev) => { this.handleSlotChange(ev); } }));
|
|
3270
3269
|
})), h("button", { class: "forward-button", ref: (el) => this._forwardButton = el, onClick: () => this.scrollFoward() })));
|
|
@@ -3290,12 +3289,12 @@ let EzTextArea = class {
|
|
|
3290
3289
|
*/
|
|
3291
3290
|
this.enabled = true;
|
|
3292
3291
|
/**
|
|
3293
|
-
* Ajusta o
|
|
3292
|
+
* Ajusta o número de linhas e consequentemente o height do textarea. Valor default: 4
|
|
3294
3293
|
*/
|
|
3295
3294
|
this.rows = 4;
|
|
3296
3295
|
}
|
|
3297
3296
|
showError() {
|
|
3298
|
-
const hasError = typeof this.
|
|
3297
|
+
const hasError = typeof this.errorMessage === 'string' && this.errorMessage !== '';
|
|
3299
3298
|
if (hasError) {
|
|
3300
3299
|
this._container.classList.add('hasError');
|
|
3301
3300
|
this._messageBoxElem.classList.add('hasError');
|
|
@@ -3375,21 +3374,17 @@ let EzTextArea = class {
|
|
|
3375
3374
|
render() {
|
|
3376
3375
|
return (h(Host, null, h("div", { class: "textarea", ref: (el) => this._container = el }, this.label ?
|
|
3377
3376
|
h("label", { ref: (el) => this._labelElem = el, class: this.enabled ? "textarea__label" : "textarea__label textarea__label--disabled", onClick: () => this._inputElem.focus(), title: this.label }, this.label)
|
|
3378
|
-
: null, h("textarea", { onFocus: () => this.handleFocus(), ref: (el) => this._inputElem = el, value: this.value, disabled: !this.enabled, onInput: () => { this.handleChange(); }, onFocusout: () => { this.handleFocusout(); }, onKeyDown: event => event.stopPropagation(), rows: this.rows })), h("span", { class: "message-box", ref: (el) => this._messageBoxElem = el, title: this.
|
|
3377
|
+
: null, h("textarea", { onFocus: () => this.handleFocus(), ref: (el) => this._inputElem = el, value: this.value, disabled: !this.enabled, onInput: () => { this.handleChange(); }, onFocusout: () => { this.handleFocusout(); }, onKeyDown: event => event.stopPropagation(), rows: this.rows })), h("span", { class: "message-box", ref: (el) => this._messageBoxElem = el, title: this.errorMessage }, this.errorMessage)));
|
|
3379
3378
|
}
|
|
3380
3379
|
get _hostElement() { return getElement(this); }
|
|
3381
3380
|
static get watchers() { return {
|
|
3382
|
-
"
|
|
3381
|
+
"errorMessage": ["showError"],
|
|
3383
3382
|
"value": ["updateInputValue"]
|
|
3384
3383
|
}; }
|
|
3385
3384
|
};
|
|
3386
3385
|
EzTextArea.style = ezTextAreaCss;
|
|
3387
3386
|
|
|
3388
|
-
|
|
3389
|
-
return strValue && /^-?\d*[.,]?\d*$/.test(strValue);
|
|
3390
|
-
}
|
|
3391
|
-
|
|
3392
|
-
const ezTextInputCss = ":host{--it--height:42px;--it--width:100%;--it__icon--width:48px;--it--border-radius:var(--border--radius-medium, 12px);--it--font-size:var(--text--medium, 14px);--it--font-family:var(--font-pattern, Arial);--it--font-weight:var(--text-weight--large, 500);--it--color:var(--title--primary, #000);--it__input--background-color:var(--background--medium, #e0e0e0);--it__input--border:var(--border--medium, 2px solid);--it__input--border-color:var(--it__input--background-color);--it__input--focus--border-color:var(--color--alert-cold-800, #042EFF);--it__input--disabled--background-color:var(--color--disable-secondary, #F2F5F8);--it__input--disabled--color:var(--text--disable, #AFB6C0);--it__input--error--border-color:#CC2936;--it__message_box--font-size:var(--text--small, 12px);--it__message_box--info--color:var(--color--success, #22085d);--it__message_box--error--color:var(--color--error, #FF0000);--it__label--floating--top:6px;--it__label--padding-top:12px;--it__label--padding-left:14px;--it__label--padding-right:12px;display:flex;flex-wrap:wrap;position:relative;width:var(--it--width)}input{width:100%;box-sizing:border-box;padding:var(--space--medium, 6px);font-weight:var(--text-weight--large, 600);height:var(--it--height);border-radius:var(--it--border-radius);font-family:var(--it--font-family);font-size:var(--it--font-size);border:var(--it__input--border);border-color:var(--it__input--border-color);background-color:var(--it__input--background-color);color:var(--it--color)}input:disabled{background-color:var(--it__input--disabled--background-color);color:var(--it__input--disabled--color)}input:focus{outline:none;border-color:var(--it__input--focus--border-color)}input.icon--left{padding-left:var(--it__icon--width)}input.icon--right{padding-right:var(--it__icon--width)}input.hasError{color:var(--it--color);border-color:var(--it__input--error--border-color)}input.text--right{text-align:right}.message-box{display:flex;min-height:16px;min-width:100%;margin-top:2px;line-height:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--it--font-family);font-size:var(--it__message_box--font-size);color:var(--it__message_box--info--color)}.hasError{color:var(--it__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(--it__label--padding-right));left:var(--it--space--medium);font-family:var(--it--font-family);font-size:var(--it--font-size);font-weight:var(--it--font-weight);color:var(--it--color);top:var(--it__label--padding-top);left:var(--it__label--padding-left);padding-right:var(--it__label--padding-right)}.input__label--floated{font-family:var(--it--font-family);font-size:var(--text--extra-small);color:var(--text--primary);top:var(--it__label--floating--top)}.input__label--disabled{color:var(--it__input--disabled--color)}.input__label--left{text-align:left;left:calc(var(--it__icon--width) + 2px);width:calc(100% - var(--it__icon--width))}.input__label--right{right:var(--it__icon--width);width:calc(100% - var(--it__icon--width))}.input__label--left.input__label--right{left:calc(var(--it__icon--width) + 2px);width:calc(100% - var(--it__icon--width) * 2)}.input--with--label{padding-bottom:0}";
|
|
3387
|
+
const ezTextInputCss = ":host{--text-input--height:42px;--text-input--width:100%;--text-input__icon--width:48px;--text-input--border-radius:var(--border--radius-medium, 12px);--text-input--font-size:var(--text--medium, 14px);--text-input--font-family:var(--font-pattern, Arial);--text-input--font-weight:var(--text-weight--large, 500);--text-input--color:var(--title--primary, #000);--text-input__input--background-color:var(--background--medium, #e0e0e0);--text-input__input--border:var(--border--medium, 2px solid);--text-input__input--border-color:var(--text-input__input--background-color);--text-input__input--focus--border-color:var(--color--alert-cold-800, #042EFF);--text-input__input--disabled--background-color:var(--color--disable-secondary, #F2F5F8);--text-input__input--disabled--color:var(--text--disable, #AFB6C0);--text-input__input--error--border-color:#CC2936;--text-input__message_box--font-size:var(--text--small, 12px);--text-input__message_box--info--color:var(--color--success, #22085d);--text-input__message_box--error--color:var(--color--error, #FF0000);--text-input__label--floating--top:6px;--text-input__label--padding-top:12px;--text-input__label--padding-left:14px;--text-input__label--padding-right:12px;display:flex;flex-wrap:wrap;position:relative;width:var(--text-input--width)}input{width:100%;box-sizing:border-box;padding:var(--space--medium, 6px);font-weight:var(--text-weight--large, 600);height:var(--text-input--height);border-radius:var(--text-input--border-radius);font-family:var(--text-input--font-family);font-size:var(--text-input--font-size);border:var(--text-input__input--border);border-color:var(--text-input__input--border-color);background-color:var(--text-input__input--background-color);color:var(--text-input--color)}input:disabled{background-color:var(--text-input__input--disabled--background-color);color:var(--text-input__input--disabled--color)}input:focus{outline:none;border-color:var(--text-input__input--focus--border-color)}input.icon--left{padding-left:var(--text-input__icon--width)}input.icon--right{padding-right:var(--text-input__icon--width)}input.hasError{color:var(--text-input--color);border-color:var(--text-input__input--error--border-color)}input.text--right{text-align:right}.message-box{display:flex;min-height:16px;min-width:100%;margin-top:2px;line-height:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--text-input--font-family);font-size:var(--text-input__message_box--font-size);color:var(--text-input__message_box--info--color)}.hasError{color:var(--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(--text-input__label--padding-right));left:var(--text-input--space--medium);font-family:var(--text-input--font-family);font-size:var(--text-input--font-size);font-weight:var(--text-input--font-weight);color:var(--text-input--color);top:var(--text-input__label--padding-top);left:var(--text-input__label--padding-left);padding-right:var(--text-input__label--padding-right)}.input__label--floated{font-family:var(--text-input--font-family);font-size:var(--text--extra-small);color:var(--text--primary);top:var(--text-input__label--floating--top)}.input__label--disabled{color:var(--text-input__input--disabled--color)}.input__label--left{text-align:left;left:calc(var(--text-input__icon--width) + 2px);width:calc(100% - var(--text-input__icon--width))}.input__label--right{right:var(--text-input__icon--width);width:calc(100% - var(--text-input__icon--width))}.input__label--left.input__label--right{left:calc(var(--text-input__icon--width) + 2px);width:calc(100% - var(--text-input__icon--width) * 2)}.input--with--label{padding-bottom:0}";
|
|
3393
3388
|
|
|
3394
3389
|
let EzTextInput = class {
|
|
3395
3390
|
constructor(hostRef) {
|
|
@@ -3401,7 +3396,7 @@ let EzTextInput = class {
|
|
|
3401
3396
|
this.enabled = true;
|
|
3402
3397
|
}
|
|
3403
3398
|
showError() {
|
|
3404
|
-
const hasError = typeof this.
|
|
3399
|
+
const hasError = typeof this.errorMessage === 'string' && this.errorMessage !== '';
|
|
3405
3400
|
if (hasError) {
|
|
3406
3401
|
this._inputElem.classList.add('hasError');
|
|
3407
3402
|
this._messageBoxElem.classList.add('hasError');
|
|
@@ -3476,16 +3471,13 @@ let EzTextInput = class {
|
|
|
3476
3471
|
this._inputElem.value = this._maskFormatter.format(value);
|
|
3477
3472
|
}
|
|
3478
3473
|
catch (e) {
|
|
3479
|
-
this.
|
|
3474
|
+
this.errorMessage = e.message;
|
|
3480
3475
|
}
|
|
3481
3476
|
}
|
|
3482
3477
|
this.value = this._inputElem.value;
|
|
3483
3478
|
this.adjustFloatingLabel();
|
|
3484
3479
|
}
|
|
3485
3480
|
isValidValue(value) {
|
|
3486
|
-
if (this.onlynumber) {
|
|
3487
|
-
return value == "" || isValidNumber(value);
|
|
3488
|
-
}
|
|
3489
3481
|
if (this.restrict) {
|
|
3490
3482
|
return Array.from(value).reduce((valid, c) => valid && this.restrict.indexOf(c) > -1, true);
|
|
3491
3483
|
}
|
|
@@ -3514,11 +3506,11 @@ let EzTextInput = class {
|
|
|
3514
3506
|
content.style.justifyContent = "center";
|
|
3515
3507
|
content.style.overflow = "hidden";
|
|
3516
3508
|
content.style.top = "0px";
|
|
3517
|
-
content.style.width = "var(--
|
|
3518
|
-
content.style.height = "var(--
|
|
3509
|
+
content.style.width = "var(--text-input__icon--width)";
|
|
3510
|
+
content.style.height = "var(--text-input--height)";
|
|
3519
3511
|
if (slot.name == "leftIcon") {
|
|
3520
3512
|
content.style.left = "0px";
|
|
3521
|
-
content.style.borderRadius = "var(--
|
|
3513
|
+
content.style.borderRadius = "var(--text-input--border-radius) 0 0 var(--text-input--border-radius)";
|
|
3522
3514
|
this._inputElem.classList.add('icon--left');
|
|
3523
3515
|
if (this._labelElem) {
|
|
3524
3516
|
this._labelElem.classList.add('input__label--left');
|
|
@@ -3526,7 +3518,7 @@ let EzTextInput = class {
|
|
|
3526
3518
|
}
|
|
3527
3519
|
else if (slot.name == "rightIcon") {
|
|
3528
3520
|
content.style.right = "0px";
|
|
3529
|
-
content.style.borderRadius = "0 var(--
|
|
3521
|
+
content.style.borderRadius = "0 var(--text-input--border-radius) var(--text-input--border-radius) 0";
|
|
3530
3522
|
this._inputElem.classList.add('icon--right');
|
|
3531
3523
|
if (this._labelElem) {
|
|
3532
3524
|
this._labelElem.classList.add('input__label--right');
|
|
@@ -3544,9 +3536,6 @@ let EzTextInput = class {
|
|
|
3544
3536
|
// Lifecycle web component
|
|
3545
3537
|
//---------------------------------------------
|
|
3546
3538
|
componentDidLoad() {
|
|
3547
|
-
if (this.onlynumber) {
|
|
3548
|
-
this._inputElem.classList.add('text--right');
|
|
3549
|
-
}
|
|
3550
3539
|
this.showError();
|
|
3551
3540
|
this.prepareMask();
|
|
3552
3541
|
this.adjustFloatingLabel();
|
|
@@ -3559,7 +3548,7 @@ let EzTextInput = class {
|
|
|
3559
3548
|
this.value = this._maskFormatter.format(this.value);
|
|
3560
3549
|
}
|
|
3561
3550
|
catch (e) {
|
|
3562
|
-
this.
|
|
3551
|
+
this.errorMessage = e.message;
|
|
3563
3552
|
}
|
|
3564
3553
|
}
|
|
3565
3554
|
if (!this.isValidValue(this.value)) {
|
|
@@ -3571,11 +3560,11 @@ let EzTextInput = class {
|
|
|
3571
3560
|
render() {
|
|
3572
3561
|
return (h(Host, null, h("slot", { name: "leftIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } }), this.label ?
|
|
3573
3562
|
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)
|
|
3574
|
-
: null, h("input", { onFocus: () => this.doFocus(), ref: (el) => this._inputElem = el, type: "text", value: this.value, disabled: !this.enabled, onInput: () => { this.handleChange(); }, onFocusout: () => { this.handleFocusout(); } }), h("slot", { name: "rightIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } }), h("span", { class: "message-box", ref: (el) => this._messageBoxElem = el, title: this.
|
|
3563
|
+
: null, h("input", { onFocus: () => this.doFocus(), ref: (el) => this._inputElem = el, type: "text", value: this.value, disabled: !this.enabled, onInput: () => { this.handleChange(); }, onFocusout: () => { this.handleFocusout(); } }), h("slot", { name: "rightIcon", onSlotchange: (ev) => { this.handleSlotChange(ev); } }), h("span", { class: "message-box", ref: (el) => this._messageBoxElem = el, title: this.errorMessage }, this.errorMessage)));
|
|
3575
3564
|
}
|
|
3576
3565
|
get _hostElement() { return getElement(this); }
|
|
3577
3566
|
static get watchers() { return {
|
|
3578
|
-
"
|
|
3567
|
+
"errorMessage": ["showError"],
|
|
3579
3568
|
"mask": ["prepareMask"],
|
|
3580
3569
|
"value": ["updateInputValue"]
|
|
3581
3570
|
}; }
|