@sankhyalabs/ezui 1.1.68 → 1.1.71
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 +97 -97
- package/dist/cjs/ez-dialog.cjs.entry.js +7 -1
- package/dist/cjs/ez-modal.cjs.entry.js +16 -69
- package/dist/cjs/ez-popover.cjs.entry.js +13 -18
- package/dist/cjs/ez-popup.cjs.entry.js +2 -2
- 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 +11 -6
- package/dist/collection/components/ez-button/ez-button.js +4 -1
- package/dist/collection/components/ez-calendar/ez-calendar.css +2 -2
- package/dist/collection/components/ez-check/ez-check.js +6 -6
- 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 +36 -37
- package/dist/collection/components/ez-date-input/ez-date-input.js +1 -1
- 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/FormSheet.js +1 -1
- package/dist/collection/components/ez-icon/ez-icon.js +2 -2
- 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-numeric-input/ez-numeric-input.css +1 -1
- package/dist/collection/components/ez-numeric-input/ez-numeric-input.js +2 -2
- 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 +3 -3
- 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 +4 -4
- package/dist/collection/components/ez-text-input/ez-text-input.css +8 -0
- package/dist/collection/components/ez-text-input/ez-text-input.js +3 -3
- package/dist/collection/components/ez-time-input/ez-time-input.css +8 -0
- package/dist/collection/components/ez-time-input/ez-time-input.js +1 -1
- 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 +140 -192
- package/dist/esm/ez-action-chip.entry.js +1 -1
- package/dist/esm/ez-button_16.entry.js +97 -97
- package/dist/esm/ez-dialog.entry.js +7 -1
- package/dist/esm/ez-modal.entry.js +16 -69
- package/dist/esm/ez-popover.entry.js +13 -18
- package/dist/esm/ez-popup.entry.js +2 -2
- 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-5aa8871e.entry.js +1 -0
- 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/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 +7 -7
- package/dist/types/components/ez-date-input/ez-date-input.d.ts +1 -1
- package/dist/types/components/ez-dialog/ez-dialog.d.ts +8 -2
- package/dist/types/components/ez-icon/ez-icon.d.ts +1 -1
- 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-numeric-input/ez-numeric-input.d.ts +2 -2
- 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 +2 -2
- package/dist/types/components/ez-tabselector/ez-tabselector.d.ts +19 -10
- package/dist/types/components/ez-text-area/ez-text-area.d.ts +3 -3
- package/dist/types/components/ez-text-input/ez-text-input.d.ts +3 -3
- package/dist/types/components/ez-time-input/ez-time-input.d.ts +1 -1
- package/dist/types/components/ez-upload/ez-upload.d.ts +3 -3
- package/dist/types/components.d.ts +116 -92
- package/package.json +1 -1
- package/dist/ezui/p-7c7dbfcb.entry.js +0 -1
- package/dist/ezui/p-7d066b1c.entry.js +0 -1
- package/dist/ezui/p-8c8f1c00.entry.js +0 -1
- package/dist/ezui/p-d185d7e8.entry.js +0 -1
- package/dist/ezui/p-ee5058c1.entry.js +0 -1
|
@@ -2,63 +2,65 @@
|
|
|
2
2
|
|
|
3
3
|
/* dimensions */
|
|
4
4
|
/*@doc Define altura do input.*/
|
|
5
|
-
--
|
|
5
|
+
--combo-box--height: 42px;
|
|
6
6
|
/*@doc Define largura do input.*/
|
|
7
|
-
--
|
|
7
|
+
--combo-box--width: 100%;
|
|
8
8
|
/*@doc Define largura do slot do ícone do input.*/
|
|
9
|
-
--
|
|
9
|
+
--combo-box__icon--width: 48px;
|
|
10
10
|
|
|
11
11
|
/* general */
|
|
12
12
|
/*@doc Define o raio da borda do input.*/
|
|
13
|
-
--
|
|
13
|
+
--combo-box--border-radius: var(--border--radius-medium, 12px);
|
|
14
14
|
/*@doc Define o raio da borda do input quando pequeno.*/
|
|
15
|
-
--
|
|
15
|
+
--combo-box--border-radius-small: var(--border--radius-small, 6px);
|
|
16
16
|
/*@doc Define o tamanho da fonte dentro do input.*/
|
|
17
|
-
--
|
|
17
|
+
--combo-box--font-size: var(--text--medium, 14px);
|
|
18
18
|
/*@doc Define a família da fonte dentro do input.*/
|
|
19
|
-
--
|
|
19
|
+
--combo-box--font-family: var(--font-pattern, Arial);
|
|
20
20
|
/*@doc Define o peso da fonte dentro do input quando pesada.*/
|
|
21
|
-
--
|
|
21
|
+
--combo-box--font-weight--large: var(--text-weight--large, 500);
|
|
22
22
|
/*@doc Define o peso da fonte dentro do input quando média.*/
|
|
23
|
-
--
|
|
23
|
+
--combo-box--font-weight--medium: var(--text-weight--medium, 400);
|
|
24
24
|
/*@doc Define a cor de fundo da lista de opções.*/
|
|
25
|
-
--
|
|
25
|
+
--combo-box--background-color--xlight: var(--background--xlight, #fff);
|
|
26
26
|
|
|
27
27
|
/* input */
|
|
28
28
|
/*@doc Define a cor de fundo do input.*/
|
|
29
|
-
--
|
|
29
|
+
--combo-box__input--background-color: var(--background--medium, #e0e0e0);
|
|
30
30
|
/*@doc Define o estilo da borda do input.*/
|
|
31
|
-
--
|
|
31
|
+
--combo-box__input--border: var(--border--medium, 2px solid);
|
|
32
32
|
/*@doc Define a cor da borda do input.*/
|
|
33
|
-
--
|
|
33
|
+
--combo-box__input--border-color: var(--combo-box__input--background-color);
|
|
34
34
|
/*no modo normal usamos a borda com a mesma cor do bg*/
|
|
35
35
|
/*@doc Define a cor da borda do input quando focado.*/
|
|
36
|
-
--
|
|
36
|
+
--combo-box__input--focus--border-color: var(--color--primary, #008561);
|
|
37
37
|
/*@doc Define a cor de fundo do input quando desabilitado.*/
|
|
38
|
-
--
|
|
38
|
+
--combo-box__input--disabled--background-color: var(--color--disable-secondary, #F2F5F8);
|
|
39
39
|
/*@doc Define a cor do texto dentro do input quando desabilitado.*/
|
|
40
|
-
--
|
|
40
|
+
--combo-box__input--disabled--color: var(--text--disable, #AFB6C0);
|
|
41
41
|
/*@doc Define a cor da borda do input quando com erro.*/
|
|
42
|
-
--
|
|
42
|
+
--combo-box__input--error--border-color: #CC2936;
|
|
43
43
|
|
|
44
44
|
/* label */
|
|
45
45
|
/*@doc Define a cor do label.*/
|
|
46
|
-
--
|
|
46
|
+
--combo-box__label--color: var(--title--primary, #919191);
|
|
47
47
|
|
|
48
48
|
/* list */
|
|
49
49
|
/*@doc Define a cor do texto da lista de opções.*/
|
|
50
|
-
--
|
|
50
|
+
--combo-box__list-text--primary: var(--text--primary, #626e82);
|
|
51
51
|
/*@doc Define a altura do box da lista de opções.*/
|
|
52
|
-
--
|
|
52
|
+
--combo-box__list-height: calc(var(--combo-box--font-size) + var(--combo-box--space--medium));
|
|
53
53
|
|
|
54
54
|
/*@doc Contém a imagem do ícone que aciona a lista.*/
|
|
55
|
-
--
|
|
55
|
+
--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>');
|
|
56
56
|
/*@doc Contém a imagem do ícone de pesquisa.*/
|
|
57
|
-
--
|
|
57
|
+
--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>');
|
|
58
58
|
|
|
59
59
|
/* espaçamento */
|
|
60
|
-
|
|
61
|
-
--
|
|
60
|
+
/*@doc Define um espaçamento mediano entre elementos do componente.*/
|
|
61
|
+
--combo-box--space--medium: var(--space--medium, 12px);
|
|
62
|
+
/*@doc Define um espaçamento pequeno entre elementos do componente.*/
|
|
63
|
+
--combo-box--space--small: var(--space--small, 6px);
|
|
62
64
|
|
|
63
65
|
/***************
|
|
64
66
|
host style
|
|
@@ -68,12 +70,12 @@
|
|
|
68
70
|
flex-wrap: wrap;
|
|
69
71
|
position: relative;
|
|
70
72
|
/*public*/
|
|
71
|
-
width: var(--
|
|
73
|
+
width: var(--combo-box--width);
|
|
72
74
|
}
|
|
73
75
|
|
|
74
76
|
ez-text-input {
|
|
75
|
-
--it__input--background-color: var(--
|
|
76
|
-
--it__input--border-color: var(--
|
|
77
|
+
--it__input--background-color: var(--combo-box__input--background-color, #FFFFFF);
|
|
78
|
+
--it__input--border-color: var(--combo-box__input--border-color, #DCE0E8);
|
|
77
79
|
}
|
|
78
80
|
|
|
79
81
|
.list-container {
|
|
@@ -91,12 +93,12 @@ ez-text-input {
|
|
|
91
93
|
flex-direction: column;
|
|
92
94
|
|
|
93
95
|
/*public*/
|
|
94
|
-
background-color: var(--
|
|
95
|
-
padding: var(--
|
|
96
|
-
border-radius: var(--
|
|
96
|
+
background-color: var(--combo-box--background-color--xlight);
|
|
97
|
+
padding: var(--combo-box--space--small);
|
|
98
|
+
border-radius: var(--combo-box--border-radius);
|
|
97
99
|
box-shadow: var(--shadow, 0px 0px 16px 0px #000);
|
|
98
100
|
scroll-behavior: smooth;
|
|
99
|
-
max-height: calc(4*var(--
|
|
101
|
+
max-height: calc(4*var(--combo-box__list-height) + 2*var(--combo-box--space--small));
|
|
100
102
|
overflow: auto;
|
|
101
103
|
}
|
|
102
104
|
|
|
@@ -105,11 +107,11 @@ ez-text-input {
|
|
|
105
107
|
display: flex;
|
|
106
108
|
justify-content: space-between;
|
|
107
109
|
align-items: center;
|
|
108
|
-
border-radius: var(--
|
|
109
|
-
padding: 0 var(--
|
|
110
|
+
border-radius: var(--combo-box--border-radius-small);
|
|
111
|
+
padding: 0 var(--combo-box--space--small);
|
|
110
112
|
list-style-type: none;
|
|
111
113
|
|
|
112
|
-
min-height: var(--
|
|
114
|
+
min-height: var(--combo-box__list-height);
|
|
113
115
|
;
|
|
114
116
|
}
|
|
115
117
|
|
|
@@ -117,9 +119,9 @@ ez-text-input {
|
|
|
117
119
|
text-align: left;
|
|
118
120
|
flex-basis: 85%;
|
|
119
121
|
flex-grow: 1;
|
|
120
|
-
color: var(--
|
|
121
|
-
font-weight: var(--
|
|
122
|
-
font-family: var(--
|
|
122
|
+
color: var(--combo-box__list-text--primary);
|
|
123
|
+
font-weight: var(--combo-box--font-weight--large);
|
|
124
|
+
font-family: var(--combo-box--font-family);
|
|
123
125
|
white-space: nowrap;
|
|
124
126
|
overflow: hidden;
|
|
125
127
|
text-overflow: ellipsis;
|
|
@@ -129,9 +131,9 @@ ez-text-input {
|
|
|
129
131
|
text-align: right;
|
|
130
132
|
flex-basis: 15%;
|
|
131
133
|
flex-grow: 0;
|
|
132
|
-
color: var(--
|
|
133
|
-
font-weight: var(--
|
|
134
|
-
font-family: var(--
|
|
134
|
+
color: var(--combo-box__list-text--primary);
|
|
135
|
+
font-weight: var(--combo-box--font-weight--large);
|
|
136
|
+
font-family: var(--combo-box--font-family);
|
|
135
137
|
white-space: nowrap;
|
|
136
138
|
overflow: hidden;
|
|
137
139
|
text-overflow: ellipsis;
|
|
@@ -162,8 +164,8 @@ li:hover {
|
|
|
162
164
|
background-color: var(--text--primary, #008561);
|
|
163
165
|
width: 16px;
|
|
164
166
|
height: 16px;
|
|
165
|
-
-webkit-mask-image: var(--
|
|
166
|
-
mask-image: var(--
|
|
167
|
+
-webkit-mask-image: var(--combo-box--drop-down__image);
|
|
168
|
+
mask-image: var(--combo-box--drop-down__image);
|
|
167
169
|
}
|
|
168
170
|
|
|
169
171
|
.btn-open-options:disabled:after {
|
|
@@ -191,8 +193,8 @@ li:hover {
|
|
|
191
193
|
background-color: var(--text--primary, #008561);
|
|
192
194
|
width: 22px;
|
|
193
195
|
height: 22px;
|
|
194
|
-
-webkit-mask-image: var(--
|
|
195
|
-
mask-image: var(--
|
|
196
|
+
-webkit-mask-image: var(--combo-box--search__image);
|
|
197
|
+
mask-image: var(--combo-box--search__image);
|
|
196
198
|
}
|
|
197
199
|
|
|
198
200
|
.btn-open-search:disabled:after {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FloatingManager } from
|
|
2
|
-
import { Component, h, Host, Prop, State, Event, Element, Watch } from
|
|
1
|
+
import { FloatingManager } from "@sankhyalabs/core";
|
|
2
|
+
import { Component, h, Host, Prop, State, Event, Element, Watch } from "@stencil/core";
|
|
3
3
|
export class EzComboBox {
|
|
4
4
|
constructor() {
|
|
5
5
|
/**
|
|
@@ -9,11 +9,11 @@ export class EzComboBox {
|
|
|
9
9
|
/**
|
|
10
10
|
* Ajusta a opção de mostrar o "value" ao selecionar uma opção. Por padrão não mostra.
|
|
11
11
|
*/
|
|
12
|
-
this.
|
|
12
|
+
this.showSelectedValue = false;
|
|
13
13
|
/**
|
|
14
14
|
* Ajusta a opção de mostrar o "value" para cada opção. Por padrão não mostra
|
|
15
15
|
*/
|
|
16
|
-
this.
|
|
16
|
+
this.showOptionValue = false;
|
|
17
17
|
}
|
|
18
18
|
internalUpdate() {
|
|
19
19
|
if (this._inputElement) {
|
|
@@ -25,31 +25,31 @@ export class EzComboBox {
|
|
|
25
25
|
this.updateVisibleOptions();
|
|
26
26
|
}
|
|
27
27
|
getText() {
|
|
28
|
-
let text =
|
|
28
|
+
let text = "";
|
|
29
29
|
const selected = this.getSelectedOption();
|
|
30
30
|
if (selected) {
|
|
31
|
-
text = this.
|
|
31
|
+
text = this.showSelectedValue ? `${selected.value} - ${selected.label}` : selected.label;
|
|
32
32
|
}
|
|
33
33
|
return text;
|
|
34
34
|
}
|
|
35
35
|
getSelectedOption() {
|
|
36
|
-
if (typeof this.value ===
|
|
36
|
+
if (typeof this.value === "string" || this.value instanceof String) {
|
|
37
37
|
return this._visibleOptions.find(o => o.value === this.value);
|
|
38
38
|
}
|
|
39
39
|
return this.value;
|
|
40
40
|
}
|
|
41
41
|
updateVisibleOptions() {
|
|
42
42
|
let opts = this._source || [];
|
|
43
|
-
if (!this.
|
|
43
|
+
if (!this.searchMode && this._criteria) {
|
|
44
44
|
const upperCriteria = this._criteria.toUpperCase();
|
|
45
45
|
opts = opts.filter(opt => opt.label.toLocaleUpperCase().indexOf(upperCriteria) > -1);
|
|
46
46
|
}
|
|
47
|
-
this._visibleOptions = [{ value:
|
|
47
|
+
this._visibleOptions = [{ value: undefined, label: "" }].concat(opts);
|
|
48
48
|
}
|
|
49
49
|
buildItem(opt, index) {
|
|
50
50
|
return h("li", { class: index === this._preSelection ? "item preselected" : "item", id: `item_${opt.value}`, onMouseDown: () => this.selectOption(opt), onMouseOver: () => this._preSelection = undefined },
|
|
51
51
|
h("span", { class: "item--label", title: opt.label }, opt.label),
|
|
52
|
-
this.
|
|
52
|
+
this.showOptionValue ? h("span", { class: "item--value", title: opt.value }, opt.value) : undefined);
|
|
53
53
|
}
|
|
54
54
|
showOptions() {
|
|
55
55
|
if (!this.enabled) {
|
|
@@ -58,10 +58,10 @@ export class EzComboBox {
|
|
|
58
58
|
//FIXME: Provavelmente isso fará com que o popup abra em uma
|
|
59
59
|
//posição errada no futuro. Preferi fazer simples no começo,
|
|
60
60
|
//porque não quis onerar o text input com essa funcionalidade...
|
|
61
|
-
const top = this.errorMessage ?
|
|
61
|
+
const top = this.errorMessage ? "0px" : "-17px";
|
|
62
62
|
this._floatingID = FloatingManager.float(this._optionsList, this._listContainer, { autoClose: true, top });
|
|
63
63
|
window.requestAnimationFrame(() => {
|
|
64
|
-
this._optionsList.scrollIntoView({ behavior:
|
|
64
|
+
this._optionsList.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
67
|
hideOptions() {
|
|
@@ -74,7 +74,7 @@ export class EzComboBox {
|
|
|
74
74
|
return this._floatingID !== undefined && FloatingManager.isFloating(this._floatingID);
|
|
75
75
|
}
|
|
76
76
|
nextOption() {
|
|
77
|
-
if (this.
|
|
77
|
+
if (this.searchMode && !this.isOptionsVisible()) {
|
|
78
78
|
return;
|
|
79
79
|
}
|
|
80
80
|
this.showOptions();
|
|
@@ -110,7 +110,7 @@ export class EzComboBox {
|
|
|
110
110
|
selectOption(opt) {
|
|
111
111
|
const currentOpt = this.getSelectedOption();
|
|
112
112
|
if (currentOpt !== opt) {
|
|
113
|
-
const adjustedOpt = !(opt === null || opt === void 0 ? void 0 : opt.value) ?
|
|
113
|
+
const adjustedOpt = !(opt === null || opt === void 0 ? void 0 : opt.value) ? undefined : opt;
|
|
114
114
|
this.value = adjustedOpt;
|
|
115
115
|
this.ezChange.emit(adjustedOpt);
|
|
116
116
|
}
|
|
@@ -128,10 +128,10 @@ export class EzComboBox {
|
|
|
128
128
|
this.updateVisibleOptions();
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
loadOptions(mode, argument =
|
|
131
|
+
loadOptions(mode, argument = "") {
|
|
132
132
|
this._criteria = argument;
|
|
133
|
-
if (this.
|
|
134
|
-
this.updateSource(this.
|
|
133
|
+
if (this.optionLoader) {
|
|
134
|
+
this.updateSource(this.optionLoader({ mode, argument }));
|
|
135
135
|
}
|
|
136
136
|
else {
|
|
137
137
|
this.updateSource(this.options);
|
|
@@ -139,7 +139,7 @@ export class EzComboBox {
|
|
|
139
139
|
}
|
|
140
140
|
cancelPreselection() {
|
|
141
141
|
if (!this._inputElement.value && this.value) {
|
|
142
|
-
this.selectOption(
|
|
142
|
+
this.selectOption(undefined);
|
|
143
143
|
}
|
|
144
144
|
else {
|
|
145
145
|
this.internalUpdate();
|
|
@@ -151,11 +151,11 @@ export class EzComboBox {
|
|
|
151
151
|
componentWillLoad() {
|
|
152
152
|
if (this.options === undefined) {
|
|
153
153
|
this.options = [];
|
|
154
|
-
const optionsTags = this.el.querySelectorAll(
|
|
154
|
+
const optionsTags = this.el.querySelectorAll("option");
|
|
155
155
|
if (optionsTags) {
|
|
156
156
|
optionsTags.forEach(e => {
|
|
157
157
|
let label = e.innerText;
|
|
158
|
-
let value = e.getAttribute(
|
|
158
|
+
let value = e.getAttribute("value");
|
|
159
159
|
if (!value) {
|
|
160
160
|
value = label;
|
|
161
161
|
}
|
|
@@ -164,11 +164,11 @@ export class EzComboBox {
|
|
|
164
164
|
});
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
|
-
if (this.
|
|
167
|
+
if (this.searchMode) {
|
|
168
168
|
this.updateSource([]);
|
|
169
169
|
}
|
|
170
170
|
else {
|
|
171
|
-
this.loadOptions(
|
|
171
|
+
this.loadOptions("PRELOAD");
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
componentDidRender() {
|
|
@@ -186,13 +186,12 @@ export class EzComboBox {
|
|
|
186
186
|
const argument = event.target.value;
|
|
187
187
|
this._criteria = argument;
|
|
188
188
|
if (this._criteria) {
|
|
189
|
-
if (this.
|
|
189
|
+
if (this.searchMode) {
|
|
190
190
|
if (this._changeDeboucingTimeout) {
|
|
191
191
|
window.clearTimeout(this._changeDeboucingTimeout);
|
|
192
192
|
}
|
|
193
193
|
this._changeDeboucingTimeout = window.setTimeout(() => {
|
|
194
|
-
|
|
195
|
-
this.loadOptions('PREDICTIVE', argument);
|
|
194
|
+
this.loadOptions("PREDICTIVE", argument);
|
|
196
195
|
}, 200);
|
|
197
196
|
}
|
|
198
197
|
else {
|
|
@@ -202,7 +201,7 @@ export class EzComboBox {
|
|
|
202
201
|
}
|
|
203
202
|
}
|
|
204
203
|
onTextInputClickHandler() {
|
|
205
|
-
if (!this.
|
|
204
|
+
if (!this.searchMode) {
|
|
206
205
|
this.showOptions();
|
|
207
206
|
}
|
|
208
207
|
}
|
|
@@ -228,8 +227,8 @@ export class EzComboBox {
|
|
|
228
227
|
}
|
|
229
228
|
render() {
|
|
230
229
|
return (h(Host, null,
|
|
231
|
-
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.
|
|
232
|
-
h("button", { disabled: !this.enabled, tabindex: -1, class: "btn-open-search", onClick: () => { this.loadOptions(
|
|
230
|
+
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 ?
|
|
231
|
+
h("button", { disabled: !this.enabled, tabindex: -1, class: "btn-open-search", onClick: () => { this.loadOptions("ADVANCED"); }, slot: "leftIcon" })
|
|
233
232
|
:
|
|
234
233
|
h("button", { disabled: !this.enabled, tabindex: -1, class: "btn-open-options", slot: "rightIcon", onClick: () => this.showOptions() })),
|
|
235
234
|
h("section", { class: "list-container", ref: elem => this._listContainer = elem },
|
|
@@ -277,7 +276,7 @@ export class EzComboBox {
|
|
|
277
276
|
"optional": false,
|
|
278
277
|
"docs": {
|
|
279
278
|
"tags": [],
|
|
280
|
-
"text": "
|
|
279
|
+
"text": "T\u00EDtulo do campo"
|
|
281
280
|
},
|
|
282
281
|
"attribute": "label",
|
|
283
282
|
"reflect": true
|
|
@@ -319,7 +318,7 @@ export class EzComboBox {
|
|
|
319
318
|
"optional": false,
|
|
320
319
|
"docs": {
|
|
321
320
|
"tags": [],
|
|
322
|
-
"text": "Array no formato \"{value: string, label: string} que alimenta as op\u00E7\u00F5es do Combobox
|
|
321
|
+
"text": "Array no formato \"{value: string, label: string}\" que alimenta as op\u00E7\u00F5es do Combobox"
|
|
323
322
|
}
|
|
324
323
|
},
|
|
325
324
|
"errorMessage": {
|
|
@@ -339,7 +338,7 @@ export class EzComboBox {
|
|
|
339
338
|
"attribute": "error-message",
|
|
340
339
|
"reflect": true
|
|
341
340
|
},
|
|
342
|
-
"
|
|
341
|
+
"searchMode": {
|
|
343
342
|
"type": "boolean",
|
|
344
343
|
"mutable": false,
|
|
345
344
|
"complexType": {
|
|
@@ -353,10 +352,10 @@ export class EzComboBox {
|
|
|
353
352
|
"tags": [],
|
|
354
353
|
"text": ""
|
|
355
354
|
},
|
|
356
|
-
"attribute": "
|
|
355
|
+
"attribute": "search-mode",
|
|
357
356
|
"reflect": false
|
|
358
357
|
},
|
|
359
|
-
"
|
|
358
|
+
"showSelectedValue": {
|
|
360
359
|
"type": "boolean",
|
|
361
360
|
"mutable": false,
|
|
362
361
|
"complexType": {
|
|
@@ -370,11 +369,11 @@ export class EzComboBox {
|
|
|
370
369
|
"tags": [],
|
|
371
370
|
"text": "Ajusta a op\u00E7\u00E3o de mostrar o \"value\" ao selecionar uma op\u00E7\u00E3o. Por padr\u00E3o n\u00E3o mostra."
|
|
372
371
|
},
|
|
373
|
-
"attribute": "
|
|
372
|
+
"attribute": "show-selected-value",
|
|
374
373
|
"reflect": false,
|
|
375
374
|
"defaultValue": "false"
|
|
376
375
|
},
|
|
377
|
-
"
|
|
376
|
+
"showOptionValue": {
|
|
378
377
|
"type": "boolean",
|
|
379
378
|
"mutable": false,
|
|
380
379
|
"complexType": {
|
|
@@ -388,11 +387,11 @@ export class EzComboBox {
|
|
|
388
387
|
"tags": [],
|
|
389
388
|
"text": "Ajusta a op\u00E7\u00E3o de mostrar o \"value\" para cada op\u00E7\u00E3o. Por padr\u00E3o n\u00E3o mostra"
|
|
390
389
|
},
|
|
391
|
-
"attribute": "
|
|
390
|
+
"attribute": "show-option-value",
|
|
392
391
|
"reflect": false,
|
|
393
392
|
"defaultValue": "false"
|
|
394
393
|
},
|
|
395
|
-
"
|
|
394
|
+
"optionLoader": {
|
|
396
395
|
"type": "unknown",
|
|
397
396
|
"mutable": false,
|
|
398
397
|
"complexType": {
|
|
@@ -2,52 +2,52 @@
|
|
|
2
2
|
|
|
3
3
|
/* Container */
|
|
4
4
|
/*@doc Define o espaçamento do container.*/
|
|
5
|
-
--
|
|
5
|
+
--dialog__container-padding: var(--space--large, 24px);
|
|
6
6
|
|
|
7
7
|
/* Botões */
|
|
8
8
|
/*@doc Define a cor de fundo do botão de fechar.*/
|
|
9
|
-
--
|
|
9
|
+
--dialog__btn__close--background-color: var(--title--primary, #2b3a54);
|
|
10
10
|
/*@doc Define o espaçamento direito do botão de negação.*/
|
|
11
|
-
--
|
|
11
|
+
--dialog__btn__no--padding-right: var(--space--large, 24px);
|
|
12
12
|
/*@doc Contém a imagem do ícone de fechamento.*/
|
|
13
|
-
--
|
|
13
|
+
--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>');
|
|
14
14
|
|
|
15
15
|
/* Título */
|
|
16
16
|
/*@doc Define o estilo da mensagem exibida no título.*/
|
|
17
|
-
--
|
|
17
|
+
--dialog__title--font-pattern: var(--font-pattern, "'Sora', 'Algerian'");
|
|
18
18
|
/*@doc Define o espaçamento a esquerda do título.*/
|
|
19
|
-
--
|
|
19
|
+
--dialog__title--padding-left: var(--space--small, 6px);
|
|
20
20
|
/*@doc Define o espaçamento abaixo do container do título.*/
|
|
21
|
-
--
|
|
21
|
+
--dialog__title__container--padding-bottom: var(--space--medium, 12px);
|
|
22
22
|
/*@doc Define o peso do título.*/
|
|
23
|
-
--
|
|
23
|
+
--dialog__title--weight--large: var(--text-weight--large, 600);
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
/* Corpo da Mensagem */
|
|
27
27
|
/*@doc Define o estilo do texto da mensagem.*/
|
|
28
|
-
--
|
|
28
|
+
--dialog__body--font-pattern: var(--font-pattern, "'Sora', 'Algerian'");
|
|
29
29
|
/*@doc Define a sombra do texto da mensagem.*/
|
|
30
|
-
--
|
|
30
|
+
--dialog__body--text-shadow: var(--text-shadow, "0 0 0 #353535, 0 0 1px transparent");
|
|
31
31
|
/*@doc Define o peso do texto da mensagem.*/
|
|
32
|
-
--
|
|
32
|
+
--dialog__body--text-weight--medium: var(--text-weight--medium, 400);
|
|
33
33
|
/*@doc Define o espaçamento inferior do texto da mensagem.*/
|
|
34
|
-
--
|
|
34
|
+
--dialog__body--padding-bottom: var(--space--large, 24px);
|
|
35
35
|
/*@doc Define o tamanho do texto da mensagem.*/
|
|
36
|
-
--
|
|
36
|
+
--dialog__body--font-size: var(--text--medium, 14px);
|
|
37
37
|
/*@doc Define a cor do texto da mensagem.*/
|
|
38
|
-
--
|
|
38
|
+
--dialog__body--color: var(--text--primary, #626e82);
|
|
39
39
|
|
|
40
40
|
/*@doc Define a cor de fundo dos indicadores do modo crítico.*/
|
|
41
|
-
--
|
|
41
|
+
--dialog__critical--background-color: var(--color--alert-error-800, #BD0025);
|
|
42
42
|
/*@doc Define a cor de fundo da lista de opções.*/
|
|
43
|
-
--
|
|
43
|
+
--dialog__warning--background-color: var(--color--alert-warning-500, #EFB103);
|
|
44
44
|
|
|
45
45
|
/*@doc Define a camada que o dialog será exibido.*/
|
|
46
|
-
--
|
|
46
|
+
--dialog-z-index: var(--most-visible, 3);
|
|
47
47
|
/*@doc Contém a imagem do ícone de alerta.*/
|
|
48
|
-
--
|
|
48
|
+
--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>');
|
|
49
49
|
/*@doc Contém a imagem do ícone crítico.*/
|
|
50
|
-
--
|
|
50
|
+
--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>');
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
h2 {
|
|
@@ -61,7 +61,7 @@ h2 {
|
|
|
61
61
|
position: fixed;
|
|
62
62
|
display: flex;
|
|
63
63
|
top: 0px;
|
|
64
|
-
z-index: var(--
|
|
64
|
+
z-index: var(--dialog-z-index);
|
|
65
65
|
left: 0px;
|
|
66
66
|
width: 100%;
|
|
67
67
|
box-sizing: border-box;
|
|
@@ -99,30 +99,30 @@ h2 {
|
|
|
99
99
|
background: #FFFF;
|
|
100
100
|
border-radius: 0px 6px 6px 0px;
|
|
101
101
|
box-sizing: border-box;
|
|
102
|
-
padding: var(--
|
|
102
|
+
padding: var(--dialog__container-padding)
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
.dialog__critical--indicator {
|
|
106
106
|
box-sizing: border-box;
|
|
107
107
|
width: 12px;
|
|
108
108
|
border-radius: 6px 0px 0px 6px;
|
|
109
|
-
background-color: var(--
|
|
109
|
+
background-color: var(--dialog__critical--background-color);
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
.dialog__warning--indicator {
|
|
113
113
|
width: 12px;
|
|
114
114
|
border-radius: 6px 0px 0px 6px;
|
|
115
115
|
box-sizing: border-box;
|
|
116
|
-
background-color: var(--
|
|
116
|
+
background-color: var(--dialog__warning--background-color);
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
.message {
|
|
120
|
-
font-size: var(--
|
|
121
|
-
font-weight: var(--
|
|
122
|
-
font-family: var(--
|
|
123
|
-
text-shadow: var(--
|
|
124
|
-
padding-bottom: var(--
|
|
125
|
-
color: var(--
|
|
120
|
+
font-size: var(--dialog__body--font-size);
|
|
121
|
+
font-weight: var(--dialog__body--text-weight--medium);
|
|
122
|
+
font-family: var(--dialog__body--font-pattern);
|
|
123
|
+
text-shadow: var(--dialog__body--text-shadow);
|
|
124
|
+
padding-bottom: var(--dialog__body--padding-bottom);
|
|
125
|
+
color: var(--dialog__body--color);
|
|
126
126
|
max-height: 30vh;
|
|
127
127
|
content-visibility: auto;
|
|
128
128
|
margin-bottom: 24px;
|
|
@@ -136,15 +136,15 @@ h2 {
|
|
|
136
136
|
|
|
137
137
|
.title {
|
|
138
138
|
display: flex;
|
|
139
|
-
font-family: var(--
|
|
139
|
+
font-family: var(--dialog__title--font-pattern);
|
|
140
140
|
margin: 0;
|
|
141
|
-
font-weight: var(--
|
|
141
|
+
font-weight: var(--dialog__title--weight--large);
|
|
142
142
|
line-height: 1.3;
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
.title__container {
|
|
146
146
|
display: flex;
|
|
147
|
-
padding-bottom: var(--
|
|
147
|
+
padding-bottom: var(--dialog__title__container--padding-bottom);
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
.title__box {
|
|
@@ -155,13 +155,13 @@ h2 {
|
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
.title--label {
|
|
158
|
-
padding-left: var(--
|
|
158
|
+
padding-left: var(--dialog__title--padding-left);
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
.title-icon {
|
|
162
162
|
outline: none;
|
|
163
163
|
border: none;
|
|
164
|
-
background-color: var(--
|
|
164
|
+
background-color: var(--dialog__warning--background-color);
|
|
165
165
|
width: 26px;
|
|
166
166
|
height: 26px;
|
|
167
167
|
border-radius: 100%;
|
|
@@ -172,7 +172,7 @@ h2 {
|
|
|
172
172
|
}
|
|
173
173
|
|
|
174
174
|
.title-icon--critical {
|
|
175
|
-
background-color: var(--
|
|
175
|
+
background-color: var(--dialog__critical--background-color);
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
.btn-close {
|
|
@@ -190,11 +190,11 @@ h2 {
|
|
|
190
190
|
.btn-close::after {
|
|
191
191
|
content: '';
|
|
192
192
|
display: flex;
|
|
193
|
-
background-color: var(--
|
|
193
|
+
background-color: var(--dialog__btn__close--background-color);
|
|
194
194
|
width: 12px;
|
|
195
195
|
height: 12px;
|
|
196
|
-
-webkit-mask-image: var(--
|
|
197
|
-
mask-image: var(--
|
|
196
|
+
-webkit-mask-image: var(--dialog__btn__close__image);
|
|
197
|
+
mask-image: var(--dialog__btn__close__image);
|
|
198
198
|
}
|
|
199
199
|
|
|
200
200
|
.title-icon::after {
|
|
@@ -203,8 +203,8 @@ h2 {
|
|
|
203
203
|
background-color: #FFFF;
|
|
204
204
|
width: 15px;
|
|
205
205
|
height: 15px;
|
|
206
|
-
-webkit-mask-image: var(--
|
|
207
|
-
mask-image: var(--
|
|
206
|
+
-webkit-mask-image: var(--dialog--warning__image);
|
|
207
|
+
mask-image: var(--dialog--warning__image);
|
|
208
208
|
}
|
|
209
209
|
|
|
210
210
|
.title-icon--critical::after {
|
|
@@ -213,8 +213,8 @@ h2 {
|
|
|
213
213
|
background-color: #FFFF;
|
|
214
214
|
width: 13px;
|
|
215
215
|
height: 13px;
|
|
216
|
-
-webkit-mask-image: var(--
|
|
217
|
-
mask-image: var(--
|
|
216
|
+
-webkit-mask-image: var(--dialog--critical__image);
|
|
217
|
+
mask-image: var(--dialog--critical__image);
|
|
218
218
|
}
|
|
219
219
|
|
|
220
220
|
.button-yes-no__container {
|
|
@@ -226,7 +226,7 @@ h2 {
|
|
|
226
226
|
}
|
|
227
227
|
|
|
228
228
|
.button__no {
|
|
229
|
-
padding-right: var(--
|
|
229
|
+
padding-right: var(--dialog__btn__no--padding-right);
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
.button__ok--container {
|