@zanichelli/albe-web-components 9.2.4-beta1 → 9.3.0-rc1

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 (105) hide show
  1. package/dist/cjs/index-e3299e0a.js +4 -12
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/web-components-library.cjs.js +1 -1
  4. package/dist/cjs/z-app-header_14.cjs.entry.js +2828 -0
  5. package/dist/cjs/z-dragdrop-area.cjs.entry.js +37 -0
  6. package/dist/collection/components/modal/z-modal/index.js +18 -17
  7. package/dist/collection/components/modal/z-modal/styles.css +61 -24
  8. package/dist/esm/{index-d3dfe710.js → index-5b83b0b1.js} +1 -1
  9. package/dist/esm/{index-1b2e3e53.js → index-8528dee0.js} +1 -1
  10. package/dist/esm/index-a2ca4b97.js +4 -12
  11. package/dist/esm/index.js +1 -1
  12. package/dist/esm/loader.js +1 -1
  13. package/dist/esm/{utils-4d2d99d9.js → utils-6c83dfcb.js} +1 -1
  14. package/dist/esm/web-components-library.js +1 -1
  15. package/dist/esm/z-app-header_14.entry.js +2811 -0
  16. package/dist/esm/z-book-card.entry.js +1 -1
  17. package/dist/esm/z-breadcrumb.entry.js +1 -1
  18. package/dist/esm/z-chip.entry.js +1 -1
  19. package/dist/esm/z-combobox.entry.js +1 -1
  20. package/dist/esm/z-dragdrop-area.entry.js +33 -0
  21. package/dist/esm/z-file-upload.entry.js +1 -1
  22. package/dist/esm/z-myz-card-info.entry.js +1 -1
  23. package/dist/esm/z-myz-list-item.entry.js +1 -1
  24. package/dist/esm/z-pocket_3.entry.js +1 -1
  25. package/dist/esm/z-skip-to-content.entry.js +1 -1
  26. package/dist/esm/z-slideshow.entry.js +1 -1
  27. package/dist/esm/z-table-deprecated.entry.js +2 -2
  28. package/dist/esm/z-table-header.entry.js +2 -2
  29. package/dist/esm/z-table.entry.js +2 -2
  30. package/dist/esm/z-toggle-switch.entry.js +1 -1
  31. package/dist/esm/z-tr.entry.js +2 -2
  32. package/dist/types/components/modal/z-modal/index.d.ts +2 -2
  33. package/dist/types/components.d.ts +4 -4
  34. package/dist/web-components-library/index.esm.js +1 -1
  35. package/dist/web-components-library/p-052c06ac.entry.js +1 -0
  36. package/dist/web-components-library/{p-37e8194f.entry.js → p-13ac8bd3.entry.js} +1 -1
  37. package/dist/web-components-library/{p-65dd23d7.js → p-327b7b79.js} +1 -1
  38. package/dist/web-components-library/{p-f2eaa685.entry.js → p-3ee4aa12.entry.js} +1 -1
  39. package/dist/web-components-library/{p-a6a09ce6.entry.js → p-432a2f5b.entry.js} +1 -1
  40. package/dist/web-components-library/{p-f3408275.entry.js → p-438f017e.entry.js} +1 -1
  41. package/dist/web-components-library/p-466c3c0b.entry.js +1 -0
  42. package/dist/web-components-library/p-76c2c26d.entry.js +1 -0
  43. package/dist/web-components-library/{p-1cbd8a5f.entry.js → p-7eb6d043.entry.js} +1 -1
  44. package/{www/build/p-c1f20cec.entry.js → dist/web-components-library/p-7f43e400.entry.js} +1 -1
  45. package/dist/web-components-library/{p-dd3e0b4e.js → p-91447194.js} +1 -1
  46. package/dist/web-components-library/{p-8b2bf3b4.entry.js → p-aa8b0c95.entry.js} +1 -1
  47. package/dist/web-components-library/p-b2420056.entry.js +1 -0
  48. package/dist/web-components-library/{p-69bde29c.entry.js → p-b3093245.entry.js} +1 -1
  49. package/dist/web-components-library/{p-fc8f0f1a.entry.js → p-c1de287b.entry.js} +1 -1
  50. package/dist/web-components-library/{p-cb07de86.entry.js → p-c8bd65d9.entry.js} +1 -1
  51. package/dist/web-components-library/{p-2d0ac109.entry.js → p-c99acff4.entry.js} +1 -1
  52. package/dist/web-components-library/{p-2f013f10.entry.js → p-dca0db1b.entry.js} +1 -1
  53. package/dist/web-components-library/{p-d7668580.js → p-eb9fa72b.js} +1 -1
  54. package/dist/web-components-library/p-f01f4e9b.entry.js +16 -0
  55. package/dist/web-components-library/web-components-library.esm.js +1 -1
  56. package/package.json +1 -1
  57. package/www/build/index.esm.js +1 -1
  58. package/www/build/p-052c06ac.entry.js +1 -0
  59. package/www/build/{p-37e8194f.entry.js → p-13ac8bd3.entry.js} +1 -1
  60. package/www/build/{p-65dd23d7.js → p-327b7b79.js} +1 -1
  61. package/www/build/p-39b528a6.js +129 -0
  62. package/www/build/{p-f2eaa685.entry.js → p-3ee4aa12.entry.js} +1 -1
  63. package/www/build/{p-a6a09ce6.entry.js → p-432a2f5b.entry.js} +1 -1
  64. package/www/build/{p-f3408275.entry.js → p-438f017e.entry.js} +1 -1
  65. package/www/build/p-466c3c0b.entry.js +1 -0
  66. package/www/build/p-5a0a4f69.css +1653 -0
  67. package/www/build/p-76c2c26d.entry.js +1 -0
  68. package/www/build/{p-1cbd8a5f.entry.js → p-7eb6d043.entry.js} +1 -1
  69. package/{dist/web-components-library/p-c1f20cec.entry.js → www/build/p-7f43e400.entry.js} +1 -1
  70. package/www/build/{p-dd3e0b4e.js → p-91447194.js} +1 -1
  71. package/www/build/{p-8b2bf3b4.entry.js → p-aa8b0c95.entry.js} +1 -1
  72. package/www/build/p-b2420056.entry.js +1 -0
  73. package/www/build/{p-69bde29c.entry.js → p-b3093245.entry.js} +1 -1
  74. package/www/build/{p-fc8f0f1a.entry.js → p-c1de287b.entry.js} +1 -1
  75. package/www/build/{p-cb07de86.entry.js → p-c8bd65d9.entry.js} +1 -1
  76. package/www/build/{p-2d0ac109.entry.js → p-c99acff4.entry.js} +1 -1
  77. package/www/build/{p-2f013f10.entry.js → p-dca0db1b.entry.js} +1 -1
  78. package/www/build/{p-d7668580.js → p-eb9fa72b.js} +1 -1
  79. package/www/build/p-f01f4e9b.entry.js +16 -0
  80. package/www/build/web-components-library.esm.js +1 -1
  81. package/www/index.html +59 -1
  82. package/dist/cjs/z-app-header_11.cjs.entry.js +0 -1056
  83. package/dist/cjs/z-date-picker.cjs.entry.js +0 -477
  84. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +0 -1015
  85. package/dist/cjs/z-select.cjs.entry.js +0 -333
  86. package/dist/esm/z-app-header_11.entry.js +0 -1042
  87. package/dist/esm/z-date-picker.entry.js +0 -473
  88. package/dist/esm/z-dragdrop-area_2.entry.js +0 -1010
  89. package/dist/esm/z-select.entry.js +0 -329
  90. package/dist/web-components-library/p-06d2f371.entry.js +0 -1
  91. package/dist/web-components-library/p-09be4e46.entry.js +0 -1
  92. package/dist/web-components-library/p-2d600a28.entry.js +0 -1
  93. package/dist/web-components-library/p-386bdb7f.entry.js +0 -1
  94. package/dist/web-components-library/p-3e61bad0.entry.js +0 -1
  95. package/dist/web-components-library/p-9829f5bd.entry.js +0 -16
  96. package/dist/web-components-library/p-ad47fe7d.entry.js +0 -1
  97. package/www/build/p-06d2f371.entry.js +0 -1
  98. package/www/build/p-09be4e46.entry.js +0 -1
  99. package/www/build/p-2d600a28.entry.js +0 -1
  100. package/www/build/p-386bdb7f.entry.js +0 -1
  101. package/www/build/p-39ac174d.css +0 -2
  102. package/www/build/p-3e61bad0.entry.js +0 -1
  103. package/www/build/p-4392fcb5.js +0 -1
  104. package/www/build/p-9829f5bd.entry.js +0 -16
  105. package/www/build/p-ad47fe7d.entry.js +0 -1
