@zanichelli/albe-web-components 19.1.3-RC3 → 19.1.3

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 (223) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/{index-e84fb4e1.js → index-805390c8.js} +2 -2
  3. package/dist/cjs/{index-e84fb4e1.js.map → index-805390c8.js.map} +1 -1
  4. package/dist/cjs/index.cjs.js +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/{utils-3dc316f8.js → utils-5148245a.js} +69 -24
  7. package/dist/cjs/utils-5148245a.js.map +1 -0
  8. package/dist/cjs/web-components-library.cjs.js +1 -1
  9. package/dist/cjs/z-app-header_12.cjs.entry.js +4 -6
  10. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  11. package/dist/cjs/z-book-card-deprecated.cjs.entry.js +1 -1
  12. package/dist/cjs/z-breadcrumb.cjs.entry.js +1 -1
  13. package/dist/cjs/z-combobox.cjs.entry.js +62 -50
  14. package/dist/cjs/z-combobox.cjs.entry.js.map +1 -1
  15. package/dist/cjs/z-menu.cjs.entry.js +1 -1
  16. package/dist/cjs/z-myz-card-info.cjs.entry.js +1 -1
  17. package/dist/cjs/z-myz-list-item.cjs.entry.js +1 -1
  18. package/dist/cjs/z-popover.cjs.entry.js +111 -42
  19. package/dist/cjs/z-popover.cjs.entry.js.map +1 -1
  20. package/dist/cjs/z-select.cjs.entry.js +28 -63
  21. package/dist/cjs/z-select.cjs.entry.js.map +1 -1
  22. package/dist/cjs/z-skip-to-content.cjs.entry.js +1 -1
  23. package/dist/cjs/z-slideshow.cjs.entry.js +1 -1
  24. package/dist/cjs/z-stepper-item.cjs.entry.js +3 -3
  25. package/dist/cjs/z-stepper-item.cjs.entry.js.map +1 -1
  26. package/dist/cjs/z-stepper.cjs.entry.js +1 -1
  27. package/dist/cjs/z-stepper.cjs.entry.js.map +1 -1
  28. package/dist/cjs/z-table.cjs.entry.js +2 -2
  29. package/dist/cjs/z-toggle-switch.cjs.entry.js +1 -1
  30. package/dist/cjs/z-tooltip.cjs.entry.js +1 -1
  31. package/dist/cjs/z-tooltip.cjs.entry.js.map +1 -1
  32. package/dist/cjs/z-tr.cjs.entry.js +2 -2
  33. package/dist/collection/components/list/z-list-group/index.js +2 -39
  34. package/dist/collection/components/list/z-list-group/index.js.map +1 -1
  35. package/dist/collection/components/z-combobox/index.js +63 -48
  36. package/dist/collection/components/z-combobox/index.js.map +1 -1
  37. package/dist/collection/components/z-combobox/styles.css +0 -6
  38. package/dist/collection/components/z-input-message/index.js +1 -1
  39. package/dist/collection/components/z-input-message/index.js.map +1 -1
  40. package/dist/collection/components/z-popover/index.js +111 -42
  41. package/dist/collection/components/z-popover/index.js.map +1 -1
  42. package/dist/collection/components/z-popover/index.stories.js +49 -0
  43. package/dist/collection/components/z-popover/index.stories.js.map +1 -1
  44. package/dist/collection/components/z-popover/styles.css +0 -16
  45. package/dist/collection/components/z-select/index.js +27 -62
  46. package/dist/collection/components/z-select/index.js.map +1 -1
  47. package/dist/collection/components/z-stepper/index.js +1 -1
  48. package/dist/collection/components/z-stepper/index.js.map +1 -1
  49. package/dist/collection/components/z-stepper-item/index.js +3 -3
  50. package/dist/collection/components/z-stepper-item/index.js.map +1 -1
  51. package/dist/collection/components/z-tooltip/styles.css +7 -6
  52. package/dist/collection/utils/utils.js +66 -22
  53. package/dist/collection/utils/utils.js.map +1 -1
  54. package/dist/components/index13.js +1 -1
  55. package/dist/components/index13.js.map +1 -1
  56. package/dist/components/index16.js +3 -7
  57. package/dist/components/index16.js.map +1 -1
  58. package/dist/components/index24.js +111 -42
  59. package/dist/components/index24.js.map +1 -1
  60. package/dist/components/index25.js +1 -1
  61. package/dist/components/utils.js +67 -23
  62. package/dist/components/utils.js.map +1 -1
  63. package/dist/components/z-combobox.js +65 -51
  64. package/dist/components/z-combobox.js.map +1 -1
  65. package/dist/components/z-select.js +27 -62
  66. package/dist/components/z-select.js.map +1 -1
  67. package/dist/components/z-stepper-item.js +3 -3
  68. package/dist/components/z-stepper-item.js.map +1 -1
  69. package/dist/components/z-stepper.js +1 -1
  70. package/dist/components/z-stepper.js.map +1 -1
  71. package/dist/components/z-tooltip.js +1 -1
  72. package/dist/components/z-tooltip.js.map +1 -1
  73. package/dist/esm/{index-92064825.js → index-8a9f6d27.js} +2 -2
  74. package/dist/esm/{index-92064825.js.map → index-8a9f6d27.js.map} +1 -1
  75. package/dist/esm/index.js +1 -1
  76. package/dist/esm/loader.js +1 -1
  77. package/dist/esm/{utils-6e2be2b6.js → utils-e66d94c3.js} +68 -24
  78. package/dist/esm/utils-e66d94c3.js.map +1 -0
  79. package/dist/esm/web-components-library.js +1 -1
  80. package/dist/esm/z-app-header_12.entry.js +4 -6
  81. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  82. package/dist/esm/z-book-card-deprecated.entry.js +1 -1
  83. package/dist/esm/z-breadcrumb.entry.js +1 -1
  84. package/dist/esm/z-combobox.entry.js +62 -50
  85. package/dist/esm/z-combobox.entry.js.map +1 -1
  86. package/dist/esm/z-menu.entry.js +1 -1
  87. package/dist/esm/z-myz-card-info.entry.js +1 -1
  88. package/dist/esm/z-myz-list-item.entry.js +1 -1
  89. package/dist/esm/z-popover.entry.js +111 -42
  90. package/dist/esm/z-popover.entry.js.map +1 -1
  91. package/dist/esm/z-select.entry.js +28 -63
  92. package/dist/esm/z-select.entry.js.map +1 -1
  93. package/dist/esm/z-skip-to-content.entry.js +1 -1
  94. package/dist/esm/z-slideshow.entry.js +1 -1
  95. package/dist/esm/z-stepper-item.entry.js +3 -3
  96. package/dist/esm/z-stepper-item.entry.js.map +1 -1
  97. package/dist/esm/z-stepper.entry.js +1 -1
  98. package/dist/esm/z-stepper.entry.js.map +1 -1
  99. package/dist/esm/z-table.entry.js +2 -2
  100. package/dist/esm/z-toggle-switch.entry.js +1 -1
  101. package/dist/esm/z-tooltip.entry.js +1 -1
  102. package/dist/esm/z-tooltip.entry.js.map +1 -1
  103. package/dist/esm/z-tr.entry.js +2 -2
  104. package/dist/types/components/list/z-list-group/index.d.ts +0 -8
  105. package/dist/types/components/z-combobox/index.d.ts +8 -1
  106. package/dist/types/components/z-popover/index.d.ts +15 -4
  107. package/dist/types/components/z-popover/index.stories.d.ts +8 -0
  108. package/dist/types/components.d.ts +2 -18
  109. package/dist/types/utils/utils.d.ts +14 -8
  110. package/dist/web-components-library/index.esm.js +1 -1
  111. package/dist/web-components-library/{p-2bf54364.js → p-030257b3.js} +2 -2
  112. package/{www/build/p-8bd4a2aa.entry.js → dist/web-components-library/p-1844a4f4.entry.js} +2 -2
  113. package/dist/web-components-library/{p-539f99db.entry.js → p-19f5b6a9.entry.js} +2 -2
  114. package/dist/web-components-library/{p-ce6e18f9.entry.js → p-1c7550f9.entry.js} +2 -2
  115. package/dist/web-components-library/p-22ba2a17.entry.js +2 -0
  116. package/dist/web-components-library/p-22ba2a17.entry.js.map +1 -0
  117. package/dist/web-components-library/{p-28d83c86.entry.js → p-307c9c33.entry.js} +2 -2
  118. package/dist/web-components-library/p-334cba5d.entry.js +2 -0
  119. package/dist/web-components-library/p-334cba5d.entry.js.map +1 -0
  120. package/dist/web-components-library/p-33d2a5db.entry.js +2 -0
  121. package/dist/web-components-library/p-33d2a5db.entry.js.map +1 -0
  122. package/{www/build/p-2e0923bd.entry.js → dist/web-components-library/p-3f5aa623.entry.js} +2 -2
  123. package/dist/web-components-library/{p-ee223a82.entry.js → p-75e47ecf.entry.js} +2 -2
  124. package/dist/web-components-library/p-75e47ecf.entry.js.map +1 -0
  125. package/dist/web-components-library/{p-b3f1b5c1.entry.js → p-99210133.entry.js} +2 -2
  126. package/dist/web-components-library/p-b71a3f69.entry.js +2 -0
  127. package/dist/web-components-library/{p-6cff173f.entry.js.map → p-b71a3f69.entry.js.map} +1 -1
  128. package/dist/web-components-library/{p-7ceddb7a.entry.js → p-b7ec2cc4.entry.js} +2 -2
  129. package/dist/web-components-library/p-b7ec2cc4.entry.js.map +1 -0
  130. package/dist/web-components-library/{p-4aaf0172.entry.js → p-b96900bb.entry.js} +2 -2
  131. package/dist/web-components-library/{p-57314d68.entry.js → p-cc18a2b7.entry.js} +2 -2
  132. package/dist/web-components-library/p-cc18a2b7.entry.js.map +1 -0
  133. package/dist/web-components-library/p-d2035d26.entry.js +2 -0
  134. package/{www/build/p-5f94986f.entry.js → dist/web-components-library/p-daa1ffe9.entry.js} +2 -2
  135. package/dist/web-components-library/p-e6778114.js +2 -0
  136. package/dist/web-components-library/p-e6778114.js.map +1 -0
  137. package/{www/build/p-7194003a.entry.js → dist/web-components-library/p-e9e2ceb4.entry.js} +2 -2
  138. package/dist/web-components-library/web-components-library.esm.js +1 -1
  139. package/dist/web-components-library/web-components-library.esm.js.map +1 -1
  140. package/package.json +2 -3
  141. package/www/build/index.esm.js +1 -1
  142. package/www/build/{p-2bf54364.js → p-030257b3.js} +2 -2
  143. package/{dist/web-components-library/p-8bd4a2aa.entry.js → www/build/p-1844a4f4.entry.js} +2 -2
  144. package/www/build/{p-539f99db.entry.js → p-19f5b6a9.entry.js} +2 -2
  145. package/www/build/{p-ce6e18f9.entry.js → p-1c7550f9.entry.js} +2 -2
  146. package/www/build/p-22ba2a17.entry.js +2 -0
  147. package/www/build/p-22ba2a17.entry.js.map +1 -0
  148. package/www/build/{p-28d83c86.entry.js → p-307c9c33.entry.js} +2 -2
  149. package/www/build/p-334cba5d.entry.js +2 -0
  150. package/www/build/p-334cba5d.entry.js.map +1 -0
  151. package/www/build/p-33d2a5db.entry.js +2 -0
  152. package/www/build/p-33d2a5db.entry.js.map +1 -0
  153. package/{dist/web-components-library/p-2e0923bd.entry.js → www/build/p-3f5aa623.entry.js} +2 -2
  154. package/www/build/{p-ee223a82.entry.js → p-75e47ecf.entry.js} +2 -2
  155. package/www/build/p-75e47ecf.entry.js.map +1 -0
  156. package/www/build/p-7646bea0.js +2 -0
  157. package/www/build/{p-b3f1b5c1.entry.js → p-99210133.entry.js} +2 -2
  158. package/www/build/p-b71a3f69.entry.js +2 -0
  159. package/www/build/{p-6cff173f.entry.js.map → p-b71a3f69.entry.js.map} +1 -1
  160. package/www/build/{p-7ceddb7a.entry.js → p-b7ec2cc4.entry.js} +2 -2
  161. package/www/build/p-b7ec2cc4.entry.js.map +1 -0
  162. package/www/build/{p-4aaf0172.entry.js → p-b96900bb.entry.js} +2 -2
  163. package/www/build/{p-57314d68.entry.js → p-cc18a2b7.entry.js} +2 -2
  164. package/www/build/p-cc18a2b7.entry.js.map +1 -0
  165. package/www/build/p-d2035d26.entry.js +2 -0
  166. package/{dist/web-components-library/p-5f94986f.entry.js → www/build/p-daa1ffe9.entry.js} +2 -2
  167. package/www/build/p-e6778114.js +2 -0
  168. package/www/build/p-e6778114.js.map +1 -0
  169. package/{dist/web-components-library/p-7194003a.entry.js → www/build/p-e9e2ceb4.entry.js} +2 -2
  170. package/www/build/web-components-library.esm.js +1 -1
  171. package/www/build/web-components-library.esm.js.map +1 -1
  172. package/www/index.html +1 -1
  173. package/dist/cjs/utils-3dc316f8.js.map +0 -1
  174. package/dist/esm/utils-6e2be2b6.js.map +0 -1
  175. package/dist/web-components-library/p-57314d68.entry.js.map +0 -1
  176. package/dist/web-components-library/p-625e2cee.js +0 -2
  177. package/dist/web-components-library/p-625e2cee.js.map +0 -1
  178. package/dist/web-components-library/p-6cff173f.entry.js +0 -2
  179. package/dist/web-components-library/p-78146cef.entry.js +0 -2
  180. package/dist/web-components-library/p-78146cef.entry.js.map +0 -1
  181. package/dist/web-components-library/p-7ceddb7a.entry.js.map +0 -1
  182. package/dist/web-components-library/p-ac477ae7.entry.js +0 -2
  183. package/dist/web-components-library/p-ac477ae7.entry.js.map +0 -1
  184. package/dist/web-components-library/p-bc2fb71e.entry.js +0 -2
  185. package/dist/web-components-library/p-bc2fb71e.entry.js.map +0 -1
  186. package/dist/web-components-library/p-dc156429.entry.js +0 -2
  187. package/dist/web-components-library/p-ee223a82.entry.js.map +0 -1
  188. package/www/build/p-57314d68.entry.js.map +0 -1
  189. package/www/build/p-625e2cee.js +0 -2
  190. package/www/build/p-625e2cee.js.map +0 -1
  191. package/www/build/p-6cff173f.entry.js +0 -2
  192. package/www/build/p-78146cef.entry.js +0 -2
  193. package/www/build/p-78146cef.entry.js.map +0 -1
  194. package/www/build/p-7ceddb7a.entry.js.map +0 -1
  195. package/www/build/p-ac477ae7.entry.js +0 -2
  196. package/www/build/p-ac477ae7.entry.js.map +0 -1
  197. package/www/build/p-bc2fb71e.entry.js +0 -2
  198. package/www/build/p-bc2fb71e.entry.js.map +0 -1
  199. package/www/build/p-dc156429.entry.js +0 -2
  200. package/www/build/p-e13b193a.js +0 -2
  201. package/www/build/p-ee223a82.entry.js.map +0 -1
  202. /package/dist/web-components-library/{p-2bf54364.js.map → p-030257b3.js.map} +0 -0
  203. /package/dist/web-components-library/{p-8bd4a2aa.entry.js.map → p-1844a4f4.entry.js.map} +0 -0
  204. /package/dist/web-components-library/{p-539f99db.entry.js.map → p-19f5b6a9.entry.js.map} +0 -0
  205. /package/dist/web-components-library/{p-ce6e18f9.entry.js.map → p-1c7550f9.entry.js.map} +0 -0
  206. /package/dist/web-components-library/{p-28d83c86.entry.js.map → p-307c9c33.entry.js.map} +0 -0
  207. /package/dist/web-components-library/{p-2e0923bd.entry.js.map → p-3f5aa623.entry.js.map} +0 -0
  208. /package/dist/web-components-library/{p-b3f1b5c1.entry.js.map → p-99210133.entry.js.map} +0 -0
  209. /package/dist/web-components-library/{p-4aaf0172.entry.js.map → p-b96900bb.entry.js.map} +0 -0
  210. /package/dist/web-components-library/{p-dc156429.entry.js.map → p-d2035d26.entry.js.map} +0 -0
  211. /package/dist/web-components-library/{p-5f94986f.entry.js.map → p-daa1ffe9.entry.js.map} +0 -0
  212. /package/dist/web-components-library/{p-7194003a.entry.js.map → p-e9e2ceb4.entry.js.map} +0 -0
  213. /package/www/build/{p-2bf54364.js.map → p-030257b3.js.map} +0 -0
  214. /package/www/build/{p-8bd4a2aa.entry.js.map → p-1844a4f4.entry.js.map} +0 -0
  215. /package/www/build/{p-539f99db.entry.js.map → p-19f5b6a9.entry.js.map} +0 -0
  216. /package/www/build/{p-ce6e18f9.entry.js.map → p-1c7550f9.entry.js.map} +0 -0
  217. /package/www/build/{p-28d83c86.entry.js.map → p-307c9c33.entry.js.map} +0 -0
  218. /package/www/build/{p-2e0923bd.entry.js.map → p-3f5aa623.entry.js.map} +0 -0
  219. /package/www/build/{p-b3f1b5c1.entry.js.map → p-99210133.entry.js.map} +0 -0
  220. /package/www/build/{p-4aaf0172.entry.js.map → p-b96900bb.entry.js.map} +0 -0
  221. /package/www/build/{p-dc156429.entry.js.map → p-d2035d26.entry.js.map} +0 -0
  222. /package/www/build/{p-5f94986f.entry.js.map → p-daa1ffe9.entry.js.map} +0 -0
  223. /package/www/build/{p-7194003a.entry.js.map → p-e9e2ceb4.entry.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,g as o}from"./p-75c4a726.js";import{I as s,e as a,i as r,g as n,l}from"./p-17af7fb2.js";import{r as c,d}from"./p-625e2cee.js";import"./p-5145a606.js";const h='.z-label{display:block;padding-bottom:var(--space-unit);color:var(--color-default-text);font-family:var(--font-family-sans);font-size:var(--font-size-1);font-weight:var(--font-sb);text-align:left;text-transform:uppercase}:host{display:block;color:var(--color-form-default-text);fill:var(--color-form-default-icon);font-family:var(--font-family-sans)}:host>div.fixed{position:relative}:host>div>.header{position:relative;z-index:10;display:flex;min-height:42px;align-items:center;justify-content:space-between;padding:0 calc(var(--space-unit) * 1.5);border:var(--border-size-small) solid var(--color-form-surface04);margin:0;background-color:var(--color-form-background);border-radius:var(--border-radius-small);cursor:pointer}:host([size="small"])>div>.header{min-height:34px;font-size:var(--font-size-2)}:host([size="x-small"])>div>.header{min-height:30px;font-size:var(--font-size-2)}:host>div>.header:hover{outline:var(--border-size-medium) solid var(--color-form-surface04);outline-offset:-2px}:host>div>div.header:focus:focus-visible{z-index:16;box-shadow:var(--shadow-focus-primary);outline:none}:host>div>.header>span.body-3>span{font-weight:var(--font-sb)}:host>div>.header>z-icon{fill:var(--color-form-default-icon);transform:rotate(360deg);transition:all 200ms linear}:host>div>.header>z-icon.small,:host>div>.header>z-icon.x-small{--z-icon-width:16px;--z-icon-height:16px}:host>div.open>.header{border:var(--border-size-small) solid var(--color-form-active-primary);border-radius:var(--border-radius-small) var(--border-radius-small) 0 0}:host>div.disabled{pointer-events:none}:host>div.disabled .header{border-color:var(--color-form-disabled03);fill:var(--color-form-disabled01-icon)}:host>div.disabled .header>span.body-3{color:var(--color-form-disabled03)}:host>div.disabled .header>z-icon:last-child{fill:var(--color-form-disabled01-icon)}:host>div.open>.header>z-icon{fill:var(--color-form-default-icon);transform:rotate(180deg);transition:all 200ms linear}:host>div>div.open-combo-data{display:none}:host>div.open>div.open-combo-data{position:relative;z-index:12;display:block;padding:var(--space-unit) calc(var(--space-unit) * 2);border:var(--border-size-small) solid var(--color-form-surface03);border-top:0;background-color:var(--color-form-background);border-radius:0;box-shadow:var(--shadow-2)}:host .open .open-combo-data z-input .z-label{color:var(--color-form-default-text)}:host>div.open>div.open-combo-data>div>div{overflow:auto;max-height:235px;padding:0;padding-left:var(--space-unit);margin-left:calc(var(--space-unit) * -1);}:host>div.open>div.open-combo-data>z-input{width:100%;margin-bottom:calc(var(--space-unit) * 2)}:host>div.open>div.open-combo-data>div>div>ul{max-height:235px;padding:0 calc(var(--space-unit) * 0.5);margin:0}:host .open-combo-data z-list-element{--background-color-list-element:var(--color-form-background);--background-hover-color-list-element:var(--color-form-surface03);--background-active-color-list-element:var(--color-form-surface03)}::-webkit-scrollbar{width:6px;background:linear-gradient(to right, transparent 0 1px, var(--gray200) 1px 5px, transparent 5px 6px)}::-webkit-scrollbar-thumb{background-color:var(--color-primary01)}::-webkit-scrollbar-thumb:hover{background-color:var(--color-hover-primary)}@supports not selector(::-webkit-scrollbar-track){:host{scrollbar-color:var(--color-primary01) transparent}}:host>div.open>z-input{position:relative;z-index:1;width:238px;margin:0 calc(var(--space-unit) * 2);color:var(--color-form-active-primary)}:host>div.open>div.open-combo-data>div>div.search{overflow:hidden;max-height:none;margin-top:0}:host>div.open>div.open-combo-data>div>div.search>ul{overflow:auto;max-height:180px;padding:var(--space-unit) calc(var(--space-unit) * 2)}:host .open .open-combo-data .search .no-results{display:flex;align-items:center;column-gap:var(--space-unit)}:host>.open>.open-combo-data .search .close-search{display:flex;justify-content:center}:host>div.open>div.open-combo-data>div>div.search .close-search>a{display:inline-block;height:44px;color:var(--color-form-active-primary);cursor:pointer;font-size:14px;font-weight:var(--font-sb);line-height:44px;text-align:center;text-transform:uppercase}:host>div.open>div.open-combo-data>div>div.search .close-search>a:focus:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}:host>div.open>div.open-combo-data>div>div.check-all-wrapper{padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 0.5) calc(var(--space-unit) * 2)\n calc(var(--space-unit) * 1.5);border-bottom:var(--border-size-small) solid var(--gray800);margin-bottom:var(--space-unit);margin-left:calc(var(--space-unit) * -1);text-align:left}:host([size="small"])>div.open>div.open-combo-data>div>div.check-all-wrapper{padding:calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 0.5)}:host([size="x-small"])>div.open>div.open-combo-data>div>div.check-all-wrapper{padding:var(--space-unit) calc(var(--space-unit) * 0.5)}[role="option"]:focus,[role="option"]:focus-visible{background:lime}';const p=h;const u=class{watchItems(){this.itemsList=typeof this.items==="string"?JSON.parse(this.items):this.items;this.selectedCounter=this.itemsList.filter((t=>t.checked)).length;this.updateRenderItemsList()}watchSearchValue(){this.filterItems(this.searchValue)}emitComboboxChange(){this.comboboxChange.emit({id:this.inputid,items:this.itemsList})}constructor(i){t(this,i);this.comboboxChange=e(this,"comboboxChange",7);this.itemsList=[];this.inputType=s.TEXT;this.inputid=`combo-${c()}`;this.items=undefined;this.label=undefined;this.disabled=false;this.hassearch=false;this.searchlabel=undefined;this.searchplaceholder=undefined;this.searchtitle=undefined;this.noresultslabel="Nessun risultato";this.isopen=false;this.isfixed=false;this.hascheckall=false;this.checkalltext="Seleziona tutti";this.uncheckalltext="Deseleziona tutti";this.maxcheckableitems=0;this.hasgroupitems=undefined;this.size=a.BIG;this.searchValue=undefined;this.selectedCounter=undefined;this.renderItemsList=[];this.focusedItemId=undefined;this.toggleComboBox=this.toggleComboBox.bind(this);this.closeFilterItems=this.closeFilterItems.bind(this)}componentWillLoad(){this.watchItems()}componentWillRender(){this.selectedCounter=this.itemsList.filter((t=>t.checked)).length}getControlToListSize(){switch(this.size){case a.X_SMALL:return r.SMALL;case a.SMALL:return r.MEDIUM;default:return r.LARGE}}handleOptionKeyDown(t,e,i){if(t.code===n.SPACE){t.preventDefault();return e()}this.handleSelectArrowsNavigation(t,i)}handleSelectArrowsNavigation(t,e){if(![n.ARROW_DOWN,n.ARROW_UP].includes(t.key)||!this.isopen){return}t.preventDefault();t.stopPropagation();const i=this.element.shadowRoot.querySelector(`#${e}`);const o=Array.from(this.element.shadowRoot.querySelectorAll('[role="option"]'));if(!o.length){return}const s=i?o.indexOf(i):null;const a=0;const r=o.length-1;let l=null;if(t.key===n.ARROW_DOWN){l=s===null||s===r?o[a]:o[s+1]}else if(t.key===n.ARROW_UP){l=s===null||s===a?o[r]:o[s-1]}this.focusedItemId=l.id;l.focus()}handleHeaderKeyboardEvent(t){if(t.key===n.SPACE){t.preventDefault()}if(t.key===n.ARROW_DOWN&&!this.isopen||t.key===n.ARROW_UP&&this.isopen){this.toggleComboBox()}if(this.isopen&&!this.hassearch){this.handleSelectArrowsNavigation(t)}}updateRenderItemsList(){if(this.searchValue){this.filterItems(this.searchValue)}else{this.resetRenderItemsList()}}resetRenderItemsList(){const t=[];this.itemsList.forEach((e=>{t.push(Object.assign({},e))}));this.renderItemsList=t}filterItems(t){if(!t){return this.closeFilterItems()}this.resetRenderItemsList();this.renderItemsList=this.renderItemsList.filter((e=>{const i=e.name.toUpperCase().indexOf(t.toUpperCase());const o=i+t.length;const s=e.name.substring(0,i)+"<strong>"+e.name.substring(i,o)+"</strong>"+e.name.substring(o,e.name.length);e.name=s;return i>=0}))}checkAll(t=true){this.itemsList=this.itemsList.map((e=>Object.assign(Object.assign({},e),{checked:t})));this.resetRenderItemsList();this.emitComboboxChange();this.focusedItemId=null;const e=this.element.shadowRoot.querySelector("#option-check-all");this.focusedItemId=e.id;e.focus()}closeFilterItems(){this.searchValue="";this.resetRenderItemsList()}toggleComboBox(){this.isopen=!this.isopen}getComboboxA11yAttributes(t){const e="combobox";const i=this.isopen?"true":"false";const o=this.isopen?this.focusedItemId:"";const s=`${this.inputid}_list`;if(t){return{role:e,"html-aria-expanded":i,"html-aria-activedescendant":o,"html-aria-controls":s}}return{role:e,"aria-expanded":i,"aria-activedescendant":o,"aria-controls":s}}renderHeader(){return i("div",{class:"header",onClick:()=>this.toggleComboBox(),onKeyDown:t=>{this.handleHeaderKeyboardEvent(t)},onKeyUp:t=>d(t,this.toggleComboBox),role:"button",tabindex:0,"aria-controls":"open-combo-data","aria-expanded":this.isopen?"true":"false"},i("span",{class:"body-3"},this.label,i("span",null,this.selectedCounter>0&&` (${this.selectedCounter})`)),i("z-icon",{name:"caret-down",class:this.size}))}renderContent(){return i("div",{id:"open-combo-data",class:"open-combo-data"},this.hassearch&&this.renderSearchInput(),!this.hassearch?i("span",Object.assign({},this.getComboboxA11yAttributes(false))):null,i("div",{role:"listbox","aria-label":this.label,"aria-multiselectable":"true",id:`${this.inputid}_list`,"aria-owns":Array.from(this.element.shadowRoot.querySelectorAll("[role='option']")).map((t=>t.id)).join(" ")},this.renderItems()))}renderItems(){return i("div",{class:this.searchValue&&"search",tabIndex:-1,role:"presentation"},this.renderList(this.renderItemsList))}renderItem(t,e,o){const s=`option-${t.id}`;const a=!t.checked&&this.maxcheckableitems&&this.selectedCounter>=this.maxcheckableitems;const r=()=>{this.itemsList=this.itemsList.map((e=>{if(t.id===e.id){e.checked=!e.checked}return e}));this.updateRenderItemsList();this.emitComboboxChange()};return i("z-list-element",{htmlTabindex:-1,dividerType:e!==o-1?l.ELEMENT:l.NONE,size:this.getControlToListSize(),role:"presentation",disabled:a},i("z-icon",{name:t.checked?"checkbox-checked":"checkbox"}),i("span",{id:s,role:"option","aria-selected":t.checked?"true":"false",tabindex:this.focusedItemId===s?0:-1,innerHTML:t.name,onKeyDown:t=>this.handleOptionKeyDown(t,r,s),onClick:r}))}renderList(t){if(!t){return}if(!t.length&&this.searchValue){return this.renderNoSearchResults()}if(this.hasgroupitems){return this.renderGroups(t)}return i("ul",{role:"presentation"},this.renderCheckAll(),t.map(((e,i)=>this.renderItem(e,i,t.length))))}renderGroups(t){const e=t.reduce(((e,i,o)=>{var s;const a=i.category||"Altra categoria";const r=this.renderItem(i,o,t.length);e[a]=(s=e[a])!==null&&s!==void 0?s:[];e[a].push(r);return e}),{});const o=Object.entries(e).map((([t,e],o)=>i("z-list-group",{"divider-type":l.ELEMENT,ariaLabelledby:`${this.inputid}_list_group_${o}`},i("span",{class:"body-3-sb z-list-group-title",slot:"header-title",id:`${this.inputid}_list_group_${o}`,"aria-hidden":"true"},t),e.map((t=>t)))));return i("ul",{role:"presentation"},this.renderCheckAll(),o)}renderNoSearchResults(){return i("div",{class:"no-results"},i("span",null,this.noresultslabel))}renderSearchInput(){return i("z-input",Object.assign({htmlid:`${this.inputid}_search`,label:this.searchlabel,placeholder:this.searchplaceholder,htmltitle:this.searchtitle,type:this.inputType,value:this.searchValue,message:false,size:this.size,"html-aria-autocomplete":"list"},this.getComboboxA11yAttributes(true),{onKeyUp:t=>{if(t.key===n.ESC){this.closeFilterItems()}this.handleSelectArrowsNavigation(t)},onInputChange:t=>{this.searchValue=t.detail.value}}))}renderCheckAll(){if(!this.hascheckall||this.searchValue){return}const t="option-check-all";const e=this.selectedCounter===this.itemsList.length;const o=()=>this.checkAll(!e);return i("z-list-element",{class:"check-all-wrapper",role:"presentation",htmlTabindex:-1,dividerType:l.ELEMENT,size:this.getControlToListSize()},i("z-icon",{name:e?"checkbox-checked":"checkbox"}),i("span",{id:t,role:"option","aria-selected":e?"true":"false",tabindex:this.focusedItemId===t?0:-1,onKeyDown:e=>this.handleOptionKeyDown(e,o,t),onClick:o},e?this.uncheckalltext:this.checkalltext))}render(){return i("div",{key:"461b88b7131d9ad3840df3972b79cf48f8f8f8af","data-action":`combo-${this.inputid}`,class:{open:this.isopen,fixed:this.isfixed,disabled:this.disabled},id:this.inputid},this.renderHeader(),!this.disabled&&this.renderContent())}get element(){return o(this)}static get watchers(){return{items:["watchItems"],searchValue:["watchSearchValue"]}}};u.style=p;export{u as z_combobox};
