@zanichelli/albe-web-components 9.3.0-rc1 → 10.0.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 (191) hide show
  1. package/dist/cjs/index-e3299e0a.js +16 -20
  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-accordion.cjs.entry.js +1 -1
  5. package/dist/cjs/z-app-header_11.cjs.entry.js +1056 -0
  6. package/dist/cjs/z-book-card.cjs.entry.js +5 -1
  7. package/dist/cjs/z-breadcrumb.cjs.entry.js +1 -1
  8. package/dist/cjs/z-date-picker.cjs.entry.js +477 -0
  9. package/dist/cjs/z-dragdrop-area_2.cjs.entry.js +1016 -0
  10. package/dist/cjs/z-navigation-tab-link.cjs.entry.js +4 -4
  11. package/dist/cjs/z-navigation-tab.cjs.entry.js +4 -4
  12. package/dist/cjs/z-navigation-tabs.cjs.entry.js +36 -44
  13. package/dist/cjs/z-panel-elem.cjs.entry.js +6 -2
  14. package/dist/cjs/z-select.cjs.entry.js +333 -0
  15. package/dist/cjs/z-skip-to-content.cjs.entry.js +10 -2
  16. package/dist/collection/collection-manifest.json +1 -4
  17. package/dist/collection/components/modal/z-modal/styles.css +2 -6
  18. package/dist/collection/components/navigation/tabs/navigation-tab.css +2 -1
  19. package/dist/collection/components/navigation/tabs/z-navigation-tab/index.js +19 -8
  20. package/dist/collection/components/navigation/tabs/z-navigation-tab-link/index.js +19 -8
  21. package/dist/collection/components/navigation/tabs/z-navigation-tabs/index.js +35 -43
  22. package/dist/collection/components/navigation/tabs/z-navigation-tabs/index.stories.js +11 -0
  23. package/dist/collection/components/navigation/tabs/z-navigation-tabs/styles.css +2 -2
  24. package/dist/collection/components/panel/z-panel-elem/index.js +6 -2
  25. package/dist/collection/components/panel/z-panel-elem/styles.css +9 -2
  26. package/dist/collection/components/z-accordion/index.js +10 -2
  27. package/dist/collection/components/z-accordion/styles.css +21 -10
  28. package/dist/collection/components/z-book-card/index.js +23 -1
  29. package/dist/collection/components/z-breadcrumb/index.js +1 -1
  30. package/dist/collection/components/z-skip-to-content/index.js +9 -1
  31. package/dist/collection/components/z-skip-to-content/styles.css +18 -17
  32. package/dist/esm/{index-8528dee0.js → index-1b2e3e53.js} +1 -1
  33. package/dist/esm/index-a2ca4b97.js +16 -20
  34. package/dist/esm/{index-5b83b0b1.js → index-d3dfe710.js} +1 -1
  35. package/dist/esm/index.js +1 -1
  36. package/dist/esm/loader.js +1 -1
  37. package/dist/esm/{utils-6c83dfcb.js → utils-4d2d99d9.js} +1 -1
  38. package/dist/esm/web-components-library.js +1 -1
  39. package/dist/esm/z-accordion.entry.js +1 -1
  40. package/dist/esm/z-app-header_11.entry.js +1042 -0
  41. package/dist/esm/z-book-card.entry.js +6 -2
  42. package/dist/esm/z-breadcrumb.entry.js +2 -2
  43. package/dist/esm/z-chip.entry.js +1 -1
  44. package/dist/esm/z-combobox.entry.js +1 -1
  45. package/dist/esm/z-date-picker.entry.js +473 -0
  46. package/dist/esm/z-dragdrop-area_2.entry.js +1011 -0
  47. package/dist/esm/z-file-upload.entry.js +1 -1
  48. package/dist/esm/z-myz-card-info.entry.js +1 -1
  49. package/dist/esm/z-myz-list-item.entry.js +1 -1
  50. package/dist/esm/z-navigation-tab-link.entry.js +5 -5
  51. package/dist/esm/z-navigation-tab.entry.js +5 -5
  52. package/dist/esm/z-navigation-tabs.entry.js +36 -44
  53. package/dist/esm/z-panel-elem.entry.js +6 -2
  54. package/dist/esm/z-pocket_3.entry.js +1 -1
  55. package/dist/esm/z-select.entry.js +329 -0
  56. package/dist/esm/z-skip-to-content.entry.js +11 -3
  57. package/dist/esm/z-slideshow.entry.js +1 -1
  58. package/dist/esm/z-table-deprecated.entry.js +2 -2
  59. package/dist/esm/z-table-header.entry.js +2 -2
  60. package/dist/esm/z-table.entry.js +2 -2
  61. package/dist/esm/z-toggle-switch.entry.js +1 -1
  62. package/dist/esm/z-tr.entry.js +2 -2
  63. package/dist/types/components/navigation/tabs/z-navigation-tab/index.d.ts +11 -5
  64. package/dist/types/components/navigation/tabs/z-navigation-tab-link/index.d.ts +11 -7
  65. package/dist/types/components/navigation/tabs/z-navigation-tabs/index.d.ts +4 -4
  66. package/dist/types/components/z-accordion/index.d.ts +10 -2
  67. package/dist/types/components/z-book-card/index.d.ts +4 -0
  68. package/dist/types/components.d.ts +28 -120
  69. package/dist/types/{components/navigation → deprecated}/z-link/index.d.ts +1 -1
  70. package/dist/web-components-library/index.esm.js +1 -1
  71. package/dist/web-components-library/p-06d2f371.entry.js +1 -0
  72. package/dist/web-components-library/p-09be4e46.entry.js +1 -0
  73. package/dist/web-components-library/p-113762ff.entry.js +1 -0
  74. package/dist/web-components-library/p-1976afea.entry.js +1 -0
  75. package/dist/web-components-library/{p-7eb6d043.entry.js → p-1cbd8a5f.entry.js} +1 -1
  76. package/dist/web-components-library/{p-c99acff4.entry.js → p-2d0ac109.entry.js} +1 -1
  77. package/dist/web-components-library/p-2d600a28.entry.js +1 -0
  78. package/dist/web-components-library/{p-dca0db1b.entry.js → p-2f013f10.entry.js} +1 -1
  79. package/dist/web-components-library/p-36487afc.entry.js +1 -0
  80. package/dist/web-components-library/{p-13ac8bd3.entry.js → p-37e8194f.entry.js} +1 -1
  81. package/dist/web-components-library/p-386bdb7f.entry.js +1 -0
  82. package/dist/web-components-library/p-3e61bad0.entry.js +1 -0
  83. package/dist/web-components-library/{p-327b7b79.js → p-65dd23d7.js} +1 -1
  84. package/dist/web-components-library/{p-b3093245.entry.js → p-69bde29c.entry.js} +1 -1
  85. package/dist/web-components-library/p-6b6453ba.entry.js +1 -0
  86. package/dist/web-components-library/{p-aa8b0c95.entry.js → p-8b2bf3b4.entry.js} +1 -1
  87. package/dist/web-components-library/p-9829f5bd.entry.js +16 -0
  88. package/dist/web-components-library/{p-432a2f5b.entry.js → p-a6a09ce6.entry.js} +1 -1
  89. package/{www/build/p-7f43e400.entry.js → dist/web-components-library/p-c1f20cec.entry.js} +1 -1
  90. package/dist/web-components-library/p-c4263223.entry.js +1 -0
  91. package/dist/web-components-library/p-c97d133c.entry.js +1 -0
  92. package/dist/web-components-library/{p-c8bd65d9.entry.js → p-cb07de86.entry.js} +1 -1
  93. package/dist/web-components-library/{p-eb9fa72b.js → p-d7668580.js} +1 -1
  94. package/dist/web-components-library/p-dd17b462.entry.js +1 -0
  95. package/dist/web-components-library/{p-91447194.js → p-dd3e0b4e.js} +1 -1
  96. package/dist/web-components-library/p-f5b5f897.entry.js +1 -0
  97. package/dist/web-components-library/p-fef8f2e1.entry.js +1 -0
  98. package/dist/web-components-library/web-components-library.css +1 -1
  99. package/dist/web-components-library/web-components-library.esm.js +1 -1
  100. package/package.json +2 -2
  101. package/react/components.d.ts +0 -3
  102. package/react/components.js +2 -5
  103. package/react/components.js.map +1 -1
  104. package/www/build/index.esm.js +1 -1
  105. package/www/build/p-06d2f371.entry.js +1 -0
  106. package/www/build/p-09be4e46.entry.js +1 -0
  107. package/www/build/p-113762ff.entry.js +1 -0
  108. package/www/build/p-1976afea.entry.js +1 -0
  109. package/www/build/{p-7eb6d043.entry.js → p-1cbd8a5f.entry.js} +1 -1
  110. package/www/build/p-1f34248a.css +2 -0
  111. package/www/build/{p-c99acff4.entry.js → p-2d0ac109.entry.js} +1 -1
  112. package/www/build/p-2d600a28.entry.js +1 -0
  113. package/www/build/{p-dca0db1b.entry.js → p-2f013f10.entry.js} +1 -1
  114. package/www/build/p-36487afc.entry.js +1 -0
  115. package/www/build/{p-13ac8bd3.entry.js → p-37e8194f.entry.js} +1 -1
  116. package/www/build/p-386bdb7f.entry.js +1 -0
  117. package/www/build/p-3e61bad0.entry.js +1 -0
  118. package/www/build/p-4d775062.js +1 -0
  119. package/www/build/{p-327b7b79.js → p-65dd23d7.js} +1 -1
  120. package/www/build/{p-b3093245.entry.js → p-69bde29c.entry.js} +1 -1
  121. package/www/build/p-6b6453ba.entry.js +1 -0
  122. package/www/build/{p-aa8b0c95.entry.js → p-8b2bf3b4.entry.js} +1 -1
  123. package/www/build/p-9829f5bd.entry.js +16 -0
  124. package/www/build/{p-432a2f5b.entry.js → p-a6a09ce6.entry.js} +1 -1
  125. package/{dist/web-components-library/p-7f43e400.entry.js → www/build/p-c1f20cec.entry.js} +1 -1
  126. package/www/build/p-c4263223.entry.js +1 -0
  127. package/www/build/p-c97d133c.entry.js +1 -0
  128. package/www/build/{p-c8bd65d9.entry.js → p-cb07de86.entry.js} +1 -1
  129. package/www/build/{p-eb9fa72b.js → p-d7668580.js} +1 -1
  130. package/www/build/p-dd17b462.entry.js +1 -0
  131. package/www/build/{p-91447194.js → p-dd3e0b4e.js} +1 -1
  132. package/www/build/p-f5b5f897.entry.js +1 -0
  133. package/www/build/p-fef8f2e1.entry.js +1 -0
  134. package/www/build/web-components-library.css +1 -1
  135. package/www/build/web-components-library.esm.js +1 -1
  136. package/www/index.html +1 -59
  137. package/CHANGELOG.md +0 -2694
  138. package/dist/cjs/z-app-header_14.cjs.entry.js +0 -2828
  139. package/dist/cjs/z-body.cjs.entry.js +0 -18
  140. package/dist/cjs/z-dragdrop-area.cjs.entry.js +0 -37
  141. package/dist/cjs/z-heading.cjs.entry.js +0 -18
  142. package/dist/cjs/z-typography.cjs.entry.js +0 -30
  143. package/dist/collection/deprecated/typography/z-body/index.js +0 -68
  144. package/dist/collection/deprecated/typography/z-heading/index.js +0 -68
  145. package/dist/collection/deprecated/typography/z-typography/index.js +0 -91
  146. package/dist/collection/deprecated/typography/z-typography/styles.css +0 -65
  147. package/dist/esm/z-app-header_14.entry.js +0 -2811
  148. package/dist/esm/z-body.entry.js +0 -14
  149. package/dist/esm/z-dragdrop-area.entry.js +0 -33
  150. package/dist/esm/z-heading.entry.js +0 -14
  151. package/dist/esm/z-typography.entry.js +0 -26
  152. package/dist/types/deprecated/typography/z-body/index.d.ts +0 -9
  153. package/dist/types/deprecated/typography/z-heading/index.d.ts +0 -9
  154. package/dist/types/deprecated/typography/z-typography/index.d.ts +0 -11
  155. package/dist/web-components-library/p-052c06ac.entry.js +0 -1
  156. package/dist/web-components-library/p-3ee4aa12.entry.js +0 -1
  157. package/dist/web-components-library/p-438f017e.entry.js +0 -1
  158. package/dist/web-components-library/p-4423b00c.entry.js +0 -1
  159. package/dist/web-components-library/p-466c3c0b.entry.js +0 -1
  160. package/dist/web-components-library/p-52b084fb.entry.js +0 -1
  161. package/dist/web-components-library/p-5ac6109d.entry.js +0 -1
  162. package/dist/web-components-library/p-625d603e.entry.js +0 -1
  163. package/dist/web-components-library/p-76c2c26d.entry.js +0 -1
  164. package/dist/web-components-library/p-b2420056.entry.js +0 -1
  165. package/dist/web-components-library/p-bbeb69ae.entry.js +0 -1
  166. package/dist/web-components-library/p-c1de287b.entry.js +0 -1
  167. package/dist/web-components-library/p-d147e995.entry.js +0 -1
  168. package/dist/web-components-library/p-d8de02a7.entry.js +0 -1
  169. package/dist/web-components-library/p-e78ce8ec.entry.js +0 -1
  170. package/dist/web-components-library/p-f01f4e9b.entry.js +0 -16
  171. package/src-react/index.ts +0 -1
  172. package/www/build/p-052c06ac.entry.js +0 -1
  173. package/www/build/p-39b528a6.js +0 -129
  174. package/www/build/p-3ee4aa12.entry.js +0 -1
  175. package/www/build/p-438f017e.entry.js +0 -1
  176. package/www/build/p-4423b00c.entry.js +0 -1
  177. package/www/build/p-466c3c0b.entry.js +0 -1
  178. package/www/build/p-52b084fb.entry.js +0 -1
  179. package/www/build/p-5a0a4f69.css +0 -1653
  180. package/www/build/p-5ac6109d.entry.js +0 -1
  181. package/www/build/p-625d603e.entry.js +0 -1
  182. package/www/build/p-76c2c26d.entry.js +0 -1
  183. package/www/build/p-b2420056.entry.js +0 -1
  184. package/www/build/p-bbeb69ae.entry.js +0 -1
  185. package/www/build/p-c1de287b.entry.js +0 -1
  186. package/www/build/p-d147e995.entry.js +0 -1
  187. package/www/build/p-d8de02a7.entry.js +0 -1
  188. package/www/build/p-e78ce8ec.entry.js +0 -1
  189. package/www/build/p-f01f4e9b.entry.js +0 -16
  190. /package/dist/collection/{components/navigation → deprecated}/z-link/index.js +0 -0
  191. /package/dist/collection/{components/navigation → deprecated}/z-link/styles.css +0 -0
