@zanichelli/albe-web-components 17.0.2 → 17.0.4

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 (219) hide show
  1. package/CHANGELOG.md +4 -0
  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-anchor-navigation.cjs.entry.js +1 -1
  5. package/dist/cjs/z-anchor-navigation.cjs.entry.js.map +1 -1
  6. package/dist/cjs/z-app-header_12.cjs.entry.js +13 -14
  7. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  8. package/dist/cjs/z-book-card-app.cjs.entry.js +1 -1
  9. package/dist/cjs/z-book-card-app.cjs.entry.js.map +1 -1
  10. package/dist/cjs/z-book-card.cjs.entry.js +2 -2
  11. package/dist/cjs/z-book-card.cjs.entry.js.map +1 -1
  12. package/dist/cjs/z-date-picker.cjs.entry.js +5 -3
  13. package/dist/cjs/z-date-picker.cjs.entry.js.map +1 -1
  14. package/dist/cjs/z-pagination.cjs.entry.js +1 -1
  15. package/dist/cjs/z-pagination.cjs.entry.js.map +1 -1
  16. package/dist/cjs/z-select.cjs.entry.js +27 -35
  17. package/dist/cjs/z-select.cjs.entry.js.map +1 -1
  18. package/dist/collection/components/book-card/z-book-card/index.js +1 -1
  19. package/dist/collection/components/book-card/z-book-card/index.js.map +1 -1
  20. package/dist/collection/components/book-card/z-book-card/styles.css +3 -0
  21. package/dist/collection/components/book-card/z-book-card-app/styles.css +1 -0
  22. package/dist/collection/components/date-picker/z-date-picker/index.js +41 -3
  23. package/dist/collection/components/date-picker/z-date-picker/index.js.map +1 -1
  24. package/dist/collection/components/date-picker/z-date-picker/index.stories.js +17 -5
  25. package/dist/collection/components/date-picker/z-date-picker/index.stories.js.map +1 -1
  26. package/dist/collection/components/z-anchor-navigation/index.stories.js +16 -4
  27. package/dist/collection/components/z-anchor-navigation/index.stories.js.map +1 -1
  28. package/dist/collection/components/z-anchor-navigation/styles.css +7 -4
  29. package/dist/collection/components/z-app-header/styles.css +1 -0
  30. package/dist/collection/components/z-input/index.js +9 -11
  31. package/dist/collection/components/z-input/index.js.map +1 -1
  32. package/dist/collection/components/z-input/index.stories.js +21 -21
  33. package/dist/collection/components/z-input/index.stories.js.map +1 -1
  34. package/dist/collection/components/z-input/styles.css +97 -75
  35. package/dist/collection/components/z-input-message/index.js +19 -1
  36. package/dist/collection/components/z-input-message/index.js.map +1 -1
  37. package/dist/collection/components/z-input-message/styles.css +9 -4
  38. package/dist/collection/components/z-pagination/styles.css +7 -11
  39. package/dist/collection/components/z-select/index.js +27 -35
  40. package/dist/collection/components/z-select/index.js.map +1 -1
  41. package/dist/collection/components/z-select/styles.css +18 -17
  42. package/dist/components/index11.js +10 -12
  43. package/dist/components/index11.js.map +1 -1
  44. package/dist/components/index12.js +4 -2
  45. package/dist/components/index12.js.map +1 -1
  46. package/dist/components/utils.js +1 -1
  47. package/dist/components/z-anchor-navigation.js +1 -1
  48. package/dist/components/z-anchor-navigation.js.map +1 -1
  49. package/dist/components/z-app-header.js +1 -1
  50. package/dist/components/z-app-header.js.map +1 -1
  51. package/dist/components/z-book-card-app.js +1 -1
  52. package/dist/components/z-book-card-app.js.map +1 -1
  53. package/dist/components/z-book-card.js +2 -2
  54. package/dist/components/z-book-card.js.map +1 -1
  55. package/dist/components/z-date-picker.js +7 -3
  56. package/dist/components/z-date-picker.js.map +1 -1
  57. package/dist/components/z-pagination.js +1 -1
  58. package/dist/components/z-pagination.js.map +1 -1
  59. package/dist/components/z-select.js +28 -36
  60. package/dist/components/z-select.js.map +1 -1
  61. package/dist/components/z-skip-to-content.js +1 -1
  62. package/dist/esm/{index-8df19678.js → index-092fc7cc.js} +2 -2
  63. package/dist/esm/{index-8df19678.js.map → index-092fc7cc.js.map} +1 -1
  64. package/dist/esm/index.js +1 -1
  65. package/dist/esm/loader.js +1 -1
  66. package/dist/esm/{utils-ed82ce58.js → utils-b924649f.js} +2 -2
  67. package/dist/esm/{utils-ed82ce58.js.map → utils-b924649f.js.map} +1 -1
  68. package/dist/esm/web-components-library.js +1 -1
  69. package/dist/esm/z-anchor-navigation.entry.js +1 -1
  70. package/dist/esm/z-anchor-navigation.entry.js.map +1 -1
  71. package/dist/esm/z-app-header_12.entry.js +14 -15
  72. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  73. package/dist/esm/z-book-card-app.entry.js +1 -1
  74. package/dist/esm/z-book-card-app.entry.js.map +1 -1
  75. package/dist/esm/z-book-card-deprecated.entry.js +1 -1
  76. package/dist/esm/z-book-card.entry.js +2 -2
  77. package/dist/esm/z-book-card.entry.js.map +1 -1
  78. package/dist/esm/z-breadcrumb.entry.js +1 -1
  79. package/dist/esm/z-combobox.entry.js +1 -1
  80. package/dist/esm/z-date-picker.entry.js +5 -3
  81. package/dist/esm/z-date-picker.entry.js.map +1 -1
  82. package/dist/esm/z-menu.entry.js +1 -1
  83. package/dist/esm/z-myz-card-info.entry.js +1 -1
  84. package/dist/esm/z-myz-list-item.entry.js +1 -1
  85. package/dist/esm/z-pagination.entry.js +1 -1
  86. package/dist/esm/z-pagination.entry.js.map +1 -1
  87. package/dist/esm/z-select.entry.js +28 -36
  88. package/dist/esm/z-select.entry.js.map +1 -1
  89. package/dist/esm/z-skip-to-content.entry.js +1 -1
  90. package/dist/esm/z-slideshow.entry.js +1 -1
  91. package/dist/esm/z-table.entry.js +2 -2
  92. package/dist/esm/z-toggle-switch.entry.js +1 -1
  93. package/dist/esm/z-tr.entry.js +2 -2
  94. package/dist/types/components/date-picker/z-date-picker/index.d.ts +4 -0
  95. package/dist/types/components/z-input-message/index.d.ts +2 -0
  96. package/dist/types/components/z-select/index.d.ts +1 -1
  97. package/dist/types/components.d.ts +24 -0
  98. package/dist/web-components-library/index.esm.js +1 -1
  99. package/dist/web-components-library/p-0378c12a.entry.js +2 -0
  100. package/dist/web-components-library/p-0378c12a.entry.js.map +1 -0
  101. package/dist/web-components-library/p-1e3ff105.entry.js +2 -0
  102. package/dist/web-components-library/p-1e3ff105.entry.js.map +1 -0
  103. package/dist/web-components-library/{p-caccf490.entry.js → p-22e32e11.entry.js} +2 -2
  104. package/{www/build/p-caccf490.entry.js.map → dist/web-components-library/p-22e32e11.entry.js.map} +1 -1
  105. package/dist/web-components-library/{p-20b628e7.entry.js → p-2fa0042e.entry.js} +2 -2
  106. package/dist/web-components-library/p-4a3fedbf.entry.js +2 -0
  107. package/dist/web-components-library/p-4a3fedbf.entry.js.map +1 -0
  108. package/dist/web-components-library/{p-4fedcbc2.entry.js → p-5387e6f3.entry.js} +2 -2
  109. package/{www/build/p-0565f1b2.entry.js → dist/web-components-library/p-758333dc.entry.js} +2 -2
  110. package/{www/build/p-605f6780.entry.js → dist/web-components-library/p-7af33b00.entry.js} +2 -2
  111. package/{www/build/p-b309bd71.entry.js → dist/web-components-library/p-7f370d17.entry.js} +2 -2
  112. package/dist/web-components-library/{p-65f1b68b.entry.js → p-9c4b7a51.entry.js} +2 -2
  113. package/dist/web-components-library/{p-037c59b3.js → p-bba6129f.js} +2 -2
  114. package/dist/web-components-library/{p-cc8186a9.entry.js → p-bd571858.entry.js} +2 -2
  115. package/dist/web-components-library/p-c29a520b.entry.js +2 -0
  116. package/{www/build/p-34f4f441.entry.js.map → dist/web-components-library/p-c29a520b.entry.js.map} +1 -1
  117. package/dist/web-components-library/p-ce0d5448.entry.js +2 -0
  118. package/dist/web-components-library/p-ce0d5448.entry.js.map +1 -0
  119. package/dist/web-components-library/{p-9f0a3d88.entry.js → p-cf7b7e73.entry.js} +2 -2
  120. package/dist/web-components-library/p-d1cca5ea.entry.js +2 -0
  121. package/dist/web-components-library/p-d1cca5ea.entry.js.map +1 -0
  122. package/dist/web-components-library/p-d6a2b1c6.entry.js +2 -0
  123. package/dist/web-components-library/p-d6a2b1c6.entry.js.map +1 -0
  124. package/dist/web-components-library/p-e185545c.entry.js +2 -0
  125. package/dist/web-components-library/{p-10607a39.js → p-e691c0b8.js} +2 -2
  126. package/{www/build/p-3bf02cab.entry.js → dist/web-components-library/p-e78353d6.entry.js} +2 -2
  127. package/dist/web-components-library/web-components-library.css +125 -72
  128. package/dist/web-components-library/web-components-library.esm.js +1 -1
  129. package/dist/web-components-library/web-components-library.esm.js.map +1 -1
  130. package/package.json +1 -1
  131. package/www/build/index.esm.js +1 -1
  132. package/www/build/p-01994cd6.js +2 -0
  133. package/www/build/p-0378c12a.entry.js +2 -0
  134. package/www/build/p-0378c12a.entry.js.map +1 -0
  135. package/www/build/p-1e3ff105.entry.js +2 -0
  136. package/www/build/p-1e3ff105.entry.js.map +1 -0
  137. package/www/build/{p-caccf490.entry.js → p-22e32e11.entry.js} +2 -2
  138. package/{dist/web-components-library/p-caccf490.entry.js.map → www/build/p-22e32e11.entry.js.map} +1 -1
  139. package/www/build/{p-20b628e7.entry.js → p-2fa0042e.entry.js} +2 -2
  140. package/www/build/p-4a3fedbf.entry.js +2 -0
  141. package/www/build/p-4a3fedbf.entry.js.map +1 -0
  142. package/www/build/{p-4fedcbc2.entry.js → p-5387e6f3.entry.js} +2 -2
  143. package/{dist/web-components-library/p-0565f1b2.entry.js → www/build/p-758333dc.entry.js} +2 -2
  144. package/{dist/web-components-library/p-605f6780.entry.js → www/build/p-7af33b00.entry.js} +2 -2
  145. package/{dist/web-components-library/p-b309bd71.entry.js → www/build/p-7f370d17.entry.js} +2 -2
  146. package/www/build/{p-65f1b68b.entry.js → p-9c4b7a51.entry.js} +2 -2
  147. package/www/build/{p-4c358c38.css → p-a35437c8.css} +125 -72
  148. package/www/build/{p-037c59b3.js → p-bba6129f.js} +2 -2
  149. package/www/build/{p-cc8186a9.entry.js → p-bd571858.entry.js} +2 -2
  150. package/www/build/p-c29a520b.entry.js +2 -0
  151. package/{dist/web-components-library/p-34f4f441.entry.js.map → www/build/p-c29a520b.entry.js.map} +1 -1
  152. package/www/build/p-ce0d5448.entry.js +2 -0
  153. package/www/build/p-ce0d5448.entry.js.map +1 -0
  154. package/www/build/{p-9f0a3d88.entry.js → p-cf7b7e73.entry.js} +2 -2
  155. package/www/build/p-d1cca5ea.entry.js +2 -0
  156. package/www/build/p-d1cca5ea.entry.js.map +1 -0
  157. package/www/build/p-d6a2b1c6.entry.js +2 -0
  158. package/www/build/p-d6a2b1c6.entry.js.map +1 -0
  159. package/www/build/p-e185545c.entry.js +2 -0
  160. package/www/build/{p-10607a39.js → p-e691c0b8.js} +2 -2
  161. package/{dist/web-components-library/p-3bf02cab.entry.js → www/build/p-e78353d6.entry.js} +2 -2
  162. package/www/build/web-components-library.css +125 -72
  163. package/www/build/web-components-library.esm.js +1 -1
  164. package/www/build/web-components-library.esm.js.map +1 -1
  165. package/www/index.html +1 -1
  166. package/www/pages/book-cards.html +20 -14
  167. package/dist/web-components-library/p-015621c8.entry.js +0 -2
  168. package/dist/web-components-library/p-015621c8.entry.js.map +0 -1
  169. package/dist/web-components-library/p-34f4f441.entry.js +0 -2
  170. package/dist/web-components-library/p-38e8c15d.entry.js +0 -2
  171. package/dist/web-components-library/p-38e8c15d.entry.js.map +0 -1
  172. package/dist/web-components-library/p-54a70792.entry.js +0 -2
  173. package/dist/web-components-library/p-54a70792.entry.js.map +0 -1
  174. package/dist/web-components-library/p-60a9cb8b.entry.js +0 -2
  175. package/dist/web-components-library/p-60a9cb8b.entry.js.map +0 -1
  176. package/dist/web-components-library/p-972098a5.entry.js +0 -2
  177. package/dist/web-components-library/p-972098a5.entry.js.map +0 -1
  178. package/dist/web-components-library/p-a90027c2.entry.js +0 -2
  179. package/dist/web-components-library/p-a90027c2.entry.js.map +0 -1
  180. package/dist/web-components-library/p-deb86b5c.entry.js +0 -2
  181. package/www/build/p-015621c8.entry.js +0 -2
  182. package/www/build/p-015621c8.entry.js.map +0 -1
  183. package/www/build/p-34f4f441.entry.js +0 -2
  184. package/www/build/p-38e8c15d.entry.js +0 -2
  185. package/www/build/p-38e8c15d.entry.js.map +0 -1
  186. package/www/build/p-45f04bb4.js +0 -2
  187. package/www/build/p-54a70792.entry.js +0 -2
  188. package/www/build/p-54a70792.entry.js.map +0 -1
  189. package/www/build/p-60a9cb8b.entry.js +0 -2
  190. package/www/build/p-60a9cb8b.entry.js.map +0 -1
  191. package/www/build/p-972098a5.entry.js +0 -2
  192. package/www/build/p-972098a5.entry.js.map +0 -1
  193. package/www/build/p-a90027c2.entry.js +0 -2
  194. package/www/build/p-a90027c2.entry.js.map +0 -1
  195. package/www/build/p-deb86b5c.entry.js +0 -2
  196. /package/dist/web-components-library/{p-20b628e7.entry.js.map → p-2fa0042e.entry.js.map} +0 -0
  197. /package/dist/web-components-library/{p-4fedcbc2.entry.js.map → p-5387e6f3.entry.js.map} +0 -0
  198. /package/dist/web-components-library/{p-0565f1b2.entry.js.map → p-758333dc.entry.js.map} +0 -0
  199. /package/dist/web-components-library/{p-605f6780.entry.js.map → p-7af33b00.entry.js.map} +0 -0
  200. /package/dist/web-components-library/{p-b309bd71.entry.js.map → p-7f370d17.entry.js.map} +0 -0
  201. /package/dist/web-components-library/{p-65f1b68b.entry.js.map → p-9c4b7a51.entry.js.map} +0 -0
  202. /package/dist/web-components-library/{p-037c59b3.js.map → p-bba6129f.js.map} +0 -0
  203. /package/dist/web-components-library/{p-cc8186a9.entry.js.map → p-bd571858.entry.js.map} +0 -0
  204. /package/dist/web-components-library/{p-9f0a3d88.entry.js.map → p-cf7b7e73.entry.js.map} +0 -0
  205. /package/dist/web-components-library/{p-deb86b5c.entry.js.map → p-e185545c.entry.js.map} +0 -0
  206. /package/dist/web-components-library/{p-10607a39.js.map → p-e691c0b8.js.map} +0 -0
  207. /package/dist/web-components-library/{p-3bf02cab.entry.js.map → p-e78353d6.entry.js.map} +0 -0
  208. /package/www/build/{p-20b628e7.entry.js.map → p-2fa0042e.entry.js.map} +0 -0
  209. /package/www/build/{p-4fedcbc2.entry.js.map → p-5387e6f3.entry.js.map} +0 -0
  210. /package/www/build/{p-0565f1b2.entry.js.map → p-758333dc.entry.js.map} +0 -0
  211. /package/www/build/{p-605f6780.entry.js.map → p-7af33b00.entry.js.map} +0 -0
  212. /package/www/build/{p-b309bd71.entry.js.map → p-7f370d17.entry.js.map} +0 -0
  213. /package/www/build/{p-65f1b68b.entry.js.map → p-9c4b7a51.entry.js.map} +0 -0
  214. /package/www/build/{p-037c59b3.js.map → p-bba6129f.js.map} +0 -0
  215. /package/www/build/{p-cc8186a9.entry.js.map → p-bd571858.entry.js.map} +0 -0
  216. /package/www/build/{p-9f0a3d88.entry.js.map → p-cf7b7e73.entry.js.map} +0 -0
  217. /package/www/build/{p-deb86b5c.entry.js.map → p-e185545c.entry.js.map} +0 -0
  218. /package/www/build/{p-10607a39.js.map → p-e691c0b8.js.map} +0 -0
  219. /package/www/build/{p-3bf02cab.entry.js.map → p-e78353d6.entry.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as s,g as i}from"./p-75c4a726.js";import{e as l,g as c,l as r,i as n}from"./p-b34993de.js";import{r as a,b as o,e as h,d as p,f as z}from"./p-10607a39.js";import"./p-5145a606.js";const d='.sc-z-select-h{display:inline-block;width:inherit;color:var(--color-default-text);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-container.sc-z-select{display:flex;align-items:center;justify-content:space-between;padding-left: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-container.sc-z-select .list-element-content.sc-z-select{display:block;padding:calc(var(--space-unit) * 0.5) 0}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-tag.sc-z-select{margin-right:calc(var(--space-unit))}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.sc-z-select>z-icon.sc-z-select+.list-element-content.sc-z-select{display:block;padding:calc(var(--space-unit) * 0.5) var(--space-unit)}[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-container.sc-z-select .list-element-content.sc-z-select{padding:0}[size="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-container.sc-z-select>z-icon.sc-z-select{--z-icon-width:16px;--z-icon-height:16px}[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-container.sc-z-select>z-icon.sc-z-select{--z-icon-width:14px;--z-icon-height:14px}[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-container.sc-z-select>z-icon.sc-z-select+.list-element-content.sc-z-select{padding:0 var(--space-unit)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element.sc-z-select .list-element-container.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}';const u=d;const m=class{constructor(s){e(this,s);this.optionSelect=t(this,"optionSelect",7);this.resetSelect=t(this,"resetSelect",7);this.itemsList=[];this.htmlid=`id-${a()}`;this.items=undefined;this.name=undefined;this.label=undefined;this.ariaLabel="";this.disabled=false;this.readonly=false;this.placeholder=undefined;this.htmltitle=undefined;this.status=undefined;this.message=true;this.autocomplete=false;this.noresultslabel="Nessun risultato";this.hasGroupItems=undefined;this.isfixed=false;this.resetItem=undefined;this.size=l.BIG;this.isOpen=false;this.selectedItem=null;this.focusedItemId=undefined;this.searchString=undefined;this.toggleSelectUl=this.toggleSelectUl.bind(this);this.selectItem=this.selectItem.bind(this);this.handleSelectFocus=this.handleSelectFocus.bind(this)}watchItems(){this.itemsList=this.getInitialItemsArray();this.selectedItem=this.itemsList.find((e=>e.selected))}getFocusedItemHandler(e){this.focusedItemId=e.target.id}async getSelectedItem(){return this.selectedItem}async getValue(){return this.getSelectedValue()}async setValue(e){let t=[];if(typeof e==="string"){t.push(e)}else{t=e}this.selectedItem=this.itemsList.find((e=>t.includes(e.id)))}emitOptionSelect(){this.optionSelect.emit({id:this.htmlid,selected:this.getSelectedValue()})}emitResetSelect(){this.resetSelect.emit({id:this.htmlid})}componentWillLoad(){this.watchItems()}componentWillRender(){this.filterItems(this.searchString)}getInitialItemsArray(){return typeof this.items==="string"?JSON.parse(this.items):this.items}mapSelectedItemToItemsArray(){const e=this.getInitialItemsArray();return e.map((e=>{var t;e.selected=e.id===((t=this.selectedItem)===null||t===void 0?void 0:t.id);return e}))}getSelectedValue(){var e;return(e=this.selectedItem)===null||e===void 0?void 0:e.id}filterItems(e){const t=this.mapSelectedItemToItemsArray();if(!(e===null||e===void 0?void 0:e.length)){this.itemsList=t}else{this.itemsList=t.filter((t=>t.name.toUpperCase().includes(e.toUpperCase()))).map((t=>{const s=t.name.toUpperCase().indexOf(e.toUpperCase());const i=s+e.length;const l=t.name.substring(0,s)+`<strong>${t.name.substring(s,i)}</strong>`+t.name.substring(i,t.name.length);t.name=l;return t}))}}hasAutocomplete(){return o(this.autocomplete)===true}handleInputChange(e){this.searchString=e.detail.value;if(!this.isOpen){this.toggleSelectUl()}}selectItem(e,t){if(e&&e.disabled){return}this.itemsList=this.mapSelectedItemToItemsArray();this.itemsList=this.itemsList.map((s=>{s.selected=false;if(s.id===(e===null||e===void 0?void 0:e.id)){s.selected=t}return s}));this.selectedItem=this.itemsList.find((e=>e.selected));this.emitOptionSelect();if(this.searchString){this.searchString=null}}arrowsSelectNav(e,t){const s=this.resetItem&&!!this.selectedItem;const i=[c.ARROW_DOWN,c.ARROW_UP];if(!i.includes(e.key)){return}e.preventDefault();e.stopPropagation();if(!this.isOpen){this.toggleSelectUl()}let l;if(this.resetItem){if(e.key===c.ARROW_DOWN){l=t+1===this.itemsList.length+1?+!s:t+1}else if(e.key===c.ARROW_UP){l=t<=+!s?this.itemsList.length:t-1}}if(!this.resetItem){if(e.key===c.ARROW_DOWN){l=t+1===this.itemsList.length?0:t+1}else if(e.key===c.ARROW_UP){l=t<=0?this.itemsList.length-1:t-1}}this.focusSelectItem(l)}focusSelectItem(e){const t=this.element.querySelector(`#${this.htmlid}_${e}`);if(t){t.focus()}}toggleSelectUl(e=false){if(this.disabled||this.readonly){return}if(!this.isOpen){document.addEventListener("click",this.handleSelectFocus);document.addEventListener("keyup",this.handleSelectFocus)}else{document.removeEventListener("click",this.handleSelectFocus);document.removeEventListener("keyup",this.handleSelectFocus);if(e){this.element.querySelector(`#${this.htmlid}_input`).focus()}}this.focusedItemId="";this.isOpen=!this.isOpen}handleInputClick(e){const t=e.composedPath();const s=t.find((e=>e.classList&&e.classList.contains("reset-icon")));if(s){e.stopPropagation();return}this.toggleSelectUl()}handleSelectFocus(e){if(e instanceof KeyboardEvent&&e.key===c.ESC){e.stopPropagation();return this.toggleSelectUl(true)}if(e instanceof KeyboardEvent&&e.key!==c.TAB&&e.key!==c.ENTER){return}const t=h(z());const s=t.find((e=>e.nodeName.toLowerCase()==="z-input"&&e.id===`${this.htmlid}_input`));if(!s){this.toggleSelectUl(e instanceof MouseEvent?true:false)}}scrollToLetter(e){const t=this.itemsList.find((t=>t.name.charAt(0)===e));if(t){this.focusSelectItem(this.itemsList.indexOf(t))}}renderInput(){return s("z-input",{class:{"active-select":this.isOpen,"cursor-select":!this.autocomplete},id:`${this.htmlid}_input`,htmlid:`${this.htmlid}_select_input`,placeholder:this.placeholder,value:!this.isOpen&&this.selectedItem?this.selectedItem.name.replace(/<[^>]+>/g,""):null,label:this.label,"aria-expanded":this.isOpen?"true":"false","aria-label":this.ariaLabel,"aria-controls":`${this.htmlid}_list`,"aria-autocomplete":this.hasAutocomplete()?"list":"none","aria-activedescendant":this.isOpen?this.focusedItemId:"",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,role:"combobox",size:this.size,onClick:e=>{this.handleInputClick(e)},onKeyUp:e=>{if(e.keyCode!==13){e.preventDefault()}p(e,this.toggleSelectUl)},onKeyDown:e=>this.arrowsSelectNav(e,this.selectedItem?this.itemsList.indexOf(this.selectedItem):this.resetItem?0:-1),onInputChange:e=>{this.handleInputChange(e)},onKeyPress:e=>{if(!this.hasAutocomplete()){e.preventDefault();this.scrollToLetter(String.fromCharCode(e.keyCode))}}})}renderSelectUl(){return s("div",{class:this.isOpen?"open":"closed",tabindex:"-1"},s("div",{class:{"ul-scroll-wrapper":true,fixed:this.isfixed},tabindex:"-1"},s("z-list",{role:"listbox","aria-label":this.ariaLabel||this.label,tabindex:this.disabled||this.readonly||!this.isOpen?-1:0,id:`${this.htmlid}_list`,"aria-multiselectable":false,size:this.listSizeType(),class:{disabled:this.disabled,readonly:this.readonly,filled:!!this.selectedItem,[`input-${this.status}`]:!this.isOpen&&!!this.status}},this.resetItem&&this.renderResetItem(),this.renderSelectUlItems())))}renderResetItem(){return s("z-list-element",{class:{hide:!this.selectedItem||!this.resetItem,"reset-item":true,"reset-item-margin":!this.hasGroupItems},clickable:true,disabled:false,dividerType:r.ELEMENT,role:"option",tabindex:"0","aria-selected":"false",id:`${this.htmlid}_${this.resetItem?"0":"none"}`,size:this.listSizeType(),onClickItem:()=>{this.selectedItem=null;this.searchString=null;this.emitResetSelect()},onKeyDown:e=>this.arrowsSelectNav(e,0)},s("div",{class:"reset-item-content"},s("z-icon",{name:"multiply-circled"}),s("span",null,this.resetItem)))}renderItem(e,t,i){return s("z-list-element",{clickable:!e.disabled,disabled:e.disabled,dividerType:i?r.HEADER:r.ELEMENT,role:"option",tabindex:e.disabled||!this.isOpen?-1:0,"aria-selected":e.selected?"true":"false",id:`${this.htmlid}_${t}`,size:this.listSizeType(),onClickItem:()=>this.selectItem(e,true),onKeyDown:e=>this.arrowsSelectNav(e,t)},s("div",{class:"list-element-container"},s("span",{class:{selected:!!e.selected,"list-element-content":true},innerHTML:e.name}),e.icon&&s("z-tag",{icon:e.icon})))}listSizeType(){if(this.size===l.SMALL||this.size===l.X_SMALL){return n.SMALL}return n.MEDIUM}renderSelectUlItems(){if(!this.itemsList.length){return this.renderNoSearchResults()}if(this.hasGroupItems){return this.renderSelectGroupItems()}return this.itemsList.map(((e,t,s)=>{const i=s.length===t+1;const l=this.resetItem?t+1:t;return this.renderItem(e,l,i)}))}renderSelectGroupItems(){const e=this.itemsList.reduce(((e,t,s,i)=>{var l;const{category:c}=t;const r=i.length===s+1;const n=this.resetItem?s+1:s;const a=this.renderItem(t,n,r);e[c]=(l=e[c])!==null&&l!==void 0?l:[];e[c].push(a);return e}),{});return Object.entries(e).map((([e,t])=>s("z-list-group",{"divider-type":r.ELEMENT},s("span",{class:"body-3-sb z-list-group-title",slot:"header-title"},e),t.map((e=>e)))))}renderNoSearchResults(){return s("z-list-element",{color:"blue500",class:"no-results",size:this.listSizeType()},s("z-icon",{name:"multiply-circle",fill:"blue500"}),this.noresultslabel)}renderMessage(){if(o(this.message)===false){return}return s("z-input-message",{message:o(this.message)===true?undefined:this.message,status:this.status,class:this.size})}render(){return s("div",{key:"1ad24c71d6838f434592d96047388b0fb3886127",class:"select-wrapper"},this.renderInput(),this.renderSelectUl(),this.renderMessage())}get element(){return i(this)}static get watchers(){return{items:["watchItems"]}}};m.style=u;export{m as z_select};
