@sankhyalabs/ezui 3.0.1 → 3.0.2

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 (225) hide show
  1. package/dist/cjs/ez-actions-button.cjs.entry.js +12 -26
  2. package/dist/cjs/ez-alert.cjs.entry.js +2 -5
  3. package/dist/cjs/ez-application.cjs.entry.js +2 -2
  4. package/dist/cjs/ez-breadcrumb.cjs.entry.js +2 -5
  5. package/dist/cjs/ez-button.cjs.entry.js +6 -8
  6. package/dist/cjs/ez-calendar.cjs.entry.js +2 -14
  7. package/dist/cjs/ez-card-item.cjs.entry.js +3 -2
  8. package/dist/cjs/ez-check.cjs.entry.js +5 -8
  9. package/dist/cjs/ez-chip.cjs.entry.js +5 -8
  10. package/dist/cjs/ez-collapsible-box.cjs.entry.js +4 -20
  11. package/dist/cjs/ez-combo-box.cjs.entry.js +11 -23
  12. package/dist/cjs/ez-date-input.cjs.entry.js +5 -8
  13. package/dist/cjs/ez-date-time-input.cjs.entry.js +5 -11
  14. package/dist/cjs/ez-dialog.cjs.entry.js +7 -9
  15. package/dist/cjs/ez-dropdown.cjs.entry.js +4 -5
  16. package/dist/cjs/ez-file-item.cjs.entry.js +5 -8
  17. package/dist/cjs/ez-filter-input_4.cjs.entry.js +14 -23
  18. package/dist/cjs/ez-form-view.cjs.entry.js +3 -2
  19. package/dist/cjs/ez-form.cjs.entry.js +26 -20
  20. package/dist/cjs/ez-grid.cjs.entry.js +11110 -6777
  21. package/dist/cjs/ez-guide-navigator.cjs.entry.js +3 -11
  22. package/dist/cjs/ez-icon.cjs.entry.js +4 -5
  23. package/dist/cjs/ez-list.cjs.entry.js +4 -15
  24. package/dist/cjs/ez-loading-bar.cjs.entry.js +2 -2
  25. package/dist/cjs/ez-modal-container.cjs.entry.js +8 -5
  26. package/dist/cjs/ez-modal.cjs.entry.js +7 -14
  27. package/dist/cjs/ez-number-input.cjs.entry.js +7 -8
  28. package/dist/cjs/ez-popover.cjs.entry.js +11 -30
  29. package/dist/cjs/ez-popup.cjs.entry.js +3 -14
  30. package/dist/cjs/ez-radio-button.cjs.entry.js +4 -11
  31. package/dist/cjs/ez-search.cjs.entry.js +6 -17
  32. package/dist/cjs/ez-tabselector.cjs.entry.js +6 -2
  33. package/dist/cjs/ez-text-area.cjs.entry.js +5 -14
  34. package/dist/cjs/ez-text-edit.cjs.entry.js +5 -2
  35. package/dist/cjs/ez-text-input.cjs.entry.js +7 -14
  36. package/dist/cjs/ez-time-input.cjs.entry.js +5 -11
  37. package/dist/cjs/ez-toast.cjs.entry.js +3 -11
  38. package/dist/cjs/ez-upload.cjs.entry.js +9 -5
  39. package/dist/cjs/ez-view-stack.cjs.entry.js +2 -2
  40. package/dist/cjs/ezui.cjs.js +6 -2
  41. package/dist/cjs/{index-5e208fa5.js → index-892780f1.js} +588 -248
  42. package/dist/cjs/loader.cjs.js +3 -2
  43. package/dist/collection/collection-manifest.json +2 -2
  44. package/dist/collection/components/ez-actions-button/ez-actions-button.js +248 -256
  45. package/dist/collection/components/ez-alert/ez-alert.js +34 -36
  46. package/dist/collection/components/ez-application/ez-application.js +29 -23
  47. package/dist/collection/components/ez-breadcrumb/ez-breadcrumb.js +61 -60
  48. package/dist/collection/components/ez-button/ez-button.js +159 -159
  49. package/dist/collection/components/ez-calendar/ez-calendar.js +214 -244
  50. package/dist/collection/components/ez-card-item/ez-card-item.js +60 -58
  51. package/dist/collection/components/ez-check/ez-check.js +164 -157
  52. package/dist/collection/components/ez-chip/ez-chip.js +190 -186
  53. package/dist/collection/components/ez-collapsible-box/ez-collapsible-box.js +282 -293
  54. package/dist/collection/components/ez-combo-box/ez-combo-box.js +348 -361
  55. package/dist/collection/components/ez-date-input/ez-date-input.js +213 -207
  56. package/dist/collection/components/ez-date-time-input/ez-date-time-input.js +233 -228
  57. package/dist/collection/components/ez-dialog/ez-dialog.js +203 -209
  58. package/dist/collection/components/ez-dropdown/ez-dropdown.js +128 -127
  59. package/dist/collection/components/ez-dropdown/structure/DropdownItem.js +1 -4
  60. package/dist/collection/components/ez-file-item/ez-file-item.js +144 -142
  61. package/dist/collection/components/ez-filter-input/ez-filter-input.js +197 -188
  62. package/dist/collection/components/ez-form/DataBinder.js +12 -6
  63. package/dist/collection/components/ez-form/ez-form.js +191 -177
  64. package/dist/collection/components/ez-form-view/ez-form-view.js +38 -29
  65. package/dist/collection/components/ez-form-view/fieldbuilder/templates/CheckBox.tpl.js +1 -2
  66. package/dist/collection/components/ez-form-view/fieldbuilder/templates/ComboBox.tpl.js +1 -2
  67. package/dist/collection/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.js +3 -6
  68. package/dist/collection/components/ez-form-view/fieldbuilder/templates/FileInput.tpl.js +1 -2
  69. package/dist/collection/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.js +1 -2
  70. package/dist/collection/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.js +1 -2
  71. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextArea.tpl.js +1 -2
  72. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.js +1 -2
  73. package/dist/collection/components/ez-grid/controller/ag-grid/mock/Server.js +1 -1
  74. package/dist/collection/components/ez-grid/ez-grid.js +365 -351
  75. package/dist/collection/components/ez-guide-navigator/ez-guide-navigator.js +120 -125
  76. package/dist/collection/components/ez-icon/ez-icon.js +68 -64
  77. package/dist/collection/components/ez-list/ez-list.js +246 -266
  78. package/dist/collection/components/ez-loading-bar/ez-loading-bar.js +49 -42
  79. package/dist/collection/components/ez-modal/ez-modal.js +143 -143
  80. package/dist/collection/components/ez-modal-container/ez-modal-container.js +153 -155
  81. package/dist/collection/components/ez-number-input/ez-number-input.js +246 -233
  82. package/dist/collection/components/ez-popover/ez-popover.js +273 -283
  83. package/dist/collection/components/ez-popup/ez-popup.js +121 -133
  84. package/dist/collection/components/ez-radio-button/ez-radio-button.js +123 -126
  85. package/dist/collection/components/ez-scroller/ez-scroller.js +104 -100
  86. package/dist/collection/components/ez-search/ez-search.js +260 -259
  87. package/dist/collection/components/ez-sidebar-button/ez-sidebar-button.js +30 -25
  88. package/dist/collection/components/ez-tabselector/ez-tabselector.js +115 -106
  89. package/dist/collection/components/ez-text-area/ez-text-area.js +217 -218
  90. package/dist/collection/components/ez-text-edit/ez-text-edit.js +109 -96
  91. package/dist/collection/components/ez-text-input/ez-text-input.js +248 -248
  92. package/dist/collection/components/ez-time-input/ez-time-input.js +227 -223
  93. package/dist/collection/components/ez-toast/ez-toast.js +117 -121
  94. package/dist/collection/components/ez-tree/ez-tree.js +289 -275
  95. package/dist/collection/components/ez-tree/subcomponents/TreeItem.js +7 -11
  96. package/dist/collection/components/ez-upload/ez-upload.js +283 -281
  97. package/dist/collection/components/ez-view-stack/ez-view-stack.js +46 -40
  98. package/dist/custom-elements/index.js +11097 -6940
  99. package/dist/esm/ez-actions-button.entry.js +12 -26
  100. package/dist/esm/ez-alert.entry.js +2 -5
  101. package/dist/esm/ez-application.entry.js +2 -2
  102. package/dist/esm/ez-breadcrumb.entry.js +2 -5
  103. package/dist/esm/ez-button.entry.js +6 -8
  104. package/dist/esm/ez-calendar.entry.js +2 -14
  105. package/dist/esm/ez-card-item.entry.js +3 -2
  106. package/dist/esm/ez-check.entry.js +5 -8
  107. package/dist/esm/ez-chip.entry.js +5 -8
  108. package/dist/esm/ez-collapsible-box.entry.js +4 -20
  109. package/dist/esm/ez-combo-box.entry.js +11 -23
  110. package/dist/esm/ez-date-input.entry.js +5 -8
  111. package/dist/esm/ez-date-time-input.entry.js +5 -11
  112. package/dist/esm/ez-dialog.entry.js +7 -9
  113. package/dist/esm/ez-dropdown.entry.js +4 -5
  114. package/dist/esm/ez-file-item.entry.js +5 -8
  115. package/dist/esm/ez-filter-input_4.entry.js +14 -23
  116. package/dist/esm/ez-form-view.entry.js +3 -2
  117. package/dist/esm/ez-form.entry.js +26 -20
  118. package/dist/esm/ez-grid.entry.js +11110 -6777
  119. package/dist/esm/ez-guide-navigator.entry.js +3 -11
  120. package/dist/esm/ez-icon.entry.js +4 -5
  121. package/dist/esm/ez-list.entry.js +4 -15
  122. package/dist/esm/ez-loading-bar.entry.js +2 -2
  123. package/dist/esm/ez-modal-container.entry.js +8 -5
  124. package/dist/esm/ez-modal.entry.js +7 -14
  125. package/dist/esm/ez-number-input.entry.js +7 -8
  126. package/dist/esm/ez-popover.entry.js +11 -30
  127. package/dist/esm/ez-popup.entry.js +3 -14
  128. package/dist/esm/ez-radio-button.entry.js +4 -11
  129. package/dist/esm/ez-search.entry.js +6 -17
  130. package/dist/esm/ez-tabselector.entry.js +6 -2
  131. package/dist/esm/ez-text-area.entry.js +5 -14
  132. package/dist/esm/ez-text-edit.entry.js +5 -2
  133. package/dist/esm/ez-text-input.entry.js +7 -14
  134. package/dist/esm/ez-time-input.entry.js +5 -11
  135. package/dist/esm/ez-toast.entry.js +3 -11
  136. package/dist/esm/ez-upload.entry.js +9 -5
  137. package/dist/esm/ez-view-stack.entry.js +2 -2
  138. package/dist/esm/ezui.js +3 -2
  139. package/dist/esm/{index-c5203f95.js → index-de655f48.js} +588 -249
  140. package/dist/esm/loader.js +3 -2
  141. package/dist/esm/polyfills/css-shim.js +1 -1
  142. package/dist/ezui/ezui.esm.js +1 -1
  143. package/dist/ezui/{p-df20c613.entry.js → p-06b3e801.entry.js} +1 -1
  144. package/dist/ezui/p-07b99b94.entry.js +1 -0
  145. package/dist/ezui/p-0c7e81fe.entry.js +1 -0
  146. package/dist/ezui/p-1581fece.entry.js +1 -0
  147. package/dist/ezui/p-1b95836f.entry.js +1 -0
  148. package/dist/ezui/p-36f7ec68.entry.js +1 -0
  149. package/dist/ezui/p-37b4bf04.entry.js +1 -0
  150. package/dist/ezui/p-493e2af4.entry.js +1 -0
  151. package/dist/ezui/p-4bfed869.entry.js +1 -0
  152. package/dist/ezui/p-600f1732.entry.js +1 -0
  153. package/dist/ezui/p-62481744.entry.js +1 -0
  154. package/dist/ezui/p-6818dd0a.entry.js +1 -0
  155. package/dist/ezui/p-695facd0.entry.js +1 -0
  156. package/dist/ezui/p-7ffd12e7.js +2 -0
  157. package/dist/ezui/p-82db6de7.entry.js +1 -0
  158. package/dist/ezui/p-86d29565.entry.js +1 -0
  159. package/dist/ezui/p-8ca4750d.entry.js +1 -0
  160. package/dist/ezui/p-9613fae6.entry.js +1 -0
  161. package/dist/ezui/{p-fc97f773.entry.js → p-a323b415.entry.js} +1 -1
  162. package/dist/ezui/p-a4b281ca.entry.js +1 -0
  163. package/dist/ezui/p-a67e056f.entry.js +1 -0
  164. package/dist/ezui/p-a8c7355e.entry.js +1 -0
  165. package/dist/ezui/p-ada6e6b0.entry.js +1 -0
  166. package/dist/ezui/p-b1e4ccf4.entry.js +1 -0
  167. package/dist/ezui/p-b3c7b243.entry.js +1 -0
  168. package/dist/ezui/p-b405d9b6.entry.js +304 -0
  169. package/dist/ezui/p-b941aeee.entry.js +1 -0
  170. package/dist/ezui/p-c0184982.entry.js +1 -0
  171. package/dist/ezui/p-c1300e84.entry.js +1 -0
  172. package/dist/ezui/p-c98e571a.entry.js +1 -0
  173. package/dist/ezui/p-cc40fcb3.entry.js +1 -0
  174. package/dist/ezui/p-cc5cfcb7.entry.js +1 -0
  175. package/dist/ezui/p-d6dd32b2.entry.js +1 -0
  176. package/dist/ezui/p-db131605.entry.js +1 -0
  177. package/dist/ezui/{p-ba03ac61.entry.js → p-e0d756d9.entry.js} +1 -1
  178. package/dist/ezui/p-eceb9382.entry.js +1 -0
  179. package/dist/ezui/p-f18d39e6.entry.js +1 -0
  180. package/dist/ezui/p-f670bd32.entry.js +1 -0
  181. package/dist/ezui/p-fcf6cf57.entry.js +1 -0
  182. package/dist/ezui/p-fd87638e.entry.js +1 -0
  183. package/dist/types/components.d.ts +195 -63
  184. package/dist/types/stencil-public-runtime.d.ts +79 -7
  185. package/loader/index.d.ts +9 -0
  186. package/loader/package.json +1 -0
  187. package/package.json +4 -4
  188. package/react/components.d.ts +0 -1
  189. package/dist/ezui/p-0cd0545d.entry.js +0 -1
  190. package/dist/ezui/p-1a27bb9f.entry.js +0 -1
  191. package/dist/ezui/p-1b94b9dc.entry.js +0 -1
  192. package/dist/ezui/p-20c01161.entry.js +0 -1
  193. package/dist/ezui/p-24717f87.entry.js +0 -1
  194. package/dist/ezui/p-3320768e.entry.js +0 -1
  195. package/dist/ezui/p-368037b9.entry.js +0 -1
  196. package/dist/ezui/p-47bcc678.entry.js +0 -1
  197. package/dist/ezui/p-4c444816.entry.js +0 -1
  198. package/dist/ezui/p-608d13e8.entry.js +0 -1
  199. package/dist/ezui/p-626b8940.entry.js +0 -1
  200. package/dist/ezui/p-6414e7cb.entry.js +0 -1
  201. package/dist/ezui/p-6630eca2.entry.js +0 -1
  202. package/dist/ezui/p-67b9a2cb.entry.js +0 -1
  203. package/dist/ezui/p-6f9aba86.entry.js +0 -1
  204. package/dist/ezui/p-7b80df03.js +0 -1
  205. package/dist/ezui/p-7d42065a.entry.js +0 -1
  206. package/dist/ezui/p-97d2d2f6.entry.js +0 -1
  207. package/dist/ezui/p-99aea44b.entry.js +0 -1
  208. package/dist/ezui/p-a4b4645d.entry.js +0 -1
  209. package/dist/ezui/p-ab5eee38.entry.js +0 -1
  210. package/dist/ezui/p-ad7151e0.entry.js +0 -1
  211. package/dist/ezui/p-ad8b7412.entry.js +0 -1
  212. package/dist/ezui/p-ae168e45.entry.js +0 -1
  213. package/dist/ezui/p-b2e861cb.entry.js +0 -1
  214. package/dist/ezui/p-b2efb22c.entry.js +0 -1
  215. package/dist/ezui/p-b4ccb29c.entry.js +0 -304
  216. package/dist/ezui/p-b5557d33.entry.js +0 -1
  217. package/dist/ezui/p-bd9792e2.entry.js +0 -1
  218. package/dist/ezui/p-bf8a633d.entry.js +0 -1
  219. package/dist/ezui/p-c071db26.entry.js +0 -1
  220. package/dist/ezui/p-c3529df3.entry.js +0 -1
  221. package/dist/ezui/p-c53b2db8.entry.js +0 -1
  222. package/dist/ezui/p-ca7435a6.entry.js +0 -1
  223. package/dist/ezui/p-cc038b32.entry.js +0 -1
  224. package/dist/ezui/p-e203c89f.entry.js +0 -1
  225. package/dist/ezui/p-f08de60b.entry.js +0 -1