@@ -0,0 +1,329 @@
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-a2ca4b97.js';
2
+ import { e as ControlSize, g as KeyboardCode, l as ListDividerType, i as ListSize } from './index-03c8b0f0.js';
3
+ import { r as randomId, b as boolean, d as getElementTree, a as handleKeyboardSubmit, e as getClickedElement } from './utils-4d2d99d9.js';
4
+ import './breakpoints-9b81eb1b.js';
5
+
6
+ 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}";
7
+
8
+ const ZSelect = class {
9
+ constructor(hostRef) {
10
+ registerInstance(this, hostRef);
11
+ this.optionSelect = createEvent(this, "optionSelect", 7);
12
+ this.resetSelect = createEvent(this, "resetSelect", 7);
13
+ /** the id of the input element */
14
+ this.htmlid = `id-${randomId()}`;
15
+ /** the input aria-label */
16
+ this.ariaLabel = "";
17
+ /** the input is disabled */
18
+ this.disabled = false;
19
+ /** the input is readonly */
20
+ this.readonly = false;
21
+ /** input helper message (optional) - if set to `false` message won't be displayed */
22
+ this.message = true;
23
+ /** the input has autocomplete option */
24
+ this.autocomplete = false;
25
+ /** no result text message */
26
+ this.noresultslabel = "Nessun risultato";
27
+ /** When fixed, it occupies space and pushes down next elements. */
28
+ this.isfixed = false;
29
+ /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */
30
+ this.size = ControlSize.BIG;
31
+ this.isOpen = false;
32
+ this.selectedItem = null;
33
+ this.itemsList = [];
34
+ this.toggleSelectUl = this.toggleSelectUl.bind(this);
35
+ this.selectItem = this.selectItem.bind(this);
36
+ this.handleSelectFocus = this.handleSelectFocus.bind(this);
37
+ }
38
+ watchItems() {
39
+ this.itemsList = this.getInitialItemsArray();
40
+ this.selectedItem = this.itemsList.find((item) => item.selected);
41
+ }
42
+ /** get the input selected options */
43
+ async getSelectedItem() {
44
+ return this.selectedItem;
45
+ }
46
+ /** get the input value */
47
+ async getValue() {
48
+ return this.getSelectedValue();
49
+ }
50
+ /** set the input value */
51
+ async setValue(value) {
52
+ let values = [];
53
+ if (typeof value === "string") {
54
+ values.push(value);
55
+ }
56
+ else {
57
+ values = value;
58
+ }
59
+ this.selectedItem = this.itemsList.find((item) => values.includes(item.id));
60
+ }
61
+ emitOptionSelect() {
62
+ this.optionSelect.emit({
63
+ id: this.htmlid,
64
+ selected: this.getSelectedValue(),
65
+ });
66
+ }
67
+ emitResetSelect() {
68
+ this.resetSelect.emit({
69
+ id: this.htmlid,
70
+ });
71
+ }
72
+ componentWillLoad() {
73
+ this.watchItems();
74
+ }
75
+ componentWillRender() {
76
+ this.filterItems(this.searchString);
77
+ }
78
+ getInitialItemsArray() {
79
+ return typeof this.items === "string" ? JSON.parse(this.items) : this.items;
80
+ }
81
+ mapSelectedItemToItemsArray() {
82
+ const initialItemsList = this.getInitialItemsArray();
83
+ return initialItemsList.map((item) => {
84
+ var _a;
85
+ item.selected = item.id === ((_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.id);
86
+ return item;
87
+ });
88
+ }
89
+ getSelectedValue() {
90
+ var _a;
91
+ return (_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.id;
92
+ }
93
+ filterItems(searchString) {
94
+ const prevList = this.mapSelectedItemToItemsArray();
95
+ if (!(searchString === null || searchString === void 0 ? void 0 : searchString.length)) {
96
+ this.itemsList = prevList;
97
+ }
98
+ else {
99
+ this.itemsList = prevList
100
+ .filter((item) => {
101
+ return item.name.toUpperCase().includes(searchString.toUpperCase());
102
+ })
103
+ .map((item) => {
104
+ const start = item.name.toUpperCase().indexOf(searchString.toUpperCase());
105
+ const end = start + searchString.length;
106
+ const newName = item.name.substring(0, start) +
107
+ `<strong>${item.name.substring(start, end)}</strong>` +
108
+ item.name.substring(end, item.name.length);
109
+ item.name = newName;
110
+ return item;
111
+ });
112
+ }
113
+ }
114
+ hasAutocomplete() {
115
+ return boolean(this.autocomplete) === true;
116
+ }
117
+ handleInputChange(e) {
118
+ this.searchString = e.detail.value;
119
+ if (!this.isOpen) {
120
+ this.toggleSelectUl();
121
+ }
122
+ }
123
+ selectItem(item, selected) {
124
+ if (item && item.disabled) {
125
+ return;
126
+ }
127
+ this.itemsList = this.mapSelectedItemToItemsArray();
128
+ this.itemsList = this.itemsList.map((i) => {
129
+ i.selected = false;
130
+ if (i.id === (item === null || item === void 0 ? void 0 : item.id)) {
131
+ i.selected = selected;
132
+ }
133
+ return i;
134
+ });
135
+ this.selectedItem = this.itemsList.find((item) => item.selected);
136
+ this.emitOptionSelect();
137
+ if (this.searchString) {
138
+ this.searchString = null;
139
+ }
140
+ }
141
+ arrowsSelectNav(e, key) {
142
+ const showResetIcon = this.resetItem && !!this.selectedItem;
143
+ const arrows = [KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP];
144
+ if (!arrows.includes(e.key)) {
145
+ return;
146
+ }
147
+ e.preventDefault();
148
+ e.stopPropagation();
149
+ if (!this.isOpen) {
150
+ this.toggleSelectUl();
151
+ }
152
+ let index;
153
+ if (this.resetItem) {
154
+ if (e.key === KeyboardCode.ARROW_DOWN) {
155
+ index = key + 1 === this.itemsList.length + 1 ? +!showResetIcon : key + 1;
156
+ }
157
+ else if (e.key === KeyboardCode.ARROW_UP) {
158
+ index = key <= +!showResetIcon ? this.itemsList.length : key - 1;
159
+ }
160
+ }
161
+ if (!this.resetItem) {
162
+ if (e.key === KeyboardCode.ARROW_DOWN) {
163
+ index = key + 1 === this.itemsList.length ? 0 : key + 1;
164
+ }
165
+ else if (e.key === KeyboardCode.ARROW_UP) {
166
+ index = key <= 0 ? this.itemsList.length - 1 : key - 1;
167
+ }
168
+ }
169
+ this.focusSelectItem(index);
170
+ }
171
+ focusSelectItem(index) {
172
+ const focusElem = this.element.querySelector(`#${this.htmlid}_${index}`);
173
+ if (focusElem) {
174
+ focusElem.focus();
175
+ }
176
+ }
177
+ toggleSelectUl(selfFocusOnClose = false) {
178
+ if (this.disabled || this.readonly) {
179
+ return;
180
+ }
181
+ if (!this.isOpen) {
182
+ document.addEventListener("click", this.handleSelectFocus);
183
+ document.addEventListener("keyup", this.handleSelectFocus);
184
+ }
185
+ else {
186
+ document.removeEventListener("click", this.handleSelectFocus);
187
+ document.removeEventListener("keyup", this.handleSelectFocus);
188
+ if (selfFocusOnClose) {
189
+ this.element.querySelector(`#${this.htmlid}_input`).focus();
190
+ }
191
+ }
192
+ this.isOpen = !this.isOpen;
193
+ }
194
+ handleInputClick(e) {
195
+ const cp = e.composedPath();
196
+ const clearIcon = cp.find((item) => item.classList && item.classList.contains("reset-icon"));
197
+ if (clearIcon) {
198
+ e.stopPropagation();
199
+ return;
200
+ }
201
+ this.toggleSelectUl();
202
+ }
203
+ handleSelectFocus(e) {
204
+ if (e instanceof KeyboardEvent && e.key === KeyboardCode.ESC) {
205
+ e.stopPropagation();
206
+ return this.toggleSelectUl(true);
207
+ }
208
+ if (e instanceof KeyboardEvent && e.key !== KeyboardCode.TAB && e.key !== KeyboardCode.ENTER) {
209
+ return;
210
+ }
211
+ const tree = getElementTree(getClickedElement());
212
+ const parent = tree.find((elem) => {
213
+ return elem.nodeName.toLowerCase() === "z-input" && elem.id === `${this.htmlid}_input`;
214
+ });
215
+ if (!parent) {
216
+ this.toggleSelectUl(e instanceof MouseEvent ? true : false);
217
+ }
218
+ }
219
+ scrollToLetter(letter) {
220
+ const foundItem = this.itemsList.find((item) => item.name.charAt(0) === letter);
221
+ if (foundItem) {
222
+ this.focusSelectItem(this.itemsList.indexOf(foundItem));
223
+ }
224
+ }
225
+ renderInput() {
226
+ return (h("z-input", { class: {
227
+ "active-select": this.isOpen,
228
+ "cursor-select": !this.autocomplete,
229
+ }, 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) => {
230
+ this.handleInputClick(e);
231
+ }, onKeyUp: (e) => {
232
+ if (e.keyCode !== 13) {
233
+ e.preventDefault();
234
+ }
235
+ handleKeyboardSubmit(e, this.toggleSelectUl);
236
+ }, onKeyDown: (e) => {
237
+ return this.arrowsSelectNav(e, this.selectedItem ? this.itemsList.indexOf(this.selectedItem) : this.resetItem ? 0 : -1);
238
+ }, onInputChange: (e) => {
239
+ this.handleInputChange(e);
240
+ }, onKeyPress: (e) => {
241
+ if (!this.hasAutocomplete()) {
242
+ e.preventDefault();
243
+ this.scrollToLetter(String.fromCharCode(e.keyCode));
244
+ }
245
+ } }));
246
+ }
247
+ renderSelectUl() {
248
+ var _a;
249
+ return (h("div", { class: this.isOpen ? "open" : "closed", tabindex: "-1" }, h("div", { class: {
250
+ "ul-scroll-wrapper": true,
251
+ "fixed": this.isfixed,
252
+ }, tabindex: "-1" }, 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: {
253
+ disabled: this.disabled,
254
+ readonly: this.readonly,
255
+ filled: !!this.selectedItem,
256
+ [`input-${this.status}`]: !this.isOpen && !!this.status,
257
+ } }, this.resetItem && this.renderResetItem(), this.renderSelectUlItems()))));
258
+ }
259
+ renderResetItem() {
260
+ return (h("z-list-element", { class: {
261
+ "hide": !this.selectedItem || !this.resetItem,
262
+ "reset-item": true,
263
+ "reset-item-margin": !this.hasGroupItems,
264
+ }, clickable: true, disabled: false, dividerType: ListDividerType.ELEMENT, role: "option", tabindex: "0", "aria-selected": "false", id: `${this.htmlid}_${this.resetItem ? "0" : "none"}`, size: this.listSizeType(), onClickItem: () => {
265
+ this.selectedItem = null;
266
+ this.searchString = null;
267
+ this.emitResetSelect();
268
+ }, onKeyDown: (e) => this.arrowsSelectNav(e, 0) }, h("div", { class: "reset-item-content" }, h("z-icon", { name: "multiply-circled" }), h("span", null, this.resetItem))));
269
+ }
270
+ renderItem(item, key, lastItem) {
271
+ return (h("z-list-element", { clickable: !item.disabled, disabled: item.disabled, dividerType: lastItem ? ListDividerType.HEADER : 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) }, h("span", { class: {
272
+ "selected": !!item.selected,
273
+ "list-element-content": true,
274
+ }, innerHTML: item.name })));
275
+ }
276
+ listSizeType() {
277
+ if (this.size === ControlSize.SMALL || this.size === ControlSize.X_SMALL) {
278
+ return ListSize.SMALL;
279
+ }
280
+ return ListSize.MEDIUM;
281
+ }
282
+ renderSelectUlItems() {
283
+ if (!this.itemsList.length) {
284
+ return this.renderNoSearchResults();
285
+ }
286
+ if (this.hasGroupItems) {
287
+ return this.renderSelectGroupItems();
288
+ }
289
+ return this.itemsList.map((item, key, array) => {
290
+ const lastItem = array.length === key + 1;
291
+ const itemKey = this.resetItem ? key + 1 : key;
292
+ return this.renderItem(item, itemKey, lastItem);
293
+ });
294
+ }
295
+ renderSelectGroupItems() {
296
+ const newData = this.itemsList.reduce((group, item, index, array) => {
297
+ var _a;
298
+ const { category } = item;
299
+ const lastItem = array.length === index + 1;
300
+ const itemKey = this.resetItem ? index + 1 : index;
301
+ const zListItem = this.renderItem(item, itemKey, lastItem);
302
+ group[category] = (_a = group[category]) !== null && _a !== void 0 ? _a : [];
303
+ group[category].push(zListItem);
304
+ return group;
305
+ }, {});
306
+ return Object.entries(newData).map(([key, value]) => {
307
+ return (h("z-list-group", { "divider-type": ListDividerType.ELEMENT }, h("span", { class: "body-3-sb z-list-group-title", slot: "header-title" }, key), value.map((item) => item)));
308
+ });
309
+ }
310
+ renderNoSearchResults() {
311
+ return (h("z-list-element", { color: "blue500", class: "no-results", size: this.listSizeType() }, h("z-icon", { name: "multiply-circle", fill: "blue500" }), this.noresultslabel));
312
+ }
313
+ renderMessage() {
314
+ if (boolean(this.message) === false) {
315
+ return;
316
+ }
317
+ return (h("z-input-message", { message: boolean(this.message) === true ? undefined : this.message, status: this.status, class: this.size }));
318
+ }
319
+ render() {
320
+ return (h("div", { class: "select-wrapper" }, this.renderInput(), this.renderSelectUl(), this.renderMessage()));
321
+ }
322
+ get element() { return getElement(this); }
323
+ static get watchers() { return {
324
+ "items": ["watchItems"]
325
+ }; }
326
+ };
327
+ ZSelect.style = stylesCss;
328
+
329
+ export { ZSelect as z_select };
@@ -1,9 +1,9 @@
1
1
  import { r as registerInstance, h, H as Host, g as getElement } from './index-a2ca4b97.js';