2
- //# sourceMappingURL=p-972098a5.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZSelectStyle0","ZSelect","constructor","hostRef","this","itemsList","randomId","ControlSize","BIG","toggleSelectUl","bind","selectItem","handleSelectFocus","watchItems","getInitialItemsArray","selectedItem","find","item","selected","getFocusedItemHandler","e","focusedItemId","target","id","getSelectedItem","getValue","getSelectedValue","setValue","value","values","push","includes","emitOptionSelect","optionSelect","emit","htmlid","emitResetSelect","resetSelect","componentWillLoad","componentWillRender","filterItems","searchString","items","JSON","parse","mapSelectedItemToItemsArray","initialItemsList","map","_a","prevList","length","filter","name","toUpperCase","start","indexOf","end","newName","substring","hasAutocomplete","boolean","autocomplete","handleInputChange","detail","isOpen","disabled","i","arrowsSelectNav","key","showResetIcon","resetItem","arrows","KeyboardCode","ARROW_DOWN","ARROW_UP","preventDefault","stopPropagation","index","focusSelectItem","focusElem","element","querySelector","focus","selfFocusOnClose","readonly","document","addEventListener","removeEventListener","handleInputClick","cp","composedPath","clearIcon","classList","contains","KeyboardEvent","ESC","TAB","ENTER","tree","getElementTree","getClickedElement","parent","elem","nodeName","toLowerCase","MouseEvent","scrollToLetter","letter","foundItem","charAt","renderInput","h","class","placeholder","replace","label","ariaLabel","icon","hasclearicon","message","status","undefined","role","size","onClick","onKeyUp","keyCode","handleKeyboardSubmit","onKeyDown","onInputChange","onKeyPress","String","fromCharCode","renderSelectUl","tabindex","fixed","isfixed","listSizeType","filled","renderResetItem","renderSelectUlItems","hide","hasGroupItems","clickable","dividerType","ListDividerType","ELEMENT","onClickItem","renderItem","lastItem","HEADER","innerHTML","SMALL","X_SMALL","ListSize","MEDIUM","renderNoSearchResults","renderSelectGroupItems","array","itemKey","newData","reduce","group","category","zListItem","Object","entries","slot","color","fill","noresultslabel","renderMessage","render"],"sources":["src/components/z-select/styles.css?tag=z-select&encapsulation=scoped","src/components/z-select/index.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: inherit;\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n}\n\n:host([size=\"small\"]),\n:host([size=\"x-small\"]) {\n font-size: var(--font-size-2);\n}\n\n.select-wrapper > z-input {\n width: 100%;\n}\n\n.select-wrapper > div {\n position: relative;\n}\n\n.select-wrapper > div.closed {\n overflow: hidden;\n height: 0;\n}\n\n.select-wrapper .ul-scroll-wrapper {\n position: absolute;\n width: 100%;\n box-sizing: border-box;\n padding: calc(var(--space-unit) * 0.5) var(--space-unit);\n border: var(--border-size-small) solid var(--gray200);\n border-top: none;\n background: var(--color-surface01);\n outline: none;\n}\n\n.select-wrapper .closed .ul-scroll-wrapper {\n z-index: 10;\n}\n\n.select-wrapper .open .ul-scroll-wrapper {\n z-index: 20;\n}\n\n.select-wrapper .ul-scroll-wrapper.fixed {\n position: static;\n}\n\n.select-wrapper .ul-scroll-wrapper > z-list {\n position: relative;\n overflow: auto;\n max-height: 240px;\n padding: calc(var(--space-unit) * 0.5);\n outline: none;\n\n /* Firefox scrollbar */\n scrollbar-color: var(--color-primary01) transparent;\n}\n\n.select-wrapper .ul-scroll-wrapper > z-list::-webkit-scrollbar {\n width: 10px;\n background: linear-gradient(to right, transparent 0 3px, var(--gray200) 3px 7px, transparent 7px 10px);\n border-radius: var(--border-radius);\n}\n\n.select-wrapper .ul-scroll-wrapper > z-list::-webkit-scrollbar-track {\n background-color: transparent;\n}\n\n.select-wrapper .ul-scroll-wrapper > z-list::-webkit-scrollbar-thumb {\n width: 10px;\n background-color: var(--color-primary01);\n border-radius: var(--border-radius);\n}\n\n.select-wrapper .ul-scroll-wrapper > z-list::-webkit-scrollbar-thumb:hover {\n background-color: var(--color-hover-primary);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-left: calc(var(--space-unit) * 1.5);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container .list-element-content {\n display: block;\n padding: calc(var(--space-unit) * 0.5) 0;\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container > z-tag {\n margin-right: calc(var(--space-unit));\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container > z-icon + .list-element-content {\n display: block;\n padding: calc(var(--space-unit) * 0.5) var(--space-unit);\n}\n\n:host([size=\"x-small\"])\n .select-wrapper\n .ul-scroll-wrapper\n z-list\n z-list-element\n .list-element-container\n .list-element-content {\n padding: 0;\n}\n\n:host([size=\"small\"]) .select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container > z-icon {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n}\n\n:host([size=\"x-small\"]) .select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container > z-icon {\n --z-icon-width: 14px;\n --z-icon-height: 14px;\n}\n\n:host([size=\"x-small\"])\n .select-wrapper\n .ul-scroll-wrapper\n z-list\n z-list-element\n .list-element-container\n > z-icon\n + .list-element-content {\n padding: 0 var(--space-unit);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container .list-element-content.selected {\n font-weight: bold;\n}\n\n.select-wrapper .ul-scroll-wrapper .no-results z-icon {\n margin-right: var(--space-unit);\n}\n\n.z-list-group-title {\n color: var(--gray800);\n}\n\n.reset-item {\n color: var(--color-primary01);\n fill: var(--color-primary01);\n}\n\n.reset-item-content {\n display: flex;\n align-items: center;\n}\n\n.reset-item.reset-item-margin .reset-item-content {\n margin-left: calc(var(--space-unit));\n}\n\n.reset-item .reset-item-content > z-icon {\n margin-right: var(--space-unit);\n}\n\n.reset-item.hide {\n display: none;\n}\n","import {Component, Element, Event, EventEmitter, Listen, Method, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ControlSize, InputStatus, KeyboardCode, ListDividerType, ListSize, SelectItem} from \"../../beans\";\nimport {boolean, getClickedElement, getElementTree, handleKeyboardSubmit, randomId} from \"../../utils/utils\";\n\n@Component({\n tag: \"z-select\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZSelect {\n @Element() element: HTMLZSelectElement;\n\n /** the id of the input element */\n @Prop()\n htmlid = `id-${randomId()}`;\n\n /** the input select options */\n @Prop()\n items: SelectItem[] | string;\n\n /** the input name */\n @Prop()\n name?: string;\n\n /** the input label */\n @Prop()\n label?: string;\n\n /** the input aria-label */\n @Prop()\n ariaLabel = \"\";\n\n /** the input is disabled */\n @Prop()\n disabled?: boolean = false;\n\n /** the input is readonly */\n @Prop()\n readonly?: boolean = false;\n\n /** the input placeholder (optional) */\n @Prop()\n placeholder?: string;\n\n /** the input html title (optional) */\n @Prop()\n htmltitle?: string;\n\n /** the input status (optional) */\n @Prop()\n status?: InputStatus;\n\n /** input helper message (optional) - if set to `false` message won't be displayed */\n @Prop()\n message?: string | boolean = true;\n\n /** the input has autocomplete option */\n @Prop()\n autocomplete?: boolean = false;\n\n /** no result text message */\n @Prop()\n noresultslabel?: string = \"Nessun risultato\";\n\n /** */\n @Prop()\n hasGroupItems?: boolean;\n\n /** When fixed, it occupies space and pushes down next elements. */\n @Prop()\n isfixed?: boolean = false;\n\n /** */\n @Prop()\n resetItem?: string;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop()\n size?: ControlSize = ControlSize.BIG;\n\n @State()\n isOpen = false;\n\n @State()\n selectedItem: null | SelectItem = null;\n\n @State()\n focusedItemId: string;\n\n @State()\n searchString: null | string;\n\n private itemsList: SelectItem[] = [];\n\n constructor() {\n this.toggleSelectUl = this.toggleSelectUl.bind(this);\n this.selectItem = this.selectItem.bind(this);\n this.handleSelectFocus = this.handleSelectFocus.bind(this);\n }\n\n @Watch(\"items\")\n watchItems(): void {\n this.itemsList = this.getInitialItemsArray();\n this.selectedItem = this.itemsList.find((item: SelectItem) => item.selected);\n }\n\n @Listen(\"ariaDescendantFocus\")\n getFocusedItemHandler(e: CustomEvent): void {\n this.focusedItemId = (e.target as Element).id;\n }\n\n /** get the input selected options */\n @Method()\n async getSelectedItem(): Promise<SelectItem> {\n return this.selectedItem;\n }\n\n /** get the input value */\n @Method()\n async getValue(): Promise<string> {\n return this.getSelectedValue();\n }\n\n /** set the input value */\n @Method()\n async setValue(value: string | string[]): Promise<void> {\n let values: string[] = [];\n if (typeof value === \"string\") {\n values.push(value);\n } else {\n values = value;\n }\n\n this.selectedItem = this.itemsList.find((item: SelectItem) => values.includes(item.id));\n }\n\n /** Emitted on select option selection, returns select id, selected item id */\n @Event()\n optionSelect: EventEmitter;\n\n private emitOptionSelect(): void {\n this.optionSelect.emit({\n id: this.htmlid,\n selected: this.getSelectedValue(),\n });\n }\n\n /** Emitted on reset selected item, returns select id, selected item id */\n @Event()\n resetSelect: EventEmitter;\n\n private emitResetSelect(): void {\n this.resetSelect.emit({\n id: this.htmlid,\n });\n }\n\n componentWillLoad(): void {\n this.watchItems();\n }\n\n componentWillRender(): void {\n this.filterItems(this.searchString);\n }\n\n private getInitialItemsArray(): SelectItem[] {\n return typeof this.items === \"string\" ? JSON.parse(this.items) : this.items;\n }\n\n private mapSelectedItemToItemsArray(): SelectItem[] {\n const initialItemsList = this.getInitialItemsArray();\n\n return initialItemsList.map((item: SelectItem) => {\n item.selected = item.id === this.selectedItem?.id;\n\n return item;\n });\n }\n\n private getSelectedValue(): string {\n return this.selectedItem?.id;\n }\n\n private filterItems(searchString: string): void {\n const prevList = this.mapSelectedItemToItemsArray();\n if (!searchString?.length) {\n this.itemsList = prevList;\n } else {\n this.itemsList = prevList\n .filter((item: SelectItem) => {\n return item.name.toUpperCase().includes(searchString.toUpperCase());\n })\n .map((item: SelectItem) => {\n const start = item.name.toUpperCase().indexOf(searchString.toUpperCase());\n const end = start + searchString.length;\n const newName =\n item.name.substring(0, start) +\n `<strong>${item.name.substring(start, end)}</strong>` +\n item.name.substring(end, item.name.length);\n item.name = newName;\n\n return item;\n });\n }\n }\n\n private hasAutocomplete(): boolean {\n return boolean(this.autocomplete) === true;\n }\n\n private handleInputChange(e: CustomEvent): void {\n this.searchString = e.detail.value;\n if (!this.isOpen) {\n this.toggleSelectUl();\n }\n }\n\n private selectItem(item: null | SelectItem, selected: boolean): void {\n if (item && item.disabled) {\n return;\n }\n\n this.itemsList = this.mapSelectedItemToItemsArray();\n this.itemsList = this.itemsList.map((i: SelectItem) => {\n i.selected = false;\n if (i.id === item?.id) {\n i.selected = selected;\n }\n\n return i;\n });\n\n this.selectedItem = this.itemsList.find((item: SelectItem) => item.selected);\n\n this.emitOptionSelect();\n\n if (this.searchString) {\n this.searchString = null;\n }\n }\n\n private arrowsSelectNav(e: KeyboardEvent, key: number): void {\n const showResetIcon = this.resetItem && !!this.selectedItem;\n const arrows = [KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP];\n if (!arrows.includes(e.key as KeyboardCode)) {\n return;\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n if (!this.isOpen) {\n this.toggleSelectUl();\n }\n\n let index: number;\n\n if (this.resetItem) {\n if (e.key === KeyboardCode.ARROW_DOWN) {\n index = key + 1 === this.itemsList.length + 1 ? +!showResetIcon : key + 1;\n } else if (e.key === KeyboardCode.ARROW_UP) {\n index = key <= +!showResetIcon ? this.itemsList.length : key - 1;\n }\n }\n\n if (!this.resetItem) {\n if (e.key === KeyboardCode.ARROW_DOWN) {\n index = key + 1 === this.itemsList.length ? 0 : key + 1;\n } else if (e.key === KeyboardCode.ARROW_UP) {\n index = key <= 0 ? this.itemsList.length - 1 : key - 1;\n }\n }\n\n this.focusSelectItem(index);\n }\n\n private focusSelectItem(index: number): void {\n const focusElem: HTMLLIElement = this.element.querySelector(`#${this.htmlid}_${index}`);\n if (focusElem) {\n focusElem.focus();\n }\n }\n\n private toggleSelectUl(selfFocusOnClose = false): void {\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (!this.isOpen) {\n document.addEventListener(\"click\", this.handleSelectFocus);\n document.addEventListener(\"keyup\", this.handleSelectFocus);\n } else {\n document.removeEventListener(\"click\", this.handleSelectFocus);\n document.removeEventListener(\"keyup\", this.handleSelectFocus);\n if (selfFocusOnClose) {\n (this.element.querySelector(`#${this.htmlid}_input`) as HTMLInputElement).focus();\n }\n }\n\n this.focusedItemId = \"\";\n this.isOpen = !this.isOpen;\n }\n\n private handleInputClick(e: MouseEvent | KeyboardEvent): void {\n const cp = e.composedPath();\n const clearIcon = cp.find((item: HTMLElement) => item.classList && item.classList.contains(\"reset-icon\"));\n if (clearIcon) {\n e.stopPropagation();\n\n return;\n }\n\n this.toggleSelectUl();\n }\n\n private handleSelectFocus(e: MouseEvent | KeyboardEvent): void {\n if (e instanceof KeyboardEvent && e.key === KeyboardCode.ESC) {\n e.stopPropagation();\n\n return this.toggleSelectUl(true);\n }\n\n if (e instanceof KeyboardEvent && e.key !== KeyboardCode.TAB && e.key !== KeyboardCode.ENTER) {\n return;\n }\n\n const tree = getElementTree(getClickedElement());\n const parent = tree.find((elem: HTMLElement) => {\n return elem.nodeName.toLowerCase() === \"z-input\" && elem.id === `${this.htmlid}_input`;\n });\n\n if (!parent) {\n this.toggleSelectUl(e instanceof MouseEvent ? true : false);\n }\n }\n\n private scrollToLetter(letter: string): void {\n const foundItem = this.itemsList.find((item: SelectItem) => item.name.charAt(0) === letter);\n if (foundItem) {\n this.focusSelectItem(this.itemsList.indexOf(foundItem));\n }\n }\n\n private renderInput(): HTMLZInputElement {\n return (\n <z-input\n class={{\n \"active-select\": this.isOpen,\n \"cursor-select\": !this.autocomplete,\n }}\n id={`${this.htmlid}_input`}\n htmlid={`${this.htmlid}_select_input`}\n placeholder={this.placeholder}\n value={!this.isOpen && this.selectedItem ? this.selectedItem.name.replace(/<[^>]+>/g, \"\") : null}\n label={this.label}\n aria-expanded={this.isOpen ? \"true\" : \"false\"}\n aria-label={this.ariaLabel}\n aria-controls={`${this.htmlid}_list`}\n aria-autocomplete={this.hasAutocomplete() ? \"list\" : \"none\"}\n aria-activedescendant={this.isOpen ? this.focusedItemId : \"\"}\n icon={this.isOpen ? \"caret-up\" : \"caret-down\"}\n hasclearicon={this.hasAutocomplete()}\n message={false}\n disabled={this.disabled}\n readonly={this.readonly || (!this.hasAutocomplete() && this.isOpen)}\n status={this.isOpen ? undefined : this.status}\n role=\"combobox\"\n size={this.size}\n onClick={(e: MouseEvent) => {\n this.handleInputClick(e);\n }}\n onKeyUp={(e: KeyboardEvent) => {\n if (e.keyCode !== 13) {\n e.preventDefault();\n }\n handleKeyboardSubmit(e, this.toggleSelectUl);\n }}\n onKeyDown={(e: KeyboardEvent) => {\n return this.arrowsSelectNav(\n e,\n this.selectedItem ? this.itemsList.indexOf(this.selectedItem) : this.resetItem ? 0 : -1\n );\n }}\n onInputChange={(e: CustomEvent) => {\n this.handleInputChange(e);\n }}\n onKeyPress={(e: KeyboardEvent) => {\n if (!this.hasAutocomplete()) {\n e.preventDefault();\n this.scrollToLetter(String.fromCharCode(e.keyCode));\n }\n }}\n />\n );\n }\n\n private renderSelectUl(): HTMLDivElement {\n return (\n <div\n class={this.isOpen ? \"open\" : \"closed\"}\n tabindex=\"-1\"\n >\n <div\n class={{\n \"ul-scroll-wrapper\": true,\n \"fixed\": this.isfixed,\n }}\n tabindex=\"-1\"\n >\n <z-list\n role=\"listbox\"\n aria-label={this.ariaLabel || this.label}\n tabindex={this.disabled || this.readonly || !this.isOpen ? -1 : 0}\n id={`${this.htmlid}_list`}\n aria-multiselectable={false}\n size={this.listSizeType()}\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n filled: !!this.selectedItem,\n [`input-${this.status}`]: !this.isOpen && !!this.status,\n }}\n >\n {this.resetItem && this.renderResetItem()}\n {this.renderSelectUlItems()}\n </z-list>\n </div>\n </div>\n );\n }\n\n private renderResetItem(): HTMLZListElementElement {\n return (\n <z-list-element\n class={{\n \"hide\": !this.selectedItem || !this.resetItem,\n \"reset-item\": true,\n \"reset-item-margin\": !this.hasGroupItems,\n }}\n clickable={true}\n disabled={false}\n dividerType={ListDividerType.ELEMENT}\n role=\"option\"\n tabindex=\"0\"\n aria-selected=\"false\"\n id={`${this.htmlid}_${this.resetItem ? \"0\" : \"none\"}`}\n size={this.listSizeType()}\n onClickItem={() => {\n this.selectedItem = null;\n this.searchString = null;\n this.emitResetSelect();\n }}\n onKeyDown={(e: KeyboardEvent) => this.arrowsSelectNav(e, 0)}\n >\n <div class=\"reset-item-content\">\n <z-icon name=\"multiply-circled\" />\n <span>{this.resetItem}</span>\n </div>\n </z-list-element>\n );\n }\n\n private renderItem(item: SelectItem, key: number, lastItem: boolean): HTMLZListElementElement {\n return (\n <z-list-element\n clickable={!item.disabled}\n disabled={item.disabled}\n dividerType={lastItem ? ListDividerType.HEADER : ListDividerType.ELEMENT}\n role=\"option\"\n tabindex={item.disabled || !this.isOpen ? -1 : 0}\n aria-selected={item.selected ? \"true\" : \"false\"}\n id={`${this.htmlid}_${key}`}\n size={this.listSizeType()}\n onClickItem={() => this.selectItem(item, true)}\n onKeyDown={(e: KeyboardEvent) => this.arrowsSelectNav(e, key)}\n >\n <div class=\"list-element-container\">\n <span\n class={{\n \"selected\": !!item.selected,\n \"list-element-content\": true,\n }}\n innerHTML={item.name}\n />\n\n {item.icon && <z-tag icon={item.icon}></z-tag>}\n </div>\n </z-list-element>\n );\n }\n\n private listSizeType(): ListSize {\n if (this.size === ControlSize.SMALL || this.size === ControlSize.X_SMALL) {\n return ListSize.SMALL;\n }\n\n return ListSize.MEDIUM;\n }\n\n private renderSelectUlItems(): HTMLZListElementElement | HTMLZListElementElement[] {\n if (!this.itemsList.length) {\n return this.renderNoSearchResults();\n }\n\n if (this.hasGroupItems) {\n return this.renderSelectGroupItems();\n }\n\n return this.itemsList.map((item: SelectItem, key, array) => {\n const lastItem = array.length === key + 1;\n const itemKey = this.resetItem ? key + 1 : key;\n\n return this.renderItem(item, itemKey, lastItem);\n });\n }\n\n private renderSelectGroupItems(): HTMLZListElementElement | HTMLZListElementElement[] {\n const newData = this.itemsList.reduce((group, item, index, array) => {\n const {category} = item;\n const lastItem = array.length === index + 1;\n const itemKey = this.resetItem ? index + 1 : index;\n const zListItem = this.renderItem(item, itemKey, lastItem);\n\n group[category] = group[category] ?? [];\n group[category].push(zListItem);\n\n return group;\n }, {});\n\n return Object.entries(newData as {[key: string]: HTMLZListElementElement[]}).map(([key, value]) => {\n return (\n <z-list-group divider-type={ListDividerType.ELEMENT}>\n <span\n class=\"body-3-sb z-list-group-title\"\n slot=\"header-title\"\n >\n {key}\n </span>\n {value.map((item) => item)}\n </z-list-group>\n );\n });\n }\n\n private renderNoSearchResults(): HTMLZListElementElement {\n return (\n <z-list-element\n color=\"blue500\"\n class=\"no-results\"\n size={this.listSizeType()}\n >\n <z-icon\n name=\"multiply-circle\"\n fill=\"blue500\"\n />\n {this.noresultslabel}\n </z-list-element>\n );\n }\n\n private renderMessage(): HTMLZInputMessageElement {\n if (boolean(this.message) === false) {\n return;\n }\n\n return (\n <z-input-message\n message={boolean(this.message) === true ? undefined : (this.message as string)}\n status={this.status}\n class={this.size}\n />\n );\n }\n\n render(): HTMLDivElement {\n return (\n <div class=\"select-wrapper\">\n {this.renderInput()}\n {this.renderSelectUl()}\n {this.renderMessage()}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as o,h as a,a as n,g as t}from"./p-75c4a726.js";import{B as i}from"./p-b34993de.js";const r="html{scroll-behavior:smooth}z-anchor-navigation nav{display:none;flex-direction:column;justify-content:flex-start;row-gap:calc(var(--space-unit) / 2)}z-anchor-navigation[collapsed] nav{display:flex;margin-top:var(--space-unit)}z-anchor-navigation nav a{display:-webkit-box;overflow:clip;width:100%;box-sizing:border-box;padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);-webkit-box-orient:vertical;color:inherit;font-weight:inherit;-webkit-line-clamp:2;line-clamp:2;overflow-clip-margin:content-box;text-decoration:none}z-anchor-navigation nav * a:not(:only-child){padding-right:calc(var(--space-unit) * 5)}@supports not (overflow-clip-margin: content-box){z-anchor-navigation nav a{display:inline-block;overflow:hidden;-webkit-line-clamp:none;line-clamp:none;text-overflow:ellipsis;white-space:nowrap}}z-anchor-navigation nav>*{position:relative;border-left:var(--border-size-large) solid var(--color-surface05);color:var(--color-default-text);font-family:var(--font-family-sans);transition:background-color 0.3s ease-in-out,\n border-color 0.3s ease-in-out,\n color 0.3s ease-in-out}z-anchor-navigation nav>[data-current]{border-left-color:var(--color-primary01);color:var(--color-text-link-blue);font-weight:var(--font-sb)}z-anchor-navigation nav>*>*:is(z-button,button){position:absolute;top:50%;right:0;transform:translateY(-50%);transition:opacity 0.3s ease-in-out}z-anchor-navigation nav>*:focus:focus-visible,z-anchor-navigation nav>*>*:focus:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}z-anchor-navigation nav button{padding:0;border:none;margin:0;background-color:transparent}@media (min-width: 768px){z-anchor-navigation z-button.toggle{display:none !important}z-anchor-navigation nav{display:flex}z-anchor-navigation nav>*>:is(z-button,button){opacity:0;pointer-events:none}@media (hover: hover){z-anchor-navigation nav>:is([data-current],:hover,:focus,:focus-within)>:is(z-button,button){opacity:1;pointer-events:unset}z-anchor-navigation nav>*:hover{border-left-color:var(--color-hover-primary);background-color:var(--color-hover-surface);color:var(--color-text-link-blue-hover)}}z-anchor-navigation[hide-unselected] nav>*:not([data-current],:hover,:focus,:focus-within){color:transparent;fill:transparent}}";const e=r;const c=class{constructor(a){o(this,a);this.hideUnselected=false;this.autoCurrent=true;this.collapsed=false}setCurrent(){const o=Array.from(this.nav.querySelectorAll("a")).find((o=>o.href===this.host.ownerDocument.location.href));Array.from(this.nav.children).forEach((a=>{const n=a instanceof HTMLAnchorElement?a:a.querySelector("a");const t=n===o;n.setAttribute("aria-current",t.toString());a.toggleAttribute("data-current",t)}))}toggleCollapsed(){this.collapsed=!this.collapsed}componentDidLoad(){if(this.autoCurrent){window.addEventListener("hashchange",this.setCurrent.bind(this));this.setCurrent()}}disconnectedCallback(){window.removeEventListener("hashchange",this.setCurrent)}render(){return a(n,{key:"13b73e5270d20ed2fe6993c36bcc67b462e906c6",collapsed:this.collapsed},a("z-button",{key:"e30c82721fc47924bcea1d16d0df1809ce8bf9e5",class:"toggle",variant:i.SECONDARY,icon:this.collapsed?"chevron-up":"chevron-down",onClick:this.toggleCollapsed.bind(this)},"salta a"),a("nav",{key:"2947b460bbaa7df8d2a8a9a50c51d1b4aa9230d4",ref:o=>this.nav=o},a("slot",{key:"9db93583f854c9a6ca57da4d7efeebca6c88836e"})))}get host(){return t(this)}};c.style=e;export{c as z_anchor_navigation};
2
- //# sourceMappingURL=p-a90027c2.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZAnchorNavigationStyle0","ZAnchorNavigation","setCurrent","currentElement","Array","from","this","nav","querySelectorAll","find","anchor","href","host","ownerDocument","location","children","forEach","item","HTMLAnchorElement","querySelector","isCurrent","setAttribute","toString","toggleAttribute","toggleCollapsed","collapsed","componentDidLoad","autoCurrent","window","addEventListener","bind","disconnectedCallback","removeEventListener","render","h","Host","key","class","variant","ButtonVariant","SECONDARY","icon","onClick","ref","el"],"sources":["src/components/z-anchor-navigation/styles.css?tag=z-anchor-navigation","src/components/z-anchor-navigation/index.tsx"],"sourcesContent":["html {\n scroll-behavior: smooth;\n}\n\nz-anchor-navigation nav {\n display: none;\n flex-direction: column;\n justify-content: flex-start;\n row-gap: calc(var(--space-unit) / 2);\n}\n\nz-anchor-navigation[collapsed] nav {\n display: flex;\n margin-top: var(--space-unit);\n}\n\nz-anchor-navigation nav a {\n display: -webkit-box;\n overflow: clip;\n width: 100%;\n box-sizing: border-box;\n padding: calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 2);\n -webkit-box-orient: vertical;\n color: inherit;\n font-weight: inherit;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n overflow-clip-margin: content-box;\n text-decoration: none;\n}\n\nz-anchor-navigation nav * a:not(:only-child) {\n padding-right: calc(var(--space-unit) * 5);\n}\n\n@supports not (overflow-clip-margin: content-box) {\n z-anchor-navigation nav a {\n display: inline-block;\n overflow: hidden;\n -webkit-line-clamp: none;\n line-clamp: none;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n\nz-anchor-navigation nav > * {\n position: relative;\n border-left: var(--border-size-large) solid var(--color-surface05);\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n transition:\n background-color 0.3s ease-in-out,\n border-color 0.3s ease-in-out,\n color 0.3s ease-in-out;\n}\n\nz-anchor-navigation nav > [data-current] {\n border-left-color: var(--color-primary01);\n color: var(--color-text-link-blue);\n font-weight: var(--font-sb);\n}\n\nz-anchor-navigation nav > * > *:is(z-button, button) {\n position: absolute;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n transition: opacity 0.3s ease-in-out;\n}\n\nz-anchor-navigation nav > *:focus:focus-visible,\nz-anchor-navigation nav > * > *:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\nz-anchor-navigation nav button {\n padding: 0;\n border: none;\n margin: 0;\n background-color: transparent;\n}\n\n@media (min-width: 768px) {\n z-anchor-navigation z-button.toggle {\n display: none !important;\n }\n\n z-anchor-navigation nav {\n display: flex;\n }\n\n /* hide anchor actions by default... */\n z-anchor-navigation nav > * > :is(z-button, button) {\n opacity: 0;\n pointer-events: none;\n }\n\n @media (hover: hover) {\n /* ...show them only hovering/focusing the anchor */\n z-anchor-navigation nav > :is([data-current], :hover, :focus, :focus-within) > :is(z-button, button) {\n opacity: 1;\n pointer-events: unset;\n }\n\n z-anchor-navigation nav > *:hover {\n border-left-color: var(--color-hover-primary);\n background-color: var(--color-hover-surface);\n color: var(--color-text-link-blue-hover);\n }\n }\n\n z-anchor-navigation[hide-unselected] nav > *:not([data-current], :hover, :focus, :focus-within) {\n color: transparent;\n fill: transparent;\n }\n}\n","import {Component, Element, h, Host, Prop, State} from \"@stencil/core\";\nimport {ButtonVariant} from \"../../beans\";\n\n/**\n * Anchor navigation component.\n * @slot - Anchor navigation items. Use `<a>` elements inside. If you need an extra action element, use a wrapper around it and the anchor.\n * @example\n * ```\n * <z-anchor-navigation>\n * <div>\n * <a href=\"#section-id\">Section name</a>\n * <button type=\"button\">\n * <z-icon name=\"share\" />\n * </button>\n * </div>\n * </z-anchor-navigation>\n * ```\n */\n@Component({\n tag: \"z-anchor-navigation\",\n styleUrl: \"styles.css\",\n shadow: false,\n})\nexport class ZAnchorNavigation {\n /**\n * If enabled, the text of each anchor will be hidden unless\n * for the current one or the one the user is hovering.\n */\n @Prop({reflect: true})\n hideUnselected = false;\n\n /**\n * Enables automatic inference of the current item, listening for hash change\n * and checking the `href` of the slotted anchors.\n * When disabled, the highlight of current item must be handled manually by setting the `data-current`\n * attribute to the correct slotted items and the `aria-current` attribute to the anchors.\n */\n @Prop()\n autoCurrent = true;\n\n /**\n * Whether the mobile list is collapsed.\n */\n @State()\n collapsed = false;\n\n @Element() host: HTMLZAnchorNavigationElement;\n\n /** Reference to the nav element. */\n private nav: HTMLElement;\n\n /**\n * Set `aria-current` attribute to the anchors.\n */\n private setCurrent(): void {\n const currentElement = Array.from(this.nav.querySelectorAll(\"a\")).find(\n (anchor) => anchor.href === this.host.ownerDocument.location.href\n );\n Array.from(this.nav.children).forEach((item) => {\n const anchor = item instanceof HTMLAnchorElement ? item : item.querySelector(\"a\");\n const isCurrent = anchor === currentElement;\n anchor.setAttribute(\"aria-current\", isCurrent.toString());\n item.toggleAttribute(\"data-current\", isCurrent);\n });\n }\n\n /**\n * Toggle collapsed state.\n */\n private toggleCollapsed(): void {\n this.collapsed = !this.collapsed;\n }\n\n componentDidLoad(): void {\n if (this.autoCurrent) {\n window.addEventListener(\"hashchange\", this.setCurrent.bind(this));\n this.setCurrent();\n }\n }\n\n disconnectedCallback(): void {\n window.removeEventListener(\"hashchange\", this.setCurrent);\n }\n\n render(): HTMLZAnchorNavigationElement {\n return (\n <Host collapsed={this.collapsed}>\n <z-button\n class=\"toggle\"\n variant={ButtonVariant.SECONDARY}\n icon={this.collapsed ? \"chevron-up\" : \"chevron-down\"}\n onClick={this.toggleCollapsed.bind(this)}\n >\n salta a\n </z-button>\n <nav ref={(el) => (this.nav = el)}>\n <slot></slot>\n </nav>\n </Host>\n );\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAY,4tEAClB,MAAAC,EAAeD,E,MCsBFE,EAAiB,M,6CAMX,M,iBASH,K,eAMF,K,CAUJ,UAAAC,GACN,MAAMC,EAAiBC,MAAMC,KAAKC,KAAKC,IAAIC,iBAAiB,MAAMC,MAC/DC,GAAWA,EAAOC,OAASL,KAAKM,KAAKC,cAAcC,SAASH,OAE/DP,MAAMC,KAAKC,KAAKC,IAAIQ,UAAUC,SAASC,IACrC,MAAMP,EAASO,aAAgBC,kBAAoBD,EAAOA,EAAKE,cAAc,KAC7E,MAAMC,EAAYV,IAAWP,EAC7BO,EAAOW,aAAa,eAAgBD,EAAUE,YAC9CL,EAAKM,gBAAgB,eAAgBH,EAAU,G,CAO3C,eAAAI,GACNlB,KAAKmB,WAAanB,KAAKmB,S,CAGzB,gBAAAC,GACE,GAAIpB,KAAKqB,YAAa,CACpBC,OAAOC,iBAAiB,aAAcvB,KAAKJ,WAAW4B,KAAKxB,OAC3DA,KAAKJ,Y,EAIT,oBAAA6B,GACEH,OAAOI,oBAAoB,aAAc1B,KAAKJ,W,CAGhD,MAAA+B,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACX,UAAWnB,KAAKmB,WACpBS,EAAA,YAAAE,IAAA,2CACEC,MAAM,SACNC,QAASC,EAAcC,UACvBC,KAAMnC,KAAKmB,UAAY,aAAe,eACtCiB,QAASpC,KAAKkB,gBAAgBM,KAAKxB,OAAK,WAI1C4B,EAAA,OAAAE,IAAA,2CAAKO,IAAMC,GAAQtC,KAAKC,IAAMqC,GAC5BV,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export{Z as z_tr}from"./p-037c59b3.js";import"./p-75c4a726.js";import"./p-10607a39.js";import"./p-b34993de.js";import"./p-5145a606.js";import"./p-14e61df6.js";import"./p-123739cb.js";
2
- //# sourceMappingURL=p-deb86b5c.entry.js.map