@@ -1,333 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-e3299e0a.js');
6
- const index$1 = require('./index-e8ce94a1.js');
7
- const utils = require('./utils-4ac02425.js');
8
- require('./breakpoints-ebe1a437.js');
9
-
10
- const stylesCss = ".sc-z-select-h{display:inline-block;width:inherit;color:var(--color-text02);font-family:var(--font-family-sans);font-size:var(--font-size-3);font-weight:var(--font-rg)}[size=\"small\"].sc-z-select-h,[size=\"x-small\"].sc-z-select-h{font-size:var(--font-size-2)}.select-wrapper.sc-z-select>z-input.sc-z-select{width:100%}.select-wrapper.sc-z-select>div.sc-z-select{position:relative}.select-wrapper.sc-z-select>div.closed.sc-z-select{overflow:hidden;height:0}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select{position:absolute;width:100%;box-sizing:border-box;padding:calc(var(--space-unit) * 0.5) var(--space-unit);border:var(--border-size-small) solid var(--gray200);border-top:none;background:var(--color-surface01);outline:none}.select-wrapper.sc-z-select .closed.sc-z-select .ul-scroll-wrapper.sc-z-select{z-index:10}.select-wrapper.sc-z-select .open.sc-z-select .ul-scroll-wrapper.sc-z-select{z-index:20}.select-wrapper.sc-z-select .ul-scroll-wrapper.fixed.sc-z-select{position:static}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select>z-list.sc-z-select{position:relative;overflow:auto;max-height:240px;padding:calc(var(--space-unit) * 0.5);outline:none;scrollbar-color:var(--color-primary01) transparent}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select>z-list.sc-z-select::-webkit-scrollbar{width:10px;background:linear-gradient(to right, transparent 0 3px, var(--gray200) 3px 7px, transparent 7px 10px);border-radius:var(--border-radius)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select>z-list.sc-z-select::-webkit-scrollbar-track{background-color:transparent}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select>z-list.sc-z-select::-webkit-scrollbar-thumb{width:10px;background-color:var(--color-primary01);border-radius:var(--border-radius)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select>z-list.sc-z-select::-webkit-scrollbar-thumb:hover{background-color:var(--color-hover-primary)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-content.sc-z-select{display:block;padding:calc(var(--space-unit) * 0.5) calc(var(--space-unit) * 1.5)}[size=\"x-small\"].sc-z-select-h .select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-content.sc-z-select{padding:0 calc(var(--space-unit) * 1.5)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-content.selected.sc-z-select{font-weight:bold}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select .no-results.sc-z-select z-icon.sc-z-select{margin-right:var(--space-unit)}.z-list-group-title.sc-z-select{color:var(--gray800)}.reset-item.sc-z-select{color:var(--color-primary01);fill:var(--color-primary01)}.reset-item-content.sc-z-select{display:flex;align-items:center}.reset-item.reset-item-margin.sc-z-select .reset-item-content.sc-z-select{margin-left:calc(var(--space-unit))}.reset-item.sc-z-select .reset-item-content.sc-z-select>z-icon.sc-z-select{margin-right:var(--space-unit)}.reset-item.hide.sc-z-select{display:none}";
11
-
12
- const ZSelect = class {
13
- constructor(hostRef) {
14
- index.registerInstance(this, hostRef);
15
- this.optionSelect = index.createEvent(this, "optionSelect", 7);
16
- this.resetSelect = index.createEvent(this, "resetSelect", 7);
17
- /** the id of the input element */
18
- this.htmlid = `id-${utils.randomId()}`;
19
- /** the input aria-label */
20
- this.ariaLabel = "";
21
- /** the input is disabled */
22
- this.disabled = false;
23
- /** the input is readonly */
24
- this.readonly = false;
25
- /** input helper message (optional) - if set to `false` message won't be displayed */
26
- this.message = true;
27
- /** the input has autocomplete option */
28
- this.autocomplete = false;
29
- /** no result text message */
30
- this.noresultslabel = "Nessun risultato";
31
- /** When fixed, it occupies space and pushes down next elements. */
32
- this.isfixed = false;
33
- /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */
34
- this.size = index$1.ControlSize.BIG;
35
- this.isOpen = false;
36
- this.selectedItem = null;
37
- this.itemsList = [];
38
- this.toggleSelectUl = this.toggleSelectUl.bind(this);
39
- this.selectItem = this.selectItem.bind(this);
40
- this.handleSelectFocus = this.handleSelectFocus.bind(this);
41
- }
42
- watchItems() {
43
- this.itemsList = this.getInitialItemsArray();
44
- this.selectedItem = this.itemsList.find((item) => item.selected);
45
- }
46
- /** get the input selected options */
47
- async getSelectedItem() {
48
- return this.selectedItem;
49
- }
50
- /** get the input value */
51
- async getValue() {
52
- return this.getSelectedValue();
53
- }
54
- /** set the input value */
55
- async setValue(value) {
56
- let values = [];
57
- if (typeof value === "string") {
58
- values.push(value);
59
- }
60
- else {
61
- values = value;
62
- }
63
- this.selectedItem = this.itemsList.find((item) => values.includes(item.id));
64
- }
65
- emitOptionSelect() {
66
- this.optionSelect.emit({
67
- id: this.htmlid,
68
- selected: this.getSelectedValue(),
69
- });
70
- }
71
- emitResetSelect() {
72
- this.resetSelect.emit({
73
- id: this.htmlid,
74
- });
75
- }
76
- componentWillLoad() {
77
- this.watchItems();
78
- }
79
- componentWillRender() {
80
- this.filterItems(this.searchString);
81
- }
82
- getInitialItemsArray() {
83
- return typeof this.items === "string" ? JSON.parse(this.items) : this.items;
84
- }
85
- mapSelectedItemToItemsArray() {
86
- const initialItemsList = this.getInitialItemsArray();
87
- return initialItemsList.map((item) => {
88
- var _a;
89
- item.selected = item.id === ((_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.id);
90
- return item;
91
- });
92
- }
93
- getSelectedValue() {
94
- var _a;
95
- return (_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.id;
96
- }
97
- filterItems(searchString) {
98
- const prevList = this.mapSelectedItemToItemsArray();
99
- if (!(searchString === null || searchString === void 0 ? void 0 : searchString.length)) {
100
- this.itemsList = prevList;
101
- }
102
- else {
103
- this.itemsList = prevList
104
- .filter((item) => {
105
- return item.name.toUpperCase().includes(searchString.toUpperCase());
106
- })
107
- .map((item) => {
108
- const start = item.name.toUpperCase().indexOf(searchString.toUpperCase());
109
- const end = start + searchString.length;
110
- const newName = item.name.substring(0, start) +
111
- `<strong>${item.name.substring(start, end)}</strong>` +
112
- item.name.substring(end, item.name.length);
113
- item.name = newName;
114
- return item;
115
- });
116
- }
117
- }
118
- hasAutocomplete() {
119
- return utils.boolean(this.autocomplete) === true;
120
- }
121
- handleInputChange(e) {
122
- this.searchString = e.detail.value;
123
- if (!this.isOpen) {
124
- this.toggleSelectUl();
125
- }
126
- }
127
- selectItem(item, selected) {
128
- if (item && item.disabled) {
129
- return;
130
- }
131
- this.itemsList = this.mapSelectedItemToItemsArray();
132
- this.itemsList = this.itemsList.map((i) => {
133
- i.selected = false;
134
- if (i.id === (item === null || item === void 0 ? void 0 : item.id)) {
135
- i.selected = selected;
136
- }
137
- return i;
138
- });
139
- this.selectedItem = this.itemsList.find((item) => item.selected);
140
- this.emitOptionSelect();
141
- if (this.searchString) {
142
- this.searchString = null;
143
- }
144
- }
145
- arrowsSelectNav(e, key) {
146
- const showResetIcon = this.resetItem && !!this.selectedItem;
147
- const arrows = [index$1.KeyboardCode.ARROW_DOWN, index$1.KeyboardCode.ARROW_UP];
148
- if (!arrows.includes(e.key)) {
149
- return;
150
- }
151
- e.preventDefault();
152
- e.stopPropagation();
153
- if (!this.isOpen) {
154
- this.toggleSelectUl();
155
- }
156
- let index;
157
- if (this.resetItem) {
158
- if (e.key === index$1.KeyboardCode.ARROW_DOWN) {
159
- index = key + 1 === this.itemsList.length + 1 ? +!showResetIcon : key + 1;
160
- }
161
- else if (e.key === index$1.KeyboardCode.ARROW_UP) {
162
- index = key <= +!showResetIcon ? this.itemsList.length : key - 1;
163
- }
164
- }
165
- if (!this.resetItem) {
166
- if (e.key === index$1.KeyboardCode.ARROW_DOWN) {
167
- index = key + 1 === this.itemsList.length ? 0 : key + 1;
168
- }
169
- else if (e.key === index$1.KeyboardCode.ARROW_UP) {
170
- index = key <= 0 ? this.itemsList.length - 1 : key - 1;
171
- }
172
- }
173
- this.focusSelectItem(index);
174
- }
175
- focusSelectItem(index) {
176
- const focusElem = this.element.querySelector(`#${this.htmlid}_${index}`);
177
- if (focusElem) {
178
- focusElem.focus();
179
- }
180
- }
181
- toggleSelectUl(selfFocusOnClose = false) {
182
- if (this.disabled || this.readonly) {
183
- return;
184
- }
185
- if (!this.isOpen) {
186
- document.addEventListener("click", this.handleSelectFocus);
187
- document.addEventListener("keyup", this.handleSelectFocus);
188
- }
189
- else {
190
- document.removeEventListener("click", this.handleSelectFocus);
191
- document.removeEventListener("keyup", this.handleSelectFocus);
192
- if (selfFocusOnClose) {
193
- this.element.querySelector(`#${this.htmlid}_input`).focus();
194
- }
195
- }
196
- this.isOpen = !this.isOpen;
197
- }
198
- handleInputClick(e) {
199
- const cp = e.composedPath();
200
- const clearIcon = cp.find((item) => item.classList && item.classList.contains("reset-icon"));
201
- if (clearIcon) {
202
- e.stopPropagation();
203
- return;
204
- }
205
- this.toggleSelectUl();
206
- }
207
- handleSelectFocus(e) {
208
- if (e instanceof KeyboardEvent && e.key === index$1.KeyboardCode.ESC) {
209
- e.stopPropagation();
210
- return this.toggleSelectUl(true);
211
- }
212
- if (e instanceof KeyboardEvent && e.key !== index$1.KeyboardCode.TAB && e.key !== index$1.KeyboardCode.ENTER) {
213
- return;
214
- }
215
- const tree = utils.getElementTree(utils.getClickedElement());
216
- const parent = tree.find((elem) => {
217
- return elem.nodeName.toLowerCase() === "z-input" && elem.id === `${this.htmlid}_input`;
218
- });
219
- if (!parent) {
220
- this.toggleSelectUl(e instanceof MouseEvent ? true : false);
221
- }
222
- }
223
- scrollToLetter(letter) {
224
- const foundItem = this.itemsList.find((item) => item.name.charAt(0) === letter);
225
- if (foundItem) {
226
- this.focusSelectItem(this.itemsList.indexOf(foundItem));
227
- }
228
- }
229
- renderInput() {
230
- return (index.h("z-input", { class: {
231
- "active-select": this.isOpen,
232
- "cursor-select": !this.autocomplete,
233
- }, id: `${this.htmlid}_input`, htmlid: `${this.htmlid}_input`, placeholder: this.placeholder, value: !this.isOpen && this.selectedItem ? this.selectedItem.name.replace(/<[^>]+>/g, "") : null, label: this.label, "aria-label": this.ariaLabel, icon: this.isOpen ? "caret-up" : "caret-down", hasclearicon: this.hasAutocomplete(), message: false, disabled: this.disabled, readonly: this.readonly || (!this.hasAutocomplete() && this.isOpen), status: this.isOpen ? undefined : this.status, autocomplete: "off", size: this.size, onClick: (e) => {
234
- this.handleInputClick(e);
235
- }, onKeyUp: (e) => {
236
- if (e.keyCode !== 13) {
237
- e.preventDefault();
238
- }
239
- utils.handleKeyboardSubmit(e, this.toggleSelectUl);
240
- }, onKeyDown: (e) => {
241
- return this.arrowsSelectNav(e, this.selectedItem ? this.itemsList.indexOf(this.selectedItem) : this.resetItem ? 0 : -1);
242
- }, onInputChange: (e) => {
243
- this.handleInputChange(e);
244
- }, onKeyPress: (e) => {
245
- if (!this.hasAutocomplete()) {
246
- e.preventDefault();
247
- this.scrollToLetter(String.fromCharCode(e.keyCode));
248
- }
249
- } }));
250
- }
251
- renderSelectUl() {
252
- var _a;
253
- return (index.h("div", { class: this.isOpen ? "open" : "closed", tabindex: "-1" }, index.h("div", { class: {
254
- "ul-scroll-wrapper": true,
255
- "fixed": this.isfixed,
256
- }, tabindex: "-1" }, index.h("z-list", { role: "listbox", tabindex: this.disabled || this.readonly || !this.isOpen ? -1 : 0, id: this.htmlid, "aria-activedescendant": (_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.id, "aria-multiselectable": false, size: this.listSizeType(), class: {
257
- disabled: this.disabled,
258
- readonly: this.readonly,
259
- filled: !!this.selectedItem,
260
- [`input-${this.status}`]: !this.isOpen && !!this.status,
261
- } }, this.resetItem && this.renderResetItem(), this.renderSelectUlItems()))));
262
- }
263
- renderResetItem() {
264
- return (index.h("z-list-element", { class: {
265
- "hide": !this.selectedItem || !this.resetItem,
266
- "reset-item": true,
267
- "reset-item-margin": !this.hasGroupItems,
268
- }, clickable: true, disabled: false, dividerType: index$1.ListDividerType.ELEMENT, role: "option", tabindex: "0", "aria-selected": "false", id: `${this.htmlid}_${this.resetItem ? "0" : "none"}`, size: this.listSizeType(), onClickItem: () => {
269
- this.selectedItem = null;
270
- this.searchString = null;
271
- this.emitResetSelect();
272
- }, onKeyDown: (e) => this.arrowsSelectNav(e, 0) }, index.h("div", { class: "reset-item-content" }, index.h("z-icon", { name: "multiply-circled" }), index.h("span", null, this.resetItem))));
273
- }
274
- renderItem(item, key, lastItem) {
275
- return (index.h("z-list-element", { clickable: !item.disabled, disabled: item.disabled, dividerType: lastItem ? index$1.ListDividerType.HEADER : index$1.ListDividerType.ELEMENT, role: "option", tabindex: item.disabled || !this.isOpen ? -1 : 0, "aria-selected": !!item.selected, id: `${this.htmlid}_${key}`, size: this.listSizeType(), onClickItem: () => this.selectItem(item, true), onKeyDown: (e) => this.arrowsSelectNav(e, key) }, index.h("span", { class: {
276
- "selected": !!item.selected,
277
- "list-element-content": true,
278
- }, innerHTML: item.name })));
279
- }
280
- listSizeType() {
281
- if (this.size === index$1.ControlSize.SMALL || this.size === index$1.ControlSize.X_SMALL) {
282
- return index$1.ListSize.SMALL;
283
- }
284
- return index$1.ListSize.MEDIUM;
285
- }
286
- renderSelectUlItems() {
287
- if (!this.itemsList.length) {
288
- return this.renderNoSearchResults();
289
- }
290
- if (this.hasGroupItems) {
291
- return this.renderSelectGroupItems();
292
- }
293
- return this.itemsList.map((item, key, array) => {
294
- const lastItem = array.length === key + 1;
295
- const itemKey = this.resetItem ? key + 1 : key;
296
- return this.renderItem(item, itemKey, lastItem);
297
- });
298
- }
299
- renderSelectGroupItems() {
300
- const newData = this.itemsList.reduce((group, item, index, array) => {
301
- var _a;
302
- const { category } = item;
303
- const lastItem = array.length === index + 1;
304
- const itemKey = this.resetItem ? index + 1 : index;
305
- const zListItem = this.renderItem(item, itemKey, lastItem);
306
- group[category] = (_a = group[category]) !== null && _a !== void 0 ? _a : [];
307
- group[category].push(zListItem);
308
- return group;
309
- }, {});
310
- return Object.entries(newData).map(([key, value]) => {
311
- return (index.h("z-list-group", { "divider-type": index$1.ListDividerType.ELEMENT }, index.h("span", { class: "body-3-sb z-list-group-title", slot: "header-title" }, key), value.map((item) => item)));
312
- });
313
- }
314
- renderNoSearchResults() {
315
- return (index.h("z-list-element", { color: "blue500", class: "no-results", size: this.listSizeType() }, index.h("z-icon", { name: "multiply-circle", fill: "blue500" }), this.noresultslabel));
316
- }
317
- renderMessage() {
318
- if (utils.boolean(this.message) === false) {
319
- return;
320
- }
321
- return (index.h("z-input-message", { message: utils.boolean(this.message) === true ? undefined : this.message, status: this.status, class: this.size }));
322
- }
323
- render() {
324
- return (index.h("div", { class: "select-wrapper" }, this.renderInput(), this.renderSelectUl(), this.renderMessage()));
325
- }
326
- get element() { return index.getElement(this); }
327
- static get watchers() { return {
328
- "items": ["watchItems"]
329
- }; }
330
- };
331
- ZSelect.style = stylesCss;
332
-
333
- exports.z_select = ZSelect;