2
- import { g as getElementTree, a as handleKeyboardSubmit } from './utils-6c83dfcb.js';
2
+ import { d as getElementTree, a as handleKeyboardSubmit } from './utils-4d2d99d9.js';
3
3
  import { T as ThemeVariant } from './index-03c8b0f0.js';
4
4
  import './breakpoints-9b81eb1b.js';
5
5
 
6
- const stylesCss = ".sc-z-skip-to-content-h{position:absolute;left:-100%;height:60px;box-sizing:border-box;padding:calc(var(--space-unit) * 1.25) calc(var(--space-unit) * 3);background-color:#24f4ff;font-family:var(--font-family-sans);font-weight:var(--font-rg)}.skip-to-content-visible.sc-z-skip-to-content-h,.sc-z-skip-to-content-h:focus{position:static;display:block}.sc-z-skip-to-content-h>z-link.sc-z-skip-to-content{display:block;text-align:center}.sc-z-skip-to-content-h>z-link.link-invisible.sc-z-skip-to-content{overflow:hidden;width:0;height:0}.sc-z-skip-to-content-h>z-link.link-visible.sc-z-skip-to-content{width:initial;height:initial}.dark.sc-z-skip-to-content-h{background-color:var(--bg-grey-800);color:var(--color-white)}.light.sc-z-skip-to-content-h{border:2px solid var(--text-grey-800);background-color:var(--bg-white);color:var(--text-grey-800)}@media (min-width: 768px){.sc-z-skip-to-content-h>z-link.sc-z-skip-to-content{text-align:left}}@media (min-width: 1152px){.sc-z-skip-to-content-h>z-link.sc-z-skip-to-content{display:inline-block;padding:0 calc(var(--space-unit) * 3);border-right:1px solid var(--bg-grey-800)}.sc-z-skip-to-content-h>z-link.link-invisible.sc-z-skip-to-content{overflow:initial;width:initial;height:initial}.sc-z-skip-to-content-h>z-link.sc-z-skip-to-content:first-child{padding-left:0}.sc-z-skip-to-content-h>z-link.sc-z-skip-to-content:last-child,.dark.sc-z-skip-to-content-h>z-link.sc-z-skip-to-content:last-child,.light.sc-z-skip-to-content-h>z-link.sc-z-skip-to-content:last-child{padding-right:0;border-right:none}.dark.sc-z-skip-to-content-h>z-link.sc-z-skip-to-content{border-right:1px solid var(--bg-white)}}";
6
+ const stylesCss = ".sc-z-skip-to-content-h{position:absolute;left:-100%;height:60px;box-sizing:border-box;padding:calc(var(--space-unit) * 1.25) calc(var(--space-unit) * 3);background-color:#24f4ff;font-family:var(--font-family-sans);font-weight:var(--font-rg);text-align:center}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{display:inline-flex;height:100%;align-items:center}.skip-to-content-visible.sc-z-skip-to-content-h,.sc-z-skip-to-content-h:focus{position:static;display:block}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-invisible.sc-z-skip-to-content{overflow:hidden;width:0;height:0}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-visible.sc-z-skip-to-content{width:initial;height:initial}.dark.sc-z-skip-to-content-h{background-color:var(--bg-grey-800);color:var(--color-white)}.light.sc-z-skip-to-content-h{border:2px solid var(--text-grey-800);background-color:var(--bg-white);color:var(--text-grey-800)}@media (min-width: 768px){.sc-z-skip-to-content-h{text-align:start}}@media (min-width: 1152px){.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{padding:0 calc(var(--space-unit) * 3);border-right:1px solid var(--bg-grey-800)}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content>a.z-link.link-invisible.sc-z-skip-to-content{overflow:initial;width:initial;height:initial}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:first-child{padding-left:0}.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child,.dark.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child,.light.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content:last-child{padding-right:0;border-right:none}.dark.sc-z-skip-to-content-h>.link-container.sc-z-skip-to-content{border-right:1px solid var(--bg-white)}}";
7
7
 
