@zanichelli/albe-web-components 18.7.2 → 18.7.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 (41) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/web-components-library.cjs.js +1 -1
  4. package/dist/cjs/z-result-card.cjs.entry.js +7 -8
  5. package/dist/cjs/z-result-card.cjs.entry.js.map +1 -1
  6. package/dist/collection/components/result-card/z-result-card/index.js +23 -4
  7. package/dist/collection/components/result-card/z-result-card/index.js.map +1 -1
  8. package/dist/collection/components/result-card/z-result-card/styles.css +75 -0
  9. package/dist/collection/components/result-card/z-result-card/z-result-card.stories.js +43 -0
  10. package/dist/collection/components/result-card/z-result-card/z-result-card.stories.js.map +1 -1
  11. package/dist/components/z-result-card.js +9 -9
  12. package/dist/components/z-result-card.js.map +1 -1
  13. package/dist/esm/loader.js +1 -1
  14. package/dist/esm/web-components-library.js +1 -1
  15. package/dist/esm/z-result-card.entry.js +7 -8
  16. package/dist/esm/z-result-card.entry.js.map +1 -1
  17. package/dist/types/components/result-card/z-result-card/index.d.ts +5 -0
  18. package/dist/types/components/result-card/z-result-card/z-result-card.stories.d.ts +2 -0
  19. package/dist/types/components.d.ts +8 -0
  20. package/dist/web-components-library/p-ae6604b8.entry.js +2 -0
  21. package/dist/web-components-library/p-ae6604b8.entry.js.map +1 -0
  22. package/dist/web-components-library/web-components-library.css +0 -70
  23. package/dist/web-components-library/web-components-library.esm.js +1 -1
  24. package/dist/web-components-library/web-components-library.esm.js.map +1 -1
  25. package/package.json +1 -1
  26. package/www/build/p-ae6604b8.entry.js +2 -0
  27. package/www/build/p-ae6604b8.entry.js.map +1 -0
  28. package/www/build/{p-6f397468.css → p-dbdf8ca8.css} +0 -70
  29. package/www/build/{p-3cb315f8.js → p-e0f1bc3d.js} +1 -1
  30. package/www/build/web-components-library.css +0 -70
  31. package/www/build/web-components-library.esm.js +1 -1
  32. package/www/build/web-components-library.esm.js.map +1 -1
  33. package/www/index.html +1 -1
  34. package/dist/collection/components/css-components/z-cover/index.stories.js +0 -40
  35. package/dist/collection/components/css-components/z-cover/index.stories.js.map +0 -1
  36. package/dist/collection/components/css-components/z-cover/styles.css +0 -69
  37. package/dist/types/components/css-components/z-cover/index.stories.d.ts +0 -12
  38. package/dist/web-components-library/p-d5a77fd2.entry.js +0 -2
  39. package/dist/web-components-library/p-d5a77fd2.entry.js.map +0 -1
  40. package/www/build/p-d5a77fd2.entry.js +0 -2
  41. package/www/build/p-d5a77fd2.entry.js.map +0 -1