2
- //# sourceMappingURL=p-bc2fb71e.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZComboboxStyle0","ZCombobox","watchItems","this","itemsList","items","JSON","parse","selectedCounter","filter","item","checked","length","updateRenderItemsList","watchSearchValue","filterItems","searchValue","emitComboboxChange","comboboxChange","emit","id","inputid","constructor","hostRef","inputType","InputType","TEXT","randomId","ControlSize","BIG","toggleComboBox","bind","closeFilterItems","componentWillLoad","componentWillRender","getControlToListSize","size","X_SMALL","ListSize","SMALL","MEDIUM","LARGE","handleOptionKeyDown","e","onOptionClickCallback","currId","code","KeyboardCode","SPACE","preventDefault","handleSelectArrowsNavigation","ARROW_DOWN","ARROW_UP","includes","key","isopen","stopPropagation","currElem","element","shadowRoot","querySelector","options","Array","from","querySelectorAll","currElemIndex","indexOf","firstElemIndex","lastElemIndex","nextElem","focusedItemId","focus","handleHeaderKeyboardEvent","ev","hassearch","resetRenderItemsList","renderItemsList","forEach","push","Object","assign","value","start","name","toUpperCase","end","newName","substring","checkAll","map","elem","getComboboxA11yAttributes","isZInput","role","ariaExpanded","ariaActivedescendant","ariaControls","renderHeader","h","class","onClick","onKeyDown","onKeyUp","handleKeyboardSubmit","tabindex","label","renderContent","renderSearchInput","join","renderItems","tabIndex","renderList","renderItem","index","optionId","isDisabled","maxcheckableitems","onOptionClick","i","htmlTabindex","dividerType","ListDividerType","ELEMENT","NONE","disabled","innerHTML","renderNoSearchResults","hasgroupitems","renderGroups","renderCheckAll","newData","reduce","group","category","zListItem","_a","listGroups","entries","ariaLabelledby","slot","noresultslabel","htmlid","searchlabel","placeholder","searchplaceholder","htmltitle","searchtitle","type","message","ESC","onInputChange","detail","hascheckall","allChecked","uncheckalltext","checkalltext","render","open","fixed","isfixed"],"sources":["src/components/z-combobox/styles.css?tag=z-combobox&encapsulation=shadow","src/components/z-combobox/index.tsx"],"sourcesContent":["@import \"../css-components/z-label/styles.css\";\n\n:host {\n display: block;\n color: var(--color-form-default-text);\n fill: var(--color-form-default-icon);\n font-family: var(--font-family-sans);\n}\n\n:host > div.fixed {\n position: relative;\n}\n\n:host > div > .header {\n position: relative;\n z-index: 10;\n display: flex;\n min-height: 42px;\n align-items: center;\n justify-content: space-between;\n padding: 0 calc(var(--space-unit) * 1.5);\n border: var(--border-size-small) solid var(--color-form-surface04);\n margin: 0;\n background-color: var(--color-form-background);\n border-radius: var(--border-radius-small);\n cursor: pointer;\n}\n\n:host([size=\"small\"]) > div > .header {\n min-height: 34px;\n font-size: var(--font-size-2);\n}\n\n:host([size=\"x-small\"]) > div > .header {\n min-height: 30px;\n font-size: var(--font-size-2);\n}\n\n:host > div > .header:hover {\n outline: var(--border-size-medium) solid var(--color-form-surface04);\n outline-offset: -2px;\n}\n\n:host > div > div.header:focus:focus-visible {\n z-index: 16;\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host > div > .header > span.body-3 > span {\n font-weight: var(--font-sb);\n}\n\n:host > div > .header > z-icon {\n fill: var(--color-form-default-icon);\n transform: rotate(360deg);\n transition: all 200ms linear;\n}\n\n:host > div > .header > z-icon.small,\n:host > div > .header > z-icon.x-small {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n}\n\n:host > div.open > .header {\n border: var(--border-size-small) solid var(--color-form-active-primary);\n border-radius: var(--border-radius-small) var(--border-radius-small) 0 0;\n}\n\n:host > div.disabled {\n pointer-events: none;\n}\n\n:host > div.disabled .header {\n border-color: var(--color-form-disabled03);\n fill: var(--color-form-disabled01-icon);\n}\n\n:host > div.disabled .header > span.body-3 {\n color: var(--color-form-disabled03);\n}\n\n:host > div.disabled .header > z-icon:last-child {\n fill: var(--color-form-disabled01-icon);\n}\n\n:host > div.open > .header > z-icon {\n fill: var(--color-form-default-icon);\n transform: rotate(180deg);\n transition: all 200ms linear;\n}\n\n:host > div > div.open-combo-data {\n display: none;\n}\n\n:host > div.open > div.open-combo-data {\n position: relative;\n z-index: 12;\n display: block;\n padding: var(--space-unit) calc(var(--space-unit) * 2);\n border: var(--border-size-small) solid var(--color-form-surface03);\n border-top: 0;\n background-color: var(--color-form-background);\n border-radius: 0;\n box-shadow: var(--shadow-2);\n}\n\n:host .open .open-combo-data z-input .z-label {\n color: var(--color-form-default-text);\n}\n\n:host > div.open > div.open-combo-data > div > div {\n overflow: auto;\n max-height: 235px;\n padding: 0;\n padding-left: var(--space-unit); /* padding left and negative margin in order to enable focus */\n margin-left: calc(var(--space-unit) * -1); /* padding left and negative margin in order to enable focus */\n}\n\n:host > div.open > div.open-combo-data > z-input {\n width: 100%;\n margin-bottom: calc(var(--space-unit) * 2);\n}\n\n:host > div.open > div.open-combo-data > div > div > ul {\n max-height: 235px;\n padding: 0 calc(var(--space-unit) * 0.5); /* needed for checkbox focus shadow */\n margin: 0;\n}\n\n:host .open-combo-data z-list-element {\n --background-color-list-element: var(--color-form-background);\n --background-hover-color-list-element: var(--color-form-surface03);\n --background-active-color-list-element: var(--color-form-surface03);\n}\n\n::-webkit-scrollbar {\n width: 6px;\n background: linear-gradient(to right, transparent 0 1px, var(--gray200) 1px 5px, transparent 5px 6px);\n}\n\n::-webkit-scrollbar-thumb {\n background-color: var(--color-primary01);\n}\n\n::-webkit-scrollbar-thumb:hover {\n background-color: var(--color-hover-primary);\n}\n\n/* Firefox scrollbar */\n@supports not selector(::-webkit-scrollbar-track) {\n :host {\n scrollbar-color: var(--color-primary01) transparent;\n }\n}\n\n:host > div.open > z-input {\n position: relative;\n z-index: 1;\n width: 238px;\n margin: 0 calc(var(--space-unit) * 2);\n color: var(--color-form-active-primary);\n}\n\n:host > div.open > div.open-combo-data > div > div.search {\n overflow: hidden;\n max-height: none;\n margin-top: 0;\n}\n\n:host > div.open > div.open-combo-data > div > div.search > ul {\n overflow: auto;\n max-height: 180px;\n padding: var(--space-unit) calc(var(--space-unit) * 2);\n}\n\n:host .open .open-combo-data .search .no-results {\n display: flex;\n align-items: center;\n column-gap: var(--space-unit);\n}\n\n:host > .open > .open-combo-data .search .close-search {\n display: flex;\n justify-content: center;\n}\n\n:host > div.open > div.open-combo-data > div > div.search .close-search > a {\n display: inline-block;\n height: 44px;\n color: var(--color-form-active-primary);\n cursor: pointer;\n font-size: 14px;\n font-weight: var(--font-sb);\n line-height: 44px;\n text-align: center;\n text-transform: uppercase;\n}\n\n:host > div.open > div.open-combo-data > div > div.search .close-search > a:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host > div.open > div.open-combo-data > div > div.check-all-wrapper {\n /* padding left and negative margin in order to enable focus */\n padding: calc(var(--space-unit) * 2) calc(var(--space-unit) * 0.5) calc(var(--space-unit) * 2)\n calc(var(--space-unit) * 1.5);\n border-bottom: var(--border-size-small) solid var(--gray800);\n margin-bottom: var(--space-unit);\n margin-left: calc(var(--space-unit) * -1);\n text-align: left;\n}\n\n:host([size=\"small\"]) > div.open > div.open-combo-data > div > div.check-all-wrapper {\n padding: calc(var(--space-unit) * 1.5) calc(var(--space-unit) * 0.5);\n}\n\n:host([size=\"x-small\"]) > div.open > div.open-combo-data > div > div.check-all-wrapper {\n padding: var(--space-unit) calc(var(--space-unit) * 0.5);\n}\n\n/* TODO: remove */\n[role=\"option\"]:focus,\n[role=\"option\"]:focus-visible {\n background: lime;\n}\n","import {Component, Element, Event, EventEmitter, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ComboItem, ControlSize, InputType, KeyboardCode, ListDividerType, ListSize} from \"../../beans\";\nimport {handleKeyboardSubmit, randomId} from \"../../utils/utils\";\nimport {ZInput} from \"../z-input\";\n\n@Component({\n tag: \"z-combobox\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZCombobox {\n @Element() element: HTMLZComboboxElement;\n\n /** input unique id */\n @Prop()\n inputid = `combo-${randomId()}`;\n\n /** list items array */\n @Prop()\n items: ComboItem[] | string;\n\n /** label text */\n @Prop()\n label: string;\n\n /** the combobox is disabled */\n @Prop({reflect: true})\n disabled?: boolean = false;\n\n /** show search input flag (optional) */\n @Prop()\n hassearch?: boolean = false;\n\n /** search input label text (optional) */\n @Prop()\n searchlabel?: string;\n\n /** search input placeholder text (optional) */\n @Prop()\n searchplaceholder?: string;\n\n /** search input title text (optional) */\n @Prop()\n searchtitle?: string;\n\n /** no result text message */\n @Prop()\n noresultslabel?: string = \"Nessun risultato\";\n\n /** toggle combo list opening flag */\n @Prop({mutable: true})\n isopen = false;\n\n /** fixed style flag */\n @Prop()\n isfixed = false;\n\n /** show \"check all\" checkbox (optional) */\n @Prop()\n hascheckall?: boolean = false;\n\n /** check all label (optional) */\n @Prop()\n checkalltext?: string = \"Seleziona tutti\";\n\n /** uncheck all label (optional) */\n @Prop()\n uncheckalltext?: string = \"Deseleziona tutti\";\n\n /** max number of checkable items (0 = unlimited) */\n @Prop()\n maxcheckableitems = 0;\n\n /** group items by category */\n @Prop()\n hasgroupitems?: boolean;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop()\n size?: ControlSize = ControlSize.BIG;\n\n @State()\n searchValue: string;\n\n @State()\n selectedCounter: number;\n\n @State()\n renderItemsList: ComboItem[] = []; // used for render only\n\n @State()\n focusedItemId: string;\n\n private itemsList: ComboItem[] = [];\n\n private inputType: InputType = InputType.TEXT;\n\n @Watch(\"items\")\n watchItems(): void {\n this.itemsList = typeof this.items === \"string\" ? JSON.parse(this.items) : this.items;\n this.selectedCounter = this.itemsList.filter((item) => item.checked).length;\n this.updateRenderItemsList();\n }\n\n @Watch(\"searchValue\")\n watchSearchValue(): void {\n this.filterItems(this.searchValue);\n }\n\n /** Emitted when value is checked/unchecked. Returns id, items. */\n @Event()\n comboboxChange: EventEmitter;\n\n private emitComboboxChange(): void {\n this.comboboxChange.emit({id: this.inputid, items: this.itemsList});\n }\n\n constructor() {\n this.toggleComboBox = this.toggleComboBox.bind(this);\n this.closeFilterItems = this.closeFilterItems.bind(this);\n }\n\n componentWillLoad(): void {\n this.watchItems();\n }\n\n componentWillRender(): void {\n this.selectedCounter = this.itemsList.filter((item) => item.checked).length;\n }\n\n private getControlToListSize(): ListSize {\n switch (this.size) {\n case ControlSize.X_SMALL:\n return ListSize.SMALL;\n case ControlSize.SMALL:\n return ListSize.MEDIUM;\n default:\n return ListSize.LARGE;\n }\n }\n\n private handleOptionKeyDown(e: KeyboardEvent, onOptionClickCallback: () => void, currId?: string): void {\n if ((e.code as KeyboardCode) === KeyboardCode.SPACE) {\n e.preventDefault();\n\n return onOptionClickCallback();\n }\n\n this.handleSelectArrowsNavigation(e, currId);\n }\n\n private handleSelectArrowsNavigation(e: KeyboardEvent, currId?: string): void {\n if (![KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP].includes(e.key as KeyboardCode) || !this.isopen) {\n return;\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n const currElem = this.element.shadowRoot.querySelector(`#${currId}`);\n const options = Array.from(this.element.shadowRoot.querySelectorAll('[role=\"option\"]'));\n\n if (!options.length) {\n return;\n }\n\n const currElemIndex = currElem ? options.indexOf(currElem) : null;\n const firstElemIndex = 0;\n const lastElemIndex = options.length - 1;\n\n let nextElem = null;\n if (e.key === KeyboardCode.ARROW_DOWN) {\n nextElem =\n currElemIndex === null || currElemIndex === lastElemIndex\n ? options[firstElemIndex]\n : options[currElemIndex + 1];\n } else if (e.key === KeyboardCode.ARROW_UP) {\n nextElem =\n currElemIndex === null || currElemIndex === firstElemIndex\n ? options[lastElemIndex]\n : options[currElemIndex - 1];\n }\n\n this.focusedItemId = nextElem.id;\n nextElem.focus();\n }\n\n private handleHeaderKeyboardEvent(ev: KeyboardEvent): void {\n if (ev.key === KeyboardCode.SPACE) {\n ev.preventDefault();\n }\n\n if ((ev.key === KeyboardCode.ARROW_DOWN && !this.isopen) || (ev.key === KeyboardCode.ARROW_UP && this.isopen)) {\n this.toggleComboBox();\n }\n\n if (this.isopen && !this.hassearch) {\n this.handleSelectArrowsNavigation(ev);\n }\n }\n\n private updateRenderItemsList(): void {\n if (this.searchValue) {\n this.filterItems(this.searchValue);\n } else {\n this.resetRenderItemsList();\n }\n }\n\n private resetRenderItemsList(): void {\n const renderItemsList = [];\n this.itemsList.forEach((item: ComboItem) => {\n renderItemsList.push({...item});\n });\n this.renderItemsList = renderItemsList;\n }\n\n private filterItems(value: string): void {\n if (!value) {\n return this.closeFilterItems();\n }\n\n this.resetRenderItemsList();\n this.renderItemsList = this.renderItemsList.filter((item) => {\n const start = item.name.toUpperCase().indexOf(value.toUpperCase());\n const end = start + value.length;\n const newName =\n item.name.substring(0, start) +\n \"<strong>\" +\n item.name.substring(start, end) +\n \"</strong>\" +\n item.name.substring(end, item.name.length);\n\n item.name = newName;\n\n return start >= 0;\n });\n }\n\n private checkAll(checked = true): void {\n this.itemsList = this.itemsList.map((item: ComboItem) => ({\n ...item,\n checked: checked,\n }));\n this.resetRenderItemsList();\n this.emitComboboxChange();\n\n this.focusedItemId = null;\n const elem = this.element.shadowRoot.querySelector(\"#option-check-all\") as HTMLElement;\n this.focusedItemId = elem.id;\n elem.focus();\n }\n\n private closeFilterItems(): void {\n this.searchValue = \"\";\n this.resetRenderItemsList();\n }\n\n private toggleComboBox(): void {\n this.isopen = !this.isopen;\n }\n\n private getComboboxA11yAttributes(isZInput: boolean): Record<string, string> {\n const role = \"combobox\";\n const ariaExpanded = this.isopen ? \"true\" : \"false\";\n const ariaActivedescendant = this.isopen ? this.focusedItemId : \"\";\n const ariaControls = `${this.inputid}_list`;\n\n if (isZInput) {\n return {\n \"role\": role,\n \"html-aria-expanded\": ariaExpanded,\n \"html-aria-activedescendant\": ariaActivedescendant,\n \"html-aria-controls\": ariaControls,\n };\n }\n\n return {\n \"role\": role,\n \"aria-expanded\": ariaExpanded,\n \"aria-activedescendant\": ariaActivedescendant,\n \"aria-controls\": ariaControls,\n };\n }\n\n private renderHeader(): HTMLDivElement {\n return (\n <div\n class=\"header\"\n onClick={() => this.toggleComboBox()}\n onKeyDown={(ev: KeyboardEvent) => {\n this.handleHeaderKeyboardEvent(ev);\n }}\n onKeyUp={(ev: KeyboardEvent) => handleKeyboardSubmit(ev, this.toggleComboBox)}\n role=\"button\"\n tabindex={0}\n aria-controls=\"open-combo-data\"\n aria-expanded={this.isopen ? \"true\" : \"false\"}\n >\n <span class=\"body-3\">\n {this.label}\n <span>{this.selectedCounter > 0 && ` (${this.selectedCounter})`}</span>\n </span>\n <z-icon\n name=\"caret-down\"\n class={this.size}\n />\n </div>\n );\n }\n\n private renderContent(): HTMLDivElement {\n return (\n <div\n id=\"open-combo-data\"\n class=\"open-combo-data\"\n >\n {this.hassearch && this.renderSearchInput()}\n {!this.hassearch ? <span {...this.getComboboxA11yAttributes(false)} /> : null}\n <div\n role=\"listbox\"\n aria-label={this.label}\n aria-multiselectable=\"true\"\n id={`${this.inputid}_list`}\n aria-owns={Array.from(this.element.shadowRoot.querySelectorAll(\"[role='option']\"))\n .map((item) => item.id)\n .join(\" \")}\n >\n {this.renderItems()}\n </div>\n </div>\n );\n }\n\n private renderItems(): HTMLDivElement {\n return (\n <div\n class={this.searchValue && \"search\"}\n tabIndex={-1}\n role=\"presentation\"\n >\n {this.renderList(this.renderItemsList)}\n </div>\n );\n }\n\n private renderItem(item: ComboItem, index: number, length: number): HTMLZListElement {\n const optionId = `option-${item.id}`;\n const isDisabled = !item.checked && this.maxcheckableitems && this.selectedCounter >= this.maxcheckableitems;\n\n const onOptionClick = (): void => {\n this.itemsList = this.itemsList.map((i: ComboItem) => {\n if (item.id === i.id) {\n i.checked = !i.checked;\n }\n\n return i;\n });\n this.updateRenderItemsList();\n this.emitComboboxChange();\n };\n\n return (\n <z-list-element\n htmlTabindex={-1}\n dividerType={index !== length - 1 ? ListDividerType.ELEMENT : ListDividerType.NONE}\n size={this.getControlToListSize()}\n role=\"presentation\"\n disabled={isDisabled}\n >\n <z-icon name={item.checked ? \"checkbox-checked\" : \"checkbox\"} />\n <span\n id={optionId}\n role=\"option\"\n aria-selected={item.checked ? \"true\" : \"false\"}\n tabindex={this.focusedItemId === optionId ? 0 : -1}\n innerHTML={item.name}\n onKeyDown={(e: KeyboardEvent) => this.handleOptionKeyDown(e, onOptionClick, optionId)}\n onClick={onOptionClick}\n />\n </z-list-element>\n );\n }\n\n private renderList(items: ComboItem[]): HTMLUListElement {\n if (!items) {\n return;\n }\n if (!items.length && this.searchValue) {\n return this.renderNoSearchResults();\n }\n\n if (this.hasgroupitems) {\n return this.renderGroups(items);\n }\n\n return (\n <ul role=\"presentation\">\n {this.renderCheckAll()}\n {items.map((item, i) => {\n return this.renderItem(item, i, items.length);\n })}\n </ul>\n );\n }\n\n private renderGroups(items: ComboItem[]): HTMLUListElement {\n const newData = items.reduce((group, item, index) => {\n const category = item.category || \"Altra categoria\";\n const zListItem = this.renderItem(item, index, items.length);\n\n group[category] = group[category] ?? [];\n group[category].push(zListItem);\n\n return group;\n }, {});\n\n const listGroups = Object.entries(newData as {[key: string]: HTMLZListElementElement[]}).map(\n ([key, value], index) => {\n return (\n <z-list-group\n divider-type={ListDividerType.ELEMENT}\n ariaLabelledby={`${this.inputid}_list_group_${index}`}\n >\n <span\n class=\"body-3-sb z-list-group-title\"\n slot=\"header-title\"\n id={`${this.inputid}_list_group_${index}`}\n aria-hidden=\"true\"\n >\n {key}\n </span>\n {value.map((item) => item)}\n </z-list-group>\n );\n }\n );\n\n return (\n <ul role=\"presentation\">\n {this.renderCheckAll()}\n {listGroups}\n </ul>\n );\n }\n\n private renderNoSearchResults(): HTMLUListElement {\n return (\n <div class=\"no-results\">\n <span>{this.noresultslabel}</span>\n </div>\n );\n }\n\n private renderSearchInput(): ZInput {\n return (\n <z-input\n htmlid={`${this.inputid}_search`}\n label={this.searchlabel}\n placeholder={this.searchplaceholder}\n htmltitle={this.searchtitle}\n type={this.inputType}\n value={this.searchValue}\n message={false}\n size={this.size}\n html-aria-autocomplete=\"list\"\n {...this.getComboboxA11yAttributes(true)}\n onKeyUp={(e: KeyboardEvent) => {\n if (e.key === KeyboardCode.ESC) {\n this.closeFilterItems();\n }\n this.handleSelectArrowsNavigation(e);\n }}\n onInputChange={(e: CustomEvent) => {\n this.searchValue = e.detail.value;\n }}\n />\n );\n }\n\n private renderCheckAll(): HTMLDivElement {\n if (!this.hascheckall || this.searchValue) {\n return;\n }\n\n const optionId = \"option-check-all\";\n const allChecked = this.selectedCounter === this.itemsList.length;\n\n const onOptionClick = (): void => this.checkAll(!allChecked);\n\n return (\n <z-list-element\n class=\"check-all-wrapper\"\n role=\"presentation\"\n htmlTabindex={-1}\n dividerType={ListDividerType.ELEMENT}\n size={this.getControlToListSize()}\n >\n <z-icon name={allChecked ? \"checkbox-checked\" : \"checkbox\"} />\n <span\n id={optionId}\n role=\"option\"\n aria-selected={allChecked ? \"true\" : \"false\"}\n tabindex={this.focusedItemId === optionId ? 0 : -1}\n onKeyDown={(e: KeyboardEvent) => this.handleOptionKeyDown(e, onOptionClick, optionId)}\n onClick={onOptionClick}\n >\n {allChecked ? this.uncheckalltext : this.checkalltext}\n </span>\n </z-list-element>\n );\n }\n\n render(): HTMLDivElement {\n return (\n <div\n data-action={`combo-${this.inputid}`}\n class={{open: this.isopen, fixed: this.isfixed, disabled: this.disabled}}\n id={this.inputid}\n >\n {this.renderHeader()}\n {!this.disabled && this.renderContent()}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export{Z as z_tr}from"./p-2bf54364.js";import"./p-75c4a726.js";import"./p-625e2cee.js";import"./p-17af7fb2.js";import"./p-5145a606.js";import"./p-f19f12b1.js";import"./p-748fa3ae.js";
2
- //# sourceMappingURL=p-dc156429.entry.js.map