8
8
  const ZSkipToContent = class {
9
9
  constructor(hostRef) {
@@ -52,7 +52,15 @@ const ZSkipToContent = class {
52
52
  "skip-to-content-visible": this.visible,
53
53
  } }, this.links.map((link, i) => {
54
54
  const id = `skip-to-content-${i}`;
55
- return (h("z-link", { id: id, underline: true, "aria-label": link.ariaLabel || link.label, class: `body-1-sb ${id == this.visibleLink ? "link-visible" : "link-invisible"}`, href: link.href, textcolor: this.variant === ThemeVariant.DARK ? "white" : "black", onFocus: () => (this.visibleLink = id), onClick: () => this.handleLinkClick(), onKeyUp: (e) => handleKeyboardSubmit(e, this.handleLinkClick.bind(this)) }, link.label));
55
+ return (h("div", { class: "link-container" }, h("a", { id: id, class: {
56
+ "body-1-sb": true,
57
+ "z-link": true,
58
+ "z-link-underline": true,
59
+ "z-link-white": this.variant === ThemeVariant.DARK,
60
+ "z-link-black": this.variant !== ThemeVariant.DARK,
61
+ "link-visible": id == this.visibleLink,
62
+ "link-invisible": id != this.visibleLink,
63
+ }, "aria-label": link.ariaLabel || link.label, href: link.href, onFocus: () => (this.visibleLink = id), onClick: () => this.handleLinkClick(), onKeyUp: (e) => handleKeyboardSubmit(e, this.handleLinkClick.bind(this)) }, link.label)));
56
64
  })));
