@zanichelli/albe-web-components 19.2.0 → 19.3.0-RC2

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 (209) hide show
  1. package/dist/cjs/{index-844c7a99.js → index-44e3cf31.js} +2 -2
  2. package/dist/cjs/{index-844c7a99.js.map → index-44e3cf31.js.map} +1 -1
  3. package/dist/cjs/index.cjs.js +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{utils-e8b453d5.js → utils-b1859d65.js} +7 -1
  6. package/dist/cjs/utils-b1859d65.js.map +1 -0
  7. package/dist/cjs/web-components-library.cjs.js +1 -1
  8. package/dist/cjs/z-app-header_12.cjs.entry.js +5 -4
  9. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  10. package/dist/cjs/z-book-card-deprecated.cjs.entry.js +1 -1
  11. package/dist/cjs/z-book-card.cjs.entry.js +1 -1
  12. package/dist/cjs/z-book-card.cjs.entry.js.map +1 -1
  13. package/dist/cjs/z-breadcrumb.cjs.entry.js +1 -1
  14. package/dist/cjs/z-color-picker.cjs.entry.js +1 -1
  15. package/dist/cjs/z-combobox.cjs.entry.js +126 -95
  16. package/dist/cjs/z-combobox.cjs.entry.js.map +1 -1
  17. package/dist/cjs/z-menu.cjs.entry.js +1 -1
  18. package/dist/cjs/z-myz-card-info.cjs.entry.js +1 -1
  19. package/dist/cjs/z-myz-list-item.cjs.entry.js +1 -1
  20. package/dist/cjs/z-popover.cjs.entry.js +1 -1
  21. package/dist/cjs/z-select.cjs.entry.js +98 -133
  22. package/dist/cjs/z-select.cjs.entry.js.map +1 -1
  23. package/dist/cjs/z-skip-to-content.cjs.entry.js +1 -1
  24. package/dist/cjs/z-slideshow.cjs.entry.js +1 -1
  25. package/dist/cjs/z-table.cjs.entry.js +2 -2
  26. package/dist/cjs/z-toast-notification-list.cjs.entry.js +2 -1
  27. package/dist/cjs/z-toast-notification-list.cjs.entry.js.map +1 -1
  28. package/dist/cjs/z-toggle-switch.cjs.entry.js +1 -1
  29. package/dist/cjs/z-tool.cjs.entry.js +1 -1
  30. package/dist/cjs/z-tr.cjs.entry.js +2 -2
  31. package/dist/collection/components/book-card/z-book-card/styles.css +2 -1
  32. package/dist/collection/components/list/z-list-group/index.js +21 -2
  33. package/dist/collection/components/list/z-list-group/index.js.map +1 -1
  34. package/dist/collection/components/z-combobox/index.js +142 -97
  35. package/dist/collection/components/z-combobox/index.js.map +1 -1
  36. package/dist/collection/components/z-combobox/styles.css +41 -0
  37. package/dist/collection/components/z-searchbar/styles.css +1 -1
  38. package/dist/collection/components/z-select/index.js +97 -141
  39. package/dist/collection/components/z-select/index.js.map +1 -1
  40. package/dist/collection/components/z-select/styles.css +9 -2
  41. package/dist/collection/components/z-toast-notification-list/index.js +2 -1
  42. package/dist/collection/components/z-toast-notification-list/index.js.map +1 -1
  43. package/dist/collection/utils/utils.js +5 -0
  44. package/dist/collection/utils/utils.js.map +1 -1
  45. package/dist/components/index12.js +1 -1
  46. package/dist/components/index16.js +5 -3
  47. package/dist/components/index16.js.map +1 -1
  48. package/dist/components/index24.js +1 -1
  49. package/dist/components/index25.js +2 -2
  50. package/dist/components/index25.js.map +1 -1
  51. package/dist/components/utils.js +6 -1
  52. package/dist/components/utils.js.map +1 -1
  53. package/dist/components/z-book-card.js +1 -1
  54. package/dist/components/z-book-card.js.map +1 -1
  55. package/dist/components/z-combobox.js +129 -99
  56. package/dist/components/z-combobox.js.map +1 -1
  57. package/dist/components/z-select.js +99 -134
  58. package/dist/components/z-select.js.map +1 -1
  59. package/dist/components/z-skip-to-content.js +1 -1
  60. package/dist/components/z-slideshow.js +1 -1
  61. package/dist/components/z-toast-notification-list.js +2 -1
  62. package/dist/components/z-toast-notification-list.js.map +1 -1
  63. package/dist/esm/{index-d003e5d7.js → index-167f46ad.js} +2 -2
  64. package/dist/esm/{index-d003e5d7.js.map → index-167f46ad.js.map} +1 -1
  65. package/dist/esm/index.js +1 -1
  66. package/dist/esm/loader.js +1 -1
  67. package/dist/esm/{utils-1b64bcd9.js → utils-8d6ca808.js} +7 -2
  68. package/dist/esm/utils-8d6ca808.js.map +1 -0
  69. package/dist/esm/web-components-library.js +1 -1
  70. package/dist/esm/z-app-header_12.entry.js +5 -4
  71. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  72. package/dist/esm/z-book-card-deprecated.entry.js +1 -1
  73. package/dist/esm/z-book-card.entry.js +1 -1
  74. package/dist/esm/z-book-card.entry.js.map +1 -1
  75. package/dist/esm/z-breadcrumb.entry.js +1 -1
  76. package/dist/esm/z-color-picker.entry.js +1 -1
  77. package/dist/esm/z-combobox.entry.js +126 -95
  78. package/dist/esm/z-combobox.entry.js.map +1 -1
  79. package/dist/esm/z-menu.entry.js +1 -1
  80. package/dist/esm/z-myz-card-info.entry.js +1 -1
  81. package/dist/esm/z-myz-list-item.entry.js +1 -1
  82. package/dist/esm/z-popover.entry.js +1 -1
  83. package/dist/esm/z-select.entry.js +98 -133
  84. package/dist/esm/z-select.entry.js.map +1 -1
  85. package/dist/esm/z-skip-to-content.entry.js +1 -1
  86. package/dist/esm/z-slideshow.entry.js +1 -1
  87. package/dist/esm/z-table.entry.js +2 -2
  88. package/dist/esm/z-toast-notification-list.entry.js +2 -1
  89. package/dist/esm/z-toast-notification-list.entry.js.map +1 -1
  90. package/dist/esm/z-toggle-switch.entry.js +1 -1
  91. package/dist/esm/z-tool.entry.js +1 -1
  92. package/dist/esm/z-tr.entry.js +2 -2
  93. package/dist/types/components/list/z-list-group/index.d.ts +4 -0
  94. package/dist/types/components/z-combobox/index.d.ts +10 -11
  95. package/dist/types/components/z-select/index.d.ts +5 -7
  96. package/dist/types/components.d.ts +16 -0
  97. package/dist/types/utils/utils.d.ts +2 -0
  98. package/dist/web-components-library/index.esm.js +1 -1
  99. package/dist/web-components-library/{p-1a0c206d.js → p-061e28d6.js} +2 -2
  100. package/dist/web-components-library/p-061e28d6.js.map +1 -0
  101. package/dist/web-components-library/{p-0a192ddf.entry.js → p-22b683a3.entry.js} +2 -2
  102. package/dist/web-components-library/p-42bbe6c8.entry.js +2 -0
  103. package/dist/web-components-library/p-42bbe6c8.entry.js.map +1 -0
  104. package/dist/web-components-library/{p-f9e41b2e.entry.js → p-47b7bc63.entry.js} +2 -2
  105. package/dist/web-components-library/{p-84ed6163.entry.js → p-5838b77c.entry.js} +2 -2
  106. package/dist/web-components-library/{p-6af67a60.entry.js → p-59fac888.entry.js} +2 -2
  107. package/dist/web-components-library/{p-6af67a60.entry.js.map → p-59fac888.entry.js.map} +1 -1
  108. package/dist/web-components-library/p-64b3d620.entry.js +2 -0
  109. package/dist/web-components-library/p-64b3d620.entry.js.map +1 -0
  110. package/dist/web-components-library/p-83a26e88.entry.js +2 -0
  111. package/{www/build/p-2501dd29.entry.js.map → dist/web-components-library/p-83a26e88.entry.js.map} +1 -1
  112. package/dist/web-components-library/p-8503c87a.entry.js +2 -0
  113. package/dist/web-components-library/p-8503c87a.entry.js.map +1 -0
  114. package/dist/web-components-library/{p-59baa7f5.entry.js → p-87edcc75.entry.js} +2 -2
  115. package/{www/build/p-7d6c4b21.entry.js → dist/web-components-library/p-8aaceeed.entry.js} +2 -2
  116. package/dist/web-components-library/p-901518b8.entry.js +2 -0
  117. package/dist/web-components-library/{p-7b199026.entry.js → p-90babaaa.entry.js} +2 -2
  118. package/dist/web-components-library/{p-7b199026.entry.js.map → p-90babaaa.entry.js.map} +1 -1
  119. package/dist/web-components-library/{p-9a63ec80.entry.js → p-9eba4a37.entry.js} +2 -2
  120. package/{www/build/p-c5d52872.entry.js → dist/web-components-library/p-a3f9a5da.entry.js} +2 -2
  121. package/{www/build/p-8a53fefb.entry.js → dist/web-components-library/p-b0324c7d.entry.js} +2 -2
  122. package/dist/web-components-library/{p-d1a04722.entry.js → p-b70ff542.entry.js} +2 -2
  123. package/{www/build/p-684142d7.entry.js → dist/web-components-library/p-bc15e1dc.entry.js} +2 -2
  124. package/dist/web-components-library/{p-a7bb5e87.js → p-ec2a0b31.js} +2 -2
  125. package/dist/web-components-library/p-f8e95a75.entry.js +2 -0
  126. package/dist/web-components-library/{p-db2c3235.entry.js.map → p-f8e95a75.entry.js.map} +1 -1
  127. package/dist/web-components-library/web-components-library.esm.js +1 -1
  128. package/dist/web-components-library/web-components-library.esm.js.map +1 -1
  129. package/package.json +3 -2
  130. package/www/build/index.esm.js +1 -1
  131. package/www/build/{p-1a0c206d.js → p-061e28d6.js} +2 -2
  132. package/www/build/p-061e28d6.js.map +1 -0
  133. package/www/build/{p-0a192ddf.entry.js → p-22b683a3.entry.js} +2 -2
  134. package/www/build/p-2ba3b584.js +2 -0
  135. package/www/build/p-42bbe6c8.entry.js +2 -0
  136. package/www/build/p-42bbe6c8.entry.js.map +1 -0
  137. package/www/build/{p-f9e41b2e.entry.js → p-47b7bc63.entry.js} +2 -2
  138. package/www/build/{p-84ed6163.entry.js → p-5838b77c.entry.js} +2 -2
  139. package/www/build/{p-6af67a60.entry.js → p-59fac888.entry.js} +2 -2
  140. package/www/build/{p-6af67a60.entry.js.map → p-59fac888.entry.js.map} +1 -1
  141. package/www/build/p-64b3d620.entry.js +2 -0
  142. package/www/build/p-64b3d620.entry.js.map +1 -0
  143. package/www/build/p-83a26e88.entry.js +2 -0
  144. package/{dist/web-components-library/p-2501dd29.entry.js.map → www/build/p-83a26e88.entry.js.map} +1 -1
  145. package/www/build/p-8503c87a.entry.js +2 -0
  146. package/www/build/p-8503c87a.entry.js.map +1 -0
  147. package/www/build/{p-59baa7f5.entry.js → p-87edcc75.entry.js} +2 -2
  148. package/{dist/web-components-library/p-7d6c4b21.entry.js → www/build/p-8aaceeed.entry.js} +2 -2
  149. package/www/build/p-901518b8.entry.js +2 -0
  150. package/www/build/{p-7b199026.entry.js → p-90babaaa.entry.js} +2 -2
  151. package/www/build/{p-7b199026.entry.js.map → p-90babaaa.entry.js.map} +1 -1
  152. package/www/build/{p-9a63ec80.entry.js → p-9eba4a37.entry.js} +2 -2
  153. package/{dist/web-components-library/p-c5d52872.entry.js → www/build/p-a3f9a5da.entry.js} +2 -2
  154. package/{dist/web-components-library/p-8a53fefb.entry.js → www/build/p-b0324c7d.entry.js} +2 -2
  155. package/www/build/{p-d1a04722.entry.js → p-b70ff542.entry.js} +2 -2
  156. package/{dist/web-components-library/p-684142d7.entry.js → www/build/p-bc15e1dc.entry.js} +2 -2
  157. package/www/build/{p-a7bb5e87.js → p-ec2a0b31.js} +2 -2
  158. package/www/build/p-f8e95a75.entry.js +2 -0
  159. package/www/build/{p-db2c3235.entry.js.map → p-f8e95a75.entry.js.map} +1 -1
  160. package/www/build/web-components-library.esm.js +1 -1
  161. package/www/build/web-components-library.esm.js.map +1 -1
  162. package/www/index.html +1 -1
  163. package/dist/cjs/utils-e8b453d5.js.map +0 -1
  164. package/dist/esm/utils-1b64bcd9.js.map +0 -1
  165. package/dist/web-components-library/p-1a0c206d.js.map +0 -1
  166. package/dist/web-components-library/p-2501dd29.entry.js +0 -2
  167. package/dist/web-components-library/p-6d11da08.entry.js +0 -2
  168. package/dist/web-components-library/p-6d11da08.entry.js.map +0 -1
  169. package/dist/web-components-library/p-839e2478.entry.js +0 -2
  170. package/dist/web-components-library/p-b8211903.entry.js +0 -2
  171. package/dist/web-components-library/p-b8211903.entry.js.map +0 -1
  172. package/dist/web-components-library/p-daa442e6.entry.js +0 -2
  173. package/dist/web-components-library/p-daa442e6.entry.js.map +0 -1
  174. package/dist/web-components-library/p-db2c3235.entry.js +0 -2
  175. package/www/build/p-1a0c206d.js.map +0 -1
  176. package/www/build/p-2501dd29.entry.js +0 -2
  177. package/www/build/p-385363df.js +0 -2
  178. package/www/build/p-6d11da08.entry.js +0 -2
  179. package/www/build/p-6d11da08.entry.js.map +0 -1
  180. package/www/build/p-839e2478.entry.js +0 -2
  181. package/www/build/p-b8211903.entry.js +0 -2
  182. package/www/build/p-b8211903.entry.js.map +0 -1
  183. package/www/build/p-daa442e6.entry.js +0 -2
  184. package/www/build/p-daa442e6.entry.js.map +0 -1
  185. package/www/build/p-db2c3235.entry.js +0 -2
  186. /package/dist/web-components-library/{p-0a192ddf.entry.js.map → p-22b683a3.entry.js.map} +0 -0
  187. /package/dist/web-components-library/{p-f9e41b2e.entry.js.map → p-47b7bc63.entry.js.map} +0 -0
  188. /package/dist/web-components-library/{p-84ed6163.entry.js.map → p-5838b77c.entry.js.map} +0 -0
  189. /package/dist/web-components-library/{p-59baa7f5.entry.js.map → p-87edcc75.entry.js.map} +0 -0
  190. /package/dist/web-components-library/{p-7d6c4b21.entry.js.map → p-8aaceeed.entry.js.map} +0 -0
  191. /package/dist/web-components-library/{p-839e2478.entry.js.map → p-901518b8.entry.js.map} +0 -0
  192. /package/dist/web-components-library/{p-9a63ec80.entry.js.map → p-9eba4a37.entry.js.map} +0 -0
  193. /package/dist/web-components-library/{p-c5d52872.entry.js.map → p-a3f9a5da.entry.js.map} +0 -0
  194. /package/dist/web-components-library/{p-8a53fefb.entry.js.map → p-b0324c7d.entry.js.map} +0 -0
  195. /package/dist/web-components-library/{p-d1a04722.entry.js.map → p-b70ff542.entry.js.map} +0 -0
  196. /package/dist/web-components-library/{p-684142d7.entry.js.map → p-bc15e1dc.entry.js.map} +0 -0
  197. /package/dist/web-components-library/{p-a7bb5e87.js.map → p-ec2a0b31.js.map} +0 -0
  198. /package/www/build/{p-0a192ddf.entry.js.map → p-22b683a3.entry.js.map} +0 -0
  199. /package/www/build/{p-f9e41b2e.entry.js.map → p-47b7bc63.entry.js.map} +0 -0
  200. /package/www/build/{p-84ed6163.entry.js.map → p-5838b77c.entry.js.map} +0 -0
  201. /package/www/build/{p-59baa7f5.entry.js.map → p-87edcc75.entry.js.map} +0 -0
  202. /package/www/build/{p-7d6c4b21.entry.js.map → p-8aaceeed.entry.js.map} +0 -0
  203. /package/www/build/{p-839e2478.entry.js.map → p-901518b8.entry.js.map} +0 -0
  204. /package/www/build/{p-9a63ec80.entry.js.map → p-9eba4a37.entry.js.map} +0 -0
  205. /package/www/build/{p-c5d52872.entry.js.map → p-a3f9a5da.entry.js.map} +0 -0
  206. /package/www/build/{p-8a53fefb.entry.js.map → p-b0324c7d.entry.js.map} +0 -0
  207. /package/www/build/{p-d1a04722.entry.js.map → p-b70ff542.entry.js.map} +0 -0
  208. /package/www/build/{p-684142d7.entry.js.map → p-bc15e1dc.entry.js.map} +0 -0
  209. /package/www/build/{p-a7bb5e87.js.map → p-ec2a0b31.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{r as t,c as o,h as r,a as e,g as a}from"./p-75c4a726.js";import{a0 as s}from"./p-86618221.js";import{a as i}from"./p-1a0c206d.js";import"./p-5145a606.js";const c=':host{display:grid;width:fit-content;padding:calc(var(--space-unit) * 2);background:var(--color-surface01);gap:var(--space-unit);grid-template-columns:repeat(9, calc(var(--space-unit) * 3));grid-template-rows:repeat(5, calc(var(--space-unit) * 3))}:host,*{box-sizing:border-box}button{--border-color:var(--color-surface05);padding:0;border:none;appearance:none;background:none;border-radius:var(--border-radius);cursor:pointer}button[data-color="#FFFFFF00"]{position:relative}button[data-color="#FFFFFF00"]::after{position:absolute;top:0;right:0;width:100%;height:100%;background:linear-gradient(\n -45deg,\n transparent 48%,\n var(--border-color) 48%,\n var(--border-color) 52%,\n transparent 52%\n );border-radius:var(--border-radius);content:""}button[aria-selected="true"]{box-shadow:0 0 0 1px var(--color-white),\n 0 0 0 3px var(--color-active-primary)}button:focus-visible{box-shadow:var(--shadow-focus-primary)}button .color-swatch{width:calc(var(--space-unit) * 3);height:calc(var(--space-unit) * 3);border:var(--border-size-small) solid var(--border-color);border-radius:var(--border-radius)}button[data-color="#FFFFFF00"]:disabled{--border-color:var(--color-disabled01-icon);cursor:not-allowed}button[data-color="#FFFFFF00"]:disabled .color-swatch{background-color:var(--color-disabled02)}';const n=c;const l={it:{"Select a color":"Seleziona un colore","Color swatch":"Campione di colore"},en:{"Select a color":"Select a color","Color swatch":"Color swatch"}};const d=5;const h=9;const u=class{constructor(r){t(this,r);this.colorSelected=o(this,"colorSelected",7);this.colorKeysByRow=[];this._colorButtons=[];this.selectedColor=undefined;this.lng="it";this.htmlAriaLabel=undefined;this.disableTransparent=false}get colorButtons(){if(!this._colorButtons.length){this._colorButtons=Array.from(this.host.shadowRoot.querySelectorAll("button"))}return this._colorButtons}sortColorKeysByRow(){const t=Object.keys(s);const o=[];for(let r=0;r<d;r++){for(let e=0;e<h;e++){const a=e*d+r;if(a<t.length){o.push(t[a])}}}return o}moveFocusTo(t){this.colorButtons.forEach(((o,r)=>o.tabIndex=r===t?0:-1));this.colorButtons[t].focus()}validateTransparentSelection(){if(this.disableTransparent&&this.selectedColor==="#FFFFFF00"){this.selectedColor="#333333"}}emitColorSelected(){this.colorSelected.emit(this.selectedColor)}async setFocus(){this.colorButtons.forEach((t=>t.tabIndex=-1));const t=this.colorButtons.find((t=>t.ariaSelected==="true"))||this.colorButtons.find((t=>!t.disabled));if(!t){return}t.tabIndex=0;setTimeout((()=>{t.focus()}),50);this.host.tabIndex=-1}getNextIndexByKey(t,o,r){const e=Math.floor(t/h);const a=t%h;let s=t;switch(o){case"ArrowRight":{const t=a+1;const o=t>=h?(e+1)%d:e;s=o*h+t%h;if(s>=r){s=0}break}case"ArrowLeft":{const t=a-1;const o=t<0?(e-1+d)%d:e;s=o*h+(t+h)%h;if(s>=r){s=r-1}break}case"ArrowDown":{let t=e+1;let o=a;if(t>=d){t=0;o=(a+1)%h}s=t*h+o;if(s>=r){s=0}break}case"ArrowUp":{let t=e-1;let o=a;if(t<0){t=d-1;o=(a-1+h)%h}s=t*h+o;if(s>=r){s=r-1}break}}return s}handleKeyDown(t){var o,r;const e=t.composedPath()[0];if(!e.dataset.color){return}const a=this.colorButtons.indexOf(e);const s=this.colorButtons.length;if(a<0||!["ArrowRight","ArrowLeft","ArrowDown","ArrowUp"].includes(t.key)){return}let i=a;let c=0;do{i=this.getNextIndexByKey(i,t.key,s);c++}while(c<s&&((o=this.colorButtons[i])===null||o===void 0?void 0:o.disabled));if(i!==a&&i>=0&&i<s&&!((r=this.colorButtons[i])===null||r===void 0?void 0:r.disabled)){this.moveFocusTo(i);t.preventDefault();t.stopPropagation()}}handleBlur(t){const o=t.relatedTarget;if(!i(this.host,o)){this.host.tabIndex=0;this.colorButtons.forEach((t=>t.tabIndex=-1))}}componentWillLoad(){this.colorKeysByRow=this.sortColorKeysByRow()}render(){return r(e,{key:"4fabea9e988ceec44c05e5885aa4ad0eb0ad5076",role:"listbox","aria-label":this.htmlAriaLabel||l[this.lng]["Select a color"],tabIndex:0},this.colorKeysByRow.map((t=>{var o;return r("button",{class:"color-swatch","data-color":t,role:"option","aria-selected":((o=this.selectedColor)===null||o===void 0?void 0:o.toUpperCase())===t.toUpperCase()?"true":"false",tabIndex:-1,onClick:()=>this.selectedColor=t,disabled:this.disableTransparent&&t==="#FFFFFF00"},r("div",{class:"color-swatch",role:"img","aria-roledescription":l[this.lng]["Color swatch"],"aria-label":s[t][this.lng],title:s[t][this.lng],style:{backgroundColor:t}}))})))}get host(){return a(this)}static get watchers(){return{disableTransparent:["validateTransparentSelection"],selectedColor:["validateTransparentSelection","emitColorSelected"]}}};u.style=n;export{u as z_color_picker};
2
- //# sourceMappingURL=p-0a192ddf.entry.js.map
1
+ import{r as t,c as o,h as r,a as e,g as a}from"./p-75c4a726.js";import{a0 as s}from"./p-86618221.js";import{a as i}from"./p-061e28d6.js";import"./p-5145a606.js";const c=':host{display:grid;width:fit-content;padding:calc(var(--space-unit) * 2);background:var(--color-surface01);gap:var(--space-unit);grid-template-columns:repeat(9, calc(var(--space-unit) * 3));grid-template-rows:repeat(5, calc(var(--space-unit) * 3))}:host,*{box-sizing:border-box}button{--border-color:var(--color-surface05);padding:0;border:none;appearance:none;background:none;border-radius:var(--border-radius);cursor:pointer}button[data-color="#FFFFFF00"]{position:relative}button[data-color="#FFFFFF00"]::after{position:absolute;top:0;right:0;width:100%;height:100%;background:linear-gradient(\n -45deg,\n transparent 48%,\n var(--border-color) 48%,\n var(--border-color) 52%,\n transparent 52%\n );border-radius:var(--border-radius);content:""}button[aria-selected="true"]{box-shadow:0 0 0 1px var(--color-white),\n 0 0 0 3px var(--color-active-primary)}button:focus-visible{box-shadow:var(--shadow-focus-primary)}button .color-swatch{width:calc(var(--space-unit) * 3);height:calc(var(--space-unit) * 3);border:var(--border-size-small) solid var(--border-color);border-radius:var(--border-radius)}button[data-color="#FFFFFF00"]:disabled{--border-color:var(--color-disabled01-icon);cursor:not-allowed}button[data-color="#FFFFFF00"]:disabled .color-swatch{background-color:var(--color-disabled02)}';const n=c;const l={it:{"Select a color":"Seleziona un colore","Color swatch":"Campione di colore"},en:{"Select a color":"Select a color","Color swatch":"Color swatch"}};const d=5;const h=9;const u=class{constructor(r){t(this,r);this.colorSelected=o(this,"colorSelected",7);this.colorKeysByRow=[];this._colorButtons=[];this.selectedColor=undefined;this.lng="it";this.htmlAriaLabel=undefined;this.disableTransparent=false}get colorButtons(){if(!this._colorButtons.length){this._colorButtons=Array.from(this.host.shadowRoot.querySelectorAll("button"))}return this._colorButtons}sortColorKeysByRow(){const t=Object.keys(s);const o=[];for(let r=0;r<d;r++){for(let e=0;e<h;e++){const a=e*d+r;if(a<t.length){o.push(t[a])}}}return o}moveFocusTo(t){this.colorButtons.forEach(((o,r)=>o.tabIndex=r===t?0:-1));this.colorButtons[t].focus()}validateTransparentSelection(){if(this.disableTransparent&&this.selectedColor==="#FFFFFF00"){this.selectedColor="#333333"}}emitColorSelected(){this.colorSelected.emit(this.selectedColor)}async setFocus(){this.colorButtons.forEach((t=>t.tabIndex=-1));const t=this.colorButtons.find((t=>t.ariaSelected==="true"))||this.colorButtons.find((t=>!t.disabled));if(!t){return}t.tabIndex=0;setTimeout((()=>{t.focus()}),50);this.host.tabIndex=-1}getNextIndexByKey(t,o,r){const e=Math.floor(t/h);const a=t%h;let s=t;switch(o){case"ArrowRight":{const t=a+1;const o=t>=h?(e+1)%d:e;s=o*h+t%h;if(s>=r){s=0}break}case"ArrowLeft":{const t=a-1;const o=t<0?(e-1+d)%d:e;s=o*h+(t+h)%h;if(s>=r){s=r-1}break}case"ArrowDown":{let t=e+1;let o=a;if(t>=d){t=0;o=(a+1)%h}s=t*h+o;if(s>=r){s=0}break}case"ArrowUp":{let t=e-1;let o=a;if(t<0){t=d-1;o=(a-1+h)%h}s=t*h+o;if(s>=r){s=r-1}break}}return s}handleKeyDown(t){var o,r;const e=t.composedPath()[0];if(!e.dataset.color){return}const a=this.colorButtons.indexOf(e);const s=this.colorButtons.length;if(a<0||!["ArrowRight","ArrowLeft","ArrowDown","ArrowUp"].includes(t.key)){return}let i=a;let c=0;do{i=this.getNextIndexByKey(i,t.key,s);c++}while(c<s&&((o=this.colorButtons[i])===null||o===void 0?void 0:o.disabled));if(i!==a&&i>=0&&i<s&&!((r=this.colorButtons[i])===null||r===void 0?void 0:r.disabled)){this.moveFocusTo(i);t.preventDefault();t.stopPropagation()}}handleBlur(t){const o=t.relatedTarget;if(!i(this.host,o)){this.host.tabIndex=0;this.colorButtons.forEach((t=>t.tabIndex=-1))}}componentWillLoad(){this.colorKeysByRow=this.sortColorKeysByRow()}render(){return r(e,{key:"4fabea9e988ceec44c05e5885aa4ad0eb0ad5076",role:"listbox","aria-label":this.htmlAriaLabel||l[this.lng]["Select a color"],tabIndex:0},this.colorKeysByRow.map((t=>{var o;return r("button",{class:"color-swatch","data-color":t,role:"option","aria-selected":((o=this.selectedColor)===null||o===void 0?void 0:o.toUpperCase())===t.toUpperCase()?"true":"false",tabIndex:-1,onClick:()=>this.selectedColor=t,disabled:this.disableTransparent&&t==="#FFFFFF00"},r("div",{class:"color-swatch",role:"img","aria-roledescription":l[this.lng]["Color swatch"],"aria-label":s[t][this.lng],title:s[t][this.lng],style:{backgroundColor:t}}))})))}get host(){return a(this)}static get watchers(){return{disableTransparent:["validateTransparentSelection"],selectedColor:["validateTransparentSelection","emitColorSelected"]}}};u.style=n;export{u as z_color_picker};
2
+ //# sourceMappingURL=p-22b683a3.entry.js.map
@@ -0,0 +1,2 @@
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-86618221.js";import{r as o,e as a,b as h,f as d,i as z}from"./p-061e28d6.js";import"./p-5145a606.js";const p='.sc-z-select-h{display:inline-block;width:inherit;color:var(--color-form-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>z-input.sc-z-select .input-icon.sc-z-select{cursor:pointer}.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;border-top:none;background:var(--color-form-background);box-shadow:var(--shadow-2);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 z-list.sc-z-select{--background-color-list-element:var(--color-form-background);--background-hover-color-list-element:var(--color-surface02);--background-active-color-list-element:var(--color-surface02)}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select>z-list.sc-z-select{position:relative;overflow:auto;max-height:240px;padding:var(--space-unit) calc(var(--space-unit) * 1.5);margin:0;outline:none}.select-wrapper.sc-z-select .ul-scroll-wrapper.sc-z-select z-list.sc-z-select z-list-element[disabled].sc-z-select{color:var(--color-form-disabled03)}.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;padding:calc(var(--space-unit) / 2) var(--space-unit);column-gap: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.active.sc-z-select{box-shadow:var(--shadow-focus-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 .list-element-content.sc-z-select{margin-right:auto}.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: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:var(--font-sb)}.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(--color-form-default-text)}.reset-item.sc-z-select{color:var(--color-form-active-primary);fill:var(--color-form-active-primary)}.reset-item-content.sc-z-select{display:flex;align-items:center}.reset-item.sc-z-select .reset-item-content.active.sc-z-select{box-shadow:var(--shadow-focus-primary)}.reset-item.reset-item-margin.sc-z-select .reset-item-content.sc-z-select{margin-left: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}.tree-list-reset-item.sc-z-select{padding:var(--space-unit) 0}z-list-element.sc-z-select{position:relative;display:block}z-list.sc-z-select z-list-element.sc-z-select::before{position:absolute;z-index:100;top:3px;left:-8px;width:8px;height:1em;border-bottom:1px solid var(--color-form-disabled01-icon);border-left:1px solid var(--color-form-disabled01-icon);content:"";cursor:pointer}z-list.sc-z-select z-list-element.sc-z-select::after{position:absolute;z-index:100;top:5px;left:-8px;width:8px;height:100%;border-left:1px solid var(--color-form-disabled01-icon);content:"";cursor:pointer}z-list.sc-z-select z-list-element.sc-z-select:last-child::after{display:none}z-list.sc-z-select>z-list-element.sc-z-select::before,z-list.sc-z-select>z-list-element.sc-z-select::after,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.sc-z-select::before,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.sc-z-select::after{display:none}z-list.sc-z-select>div.children-node.sc-z-select{padding-left:calc(var(--space-unit) * 2)}z-list-element.sc-z-select>.list-element.sc-z-select{display:flex;justify-content:space-between;padding:calc(var(--space-unit) * 1.5) var(--space-unit);cursor:pointer}z-list-element.sc-z-select>.list-element.active.sc-z-select{box-shadow:var(--shadow-focus-primary)}z-list-element.sc-z-select:not([disabled])>.list-element.sc-z-select:hover,z-list-element.sc-z-select:not([disabled])>.list-element.sc-z-select:hover::after{background-color:var(--background-hover-color-list-element, var(--color-background))}z-list-element.sc-z-select>.list-element.sc-z-select .item.ellipsis.sc-z-select{overflow:hidden}z-list-element.sc-z-select .list-element.sc-z-select::after{position:absolute;top:0;right:-1px;display:block;width:100%;height:45px;content:"";transform:translateX(-100%)}z-list-element.tree-search-item.sc-z-select{padding-top:0}z-list-element.tree-search-item.sc-z-select .list-element.sc-z-select::after{position:absolute;right:-25px;display:block;width:100%;height:45px;content:"";transform:translateX(-100%)}z-list-element.grouped-tree-parent-node.sc-z-select .list-element.sc-z-select::after{position:absolute;right:-25px;display:block;width:100%;height:45px;content:"";transform:translateX(-100%)}.item-label.selected.sc-z-select{font-weight:bold}.item.ellipsis.sc-z-select{display:inline-block;overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}z-list.sc-z-select>z-list-element.grouped-tree-parent-node.sc-z-select>.list-element.sc-z-select:hover::after,z-list-element.tree-search-item.sc-z-select .list-element.sc-z-select:hover::after,z-list.sc-z-select>z-list-group.sc-z-select>z-list-element.grouped-tree-parent-node.sc-z-select>.list-element.sc-z-select:hover::after{position:absolute;z-index:-1;right:-18px;display:block;width:100%;height:45px;content:"";transform:translateX(-100%)}z-list-element.sc-z-select>.list-element.sc-z-select:hover::after{position:absolute;z-index:-1;top:0;right:0;display:block;width:100%;height:45px;content:"";transform:translateX(-100%)}.children-node.sc-z-select z-list-element.sc-z-select::before,.children-node.sc-z-select z-list-element.sc-z-select::after{left:-8px}.children-node.sc-z-select .children-node.sc-z-select z-list-element.sc-z-select::before,.children-node.sc-z-select .children-node.sc-z-select z-list-element.sc-z-select::after{left:-8px}.children-node.sc-z-select>z-list-element.sc-z-select{padding:0}';const u=p;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-${o()}`;this.items=[];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.hasTreeItems=undefined;this.showChildrenOfMatchingParent=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.handleSelectFocus=this.handleSelectFocus.bind(this)}watchItems(){this.itemsList=this.getInitialItemsArray();this.selectedItem=this.findSelectedItem(this.itemsList)}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.itemsList=this.getInitialItemsArray();if(t.length){this.updateSelection(this.itemsList,t[0])}this.selectedItem=this.findSelectedItem(this.itemsList)}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(){var e;const t=this.getInitialItemsArray();this.updateSelection(t,(e=this.selectedItem)===null||e===void 0?void 0:e.id);return t}getSelectedValue(){var e;return(e=this.selectedItem)===null||e===void 0?void 0:e.id}getOptionId(e){return`${this.htmlid}_key_${e.id}`}getResetOptionId(){return`${this.htmlid}_key_reset`}getItemIdFromOptionId(e){return e.replace(`${this.htmlid}_key_`,``)}getGroupedItems(){if(!this.itemsList.length){return[]}return Object.entries(this.itemsList.reduce(((e,t)=>{const s=t.category||"Altra categoria";e[s]=e[s]||[];e[s].push(t);return e}),{}))}filterItems(e){let t=this.mapSelectedItemToItemsArray();if(!(e===null||e===void 0?void 0:e.length)){this.itemsList=t;return}t=t.map((e=>Object.assign(Object.assign({},e),{name:a(e.name)})));if(this.hasTreeItems){this.itemsList=this.filterTree(t,e,false)}else{this.itemsList=t.filter((t=>t.name.toUpperCase().includes(e.toUpperCase()))).map((t=>{t.name=this.getHighlightedText(t.name,e);return t}))}}filterTree(e,t,s){if(!e){return[]}return e.map((e=>{const i=e.name.toUpperCase().includes(t.toUpperCase());const l=Object.assign({},e);if(l.children&&l.children.length>0){l.children=this.filterTree(l.children.map((e=>Object.assign(Object.assign({},e),{name:a(e.name)}))),t,i)}if(i){l.name=this.getHighlightedText(l.name,t)}if(i||l.children&&l.children.length>0||this.showChildrenOfMatchingParent&&s){return l}return null})).filter((e=>e!==null))}getHighlightedText(e,t){const s=e.toUpperCase();const i=t.toUpperCase();const l=s.indexOf(i);if(l===-1){return e}const c=l+t.length;return e.substring(0,l)+`<strong>${e.substring(l,c)}</strong>`+e.substring(c)}hasAutocomplete(){return h(this.autocomplete)===true}handleInputChange(e){this.searchString=e.detail.value;if(!this.isOpen){this.toggleSelectUl()}}updateSelection(e,t){if(e){e.forEach((e=>{e.selected=e.id===t;if(e.children&&e.children.length>0){this.updateSelection(e.children,t)}}))}}findSelectedItem(e){if(e){for(const t of e){if(t.selected){return t}if(t.children&&t.children.length>0){const e=this.findSelectedItem(t.children);if(e){return e}}}}return null}selectItem(e){if(e===null||e===void 0?void 0:e.disabled){return}this.itemsList=this.getInitialItemsArray();if(e){this.updateSelection(this.itemsList,e.id)}this.selectedItem=this.findSelectedItem(this.itemsList);this.emitOptionSelect();this.toggleSelectUl();if(this.searchString){this.searchString=null}}handleResetClick(){this.selectedItem=null;this.searchString=null;this.focusedItemId="";this.emitResetSelect();this.toggleSelectUl()}handleInputKeyDown(e){switch(e.code){case c.ENTER:case c.SPACE:if(this.focusedItemId){if(this.focusedItemId===this.getResetOptionId()){this.handleResetClick()}else{const e=this.getItemIdFromOptionId(this.focusedItemId);const t=this.itemsList.find((t=>t.id===e))||null;if(t){this.selectedItem=t;this.emitOptionSelect();this.toggleSelectUl()}}}break;case c.ARROW_DOWN:case c.ARROW_UP:this.arrowsSelectNav(e);break}}arrowsSelectNav(e){const t=[c.ARROW_DOWN,c.ARROW_UP];if(!t.includes(e.key)){return}e.preventDefault();e.stopPropagation();const s=this.focusedItemId?this.host.querySelector(`#${this.focusedItemId}`):null;const i=Array.from(this.host.querySelectorAll('[role="option"]'));if(!i.length){return}const l=s?i.indexOf(s):null;const r=0;const n=i.length-1;if(!this.isOpen){this.toggleSelectUl();if(this.selectedItem){this.focusSelectItem(this.getOptionId(this.selectedItem));return}}let o=null;if(e.code===c.ARROW_DOWN){o=l===null?i[r]:i[l+1]||i[n]}else if(e.code===c.ARROW_UP){o=l===null?i[n]:i[l-1]||i[r]}this.focusSelectItem(o.id)}focusSelectItem(e){this.focusedItemId=e;const t=this.host.querySelector(`#${e}`);t.scrollIntoView({block:"center"})}toggleSelectUl(e=false){var t;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){(t=this.host.querySelector(`#${this.htmlid}_select_input`))===null||t===void 0?void 0:t.focus()}if(this.selectedItem&&this.searchString){this.searchString=null;this.filterItems(this.searchString)}}this.focusedItemId="";this.isOpen=!this.isOpen}handleInputClick(e){if(e.target.closest(".reset-icon")){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){return}const t=z();if(t===null||t===void 0?void 0:t.hasAttribute("disabled")){return}if(!d(t).find((e=>e.nodeName.toLowerCase()==="z-input"&&e.id===`${this.htmlid}_input`))){const e=d(t).find((e=>e.nodeName==="Z-SELECT"));this.toggleSelectUl(e===this.host)}}scrollToLetter(e){if(!this.itemsList.length){return}const t=this.itemsList.find((t=>t.name.toLowerCase().charAt(0)===e.toLowerCase()));if(t){if(!this.isOpen){this.toggleSelectUl()}this.focusSelectItem(this.getOptionId(t))}}renderInput(){let e=null;if(this.selectedItem){e=a(this.selectedItem.name)}if(this.isOpen&&this.searchString!==undefined){e=this.searchString}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:e,label:this.label,autocomplete:"off","aria-label":this.ariaLabel,icon:this.isOpen?"caret-up":"caret-down",hasclearicon:false,message:false,name:this.name,disabled:this.disabled,readonly:this.readonly||!this.hasAutocomplete()&&this.isOpen,status:this.isOpen?undefined:this.status,size:this.size,role:"combobox","html-aria-expanded":this.isOpen?"true":"false","html-aria-controls":`${this.htmlid}_list`,"html-aria-activedescendant":this.isOpen?this.focusedItemId:"","html-aria-autocomplete":this.hasAutocomplete()?"list":undefined,onClick:e=>this.handleInputClick(e),onKeyDown:e=>this.handleInputKeyDown(e),onInputChange:e=>this.handleInputChange(e),onKeyPress:e=>{if(!this.hasAutocomplete()){e.preventDefault();this.scrollToLetter(e.key)}}})]}renderSelectUl(){return s("div",{class:this.isOpen?"open":"closed"},s("div",{class:{"ul-scroll-wrapper":true,fixed:this.isfixed}},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,[`input-${this.status}`]:!this.isOpen&&!!this.status,"z-scrollbar":true}},this.resetItem&&this.renderResetItem(),this.renderSelectUlItems())))}renderResetItem(){const e=!this.selectedItem||!this.resetItem;return s("z-list-element",{class:{hide:e,"reset-item":true,"reset-item-margin":!this.hasGroupItems},clickable:true,disabled:false,dividerType:r.ELEMENT,role:e?"presentation":"option","html-tabindex":0,"aria-selected":"false",id:this.getResetOptionId(),size:this.hasTreeItems?n.MEDIUM:this.listSizeType(),onClickItem:()=>this.handleResetClick()},s("div",{class:{"reset-item-content":true,"tree-list-reset-item":this.hasTreeItems,active:this.focusedItemId===this.getResetOptionId()}},s("z-icon",{name:"multiply-circled"}),s("span",null,this.resetItem)))}renderItem(e,t){return s("z-list-element",{clickable:!e.disabled,disabled:e.disabled,dividerType:t?r.HEADER:r.ELEMENT,role:e.disabled?"presentation":"option","html-tabindex":-1,"aria-selected":e.selected?"true":"false",id:this.getOptionId(e),size:this.listSizeType(),onClickItem:()=>this.selectItem(e)},s("div",{class:{"list-element-container":true,active:this.focusedItemId===this.getOptionId(e)}},s("div",{class:{selected:!!e.selected,"list-element-content":true},innerHTML:e.name}),e.icon&&s("z-tag",{icon:e.icon})))}listSizeType(){if(this.hasTreeItems){return n.NONE}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){if(this.hasTreeItems){return this.renderGroupedTree()}return this.renderSelectGroupItems()}return this.itemsList.map(((e,t,s)=>{const i=t===s.length-1;const l=s.length>1;if(this.hasTreeItems){return this.renderTreeItems(e,i,l,true,e.disabled)}return this.renderItem(e,i)}))}renderTreeItems(e,t,i,l,c){var n,o;const a=e.disabled||c;const h=this.hasGroupItems?undefined:this.hasGroupItems?t&&!i?r.ELEMENT:undefined:l&&i&&!t?r.ELEMENT:undefined;return s("z-list-element",{clickable:!e.disabled,disabled:a,class:{"grouped-tree-parent-node":this.hasGroupItems&&!!((n=e.children)===null||n===void 0?void 0:n.length),"tree-search-item":this.hasGroupItems&&l&&!((o=e.children)===null||o===void 0?void 0:o.length)&&!!this.searchString},size:this.listSizeType(),dividerType:h,hasTreeItems:this.hasTreeItems,"html-tabindex":null,role:"presentation"},s("div",{id:this.getOptionId(e),role:a?"presentation":"option",class:{"list-element":true,active:this.focusedItemId===this.getOptionId(e)},onClick:()=>this.selectItem(e)},s("span",{class:"item ellipsis"},s("span",{class:{"item-label":true,selected:!!e.selected},title:e.name,innerHTML:e.name})),e.icon&&s("z-tag",{icon:e.icon})),e.children&&e.children.length>0?s("z-list",{role:"presentation"},s("div",{class:"children-node"},e.children.map(((e,t,s)=>this.renderTreeItems(e,t===s.length-1,s.length>1,false,a))))):null)}renderGroupedTree(){const e=this.getGroupedItems();return e.map((([t,i],l,c)=>{const n=Object.values(e).some((e=>e.length>1));return s("z-list-group",{"divider-type":l===c.length-1?undefined:r.ELEMENT,hasTreeItems:true,"aria-labelledby":`${this.htmlid}_tree_${l}`},s("span",{class:"body-3-sb z-list-group-title",slot:"header-title",id:`${this.htmlid}_tree_${l}`,"aria-hidden":"true"},t),s("z-list",{role:"presentation"},i.map(((e,t,i)=>[this.renderTreeItems(e,t===i.length-1,n,true,e.disabled),t<i.length-1?s("z-divider",{key:`divider-${t}`,style:{zIndex:"100",height:"var(--border-size-small)"}}):null]))),l!==c.length-1&&s("z-divider",{style:{zIndex:"100",height:"var(--border-size-small)"}}))}))}renderSelectGroupItems(){const e=this.getGroupedItems();return e.map((([t,i],l)=>{const c=e.length===l+1;return s("z-list-group",{"divider-type":r.ELEMENT,"aria-labelledby":`${this.htmlid}_group_${l}`},s("span",{class:"body-3-sb z-list-group-title",slot:"header-title",id:`${this.htmlid}_group_${l}`,"aria-hidden":"true"},t),i.map(((e,t)=>{const s=i.length===t+1;return this.renderItem(e,c&&s)})))}))}renderNoSearchResults(){return s("z-list-element",{class:"no-results",size:this.hasTreeItems?n.MEDIUM:this.listSizeType(),"html-tabindex":null,role:"presentation"},this.noresultslabel)}renderMessage(){if(h(this.message)===false){return}return s("z-input-message",{message:h(this.message)===true?undefined:this.message,status:this.status,class:this.size,disabled:this.disabled})}render(){return s("div",{key:"4e04494dd86f5af234cdd90550aee348549e84e6",class:"select-wrapper"},this.renderInput(),this.renderSelectUl(),this.renderMessage())}get host(){return i(this)}static get watchers(){return{items:["watchItems"]}}};m.style=u;export{m as z_select};
2
+ //# sourceMappingURL=p-42bbe6c8.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stylesCss","ZSelectStyle0","ZSelect","constructor","hostRef","this","itemsList","randomId","ControlSize","BIG","toggleSelectUl","bind","handleSelectFocus","watchItems","getInitialItemsArray","selectedItem","findSelectedItem","getSelectedItem","getValue","getSelectedValue","setValue","value","values","push","length","updateSelection","emitOptionSelect","optionSelect","emit","id","htmlid","selected","emitResetSelect","resetSelect","componentWillLoad","componentWillRender","filterItems","searchString","items","JSON","parse","mapSelectedItemToItemsArray","initialItemsList","_a","getOptionId","item","getResetOptionId","getItemIdFromOptionId","optionId","replace","getGroupedItems","Object","entries","reduce","group","category","prevList","map","assign","name","getPlainText","hasTreeItems","filterTree","filter","toUpperCase","includes","getHighlightedText","matchingParent","match","newItem","children","showChildrenOfMatchingParent","text","search","upperText","upperSearch","start","indexOf","end","substring","hasAutocomplete","boolean","autocomplete","handleInputChange","e","detail","isOpen","selectedId","forEach","found","selectItem","disabled","handleResetClick","focusedItemId","handleInputKeyDown","code","KeyboardCode","ENTER","SPACE","itemId","find","ARROW_DOWN","ARROW_UP","arrowsSelectNav","arrows","key","preventDefault","stopPropagation","currElem","host","querySelector","options","Array","from","querySelectorAll","currElemIndex","firstElemIndex","lastElemIndex","focusSelectItem","nextElem","elem","scrollIntoView","block","selfFocusOnClose","readonly","document","addEventListener","removeEventListener","focus","handleInputClick","target","closest","KeyboardEvent","ESC","TAB","clickedElement","getClickedElement","hasAttribute","getElementTree","nodeName","toLowerCase","zSelect","scrollToLetter","letter","foundItem","charAt","renderInput","undefined","h","class","placeholder","label","ariaLabel","icon","hasclearicon","message","status","size","role","onClick","onKeyDown","onInputChange","onKeyPress","renderSelectUl","fixed","isfixed","tabindex","listSizeType","resetItem","renderResetItem","renderSelectUlItems","hidden","hide","hasGroupItems","clickable","dividerType","ListDividerType","ELEMENT","ListSize","MEDIUM","onClickItem","active","renderItem","lastItem","HEADER","innerHTML","NONE","SMALL","X_SMALL","renderNoSearchResults","renderGroupedTree","renderSelectGroupItems","index","array","isLastItem","parentHasSiblings","renderTreeItems","isLastChild","isTopLevel","disabledAncestor","isDisabled","hasDivider","_b","title","child","arr","groupedItems","some","groupItems","slot","i","style","zIndex","height","isLastGroup","subindex","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-form-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 > z-input .input-icon {\n cursor: pointer;\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 border-top: none;\n background: var(--color-form-background);\n box-shadow: var(--shadow-2);\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 z-list {\n --background-color-list-element: var(--color-form-background);\n --background-hover-color-list-element: var(--color-surface02);\n --background-active-color-list-element: var(--color-surface02);\n}\n\n.select-wrapper .ul-scroll-wrapper > z-list {\n position: relative;\n overflow: auto;\n max-height: 240px;\n padding: var(--space-unit) calc(var(--space-unit) * 1.5);\n margin: 0;\n outline: none;\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element[disabled] {\n color: var(--color-form-disabled03);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container {\n display: flex;\n align-items: center;\n padding: calc(var(--space-unit) / 2) var(--space-unit);\n column-gap: var(--space-unit);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container.active {\n box-shadow: var(--shadow-focus-primary);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container .list-element-content {\n margin-right: auto;\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container > z-icon + .list-element-content {\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: var(--font-sb);\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(--color-form-default-text);\n}\n\n.reset-item {\n color: var(--color-form-active-primary);\n fill: var(--color-form-active-primary);\n}\n\n.reset-item-content {\n display: flex;\n align-items: center;\n}\n\n.reset-item .reset-item-content.active {\n box-shadow: var(--shadow-focus-primary);\n}\n\n.reset-item.reset-item-margin .reset-item-content {\n margin-left: 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\n.tree-list-reset-item {\n padding: var(--space-unit) 0;\n}\n\nz-list-element {\n position: relative;\n display: block;\n}\n\nz-list z-list-element::before {\n position: absolute;\n z-index: 100;\n top: 3px;\n left: -8px;\n width: 8px;\n height: 1em;\n border-bottom: 1px solid var(--color-form-disabled01-icon);\n border-left: 1px solid var(--color-form-disabled01-icon);\n content: \"\";\n cursor: pointer;\n}\n\nz-list z-list-element::after {\n position: absolute;\n z-index: 100;\n top: 5px;\n left: -8px;\n width: 8px;\n height: 100%;\n border-left: 1px solid var(--color-form-disabled01-icon);\n content: \"\";\n cursor: pointer;\n}\n\nz-list z-list-element:last-child::after {\n display: none;\n}\n\nz-list > z-list-element::before,\nz-list > z-list-element::after,\nz-list > z-list-group > z-list-element::before,\nz-list > z-list-group > z-list-element::after {\n display: none;\n}\n\nz-list > div.children-node {\n padding-left: calc(var(--space-unit) * 2);\n}\n\nz-list-element > .list-element {\n display: flex;\n justify-content: space-between;\n padding: calc(var(--space-unit) * 1.5) var(--space-unit);\n cursor: pointer;\n}\n\nz-list-element > .list-element.active {\n box-shadow: var(--shadow-focus-primary);\n}\n\nz-list-element:not([disabled]) > .list-element:hover,\nz-list-element:not([disabled]) > .list-element:hover::after {\n background-color: var(--background-hover-color-list-element, var(--color-background));\n}\n\nz-list-element > .list-element .item.ellipsis {\n overflow: hidden;\n}\n\nz-list-element .list-element::after {\n position: absolute;\n top: 0;\n right: -1px;\n display: block;\n width: 100%;\n height: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\nz-list-element.tree-search-item {\n padding-top: 0;\n}\n\nz-list-element.tree-search-item .list-element::after {\n position: absolute;\n right: -25px;\n display: block;\n width: 100%;\n height: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\nz-list-element.grouped-tree-parent-node .list-element::after {\n position: absolute;\n right: -25px;\n display: block;\n width: 100%;\n height: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\n.item-label.selected {\n font-weight: bold;\n}\n\n.item.ellipsis {\n display: inline-block;\n overflow: hidden;\n max-width: 100%;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\nz-list > z-list-element.grouped-tree-parent-node > .list-element:hover::after,\nz-list-element.tree-search-item .list-element:hover::after,\nz-list > z-list-group > z-list-element.grouped-tree-parent-node > .list-element:hover::after {\n position: absolute;\n z-index: -1;\n right: -18px;\n display: block;\n width: 100%;\n height: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\nz-list-element > .list-element:hover::after {\n position: absolute;\n z-index: -1;\n top: 0;\n right: 0;\n display: block;\n width: 100%;\n height: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\n.children-node z-list-element::before,\n.children-node z-list-element::after {\n left: -8px;\n}\n\n.children-node .children-node z-list-element::before,\n.children-node .children-node z-list-element::after {\n left: -8px;\n}\n\n.children-node > z-list-element {\n padding: 0;\n}\n","import {Component, Element, Event, EventEmitter, Method, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ControlSize, InputStatus, KeyboardCode, ListDividerType, ListSize, SelectItem} from \"../../beans\";\nimport {boolean, getClickedElement, getElementTree, getPlainText, 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() host: 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 /** */\n @Prop()\n hasTreeItems?: boolean;\n\n /** If true and an item matches the search string, children of matching item are shown even if they don't match the search string */\n @Prop()\n showChildrenOfMatchingParent?: 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.handleSelectFocus = this.handleSelectFocus.bind(this);\n }\n\n @Watch(\"items\")\n watchItems(): void {\n this.itemsList = this.getInitialItemsArray();\n\n this.selectedItem = this.findSelectedItem(this.itemsList);\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.itemsList = this.getInitialItemsArray();\n if (values.length) {\n this.updateSelection(this.itemsList, values[0]);\n }\n this.selectedItem = this.findSelectedItem(this.itemsList);\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 this.updateSelection(initialItemsList, this.selectedItem?.id);\n\n return initialItemsList;\n }\n\n private getSelectedValue(): string {\n return this.selectedItem?.id;\n }\n\n private getOptionId(item: SelectItem): string {\n return `${this.htmlid}_key_${item.id}`;\n }\n\n private getResetOptionId(): string {\n return `${this.htmlid}_key_reset`;\n }\n\n private getItemIdFromOptionId(optionId: string): string {\n return optionId.replace(`${this.htmlid}_key_`, ``);\n }\n\n private getGroupedItems(): [string, SelectItem[]][] {\n if (!this.itemsList.length) {\n return [];\n }\n\n return Object.entries(\n this.itemsList.reduce(\n (group, item) => {\n const category = item.category || \"Altra categoria\";\n group[category] = group[category] || [];\n group[category].push(item);\n\n return group;\n },\n {} as Record<string, SelectItem[]>\n )\n );\n }\n\n private filterItems(searchString: string): void {\n let prevList = this.mapSelectedItemToItemsArray();\n\n if (!searchString?.length) {\n this.itemsList = prevList;\n\n return;\n }\n\n prevList = prevList.map((item) => ({...item, name: getPlainText(item.name)}));\n\n if (this.hasTreeItems) {\n this.itemsList = this.filterTree(prevList, searchString, false);\n } else {\n this.itemsList = prevList\n .filter((item: SelectItem) => item.name.toUpperCase().includes(searchString.toUpperCase()))\n .map((item: SelectItem) => {\n item.name = this.getHighlightedText(item.name, searchString);\n\n return item;\n });\n }\n }\n\n private filterTree(items: SelectItem[], searchString: string, matchingParent: boolean): SelectItem[] {\n if (!items) {\n return [];\n }\n\n return items\n .map((item) => {\n const match = item.name.toUpperCase().includes(searchString.toUpperCase());\n\n const newItem: SelectItem = {...item};\n if (newItem.children && newItem.children.length > 0) {\n newItem.children = this.filterTree(\n newItem.children.map((item) => ({...item, name: getPlainText(item.name)})),\n searchString,\n match\n );\n }\n\n if (match) {\n newItem.name = this.getHighlightedText(newItem.name, searchString);\n }\n if (\n match ||\n (newItem.children && newItem.children.length > 0) ||\n (this.showChildrenOfMatchingParent && matchingParent)\n ) {\n return newItem;\n }\n\n return null;\n })\n .filter((item) => item !== null) as SelectItem[];\n }\n\n private getHighlightedText(text: string, search: string): string {\n const upperText = text.toUpperCase();\n const upperSearch = search.toUpperCase();\n const start = upperText.indexOf(upperSearch);\n\n if (start === -1) {\n return text;\n }\n\n const end = start + search.length;\n\n return text.substring(0, start) + `<strong>${text.substring(start, end)}</strong>` + text.substring(end);\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 updateSelection(items: SelectItem[], selectedId: string): void {\n if (items) {\n items.forEach((item) => {\n item.selected = item.id === selectedId;\n if (item.children && item.children.length > 0) {\n this.updateSelection(item.children, selectedId);\n }\n });\n }\n }\n\n private findSelectedItem(items: SelectItem[]): SelectItem | null {\n if (items) {\n for (const item of items) {\n if (item.selected) {\n return item;\n }\n if (item.children && item.children.length > 0) {\n const found = this.findSelectedItem(item.children);\n if (found) {\n return found;\n }\n }\n }\n }\n\n return null;\n }\n\n private selectItem(selected: null | SelectItem): void {\n if (selected?.disabled) {\n return;\n }\n\n this.itemsList = this.getInitialItemsArray();\n\n if (selected) {\n this.updateSelection(this.itemsList, selected.id);\n }\n\n this.selectedItem = this.findSelectedItem(this.itemsList);\n this.emitOptionSelect();\n this.toggleSelectUl();\n if (this.searchString) {\n this.searchString = null;\n }\n }\n\n private handleResetClick(): void {\n this.selectedItem = null;\n this.searchString = null;\n this.focusedItemId = \"\";\n this.emitResetSelect();\n this.toggleSelectUl();\n }\n\n private handleInputKeyDown(e: KeyboardEvent): void {\n switch (e.code as KeyboardCode) {\n case KeyboardCode.ENTER:\n case KeyboardCode.SPACE:\n if (this.focusedItemId) {\n if (this.focusedItemId === this.getResetOptionId()) {\n this.handleResetClick();\n } else {\n const itemId = this.getItemIdFromOptionId(this.focusedItemId);\n const item = this.itemsList.find((e) => e.id === itemId) || null;\n if (item) {\n this.selectedItem = item;\n this.emitOptionSelect();\n this.toggleSelectUl();\n }\n }\n }\n break;\n case KeyboardCode.ARROW_DOWN:\n case KeyboardCode.ARROW_UP:\n this.arrowsSelectNav(e);\n break;\n }\n }\n\n private arrowsSelectNav(e: KeyboardEvent): void {\n const arrows = [KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP];\n\n if (!arrows.includes(e.key as KeyboardCode)) {\n return;\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n const currElem = this.focusedItemId ? this.host.querySelector(`#${this.focusedItemId}`) : null;\n const options = Array.from(this.host.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 if (!this.isOpen) {\n this.toggleSelectUl();\n\n if (this.selectedItem) {\n this.focusSelectItem(this.getOptionId(this.selectedItem));\n\n return;\n }\n }\n\n let nextElem = null;\n if (e.code === KeyboardCode.ARROW_DOWN) {\n nextElem =\n currElemIndex === null ? options[firstElemIndex] : options[currElemIndex + 1] || options[lastElemIndex];\n } else if (e.code === KeyboardCode.ARROW_UP) {\n nextElem =\n currElemIndex === null ? options[lastElemIndex] : options[currElemIndex - 1] || options[firstElemIndex];\n }\n\n this.focusSelectItem(nextElem.id);\n }\n\n private focusSelectItem(optionId: string): void {\n this.focusedItemId = optionId;\n const elem = this.host.querySelector(`#${optionId}`) as HTMLElement;\n elem.scrollIntoView({block: \"center\"});\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.host.querySelector(`#${this.htmlid}_select_input`) as HTMLInputElement)?.focus();\n }\n\n if (this.selectedItem && this.searchString) {\n this.searchString = null;\n this.filterItems(this.searchString);\n }\n }\n\n this.focusedItemId = \"\";\n this.isOpen = !this.isOpen;\n }\n\n private handleInputClick(e: MouseEvent | KeyboardEvent): void {\n if ((e.target as HTMLElement).closest(\".reset-icon\")) {\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) {\n return;\n }\n\n const clickedElement = getClickedElement();\n if (clickedElement?.hasAttribute(\"disabled\")) {\n return;\n }\n\n if (\n !getElementTree(clickedElement).find(\n (elem: HTMLElement) => elem.nodeName.toLowerCase() === \"z-input\" && elem.id === `${this.htmlid}_input`\n )\n ) {\n const zSelect = getElementTree(clickedElement).find((e) => e.nodeName === \"Z-SELECT\");\n this.toggleSelectUl(zSelect === this.host);\n }\n }\n\n private scrollToLetter(letter: string): void {\n if (!this.itemsList.length) {\n return;\n }\n\n const foundItem = this.itemsList.find(\n (item: SelectItem) => item.name.toLowerCase().charAt(0) === letter.toLowerCase()\n );\n if (foundItem) {\n if (!this.isOpen) {\n this.toggleSelectUl();\n }\n this.focusSelectItem(this.getOptionId(foundItem));\n }\n }\n\n private renderInput(): HTMLElement[] {\n let value = null;\n if (this.selectedItem) {\n value = getPlainText(this.selectedItem.name);\n }\n if (this.isOpen && this.searchString !== undefined) {\n value = this.searchString;\n }\n\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={value}\n label={this.label}\n autocomplete=\"off\"\n aria-label={this.ariaLabel}\n icon={this.isOpen ? \"caret-up\" : \"caret-down\"}\n hasclearicon={false}\n message={false}\n name={this.name}\n disabled={this.disabled}\n readonly={this.readonly || (!this.hasAutocomplete() && this.isOpen)}\n status={this.isOpen ? undefined : this.status}\n size={this.size}\n role=\"combobox\"\n html-aria-expanded={this.isOpen ? \"true\" : \"false\"}\n html-aria-controls={`${this.htmlid}_list`}\n html-aria-activedescendant={this.isOpen ? this.focusedItemId : \"\"}\n html-aria-autocomplete={this.hasAutocomplete() ? \"list\" : undefined}\n onClick={(e: MouseEvent) => this.handleInputClick(e)}\n onKeyDown={(e: KeyboardEvent) => this.handleInputKeyDown(e)}\n onInputChange={(e: CustomEvent) => this.handleInputChange(e)}\n onKeyPress={(e: KeyboardEvent) => {\n if (!this.hasAutocomplete()) {\n e.preventDefault();\n this.scrollToLetter(e.key);\n }\n }}\n />,\n ];\n }\n\n private renderSelectUl(): HTMLDivElement {\n return (\n <div class={this.isOpen ? \"open\" : \"closed\"}>\n <div\n class={{\n \"ul-scroll-wrapper\": true,\n \"fixed\": this.isfixed,\n }}\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 [`input-${this.status}`]: !this.isOpen && !!this.status,\n \"z-scrollbar\": true,\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 const hidden = !this.selectedItem || !this.resetItem;\n\n return (\n <z-list-element\n class={{\n \"hide\": hidden,\n \"reset-item\": true,\n \"reset-item-margin\": !this.hasGroupItems,\n }}\n clickable={true}\n disabled={false}\n dividerType={ListDividerType.ELEMENT}\n role={hidden ? \"presentation\" : \"option\"}\n html-tabindex={0}\n aria-selected=\"false\"\n id={this.getResetOptionId()}\n size={this.hasTreeItems ? ListSize.MEDIUM : this.listSizeType()}\n onClickItem={() => this.handleResetClick()}\n >\n <div\n class={{\n \"reset-item-content\": true,\n \"tree-list-reset-item\": this.hasTreeItems,\n \"active\": this.focusedItemId === this.getResetOptionId(),\n }}\n >\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, 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={item.disabled ? \"presentation\" : \"option\"}\n html-tabindex={-1}\n aria-selected={item.selected ? \"true\" : \"false\"}\n id={this.getOptionId(item)}\n size={this.listSizeType()}\n onClickItem={() => this.selectItem(item)}\n >\n <div\n class={{\n \"list-element-container\": true,\n \"active\": this.focusedItemId === this.getOptionId(item),\n }}\n >\n <div\n class={{\n \"selected\": !!item.selected,\n \"list-element-content\": true,\n }}\n innerHTML={item.name}\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.hasTreeItems) {\n return ListSize.NONE;\n }\n\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():\n | HTMLZListElementElement\n | (HTMLZListElementElement | HTMLZListElementElement[])[]\n | HTMLZListGroupElement[] {\n if (!this.itemsList.length) {\n return this.renderNoSearchResults();\n }\n\n if (this.hasGroupItems) {\n if (this.hasTreeItems) {\n return this.renderGroupedTree();\n }\n\n return this.renderSelectGroupItems();\n }\n\n return this.itemsList.map((item: SelectItem, index, array) => {\n const isLastItem = index === array.length - 1;\n const parentHasSiblings = array.length > 1;\n\n if (this.hasTreeItems) {\n return this.renderTreeItems(item, isLastItem, parentHasSiblings, true, item.disabled);\n }\n\n return this.renderItem(item, isLastItem);\n });\n }\n\n private renderTreeItems(\n item: SelectItem,\n isLastChild: boolean,\n parentHasSiblings: boolean,\n isTopLevel?: boolean,\n disabledAncestor?: boolean\n ): HTMLZListElementElement[] {\n const isDisabled = item.disabled || disabledAncestor;\n\n const hasDivider = this.hasGroupItems\n ? undefined\n : this.hasGroupItems\n ? isLastChild && !parentHasSiblings\n ? ListDividerType.ELEMENT\n : undefined\n : isTopLevel && parentHasSiblings && !isLastChild\n ? ListDividerType.ELEMENT\n : undefined;\n\n return (\n <z-list-element\n clickable={!item.disabled}\n disabled={isDisabled}\n class={{\n \"grouped-tree-parent-node\": this.hasGroupItems && !!item.children?.length,\n \"tree-search-item\": this.hasGroupItems && isTopLevel && !item.children?.length && !!this.searchString,\n }}\n size={this.listSizeType()}\n dividerType={hasDivider}\n hasTreeItems={this.hasTreeItems}\n html-tabindex={null}\n role=\"presentation\"\n >\n <div\n id={this.getOptionId(item)}\n role={isDisabled ? \"presentation\" : \"option\"}\n class={{\"list-element\": true, \"active\": this.focusedItemId === this.getOptionId(item)}}\n onClick={() => this.selectItem(item)}\n >\n <span class=\"item ellipsis\">\n <span\n class={{\n \"item-label\": true,\n \"selected\": !!item.selected,\n }}\n title={item.name}\n innerHTML={item.name}\n />\n </span>\n {item.icon && <z-tag icon={item.icon}></z-tag>}\n </div>\n {item.children && item.children.length > 0 ? (\n <z-list role=\"presentation\">\n <div class=\"children-node\">\n {item.children.map((child, index, arr) =>\n this.renderTreeItems(\n child,\n index === arr.length - 1,\n arr.length > 1,\n false, // isTopLevel = false for children\n isDisabled\n )\n )}\n </div>\n </z-list>\n ) : null}\n </z-list-element>\n );\n }\n\n private renderGroupedTree(): HTMLZListGroupElement[] {\n const groupedItems = this.getGroupedItems();\n\n return groupedItems.map(([category, items], index, entries) => {\n const parentHasSiblings = Object.values(groupedItems).some((groupItems) => groupItems.length > 1);\n\n return (\n <z-list-group\n divider-type={index === entries.length - 1 ? undefined : ListDividerType.ELEMENT}\n hasTreeItems={true}\n aria-labelledby={`${this.htmlid}_tree_${index}`}\n >\n <span\n class=\"body-3-sb z-list-group-title\"\n slot=\"header-title\"\n id={`${this.htmlid}_tree_${index}`}\n aria-hidden=\"true\"\n >\n {category}\n </span>\n <z-list role=\"presentation\">\n {items.map((item, i, arr) => [\n this.renderTreeItems(item, i === arr.length - 1, parentHasSiblings, true, item.disabled),\n i < arr.length - 1 ? (\n <z-divider\n key={`divider-${i}`}\n style={{zIndex: \"100\", height: \"var(--border-size-small)\"}}\n />\n ) : null,\n ])}\n </z-list>\n {index !== entries.length - 1 && <z-divider style={{zIndex: \"100\", height: \"var(--border-size-small)\"}} />}\n </z-list-group>\n );\n });\n }\n\n private renderSelectGroupItems(): HTMLZListElementElement[] {\n const groupedItems = this.getGroupedItems();\n\n return groupedItems.map(([key, items], index) => {\n const isLastGroup = groupedItems.length === index + 1;\n\n return (\n <z-list-group\n divider-type={ListDividerType.ELEMENT}\n aria-labelledby={`${this.htmlid}_group_${index}`}\n >\n <span\n class=\"body-3-sb z-list-group-title\"\n slot=\"header-title\"\n id={`${this.htmlid}_group_${index}`}\n aria-hidden=\"true\"\n >\n {key}\n </span>\n {items.map((item, subindex) => {\n const isLastItem = items.length === subindex + 1;\n\n return this.renderItem(item, isLastGroup && isLastItem);\n })}\n </z-list-group>\n );\n });\n }\n\n private renderNoSearchResults(): HTMLZListElementElement {\n return (\n <z-list-element\n class=\"no-results\"\n size={this.hasTreeItems ? ListSize.MEDIUM : this.listSizeType()}\n html-tabindex={null}\n role=\"presentation\"\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 disabled={this.disabled}\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 +1,2 @@
1
- import{r as t,c as e,h as i,g as r}from"./p-75c4a726.js";import{Y as o}from"./p-86618221.js";import{B as a}from"./p-5145a606.js";import{r as s}from"./p-1a0c206d.js";const n=':host{--z-book-card-ribbon-background-color:var(--avatar-C08);--z-book-card-ribbon-shadow-color:var(--green950);--z-book-card-compact-width:262px;--z-book-card-compact-height:568px}:host>article{display:block;width:100%;max-width:360px;box-sizing:border-box;border:var(--border-size-medium) solid var(--color-surface03);background-color:var(--color-surface01);border-radius:var(--border-radius);font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host>article div.cover{position:relative}:host>article div.cover div.img-wrapper{display:flex;overflow:hidden;border:var(--border-size-small) solid var(--color-surface03);line-height:0}:host>article div.cover div.img-wrapper img{width:auto;max-width:100%;height:auto;max-height:100%;align-self:flex-end}:host>article div.cover .ribbon{position:absolute;z-index:10;top:calc(var(--space-unit) * 2);left:calc(var(--space-unit) * -2);display:flex;max-width:100%;height:calc(var(--space-unit) * 4);box-sizing:border-box;align-items:center;padding:0 calc(var(--space-unit) * 2);border:var(--border-size-medium) solid var(--color-surface01);background:var(--z-book-card-ribbon-background-color);border-radius:0 var(--border-radius) var(--border-radius) 0;box-shadow:var(--shadow-2);color:var(--color-text-inverse);font-family:var(--font-family-sans);font-size:var(--font-size-2);font-weight:var(--font-sb);line-height:initial}:host>article div.cover .ribbon.interactive:hover{cursor:pointer}:host>article div.cover .ribbon.interactive:focus{box-shadow:var(--shadow-focus-primary);outline:none !important}:host>article div.cover .ribbon span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:nowrap}:host>article div.cover .ribbon::before{position:absolute;bottom:-12px;left:-2px;width:0;height:0;border-top:10px solid var(--z-book-card-ribbon-shadow-color);border-left:16px solid transparent;content:""}:host>article div.cover .ribbon z-icon{margin-right:var(--space-unit)}:host>article div.content{margin:var(--space-unit) 0;border-radius:var(--border-radius)}:host>article .title{display:flex;height:100%;align-self:center;color:var(--color-default-text);font-size:var(--font-size-4);font-weight:var(--font-sb);line-height:1.5}:host>article .title *{all:unset}:host>article div.subtitle{color:var(--color-default-text);font-size:var(--font-size-2);font-weight:var(--font-rg);line-height:1.4}:host>article div.authors{color:var(--color-default-text);font-size:var(--font-size-1);font-weight:var(--font-rg);line-height:1.33}:host>article div.isbn{overflow:hidden;color:var(--color-default-text);font-size:var(--font-size-2);line-height:1.33;text-overflow:ellipsis;white-space:nowrap;word-wrap:nowrap}:host>article div.isbn>.code{font-weight:var(--font-sb)}:host>article div.tags{display:flex;overflow:hidden;max-height:32px;flex-flow:row wrap;align-content:stretch;align-items:stretch;justify-content:flex-start;gap:calc(var(--space-unit) / 2)}:host>article ::slotted([slot="tags"]){margin-bottom:var(--space-unit)}:host>article ::slotted([slot="header-cta"]){--z-icon-width:20px;--z-icon-height:20px;padding:var(--space-unit);cursor:pointer;fill:var(--color-primary01-icon)}:host>article ::slotted([slot="header-cta"]:focus){box-shadow:var(--shadow-focus-primary);outline:none !important}:host>article.expanded{width:100%;min-width:328px;padding:calc(var(--space-unit) * 2);padding-bottom:0}:host>article.expanded div.header{display:flex;flex-flow:row nowrap;align-content:stretch;align-items:top;justify-content:space-between;margin-bottom:var(--space-unit);white-space:nowrap}:host>article.expanded div.cover div.img-wrapper{border-radius:var(--border-radius)}:host>article.expanded div.cover div.img-wrapper img{width:100%}:host>article.expanded .title,:host>article.expanded .subtitle,:host>article.expanded .authors{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:initial}:host>article.expanded div.footer{border-top:var(--border-size-small) solid var(--color-surface03);margin-bottom:calc(var(--space-unit) * 1.5)}:host>article.expanded div.footer.open{padding-top:calc(var(--space-unit) * 1.5)}:host>article.expanded div.footer.open div.resources{display:initial}:host>article.expanded div.footer.close div.resources{display:none}:host>article.expanded button.show-resources{--z-icon-height:16px;--z-icon-width:16px;all:unset;display:flex;width:100%;flex-flow:row nowrap;align-content:center;align-items:center;justify-content:center;padding:calc(var(--space-unit) * 1) 0;color:var(--color-text-link-blue);cursor:pointer;fill:var(--color-text-link-blue);font-size:var(--font-size-2);font-weight:var(--font-sb);gap:var(--space-unit)}:host>article.expanded button.show-resources:focus{box-shadow:var(--shadow-focus-primary)}:host>article.search{width:262px;height:616px;padding:calc(var(--space-unit) * 2);padding-bottom:0}:host>article.search .wrapper-container{display:flex;height:100%;flex-direction:column;justify-content:space-between}:host>article.search .wrapper-container .wrapper{height:451px}:host>article.search .wrapper-container .action-container{padding-bottom:calc(var(--space-unit) * 2)}:host>article.search div.header{display:flex;height:24px;flex-flow:row nowrap;align-content:stretch;align-items:center;justify-content:space-between;margin-bottom:calc(var(--space-unit) * 1.5);white-space:nowrap}:host>article.search div.cover div.img-wrapper{height:314px;border-radius:var(--border-radius)}:host>article.search .title{display:block;height:initial;align-self:unset;font-size:var(--font-size-3)}:host>article.search .title,:host>article.search .subtitle,:host>article.search .authors{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host>article.compact{width:var(--z-book-card-compact-width);height:var(--z-book-card-compact-height)}:host>article.compact.borderless{border:none}:host>article.compact div.cover div.img-wrapper{width:100%;height:calc(var(--z-book-card-compact-width) * 1.36);box-sizing:border-box;border:none;background:var(--color-white);border-radius:var(--border-radius) var(--border-radius) 0 0;box-shadow:var(--shadow-2)}:host>article.compact div.wrapper{display:flex;height:100%;flex-flow:column nowrap;align-content:stretch;align-items:stretch;justify-content:flex-start}:host>article.compact div.content{display:flex;box-sizing:border-box;flex-flow:column nowrap;align-content:stretch;align-items:stretch;justify-content:space-between;padding:calc(var(--space-unit) * 2);padding-top:var(--space-unit);margin:0}:host>article.compact div.action-container{padding:calc(var(--space-unit) * 2);padding-top:0;margin-top:auto}:host>article.compact.borderless div.cover div.img-wrapper{width:var(--z-book-card-compact-width)}:host>article.compact.borderless div.content{padding:0;padding-top:var(--space-unit)}:host>article.compact.borderless div.action-container{padding:0;padding-bottom:calc(var(--space-unit) * 2)}:host>article.compact .title{display:block;height:initial;align-self:unset}:host>article.compact .title,:host>article.compact .subtitle,:host>article.compact .authors{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:initial}@media (min-width: 768px){:host>article{width:100%;max-width:initial}:host>article .title{display:block;height:initial;align-self:unset}:host>article.expanded{width:100%;min-width:initial;max-width:initial;height:360px;padding:0;border:0}:host>article.expanded div.wrapper{display:flex;flex-flow:row nowrap;align-content:stretch;align-items:stretch;justify-content:flex-start}:host>article.expanded div.cover div.img-wrapper{width:262px;height:356px;border:0;border:var(--border-size-medium) solid var(--color-surface03);border-right:none;background:var(--color-surface01);border-radius:var(--border-radius) 0 0 var(--border-radius)}:host>article.expanded div.cover div.img-wrapper img{width:auto;border-radius:0}:host>article.expanded div.content{display:flex;overflow:hidden;width:100%;height:356px;flex-flow:column nowrap;align-content:stretch;align-items:stretch;justify-content:space-between;border:var(--border-size-medium) solid var(--color-surface03);border-left:none;margin:0;background:var(--color-surface01);border-radius:0 var(--border-radius) var(--border-radius) 0}:host>article.expanded div.content div.top{padding:calc(var(--space-unit) * 2);padding-bottom:0}:host>article.expanded div.content div.top div.info{display:flex;flex-flow:row nowrap;align-content:stretch;align-items:stretch;justify-content:space-between;margin-bottom:calc(var(--space-unit) / 2)}:host>article.expanded div.content div.top div.info>div.left{width:100%}:host>article.expanded div.content div.bottom{padding:calc(var(--space-unit) * 2);padding-bottom:0}}@media (min-width: 1152px){:host>article{width:fit-content;max-width:initial}}@media (min-width: 1366px){:host>article.expanded{width:635px}:host>article.expanded div.content{width:369px}}';const d=n;const c=class{constructor(i){t(this,i);this.ribbonClick=e(this,"ribbonClick",7);this.variant=undefined;this.cover=undefined;this.operaTitle=undefined;this.volumeTitle=undefined;this.authors=undefined;this.isbn=undefined;this.isbnLabel="";this.ribbon=undefined;this.ribbonIcon=undefined;this.ribbonInteractive=undefined;this.borderless=undefined;this.fallbackCover=undefined;this.operaTitleTag=undefined;this.isMobile=false;this.hasResources=false;this.showResources=false}emitRibbonClick(){this.ribbonClick.emit()}componentWillLoad(){this.id=`id-${s()}`;const t=window.matchMedia(`(max-width: ${a.MOBILE}px)`);this.isMobile=t.matches;t.onchange=t=>this.isMobile=t.matches}componentDidLoad(){this.handleResources()}handleResources(){var t;if(this.variant!==o.EXPANDED||!this.isMobile){return}this.hasResources=((t=this.hostElement.querySelectorAll("[slot=resources]"))===null||t===void 0?void 0:t.length)>0}toggleResources(){this.showResources=!this.showResources}renderCard(){switch(this.variant){case o.EXPANDED:return this.isMobile?this.renderMobileExpandedCard():this.renderExpandedCard();case o.COMPACT:return this.renderCompactCard();case o.SEARCH:return this.renderSearchCard()}}renderExpandedCard(){return i("div",{class:"wrapper"},this.renderCover(),i("div",{class:"content"},i("div",{class:"top"},i("div",{class:"info"},i("div",{class:"left"},this.renderAuthors(),this.renderOperaTitle(),this.renderVolumeTitle(),this.renderIsbn()),i("div",{class:"right"},this.renderHeaderCtaSlot())),this.renderTagsSlot()),i("div",{class:"bottom"},this.renderResourcesSlot())))}renderMobileExpandedCard(){return i("div",{class:"wrapper"},i("div",{class:"header"},this.renderOperaTitle(),this.renderHeaderCtaSlot()),this.renderCover(),i("div",{class:"content"},this.renderTagsSlot(),this.renderAuthors(),this.renderVolumeTitle(),this.renderIsbn()),this.hasResources&&i("div",{class:{footer:true,open:this.showResources,close:!this.showResources}},!this.showResources&&this.renderShowResources(),this.renderResourcesSlot(),this.showResources&&this.renderShowResources()))}renderSearchCard(){return i("div",{class:"wrapper-container"},i("div",{class:"wrapper"},i("div",{class:"header"},this.renderOperaTitle(),this.renderHeaderCtaSlot()),this.renderCover(),i("div",{class:"content"},this.renderTagsSlot(),this.renderAuthors(),this.renderVolumeTitle(),this.renderIsbn())),this.renderFooterCtaSlot())}renderCompactCard(){return i("div",{class:"wrapper"},this.renderCover(),i("div",{class:"content"},this.renderAuthors(),this.renderOperaTitle(),this.renderVolumeTitle(),this.renderIsbn()),this.renderFooterCtaSlot())}renderCover(){return i("div",{class:"cover"},this.ribbon&&this.variant!==o.COMPACT&&this.renderRibbon(),i("div",{class:"img-wrapper"},i("img",{src:this.cover,onError:()=>{if(this.fallbackCover){this.cover=this.fallbackCover}},"aria-hidden":"true"})))}renderRibbon(){const t=[this.ribbonIcon&&i("z-icon",{name:this.ribbonIcon,width:16,height:16,fill:"color-inverse-icon"}),i("span",null,this.ribbon)];return this.ribbonInteractive?i("button",{class:"ribbon interactive",onClick:()=>this.emitRibbonClick()},t):i("div",{class:"ribbon"},t)}renderOperaTitle(){const t=this.operaTitleTag?`<${this.operaTitleTag}>${this.operaTitle}</${this.operaTitleTag}>`:this.operaTitle;return i("div",{class:"title",innerHTML:t})}renderVolumeTitle(){return this.volumeTitle?i("div",{class:"subtitle"},this.volumeTitle):null}renderAuthors(){return this.authors?i("div",{class:"authors","aria-description":"Autori"},this.authors):null}renderIsbn(){return this.isbn?i("div",{class:"isbn"},i("span",{class:"code","aria-description":`ISBN ${this.isbnLabel}`},this.isbn),this.isbnLabel?i("span",{class:"label"}," ",this.isbnLabel):null):null}renderShowResources(){return i("button",{class:"show-resources","aria-label":`Risorse del libro ${this.operaTitle}`,"aria-expanded":this.showResources.toString(),"aria-controls":`resources-${this.id}`,onClick:()=>this.toggleResources()},this.showResources?"Chiudi":"Vedi tutto",i("z-icon",{name:this.showResources?"chevron-up":"chevron-down"}))}renderTagsSlot(){return i("div",{class:"tags"},i("slot",{name:"tags"}))}renderHeaderCtaSlot(){return i("slot",{name:"header-cta"})}renderResourcesSlot(){return i("div",{id:`resources-${this.id}`,class:"resources"},i("slot",{name:"resources",onSlotchange:()=>this.handleResources()}))}renderFooterCtaSlot(){return i("div",{class:"action-container"},i("slot",{name:"footer-cta"}))}render(){return i("article",{key:"6ece3ffbd418d55397039753ec7c6a8f4cc2b262",class:{[this.variant]:true,borderless:!!this.borderless}},this.renderCard())}get hostElement(){return r(this)}};c.style=d;export{c as z_book_card_deprecated};
2
- //# sourceMappingURL=p-f9e41b2e.entry.js.map
1
+ import{r as t,c as e,h as i,g as r}from"./p-75c4a726.js";import{Y as o}from"./p-86618221.js";import{B as a}from"./p-5145a606.js";import{r as s}from"./p-061e28d6.js";const n=':host{--z-book-card-ribbon-background-color:var(--avatar-C08);--z-book-card-ribbon-shadow-color:var(--green950);--z-book-card-compact-width:262px;--z-book-card-compact-height:568px}:host>article{display:block;width:100%;max-width:360px;box-sizing:border-box;border:var(--border-size-medium) solid var(--color-surface03);background-color:var(--color-surface01);border-radius:var(--border-radius);font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host>article div.cover{position:relative}:host>article div.cover div.img-wrapper{display:flex;overflow:hidden;border:var(--border-size-small) solid var(--color-surface03);line-height:0}:host>article div.cover div.img-wrapper img{width:auto;max-width:100%;height:auto;max-height:100%;align-self:flex-end}:host>article div.cover .ribbon{position:absolute;z-index:10;top:calc(var(--space-unit) * 2);left:calc(var(--space-unit) * -2);display:flex;max-width:100%;height:calc(var(--space-unit) * 4);box-sizing:border-box;align-items:center;padding:0 calc(var(--space-unit) * 2);border:var(--border-size-medium) solid var(--color-surface01);background:var(--z-book-card-ribbon-background-color);border-radius:0 var(--border-radius) var(--border-radius) 0;box-shadow:var(--shadow-2);color:var(--color-text-inverse);font-family:var(--font-family-sans);font-size:var(--font-size-2);font-weight:var(--font-sb);line-height:initial}:host>article div.cover .ribbon.interactive:hover{cursor:pointer}:host>article div.cover .ribbon.interactive:focus{box-shadow:var(--shadow-focus-primary);outline:none !important}:host>article div.cover .ribbon span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:nowrap}:host>article div.cover .ribbon::before{position:absolute;bottom:-12px;left:-2px;width:0;height:0;border-top:10px solid var(--z-book-card-ribbon-shadow-color);border-left:16px solid transparent;content:""}:host>article div.cover .ribbon z-icon{margin-right:var(--space-unit)}:host>article div.content{margin:var(--space-unit) 0;border-radius:var(--border-radius)}:host>article .title{display:flex;height:100%;align-self:center;color:var(--color-default-text);font-size:var(--font-size-4);font-weight:var(--font-sb);line-height:1.5}:host>article .title *{all:unset}:host>article div.subtitle{color:var(--color-default-text);font-size:var(--font-size-2);font-weight:var(--font-rg);line-height:1.4}:host>article div.authors{color:var(--color-default-text);font-size:var(--font-size-1);font-weight:var(--font-rg);line-height:1.33}:host>article div.isbn{overflow:hidden;color:var(--color-default-text);font-size:var(--font-size-2);line-height:1.33;text-overflow:ellipsis;white-space:nowrap;word-wrap:nowrap}:host>article div.isbn>.code{font-weight:var(--font-sb)}:host>article div.tags{display:flex;overflow:hidden;max-height:32px;flex-flow:row wrap;align-content:stretch;align-items:stretch;justify-content:flex-start;gap:calc(var(--space-unit) / 2)}:host>article ::slotted([slot="tags"]){margin-bottom:var(--space-unit)}:host>article ::slotted([slot="header-cta"]){--z-icon-width:20px;--z-icon-height:20px;padding:var(--space-unit);cursor:pointer;fill:var(--color-primary01-icon)}:host>article ::slotted([slot="header-cta"]:focus){box-shadow:var(--shadow-focus-primary);outline:none !important}:host>article.expanded{width:100%;min-width:328px;padding:calc(var(--space-unit) * 2);padding-bottom:0}:host>article.expanded div.header{display:flex;flex-flow:row nowrap;align-content:stretch;align-items:top;justify-content:space-between;margin-bottom:var(--space-unit);white-space:nowrap}:host>article.expanded div.cover div.img-wrapper{border-radius:var(--border-radius)}:host>article.expanded div.cover div.img-wrapper img{width:100%}:host>article.expanded .title,:host>article.expanded .subtitle,:host>article.expanded .authors{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:initial}:host>article.expanded div.footer{border-top:var(--border-size-small) solid var(--color-surface03);margin-bottom:calc(var(--space-unit) * 1.5)}:host>article.expanded div.footer.open{padding-top:calc(var(--space-unit) * 1.5)}:host>article.expanded div.footer.open div.resources{display:initial}:host>article.expanded div.footer.close div.resources{display:none}:host>article.expanded button.show-resources{--z-icon-height:16px;--z-icon-width:16px;all:unset;display:flex;width:100%;flex-flow:row nowrap;align-content:center;align-items:center;justify-content:center;padding:calc(var(--space-unit) * 1) 0;color:var(--color-text-link-blue);cursor:pointer;fill:var(--color-text-link-blue);font-size:var(--font-size-2);font-weight:var(--font-sb);gap:var(--space-unit)}:host>article.expanded button.show-resources:focus{box-shadow:var(--shadow-focus-primary)}:host>article.search{width:262px;height:616px;padding:calc(var(--space-unit) * 2);padding-bottom:0}:host>article.search .wrapper-container{display:flex;height:100%;flex-direction:column;justify-content:space-between}:host>article.search .wrapper-container .wrapper{height:451px}:host>article.search .wrapper-container .action-container{padding-bottom:calc(var(--space-unit) * 2)}:host>article.search div.header{display:flex;height:24px;flex-flow:row nowrap;align-content:stretch;align-items:center;justify-content:space-between;margin-bottom:calc(var(--space-unit) * 1.5);white-space:nowrap}:host>article.search div.cover div.img-wrapper{height:314px;border-radius:var(--border-radius)}:host>article.search .title{display:block;height:initial;align-self:unset;font-size:var(--font-size-3)}:host>article.search .title,:host>article.search .subtitle,:host>article.search .authors{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host>article.compact{width:var(--z-book-card-compact-width);height:var(--z-book-card-compact-height)}:host>article.compact.borderless{border:none}:host>article.compact div.cover div.img-wrapper{width:100%;height:calc(var(--z-book-card-compact-width) * 1.36);box-sizing:border-box;border:none;background:var(--color-white);border-radius:var(--border-radius) var(--border-radius) 0 0;box-shadow:var(--shadow-2)}:host>article.compact div.wrapper{display:flex;height:100%;flex-flow:column nowrap;align-content:stretch;align-items:stretch;justify-content:flex-start}:host>article.compact div.content{display:flex;box-sizing:border-box;flex-flow:column nowrap;align-content:stretch;align-items:stretch;justify-content:space-between;padding:calc(var(--space-unit) * 2);padding-top:var(--space-unit);margin:0}:host>article.compact div.action-container{padding:calc(var(--space-unit) * 2);padding-top:0;margin-top:auto}:host>article.compact.borderless div.cover div.img-wrapper{width:var(--z-book-card-compact-width)}:host>article.compact.borderless div.content{padding:0;padding-top:var(--space-unit)}:host>article.compact.borderless div.action-container{padding:0;padding-bottom:calc(var(--space-unit) * 2)}:host>article.compact .title{display:block;height:initial;align-self:unset}:host>article.compact .title,:host>article.compact .subtitle,:host>article.compact .authors{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:initial}@media (min-width: 768px){:host>article{width:100%;max-width:initial}:host>article .title{display:block;height:initial;align-self:unset}:host>article.expanded{width:100%;min-width:initial;max-width:initial;height:360px;padding:0;border:0}:host>article.expanded div.wrapper{display:flex;flex-flow:row nowrap;align-content:stretch;align-items:stretch;justify-content:flex-start}:host>article.expanded div.cover div.img-wrapper{width:262px;height:356px;border:0;border:var(--border-size-medium) solid var(--color-surface03);border-right:none;background:var(--color-surface01);border-radius:var(--border-radius) 0 0 var(--border-radius)}:host>article.expanded div.cover div.img-wrapper img{width:auto;border-radius:0}:host>article.expanded div.content{display:flex;overflow:hidden;width:100%;height:356px;flex-flow:column nowrap;align-content:stretch;align-items:stretch;justify-content:space-between;border:var(--border-size-medium) solid var(--color-surface03);border-left:none;margin:0;background:var(--color-surface01);border-radius:0 var(--border-radius) var(--border-radius) 0}:host>article.expanded div.content div.top{padding:calc(var(--space-unit) * 2);padding-bottom:0}:host>article.expanded div.content div.top div.info{display:flex;flex-flow:row nowrap;align-content:stretch;align-items:stretch;justify-content:space-between;margin-bottom:calc(var(--space-unit) / 2)}:host>article.expanded div.content div.top div.info>div.left{width:100%}:host>article.expanded div.content div.bottom{padding:calc(var(--space-unit) * 2);padding-bottom:0}}@media (min-width: 1152px){:host>article{width:fit-content;max-width:initial}}@media (min-width: 1366px){:host>article.expanded{width:635px}:host>article.expanded div.content{width:369px}}';const d=n;const c=class{constructor(i){t(this,i);this.ribbonClick=e(this,"ribbonClick",7);this.variant=undefined;this.cover=undefined;this.operaTitle=undefined;this.volumeTitle=undefined;this.authors=undefined;this.isbn=undefined;this.isbnLabel="";this.ribbon=undefined;this.ribbonIcon=undefined;this.ribbonInteractive=undefined;this.borderless=undefined;this.fallbackCover=undefined;this.operaTitleTag=undefined;this.isMobile=false;this.hasResources=false;this.showResources=false}emitRibbonClick(){this.ribbonClick.emit()}componentWillLoad(){this.id=`id-${s()}`;const t=window.matchMedia(`(max-width: ${a.MOBILE}px)`);this.isMobile=t.matches;t.onchange=t=>this.isMobile=t.matches}componentDidLoad(){this.handleResources()}handleResources(){var t;if(this.variant!==o.EXPANDED||!this.isMobile){return}this.hasResources=((t=this.hostElement.querySelectorAll("[slot=resources]"))===null||t===void 0?void 0:t.length)>0}toggleResources(){this.showResources=!this.showResources}renderCard(){switch(this.variant){case o.EXPANDED:return this.isMobile?this.renderMobileExpandedCard():this.renderExpandedCard();case o.COMPACT:return this.renderCompactCard();case o.SEARCH:return this.renderSearchCard()}}renderExpandedCard(){return i("div",{class:"wrapper"},this.renderCover(),i("div",{class:"content"},i("div",{class:"top"},i("div",{class:"info"},i("div",{class:"left"},this.renderAuthors(),this.renderOperaTitle(),this.renderVolumeTitle(),this.renderIsbn()),i("div",{class:"right"},this.renderHeaderCtaSlot())),this.renderTagsSlot()),i("div",{class:"bottom"},this.renderResourcesSlot())))}renderMobileExpandedCard(){return i("div",{class:"wrapper"},i("div",{class:"header"},this.renderOperaTitle(),this.renderHeaderCtaSlot()),this.renderCover(),i("div",{class:"content"},this.renderTagsSlot(),this.renderAuthors(),this.renderVolumeTitle(),this.renderIsbn()),this.hasResources&&i("div",{class:{footer:true,open:this.showResources,close:!this.showResources}},!this.showResources&&this.renderShowResources(),this.renderResourcesSlot(),this.showResources&&this.renderShowResources()))}renderSearchCard(){return i("div",{class:"wrapper-container"},i("div",{class:"wrapper"},i("div",{class:"header"},this.renderOperaTitle(),this.renderHeaderCtaSlot()),this.renderCover(),i("div",{class:"content"},this.renderTagsSlot(),this.renderAuthors(),this.renderVolumeTitle(),this.renderIsbn())),this.renderFooterCtaSlot())}renderCompactCard(){return i("div",{class:"wrapper"},this.renderCover(),i("div",{class:"content"},this.renderAuthors(),this.renderOperaTitle(),this.renderVolumeTitle(),this.renderIsbn()),this.renderFooterCtaSlot())}renderCover(){return i("div",{class:"cover"},this.ribbon&&this.variant!==o.COMPACT&&this.renderRibbon(),i("div",{class:"img-wrapper"},i("img",{src:this.cover,onError:()=>{if(this.fallbackCover){this.cover=this.fallbackCover}},"aria-hidden":"true"})))}renderRibbon(){const t=[this.ribbonIcon&&i("z-icon",{name:this.ribbonIcon,width:16,height:16,fill:"color-inverse-icon"}),i("span",null,this.ribbon)];return this.ribbonInteractive?i("button",{class:"ribbon interactive",onClick:()=>this.emitRibbonClick()},t):i("div",{class:"ribbon"},t)}renderOperaTitle(){const t=this.operaTitleTag?`<${this.operaTitleTag}>${this.operaTitle}</${this.operaTitleTag}>`:this.operaTitle;return i("div",{class:"title",innerHTML:t})}renderVolumeTitle(){return this.volumeTitle?i("div",{class:"subtitle"},this.volumeTitle):null}renderAuthors(){return this.authors?i("div",{class:"authors","aria-description":"Autori"},this.authors):null}renderIsbn(){return this.isbn?i("div",{class:"isbn"},i("span",{class:"code","aria-description":`ISBN ${this.isbnLabel}`},this.isbn),this.isbnLabel?i("span",{class:"label"}," ",this.isbnLabel):null):null}renderShowResources(){return i("button",{class:"show-resources","aria-label":`Risorse del libro ${this.operaTitle}`,"aria-expanded":this.showResources.toString(),"aria-controls":`resources-${this.id}`,onClick:()=>this.toggleResources()},this.showResources?"Chiudi":"Vedi tutto",i("z-icon",{name:this.showResources?"chevron-up":"chevron-down"}))}renderTagsSlot(){return i("div",{class:"tags"},i("slot",{name:"tags"}))}renderHeaderCtaSlot(){return i("slot",{name:"header-cta"})}renderResourcesSlot(){return i("div",{id:`resources-${this.id}`,class:"resources"},i("slot",{name:"resources",onSlotchange:()=>this.handleResources()}))}renderFooterCtaSlot(){return i("div",{class:"action-container"},i("slot",{name:"footer-cta"}))}render(){return i("article",{key:"6ece3ffbd418d55397039753ec7c6a8f4cc2b262",class:{[this.variant]:true,borderless:!!this.borderless}},this.renderCard())}get hostElement(){return r(this)}};c.style=d;export{c as z_book_card_deprecated};
2
+ //# sourceMappingURL=p-47b7bc63.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as i,c as t,h as e}from"./p-75c4a726.js";import{P as n}from"./p-86618221.js";import{d as s}from"./p-1a0c206d.js";import"./p-5145a606.js";const o=':host{width:100%;font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host>div{position:relative;display:grid;width:calc(100% + calc(var(--space-unit) * 2));height:402px;box-sizing:border-box;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);border:var(--border-size-small) solid var(--color-primary01);margin-left:calc(-1 * var(--space-unit));background:var(--color-surface01);border-radius:0;box-shadow:0 2px 4px 0 rgb(66 69 72 / 35%)}:host>div>z-icon{position:absolute;top:var(--space-unit);right:var(--space-unit);cursor:pointer;fill:var(--color-primary01)}:host>div>div.cta-wrapper{display:flex;flex-flow:column nowrap;align-self:end;justify-content:space-between}:host>div>div.content-wrapper{position:relative;overflow:hidden;align-self:stretch}:host>div>div.content-wrapper>section{box-sizing:border-box;padding:var(--space-unit) 0;border-bottom:var(--border-size-small) solid var(--color-surface04);color:var(--color-surface05);font-size:14px;line-height:20px}:host>div>div.content-wrapper>section:last-child{border-bottom:none}:host>div>div.content-wrapper>section.info-wrapper{position:relative;overflow:hidden;box-sizing:border-box}:host>div>div.content-wrapper>section.info-wrapper.hidden::after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg, rgb(255 0 0 / 0%), rgb(255 0 0 / 0%) 60%, white);content:"";pointer-events:none}:host>div>div.content-wrapper>section>span.license-heading{display:flex;justify-content:space-between}:host>div>div.content-wrapper>section>span.license-heading>span.expired{color:var(--color-primary01);font-size:12px;font-weight:600}:host>div>div.content-wrapper>section>span.license-heading>span.expiring{color:var(--color-hover-warning);font-size:12px;font-weight:600}:host>div>div.content-wrapper>z-popover{position:absolute;top:0;left:calc(var(--space-unit) * 4)}';const r=o;const a=class{emitFlipCard(i=false){this.flipCard.emit(i)}constructor(e){i(this,e);this.flipCard=t(this,"flipCard",7);this.data=undefined;this.htmltabindex=0;this.hiddenContent=false;this.tooltip=false;this.emitFlipCard=this.emitFlipCard.bind(this)}componentWillLoad(){this.setStringOrArray()}componentWillUpdate(){this.setStringOrArray()}componentDidRender(){this.handleContentHeight()}handleContentHeight(){if(!this.contentWrapper&&!this.infoWrapper){this.hiddenContent=false;return}if(this.contentWrapper.scrollHeight>this.contentWrapper.offsetHeight||this.infoWrapper.scrollHeight>this.infoWrapper.offsetHeight){const i=this.contentWrapper.offsetHeight-this.onlineLicenseWrapper.offsetHeight-this.offlineLicenseWrapper.offsetHeight;this.infoWrapper.style.height=`${i}px`;this.hiddenContent=true;return}this.hiddenContent=false}setStringOrArray(){if(typeof this.data==="string"){this.cardData=JSON.parse(this.data)}else{this.cardData=this.data}}renderCloseIcon(){return e("z-icon",{name:"multiply-circled-filled",height:18,width:18,onClick:()=>this.emitFlipCard(false),tabindex:this.htmltabindex,onKeyUp:i=>{s(i,this.emitFlipCard,false)}})}renderGeneralSection(){var i,t;const n=(i=this===null||this===void 0?void 0:this.cardData)===null||i===void 0?void 0:i.title;const s=(t=this===null||this===void 0?void 0:this.cardData)===null||t===void 0?void 0:t.description;return e("section",{class:`info-wrapper ${this.hiddenContent?"hidden":""}`,onClick:()=>{if(this.hiddenContent){this.tooltip=!this.tooltip}},ref:i=>this.infoWrapper=i},this.renderAuthor(),this.renderYear(),n,e("br",null),s)}renderAuthor(){var i;const t=(i=this===null||this===void 0?void 0:this.cardData)===null||i===void 0?void 0:i.author;if(!t){return null}return e("span",null,"Autore: ",e("b",null,t),e("br",null))}renderYear(){var i;const t=(i=this===null||this===void 0?void 0:this.cardData)===null||i===void 0?void 0:i.year;if(!t){return null}return e("span",null,"Anno: ",e("b",null,t),e("br",null))}renderTooltip(){if(!this.tooltip){return}if(!this.cardData){return}const{title:i,year:t,author:s,description:o}=this.cardData;return e("z-popover",{position:n.RIGHT,onClick:()=>this.tooltip=false},`${i} ${t} ${s} ${o}`)}setExpirationLicenseMessage(i){if(i==="online"&&this.cardData.onlineLicense.expired||i==="offline"&&this.cardData.offlineLicense.expired){return e("span",{class:"expired"},"SCADUTA")}if(i==="online"&&this.cardData.onlineLicense.expiring||i==="offline"&&this.cardData.offlineLicense.expiring){return e("span",{class:"expiring"},"IN SCADENZA")}}renderOnlineLicenseSection(){var i;if(!((i=this===null||this===void 0?void 0:this.cardData)===null||i===void 0?void 0:i.onlineLicense)){return}return e("section",{ref:i=>this.onlineLicenseWrapper=i},e("span",{class:"license-heading"},e("span",null,"Licenza online"),this.setExpirationLicenseMessage("online")),"Scadenza il ",e("b",null,this.cardData.onlineLicense.expiration),e("br",null))}renderOfflineLicenseSection(){var i;if(!((i=this===null||this===void 0?void 0:this.cardData)===null||i===void 0?void 0:i.offlineLicense)){return}return e("section",{ref:i=>this.offlineLicenseWrapper=i},e("span",{class:"license-heading"},e("span",null,"Licenza offline"),this.setExpirationLicenseMessage("offline")),"Scadenza il ",e("b",null,this.cardData.offlineLicense.expiration),e("br",null),"Installazioni disponibili: ",e("b",null,this.cardData.offlineLicense.installations))}render(){return e("div",{key:"33d2316b245cb7639f3ffaddd9e3af836a893b43"},this.renderCloseIcon(),e("div",{key:"b9b5af413eabc3c3cfbc2c301764e17211d3be64",class:"content-wrapper",ref:i=>this.contentWrapper=i},this.renderGeneralSection(),this.renderTooltip(),this.renderOnlineLicenseSection(),this.renderOfflineLicenseSection()),e("div",{key:"7e0bc24301074fdc5541421fcb9ba0a58f65b306",class:"cta-wrapper"},e("slot",{key:"4e573ed4019c8f24f92ca27d54b67ca4a80d766b"})))}};a.style=r;export{a as z_myz_card_info};
2
- //# sourceMappingURL=p-84ed6163.entry.js.map
1
+ import{r as i,c as t,h as e}from"./p-75c4a726.js";import{P as n}from"./p-86618221.js";import{d as s}from"./p-061e28d6.js";import"./p-5145a606.js";const o=':host{width:100%;font-family:var(--font-family-sans);font-weight:var(--font-rg)}:host>div{position:relative;display:grid;width:calc(100% + calc(var(--space-unit) * 2));height:402px;box-sizing:border-box;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);border:var(--border-size-small) solid var(--color-primary01);margin-left:calc(-1 * var(--space-unit));background:var(--color-surface01);border-radius:0;box-shadow:0 2px 4px 0 rgb(66 69 72 / 35%)}:host>div>z-icon{position:absolute;top:var(--space-unit);right:var(--space-unit);cursor:pointer;fill:var(--color-primary01)}:host>div>div.cta-wrapper{display:flex;flex-flow:column nowrap;align-self:end;justify-content:space-between}:host>div>div.content-wrapper{position:relative;overflow:hidden;align-self:stretch}:host>div>div.content-wrapper>section{box-sizing:border-box;padding:var(--space-unit) 0;border-bottom:var(--border-size-small) solid var(--color-surface04);color:var(--color-surface05);font-size:14px;line-height:20px}:host>div>div.content-wrapper>section:last-child{border-bottom:none}:host>div>div.content-wrapper>section.info-wrapper{position:relative;overflow:hidden;box-sizing:border-box}:host>div>div.content-wrapper>section.info-wrapper.hidden::after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg, rgb(255 0 0 / 0%), rgb(255 0 0 / 0%) 60%, white);content:"";pointer-events:none}:host>div>div.content-wrapper>section>span.license-heading{display:flex;justify-content:space-between}:host>div>div.content-wrapper>section>span.license-heading>span.expired{color:var(--color-primary01);font-size:12px;font-weight:600}:host>div>div.content-wrapper>section>span.license-heading>span.expiring{color:var(--color-hover-warning);font-size:12px;font-weight:600}:host>div>div.content-wrapper>z-popover{position:absolute;top:0;left:calc(var(--space-unit) * 4)}';const r=o;const a=class{emitFlipCard(i=false){this.flipCard.emit(i)}constructor(e){i(this,e);this.flipCard=t(this,"flipCard",7);this.data=undefined;this.htmltabindex=0;this.hiddenContent=false;this.tooltip=false;this.emitFlipCard=this.emitFlipCard.bind(this)}componentWillLoad(){this.setStringOrArray()}componentWillUpdate(){this.setStringOrArray()}componentDidRender(){this.handleContentHeight()}handleContentHeight(){if(!this.contentWrapper&&!this.infoWrapper){this.hiddenContent=false;return}if(this.contentWrapper.scrollHeight>this.contentWrapper.offsetHeight||this.infoWrapper.scrollHeight>this.infoWrapper.offsetHeight){const i=this.contentWrapper.offsetHeight-this.onlineLicenseWrapper.offsetHeight-this.offlineLicenseWrapper.offsetHeight;this.infoWrapper.style.height=`${i}px`;this.hiddenContent=true;return}this.hiddenContent=false}setStringOrArray(){if(typeof this.data==="string"){this.cardData=JSON.parse(this.data)}else{this.cardData=this.data}}renderCloseIcon(){return e("z-icon",{name:"multiply-circled-filled",height:18,width:18,onClick:()=>this.emitFlipCard(false),tabindex:this.htmltabindex,onKeyUp:i=>{s(i,this.emitFlipCard,false)}})}renderGeneralSection(){var i,t;const n=(i=this===null||this===void 0?void 0:this.cardData)===null||i===void 0?void 0:i.title;const s=(t=this===null||this===void 0?void 0:this.cardData)===null||t===void 0?void 0:t.description;return e("section",{class:`info-wrapper ${this.hiddenContent?"hidden":""}`,onClick:()=>{if(this.hiddenContent){this.tooltip=!this.tooltip}},ref:i=>this.infoWrapper=i},this.renderAuthor(),this.renderYear(),n,e("br",null),s)}renderAuthor(){var i;const t=(i=this===null||this===void 0?void 0:this.cardData)===null||i===void 0?void 0:i.author;if(!t){return null}return e("span",null,"Autore: ",e("b",null,t),e("br",null))}renderYear(){var i;const t=(i=this===null||this===void 0?void 0:this.cardData)===null||i===void 0?void 0:i.year;if(!t){return null}return e("span",null,"Anno: ",e("b",null,t),e("br",null))}renderTooltip(){if(!this.tooltip){return}if(!this.cardData){return}const{title:i,year:t,author:s,description:o}=this.cardData;return e("z-popover",{position:n.RIGHT,onClick:()=>this.tooltip=false},`${i} ${t} ${s} ${o}`)}setExpirationLicenseMessage(i){if(i==="online"&&this.cardData.onlineLicense.expired||i==="offline"&&this.cardData.offlineLicense.expired){return e("span",{class:"expired"},"SCADUTA")}if(i==="online"&&this.cardData.onlineLicense.expiring||i==="offline"&&this.cardData.offlineLicense.expiring){return e("span",{class:"expiring"},"IN SCADENZA")}}renderOnlineLicenseSection(){var i;if(!((i=this===null||this===void 0?void 0:this.cardData)===null||i===void 0?void 0:i.onlineLicense)){return}return e("section",{ref:i=>this.onlineLicenseWrapper=i},e("span",{class:"license-heading"},e("span",null,"Licenza online"),this.setExpirationLicenseMessage("online")),"Scadenza il ",e("b",null,this.cardData.onlineLicense.expiration),e("br",null))}renderOfflineLicenseSection(){var i;if(!((i=this===null||this===void 0?void 0:this.cardData)===null||i===void 0?void 0:i.offlineLicense)){return}return e("section",{ref:i=>this.offlineLicenseWrapper=i},e("span",{class:"license-heading"},e("span",null,"Licenza offline"),this.setExpirationLicenseMessage("offline")),"Scadenza il ",e("b",null,this.cardData.offlineLicense.expiration),e("br",null),"Installazioni disponibili: ",e("b",null,this.cardData.offlineLicense.installations))}render(){return e("div",{key:"33d2316b245cb7639f3ffaddd9e3af836a893b43"},this.renderCloseIcon(),e("div",{key:"b9b5af413eabc3c3cfbc2c301764e17211d3be64",class:"content-wrapper",ref:i=>this.contentWrapper=i},this.renderGeneralSection(),this.renderTooltip(),this.renderOnlineLicenseSection(),this.renderOfflineLicenseSection()),e("div",{key:"7e0bc24301074fdc5541421fcb9ba0a58f65b306",class:"cta-wrapper"},e("slot",{key:"4e573ed4019c8f24f92ca27d54b67ca4a80d766b"})))}};a.style=r;export{a as z_myz_card_info};
2
+ //# sourceMappingURL=p-5838b77c.entry.js.map