@@ -1,69 +0,0 @@
1
- .z-cover-container {
2
- position: relative;
3
- display: flex;
4
- width: 119px;
5
- height: 158px;
6
- align-items: center;
7
- justify-items: center;
8
- }
9
-
10
- .z-cover-stack {
11
- width: 100%;
12
- height: 100%;
13
- }
14
-
15
- /* Base sizes for single cover */
16
- .z-cover-shadow,
17
- .z-cover-img {
18
- width: 117px;
19
- min-width: 117px;
20
- max-width: 117px;
21
- height: 156px;
22
- min-height: 156px;
23
- max-height: 156px;
24
- }
25
-
26
- /* Scaled sizes for multiple covers */
27
- .z-cover-container.has-multiple .z-cover-shadow,
28
- .z-cover-container.has-multiple .z-cover-img {
29
- width: 105px;
30
- min-width: 105px;
31
- max-width: 105px;
32
- height: 140px;
33
- min-height: 140px;
34
- max-height: 140px;
35
- }
36
-
37
- .z-cover-shadow {
38
- position: absolute;
39
- z-index: 1;
40
- background-color: var(--color-white);
41
- }
42
-
43
- .z-shadow-1 {
44
- z-index: 0;
45
- top: var(--space-unit);
46
- right: 6px;
47
- border: var(--border-size-small) solid black;
48
- }
49
-
50
- .z-shadow-2 {
51
- z-index: 0;
52
- top: calc(var(--space-unit) * 2);
53
- right: 12px;
54
- border: var(--border-size-small) solid black;
55
- }
56
-
57
- .z-cover-img {
58
- position: absolute;
59
- z-index: 0;
60
- top: 0;
61
- right: 0;
62
- border: var(--border-size-small) solid black;
63
- object-fit: cover;
64
- object-position: left;
65
- }
66
-
67
- .z-cover-container.has-multiple .z-cover-img {
68
- left: 12px;
69
- }
@@ -1,12 +0,0 @@
1
- import { html } from "lit-html";
2
- import "./index.stories.css";
3
- import "./styles.css";
4
- declare const _default: {
5
- title: string;
6
- parameters: {
7
- layout: string;
8
- };
9
- };
10
- export default _default;
11
- export declare const SingleCover: () => ReturnType<typeof html>;
12
- export declare const MultipleCover: () => ReturnType<typeof html>;
@@ -1,2 +0,0 @@
1
- import{r as i,h as e,a as t,g as o}from"./p-75c4a726.js";import{i as s}from"./p-8d923a1d.js";const a=":host{display:flex;overflow:hidden;min-width:0;height:calc(174px - var(--space-unit) * 2);max-height:calc(174px - var(--space-unit) * 2);padding:var(--space-unit);border:var(--border-size-medium) solid var(--color-surface02);border-radius:var(--border-size-large);cursor:pointer;font-family:var(--font-family-sans)}:host(:focus:focus-visible){z-index:1;box-shadow:var(--shadow-focus-primary);outline:none}:host(.info-card:focus:focus-visible){z-index:1;box-shadow:var(--shadow-focus-primary);outline:none}.info-container{display:flex;overflow:hidden;min-width:0;flex:1;flex-direction:column;padding-left:calc(var(--space-unit) * 2)}.authors-label{overflow:hidden;color:var(--color-default-text);font-size:var(--font-size-2);font-weight:var(--font-rg);text-overflow:ellipsis;white-space:nowrap}.card-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;font-size:var(--font-size-3);font-weight:var(--font-bd);-webkit-line-clamp:2;line-clamp:2;line-height:1.5;word-break:break-word}.card-subtitle{overflow:hidden;color:var(--color-default-text);text-overflow:ellipsis;white-space:nowrap}.card-subtitle.info-subtitle{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;line-height:1.2;white-space:normal;word-break:break-word}.tags-container{display:flex;max-width:100%;flex-wrap:wrap;margin-top:calc(var(--space-unit) * 2);gap:var(--space-unit)}.volumes-label{display:flex;height:auto;flex-direction:column;margin-top:auto;color:var(--color-default-text);font-size:var(--font-size-1)}:host(.info-card){display:flex;height:calc(76px - var(--space-unit) * 2);max-height:calc(76px - var(--space-unit) * 2)}.info-icon-column{display:flex;width:50px;height:100%;align-items:center;justify-content:center}.info-icon-container{display:flex;width:34px;height:34px;align-items:center;justify-content:center;margin-bottom:calc(var(--space-unit) * 3);background-color:var(--gray50);border-radius:var(--border-size-large)}.card-title.info-title{display:-webkit-box;overflow:hidden;min-width:0;max-width:100%;max-height:2.4em;margin-top:0;margin-bottom:4px;-webkit-box-orient:vertical;font-size:var(--font-size-3);font-weight:var(--font-bd);-webkit-line-clamp:1;line-clamp:1;line-height:1.2;word-break:break-word}.info-icon{width:18px;height:18px;color:var(--color-default-text)}@media (max-width: 768px){.card-title{display:block;overflow:hidden;line-height:normal;text-overflow:ellipsis;white-space:nowrap}}";const r=a;const n=".z-cover-container{position:relative;display:flex;width:119px;height:158px;align-items:center;justify-items:center}.z-cover-stack{width:100%;height:100%}.z-cover-shadow,.z-cover-img{width:117px;min-width:117px;max-width:117px;height:156px;min-height:156px;max-height:156px}.z-cover-container.has-multiple .z-cover-shadow,.z-cover-container.has-multiple .z-cover-img{width:105px;min-width:105px;max-width:105px;height:140px;min-height:140px;max-height:140px}.z-cover-shadow{position:absolute;z-index:1;background-color:var(--color-white)}.z-shadow-1{z-index:0;top:var(--space-unit);right:6px;border:var(--border-size-small) solid black}.z-shadow-2{z-index:0;top:calc(var(--space-unit) * 2);right:12px;border:var(--border-size-small) solid black}.z-cover-img{position:absolute;z-index:0;top:0;right:0;border:var(--border-size-small) solid black;object-fit:cover;object-position:left}.z-cover-container.has-multiple .z-cover-img{left:12px}";const l=n;const c=class{constructor(o){i(this,o);this.resizeHandler=()=>{this.setTooltipTitle(this.authorsRef);this.setTooltipTitle(this.titleRef);this.setTooltipTitle(this.subtitleRef)};this.renderOperaCard=()=>e(t,{tabIndex:0},e("div",{class:`z-cover-container ${this.hasMultipleCovers?"has-multiple":""}`},e("div",{class:"z-cover-stack"},this.hasMultipleCovers&&e("div",null,e("div",{class:"z-cover-shadow z-shadow-2"}),e("div",{class:"z-cover-shadow z-shadow-1"})),e("img",{src:this.cover,alt:"Book Cover",class:"z-cover-img",onError:()=>{if(this.fallbackCover){this.cover=this.fallbackCover}else{this.cover=s}}}))),e("div",{class:"info-container"},this.authors&&e("span",{class:"authors-label",ref:i=>this.authorsRef=i},this.authors),e("span",{class:"card-title",ref:i=>this.titleRef=i},this.cardTitle),e("span",{class:"card-subtitle",ref:i=>this.subtitleRef=i},this.cardSubtitle),e("div",{class:"tags-container"},e("slot",{name:"tags"})),e("div",{class:"volumes-label"},e("slot",{name:"volumes"}))));this.renderInfoCard=()=>e(t,{tabIndex:0,class:"info-card"},e("div",{class:"info-icon-column"},e("div",{class:"info-icon-container"},e("z-icon",{class:"info-icon",name:"link",width:18,height:18}))),e("div",{class:"info-container"},e("span",{class:"card-title info-title",ref:i=>this.titleRef=i},this.cardTitle),e("span",{class:"card-subtitle info-subtitle",ref:i=>this.subtitleRef=i},this.cardSubtitle)));this.cardTitle=undefined;this.cardSubtitle=undefined;this.authors=undefined;this.cover=undefined;this.fallbackCover=undefined;this.hasMultipleCovers=false;this.isInfoCard=false}setTooltipTitle(i){if(!i){return}const e=window.getComputedStyle(i);const t=e.getPropertyValue("-webkit-line-clamp")!=="none";let o;if(t){const t=parseInt(e.lineHeight);const s=parseInt(e.getPropertyValue("-webkit-line-clamp"));const a=t*s;o=i.scrollHeight>a}else{o=i.scrollWidth>i.clientWidth||i.scrollHeight>i.clientHeight}if(o){i.setAttribute("title",i.textContent.trim())}else{i.removeAttribute("title")}}componentDidRender(){this.setTooltipTitle(this.authorsRef);this.setTooltipTitle(this.titleRef);this.setTooltipTitle(this.subtitleRef)}componentDidLoad(){window.addEventListener("resize",this.resizeHandler)}disconnectedCallback(){window.removeEventListener("resize",this.resizeHandler)}render(){return this.isInfoCard?this.renderInfoCard():this.renderOperaCard()}get hostElement(){return o(this)}};c.style=r+l;export{c as z_result_card};
2
- //# sourceMappingURL=p-d5a77fd2.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZResultCardStyle0","ZResultCardStyle1","ZResultCard","this","resizeHandler","setTooltipTitle","authorsRef","titleRef","subtitleRef","renderOperaCard","h","Host","tabIndex","class","hasMultipleCovers","src","cover","alt","onError","fallbackCover","defaultFallbackCover","authors","ref","el","cardTitle","cardSubtitle","name","renderInfoCard","width","height","style","window","getComputedStyle","hasLineClamp","getPropertyValue","isTruncated","lineHeight","parseInt","maxLines","maxHeight","scrollHeight","scrollWidth","clientWidth","clientHeight","setAttribute","textContent","trim","removeAttribute","componentDidRender","componentDidLoad","addEventListener","disconnectedCallback","removeEventListener","render","isInfoCard"],"sources":["src/components/result-card/z-result-card/styles.css?tag=z-result-card&encapsulation=shadow","src/components/css-components/z-cover/styles.css?tag=z-result-card&encapsulation=shadow","src/components/result-card/z-result-card/index.tsx"],"sourcesContent":[":host {\n display: flex;\n overflow: hidden;\n min-width: 0;\n height: calc(174px - var(--space-unit) * 2);\n max-height: calc(174px - var(--space-unit) * 2);\n padding: var(--space-unit);\n border: var(--border-size-medium) solid var(--color-surface02);\n border-radius: var(--border-size-large);\n cursor: pointer;\n font-family: var(--font-family-sans);\n}\n\n:host(:focus:focus-visible) {\n z-index: 1;\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host(.info-card:focus:focus-visible) {\n z-index: 1;\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n.info-container {\n display: flex;\n overflow: hidden;\n min-width: 0;\n flex: 1;\n flex-direction: column;\n padding-left: calc(var(--space-unit) * 2);\n}\n\n.authors-label {\n overflow: hidden;\n color: var(--color-default-text);\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.card-title {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n font-size: var(--font-size-3);\n font-weight: var(--font-bd);\n -webkit-line-clamp: 2;\n line-clamp: 2;\n line-height: 1.5;\n word-break: break-word;\n}\n\n.card-subtitle {\n overflow: hidden;\n color: var(--color-default-text);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.card-subtitle.info-subtitle {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n line-height: 1.2;\n white-space: normal;\n word-break: break-word;\n}\n\n.tags-container {\n display: flex;\n max-width: 100%;\n flex-wrap: wrap;\n margin-top: calc(var(--space-unit) * 2);\n gap: var(--space-unit);\n}\n\n.volumes-label {\n display: flex;\n height: auto;\n flex-direction: column;\n margin-top: auto;\n color: var(--color-default-text);\n font-size: var(--font-size-1);\n}\n\n:host(.info-card) {\n display: flex;\n height: calc(76px - var(--space-unit) * 2);\n max-height: calc(76px - var(--space-unit) * 2);\n}\n\n.info-icon-column {\n display: flex;\n width: 50px;\n height: 100%;\n align-items: center;\n justify-content: center;\n}\n\n.info-icon-container {\n display: flex;\n width: 34px;\n height: 34px;\n align-items: center;\n justify-content: center;\n margin-bottom: calc(var(--space-unit) * 3);\n background-color: var(--gray50);\n border-radius: var(--border-size-large);\n}\n\n.card-title.info-title {\n display: -webkit-box;\n overflow: hidden;\n min-width: 0;\n max-width: 100%;\n max-height: 2.4em;\n margin-top: 0;\n margin-bottom: 4px;\n -webkit-box-orient: vertical;\n font-size: var(--font-size-3);\n font-weight: var(--font-bd);\n -webkit-line-clamp: 1;\n line-clamp: 1;\n line-height: 1.2;\n word-break: break-word;\n}\n\n.info-icon {\n width: 18px;\n height: 18px;\n color: var(--color-default-text);\n}\n\n@media (max-width: 768px) {\n .card-title {\n display: block;\n overflow: hidden;\n line-height: normal;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n",".z-cover-container {\n position: relative;\n display: flex;\n width: 119px;\n height: 158px;\n align-items: center;\n justify-items: center;\n}\n\n.z-cover-stack {\n width: 100%;\n height: 100%;\n}\n\n/* Base sizes for single cover */\n.z-cover-shadow,\n.z-cover-img {\n width: 117px;\n min-width: 117px;\n max-width: 117px;\n height: 156px;\n min-height: 156px;\n max-height: 156px;\n}\n\n/* Scaled sizes for multiple covers */\n.z-cover-container.has-multiple .z-cover-shadow,\n.z-cover-container.has-multiple .z-cover-img {\n width: 105px;\n min-width: 105px;\n max-width: 105px;\n height: 140px;\n min-height: 140px;\n max-height: 140px;\n}\n\n.z-cover-shadow {\n position: absolute;\n z-index: 1;\n background-color: var(--color-white);\n}\n\n.z-shadow-1 {\n z-index: 0;\n top: var(--space-unit);\n right: 6px;\n border: var(--border-size-small) solid black;\n}\n\n.z-shadow-2 {\n z-index: 0;\n top: calc(var(--space-unit) * 2);\n right: 12px;\n border: var(--border-size-small) solid black;\n}\n\n.z-cover-img {\n position: absolute;\n z-index: 0;\n top: 0;\n right: 0;\n border: var(--border-size-small) solid black;\n object-fit: cover;\n object-position: left;\n}\n\n.z-cover-container.has-multiple .z-cover-img {\n left: 12px;\n}\n","import {Component, Element, Host, Prop, h} from \"@stencil/core\";\nimport defaultFallbackCover from \"../../../assets/images/png/placeholder-cover.png\";\n\n@Component({\n tag: \"z-result-card\",\n styleUrls: [\"styles.css\", \"../../css-components/z-cover/styles.css\"],\n shadow: true,\n})\nexport class ZResultCard {\n @Element() hostElement: HTMLZResultCardElement;\n\n /**\n * The title of the card.\n */\n @Prop()\n cardTitle: string;\n\n /**\n * The subtitle of the card.\n */\n @Prop()\n cardSubtitle: string;\n\n /**\n * The authors of the opera.\n */\n @Prop()\n authors?: string;\n\n /**\n * The URL of the cover image.\n * This is used to display the cover image of the opera.\n */\n @Prop()\n cover?: string;\n\n /** [optional] Fallback cover URL */\n @Prop()\n fallbackCover?: string;\n\n /**\n * Indicates whether the card has multiple covers.\n * This is used to apply specific styles when there are multiple covers.\n */\n @Prop()\n hasMultipleCovers = false;\n\n /**\n * Indicates whether the card is an info page.\n * This can be used to apply specific styles or behaviors for info pages.\n */\n @Prop()\n isInfoCard = false;\n\n private authorsRef: HTMLElement;\n\n private titleRef: HTMLElement;\n\n private subtitleRef: HTMLElement;\n\n private setTooltipTitle(el: HTMLElement): void {\n if (!el) {\n return;\n }\n\n // Check if element uses line-clamp\n const style = window.getComputedStyle(el);\n const hasLineClamp = style.getPropertyValue(\"-webkit-line-clamp\") !== \"none\";\n\n let isTruncated;\n if (hasLineClamp) {\n // For elements with line-clamp, check if content height exceeds line-clamp height\n const lineHeight = parseInt(style.lineHeight);\n const maxLines = parseInt(style.getPropertyValue(\"-webkit-line-clamp\"));\n const maxHeight = lineHeight * maxLines;\n\n isTruncated = el.scrollHeight > maxHeight;\n } else {\n // Original check for elements without line-clamp\n isTruncated = el.scrollWidth > el.clientWidth || el.scrollHeight > el.clientHeight;\n }\n\n if (isTruncated) {\n el.setAttribute(\"title\", el.textContent.trim());\n } else {\n el.removeAttribute(\"title\");\n }\n }\n\n componentDidRender(): void {\n this.setTooltipTitle(this.authorsRef);\n this.setTooltipTitle(this.titleRef);\n this.setTooltipTitle(this.subtitleRef);\n }\n\n private resizeHandler = (): void => {\n this.setTooltipTitle(this.authorsRef);\n this.setTooltipTitle(this.titleRef);\n this.setTooltipTitle(this.subtitleRef);\n };\n\n componentDidLoad(): void {\n window.addEventListener(\"resize\", this.resizeHandler);\n }\n\n disconnectedCallback(): void {\n window.removeEventListener(\"resize\", this.resizeHandler);\n }\n\n private renderOperaCard = (): HTMLZResultCardElement => {\n return (\n <Host tabIndex={0}>\n <div class={`z-cover-container ${this.hasMultipleCovers ? \"has-multiple\" : \"\"}`}>\n <div class=\"z-cover-stack\">\n {this.hasMultipleCovers && (\n <div>\n <div class=\"z-cover-shadow z-shadow-2\" />\n <div class=\"z-cover-shadow z-shadow-1\" />\n </div>\n )}\n <img\n src={this.cover}\n alt=\"Book Cover\"\n class=\"z-cover-img\"\n onError={() => {\n if (this.fallbackCover) {\n this.cover = this.fallbackCover;\n } else {\n this.cover = defaultFallbackCover;\n }\n }}\n />\n </div>\n </div>\n <div class=\"info-container\">\n {this.authors && (\n <span\n class=\"authors-label\"\n ref={(el) => (this.authorsRef = el as HTMLElement)}\n >\n {this.authors}\n </span>\n )}\n <span\n class=\"card-title\"\n ref={(el) => (this.titleRef = el as HTMLElement)}\n >\n {this.cardTitle}\n </span>\n <span\n class=\"card-subtitle\"\n ref={(el) => (this.subtitleRef = el as HTMLElement)}\n >\n {this.cardSubtitle}\n </span>\n <div class=\"tags-container\">\n <slot name=\"tags\"></slot>\n </div>\n <div class=\"volumes-label\">\n <slot name=\"volumes\"></slot>\n </div>\n </div>\n </Host>\n );\n };\n\n private renderInfoCard = (): HTMLZResultCardElement => {\n return (\n <Host\n tabIndex={0}\n class=\"info-card\"\n >\n <div class=\"info-icon-column\">\n <div class=\"info-icon-container\">\n <z-icon\n class=\"info-icon\"\n name=\"link\"\n width={18}\n height={18}\n />\n </div>\n </div>\n <div class=\"info-container\">\n <span\n class=\"card-title info-title\"\n ref={(el) => (this.titleRef = el as HTMLElement)}\n >\n {this.cardTitle}\n </span>\n <span\n class=\"card-subtitle info-subtitle\"\n ref={(el) => (this.subtitleRef = el as HTMLElement)}\n >\n {this.cardSubtitle}\n </span>\n </div>\n </Host>\n );\n };\n\n render(): HTMLZResultCardElement {\n return this.isInfoCard ? this.renderInfoCard() : this.renderOperaCard();\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAY,45EAClB,MAAAC,EAAeD,ECDf,MAAMA,EAAY,26BAClB,MAAAE,EAAeF,E,MCOFG,EAAW,M,yBAuFdC,KAAAC,cAAgB,KACtBD,KAAKE,gBAAgBF,KAAKG,YAC1BH,KAAKE,gBAAgBF,KAAKI,UAC1BJ,KAAKE,gBAAgBF,KAAKK,YAAY,EAWhCL,KAAAM,gBAAkB,IAEtBC,EAACC,EAAI,CAACC,SAAU,GACdF,EAAA,OAAKG,MAAO,qBAAqBV,KAAKW,kBAAoB,eAAiB,MACzEJ,EAAA,OAAKG,MAAM,iBACRV,KAAKW,mBACJJ,EAAA,WACEA,EAAA,OAAKG,MAAM,8BACXH,EAAA,OAAKG,MAAM,+BAGfH,EAAA,OACEK,IAAKZ,KAAKa,MACVC,IAAI,aACJJ,MAAM,cACNK,QAAS,KACP,GAAIf,KAAKgB,cAAe,CACtBhB,KAAKa,MAAQb,KAAKgB,a,KACb,CACLhB,KAAKa,MAAQI,C,OAMvBV,EAAA,OAAKG,MAAM,kBACRV,KAAKkB,SACJX,EAAA,QACEG,MAAM,gBACNS,IAAMC,GAAQpB,KAAKG,WAAaiB,GAE/BpB,KAAKkB,SAGVX,EAAA,QACEG,MAAM,aACNS,IAAMC,GAAQpB,KAAKI,SAAWgB,GAE7BpB,KAAKqB,WAERd,EAAA,QACEG,MAAM,gBACNS,IAAMC,GAAQpB,KAAKK,YAAce,GAEhCpB,KAAKsB,cAERf,EAAA,OAAKG,MAAM,kBACTH,EAAA,QAAMgB,KAAK,UAEbhB,EAAA,OAAKG,MAAM,iBACTH,EAAA,QAAMgB,KAAK,eAObvB,KAAAwB,eAAiB,IAErBjB,EAACC,EAAI,CACHC,SAAU,EACVC,MAAM,aAENH,EAAA,OAAKG,MAAM,oBACTH,EAAA,OAAKG,MAAM,uBACTH,EAAA,UACEG,MAAM,YACNa,KAAK,OACLE,MAAO,GACPC,OAAQ,OAIdnB,EAAA,OAAKG,MAAM,kBACTH,EAAA,QACEG,MAAM,wBACNS,IAAMC,GAAQpB,KAAKI,SAAWgB,GAE7BpB,KAAKqB,WAERd,EAAA,QACEG,MAAM,8BACNS,IAAMC,GAAQpB,KAAKK,YAAce,GAEhCpB,KAAKsB,gB,qJApJI,M,gBAOP,K,CAQL,eAAApB,CAAgBkB,GACtB,IAAKA,EAAI,CACP,M,CAIF,MAAMO,EAAQC,OAAOC,iBAAiBT,GACtC,MAAMU,EAAeH,EAAMI,iBAAiB,wBAA0B,OAEtE,IAAIC,EACJ,GAAIF,EAAc,CAEhB,MAAMG,EAAaC,SAASP,EAAMM,YAClC,MAAME,EAAWD,SAASP,EAAMI,iBAAiB,uBACjD,MAAMK,EAAYH,EAAaE,EAE/BH,EAAcZ,EAAGiB,aAAeD,C,KAC3B,CAELJ,EAAcZ,EAAGkB,YAAclB,EAAGmB,aAAenB,EAAGiB,aAAejB,EAAGoB,Y,CAGxE,GAAIR,EAAa,CACfZ,EAAGqB,aAAa,QAASrB,EAAGsB,YAAYC,O,KACnC,CACLvB,EAAGwB,gBAAgB,Q,EAIvB,kBAAAC,GACE7C,KAAKE,gBAAgBF,KAAKG,YAC1BH,KAAKE,gBAAgBF,KAAKI,UAC1BJ,KAAKE,gBAAgBF,KAAKK,Y,CAS5B,gBAAAyC,GACElB,OAAOmB,iBAAiB,SAAU/C,KAAKC,c,CAGzC,oBAAA+C,GACEpB,OAAOqB,oBAAoB,SAAUjD,KAAKC,c,CA8F5C,MAAAiD,GACE,OAAOlD,KAAKmD,WAAanD,KAAKwB,iBAAmBxB,KAAKM,iB","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as i,h as e,a as t,g as o}from"./p-75c4a726.js";import{i as s}from"./p-8d923a1d.js";const a=":host{display:flex;overflow:hidden;min-width:0;height:calc(174px - var(--space-unit) * 2);max-height:calc(174px - var(--space-unit) * 2);padding:var(--space-unit);border:var(--border-size-medium) solid var(--color-surface02);border-radius:var(--border-size-large);cursor:pointer;font-family:var(--font-family-sans)}:host(:focus:focus-visible){z-index:1;box-shadow:var(--shadow-focus-primary);outline:none}:host(.info-card:focus:focus-visible){z-index:1;box-shadow:var(--shadow-focus-primary);outline:none}.info-container{display:flex;overflow:hidden;min-width:0;flex:1;flex-direction:column;padding-left:calc(var(--space-unit) * 2)}.authors-label{overflow:hidden;color:var(--color-default-text);font-size:var(--font-size-2);font-weight:var(--font-rg);text-overflow:ellipsis;white-space:nowrap}.card-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;font-size:var(--font-size-3);font-weight:var(--font-bd);-webkit-line-clamp:2;line-clamp:2;line-height:1.5;word-break:break-word}.card-subtitle{overflow:hidden;color:var(--color-default-text);text-overflow:ellipsis;white-space:nowrap}.card-subtitle.info-subtitle{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;line-height:1.2;white-space:normal;word-break:break-word}.tags-container{display:flex;max-width:100%;flex-wrap:wrap;margin-top:calc(var(--space-unit) * 2);gap:var(--space-unit)}.volumes-label{display:flex;height:auto;flex-direction:column;margin-top:auto;color:var(--color-default-text);font-size:var(--font-size-1)}:host(.info-card){display:flex;height:calc(76px - var(--space-unit) * 2);max-height:calc(76px - var(--space-unit) * 2)}.info-icon-column{display:flex;width:50px;height:100%;align-items:center;justify-content:center}.info-icon-container{display:flex;width:34px;height:34px;align-items:center;justify-content:center;margin-bottom:calc(var(--space-unit) * 3);background-color:var(--gray50);border-radius:var(--border-size-large)}.card-title.info-title{display:-webkit-box;overflow:hidden;min-width:0;max-width:100%;max-height:2.4em;margin-top:0;margin-bottom:4px;-webkit-box-orient:vertical;font-size:var(--font-size-3);font-weight:var(--font-bd);-webkit-line-clamp:1;line-clamp:1;line-height:1.2;word-break:break-word}.info-icon{width:18px;height:18px;color:var(--color-default-text)}@media (max-width: 768px){.card-title{display:block;overflow:hidden;line-height:normal;text-overflow:ellipsis;white-space:nowrap}}";const r=a;const n=".z-cover-container{position:relative;display:flex;width:119px;height:158px;align-items:center;justify-items:center}.z-cover-stack{width:100%;height:100%}.z-cover-shadow,.z-cover-img{width:117px;min-width:117px;max-width:117px;height:156px;min-height:156px;max-height:156px}.z-cover-container.has-multiple .z-cover-shadow,.z-cover-container.has-multiple .z-cover-img{width:105px;min-width:105px;max-width:105px;height:140px;min-height:140px;max-height:140px}.z-cover-shadow{position:absolute;z-index:1;background-color:var(--color-white)}.z-shadow-1{z-index:0;top:var(--space-unit);right:6px;border:var(--border-size-small) solid black}.z-shadow-2{z-index:0;top:calc(var(--space-unit) * 2);right:12px;border:var(--border-size-small) solid black}.z-cover-img{position:absolute;z-index:0;top:0;right:0;border:var(--border-size-small) solid black;object-fit:cover;object-position:left}.z-cover-container.has-multiple .z-cover-img{left:12px}";const l=n;const c=class{constructor(o){i(this,o);this.resizeHandler=()=>{this.setTooltipTitle(this.authorsRef);this.setTooltipTitle(this.titleRef);this.setTooltipTitle(this.subtitleRef)};this.renderOperaCard=()=>e(t,{tabIndex:0},e("div",{class:`z-cover-container ${this.hasMultipleCovers?"has-multiple":""}`},e("div",{class:"z-cover-stack"},this.hasMultipleCovers&&e("div",null,e("div",{class:"z-cover-shadow z-shadow-2"}),e("div",{class:"z-cover-shadow z-shadow-1"})),e("img",{src:this.cover,alt:"Book Cover",class:"z-cover-img",onError:()=>{if(this.fallbackCover){this.cover=this.fallbackCover}else{this.cover=s}}}))),e("div",{class:"info-container"},this.authors&&e("span",{class:"authors-label",ref:i=>this.authorsRef=i},this.authors),e("span",{class:"card-title",ref:i=>this.titleRef=i},this.cardTitle),e("span",{class:"card-subtitle",ref:i=>this.subtitleRef=i},this.cardSubtitle),e("div",{class:"tags-container"},e("slot",{name:"tags"})),e("div",{class:"volumes-label"},e("slot",{name:"volumes"}))));this.renderInfoCard=()=>e(t,{tabIndex:0,class:"info-card"},e("div",{class:"info-icon-column"},e("div",{class:"info-icon-container"},e("z-icon",{class:"info-icon",name:"link",width:18,height:18}))),e("div",{class:"info-container"},e("span",{class:"card-title info-title",ref:i=>this.titleRef=i},this.cardTitle),e("span",{class:"card-subtitle info-subtitle",ref:i=>this.subtitleRef=i},this.cardSubtitle)));this.cardTitle=undefined;this.cardSubtitle=undefined;this.authors=undefined;this.cover=undefined;this.fallbackCover=undefined;this.hasMultipleCovers=false;this.isInfoCard=false}setTooltipTitle(i){if(!i){return}const e=window.getComputedStyle(i);const t=e.getPropertyValue("-webkit-line-clamp")!=="none";let o;if(t){const t=parseInt(e.lineHeight);const s=parseInt(e.getPropertyValue("-webkit-line-clamp"));const a=t*s;o=i.scrollHeight>a}else{o=i.scrollWidth>i.clientWidth||i.scrollHeight>i.clientHeight}if(o){i.setAttribute("title",i.textContent.trim())}else{i.removeAttribute("title")}}componentDidRender(){this.setTooltipTitle(this.authorsRef);this.setTooltipTitle(this.titleRef);this.setTooltipTitle(this.subtitleRef)}componentDidLoad(){window.addEventListener("resize",this.resizeHandler)}disconnectedCallback(){window.removeEventListener("resize",this.resizeHandler)}render(){return this.isInfoCard?this.renderInfoCard():this.renderOperaCard()}get hostElement(){return o(this)}};c.style=r+l;export{c as z_result_card};
2
- //# sourceMappingURL=p-d5a77fd2.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","ZResultCardStyle0","ZResultCardStyle1","ZResultCard","this","resizeHandler","setTooltipTitle","authorsRef","titleRef","subtitleRef","renderOperaCard","h","Host","tabIndex","class","hasMultipleCovers","src","cover","alt","onError","fallbackCover","defaultFallbackCover","authors","ref","el","cardTitle","cardSubtitle","name","renderInfoCard","width","height","style","window","getComputedStyle","hasLineClamp","getPropertyValue","isTruncated","lineHeight","parseInt","maxLines","maxHeight","scrollHeight","scrollWidth","clientWidth","clientHeight","setAttribute","textContent","trim","removeAttribute","componentDidRender","componentDidLoad","addEventListener","disconnectedCallback","removeEventListener","render","isInfoCard"],"sources":["src/components/result-card/z-result-card/styles.css?tag=z-result-card&encapsulation=shadow","src/components/css-components/z-cover/styles.css?tag=z-result-card&encapsulation=shadow","src/components/result-card/z-result-card/index.tsx"],"sourcesContent":[":host {\n display: flex;\n overflow: hidden;\n min-width: 0;\n height: calc(174px - var(--space-unit) * 2);\n max-height: calc(174px - var(--space-unit) * 2);\n padding: var(--space-unit);\n border: var(--border-size-medium) solid var(--color-surface02);\n border-radius: var(--border-size-large);\n cursor: pointer;\n font-family: var(--font-family-sans);\n}\n\n:host(:focus:focus-visible) {\n z-index: 1;\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n:host(.info-card:focus:focus-visible) {\n z-index: 1;\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\n.info-container {\n display: flex;\n overflow: hidden;\n min-width: 0;\n flex: 1;\n flex-direction: column;\n padding-left: calc(var(--space-unit) * 2);\n}\n\n.authors-label {\n overflow: hidden;\n color: var(--color-default-text);\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.card-title {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n font-size: var(--font-size-3);\n font-weight: var(--font-bd);\n -webkit-line-clamp: 2;\n line-clamp: 2;\n line-height: 1.5;\n word-break: break-word;\n}\n\n.card-subtitle {\n overflow: hidden;\n color: var(--color-default-text);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.card-subtitle.info-subtitle {\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n line-height: 1.2;\n white-space: normal;\n word-break: break-word;\n}\n\n.tags-container {\n display: flex;\n max-width: 100%;\n flex-wrap: wrap;\n margin-top: calc(var(--space-unit) * 2);\n gap: var(--space-unit);\n}\n\n.volumes-label {\n display: flex;\n height: auto;\n flex-direction: column;\n margin-top: auto;\n color: var(--color-default-text);\n font-size: var(--font-size-1);\n}\n\n:host(.info-card) {\n display: flex;\n height: calc(76px - var(--space-unit) * 2);\n max-height: calc(76px - var(--space-unit) * 2);\n}\n\n.info-icon-column {\n display: flex;\n width: 50px;\n height: 100%;\n align-items: center;\n justify-content: center;\n}\n\n.info-icon-container {\n display: flex;\n width: 34px;\n height: 34px;\n align-items: center;\n justify-content: center;\n margin-bottom: calc(var(--space-unit) * 3);\n background-color: var(--gray50);\n border-radius: var(--border-size-large);\n}\n\n.card-title.info-title {\n display: -webkit-box;\n overflow: hidden;\n min-width: 0;\n max-width: 100%;\n max-height: 2.4em;\n margin-top: 0;\n margin-bottom: 4px;\n -webkit-box-orient: vertical;\n font-size: var(--font-size-3);\n font-weight: var(--font-bd);\n -webkit-line-clamp: 1;\n line-clamp: 1;\n line-height: 1.2;\n word-break: break-word;\n}\n\n.info-icon {\n width: 18px;\n height: 18px;\n color: var(--color-default-text);\n}\n\n@media (max-width: 768px) {\n .card-title {\n display: block;\n overflow: hidden;\n line-height: normal;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n}\n",".z-cover-container {\n position: relative;\n display: flex;\n width: 119px;\n height: 158px;\n align-items: center;\n justify-items: center;\n}\n\n.z-cover-stack {\n width: 100%;\n height: 100%;\n}\n\n/* Base sizes for single cover */\n.z-cover-shadow,\n.z-cover-img {\n width: 117px;\n min-width: 117px;\n max-width: 117px;\n height: 156px;\n min-height: 156px;\n max-height: 156px;\n}\n\n/* Scaled sizes for multiple covers */\n.z-cover-container.has-multiple .z-cover-shadow,\n.z-cover-container.has-multiple .z-cover-img {\n width: 105px;\n min-width: 105px;\n max-width: 105px;\n height: 140px;\n min-height: 140px;\n max-height: 140px;\n}\n\n.z-cover-shadow {\n position: absolute;\n z-index: 1;\n background-color: var(--color-white);\n}\n\n.z-shadow-1 {\n z-index: 0;\n top: var(--space-unit);\n right: 6px;\n border: var(--border-size-small) solid black;\n}\n\n.z-shadow-2 {\n z-index: 0;\n top: calc(var(--space-unit) * 2);\n right: 12px;\n border: var(--border-size-small) solid black;\n}\n\n.z-cover-img {\n position: absolute;\n z-index: 0;\n top: 0;\n right: 0;\n border: var(--border-size-small) solid black;\n object-fit: cover;\n object-position: left;\n}\n\n.z-cover-container.has-multiple .z-cover-img {\n left: 12px;\n}\n","import {Component, Element, Host, Prop, h} from \"@stencil/core\";\nimport defaultFallbackCover from \"../../../assets/images/png/placeholder-cover.png\";\n\n@Component({\n tag: \"z-result-card\",\n styleUrls: [\"styles.css\", \"../../css-components/z-cover/styles.css\"],\n shadow: true,\n})\nexport class ZResultCard {\n @Element() hostElement: HTMLZResultCardElement;\n\n /**\n * The title of the card.\n */\n @Prop()\n cardTitle: string;\n\n /**\n * The subtitle of the card.\n */\n @Prop()\n cardSubtitle: string;\n\n /**\n * The authors of the opera.\n */\n @Prop()\n authors?: string;\n\n /**\n * The URL of the cover image.\n * This is used to display the cover image of the opera.\n */\n @Prop()\n cover?: string;\n\n /** [optional] Fallback cover URL */\n @Prop()\n fallbackCover?: string;\n\n /**\n * Indicates whether the card has multiple covers.\n * This is used to apply specific styles when there are multiple covers.\n */\n @Prop()\n hasMultipleCovers = false;\n\n /**\n * Indicates whether the card is an info page.\n * This can be used to apply specific styles or behaviors for info pages.\n */\n @Prop()\n isInfoCard = false;\n\n private authorsRef: HTMLElement;\n\n private titleRef: HTMLElement;\n\n private subtitleRef: HTMLElement;\n\n private setTooltipTitle(el: HTMLElement): void {\n if (!el) {\n return;\n }\n\n // Check if element uses line-clamp\n const style = window.getComputedStyle(el);\n const hasLineClamp = style.getPropertyValue(\"-webkit-line-clamp\") !== \"none\";\n\n let isTruncated;\n if (hasLineClamp) {\n // For elements with line-clamp, check if content height exceeds line-clamp height\n const lineHeight = parseInt(style.lineHeight);\n const maxLines = parseInt(style.getPropertyValue(\"-webkit-line-clamp\"));\n const maxHeight = lineHeight * maxLines;\n\n isTruncated = el.scrollHeight > maxHeight;\n } else {\n // Original check for elements without line-clamp\n isTruncated = el.scrollWidth > el.clientWidth || el.scrollHeight > el.clientHeight;\n }\n\n if (isTruncated) {\n el.setAttribute(\"title\", el.textContent.trim());\n } else {\n el.removeAttribute(\"title\");\n }\n }\n\n componentDidRender(): void {\n this.setTooltipTitle(this.authorsRef);\n this.setTooltipTitle(this.titleRef);\n this.setTooltipTitle(this.subtitleRef);\n }\n\n private resizeHandler = (): void => {\n this.setTooltipTitle(this.authorsRef);\n this.setTooltipTitle(this.titleRef);\n this.setTooltipTitle(this.subtitleRef);\n };\n\n componentDidLoad(): void {\n window.addEventListener(\"resize\", this.resizeHandler);\n }\n\n disconnectedCallback(): void {\n window.removeEventListener(\"resize\", this.resizeHandler);\n }\n\n private renderOperaCard = (): HTMLZResultCardElement => {\n return (\n <Host tabIndex={0}>\n <div class={`z-cover-container ${this.hasMultipleCovers ? \"has-multiple\" : \"\"}`}>\n <div class=\"z-cover-stack\">\n {this.hasMultipleCovers && (\n <div>\n <div class=\"z-cover-shadow z-shadow-2\" />\n <div class=\"z-cover-shadow z-shadow-1\" />\n </div>\n )}\n <img\n src={this.cover}\n alt=\"Book Cover\"\n class=\"z-cover-img\"\n onError={() => {\n if (this.fallbackCover) {\n this.cover = this.fallbackCover;\n } else {\n this.cover = defaultFallbackCover;\n }\n }}\n />\n </div>\n </div>\n <div class=\"info-container\">\n {this.authors && (\n <span\n class=\"authors-label\"\n ref={(el) => (this.authorsRef = el as HTMLElement)}\n >\n {this.authors}\n </span>\n )}\n <span\n class=\"card-title\"\n ref={(el) => (this.titleRef = el as HTMLElement)}\n >\n {this.cardTitle}\n </span>\n <span\n class=\"card-subtitle\"\n ref={(el) => (this.subtitleRef = el as HTMLElement)}\n >\n {this.cardSubtitle}\n </span>\n <div class=\"tags-container\">\n <slot name=\"tags\"></slot>\n </div>\n <div class=\"volumes-label\">\n <slot name=\"volumes\"></slot>\n </div>\n </div>\n </Host>\n );\n };\n\n private renderInfoCard = (): HTMLZResultCardElement => {\n return (\n <Host\n tabIndex={0}\n class=\"info-card\"\n >\n <div class=\"info-icon-column\">\n <div class=\"info-icon-container\">\n <z-icon\n class=\"info-icon\"\n name=\"link\"\n width={18}\n height={18}\n />\n </div>\n </div>\n <div class=\"info-container\">\n <span\n class=\"card-title info-title\"\n ref={(el) => (this.titleRef = el as HTMLElement)}\n >\n {this.cardTitle}\n </span>\n <span\n class=\"card-subtitle info-subtitle\"\n ref={(el) => (this.subtitleRef = el as HTMLElement)}\n >\n {this.cardSubtitle}\n </span>\n </div>\n </Host>\n );\n };\n\n render(): HTMLZResultCardElement {\n return this.isInfoCard ? this.renderInfoCard() : this.renderOperaCard();\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAY,45EAClB,MAAAC,EAAeD,ECDf,MAAMA,EAAY,26BAClB,MAAAE,EAAeF,E,MCOFG,EAAW,M,yBAuFdC,KAAAC,cAAgB,KACtBD,KAAKE,gBAAgBF,KAAKG,YAC1BH,KAAKE,gBAAgBF,KAAKI,UAC1BJ,KAAKE,gBAAgBF,KAAKK,YAAY,EAWhCL,KAAAM,gBAAkB,IAEtBC,EAACC,EAAI,CAACC,SAAU,GACdF,EAAA,OAAKG,MAAO,qBAAqBV,KAAKW,kBAAoB,eAAiB,MACzEJ,EAAA,OAAKG,MAAM,iBACRV,KAAKW,mBACJJ,EAAA,WACEA,EAAA,OAAKG,MAAM,8BACXH,EAAA,OAAKG,MAAM,+BAGfH,EAAA,OACEK,IAAKZ,KAAKa,MACVC,IAAI,aACJJ,MAAM,cACNK,QAAS,KACP,GAAIf,KAAKgB,cAAe,CACtBhB,KAAKa,MAAQb,KAAKgB,a,KACb,CACLhB,KAAKa,MAAQI,C,OAMvBV,EAAA,OAAKG,MAAM,kBACRV,KAAKkB,SACJX,EAAA,QACEG,MAAM,gBACNS,IAAMC,GAAQpB,KAAKG,WAAaiB,GAE/BpB,KAAKkB,SAGVX,EAAA,QACEG,MAAM,aACNS,IAAMC,GAAQpB,KAAKI,SAAWgB,GAE7BpB,KAAKqB,WAERd,EAAA,QACEG,MAAM,gBACNS,IAAMC,GAAQpB,KAAKK,YAAce,GAEhCpB,KAAKsB,cAERf,EAAA,OAAKG,MAAM,kBACTH,EAAA,QAAMgB,KAAK,UAEbhB,EAAA,OAAKG,MAAM,iBACTH,EAAA,QAAMgB,KAAK,eAObvB,KAAAwB,eAAiB,IAErBjB,EAACC,EAAI,CACHC,SAAU,EACVC,MAAM,aAENH,EAAA,OAAKG,MAAM,oBACTH,EAAA,OAAKG,MAAM,uBACTH,EAAA,UACEG,MAAM,YACNa,KAAK,OACLE,MAAO,GACPC,OAAQ,OAIdnB,EAAA,OAAKG,MAAM,kBACTH,EAAA,QACEG,MAAM,wBACNS,IAAMC,GAAQpB,KAAKI,SAAWgB,GAE7BpB,KAAKqB,WAERd,EAAA,QACEG,MAAM,8BACNS,IAAMC,GAAQpB,KAAKK,YAAce,GAEhCpB,KAAKsB,gB,qJApJI,M,gBAOP,K,CAQL,eAAApB,CAAgBkB,GACtB,IAAKA,EAAI,CACP,M,CAIF,MAAMO,EAAQC,OAAOC,iBAAiBT,GACtC,MAAMU,EAAeH,EAAMI,iBAAiB,wBAA0B,OAEtE,IAAIC,EACJ,GAAIF,EAAc,CAEhB,MAAMG,EAAaC,SAASP,EAAMM,YAClC,MAAME,EAAWD,SAASP,EAAMI,iBAAiB,uBACjD,MAAMK,EAAYH,EAAaE,EAE/BH,EAAcZ,EAAGiB,aAAeD,C,KAC3B,CAELJ,EAAcZ,EAAGkB,YAAclB,EAAGmB,aAAenB,EAAGiB,aAAejB,EAAGoB,Y,CAGxE,GAAIR,EAAa,CACfZ,EAAGqB,aAAa,QAASrB,EAAGsB,YAAYC,O,KACnC,CACLvB,EAAGwB,gBAAgB,Q,EAIvB,kBAAAC,GACE7C,KAAKE,gBAAgBF,KAAKG,YAC1BH,KAAKE,gBAAgBF,KAAKI,UAC1BJ,KAAKE,gBAAgBF,KAAKK,Y,CAS5B,gBAAAyC,GACElB,OAAOmB,iBAAiB,SAAU/C,KAAKC,c,CAGzC,oBAAA+C,GACEpB,OAAOqB,oBAAoB,SAAUjD,KAAKC,c,CA8F5C,MAAAiD,GACE,OAAOlD,KAAKmD,WAAanD,KAAKwB,iBAAmBxB,KAAKM,iB","ignoreList":[]}