57
65
  }
58
66
  get hostElement() { return getElement(this); }
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-a2ca4b97.js';
2
2
  import { p as Device } from './index-03c8b0f0.js';
3
- import { f as convertJson, e as getDevice, a as handleKeyboardSubmit } from './utils-6c83dfcb.js';
3
+ import { f as convertJson, g as getDevice, a as handleKeyboardSubmit } from './utils-4d2d99d9.js';
4
4
  import './breakpoints-9b81eb1b.js';
5
5
 
6
6
  const stylesCss = ":host{display:block;width:inherit;font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host>div{display:flex;width:inherit;flex-direction:column}main{position:relative;overflow:hidden;width:100%}main z-icon.scroll{position:absolute;z-index:10;top:50%;width:auto;margin:0 var(--space-unit);cursor:pointer;fill:var(--color-primary01);transition:0.6s ease}main .scroll.disabled{opacity:0.5;pointer-events:none}main .scroll.right{right:0}#slides{display:flex;flex-wrap:wrap;line-height:0px;overflow-y:hidden;transition:all 300ms}footer{display:grid;width:100%;height:56px;align-items:center;border-top:var(--border-base) solid var(--color-surface02);grid-template:2 / 2;grid-template-areas:\"center center\" \"left right\"}footer>div{width:100%;align-items:center}footer .footer-center{grid-area:center}footer .footer-left{grid-area:left}footer .footer-right{grid-area:right}footer .bullet-container{display:flex;min-height:60px;align-items:center;justify-content:center;margin:0 auto}footer .bullet-container .bullet{width:8px;height:8px;margin:var(--space-unit) 2px;background-color:var(--bg-neutral-150);border-radius:50%;pointer-events:none}footer .bullet-container .bullet.selected{background-color:var(--bg-neutral-400)}@media only screen and (min-width: 768px){footer{height:76px;border-top:var(--border-base) solid var(--color-surface02);grid-template:1 / 1fr 2fr 1fr;grid-template-areas:\"left center right\"}footer .bullet-container .bullet{width:10px;height:10px;margin:var(--space-unit) 3px}}@media only screen and (min-width: 1025px){main z-icon.scroll{margin:0 10px}footer .bullet-container .bullet{width:16px;height:16px;margin:var(--space-unit) calc(var(--space-unit) * 0.5);cursor:pointer;pointer-events:auto}}";
