@zanichelli/albe-web-components 17.0.1 → 17.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/z-app-header_12.cjs.entry.js +1 -1
  3. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  4. package/dist/cjs/z-book-card-app.cjs.entry.js +1 -1
  5. package/dist/cjs/z-book-card-app.cjs.entry.js.map +1 -1
  6. package/dist/cjs/z-book-card.cjs.entry.js +2 -2
  7. package/dist/cjs/z-book-card.cjs.entry.js.map +1 -1
  8. package/dist/cjs/z-menu-deprecated.cjs.entry.js +1 -1
  9. package/dist/cjs/z-menu-deprecated.cjs.entry.js.map +1 -1
  10. package/dist/cjs/z-menu-section-deprecated.cjs.entry.js +1 -1
  11. package/dist/cjs/z-menu-section-deprecated.cjs.entry.js.map +1 -1
  12. package/dist/cjs/z-myz-card-info.cjs.entry.js +1 -1
  13. package/dist/cjs/z-myz-card-info.cjs.entry.js.map +1 -1
  14. package/dist/collection/components/book-card/z-book-card/index.js +1 -1
  15. package/dist/collection/components/book-card/z-book-card/index.js.map +1 -1
  16. package/dist/collection/components/book-card/z-book-card/styles.css +3 -0
  17. package/dist/collection/components/book-card/z-book-card-app/styles.css +1 -0
  18. package/dist/collection/components/deprecated/z-menu-deprecated/styles.css +2 -2
  19. package/dist/collection/components/deprecated/z-menu-section-deprecated/styles.css +3 -3
  20. package/dist/collection/components/z-app-header/styles.css +1 -0
  21. package/dist/collection/snowflakes/myz/card/z-myz-card-info/styles.css +1 -1
  22. package/dist/components/z-app-header.js +1 -1
  23. package/dist/components/z-app-header.js.map +1 -1
  24. package/dist/components/z-book-card-app.js +1 -1
  25. package/dist/components/z-book-card-app.js.map +1 -1
  26. package/dist/components/z-book-card.js +2 -2
  27. package/dist/components/z-book-card.js.map +1 -1
  28. package/dist/components/z-menu-deprecated.js +1 -1
  29. package/dist/components/z-menu-deprecated.js.map +1 -1
  30. package/dist/components/z-menu-section-deprecated.js +1 -1
  31. package/dist/components/z-menu-section-deprecated.js.map +1 -1
  32. package/dist/components/z-myz-card-info.js +1 -1
  33. package/dist/components/z-myz-card-info.js.map +1 -1
  34. package/dist/esm/z-app-header_12.entry.js +1 -1
  35. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  36. package/dist/esm/z-book-card-app.entry.js +1 -1
  37. package/dist/esm/z-book-card-app.entry.js.map +1 -1
  38. package/dist/esm/z-book-card.entry.js +2 -2
  39. package/dist/esm/z-book-card.entry.js.map +1 -1
  40. package/dist/esm/z-menu-deprecated.entry.js +1 -1
  41. package/dist/esm/z-menu-deprecated.entry.js.map +1 -1
  42. package/dist/esm/z-menu-section-deprecated.entry.js +1 -1
  43. package/dist/esm/z-menu-section-deprecated.entry.js.map +1 -1
  44. package/dist/esm/z-myz-card-info.entry.js +1 -1
  45. package/dist/esm/z-myz-card-info.entry.js.map +1 -1
  46. package/dist/web-components-library/p-0378c12a.entry.js +2 -0
  47. package/dist/web-components-library/p-0378c12a.entry.js.map +1 -0
  48. package/dist/web-components-library/p-107c2635.entry.js +2 -0
  49. package/dist/web-components-library/p-107c2635.entry.js.map +1 -0
  50. package/dist/web-components-library/p-1e3ff105.entry.js +2 -0
  51. package/dist/web-components-library/p-1e3ff105.entry.js.map +1 -0
  52. package/dist/web-components-library/p-605f6780.entry.js +2 -0
  53. package/dist/web-components-library/p-605f6780.entry.js.map +1 -0
  54. package/dist/web-components-library/p-c2af9a71.entry.js +2 -0
  55. package/dist/web-components-library/p-c2af9a71.entry.js.map +1 -0
  56. package/dist/web-components-library/p-c7df6a63.entry.js +2 -0
  57. package/dist/web-components-library/p-c7df6a63.entry.js.map +1 -0
  58. package/dist/web-components-library/web-components-library.esm.js +1 -1
  59. package/package.json +1 -1
  60. package/www/build/p-0378c12a.entry.js +2 -0
  61. package/www/build/p-0378c12a.entry.js.map +1 -0
  62. package/www/build/p-107c2635.entry.js +2 -0
  63. package/www/build/p-107c2635.entry.js.map +1 -0
  64. package/www/build/p-1e3ff105.entry.js +2 -0
  65. package/www/build/p-1e3ff105.entry.js.map +1 -0
  66. package/www/build/p-605f6780.entry.js +2 -0
  67. package/www/build/p-605f6780.entry.js.map +1 -0
  68. package/www/build/{p-b4161535.js → p-b8da5b69.js} +1 -1
  69. package/www/build/p-c2af9a71.entry.js +2 -0
  70. package/www/build/p-c2af9a71.entry.js.map +1 -0
  71. package/www/build/p-c7df6a63.entry.js +2 -0
  72. package/www/build/p-c7df6a63.entry.js.map +1 -0
  73. package/www/build/web-components-library.esm.js +1 -1
  74. package/www/index.html +1 -1
  75. package/www/pages/book-cards.html +20 -14
  76. package/dist/web-components-library/p-015621c8.entry.js +0 -2
  77. package/dist/web-components-library/p-015621c8.entry.js.map +0 -1
  78. package/dist/web-components-library/p-080b13fe.entry.js +0 -2
  79. package/dist/web-components-library/p-080b13fe.entry.js.map +0 -1
  80. package/dist/web-components-library/p-54a70792.entry.js +0 -2
  81. package/dist/web-components-library/p-54a70792.entry.js.map +0 -1
  82. package/dist/web-components-library/p-60a9cb8b.entry.js +0 -2
  83. package/dist/web-components-library/p-60a9cb8b.entry.js.map +0 -1
  84. package/dist/web-components-library/p-7e8d843e.entry.js +0 -2
  85. package/dist/web-components-library/p-7e8d843e.entry.js.map +0 -1
  86. package/dist/web-components-library/p-9d850412.entry.js +0 -2
  87. package/dist/web-components-library/p-9d850412.entry.js.map +0 -1
  88. package/www/build/p-015621c8.entry.js +0 -2
  89. package/www/build/p-015621c8.entry.js.map +0 -1
  90. package/www/build/p-080b13fe.entry.js +0 -2
  91. package/www/build/p-080b13fe.entry.js.map +0 -1
  92. package/www/build/p-54a70792.entry.js +0 -2
  93. package/www/build/p-54a70792.entry.js.map +0 -1
  94. package/www/build/p-60a9cb8b.entry.js +0 -2
  95. package/www/build/p-60a9cb8b.entry.js.map +0 -1
  96. package/www/build/p-7e8d843e.entry.js +0 -2
  97. package/www/build/p-7e8d843e.entry.js.map +0 -1
  98. package/www/build/p-9d850412.entry.js +0 -2
  99. package/www/build/p-9d850412.entry.js.map +0 -1
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as n,a as i,g as o}from"./p-75c4a726.js";const a=':host,::slotted(*),*{box-sizing:border-box}:host{position:relative;display:inline-flex;flex-direction:column;--z-menu-label-color:var(--color-default-text)}::slotted(a){text-decoration:none}::slotted(*){color:var(--color-default-text);font-family:var(--font-family-sans);font-weight:var(--font-rg)}.menu-label{padding:0;border:0;margin:0;background:transparent;border-radius:0;color:inherit;outline:none;text-align:left}button.menu-label{cursor:pointer}.menu-label:focus-within{z-index:1;padding-right:calc(var(--space-unit) * 0.5);padding-left:calc(var(--space-unit) * 0.5);margin-right:calc(var(--space-unit) * -0.5);margin-left:calc(var(--space-unit) * -0.5);box-shadow:var(--shadow-focus-primary)}.menu-label .menu-label-content{position:relative;display:flex;align-items:center}:host(:is([active],[open])) .menu-label-content,.menu-label:focus-within .menu-label-content{font-weight:var(--font-bd)}:host(:is([active],[open])) .menu-label-content ::slotted(*),.menu-label:focus-within .menu-label-content ::slotted(*){letter-spacing:normal}:host .menu-label .menu-label-content ::slotted(*:not([slot]):focus:focus-visible){box-shadow:none !important}:host(:is([active],[open],[vertical-context])) .menu-label .menu-label-content::after,.menu-label .menu-label-content:hover::after,.menu-label:focus-within .menu-label-content::after{position:absolute;bottom:0;left:0;width:100%;content:"";pointer-events:none}:host([vertical-context]) .menu-label-content::after{height:var(--border-size-small);background-color:var(--color-surface03)}:host(:is([active],[open])) .menu-label .menu-label-content::after,.menu-label .menu-label-content:hover::after,.menu-label:focus-within .menu-label-content::after{height:var(--border-size-large);background-color:var(--color-secondary01)}::slotted([data-text])::after{height:0;content:attr(data-text);content:attr(data-text) / "";font-weight:var(--font-bd);letter-spacing:normal;pointer-events:none;user-select:none;visibility:hidden}@media speech{::slotted([data-text])::after{display:none}}::slotted([data-text]){display:inline-flex;flex-direction:column}.menu-label .menu-label-content ::slotted(*){display:inline-flex;width:100%;margin:0;appearance:none;color:var(--z-menu-label-color);font-family:var(--font-family-sans);font-size:var(--font-size-5);font-weight:inherit;letter-spacing:0.36px;line-height:1.2;outline:none}.menu-label .menu-label-content ::slotted(*),.menu-label .menu-label-content z-icon{padding:var(--space-unit) 0}.menu-label .menu-label-content z-icon{margin-left:calc(var(--space-unit) * 1.5);fill:currentcolor}.content{background:var(--color-surface01)}:host(:not([open])) .content{display:none}:host([floating]) .content{position:absolute;top:100%;left:0;width:375px;min-width:100%;max-width:100vw;padding:var(--space-unit) var(--space-unit) calc(var(--space-unit) * 2);box-shadow:var(--shadow-2)}:host(:not([floating])) .content{width:100%}.header{display:flex;align-items:center;padding:var(--space-unit) 0 calc(var(--space-unit) * 2)}.header ::slotted(img[slot="header"]){width:calc(var(--space-unit) * 11.25);height:auto;object-fit:contain}.header ::slotted([slot="header"]:not(:first-child)){margin:auto 0;margin-left:calc(var(--space-unit) * 2.5);font-size:var(--font-size-3);font-weight:var(--font-sb);line-height:1.5}.items{display:flex;flex-direction:column;align-items:flex-start;background:inherit}.items>::slotted([slot="item"]){width:100%;margin:0;font-size:var(--font-size-3);line-height:1.25;outline:none}.items>::slotted([slot="item"]:focus:focus-visible){box-shadow:var(--shadow-focus-primary)}.items>::slotted([slot="item"]:not(z-menu-section)){padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 0.5);border-bottom:var(--border-size-small) solid var(--color-surface05)}.items>::slotted([slot="item"]:hover),.items>::slotted([slot="item"]:focus:focus-visible),.items>::slotted([slot="item"]:active){border-color:var(--color-secondary01);font-weight:var(--font-bd)}';const s=a;const l=class{toggle(){if(!this.hasContent){return}this.open=!this.open;this.open?this.opened.emit():this.closed.emit()}handleClick(e){if(!this.floating||!this.open||this.hostElement.contains(e.target)){return}this.reflow();this.open=false;this.closed.emit()}onOpenChanged(){if(this.open){this.reflow(true)}else{cancelAnimationFrame(this.raf)}}constructor(n){e(this,n);this.opened=t(this,"opened",7);this.closed=t(this,"closed",7);this.active=undefined;this.floating=false;this.open=false;this.verticalContext=false;this.hasHeader=undefined;this.hasContent=undefined;this.toggle=this.toggle.bind(this);this.checkContent=this.checkContent.bind(this);this.onLabelSlotChange=this.onLabelSlotChange.bind(this);this.onItemsChange=this.onItemsChange.bind(this)}componentWillLoad(){this.checkContent()}onLabelSlotChange(e){const t=e.target.assignedElements()[0];t.dataset.text=t===null||t===void 0?void 0:t.textContent}reflow(e=false){if(this.content){const{style:e}=this.content;const{left:t}=this.hostElement.getBoundingClientRect();const n=getComputedStyle(this.content).width;const i=n?parseFloat(n.replace("px","")):375;const o=30;e.left=`${Math.min(window.innerWidth-t-i-o,0)}px`}if(e){this.raf=requestAnimationFrame(this.reflow.bind(this,e))}}checkContent(){this.hasHeader=!!this.hostElement.querySelectorAll("[slot=header]").length;this.hasContent=!!this.hostElement.querySelectorAll("[slot=item]").length||this.hasHeader}onItemsChange(){this.checkContent();const e=this.hostElement.querySelectorAll("[slot=item]");e.forEach((e=>{e.setAttribute("role","menuitem");e.dataset.text=e.textContent}))}renderMenuLabel(){if(this.hasContent){return n("button",{class:"menu-label","aria-expanded":this.open?"true":"false","aria-label":this.open?"Chiudi menù":"Apri menù",onClick:this.toggle},n("div",{class:"menu-label-content"},n("slot",{onSlotchange:this.onLabelSlotChange}),n("z-icon",{name:this.open?"chevron-up":"chevron-down"})))}return n("div",{class:"menu-label"},n("div",{class:"menu-label-content"},n("slot",{onSlotchange:this.onLabelSlotChange})))}render(){return n(i,{key:"b85eb4e974d6e49d326f637e96f467d867588cc4"},this.renderMenuLabel(),this.hasContent&&n("div",{key:"36e4f36123dd6e49f334a6f5e98cce0875df158c",class:"content",ref:e=>this.content=e},this.hasHeader&&n("header",{key:"d8d980f037bd593ca7388946f27f08372d19f7e8",class:"header"},n("slot",{key:"1d40e062cc0d24b5c7adcb707341d438e0089cb7",name:"header",onSlotchange:this.checkContent})),n("div",{key:"93cdd787bb371624be8311ca32539a576ee1fcb7",class:"items",role:"menu"},n("slot",{key:"2d1ffad0d4c6fec04d202e371118535f5454eaef",name:"item",onSlotchange:this.onItemsChange}))))}get hostElement(){return o(this)}static get watchers(){return{open:["onOpenChanged"]}}};l.style=s;export{l as z_menu_deprecated};
2
- //# sourceMappingURL=p-7e8d843e.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZMenuDeprecatedStyle0","ZMenuDeprecated","toggle","this","hasContent","open","opened","emit","closed","handleClick","ev","floating","hostElement","contains","target","reflow","onOpenChanged","cancelAnimationFrame","raf","constructor","hostRef","bind","checkContent","onLabelSlotChange","onItemsChange","componentWillLoad","labelElement","assignedElements","dataset","text","textContent","live","content","style","left","getBoundingClientRect","widthPx","getComputedStyle","width","parseFloat","replace","safeScrollbarSpace","Math","min","window","innerWidth","requestAnimationFrame","hasHeader","querySelectorAll","length","items","forEach","item","setAttribute","renderMenuLabel","h","class","onClick","onSlotchange","name","render","Host","key","ref","el","role"],"sources":["src/components/deprecated/z-menu-deprecated/styles.css?tag=z-menu-deprecated&encapsulation=shadow","src/components/deprecated/z-menu-deprecated/index.tsx"],"sourcesContent":[":host,\n::slotted(*),\n* {\n box-sizing: border-box;\n}\n\n:host {\n position: relative;\n display: inline-flex;\n flex-direction: column;\n\n --z-menu-label-color: var(--color-default-text);\n}\n\n::slotted(a) {\n text-decoration: none;\n}\n\n::slotted(*) {\n color: var(--color-default-text);\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n.menu-label {\n padding: 0;\n border: 0;\n margin: 0;\n background: transparent;\n border-radius: 0;\n color: inherit;\n outline: none;\n text-align: left;\n}\n\nbutton.menu-label {\n cursor: pointer;\n}\n\n.menu-label:focus-within {\n z-index: 1;\n padding-right: calc(var(--space-unit) * 0.5);\n padding-left: calc(var(--space-unit) * 0.5);\n margin-right: calc(var(--space-unit) * -0.5);\n margin-left: calc(var(--space-unit) * -0.5);\n box-shadow: var(--shadow-focus-primary);\n}\n\n.menu-label .menu-label-content {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n:host(:is([active], [open])) .menu-label-content,\n.menu-label:focus-within .menu-label-content {\n font-weight: var(--font-bd);\n}\n\n:host(:is([active], [open])) .menu-label-content ::slotted(*),\n.menu-label:focus-within .menu-label-content ::slotted(*) {\n letter-spacing: normal;\n}\n\n:host .menu-label .menu-label-content ::slotted(*:not([slot]):focus:focus-visible) {\n box-shadow: none !important;\n}\n\n/* border */\n:host(:is([active], [open], [vertical-context])) .menu-label .menu-label-content::after,\n.menu-label .menu-label-content:hover::after,\n.menu-label:focus-within .menu-label-content::after {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n content: \"\";\n pointer-events: none;\n}\n\n:host([vertical-context]) .menu-label-content::after {\n height: var(--border-size-small);\n background-color: var(--color-surface03);\n}\n\n:host(:is([active], [open])) .menu-label .menu-label-content::after,\n.menu-label .menu-label-content:hover::after,\n.menu-label:focus-within .menu-label-content::after {\n height: var(--border-size-large);\n background-color: var(--color-secondary01);\n}\n\n/* Prevents layout shifts on font-weight changes.\nThe trick is to put an hidden copy of the text already set to bold,\nso the needed space is correctly calculated before any hover/active state changes the\nfont-weight of the real text.\nThe hidden text has an height of 0px so it can expand the width without changing the height\nwhen placed below the real text using `flex-direction: column`. */\n::slotted([data-text])::after {\n height: 0;\n content: attr(data-text);\n content: attr(data-text) / \"\";\n font-weight: var(--font-bd);\n letter-spacing: normal;\n pointer-events: none;\n user-select: none;\n visibility: hidden;\n}\n\n@media speech {\n ::slotted([data-text])::after {\n display: none;\n }\n}\n\n::slotted([data-text]) {\n display: inline-flex;\n flex-direction: column;\n}\n\n.menu-label .menu-label-content ::slotted(*) {\n display: inline-flex;\n width: 100%;\n margin: 0;\n appearance: none;\n color: var(--z-menu-label-color);\n font-family: var(--font-family-sans);\n font-size: var(--font-size-5);\n font-weight: inherit;\n letter-spacing: 0.36px; /* increasing the letter spacing of the regular text helps reduce the size difference between regular and bold text */\n line-height: 1.2;\n outline: none;\n}\n\n.menu-label .menu-label-content ::slotted(*),\n.menu-label .menu-label-content z-icon {\n padding: var(--space-unit) 0;\n}\n\n.menu-label .menu-label-content z-icon {\n margin-left: calc(var(--space-unit) * 1.5);\n fill: currentcolor;\n}\n\n.content {\n background: var(--color-surface01);\n}\n\n:host(:not([open])) .content {\n display: none;\n}\n\n:host([floating]) .content {\n position: absolute;\n top: 100%;\n left: 0;\n width: 375px;\n min-width: 100%;\n max-width: 100vw;\n padding: var(--space-unit) var(--space-unit) calc(var(--space-unit) * 2);\n box-shadow: var(--shadow-2);\n}\n\n:host(:not([floating])) .content {\n width: 100%;\n}\n\n.header {\n display: flex;\n align-items: center;\n padding: var(--space-unit) 0 calc(var(--space-unit) * 2);\n}\n\n.header ::slotted(img[slot=\"header\"]) {\n width: calc(var(--space-unit) * 11.25);\n height: auto;\n object-fit: contain;\n}\n\n.header ::slotted([slot=\"header\"]:not(:first-child)) {\n margin: auto 0;\n margin-left: calc(var(--space-unit) * 2.5);\n font-size: var(--font-size-3);\n font-weight: var(--font-sb);\n line-height: 1.5;\n}\n\n.items {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n background: inherit;\n}\n\n.items > ::slotted([slot=\"item\"]) {\n width: 100%;\n margin: 0;\n font-size: var(--font-size-3);\n line-height: 1.25;\n outline: none;\n}\n\n.items > ::slotted([slot=\"item\"]:focus:focus-visible) {\n box-shadow: var(--shadow-focus-primary);\n}\n\n.items > ::slotted([slot=\"item\"]:not(z-menu-section)) {\n padding: calc(var(--space-unit) * 2) calc(var(--space-unit) * 0.5);\n border-bottom: var(--border-size-small) solid var(--color-surface05);\n}\n\n.items > ::slotted([slot=\"item\"]:hover),\n.items > ::slotted([slot=\"item\"]:focus:focus-visible),\n.items > ::slotted([slot=\"item\"]:active) {\n border-color: var(--color-secondary01);\n font-weight: var(--font-bd);\n}\n","import {Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h} from \"@stencil/core\";\n\n/**\n * @slot - Menu label\n * @slot header - Header to display as the first entry of the open menu.\n * @slot item - Single entry of the section. Can be slotted multiple times to insert items onto the menu. Use `z-menu-section` for submenus.\n * @cssprop --z-menu-label-color - Color of the label's text.\n */\n@Component({\n tag: \"z-menu-deprecated\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMenuDeprecated {\n @Element() hostElement: HTMLZMenuDeprecatedElement;\n\n /** Flag to set the active status of the menu. */\n @Prop({reflect: true})\n active?: boolean;\n\n /**\n * Flag to set the display mode of the list.\n * If true, the list will be absolutely positioned under the menu label,\n * stacked beneath it otherwise.\n */\n @Prop({reflect: true})\n floating? = false;\n\n /** The opening state of the menu. */\n @Prop({mutable: true, reflect: true})\n open = false;\n\n /**\n * Tells the component that it's placed in a vertical context with other `ZMenu`s (e.g. in the ZAppHeader's offcanvas).\n * A small border is placed under it as a separator from other elements.\n */\n @Prop({reflect: true})\n verticalContext = false;\n\n @State()\n hasHeader: boolean;\n\n @State()\n hasContent: boolean;\n\n private content: HTMLElement;\n\n /** Animation frame request id. */\n private raf: number;\n\n /** The menu has been opened. */\n @Event()\n opened: EventEmitter;\n\n /** The menu has been closed. */\n @Event()\n closed: EventEmitter;\n\n private toggle(): void {\n if (!this.hasContent) {\n return;\n }\n\n this.open = !this.open;\n this.open ? this.opened.emit() : this.closed.emit();\n }\n\n /** Close the floating list when a click is performed outside of this Element. */\n @Listen(\"click\", {target: \"document\"})\n handleClick(ev: MouseEvent): void {\n if (!this.floating || !this.open || this.hostElement.contains(ev.target as Element)) {\n return;\n }\n\n this.reflow();\n this.open = false;\n this.closed.emit();\n }\n\n @Watch(\"open\")\n onOpenChanged(): void {\n if (this.open) {\n this.reflow(true);\n } else {\n cancelAnimationFrame(this.raf);\n }\n }\n\n constructor() {\n this.toggle = this.toggle.bind(this);\n this.checkContent = this.checkContent.bind(this);\n this.onLabelSlotChange = this.onLabelSlotChange.bind(this);\n this.onItemsChange = this.onItemsChange.bind(this);\n }\n\n componentWillLoad(): void {\n this.checkContent();\n }\n\n /**\n * Sets slotted item text as `data-text` attribute value, to let CSS use it through `attr()`.\n * @param ev Slotchange event\n */\n private onLabelSlotChange(ev: Event): void {\n const labelElement = (ev.target as HTMLSlotElement).assignedElements()[0] as HTMLElement;\n labelElement.dataset.text = labelElement?.textContent;\n }\n\n /**\n * Correctly set position of the floating menu in order to prevent overflow.\n * @param live Should run the method on every refresh frame.\n */\n private reflow(live = false): void {\n if (this.content) {\n const {style} = this.content;\n const {left} = this.hostElement.getBoundingClientRect();\n const widthPx = getComputedStyle(this.content).width;\n const width = widthPx ? parseFloat(widthPx.replace(\"px\", \"\")) : 375;\n const safeScrollbarSpace = 30;\n style.left = `${Math.min(window.innerWidth - left - width - safeScrollbarSpace, 0)}px`;\n }\n if (live) {\n this.raf = requestAnimationFrame(this.reflow.bind(this, live));\n }\n }\n\n /**\n * Check if some content slot is set.\n */\n private checkContent(): void {\n this.hasHeader = !!this.hostElement.querySelectorAll(\"[slot=header]\").length;\n this.hasContent = !!this.hostElement.querySelectorAll(\"[slot=item]\").length || this.hasHeader;\n }\n\n /**\n * Set `menuitem` role to all menu items.\n * Set the item's inner text to the `data-text` attribute (this is for using bold text avoiding layout shifts).\n */\n private onItemsChange(): void {\n this.checkContent();\n const items = this.hostElement.querySelectorAll<HTMLElement>(\"[slot=item]\");\n items.forEach((item) => {\n item.setAttribute(\"role\", \"menuitem\");\n item.dataset.text = item.textContent;\n });\n }\n\n private renderMenuLabel(): HTMLButtonElement | HTMLDivElement {\n if (this.hasContent) {\n return (\n <button\n class=\"menu-label\"\n aria-expanded={this.open ? \"true\" : \"false\"}\n aria-label={this.open ? \"Chiudi menù\" : \"Apri menù\"}\n onClick={this.toggle}\n >\n <div class=\"menu-label-content\">\n <slot onSlotchange={this.onLabelSlotChange}></slot>\n <z-icon name={this.open ? \"chevron-up\" : \"chevron-down\"} />\n </div>\n </button>\n );\n }\n\n return (\n <div class=\"menu-label\">\n <div class=\"menu-label-content\">\n <slot onSlotchange={this.onLabelSlotChange}></slot>\n </div>\n </div>\n );\n }\n\n render(): HTMLZMenuElement {\n return (\n <Host>\n {this.renderMenuLabel()}\n\n {this.hasContent && (\n <div\n class=\"content\"\n ref={(el) => (this.content = el)}\n >\n {this.hasHeader && (\n <header class=\"header\">\n <slot\n name=\"header\"\n onSlotchange={this.checkContent}\n ></slot>\n </header>\n )}\n\n <div\n class=\"items\"\n role=\"menu\"\n >\n <slot\n name=\"item\"\n onSlotchange={this.onItemsChange}\n ></slot>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,h as e}from"./p-75c4a726.js";import{P as n}from"./p-b34993de.js";import{d as s}from"./p-10607a39.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-secondary01);font-size:12px;font-weight:600}:host>div>div.content-wrapper>section>span.license-heading>span.expiring{color:var(--color-warning01);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:"0f8111d48191f306b232f8b9e167aeffced4674b"},this.renderCloseIcon(),e("div",{key:"57b77f2f3ad645cebb44d6a247d93c1e82b8f281",class:"content-wrapper",ref:i=>this.contentWrapper=i},this.renderGeneralSection(),this.renderTooltip(),this.renderOnlineLicenseSection(),this.renderOfflineLicenseSection()),e("div",{key:"226bd8e804cecfee34ff748a5d1936e68f6b2307",class:"cta-wrapper"},e("slot",{key:"2fc25a5fd61a0a04a44ceabb3372265424708f5f"})))}};a.style=r;export{a as z_myz_card_info};
2
- //# sourceMappingURL=p-9d850412.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZMyzCardInfoStyle0","ZMyzCardInfo","emitFlipCard","showBack","this","flipCard","emit","constructor","hostRef","bind","componentWillLoad","setStringOrArray","componentWillUpdate","componentDidRender","handleContentHeight","contentWrapper","infoWrapper","hiddenContent","scrollHeight","offsetHeight","height","onlineLicenseWrapper","offlineLicenseWrapper","style","data","cardData","JSON","parse","renderCloseIcon","h","name","width","onClick","tabindex","htmltabindex","onKeyUp","e","handleKeyboardSubmit","renderGeneralSection","title","_a","description","_b","class","tooltip","ref","el","renderAuthor","renderYear","author","year","renderTooltip","position","PopoverPosition","RIGHT","setExpirationLicenseMessage","type","onlineLicense","expired","offlineLicense","expiring","renderOnlineLicenseSection","expiration","renderOfflineLicenseSection","installations","render","key"],"sources":["src/snowflakes/myz/card/z-myz-card-info/styles.css?tag=z-myz-card-info&encapsulation=shadow","src/snowflakes/myz/card/z-myz-card-info/index.tsx"],"sourcesContent":[":host {\n width: 100%;\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n}\n\n:host > div {\n position: relative;\n display: grid;\n width: calc(100% + calc(var(--space-unit) * 2));\n height: 402px;\n box-sizing: border-box;\n padding: calc(var(--space-unit) * 2) calc(var(--space-unit) * 3);\n border: var(--border-size-small) solid var(--color-primary01);\n margin-left: calc(-1 * var(--space-unit));\n background: var(--color-surface01);\n border-radius: 0;\n box-shadow: 0 2px 4px 0 rgb(66 69 72 / 35%);\n}\n\n:host > div > z-icon {\n position: absolute;\n top: var(--space-unit);\n right: var(--space-unit);\n cursor: pointer;\n fill: var(--color-primary01);\n}\n\n:host > div > div.cta-wrapper {\n display: flex;\n flex-flow: column nowrap;\n align-self: end;\n justify-content: space-between;\n}\n\n:host > div > div.content-wrapper {\n position: relative;\n overflow: hidden;\n align-self: stretch;\n}\n\n:host > div > div.content-wrapper > section {\n box-sizing: border-box;\n padding: var(--space-unit) 0;\n border-bottom: var(--border-size-small) solid var(--color-surface04);\n color: var(--color-surface05);\n font-size: 14px;\n line-height: 20px;\n}\n\n:host > div > div.content-wrapper > section:last-child {\n border-bottom: none;\n}\n\n:host > div > div.content-wrapper > section.info-wrapper {\n position: relative;\n overflow: hidden;\n box-sizing: border-box;\n}\n\n:host > div > div.content-wrapper > section.info-wrapper.hidden::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: linear-gradient(180deg, rgb(255 0 0 / 0%), rgb(255 0 0 / 0%) 60%, white);\n content: \"\";\n pointer-events: none;\n}\n\n:host > div > div.content-wrapper > section > span.license-heading {\n display: flex;\n justify-content: space-between;\n}\n\n:host > div > div.content-wrapper > section > span.license-heading > span.expired {\n color: var(--color-secondary01);\n font-size: 12px;\n font-weight: 600;\n}\n\n:host > div > div.content-wrapper > section > span.license-heading > span.expiring {\n color: var(--color-warning01);\n font-size: 12px;\n font-weight: 600;\n}\n\n:host > div > div.content-wrapper > z-popover {\n position: absolute;\n top: 0;\n left: calc(var(--space-unit) * 4);\n}\n","import {Component, Event, EventEmitter, Prop, State, h} from \"@stencil/core\";\nimport {DictionaryData, PopoverPosition} from \"../../../../beans\";\nimport {handleKeyboardSubmit} from \"../../../../utils/utils\";\n\n/**\n * @slot - content\n */\n@Component({\n tag: \"z-myz-card-info\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZMyzCardInfo {\n /** dictionary info */\n @Prop()\n data: string | DictionaryData;\n\n /** tabindex link attribute (optional) */\n @Prop()\n htmltabindex?: number = 0;\n\n @State()\n hiddenContent = false;\n\n @State()\n tooltip = false;\n\n private cardData: DictionaryData;\n\n private contentWrapper: HTMLElement;\n\n private infoWrapper: HTMLElement;\n\n private onlineLicenseWrapper: HTMLElement;\n\n private offlineLicenseWrapper: HTMLElement;\n\n /** flip card to front */\n @Event()\n flipCard: EventEmitter;\n\n private emitFlipCard(showBack = false): void {\n this.flipCard.emit(showBack);\n }\n\n constructor() {\n this.emitFlipCard = this.emitFlipCard.bind(this);\n }\n\n componentWillLoad(): void {\n this.setStringOrArray();\n }\n\n componentWillUpdate(): void {\n this.setStringOrArray();\n }\n\n componentDidRender(): void {\n this.handleContentHeight();\n }\n\n private handleContentHeight(): void {\n if (!this.contentWrapper && !this.infoWrapper) {\n this.hiddenContent = false;\n\n return;\n }\n\n if (\n this.contentWrapper.scrollHeight > this.contentWrapper.offsetHeight ||\n this.infoWrapper.scrollHeight > this.infoWrapper.offsetHeight\n ) {\n const height =\n this.contentWrapper.offsetHeight -\n this.onlineLicenseWrapper.offsetHeight -\n this.offlineLicenseWrapper.offsetHeight;\n this.infoWrapper.style.height = `${height}px`;\n this.hiddenContent = true;\n\n return;\n }\n\n this.hiddenContent = false;\n }\n\n private setStringOrArray(): void {\n if (typeof this.data === \"string\") {\n this.cardData = JSON.parse(this.data);\n } else {\n this.cardData = this.data;\n }\n }\n\n private renderCloseIcon(): HTMLZIconElement {\n return (\n <z-icon\n name=\"multiply-circled-filled\"\n height={18}\n width={18}\n onClick={() => this.emitFlipCard(false)}\n tabindex={this.htmltabindex}\n onKeyUp={(e: KeyboardEvent) => {\n handleKeyboardSubmit(e, this.emitFlipCard, false);\n }}\n />\n );\n }\n\n private renderGeneralSection(): HTMLElement {\n const title = this?.cardData?.title;\n const description = this?.cardData?.description;\n\n return (\n <section\n class={`info-wrapper ${this.hiddenContent ? \"hidden\" : \"\"}`}\n onClick={() => {\n if (this.hiddenContent) {\n this.tooltip = !this.tooltip;\n }\n }}\n ref={(el) => (this.infoWrapper = el)}\n >\n {this.renderAuthor()}\n {this.renderYear()}\n {title}\n <br />\n {description}\n </section>\n );\n }\n\n private renderAuthor(): HTMLSpanElement {\n const author = this?.cardData?.author;\n if (!author) {\n return null;\n }\n\n return (\n <span>\n Autore: <b>{author}</b>\n <br />\n </span>\n );\n }\n\n private renderYear(): HTMLSpanElement {\n const year = this?.cardData?.year;\n if (!year) {\n return null;\n }\n\n return (\n <span>\n Anno: <b>{year}</b>\n <br />\n </span>\n );\n }\n\n private renderTooltip(): HTMLZPopoverElement {\n if (!this.tooltip) {\n return;\n }\n\n if (!this.cardData) {\n return;\n }\n const {title, year, author, description} = this.cardData;\n\n return (\n <z-popover\n position={PopoverPosition.RIGHT}\n onClick={() => (this.tooltip = false)}\n >\n {`${title} ${year} ${author} ${description}`}\n </z-popover>\n );\n }\n\n private setExpirationLicenseMessage(type: string): HTMLSpanElement {\n if (\n (type === \"online\" && this.cardData.onlineLicense.expired) ||\n (type === \"offline\" && this.cardData.offlineLicense.expired)\n ) {\n return <span class=\"expired\">SCADUTA</span>;\n }\n\n if (\n (type === \"online\" && this.cardData.onlineLicense.expiring) ||\n (type === \"offline\" && this.cardData.offlineLicense.expiring)\n ) {\n return <span class=\"expiring\">IN SCADENZA</span>;\n }\n }\n\n private renderOnlineLicenseSection(): HTMLElement {\n if (!this?.cardData?.onlineLicense) {\n return;\n }\n\n return (\n <section ref={(el) => (this.onlineLicenseWrapper = el)}>\n <span class=\"license-heading\">\n <span>Licenza online</span>\n {this.setExpirationLicenseMessage(\"online\")}\n </span>\n Scadenza il <b>{this.cardData.onlineLicense.expiration}</b>\n <br />\n </section>\n );\n }\n\n private renderOfflineLicenseSection(): HTMLElement {\n if (!this?.cardData?.offlineLicense) {\n return;\n }\n\n return (\n <section ref={(el) => (this.offlineLicenseWrapper = el)}>\n <span class=\"license-heading\">\n <span>Licenza offline</span>\n {this.setExpirationLicenseMessage(\"offline\")}\n </span>\n Scadenza il <b>{this.cardData.offlineLicense.expiration}</b>\n <br />\n Installazioni disponibili: <b>{this.cardData.offlineLicense.installations}</b>\n </section>\n );\n }\n\n render(): HTMLDivElement {\n return (\n <div>\n {this.renderCloseIcon()}\n <div\n class=\"content-wrapper\"\n ref={(el) => (this.contentWrapper = el)}\n >\n {this.renderGeneralSection()}\n {this.renderTooltip()}\n {this.renderOnlineLicenseSection()}\n {this.renderOfflineLicenseSection()}\n </div>\n <div class=\"cta-wrapper\">\n <slot />\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}