@sankhyalabs/ezui 1.2.0-beta.19 → 1.2.0-beta.20

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 (132) hide show
  1. package/dist/cjs/FieldBuilder-cd3e45ed.js +119 -0
  2. package/dist/cjs/ez-actions-button.cjs.entry.js +64 -12
  3. package/dist/cjs/ez-button.cjs.entry.js +12 -10
  4. package/dist/cjs/ez-calendar.cjs.entry.js +1 -1
  5. package/dist/cjs/ez-chip.cjs.entry.js +1 -1
  6. package/dist/cjs/ez-collapsible-box.cjs.entry.js +85 -6
  7. package/dist/cjs/ez-combo-box.cjs.entry.js +10 -6
  8. package/dist/cjs/ez-date-input.cjs.entry.js +8 -13
  9. package/dist/cjs/ez-date-time-input.cjs.entry.js +8 -13
  10. package/dist/cjs/ez-form.cjs.entry.js +41 -131
  11. package/dist/cjs/ez-grid-config.cjs.entry.js +2 -3
  12. package/dist/cjs/ez-grid.cjs.entry.js +1 -1
  13. package/dist/cjs/ez-list.cjs.entry.js +1 -1
  14. package/dist/cjs/ez-popover.cjs.entry.js +1 -1
  15. package/dist/cjs/ez-radio-button.cjs.entry.js +2 -2
  16. package/dist/cjs/ez-tabselector.cjs.entry.js +7 -5
  17. package/dist/cjs/ez-text-area.cjs.entry.js +6 -6
  18. package/dist/cjs/ez-text-edit.cjs.entry.js +103 -0
  19. package/dist/cjs/ez-text-input.cjs.entry.js +11 -1
  20. package/dist/cjs/ezui.cjs.js +1 -1
  21. package/dist/cjs/loader.cjs.js +1 -1
  22. package/dist/collection/collection-manifest.json +4 -3
  23. package/dist/collection/components/ez-actions-button/ez-actions-button.css +49 -20
  24. package/dist/collection/components/ez-actions-button/ez-actions-button.js +219 -23
  25. package/dist/collection/components/ez-button/ez-button.css +0 -6
  26. package/dist/collection/components/ez-button/ez-button.js +11 -9
  27. package/dist/collection/components/ez-calendar/ez-calendar.css +17 -20
  28. package/dist/collection/components/ez-chip/ez-chip.css +3 -2
  29. package/dist/collection/components/ez-collapsible-box/ez-collapsible-box.css +16 -0
  30. package/dist/collection/components/ez-collapsible-box/ez-collapsible-box.js +226 -7
  31. package/dist/collection/components/ez-combo-box/ez-combo-box.css +1 -22
  32. package/dist/collection/components/ez-combo-box/ez-combo-box.js +17 -14
  33. package/dist/collection/components/ez-date-input/ez-date-input.js +8 -13
  34. package/dist/collection/components/ez-date-time-input/ez-date-time-input.js +8 -13
  35. package/dist/collection/components/ez-form/ez-form.js +22 -13
  36. package/dist/collection/components/ez-form/fieldbuilder/FieldBuilder.js +1 -1
  37. package/dist/collection/components/ez-form/structure/FormSheetMetadata.js +24 -14
  38. package/dist/collection/components/ez-grid/ez-grid.js +17 -1
  39. package/dist/collection/components/ez-grid/subcomponents/ez-grid-config/ez-grid-config.css +36 -25
  40. package/dist/collection/components/ez-grid/subcomponents/ez-grid-config/ez-grid-config.js +1 -2
  41. package/dist/collection/components/ez-grid/subcomponents/ez-select-box/ez-select-box.js +5 -4
  42. package/dist/collection/components/ez-list/ez-list.css +9 -1
  43. package/dist/collection/components/ez-popover/ez-popover.css +1 -1
  44. package/dist/collection/components/ez-radio-button/ez-radio-button.css +16 -5
  45. package/dist/collection/components/ez-radio-button/ez-radio-button.js +1 -1
  46. package/dist/collection/components/ez-search/ez-search.js +6 -6
  47. package/dist/collection/components/ez-tabselector/ez-tabselector.css +9 -0
  48. package/dist/collection/components/ez-tabselector/ez-tabselector.js +7 -3
  49. package/dist/collection/components/ez-text-area/ez-text-area.css +6 -3
  50. package/dist/collection/components/ez-text-area/ez-text-area.js +5 -5
  51. package/dist/collection/components/ez-text-edit/ez-text-edit.css +19 -0
  52. package/dist/collection/components/ez-text-edit/ez-text-edit.js +188 -0
  53. package/dist/collection/components/ez-text-input/ez-text-input.css +18 -2
  54. package/dist/collection/components/ez-text-input/ez-text-input.js +28 -0
  55. package/dist/collection/utils/index.js +1 -0
  56. package/dist/custom-elements/index.d.ts +6 -0
  57. package/dist/custom-elements/index.js +467 -217
  58. package/dist/esm/FieldBuilder-9e9545fc.js +117 -0
  59. package/dist/esm/ez-actions-button.entry.js +64 -12
  60. package/dist/esm/ez-button.entry.js +12 -10
  61. package/dist/esm/ez-calendar.entry.js +1 -1
  62. package/dist/esm/ez-chip.entry.js +1 -1
  63. package/dist/esm/ez-collapsible-box.entry.js +86 -7
  64. package/dist/esm/ez-combo-box.entry.js +10 -6
  65. package/dist/esm/ez-date-input.entry.js +8 -13
  66. package/dist/esm/ez-date-time-input.entry.js +9 -14
  67. package/dist/esm/ez-form.entry.js +40 -130
  68. package/dist/esm/ez-grid-config.entry.js +2 -3
  69. package/dist/esm/ez-grid.entry.js +1 -1
  70. package/dist/esm/ez-list.entry.js +1 -1
  71. package/dist/esm/ez-popover.entry.js +1 -1
  72. package/dist/esm/ez-radio-button.entry.js +2 -2
  73. package/dist/esm/ez-tabselector.entry.js +7 -5
  74. package/dist/esm/ez-text-area.entry.js +6 -6
  75. package/dist/esm/ez-text-edit.entry.js +99 -0
  76. package/dist/esm/ez-text-input.entry.js +11 -1
  77. package/dist/esm/ezui.js +1 -1
  78. package/dist/esm/loader.js +1 -1
  79. package/dist/ezui/ezui.esm.js +1 -1
  80. package/dist/ezui/p-2cc6dd66.entry.js +1 -0
  81. package/dist/ezui/p-2ccad880.entry.js +1 -0
  82. package/dist/ezui/p-333d79c4.entry.js +1 -0
  83. package/dist/ezui/{p-1d47487a.entry.js → p-3c87845d.entry.js} +1 -1
  84. package/dist/ezui/p-4ad647fc.entry.js +1 -0
  85. package/dist/ezui/p-54ecd19a.js +1 -0
  86. package/dist/ezui/{p-b2cf7db2.entry.js → p-63d567cc.entry.js} +1 -1
  87. package/dist/ezui/p-6befd7e4.entry.js +1 -0
  88. package/dist/ezui/p-712bd293.entry.js +1 -0
  89. package/dist/ezui/{p-ce824077.entry.js → p-72c75a43.entry.js} +1 -1
  90. package/dist/ezui/{p-81eb2738.entry.js → p-802d23d9.entry.js} +1 -1
  91. package/dist/ezui/p-bca406db.entry.js +1 -0
  92. package/dist/ezui/p-be06251d.entry.js +1 -0
  93. package/dist/ezui/{p-e7d03a0d.entry.js → p-bffae598.entry.js} +1 -1
  94. package/dist/ezui/p-d91527dc.entry.js +1 -0
  95. package/dist/ezui/p-dd257f17.entry.js +1 -0
  96. package/dist/ezui/p-e1f2b5da.entry.js +1 -0
  97. package/dist/ezui/p-e230bfd2.entry.js +1 -0
  98. package/dist/ezui/p-e697ffd5.entry.js +1 -0
  99. package/dist/types/components/ez-actions-button/ez-actions-button.d.ts +42 -9
  100. package/dist/types/components/ez-collapsible-box/ez-collapsible-box.d.ts +46 -1
  101. package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +15 -5
  102. package/dist/types/components/ez-date-input/ez-date-input.d.ts +0 -1
  103. package/dist/types/components/ez-date-time-input/ez-date-time-input.d.ts +0 -1
  104. package/dist/types/components/ez-form/DataBinder.d.ts +2 -2
  105. package/dist/types/components/ez-form/ez-form.d.ts +21 -11
  106. package/dist/types/components/ez-form/fieldbuilder/tpl/CheckBox.tpl.d.ts +3 -3
  107. package/dist/types/components/ez-form/fieldbuilder/tpl/NumberInput.tpl.d.ts +2 -5
  108. package/dist/types/components/ez-form/structure/FormSheetMetadata.d.ts +3 -3
  109. package/dist/types/components/ez-grid/ez-grid.d.ts +1 -1
  110. package/dist/types/components/ez-grid/subcomponents/ez-select-box/ez-select-box.d.ts +2 -6
  111. package/dist/types/components/ez-search/ez-search.d.ts +3 -3
  112. package/dist/types/components/ez-tabselector/ez-tabselector.d.ts +2 -0
  113. package/dist/types/components/ez-text-edit/ez-text-edit.d.ts +39 -0
  114. package/dist/types/components/ez-text-input/ez-text-input.d.ts +5 -0
  115. package/dist/types/components.d.ts +177 -26
  116. package/dist/types/utils/index.d.ts +1 -0
  117. package/package.json +5 -3
  118. package/react/components.d.ts +1 -0
  119. package/react/components.js +1 -0
  120. package/react/components.js.map +1 -1
  121. package/dist/ezui/p-21c0531b.entry.js +0 -1
  122. package/dist/ezui/p-2f02347d.entry.js +0 -1
  123. package/dist/ezui/p-416bedbe.entry.js +0 -1
  124. package/dist/ezui/p-52085ae4.entry.js +0 -1
  125. package/dist/ezui/p-5fe7e960.entry.js +0 -1
  126. package/dist/ezui/p-62110996.entry.js +0 -1
  127. package/dist/ezui/p-a27dafa4.entry.js +0 -1
  128. package/dist/ezui/p-aba3fa6c.entry.js +0 -1
  129. package/dist/ezui/p-abc21959.entry.js +0 -1
  130. package/dist/ezui/p-c019e137.entry.js +0 -1
  131. package/dist/ezui/p-d0671e14.entry.js +0 -1
  132. package/dist/ezui/p-e0f06d73.entry.js +0 -1