@@ -7,11 +7,11 @@ import './index-2cdac489.js';
7
7
  import './index-83736b34.js';
8
8
  import './index-f98f4ad3.js';
9
9
  import './index-0e0fa88d.js';
10
- import './index-5b83b0b1.js';
10
+ import './index-d3dfe710.js';
11
11
  import './index-e2c8b8b5.js';
12
12
  import './index-c84fca22.js';
13
13
  import './index-1ae1c122.js';
14
- import './utils-6c83dfcb.js';
14
+ import './utils-4d2d99d9.js';
15
15
 
16
16
  const stylesCss = "z-table-deprecated{display:block;width:100%;background-color:var(--color-white);font-family:var(--dashboard-font);font-weight:var(--font-rg);overflow-x:auto}z-table-deprecated>div.table{display:table;width:100%;border-collapse:separate}z-table-deprecated>div.table-bordered>z-table-body>z-table-row>z-table-cell:not(:last-child),z-table-deprecated>div.table-bordered>z-table-head>z-table-header-row>z-table-header:not(:last-child){border-right:var(--border-size-small) solid var(--bg-grey-200)}z-table-deprecated>div>z-table-body>z-table-row[expandable]>z-table-cell:first-child,z-table-deprecated>div>z-table-head>z-table-header-row[expandable]>z-table-header:first-child{border-right:none}z-table-deprecated>div>z-table-body>z-table-row[expanded]>z-table-cell{background-color:var(--gray50)}z-table-deprecated>div>z-table-body>z-table-row[expanded]+z-table-expanded-row{border-bottom:1px solid var(--gray200)}z-table-deprecated>div.table-column-sticky>z-table-body>z-table-row>z-table-cell:first-child,z-table-deprecated>div.table-column-sticky>z-table-head>z-table-header-row>z-table-header:first-child{position:sticky;z-index:1;left:0;box-shadow:1px 0 4px -1px rgb(66 69 72 / 40%)}z-table-deprecated>div.table-header-sticky>z-table-head>z-table-header-row>z-table-header{position:sticky;z-index:2;top:0;box-shadow:0 2px 3px -3px rgb(66 69 72 / 40%)}z-table-deprecated>div.table-header-sticky>z-table-head>z-table-header-row>z-table-header:first-child,z-table-deprecated>div.table-column-sticky>z-table-head>z-table-header-row>z-table-header:first-child{z-index:5}z-table-body{width:auto;background-color:var(--color-white)}z-table-empty-box{display:flex;flex-direction:column;flex-grow:1;border-bottom:var(--border-size-small) solid var(--bg-grey-200)}z-table-empty-box.bordered{border-left:var(--border-size-small) solid var(--bg-grey-200)}.error-message{margin-top:calc(var(--space-unit) * 2)}.table-content{display:flex;width:100%;flex-direction:row}.error-content{display:flex;padding:calc(var(--space-unit) * 3);font-family:var(--dashboard-font)}.error-content>img{width:244px;height:188px;margin-right:calc(var(--space-unit) * 3)}@media only screen and (max-width: 768px){z-table-deprecated>div.table-empty{display:none}.error-content{display:flex;flex-direction:column}.error-content>img{width:auto;height:auto}.text{padding:calc(var(--space-unit) * 3) 0}}";
