@sankhyalabs/sankhyablocks 0.0.0-bugfix-dev-KB-71072.0 → 0.0.0-bugfix-dev-KB-76362.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/dist/cjs/{SnkMessageBuilder-bae64d0d.js → SnkMessageBuilder-7691a2c1.js} +10 -0
  2. package/dist/cjs/index-f9e81701.js +8 -0
  3. package/dist/cjs/input-distinct-search_2.cjs.entry.js +471 -0
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  6. package/dist/cjs/snk-actions-button_4.cjs.entry.js +22 -25
  7. package/dist/cjs/snk-application.cjs.entry.js +2 -18
  8. package/dist/cjs/snk-config-options_3.cjs.entry.js +5 -17
  9. package/dist/cjs/snk-crud.cjs.entry.js +2 -8
  10. package/dist/cjs/snk-data-exporter.cjs.entry.js +5 -5
  11. package/dist/cjs/{snk-data-unit-3d9b6ed4.js → snk-data-unit-7dbdad0e.js} +14 -26
  12. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  13. package/dist/cjs/snk-detail-view.cjs.entry.js +2 -2
  14. package/dist/cjs/snk-distinct-search.cjs.entry.js +123 -0
  15. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +0 -9
  16. package/dist/cjs/snk-filter-text.cjs.entry.js +1 -2
  17. package/dist/cjs/snk-grid.cjs.entry.js +2 -10
  18. package/dist/cjs/{snk-guides-viewer-2139481c.js → snk-guides-viewer-eee43c8b.js} +1 -1
  19. package/dist/cjs/snk-guides-viewer.cjs.entry.js +1 -1
  20. package/dist/cjs/snk-simple-crud.cjs.entry.js +4 -7
  21. package/dist/cjs/snk-taskbar.cjs.entry.js +37 -40
  22. package/dist/collection/collection-manifest.json +3 -0
  23. package/dist/collection/components/snk-actions-button/snk-actions-button.js +26 -27
  24. package/dist/collection/components/snk-application/snk-application.js +1 -41
  25. package/dist/collection/components/snk-crud/snk-crud.js +2 -26
  26. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +1 -1
  27. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +3 -3
  28. package/dist/collection/components/snk-data-unit/snk-data-unit.js +13 -25
  29. package/dist/collection/components/snk-distinct-search/snk-distinct-search.css +4 -0
  30. package/dist/collection/components/snk-distinct-search/snk-distinct-search.js +372 -0
  31. package/dist/collection/components/snk-distinct-search/subcomponents/input-distinct-search/input-distinct-search.css +110 -0
  32. package/dist/collection/components/snk-distinct-search/subcomponents/input-distinct-search/input-distinct-search.js +544 -0
  33. package/dist/collection/components/snk-distinct-search/subcomponents/search-modal/search-modal.css +28 -0
  34. package/dist/collection/components/snk-distinct-search/subcomponents/search-modal/search-modal.js +593 -0
  35. package/dist/collection/components/snk-distinct-search/utils/filter-distinct-search.js +15 -0
  36. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +1 -2
  37. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +1 -5
  38. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +0 -20
  39. package/dist/collection/components/snk-form-config/snk-form-config.js +5 -17
  40. package/dist/collection/components/snk-grid/snk-grid.js +2 -28
  41. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +4 -25
  42. package/dist/collection/components/snk-taskbar/snk-taskbar.js +38 -41
  43. package/dist/collection/lib/http/data-fetcher/fetchers/distinct-search-fetcher.js +25 -0
  44. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +1 -7
  45. package/dist/collection/lib/message/SnkMessageBuilder.js +2 -0
  46. package/dist/collection/lib/message/resources/snk-distinct-search.msg.js +9 -0
  47. package/dist/components/SnkMessageBuilder.js +10 -0
  48. package/dist/components/filter-distinct-search.js +17 -0
  49. package/dist/components/index.d.ts +3 -0
  50. package/dist/components/index.js +3 -0
  51. package/dist/components/input-distinct-search.d.ts +11 -0
  52. package/dist/components/input-distinct-search.js +6 -0
  53. package/dist/components/input-distinct-search2.js +264 -0
  54. package/dist/components/search-modal.d.ts +11 -0
  55. package/dist/components/search-modal.js +6 -0
  56. package/dist/components/search-modal2.js +264 -0
  57. package/dist/components/snk-actions-button2.js +26 -27
  58. package/dist/components/snk-application2.js +2 -19
  59. package/dist/components/snk-crud.js +2 -9
  60. package/dist/components/snk-data-exporter2.js +3 -3
  61. package/dist/components/snk-data-unit2.js +13 -25
  62. package/dist/components/snk-detail-view2.js +1 -1
  63. package/dist/components/snk-distinct-search.d.ts +11 -0
  64. package/dist/components/snk-distinct-search.js +163 -0
  65. package/dist/components/snk-filter-bar2.js +0 -6
  66. package/dist/components/snk-filter-item2.js +1 -5
  67. package/dist/components/snk-filter-text.js +1 -2
  68. package/dist/components/snk-form-config2.js +5 -17
  69. package/dist/components/snk-grid2.js +2 -11
  70. package/dist/components/snk-simple-crud2.js +4 -8
  71. package/dist/components/snk-taskbar2.js +38 -41
  72. package/dist/esm/{SnkMessageBuilder-6fff4a4c.js → SnkMessageBuilder-7ace6803.js} +10 -0
  73. package/dist/esm/index-a7d3d3f1.js +8 -0
  74. package/dist/esm/input-distinct-search_2.entry.js +466 -0
  75. package/dist/esm/loader.js +1 -1
  76. package/dist/esm/sankhyablocks.js +1 -1
  77. package/dist/esm/snk-actions-button_4.entry.js +23 -26
  78. package/dist/esm/snk-application.entry.js +3 -19
  79. package/dist/esm/snk-config-options_3.entry.js +5 -17
  80. package/dist/esm/snk-crud.entry.js +2 -8
  81. package/dist/esm/snk-data-exporter.entry.js +5 -5
  82. package/dist/esm/{snk-data-unit-9fa7d2b9.js → snk-data-unit-7a579dbd.js} +14 -26
  83. package/dist/esm/snk-data-unit.entry.js +2 -2
  84. package/dist/esm/snk-detail-view.entry.js +2 -2
  85. package/dist/esm/snk-distinct-search.entry.js +119 -0
  86. package/dist/esm/snk-filter-bar_4.entry.js +1 -10
  87. package/dist/esm/snk-filter-text.entry.js +1 -2
  88. package/dist/esm/snk-grid.entry.js +2 -10
  89. package/dist/esm/{snk-guides-viewer-b7ed39eb.js → snk-guides-viewer-e8ca764a.js} +1 -1
  90. package/dist/esm/snk-guides-viewer.entry.js +1 -1
  91. package/dist/esm/snk-simple-crud.entry.js +4 -7
  92. package/dist/esm/snk-taskbar.entry.js +38 -41
  93. package/dist/sankhyablocks/{p-483ef1fa.entry.js → p-00f9fe5c.entry.js} +1 -1
  94. package/dist/sankhyablocks/p-0e250436.entry.js +1 -0
  95. package/dist/sankhyablocks/p-154aa2a6.entry.js +11 -0
  96. package/dist/sankhyablocks/p-18cb1acb.entry.js +1 -0
  97. package/dist/sankhyablocks/p-1dbd5c18.entry.js +1 -0
  98. package/dist/sankhyablocks/p-2aae03a1.entry.js +1 -0
  99. package/dist/sankhyablocks/p-30ebcbe0.entry.js +1 -0
  100. package/dist/sankhyablocks/p-3858a2e4.entry.js +1 -0
  101. package/dist/sankhyablocks/{p-4138da61.entry.js → p-42130213.entry.js} +1 -1
  102. package/dist/sankhyablocks/p-563b7c28.entry.js +1 -0
  103. package/dist/sankhyablocks/p-96a89d58.entry.js +1 -0
  104. package/dist/sankhyablocks/p-987c7328.entry.js +1 -0
  105. package/dist/sankhyablocks/{p-e390641b.entry.js → p-b389ed49.entry.js} +1 -1
  106. package/dist/sankhyablocks/p-c75fae8e.js +1 -0
  107. package/dist/sankhyablocks/p-d8665750.js +1 -0
  108. package/dist/sankhyablocks/{p-e97be1c8.js → p-e3a285a2.js} +1 -1
  109. package/dist/sankhyablocks/p-f0aaad2b.entry.js +1 -0
  110. package/dist/sankhyablocks/{p-0d2a2e9e.entry.js → p-f4e221b2.entry.js} +1 -1
  111. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  112. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +2 -3
  113. package/dist/types/components/snk-application/snk-application.d.ts +1 -6
  114. package/dist/types/components/snk-crud/snk-crud.d.ts +0 -4
  115. package/dist/types/components/snk-distinct-search/snk-distinct-search.d.ts +83 -0
  116. package/dist/types/components/snk-distinct-search/subcomponents/input-distinct-search/input-distinct-search.d.ts +105 -0
  117. package/dist/types/components/snk-distinct-search/subcomponents/search-modal/search-modal.d.ts +127 -0
  118. package/dist/types/components/snk-distinct-search/types/index.d.ts +12 -0
  119. package/dist/types/components/snk-distinct-search/utils/filter-distinct-search.d.ts +4 -0
  120. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +0 -2
  121. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +0 -4
  122. package/dist/types/components/snk-grid/snk-grid.d.ts +0 -4
  123. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +0 -2
  124. package/dist/types/components.d.ts +393 -31
  125. package/dist/types/lib/http/data-fetcher/fetchers/distinct-search-fetcher.d.ts +6 -0
  126. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +0 -1
  127. package/dist/types/lib/message/resources/snk-distinct-search.msg.d.ts +2 -0
  128. package/package.json +1 -1
  129. package/react/components.d.ts +3 -0
  130. package/react/components.js +3 -0
  131. package/react/components.js.map +1 -1
  132. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +0 -8
  133. package/dist/sankhyablocks/p-0387d9d7.entry.js +0 -1
  134. package/dist/sankhyablocks/p-17425c72.js +0 -1
  135. package/dist/sankhyablocks/p-1d3ce0d9.entry.js +0 -1
  136. package/dist/sankhyablocks/p-342eeb3b.js +0 -1
  137. package/dist/sankhyablocks/p-3728d2aa.entry.js +0 -11
  138. package/dist/sankhyablocks/p-4e1f992e.entry.js +0 -1
  139. package/dist/sankhyablocks/p-619aeac8.entry.js +0 -1
  140. package/dist/sankhyablocks/p-89c92727.entry.js +0 -1
  141. package/dist/sankhyablocks/p-a3fadd0b.entry.js +0 -1
  142. package/dist/sankhyablocks/p-af7f7b3e.entry.js +0 -1
  143. package/dist/sankhyablocks/p-ec43fcc8.entry.js +0 -1
  144. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +0 -3
  145. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +0 -7
  146. /package/dist/collection/components/{snk-actions-button/interfaces → snk-distinct-search/types}/index.js +0 -0