@@ -1,18 +1,13 @@
1
1
  import { JSUtils } from '@sankhyalabs/core';
2
- import { Component, h, Host, Listen, Prop, State } from '@stencil/core';
2
+ import { h, Host } from '@stencil/core';
3
3
  import { EzScrollDirection } from './EzScrollDirection';
4
4
  export class EzScroller {
5
5
  constructor() {
6
6
  this._shadowStart = "ez-scroller__wrapper--shadow-start";
7
7
  this._shadowEnd = "ez-scroller__wrapper--shadow-end";
8
8
  this.isActive = false;
9
- /**
10
- * Define se o `scroll` estará bloqueado.
11
- */
9
+ this.direction = undefined;
12
10
  this.locked = false;
13
- /**
14
- * Define se haverá efeito de sombreado.
15
- */
16
11
  this.activeShadow = false;
17
12
  }
18
13
  //---------------------------------------------
@@ -87,8 +82,7 @@ export class EzScroller {
87
82
  this._resizeObserver.observe(container);
88
83
  }
89
84
  getContainerElement() {
90
- return h("div", { ref: ref => this._container = ref, class: this.getContainerClass() },
91
- h("slot", null));
85
+ return h("div", { ref: ref => this._container = ref, class: this.getContainerClass() }, h("slot", null));
92
86
  }
93
87
  isActiveScroller() {
94
88
  if (this._container == undefined) {
@@ -157,100 +151,110 @@ export class EzScroller {
157
151
  }
158
152
  static get is() { return "ez-scroller"; }
159
153
  static get encapsulation() { return "shadow"; }
160
- static get originalStyleUrls() { return {
161
- "$": ["ez-scroller.css"]
162
- }; }
163
- static get styleUrls() { return {
164
- "$": ["ez-scroller.css"]
165
- }; }
166
- static get properties() { return {
167
- "direction": {
168
- "type": "string",
169
- "mutable": false,
170
- "complexType": {
171
- "original": "EzScrollDirection",
172
- "resolved": "EzScrollDirection.BOTH | EzScrollDirection.HORIZONTAL | EzScrollDirection.VERTICAL",
173
- "references": {
174
- "EzScrollDirection": {
175
- "location": "import",
176
- "path": "./EzScrollDirection"
154
+ static get originalStyleUrls() {
155
+ return {
156
+ "$": ["ez-scroller.css"]
157
+ };
158
+ }
159
+ static get styleUrls() {
160
+ return {
161
+ "$": ["ez-scroller.css"]
162
+ };
163
+ }
164
+ static get properties() {
165
+ return {
166
+ "direction": {
167
+ "type": "string",
168
+ "mutable": false,
169
+ "complexType": {
170
+ "original": "EzScrollDirection",
171
+ "resolved": "EzScrollDirection.BOTH | EzScrollDirection.HORIZONTAL | EzScrollDirection.VERTICAL",
172
+ "references": {
173
+ "EzScrollDirection": {
174
+ "location": "import",
175
+ "path": "./EzScrollDirection"
176
+ }
177
177
  }
178
- }
179
- },
180
- "required": false,
181
- "optional": false,
182
- "docs": {
183
- "tags": [],
184
- "text": "Define a dire\u00E7\u00E3o em que haver\u00E1 scroll."
185
- },
186
- "attribute": "direction",
187
- "reflect": false
188
- },
189
- "locked": {
190
- "type": "boolean",
191
- "mutable": false,
192
- "complexType": {
193
- "original": "boolean",
194
- "resolved": "boolean",
195
- "references": {}
196
- },
197
- "required": false,
198
- "optional": false,
199
- "docs": {
200
- "tags": [],
201
- "text": "Define se o `scroll` estar\u00E1 bloqueado."
202
- },
203
- "attribute": "locked",
204
- "reflect": false,
205
- "defaultValue": "false"
206
- },
207
- "activeShadow": {
208
- "type": "boolean",
209
- "mutable": false,
210
- "complexType": {
211
- "original": "boolean",
212
- "resolved": "boolean",
213
- "references": {}
178
+ },
179
+ "required": false,
180
+ "optional": false,
181
+ "docs": {
182
+ "tags": [],
183
+ "text": "Define a dire\u00E7\u00E3o em que haver\u00E1 scroll."
184
+ },
185
+ "attribute": "direction",
186
+ "reflect": false
214
187
  },
215
- "required": false,
216
- "optional": false,
217
- "docs": {
218
- "tags": [],
219
- "text": "Define se haver\u00E1 efeito de sombreado."
188
+ "locked": {
189
+ "type": "boolean",
190
+ "mutable": false,
191
+ "complexType": {
192
+ "original": "boolean",
193
+ "resolved": "boolean",
194
+ "references": {}
195
+ },
196
+ "required": false,
197
+ "optional": false,
198
+ "docs": {
199
+ "tags": [],
200
+ "text": "Define se o `scroll` estar\u00E1 bloqueado."
201
+ },
202
+ "attribute": "locked",
203
+ "reflect": false,
204
+ "defaultValue": "false"
220
205
  },
221
- "attribute": "active-shadow",
222
- "reflect": false,
223
- "defaultValue": "false"
224
- }
225
- }; }
226
- static get states() { return {
227
- "isActive": {}
228
- }; }
229
- static get listeners() { return [{
230
- "name": "click",
231
- "method": "clickListener",
232
- "target": undefined,
233
- "capture": true,
234
- "passive": false
235
- }, {
236
- "name": "mousedown",
237
- "method": "mouseDownHandler",
238
- "target": undefined,
239
- "capture": false,
240
- "passive": true
241
- }, {
242
- "name": "mouseup",
243
- "method": "mouseUpHandler",
244
- "target": undefined,
245
- "capture": false,
246
- "passive": true
247
- }, {
248
- "name": "mousemove",
249
- "method": "mouseMoveHandler",
250
- "target": undefined,
251
- "capture": false,
252
- "passive": true
253
- }]; }
206
+ "activeShadow": {
207
+ "type": "boolean",
208
+ "mutable": false,
209
+ "complexType": {
210
+ "original": "boolean",
211
+ "resolved": "boolean",
212
+ "references": {}
213
+ },
214
+ "required": false,
215
+ "optional": false,
216
+ "docs": {
217
+ "tags": [],
218
+ "text": "Define se haver\u00E1 efeito de sombreado."
219
+ },
220
+ "attribute": "active-shadow",
221
+ "reflect": false,
222
+ "defaultValue": "false"
223
+ }
224
+ };
225
+ }
226
+ static get states() {
227
+ return {
228
+ "isActive": {}
229
+ };
230
+ }
231
+ static get listeners() {
232
+ return [{
233
+ "name": "click",
234
+ "method": "clickListener",
235
+ "target": undefined,
236
+ "capture": true,
237
+ "passive": false
238
+ }, {
239
+ "name": "mousedown",
240
+ "method": "mouseDownHandler",
241
+ "target": undefined,
242
+ "capture": false,
243
+ "passive": true
244
+ }, {
245
+ "name": "mouseup",
246
+ "method": "mouseUpHandler",
247
+ "target": undefined,
248
+ "capture": false,
249
+ "passive": true
250
+ }, {
251
+ "name": "mousemove",
252
+ "method": "mouseMoveHandler",
253
+ "target": undefined,
254
+ "capture": false,
255
+ "passive": true
256
+ }];
257
+ }
254
258
  }
255
259
  class ScrollCtrl {
256
260
  constructor(scrollablePanel) {