17
17
 
@@ -1,5 +1,5 @@
1
- export { Z as z_table_header } from './index-5b83b0b1.js';
1
+ export { Z as z_table_header } from './index-d3dfe710.js';
2
2
  import './index-a2ca4b97.js';
3
3
  import './index-03c8b0f0.js';
4
- import './utils-6c83dfcb.js';
4
+ import './utils-4d2d99d9.js';
5
5
  import './breakpoints-9b81eb1b.js';
@@ -1,9 +1,9 @@
1
1
  import { r as registerInstance, h, H as Host, g as getElement } from './index-a2ca4b97.js';
2
2
  import './index-6d83248c.js';
3
3
  import './index-f171ca51.js';
4
- import './index-8528dee0.js';
4
+ import './index-1b2e3e53.js';
5
5
  import './index-8c7b48bc.js';
6
- import './utils-6c83dfcb.js';
6
+ import './utils-4d2d99d9.js';
7
7
  import './index-03c8b0f0.js';
8
8
  import './breakpoints-9b81eb1b.js';
9
9
  import './index-49dfba34.js';
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host } from './index-a2ca4b97.js';
2
- import { r as randomId } from './utils-6c83dfcb.js';
2
+ import { r as randomId } from './utils-4d2d99d9.js';
3
3
  import { k as LabelPosition } from './index-03c8b0f0.js';
4
4
  import './breakpoints-9b81eb1b.js';
5
5
 
@@ -1,6 +1,6 @@
1
- export { Z as z_tr } from './index-8528dee0.js';
1
+ export { Z as z_tr } from './index-1b2e3e53.js';
2
2
  import './index-a2ca4b97.js';
3
- import './utils-6c83dfcb.js';
3
+ import './utils-4d2d99d9.js';
4
4
  import './index-03c8b0f0.js';
5
5
  import './breakpoints-9b81eb1b.js';
6
6
  import './index-49dfba34.js';
@@ -1,16 +1,22 @@
1
1
  import { NavigationTabsOrientation, NavigationTabsSize } from "../../../../beans";
2
2
  /**
3
3
  * Single tab component to use inside `z-navigation-tabs`. It renders a button.
4
+ * This component uses the `tab` role:
5
+ * @link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/tab_role
4
6
  */