@@ -0,0 +1,544 @@
1
+ import { KeyboardManager } from "@sankhyalabs/core";
2
+ import { Fragment, h, Host } from '@stencil/core';
3
+ import { filterItems, getMatchOption, normalizeString } from "../../utils/filter-distinct-search";
4
+ export class InputDistinctSearch {
5
+ constructor() {
6
+ this.textValue = "";
7
+ this.isNewItem = false;
8
+ this.filteredItems = [];
9
+ this.isNewItemSelected = false;
10
+ this.application = undefined;
11
+ this.distinctItems = [];
12
+ this.label = "";
13
+ this.value = "";
14
+ this.maxItems = 100;
15
+ this.debounceTime = 300;
16
+ this.canShowError = false;
17
+ this.mode = 'regular';
18
+ this.restrict = undefined;
19
+ this.errorMessage = undefined;
20
+ }
21
+ async observerValue(newValue) {
22
+ await this.selectedNewItem(newValue, true);
23
+ }
24
+ /**
25
+ * Seleciona um item
26
+ */
27
+ async selectValue(value, isNewItem = false) {
28
+ this.isNewItem = isNewItem;
29
+ this.textValue = value;
30
+ await this._refFilterInput.setValue(value);
31
+ }
32
+ /**
33
+ * Método para limpa o campo de entrada de pesquisa
34
+ */
35
+ clearInput() {
36
+ this._refFilterInput.setValue("");
37
+ }
38
+ /**
39
+ * Retorna se o conteúdo é inválido.
40
+ */
41
+ isInvalid() {
42
+ return this._refFilterInput.isInvalid();
43
+ }
44
+ /**
45
+ * Remove o foco do campo
46
+ */
47
+ setBlur() {
48
+ this._refFilterInput.setBlur();
49
+ }
50
+ /**
51
+ * Aplica o foco do campo
52
+ */
53
+ setFocus() {
54
+ this._refFilterInput.setFocus();
55
+ }
56
+ getMessage(key) {
57
+ return this.application.messagesBuilder.getMessage(key, null);
58
+ }
59
+ async optionLoader(searchArgument) {
60
+ return new Promise((resolve) => {
61
+ if (this._debounceTimeout) {
62
+ clearTimeout(this._debounceTimeout);
63
+ }
64
+ ;
65
+ this._debounceTimeout = setTimeout(() => {
66
+ const { items } = filterItems(searchArgument, this.distinctItems, this.maxItems);
67
+ this.filteredItems = items;
68
+ resolve();
69
+ }, this.debounceTime);
70
+ });
71
+ }
72
+ async openPopOver() {
73
+ var _a;
74
+ await ((_a = this._refPopOver) === null || _a === void 0 ? void 0 : _a.showUnder(this._refFilterInput));
75
+ }
76
+ async closePopOver() {
77
+ var _a;
78
+ this.isNewItemSelected = false;
79
+ await ((_a = this._refPopOver) === null || _a === void 0 ? void 0 : _a.hide());
80
+ await this._refList.removeSelection();
81
+ }
82
+ async onTextChange(event) {
83
+ this.textValue = event.detail;
84
+ await this.optionLoader(event.detail);
85
+ await this.selectFirstItem();
86
+ }
87
+ onIconClick() {
88
+ this.iconClick.emit();
89
+ }
90
+ buidItems() {
91
+ var _a;
92
+ const items = (_a = this.filteredItems) === null || _a === void 0 ? void 0 : _a.map((item) => ({
93
+ label: item,
94
+ id: normalizeString(item),
95
+ }));
96
+ return items;
97
+ }
98
+ async setValue(value, isNewItem = false, preventEventEmit = false) {
99
+ this.isNewItem = isNewItem;
100
+ this.textValue = value;
101
+ await this._refFilterInput.setValue(value);
102
+ await this.closePopOver();
103
+ if (!preventEventEmit) {
104
+ this.changeValue.emit({
105
+ value,
106
+ isNewItem,
107
+ });
108
+ }
109
+ }
110
+ async selectedNewItem(value, preventEventEmit = false) {
111
+ if (!this.textValue && !value) {
112
+ await this.setValue("", false, preventEventEmit);
113
+ return;
114
+ }
115
+ const item = getMatchOption(value !== null && value !== void 0 ? value : this.textValue, this.distinctItems);
116
+ if (item) {
117
+ await this.setValue(item, false, preventEventEmit);
118
+ return;
119
+ }
120
+ await this.setValue(this.textValue || value, true, preventEventEmit);
121
+ }
122
+ async setSelectedValue() {
123
+ const selectedValue = await this._refList.getSelection();
124
+ await this.selectedNewItem((selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.label) || this.textValue, true);
125
+ await this._refFilterInput.setBlur();
126
+ this._element.focus();
127
+ }
128
+ async selectNextItem() {
129
+ if (this.isNewItemSelected) {
130
+ return;
131
+ }
132
+ const itemSelected = await this._refList.getSelection();
133
+ const itemsAmount = this.filteredItems.length;
134
+ const indexSelected = this.filteredItems.findIndex((item) => item === (itemSelected === null || itemSelected === void 0 ? void 0 : itemSelected.label));
135
+ const isLastItemSelected = indexSelected === (itemsAmount - 1);
136
+ const optionNewItemIsAvailable = !!this.textValue;
137
+ if (!isLastItemSelected || !optionNewItemIsAvailable) {
138
+ this.isNewItemSelected = false;
139
+ await this._refList.selectNextItem();
140
+ return;
141
+ }
142
+ this.isNewItemSelected = true;
143
+ await this._refList.removeSelection();
144
+ }
145
+ async selectPreviousItem() {
146
+ const itemsAmount = this.filteredItems.length;
147
+ const lastItem = this.filteredItems[itemsAmount - 1];
148
+ if (this.isNewItemSelected && lastItem) {
149
+ this.isNewItemSelected = false;
150
+ await this._refList.setSelection({
151
+ id: normalizeString(lastItem),
152
+ label: lastItem
153
+ });
154
+ return;
155
+ }
156
+ await this._refList.selectPreviousItem();
157
+ }
158
+ bindKeyboardManager() {
159
+ this._keyboardManager = new KeyboardManager({ propagate: false, element: this._element });
160
+ this._keyboardManager
161
+ .bind("ArrowDown", () => { this.selectNextItem(); })
162
+ .bind("ArrowUp", () => { this.selectPreviousItem(); })
163
+ .bind("Enter", () => { this.setSelectedValue(); })
164
+ .bind("Tab", () => { this.setSelectedValue(); });
165
+ }
166
+ unbindKeyboardManager() {
167
+ this._keyboardManager
168
+ .unbind("ArrowDown")
169
+ .unbind("ArrowUp")
170
+ .unbind("Enter")
171
+ .unbind("Tab");
172
+ }
173
+ async selectFirstItem() {
174
+ if (!this.filteredItems.length) {
175
+ await this._refList.removeSelection();
176
+ this.isNewItemSelected = true;
177
+ return;
178
+ }
179
+ const firstItem = this.filteredItems[0];
180
+ this.isNewItemSelected = false;
181
+ await this._refList.setSelection({
182
+ id: normalizeString(firstItem),
183
+ label: firstItem,
184
+ });
185
+ }
186
+ initializeComponent() {
187
+ const { items } = filterItems("", this.distinctItems, this.maxItems);
188
+ this.filteredItems = items;
189
+ }
190
+ componentWillLoad() {
191
+ this.initializeComponent();
192
+ }
193
+ async componentDidLoad() {
194
+ this.bindKeyboardManager();
195
+ this.selectFirstItem();
196
+ await this.selectedNewItem(this.value, true);
197
+ }
198
+ disconnectedCallback() {
199
+ this.unbindKeyboardManager();
200
+ }
201
+ buildNewItemOption() {
202
+ if (!this.textValue) {
203
+ return;
204
+ }
205
+ return (h(Fragment, null, !!this.filteredItems.length &&
206
+ h("hr", { class: "divider" }), h("button", { slot: "bottomSlot", class: {
207
+ "new-value": true,
208
+ "new-value-selected": this.isNewItemSelected,
209
+ }, title: `${this.getMessage("snkDistinctSearch.titleAdd")} '${this.textValue}'`, onClick: () => this.selectedNewItem.bind(this)(undefined, true) }, this.getMessage("snkDistinctSearch.titleAdd"), " '", this.textValue, "'")));
210
+ }
211
+ render() {
212
+ return (h(Host, { onBlur: () => this.selectedNewItem.bind(this)() }, h("ez-filter-input", { ref: (ref) => this._refFilterInput = ref, label: this.label, value: this.textValue, onEzChange: this.onTextChange.bind(this), onEzIconClick: this.onIconClick.bind(this), onEzFocusIn: this.openPopOver.bind(this), canShowError: this.canShowError, mode: this.mode, restrict: this.restrict, errorMessage: this.errorMessage, enabledIconClick: true }, this.isNewItem &&
213
+ h("ez-badge", { slot: "right", label: this.getMessage("snkDistinctSearch.titleBadgeNew"), size: "small-medium", class: "badge-primary" })), h("ez-popover", { ref: (ref) => this._refPopOver = ref, boxWidth: "full-width", autoClose: false, overlayType: "none", class: {
214
+ 'space-error': this.canShowError,
215
+ } }, h("div", { class: "popover-content" }, h("section", { class: "list-container" }, h("ez-list", { ref: (ref) => this._refList = ref, dataSource: this.buidItems(), onEzClickItem: ({ detail }) => this.setValue.bind(this)(detail.label, false, true), ezSelectable: true, hoverFeedback: true, disableShortcuts: true })), this.buildNewItemOption()))));
216
+ }
217
+ static get is() { return "input-distinct-search"; }
218
+ static get encapsulation() { return "shadow"; }
219
+ static get originalStyleUrls() {
220
+ return {
221
+ "$": ["input-distinct-search.css"]
222
+ };
223
+ }
224
+ static get styleUrls() {
225
+ return {
226
+ "$": ["input-distinct-search.css"]
227
+ };
228
+ }
229
+ static get properties() {
230
+ return {
231
+ "application": {
232
+ "type": "unknown",
233
+ "mutable": false,
234
+ "complexType": {
235
+ "original": "SnkApplication",
236
+ "resolved": "SnkApplication",
237
+ "references": {
238
+ "SnkApplication": {
239
+ "location": "import",
240
+ "path": "../../../snk-application/snk-application"
241
+ }
242
+ }
243
+ },
244
+ "required": false,
245
+ "optional": false,
246
+ "docs": {
247
+ "tags": [],
248
+ "text": "SnkApplication"
249
+ }
250
+ },
251
+ "distinctItems": {
252
+ "type": "unknown",
253
+ "mutable": false,
254
+ "complexType": {
255
+ "original": "string[]",
256
+ "resolved": "string[]",
257
+ "references": {}
258
+ },
259
+ "required": false,
260
+ "optional": false,
261
+ "docs": {
262
+ "tags": [],
263
+ "text": "Lista completa de items distintos."
264
+ },
265
+ "defaultValue": "[]"
266
+ },
267
+ "label": {
268
+ "type": "string",
269
+ "mutable": false,
270
+ "complexType": {
271
+ "original": "string",
272
+ "resolved": "string",
273
+ "references": {}
274
+ },
275
+ "required": false,
276
+ "optional": false,
277
+ "docs": {
278
+ "tags": [],
279
+ "text": "Label apresentada no input."
280
+ },
281
+ "attribute": "label",
282
+ "reflect": false,
283
+ "defaultValue": "\"\""
284
+ },
285
+ "value": {
286
+ "type": "string",
287
+ "mutable": false,
288
+ "complexType": {
289
+ "original": "string",
290
+ "resolved": "string",
291
+ "references": {}
292
+ },
293
+ "required": false,
294
+ "optional": false,
295
+ "docs": {
296
+ "tags": [],
297
+ "text": "Valor inicial do campo."
298
+ },
299
+ "attribute": "value",
300
+ "reflect": false,
301
+ "defaultValue": "\"\""
302
+ },
303
+ "maxItems": {
304
+ "type": "number",
305
+ "mutable": false,
306
+ "complexType": {
307
+ "original": "number",
308
+ "resolved": "number",
309
+ "references": {}
310
+ },
311
+ "required": false,
312
+ "optional": false,
313
+ "docs": {
314
+ "tags": [],
315
+ "text": "N\u00FAmero m\u00E1ximo de itens na lista."
316
+ },
317
+ "attribute": "max-items",
318
+ "reflect": false,
319
+ "defaultValue": "100"
320
+ },
321
+ "debounceTime": {
322
+ "type": "number",
323
+ "mutable": false,
324
+ "complexType": {
325
+ "original": "number",
326
+ "resolved": "number",
327
+ "references": {}
328
+ },
329
+ "required": false,
330
+ "optional": false,
331
+ "docs": {
332
+ "tags": [],
333
+ "text": "Tempo em milissegundos para debouncing das chamadas de busca de sugest\u00F5es."
334
+ },
335
+ "attribute": "debounce-time",
336
+ "reflect": false,
337
+ "defaultValue": "300"
338
+ },
339
+ "canShowError": {
340
+ "type": "boolean",
341
+ "mutable": false,
342
+ "complexType": {
343
+ "original": "boolean",
344
+ "resolved": "boolean",
345
+ "references": {}
346
+ },
347
+ "required": false,
348
+ "optional": false,
349
+ "docs": {
350
+ "tags": [],
351
+ "text": "Se false deixa de exibir a mensagem de erro dentro do campo."
352
+ },
353
+ "attribute": "can-show-error",
354
+ "reflect": false,
355
+ "defaultValue": "false"
356
+ },
357
+ "mode": {
358
+ "type": "string",
359
+ "mutable": false,
360
+ "complexType": {
361
+ "original": "'slim' | 'regular'",
362
+ "resolved": "\"regular\" | \"slim\"",
363
+ "references": {}
364
+ },
365
+ "required": false,
366
+ "optional": false,
367
+ "docs": {
368
+ "tags": [],
369
+ "text": "Define o tamanho do campo."
370
+ },
371
+ "attribute": "mode",
372
+ "reflect": false,
373
+ "defaultValue": "'regular'"
374
+ },
375
+ "restrict": {
376
+ "type": "string",
377
+ "mutable": false,
378
+ "complexType": {
379
+ "original": "string",
380
+ "resolved": "string",
381
+ "references": {}
382
+ },
383
+ "required": false,
384
+ "optional": false,
385
+ "docs": {
386
+ "tags": [],
387
+ "text": "Express\u00E3o que define os caracteres permitidos na entrada."
388
+ },
389
+ "attribute": "restrict",
390
+ "reflect": false,
391
+ "defaultValue": "undefined"
392
+ },
393
+ "errorMessage": {
394
+ "type": "string",
395
+ "mutable": false,
396
+ "complexType": {
397
+ "original": "string",
398
+ "resolved": "string",
399
+ "references": {}
400
+ },
401
+ "required": false,
402
+ "optional": false,
403
+ "docs": {
404
+ "tags": [],
405
+ "text": "Define uma mensagem de orienta\u00E7\u00E3o ao usu\u00E1rio, colocando o campo em modo inv\u00E1lido."
406
+ },
407
+ "attribute": "error-message",
408
+ "reflect": false,
409
+ "defaultValue": "undefined"
410
+ }
411
+ };
412
+ }
413
+ static get states() {
414
+ return {
415
+ "textValue": {},
416
+ "isNewItem": {},
417
+ "filteredItems": {},
418
+ "isNewItemSelected": {}
419
+ };
420
+ }
421
+ static get events() {
422
+ return [{
423
+ "method": "changeValue",
424
+ "name": "changeValue",
425
+ "bubbles": true,
426
+ "cancelable": true,
427
+ "composed": true,
428
+ "docs": {
429
+ "tags": [],
430
+ "text": "Emitido quando h\u00E1 uma altera\u00E7\u00E3o no valor do campo."
431
+ },
432
+ "complexType": {
433
+ "original": "IDistinctValue",
434
+ "resolved": "IDistinctValue",
435
+ "references": {
436
+ "IDistinctValue": {
437
+ "location": "import",
438
+ "path": "../../types"
439
+ }
440
+ }
441
+ }
442
+ }, {
443
+ "method": "iconClick",
444
+ "name": "iconClick",
445
+ "bubbles": true,
446
+ "cancelable": true,
447
+ "composed": true,
448
+ "docs": {
449
+ "tags": [],
450
+ "text": "Emitido quando o icone de pesquisa \u00E9 clicado."
451
+ },
452
+ "complexType": {
453
+ "original": "void",
454
+ "resolved": "void",
455
+ "references": {}
456
+ }
457
+ }];
458
+ }
459
+ static get methods() {
460
+ return {
461
+ "selectValue": {
462
+ "complexType": {
463
+ "signature": "(value: string, isNewItem?: boolean) => Promise<void>",
464
+ "parameters": [{
465
+ "tags": [],
466
+ "text": ""
467
+ }, {
468
+ "tags": [],
469
+ "text": ""
470
+ }],
471
+ "references": {
472
+ "Promise": {
473
+ "location": "global"
474
+ }
475
+ },
476
+ "return": "Promise<void>"
477
+ },
478
+ "docs": {
479
+ "text": "Seleciona um item",
480
+ "tags": []
481
+ }
482
+ },
483
+ "clearInput": {
484
+ "complexType": {
485
+ "signature": "() => Promise<void>",
486
+ "parameters": [],
487
+ "references": {},
488
+ "return": "Promise<void>"
489
+ },
490
+ "docs": {
491
+ "text": "M\u00E9todo para limpa o campo de entrada de pesquisa",
492
+ "tags": []
493
+ }
494
+ },
495
+ "isInvalid": {
496
+ "complexType": {
497
+ "signature": "() => Promise<boolean>",
498
+ "parameters": [],
499
+ "references": {
500
+ "Promise": {
501
+ "location": "global"
502
+ }
503
+ },
504
+ "return": "Promise<boolean>"
505
+ },
506
+ "docs": {
507
+ "text": "Retorna se o conte\u00FAdo \u00E9 inv\u00E1lido.",
508
+ "tags": []
509
+ }
510
+ },
511
+ "setBlur": {
512
+ "complexType": {
513
+ "signature": "() => Promise<void>",
514
+ "parameters": [],
515
+ "references": {},
516
+ "return": "Promise<void>"
517
+ },
518
+ "docs": {
519
+ "text": "Remove o foco do campo",
520
+ "tags": []
521
+ }
522
+ },
523
+ "setFocus": {
524
+ "complexType": {
525
+ "signature": "() => Promise<void>",
526
+ "parameters": [],
527
+ "references": {},
528
+ "return": "Promise<void>"
529
+ },
530
+ "docs": {
531
+ "text": "Aplica o foco do campo",
532
+ "tags": []
533
+ }
534
+ }
535
+ };
536
+ }
537
+ static get elementRef() { return "_element"; }
538
+ static get watchers() {
539
+ return [{
540
+ "propName": "value",
541
+ "methodName": "observerValue"
542
+ }];
543
+ }
544
+ }
@@ -0,0 +1,28 @@
1
+ :host {
2
+ display: block;
3
+ }
4
+
5
+ ez-popup {
6
+ --ez-popup__title--font-size: var(--title--large, 20px);
7
+ --ez-popup__container--height: 380px;
8
+ }
9
+
10
+ .search-modal-scroller {
11
+ height: 174px;
12
+ }
13
+
14
+ .search-modal-text {
15
+ font-family: var(--font-pattern);
16
+ color: var(--text--primary);
17
+ font-size: var(--text--medium);
18
+ }
19
+
20
+ ez-filter-input > input {
21
+ text-overflow: ellipsis;
22
+ }
23
+ .ez-content {
24
+ height: 190px;
25
+ display: flex;
26
+ align-items: center;
27
+ justify-content: center;
28
+ }