@@ -1,5 +1,5 @@
1
1
  import { FloatingManager } from '@sankhyalabs/core';
2
- import { Component, Element, Event, h, Host, Prop } from '@stencil/core';
2
+ import { Component, Element, Event, h, Host, Prop, State, Method } from '@stencil/core';
3
3
  import { CSSVarsUtils } from '../../utils';
4
4
  export class EzActionsButton {
5
5
  constructor() {
@@ -7,14 +7,31 @@ export class EzActionsButton {
7
7
  * Deixa o campo disponível ou não para interação com usuário.
8
8
  */
9
9
  this.enabled = true;
10
+ /**
11
+ * Define se o label será apresentado no display do componente.
12
+ */
13
+ this.showLabel = false;
14
+ /**
15
+ * Define se na opção selecionada apresentará um ícone de check.
16
+ */
17
+ this.checkOption = false;
18
+ /**
19
+ * Define se o background do botão será transparent.
20
+ */
21
+ this.isTransparent = false;
22
+ /**
23
+ * Define se o elemento contará com a seta de orientação
24
+ */
25
+ this.arrowActive = false;
10
26
  this.innerClickCheck = (floatingContainer, node) => {
27
+ var _a;
11
28
  if (node && floatingContainer) {
12
29
  if (node === floatingContainer) {
13
30
  return true;
14
31
  }
15
32
  const children = floatingContainer.children;
16
33
  for (let i = 0; i < children.length; i++) {
17
- if (children[i].shadowRoot.contains(node)) {
34
+ if ((_a = children[i].shadowRoot) === null || _a === void 0 ? void 0 : _a.contains(node)) {
18
35
  return true;
19
36
  }
20
37
  }
@@ -22,25 +39,44 @@ export class EzActionsButton {
22
39
  return false;
23
40
  };
24
41
  }
42
+ /**
43
+ * Oculta a lista de ações
44
+ */
45
+ async hideActions() {
46
+ if (this._floatingID != undefined) {
47
+ FloatingManager.close(this._floatingID);
48
+ }
49
+ this._floatingID = undefined;
50
+ }
51
+ /**
52
+ * Verifica se a lista de ações está oculta
53
+ */
54
+ async isOpened() {
55
+ return this._floatingID != undefined;
56
+ }
25
57
  showActions() {
58
+ var _a, _b;
26
59
  if (!this.enabled) {
27
60
  return;
28
61
  }
29
- this._floatingID = FloatingManager.float(this._actionsList, this._listContainer, { autoClose: true, innerClickTest: this.innerClickCheck });
62
+ const boundingHost = (_a = this._element) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
63
+ let posLeft = boundingHost ? (boundingHost.x - (this.arrowActive ? 5 : 0)) + "px" : null;
64
+ let options = { autoClose: true, innerClickTest: this.innerClickCheck, isFixed: true, left: posLeft };
65
+ this._floatingID = FloatingManager.float(this._actionsList, this._listContainer, options);
30
66
  const docWidth = document.body.clientWidth;
31
- const bounding = this._actionsList.getBoundingClientRect();
32
- if (bounding.right > docWidth) {
33
- FloatingManager.updateFloatPosition(this._actionsList, this._listContainer, { autoClose: true, innerClickTest: this.innerClickCheck, left: (docWidth - bounding.width) + "px" });
67
+ const boundingList = (_b = this._actionsList) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect();
68
+ if ((boundingList === null || boundingList === void 0 ? void 0 : boundingList.right) > docWidth) {
69
+ posLeft = (docWidth - boundingList.width) + "px";
70
+ options = { autoClose: true, innerClickTest: this.innerClickCheck, left: posLeft };
71
+ FloatingManager.updateFloatPosition(this._actionsList, this._listContainer, options);
34
72
  }
35
73
  window.requestAnimationFrame(() => {
36
74
  this._actionsList.scrollIntoView({ behavior: "smooth", block: "nearest", inline: "nearest" });
37
75
  });
38
76
  }
39
- hideActions() {
40
- if (this._floatingID != undefined) {
41
- FloatingManager.close(this._floatingID);
42
- }
43
- this._floatingID = undefined;
77
+ hasLabelOrCheckOption() {
78
+ var _a;
79
+ return (this.showLabel || this.checkOption) && ((_a = this.actions) === null || _a === void 0 ? void 0 : _a.length) > 0;
44
80
  }
45
81
  //---------------------------------------------
46
82
  // Event handlers
@@ -49,6 +85,7 @@ export class EzActionsButton {
49
85
  this.showActions();
50
86
  }
51
87
  actionClick(action) {
88
+ this._selectedAction = action;
52
89
  this.hideActions();
53
90
  this.ezAction.emit(action);
54
91
  }
@@ -79,12 +116,28 @@ export class EzActionsButton {
79
116
  if (this._floatingID == undefined) {
80
117
  this._actionsList.remove();
81
118
  }
119
+ if (this.hasLabelOrCheckOption()) {
120
+ if (!!this.value) {
121
+ this._selectedAction = this.actions.find((action) => action.value === this.value);
122
+ }
123
+ else if (!!!this._selectedAction) {
124
+ this._selectedAction = this.actions[0];
125
+ }
126
+ }
82
127
  }
83
128
  render() {
129
+ var _a;
84
130
  return (h(Host, null,
85
- h("ez-button", { ref: elem => this._button = elem, enabled: this.enabled, mode: "icon", iconName: "dots-vertical", size: this.size, onClick: () => this.handlerButtonClick() }),
86
- h("section", { class: "list-container", ref: elem => this._listContainer = elem },
87
- h("div", { class: "actions-list", ref: elem => this._actionsList = elem }, this.actions.map(action => h("ez-button", { class: "btn-action", size: "small", label: action.label, onClick: () => this.actionClick(action) }))))));
131
+ h("ez-button", { ref: elem => this._button = elem, class: this.isTransparent ? "ez-actions-button__btn-transparent" : "", label: this.showLabel && ((_a = this._selectedAction) === null || _a === void 0 ? void 0 : _a.label), enabled: this.enabled, mode: this.showLabel ? "" : "icon", iconName: this.showLabel ? "" : this.iconName || "dots-vertical", size: this.size, onClick: () => this.handlerButtonClick() }, this.showLabel &&
132
+ h("ez-icon", { class: "ez-actions-button__icon-left", slot: "rightIcon", iconName: this.iconName || "dots-vertical" })),
133
+ h("section", { class: "ez-actions-button__list-container", ref: elem => this._listContainer = elem },
134
+ h("div", { class: "ez-actions-button__actions-list", ref: elem => this._actionsList = elem },
135
+ this.arrowActive && h("div", { class: "ez-actions-button__arrow" }),
136
+ this.actions.map(action => {
137
+ var _a;
138
+ return h("ez-button", { class: "ez-actions-button__btn-action", size: "small", label: action.label, onClick: () => this.actionClick(action) }, this.checkOption && ((_a = this._selectedAction) === null || _a === void 0 ? void 0 : _a.value) === action.value &&
139
+ h("ez-icon", { class: "ez-actions-button__icon-right", slot: "leftIcon", iconName: "check" }));
140
+ })))));
88
141
  }
89
142
  static get is() { return "ez-actions-button"; }
90
143
  static get encapsulation() { return "shadow"; }
@@ -117,13 +170,13 @@ export class EzActionsButton {
117
170
  "type": "unknown",
118
171
  "mutable": true,
119
172
  "complexType": {
120
- "original": "Array<Action>",
121
- "resolved": "Action[]",
173
+ "original": "Array<IAction>",
174
+ "resolved": "IAction[]",
122
175
  "references": {
123
176
  "Array": {
124
177
  "location": "global"
125
178
  },
126
- "Action": {
179
+ "IAction": {
127
180
  "location": "local"
128
181
  }
129
182
  }
@@ -132,7 +185,7 @@ export class EzActionsButton {
132
185
  "optional": false,
133
186
  "docs": {
134
187
  "tags": [],
135
- "text": "Array no formato \"{value: string, label: string}\" que alimenta a lista de a\u00E7\u00F5es"
188
+ "text": ".\nArray no formato \"{value: string, label: string}\" que alimenta a lista de a\u00E7\u00F5es."
136
189
  }
137
190
  },
138
191
  "size": {
@@ -147,12 +200,121 @@ export class EzActionsButton {
147
200
  "optional": false,
148
201
  "docs": {
149
202
  "tags": [],
150
- "text": "\u00C9 poss\u00EDvel escolher entre [small,medium,large]"
203
+ "text": "\u00C9 poss\u00EDvel escolher entre [small,medium,large]."
151
204
  },
152
205
  "attribute": "size",
153
206
  "reflect": true
207
+ },
208
+ "showLabel": {
209
+ "type": "boolean",
210
+ "mutable": false,
211
+ "complexType": {
212
+ "original": "boolean",
213
+ "resolved": "boolean",
214
+ "references": {}
215
+ },
216
+ "required": false,
217
+ "optional": false,
218
+ "docs": {
219
+ "tags": [],
220
+ "text": "Define se o label ser\u00E1 apresentado no display do componente."
221
+ },
222
+ "attribute": "show-label",
223
+ "reflect": true,
224
+ "defaultValue": "false"
225
+ },
226
+ "iconName": {
227
+ "type": "string",
228
+ "mutable": false,
229
+ "complexType": {
230
+ "original": "string",
231
+ "resolved": "string",
232
+ "references": {}
233
+ },
234
+ "required": false,
235
+ "optional": false,
236
+ "docs": {
237
+ "tags": [],
238
+ "text": "Nome do \u00EDcone que ser\u00E1 apresentado no componente."
239
+ },
240
+ "attribute": "icon-name",
241
+ "reflect": true
242
+ },
243
+ "checkOption": {
244
+ "type": "boolean",
245
+ "mutable": false,
246
+ "complexType": {
247
+ "original": "boolean",
248
+ "resolved": "boolean",
249
+ "references": {}
250
+ },
251
+ "required": false,
252
+ "optional": false,
253
+ "docs": {
254
+ "tags": [],
255
+ "text": "Define se na op\u00E7\u00E3o selecionada apresentar\u00E1 um \u00EDcone de check."
256
+ },
257
+ "attribute": "check-option",
258
+ "reflect": true,
259
+ "defaultValue": "false"
260
+ },
261
+ "value": {
262
+ "type": "string",
263
+ "mutable": false,
264
+ "complexType": {
265
+ "original": "string",
266
+ "resolved": "string",
267
+ "references": {}
268
+ },
269
+ "required": false,
270
+ "optional": false,
271
+ "docs": {
272
+ "tags": [],
273
+ "text": "Define qual o value que ser\u00E1 selecionado na lista."
274
+ },
275
+ "attribute": "value",
276
+ "reflect": true
277
+ },
278
+ "isTransparent": {
279
+ "type": "boolean",
280
+ "mutable": false,
281
+ "complexType": {
282
+ "original": "boolean",
283
+ "resolved": "boolean",
284
+ "references": {}
285
+ },
286
+ "required": false,
287
+ "optional": false,
288
+ "docs": {
289
+ "tags": [],
290
+ "text": "Define se o background do bot\u00E3o ser\u00E1 transparent."
291
+ },
292
+ "attribute": "is-transparent",
293
+ "reflect": true,
294
+ "defaultValue": "false"
295
+ },
296
+ "arrowActive": {
297
+ "type": "boolean",
298
+ "mutable": false,
299
+ "complexType": {
300
+ "original": "boolean",
301
+ "resolved": "boolean",
302
+ "references": {}
303
+ },
304
+ "required": false,
305
+ "optional": false,
306
+ "docs": {
307
+ "tags": [],
308
+ "text": "Define se o elemento contar\u00E1 com a seta de orienta\u00E7\u00E3o"
309
+ },
310
+ "attribute": "arrow-active",
311
+ "reflect": true,
312
+ "defaultValue": "false"
154
313
  }
155
314
  }; }
315
+ static get states() { return {
316
+ "_selectedAction": {}
317
+ }; }
156
318
  static get events() { return [{
157
319
  "method": "ezAction",
158
320
  "name": "ezAction",
@@ -161,17 +323,51 @@ export class EzActionsButton {
161
323
  "composed": true,
162
324
  "docs": {
163
325
  "tags": [],
164
- "text": "Evento que \u00E9 disparado ao acionar uma a\u00E7\u00E3o"
326
+ "text": "Evento que \u00E9 disparado ao acionar uma a\u00E7\u00E3o."
165
327
  },
166
328
  "complexType": {
167
- "original": "Action",
168
- "resolved": "Action",
329
+ "original": "IAction",
330
+ "resolved": "IAction",
169
331
  "references": {
170
- "Action": {
332
+ "IAction": {
171
333
  "location": "local"
172
334
  }
173
335
  }
174
336
  }
175
337
  }]; }
338
+ static get methods() { return {
339
+ "hideActions": {
340
+ "complexType": {
341
+ "signature": "() => Promise<void>",
342
+ "parameters": [],
343
+ "references": {
344
+ "Promise": {
345
+ "location": "global"
346
+ }
347
+ },
348
+ "return": "Promise<void>"
349
+ },
350
+ "docs": {
351
+ "text": "Oculta a lista de a\u00E7\u00F5es",
352
+ "tags": []
353
+ }
354
+ },
355
+ "isOpened": {
356
+ "complexType": {
357
+ "signature": "() => Promise<boolean>",
358
+ "parameters": [],
359
+ "references": {
360
+ "Promise": {
361
+ "location": "global"
362
+ }
363
+ },
364
+ "return": "Promise<boolean>"
365
+ },
366
+ "docs": {
367
+ "text": "Verifica se a lista de a\u00E7\u00F5es est\u00E1 oculta",
368
+ "tags": []
369
+ }
370
+ }
371
+ }; }
176
372
  static get elementRef() { return "_element"; }
177
373
  }
@@ -108,12 +108,6 @@ button:hover {
108
108
  --ez-icon--color: var(--ez-button--hover-color);
109
109
  }
110
110
 
111
- button:focus {
112
- outline: none;
113
- outline: var(--ez-button--focus--border);
114
- box-shadow: var(--ez-button--focus--box-shadow);
115
- }
116
-
117
111
  button:active {
118
112
  outline: none;
119
113
  box-shadow: none;
@@ -30,18 +30,20 @@ export class EzButton {
30
30
  handleSlotChange(ev) {
31
31
  const slot = ev.target;
32
32
  const content = slot.assignedElements()[0];
33
- if (this.mode == "link") {
34
- content.style.display = "inline";
35
- if (slot.name == "leftIcon") {
36
- content.style.paddingRight = "var(--ez-button__inline__icon--padding)";
33
+ if (!!content) {
34
+ if (this.mode == "link") {
35
+ content.style.display = "inline";
36
+ if (slot.name == "leftIcon") {
37
+ content.style.paddingRight = "var(--ez-button__inline__icon--padding)";
38
+ }
39
+ else if (slot.name == "rightIcon") {
40
+ content.style.paddingLeft = "var(--ez-button__inline__icon--padding)";
41
+ }
37
42
  }
38
- else if (slot.name == "rightIcon") {
39
- content.style.paddingLeft = "var(--ez-button__inline__icon--padding)";
43
+ else {
44
+ content.style.setProperty("--ez-icon--color", "var(--ez-icon--color)");
40
45
  }
41
46
  }
42
- else {
43
- content.style.setProperty("--ez-icon--color", "var(--ez-icon--color)");
44
- }
45
47
  }
46
48
  render() {
47
49
  if (this.mode == "icon") {
@@ -81,16 +81,18 @@
81
81
 
82
82
  .calendar__container{
83
83
  display: flex;
84
+
85
+ /*public*/
84
86
  z-index: var(--more-visible, 2);;
85
87
  }
86
88
 
87
89
  .calendar {
88
90
  /*private*/
89
- z-index: var(--more-visible, 2);
90
91
  display: flex;
91
92
  flex-direction: column;
92
93
 
93
94
  /*public*/
95
+ z-index: var(--more-visible, 2);
94
96
  background-color: var(--ez-calendar__body--background-color);
95
97
  padding: var(--ez-calendar__body--padding);
96
98
  border-radius: var(--ez-calendar__body--border-radius);
@@ -101,10 +103,10 @@
101
103
  /*private*/
102
104
  display: flex;
103
105
  justify-content: space-between;
104
- padding-bottom: var(--space--small, 6px);
105
- margin: 0px var(--space--, 12px) var(--space--small, 6px) var(--space--, 12px);
106
106
 
107
107
  /*public*/
108
+ padding-bottom: var(--space--small, 6px);
109
+ margin: 0px var(--space--, 12px) var(--space--small, 6px) var(--space--, 12px);
108
110
  font-family: var(--ez-calendar--font-family);
109
111
  color: var(--ez-calendar--color);
110
112
  text-shadow: var(--ez-calendar--text-shadow);
@@ -150,11 +152,9 @@
150
152
  }
151
153
 
152
154
  .calendar__lbl-month {
153
- /*private*/
155
+ /*public*/
154
156
  font-weight: var(--text-weight--extra-large, 700);
155
157
  font-size: var(--title--small, 14px);
156
-
157
- /*public*/
158
158
  font-family: var(--ez-calendar--font-family);
159
159
  color: var(--ez-calendar--color);
160
160
  text-shadow: var(--ez-calendar--text-shadow);
@@ -173,9 +173,9 @@
173
173
  justify-content: center;
174
174
  align-content: center;
175
175
  cursor: pointer;
176
- font-size: var(--text--extra-small, 10px);
177
176
 
178
177
  /*public*/
178
+ font-size: var(--text--extra-small, 10px);
179
179
  font-family: var(--ez-calendar--font-family);
180
180
  color: var(--ez-calendar--color);
181
181
  text-shadow: var(--ez-calendar--text-shadow);
@@ -202,14 +202,14 @@
202
202
  background-color: unset;
203
203
  border-radius: unset;
204
204
  cursor: unset;
205
+
206
+ /*public*/
205
207
  color: var(--ez-calendar--color);
206
208
  }
207
209
 
208
210
  .calendar__cell--unselectable {
209
- /*private*/
210
- font-weight: var(--text-weight--large, 600);
211
-
212
211
  /*public*/
212
+ font-weight: var(--text-weight--large, 600);
213
213
  font-family: var(--ez-calendar--font-family);
214
214
  color: var(--ez-calendar--color);
215
215
  text-shadow: var(--ez-calendar--text-shadow);
@@ -232,11 +232,11 @@
232
232
  border: none;
233
233
  background-color: unset;
234
234
  cursor: pointer;
235
- font-weight: var(--text-weight--large, 600);
236
- font-size: var(--title--extra-small, 12px);
237
235
  padding: 0px;
238
236
 
239
237
  /*public*/
238
+ font-weight: var(--text-weight--large, 600);
239
+ font-size: var(--title--extra-small, 12px);
240
240
  font-family: var(--ez-calendar--font-family);
241
241
  text-shadow: var(--ez-calendar--text-shadow);
242
242
  color: var(--ez-calendar__btn-today--color);
@@ -280,21 +280,18 @@ section{
280
280
  min-width: 0px;
281
281
  }
282
282
 
283
- .calendar-time__header{
283
+ .calendar-time__header {
284
284
  /*private*/
285
- padding-left: var(--space--small, 6px);
286
- padding-right: var(--space--small, 6px);
287
285
  display: flex;
288
286
  justify-content: space-between;
287
+
288
+ /*public*/
289
+ padding-left: var(--space--small, 6px);
290
+ padding-right: var(--space--small, 6px);
289
291
  padding-bottom: var(--space--small, 6px);
290
292
  margin: 0px var(--space--, 12px) var(--space--small, 6px) var(--space--, 12px);
291
293
  font-weight: var(--text-weight--extra-large, 700);
292
294
  font-size: var(--title--small, 14px);
293
-
294
-
295
- /*public*/
296
- font-family: var(--ez-calendar--font-family);
297
- color: var(--ez-calendar--color);
298
295
  text-shadow: var(--ez-calendar--text-shadow);
299
296
  border-bottom: solid var(--ez-calendar__header-line--stroke) var(--ez-calendar__header-line--color);
300
297
  font-family: var(--ez-calendar--font-family);
@@ -49,14 +49,15 @@
49
49
  display: flex;
50
50
  white-space: nowrap;
51
51
  align-items: center;
52
- font-weight: var(--ez-label-chip__label--font-weight);
53
52
  cursor: pointer;
53
+ user-select: none;
54
+
54
55
  /*public*/
55
56
  color: var(--ez-label-chip__label--title--primary);
56
- user-select: none;
57
57
  height: var(--ez-label-chip--height);
58
58
  font-family: var(--ez-label-chip__label--font-family);
59
59
  font-size: var(--ez-label-chip__label--font-size);
60
+ font-weight: var(--ez-label-chip__label--font-weight);
60
61
  }
61
62
 
62
63
  .lbl--active {
@@ -80,12 +80,14 @@ ez-icon {
80
80
 
81
81
  .collapsible-box__label {
82
82
  /*private*/
83
+ display: flex;
83
84
  white-space: nowrap;
84
85
  overflow: hidden;
85
86
  cursor: pointer;
86
87
  text-overflow: ellipsis;
87
88
  box-sizing: border-box;
88
89
  margin-left: 6px;
90
+ gap: 6px;
89
91
 
90
92
  /*public*/
91
93
  font-family: var(--ez-collapsible-box--font-family);
@@ -93,6 +95,20 @@ ez-icon {
93
95
  font-weight: var(--ez-collapsible-box--font-weight);
94
96
  }
95
97
 
98
+ .collapsible-box__label ez-icon {
99
+ visibility: hidden;
100
+ transition: 0.25s linear;
101
+ }
102
+
103
+ .collapsible-box__label:hover ez-icon {
104
+ visibility: visible;
105
+ }
106
+
107
+ .collapsible-box__text-edit {
108
+ /*private*/
109
+ margin-left: 6px;
110
+ }
111
+
96
112
  .collapsible-box__icon {
97
113
  /*private*/
98
114
  transform: rotate(90deg) translate(0px, 14%);