5
7
  export declare class ZNavigationTab {
6
8
  /**
7
- * The aria-controls attribute refers to the id of the HTML element that has role="tabpanel" and that contains the actual content of this tab.
8
- * ref: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls
9
+ * `aria-controls` attribute of the tab.
10
+ * Identifies the element (with `role=tabpanel`) whose contents or presence are controlled by this tab.
11
+ * The value must be the `id` of the element it controls.
12
+ * @link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls
9
13
  */
10
14
  ariaControls?: string;
11
15
  /**
12
- * set id attribute to tab property identifying a corresponding tabpanel attribute aria-labelledby.
13
- * ref: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/tab_role
16
+ * `id` attribute of the tab.
17
+ * Set this id to the `aria-labelledby` attribute of the controlled `tabpanel` element.
18
+ * @link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-labelledby
19
+ * @deprecated Use native `id` attribute instead
14
20
  */
15
21
  tabId?: string;
16
22
  /**
@@ -58,5 +64,5 @@ export declare class ZNavigationTab {
58
64
  * @returns {HTMLElement}
59
65
  */
60
66
  private renderIcon;
61
- render(): HTMLButtonElement;
67
+ render(): HTMLZNavigationTabElement;
62
68
  }
@@ -1,18 +1,22 @@
1
1
  import { NavigationTabsOrientation, NavigationTabsSize } from "../../../../beans";
2
2
  /**
3
3
  * Single tab component to use inside `z-navigation-tabs`. It renders an anchor element.
4
+ * This component uses the `tab` role:
5
+ * @link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/tab_role
4
6
  */
5
7
  export declare class ZNavigationTabLink {
6
8
  /**
7
- * set aria-controls attribute to tab property identifying a corresponding tabpanel
8
- * (that has a tabpanel role) by that element's id.
9
- * When an element with the tabpanel role has focus, or a child of it has focus,
10
- * that indicates that the connected element with the tab role is the active tab in a tablist.
9
+ * `aria-controls` attribute of the tab.
10
+ * Identifies the element (with `role=tabpanel`) whose contents or presence are controlled by this tab.
11
+ * The value must be the `id` of the element it controls.
12
+ * @link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls
11
13
  */
12
14
  ariaControls?: string;
13
15
  /**
14
- * set id attribute to tab property identifying a corresponding tabpanel
15
- * (that has a tabpanel role) by that element's attribute aria-labelledby.
16
+ * `id` attribute of the tab.
17
+ * Set this id to the `aria-labelledby` attribute of the controlled `tabpanel` element.
18
+ * @link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-labelledby
19
+ * @deprecated Use native `id` attribute instead
16
20
  */
17
21
  tabId?: string;
18
22
  /**
@@ -68,5 +72,5 @@ export declare class ZNavigationTabLink {
68
72
  * @returns {HTMLElement}
69
73
  */
70
74
  private renderIcon;
71
- render(): HTMLAnchorElement;
75
+ render(): HTMLZNavigationTabLinkElement;
72
76
  }
@@ -42,6 +42,7 @@ export declare class ZNavigationTabs {
42
42
  * Getter for the dimension to check based on current orientation.
43
43
  */
44
44
  get dimension(): string;
45
+ get tabs(): (HTMLZNavigationTabElement | HTMLZNavigationTabLinkElement)[];
45
46
  /**
46
47
  * Set the `size` prop to all `z-navigation-tab` children.
47
48
  */
@@ -74,15 +75,14 @@ export declare class ZNavigationTabs {
74
75
  */
75
76
  private navigateForward;
76
77
  /**
77
- * move focus though tabs using keyboad arrows.
78
+ * Move focus through tabs using keyboard arrows.
79
+ * When `TAB` is pressed, focus the currently selected tab, if any.
78
80
  */
79
81
  private navigateThroughTabs;
80
82
  /**
81
- * move focus though tabs using keyboad arrows.
83
+ * Check if a keyboard event was triggered by an arrow key.
82
84
  */
83
85
  private isArrowNavigation;
84
- private setTabindex;
85
- componentWillLoad(): void;
86
86
  componentDidRender(): void;
87
87
  render(): HTMLZNavigationTabsElement;
88
88
  }
@@ -5,8 +5,16 @@ import { ControlSize, AccordionVariant } from "../../beans";
5
5
  *
6
6
  * @slot - Slot for the main content.
7
7
  * @slot tag - Slot for tags.
8
- * @cssprop --z-accordion-highlight-color - Color of the highlight band on the `summary`'s left edge. Only applies when `highlight` is true. Default: `transparent`.
9
- * @cssprop --z-accordion-bg - Background color of the accordion. Default: `var(--color-surface02)`.
8
+ * @cssprop --z-accordion-highlight-color - Color of the highlight band on the summary's left edge. Only applies when `highlight` is true. Default: `transparent`.
9
+ * @cssprop --z-accordion-bg - Background color of the summary. Default: `--color-surface02`.
10
+ * @cssprop --z-accordion-label-color - Label color. Default: `--color-text01`.
11
+ * @cssprop --z-accordion-disabled-label-color - Label color when disabled. Default: `--color-text03`.
12
+ * @cssprop --z-accordion-content-bg - Background color of the accordion. Default: `--color-surface02`.
13
+ * @cssprop --z-accordion-content-fg - Content text color. Default: `--color-text01`.
14
+ * @cssprop --z-accordion-hover-color - Hover color of the summary. Default: `--color-surface03`.
15
+ * @cssprop --z-accordion-left-padding - Left padding of the summary. Default: `--space-unit` * 2.
16
+ * @cssprop --z-accordion-right-padding - Right padding of the summary. Default: `--space-unit`.
17
+ * @cssprop --z-accordion-label-font-weight - Font weight of the summary label. Default: `--font-sb`.
10
18
  */
11
19
  export declare class ZAccordion {
12
20
  /**
@@ -35,6 +35,10 @@ export declare class ZBookCard {
35
35
  * [optional] Main ISBN
36
36
  */
37
37
  isbn?: string;
38
+ /**
39
+ * [optional] ISBN label
40
+ */
41
+ isbnLabel: string;
38
42
  /**
39
43
  * [optional] Ribbon label - expanded and search variant only
40
44
  */