@zanichelli/albe-web-components 18.3.1 → 18.3.2-rc1

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 (49) hide show
  1. package/CHANGELOG.md +0 -7
  2. package/dist/cjs/z-pagination.cjs.entry.js +10 -7
  3. package/dist/cjs/z-pagination.cjs.entry.js.map +1 -1
  4. package/dist/cjs/z-toast-notification.cjs.entry.js +43 -7
  5. package/dist/cjs/z-toast-notification.cjs.entry.js.map +1 -1
  6. package/dist/collection/components/z-pagination/index.js +11 -6
  7. package/dist/collection/components/z-pagination/index.js.map +1 -1
  8. package/dist/collection/components/z-pagination/index.stories.js +31 -13
  9. package/dist/collection/components/z-pagination/index.stories.js.map +1 -1
  10. package/dist/collection/components/z-pagination/styles.css +4 -2
  11. package/dist/collection/components/z-toast-notification/index.js +43 -7
  12. package/dist/collection/components/z-toast-notification/index.js.map +1 -1
  13. package/dist/collection/components/z-toast-notification/index.stories.js +2 -30
  14. package/dist/collection/components/z-toast-notification/index.stories.js.map +1 -1
  15. package/dist/collection/components/z-toast-notification/styles.css +34 -25
  16. package/dist/components/z-pagination.js +10 -7
  17. package/dist/components/z-pagination.js.map +1 -1
  18. package/dist/components/z-toast-notification.js +44 -8
  19. package/dist/components/z-toast-notification.js.map +1 -1
  20. package/dist/esm/z-pagination.entry.js +10 -7
  21. package/dist/esm/z-pagination.entry.js.map +1 -1
  22. package/dist/esm/z-toast-notification.entry.js +44 -8
  23. package/dist/esm/z-toast-notification.entry.js.map +1 -1
  24. package/dist/types/components/z-pagination/index.d.ts +2 -0
  25. package/dist/types/components/z-pagination/index.stories.d.ts +64 -2
  26. package/dist/types/components/z-toast-notification/index.d.ts +10 -1
  27. package/dist/types/components/z-toast-notification/index.stories.d.ts +2 -10
  28. package/dist/types/components.d.ts +8 -0
  29. package/dist/web-components-library/p-180eabf4.entry.js +2 -0
  30. package/dist/web-components-library/p-180eabf4.entry.js.map +1 -0
  31. package/dist/web-components-library/p-72c07bbd.entry.js +7 -0
  32. package/dist/web-components-library/p-72c07bbd.entry.js.map +1 -0
  33. package/dist/web-components-library/web-components-library.esm.js +1 -1
  34. package/package.json +1 -1
  35. package/www/build/p-180eabf4.entry.js +2 -0
  36. package/www/build/p-180eabf4.entry.js.map +1 -0
  37. package/www/build/p-72c07bbd.entry.js +7 -0
  38. package/www/build/p-72c07bbd.entry.js.map +1 -0
  39. package/www/build/{p-28efbaa8.js → p-792b81fd.js} +1 -1
  40. package/www/build/web-components-library.esm.js +1 -1
  41. package/www/index.html +1 -1
  42. package/dist/web-components-library/p-1dd6dff4.entry.js +0 -7
  43. package/dist/web-components-library/p-1dd6dff4.entry.js.map +0 -1
  44. package/dist/web-components-library/p-7df942c9.entry.js +0 -2
  45. package/dist/web-components-library/p-7df942c9.entry.js.map +0 -1
  46. package/www/build/p-1dd6dff4.entry.js +0 -7
  47. package/www/build/p-1dd6dff4.entry.js.map +0 -1
  48. package/www/build/p-7df942c9.entry.js +0 -2
  49. package/www/build/p-7df942c9.entry.js.map +0 -1
@@ -1,6 +1,8 @@
1
1
  import { EventEmitter } from "../../stencil-public-runtime";
2
2
  /**
3
3
  * Pagination bar component.
4
+ * @cssprop --z-pagination-background-color - background of the pagination's tabs. The default is --color-background
5
+ * @cssprop --z-pagination-background-color-hover - background of the pagination's tabs on hover. The default is --color-surface01
4
6
  */
5
7
  export declare class ZPagination {
6
8
  host: HTMLZPaginationElement;
@@ -1,7 +1,69 @@
1
- import { Meta } from "@storybook/web-components";
2
1
  import { type ZPagination } from ".";
2
+ import { CSSVarsArguments } from "../../utils/storybook-utils";
3
3
  import "./index";
4
- declare const StoryMeta: Meta<ZPagination>;
4
+ type ZPaginationStoriesArgs = ZPagination & CSSVarsArguments<"--z-pagination-background-color" | "--z-pagination-background-color-hover">;
5
+ declare const StoryMeta: {
6
+ title: string;
7
+ component: string;
8
+ argTypes: {
9
+ totalPages: {
10
+ control: {
11
+ type: "number";
12
+ min: number;
13
+ };
14
+ };
15
+ visiblePages: {
16
+ control: {
17
+ type: "number";
18
+ min: number;
19
+ };
20
+ if: {
21
+ arg: string;
22
+ truthy: false;
23
+ };
24
+ };
25
+ currentPage: {
26
+ control: {
27
+ type: "number";
28
+ min: number;
29
+ };
30
+ };
31
+ skip: {
32
+ control: {
33
+ type: "number";
34
+ min: number;
35
+ };
36
+ };
37
+ edges: {
38
+ if: {
39
+ arg: string;
40
+ truthy: false;
41
+ };
42
+ };
43
+ split: {
44
+ control: {
45
+ type: "number";
46
+ min: number;
47
+ };
48
+ };
49
+ "--z-pagination-background-color": import("@storybook/csf").Args;
50
+ "--z-pagination-background-color-hover": import("@storybook/csf").Args;
51
+ };
52
+ args: {
53
+ label: string;
54
+ navArrows: true;
55
+ totalPages: number;
56
+ visiblePages: number;
57
+ currentPage: number;
58
+ goToPage: false;
59
+ split: any;
60
+ skip: number;
61
+ edges: false;
62
+ "--z-pagination-background-color": string;
63
+ "--z-pagination-background-color-hover": string;
64
+ };
65
+ render: (args: ZPaginationStoriesArgs) => import("lit-html").TemplateResult<1>;
66
+ };
5
67
  export default StoryMeta;
6
68
  export declare const VisiblePages: {
7
69
  parameters: {
@@ -21,10 +21,14 @@ export declare class ZToastNotification {
21
21
  /** toast notification animation type: slide-in-left, slide-in-right, slide-in-down, slide-in-up*/
22
22
  transition?: ToastNotificationTransition;
23
23
  percentage: number;
24
+ private isTextLong;
25
+ private container;
26
+ private toastText;
24
27
  private sliderManager;
25
28
  private elapsedTime;
26
29
  private timeoutHandle;
27
30
  private startTime;
31
+ private isMobile;
28
32
  private isCloseEventCalled;
29
33
  watchPropIsdraggable(newValue: boolean): void;
30
34
  watchPropAutoclose(newValue: number): void;
@@ -42,6 +46,11 @@ export declare class ZToastNotification {
42
46
  private onFocus;
43
47
  private onBlur;
44
48
  private startClosingTimeout;
45
- private renderContent;
49
+ private detectWrap;
50
+ private renderText;
51
+ private renderButton;
52
+ private renderCloseIcon;
53
+ private renderContainer;
54
+ private renderMobileContainer;
46
55
  render(): HTMLZToastNotificationElement;
47
56
  }
@@ -40,16 +40,14 @@ export declare const SlideInLeft: {
40
40
  transition: ToastNotificationTransition.SLIDE_IN_LEFT;
41
41
  };
42
42
  };
43
- export declare const SlideInDownNoCloseButton: {
43
+ export declare const SlideInDown: {
44
44
  args: {
45
45
  transition: ToastNotificationTransition.SLIDE_IN_DOWN;
46
- closebutton: false;
47
46
  };
48
47
  };
49
- export declare const SlideInUpLongText: {
48
+ export declare const SlideInUp: {
50
49
  args: {
51
50
  transition: ToastNotificationTransition.SLIDE_IN_UP;
52
- message: string;
53
51
  };
54
52
  };
55
53
  export declare const SlottedButton: {
@@ -58,9 +56,3 @@ export declare const SlottedButton: {
58
56
  };
59
57
  render: (args: ZToastNotification) => TemplateResult<1>;
60
58
  };
61
- export declare const SlottedButtonLongText: {
62
- args: {
63
- transition: ToastNotificationTransition.SLIDE_IN_DOWN;
64
- };
65
- render: (args: ZToastNotification) => TemplateResult<1>;
66
- };
@@ -1589,6 +1589,8 @@ export namespace Components {
1589
1589
  }
1590
1590
  /**
1591
1591
  * Pagination bar component.
1592
+ * @cssprop --z-pagination-background-color - background of the pagination's tabs. The default is --color-background
1593
+ * @cssprop --z-pagination-background-color-hover - background of the pagination's tabs on hover. The default is --color-surface01
1592
1594
  */
1593
1595
  interface ZPagination {
1594
1596
  /**
@@ -3223,6 +3225,8 @@ declare global {
3223
3225
  }
3224
3226
  /**
3225
3227
  * Pagination bar component.
3228
+ * @cssprop --z-pagination-background-color - background of the pagination's tabs. The default is --color-background
3229
+ * @cssprop --z-pagination-background-color-hover - background of the pagination's tabs on hover. The default is --color-surface01
3226
3230
  */
3227
3231
  interface HTMLZPaginationElement extends Components.ZPagination, HTMLStencilElement {
3228
3232
  addEventListener<K extends keyof HTMLZPaginationElementEventMap>(type: K, listener: (this: HTMLZPaginationElement, ev: ZPaginationCustomEvent<HTMLZPaginationElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -5381,6 +5385,8 @@ declare namespace LocalJSX {
5381
5385
  }
5382
5386
  /**
5383
5387
  * Pagination bar component.
5388
+ * @cssprop --z-pagination-background-color - background of the pagination's tabs. The default is --color-background
5389
+ * @cssprop --z-pagination-background-color-hover - background of the pagination's tabs on hover. The default is --color-surface01
5384
5390
  */
5385
5391
  interface ZPagination {
5386
5392
  /**
@@ -6346,6 +6352,8 @@ declare module "@stencil/core" {
6346
6352
  "z-otp": LocalJSX.ZOtp & JSXBase.HTMLAttributes<HTMLZOtpElement>;
6347
6353
  /**
6348
6354
  * Pagination bar component.
6355
+ * @cssprop --z-pagination-background-color - background of the pagination's tabs. The default is --color-background
6356
+ * @cssprop --z-pagination-background-color-hover - background of the pagination's tabs on hover. The default is --color-surface01
6349
6357
  */
6350
6358
  "z-pagination": LocalJSX.ZPagination & JSXBase.HTMLAttributes<HTMLZPaginationElement>;
6351
6359
  "z-panel-elem": LocalJSX.ZPanelElem & JSXBase.HTMLAttributes<HTMLZPanelElemElement>;
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as a,a as n,g as o}from"./p-75c4a726.js";import{I as s}from"./p-dfcf9936.js";const e="z-pagination{--z-pagination--page-button-width:64px;--z-pagination--pages-container-max-width:100%;--z-pagination-background-color:var(--color-background);--z-pagination-background-color-hover:var(--color-surface01);display:flex;max-width:100%;flex-flow:column wrap;font-family:var(--font-family-sans);font-weight:var(--font-rg);gap:calc(var(--space-unit) * 2) calc(var(--space-unit) * 4)}z-pagination,z-pagination *{box-sizing:border-box}z-pagination button{height:100%}z-pagination z-icon{fill:var(--color-primary01-icon)}z-pagination *:disabled z-icon{fill:var(--color-disabled03)}z-pagination .page-label{margin-right:calc(var(--space-unit) * 3);color:var(--color-default-text)}z-pagination .pagination-bar{display:flex;max-width:100%;height:48px;align-items:center}z-pagination .pagination-bar button{display:flex;align-items:center;justify-content:center;border:none;margin:0;background-color:var(--z-pagination-background-color);color:var(--color-primary01);cursor:pointer;font-family:inherit;font-weight:inherit;transition:background-color 0.15s ease-out,\n color 0.15s ease-out,\n border-bottom-color 0.15s ease-out,\n font-size 0.15s ease-in-out,\n font-weight 0.15s ease-in-out}z-pagination .pagination-bar button:focus-visible{background-color:var(--color-surface01);outline:none}z-pagination .pagination-bar .pagination-button{padding:calc(var(--space-unit) * 2);font-weight:var(--font-sb);text-transform:uppercase;white-space:nowrap}z-pagination .pagination-bar .navigation-button{padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 1.5)}z-pagination .pagination-bar .pagination-button:disabled,z-pagination .pagination-bar .navigation-button:disabled{color:var(--color-disabled03);cursor:default;fill:var(--color-disabled03);pointer-events:none}z-pagination .pagination-bar .page-button,z-pagination .pagination-bar .ellipsis-button{width:var(--z-pagination--page-button-width)}z-pagination .pages-container{position:relative;display:inline-flex;max-width:100%;height:100%;overflow-x:auto;scroll-behavior:smooth;scroll-snap-align:center;scrollbar-width:none}z-pagination .pages-container::-webkit-scrollbar{display:none}z-pagination .pages-chunk{display:flex;scroll-snap-align:center}z-pagination .pagination-bar .page-button{padding-top:var(--border-size-large) solid transparent;border-bottom:var(--border-size-large) solid transparent;font-size:var(--font-size-2);font-weight:var(--font-sb)}z-pagination .pagination-bar .page-button[data-current]{border-bottom-color:var(--color-primary01);font-size:var(--font-size-7)}z-pagination .go-to-page{display:flex;flex-direction:column;row-gap:var(--space-unit)}z-pagination .go-to-page .label{color:var(--color-default-text);text-transform:uppercase}z-pagination .go-to-page .inputs{display:flex;column-gap:var(--space-unit)}z-pagination .go-to-page .inputs z-input{width:calc(var(--space-unit) * 11)}z-pagination .go-to-page .inputs z-input input,z-pagination .mobile-go-to-page z-input input{padding:0 calc(var(--space-unit) * 1.5) !important;appearance:none}z-pagination .mobile-go-to-page{display:flex;height:100%;flex:1 auto;align-items:center;justify-content:center;background-color:var(--color-surface02)}z-pagination .mobile-go-to-page z-input{width:var(--z-pagination--page-button-width);margin-right:var(--space-unit)}z-pagination .mobile-go-to-page z-input input{text-align:center}z-pagination .mobile-go-to-page z-input input::-webkit-outer-spin-button,z-pagination .mobile-go-to-page z-input input::-webkit-inner-spin-button{appearance:none}z-pagination .mobile-go-to-page>span{font-size:var(--font-size-2)}@media (hover: hover){z-pagination .pagination-bar button:hover{background-color:var(--z-pagination-background-color-hover)}z-pagination .pagination-bar .page-button:hover{border-bottom-color:var(--color-hover-primary);color:var(--color-hover-primary)}}@media (min-width: 768px){z-pagination{--z-pagination--page-button-width:88px;flex-direction:row;align-items:flex-end}z-pagination .pages-container{max-width:var(--z-pagination--pages-container-max-width)}}";const r=e;const l=class{constructor(a){t(this,a);this.pageChanged=i(this,"pageChanged",7);this.label=undefined;this.navArrows=true;this.totalPages=undefined;this.skip=0;this.edges=false;this.split=undefined;this.visiblePages=undefined;this.currentPage=1;this.goToPage=undefined;this._visiblePages=this.visiblePages;this.isMobile=false;this.goToPageValue=null}setPagesContainerWidth(){if(!this._visiblePages||this.split){this.host.style.setProperty("--z-pagination--pages-container-max-width","100%");return}const t=window.getComputedStyle(this.host);const i=t.getPropertyValue("--z-pagination--page-button-width");this.host.style.setProperty("--z-pagination--pages-container-max-width",`calc(${i} * ${this._visiblePages})`)}setVisiblePages(){this._visiblePages=Math.min(this.visiblePages||this.totalPages,this.totalPages)}onPageChanged(){this.pageChanged.emit(this.currentPage);this.scrollToPage()}onSplitChanged(){if(this.split){this.edges=false}}onResize(){this.setMobile()}setMobile(){const t="screen and (max-width: 767px)";this.isMobile=window.matchMedia(t).matches}getPagesChunks(){const t=Array.from({length:this.totalPages},((t,i)=>i+1));const i=[];const a=Math.ceil(t.length/this._visiblePages);for(let n=0;n<a;n++){i.push(t.slice(n*this._visiblePages,(n+1)*this._visiblePages))}return i}scrollToPage(){var t,i;const a=this.host.querySelector(".pages-container");const n=this.host.querySelector(`[data-page="${this.currentPage}"]`);const o=this.host.querySelector(".navigation-button");if(!n||!a){return}const s=a.getBoundingClientRect().width;const e=n.getBoundingClientRect().width;const r=(i=(t=o===null||o===void 0?void 0:o.getBoundingClientRect())===null||t===void 0?void 0:t.width)!==null&&i!==void 0?i:0;a.scrollLeft=this.currentPage*e-r-s/2}selectPage(t){this.currentPage=Math.min(Math.max(t,1),this.totalPages)}renderPage(t){return a("button",{class:"page-button",type:"button","aria-current":this.currentPage===t?"page":"false",title:`Vai alla pagina ${t}`,"data-page":t,"data-current":this.currentPage===t,onClick:()=>this.selectPage(t)},t)}renderEllipsisButton(t){return a("button",{class:"ellipsis-button",type:"button",title:`Vai alla pagina ${t}`,onClick:()=>this.selectPage(t)},"…")}renderPages(){const t=this.getPagesChunks();if(t.length<=0){return}return t.map((t=>a("div",{class:"pages-chunk"},t.map((t=>this.renderPage(t))))))}renderSplitPages(){if(this.totalPages<=this.split*2+5){return Array.from({length:this.totalPages},((t,i)=>this.renderPage(i+1)))}if(this.currentPage<=this.split*2+2){return[...Array.from({length:this.split*2+3},((t,i)=>this.renderPage(i+1))),this.renderEllipsisButton(this.split*2+4),this.renderPage(this.totalPages)]}if(this.currentPage>this.split*2+2&&this.currentPage<this.totalPages-this.split*2-1){return[this.renderPage(1),this.renderEllipsisButton(this.currentPage-this.split-1),...Array.from({length:this.split*2+1},((t,i)=>this.renderPage(this.currentPage-this.split+i))),this.renderEllipsisButton(this.currentPage+this.split+1),this.renderPage(this.totalPages)]}return[this.renderPage(1),this.renderEllipsisButton(this.totalPages-this.split*2-3),...Array.from({length:this.split*2+3},((t,i)=>this.renderPage(this.totalPages-this.split*2-2+i)))]}renderBackButton(){return a("button",{class:"navigation-button",type:"button",title:"Vai alla pagina precedente",disabled:this.currentPage===1,onClick:()=>this.selectPage(this.currentPage-1)},a("z-icon",{name:"chevron-left"}))}renderForwardButton(){return a("button",{class:"navigation-button",type:"button",title:"Vai alla prossima pagina",disabled:this.currentPage===this.totalPages,onClick:()=>this.selectPage(this.currentPage+1)},a("z-icon",{name:"chevron-right"}))}renderMobile(){const t=this.getPagesChunks();return[this.label&&a("span",{class:"page-label body-1-sb"},this.label),a("div",{class:"pagination-bar"},this.renderBackButton(),!this.goToPage&&a("div",{class:"pages-container",role:"navigation",tabIndex:-1},t.length>0&&t.map((t=>a("div",{class:"pages-chunk"},t.map((t=>this.renderPage(t))))))),this.goToPage&&a("form",{class:"mobile-go-to-page",onSubmit:t=>{t.preventDefault();this.selectPage(this.goToPageValue)}},a("z-input",{class:"go-to-page-input",type:s.NUMBER,min:1,max:this.totalPages,message:false,onInput:t=>{this.goToPageValue=t.target.value},placeholder:this.currentPage.toString(),hasclearicon:false}),a("span",null,`/${this.totalPages}`)),this.renderForwardButton())]}componentDidLoad(){this.setVisiblePages()}componentDidRender(){if(this.split){this.edges=false}this.setPagesContainerWidth();this.setMobile();this.scrollToPage()}render(){if(this.isMobile){return a(n,null,this.renderMobile())}return a(n,null,a("div",{class:"pagination-bar"},this.label&&a("span",{class:"page-label body-1-sb"},this.label),this.edges&&a("button",{class:"pagination-button",type:"button",title:"Vai alla pagina 1",disabled:this.currentPage===1,onClick:()=>this.selectPage(1)},"Pagina 1"),this.skip<this.totalPages&&this.skip>1&&a("button",{class:"pagination-button",type:"button",title:`Vai alla pagina ${this.currentPage-this.skip}`,disabled:this.currentPage<=this.skip,onClick:()=>this.selectPage(this.currentPage-this.skip)},"-",this.skip),this.navArrows&&this.renderBackButton(),a("div",{class:"pages-container",role:"navigation",tabIndex:-1},this.split?this.renderSplitPages():this.renderPages()),this.navArrows&&this.renderForwardButton(),this.skip<this.totalPages&&this.skip>1&&a("button",{class:"pagination-button",type:"button",title:`Vai alla pagina ${this.currentPage+this.skip}`,disabled:this.currentPage>this.totalPages-this.skip,onClick:()=>this.selectPage(this.currentPage+this.skip)},"+",this.skip),this.edges&&a("button",{class:"pagination-button",type:"button",title:`Vai alla pagina ${this.totalPages}`,disabled:this.currentPage===this.totalPages,onClick:()=>this.selectPage(this.totalPages)},"Pagina ",this.totalPages)),this.goToPage&&a("div",{class:"go-to-page"},a("span",{class:"label body-5-sb"},"Vai a pagina:"),a("div",{class:"inputs"},a("z-input",{class:"go-to-page-input",type:s.NUMBER,min:1,max:this.totalPages,message:false,placeholder:"2",hasclearicon:false,onInput:t=>{this.goToPageValue=t.target.value},onKeyDown:t=>t.key==="Enter"&&this.selectPage(this.goToPageValue)}),a("z-button",{disabled:!this.goToPageValue,title:"Vai alla pagina inserita",onClick:()=>this.selectPage(this.goToPageValue)},"vai"))))}get host(){return o(this)}static get watchers(){return{_visiblePages:["setPagesContainerWidth"],visiblePages:["setVisiblePages"],currentPage:["onPageChanged"],split:["onSplitChanged"]}}};l.style=r;export{l as z_pagination};
2
+ //# sourceMappingURL=p-180eabf4.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stylesCss","ZPaginationStyle0","ZPagination","this","visiblePages","setPagesContainerWidth","_visiblePages","split","host","style","setProperty","pagesContainerStyle","window","getComputedStyle","pageButtonWidth","getPropertyValue","setVisiblePages","Math","min","totalPages","onPageChanged","pageChanged","emit","currentPage","scrollToPage","onSplitChanged","edges","onResize","setMobile","mobileMediaQuery","isMobile","matchMedia","matches","getPagesChunks","pages","Array","from","length","_","i","chunks","chunksCount","ceil","index","push","slice","container","querySelector","pageBtn","navBtn","containerWidth","getBoundingClientRect","width","pageBtnWidth","navBtnWidth","_b","_a","scrollLeft","selectPage","page","max","renderPage","h","class","type","title","onClick","renderEllipsisButton","renderPages","pagesChunks","map","chunk","renderSplitPages","renderBackButton","disabled","name","renderForwardButton","renderMobile","label","goToPage","role","tabIndex","onSubmit","ev","preventDefault","goToPageValue","InputType","NUMBER","message","onInput","target","value","placeholder","toString","hasclearicon","componentDidLoad","componentDidRender","render","Host","skip","navArrows","onKeyDown","key"],"sources":["src/components/z-pagination/styles.css?tag=z-pagination","src/components/z-pagination/index.tsx"],"sourcesContent":["z-pagination {\n --z-pagination--page-button-width: 64px;\n --z-pagination--pages-container-max-width: 100%;\n --z-pagination-background-color: var(--color-background);\n --z-pagination-background-color-hover: var(--color-surface01);\n\n display: flex;\n max-width: 100%;\n flex-flow: column wrap;\n font-family: var(--font-family-sans);\n font-weight: var(--font-rg);\n gap: calc(var(--space-unit) * 2) calc(var(--space-unit) * 4);\n}\n\nz-pagination,\nz-pagination * {\n box-sizing: border-box;\n}\n\nz-pagination button {\n height: 100%;\n}\n\nz-pagination z-icon {\n fill: var(--color-primary01-icon);\n}\n\nz-pagination *:disabled z-icon {\n fill: var(--color-disabled03);\n}\n\nz-pagination .page-label {\n margin-right: calc(var(--space-unit) * 3);\n color: var(--color-default-text);\n}\n\nz-pagination .pagination-bar {\n display: flex;\n max-width: 100%;\n height: 48px;\n align-items: center;\n}\n\nz-pagination .pagination-bar button {\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n margin: 0;\n background-color: var(--z-pagination-background-color);\n color: var(--color-primary01);\n cursor: pointer;\n font-family: inherit;\n font-weight: inherit;\n transition:\n background-color 0.15s ease-out,\n color 0.15s ease-out,\n border-bottom-color 0.15s ease-out,\n font-size 0.15s ease-in-out,\n font-weight 0.15s ease-in-out;\n}\n\nz-pagination .pagination-bar button:focus-visible {\n background-color: var(--color-surface01);\n outline: none;\n}\n\nz-pagination .pagination-bar .pagination-button {\n padding: calc(var(--space-unit) * 2);\n font-weight: var(--font-sb);\n text-transform: uppercase;\n white-space: nowrap;\n}\n\nz-pagination .pagination-bar .navigation-button {\n padding: calc(var(--space-unit) * 2) calc(var(--space-unit) * 1.5);\n}\n\nz-pagination .pagination-bar .pagination-button:disabled,\nz-pagination .pagination-bar .navigation-button:disabled {\n color: var(--color-disabled03);\n cursor: default;\n fill: var(--color-disabled03);\n pointer-events: none;\n}\n\nz-pagination .pagination-bar .page-button,\nz-pagination .pagination-bar .ellipsis-button {\n width: var(--z-pagination--page-button-width);\n}\n\nz-pagination .pages-container {\n position: relative;\n display: inline-flex;\n max-width: 100%;\n height: 100%;\n overflow-x: auto;\n scroll-behavior: smooth;\n scroll-snap-align: center;\n\n /* hide scrollbar in Firefox */\n scrollbar-width: none;\n}\n\nz-pagination .pages-container::-webkit-scrollbar {\n display: none;\n}\n\nz-pagination .pages-chunk {\n display: flex;\n scroll-snap-align: center;\n}\n\nz-pagination .pagination-bar .page-button {\n padding-top: var(--border-size-large) solid transparent;\n border-bottom: var(--border-size-large) solid transparent;\n font-size: var(--font-size-2);\n font-weight: var(--font-sb);\n}\n\nz-pagination .pagination-bar .page-button[data-current] {\n border-bottom-color: var(--color-primary01);\n font-size: var(--font-size-7);\n}\n\nz-pagination .go-to-page {\n display: flex;\n flex-direction: column;\n row-gap: var(--space-unit);\n}\n\nz-pagination .go-to-page .label {\n color: var(--color-default-text);\n text-transform: uppercase;\n}\n\nz-pagination .go-to-page .inputs {\n display: flex;\n column-gap: var(--space-unit);\n}\n\nz-pagination .go-to-page .inputs z-input {\n width: calc(var(--space-unit) * 11);\n}\n\nz-pagination .go-to-page .inputs z-input input,\nz-pagination .mobile-go-to-page z-input input {\n padding: 0 calc(var(--space-unit) * 1.5) !important;\n appearance: none;\n}\n\nz-pagination .mobile-go-to-page {\n display: flex;\n height: 100%;\n flex: 1 auto;\n align-items: center;\n justify-content: center;\n background-color: var(--color-surface02);\n}\n\nz-pagination .mobile-go-to-page z-input {\n width: var(--z-pagination--page-button-width);\n margin-right: var(--space-unit);\n}\n\nz-pagination .mobile-go-to-page z-input input {\n text-align: center;\n}\n\nz-pagination .mobile-go-to-page z-input input::-webkit-outer-spin-button,\nz-pagination .mobile-go-to-page z-input input::-webkit-inner-spin-button {\n appearance: none;\n}\n\nz-pagination .mobile-go-to-page > span {\n font-size: var(--font-size-2);\n}\n\n@media (hover: hover) {\n z-pagination .pagination-bar button:hover {\n background-color: var(--z-pagination-background-color-hover);\n }\n\n z-pagination .pagination-bar .page-button:hover {\n border-bottom-color: var(--color-hover-primary);\n color: var(--color-hover-primary);\n }\n}\n\n@media (min-width: 768px) {\n z-pagination {\n --z-pagination--page-button-width: 88px;\n\n flex-direction: row;\n align-items: flex-end;\n }\n\n z-pagination .pages-container {\n max-width: var(--z-pagination--pages-container-max-width);\n }\n}\n","import {Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h} from \"@stencil/core\";\nimport {InputType} from \"../../beans\";\n\n/**\n * Pagination bar component.\n * @cssprop --z-pagination-background-color - background of the pagination's tabs. The default is --color-background\n * @cssprop --z-pagination-background-color-hover - background of the pagination's tabs on hover. The default is --color-surface01\n */\n@Component({\n tag: \"z-pagination\",\n styleUrl: \"styles.css\",\n})\nexport class ZPagination {\n @Element() host: HTMLZPaginationElement;\n\n /** Pagination label placed before the bar. */\n @Prop()\n label?: string;\n\n /** Enable navigation arrows. */\n @Prop()\n navArrows = true;\n\n /** Total number of pages. Required. */\n @Prop()\n totalPages!: number;\n\n /** Number of pages to skip. */\n @Prop()\n skip = 0;\n\n /** Enable buttons to go to the first and last pages. */\n @Prop()\n edges = false;\n\n /** Number of pages to show left/right of the current, before showing \"load more\" symbol (…). */\n @Prop()\n split?: number;\n\n /** Number of pages to show at a time. If not set, all pages will be shown. */\n @Prop()\n visiblePages?: number;\n\n /** Current page. */\n @Prop({mutable: true})\n currentPage = 1;\n\n /** Whether to show \"go to page\" feature. */\n @Prop()\n goToPage: boolean;\n\n /**\n * Internal visible pages variable.\n * Needed to better handle conflicting props like `visiblePages` and `split`.\n * This state will change based on props values and validation,\n * keeping original `visiblePages` value intact.\n */\n @State()\n private _visiblePages = this.visiblePages;\n\n /** Used to hides/change some functionalities on smaller screen sizes */\n @State()\n isMobile = false;\n\n /** Value of the go to page input */\n @State()\n goToPageValue = null;\n\n /** Event emitted when the current page has changed. */\n @Event()\n pageChanged: EventEmitter;\n\n /**\n * Set the max width of the pages container.\n */\n @Watch(\"_visiblePages\")\n setPagesContainerWidth(): void {\n if (!this._visiblePages || this.split) {\n this.host.style.setProperty(\"--z-pagination--pages-container-max-width\", \"100%\");\n\n return;\n }\n\n const pagesContainerStyle = window.getComputedStyle(this.host);\n const pageButtonWidth = pagesContainerStyle.getPropertyValue(\"--z-pagination--page-button-width\");\n this.host.style.setProperty(\n \"--z-pagination--pages-container-max-width\",\n `calc(${pageButtonWidth} * ${this._visiblePages})`\n );\n }\n\n /**\n * Set visible pages.\n * Ensure that the visible pages are always <= the total pages.\n * If `visiblePages` isn't set, fallback to the total pages.\n */\n @Watch(\"visiblePages\")\n setVisiblePages(): void {\n this._visiblePages = Math.min(this.visiblePages || this.totalPages, this.totalPages);\n }\n\n /**\n * On page changed.\n * @emits pageChanged\n */\n @Watch(\"currentPage\")\n onPageChanged(): void {\n this.pageChanged.emit(this.currentPage);\n this.scrollToPage();\n }\n\n /**\n * On split changed.\n * Empty `edges` value. The split feature wins over the pages chunks and edges.\n */\n @Watch(\"split\")\n onSplitChanged(): void {\n if (this.split) {\n this.edges = false;\n }\n }\n\n /**\n * Hide stuff on mobile.\n */\n @Listen(\"resize\", {target: \"window\", passive: true})\n onResize(): void {\n this.setMobile();\n }\n\n /**\n * Set functionalities according to screen size.\n */\n private setMobile(): void {\n const mobileMediaQuery = \"screen and (max-width: 767px)\";\n this.isMobile = window.matchMedia(mobileMediaQuery).matches;\n }\n\n /**\n * Get a list of pages chunks, each of `visiblePages` length.\n * @returns {number[][]}\n */\n private getPagesChunks(): number[][] {\n // array of numbers from 1 to `totalPages`\n const pages = Array.from({length: this.totalPages}, (_, i) => i + 1);\n\n const chunks = [];\n const chunksCount = Math.ceil(pages.length / this._visiblePages);\n for (let index = 0; index < chunksCount; index++) {\n chunks.push(pages.slice(index * this._visiblePages, (index + 1) * this._visiblePages));\n }\n\n return chunks;\n }\n\n /**\n * Scroll to the left the chunk of pages containing the current page.\n */\n private scrollToPage(): void {\n const container = this.host.querySelector(\".pages-container\") as HTMLElement;\n const pageBtn = this.host.querySelector(`[data-page=\"${this.currentPage}\"]`) as HTMLElement;\n const navBtn = this.host.querySelector(\".navigation-button\") as HTMLElement;\n\n if (!pageBtn || !container) {\n return;\n }\n\n const containerWidth = container.getBoundingClientRect().width;\n const pageBtnWidth = pageBtn.getBoundingClientRect().width;\n const navBtnWidth = navBtn?.getBoundingClientRect()?.width ?? 0;\n\n container.scrollLeft = this.currentPage * pageBtnWidth - navBtnWidth - containerWidth / 2;\n }\n\n /**\n * Select a page.\n * Do validations on the passed value before assigning it to `currentPage`.\n * @param {number} page Page number to set\n */\n private selectPage(page): void {\n this.currentPage = Math.min(Math.max(page, 1), this.totalPages);\n }\n\n /**\n * Render page number button.\n * @param {number} page Page number to render\n * @returns {HTMLButtonElement}\n */\n private renderPage(page): HTMLButtonElement {\n return (\n <button\n class=\"page-button\"\n type=\"button\"\n aria-current={this.currentPage === page ? \"page\" : \"false\"}\n title={`Vai alla pagina ${page}`}\n data-page={page}\n data-current={this.currentPage === page}\n onClick={() => this.selectPage(page)}\n >\n {page}\n </button>\n );\n }\n\n /**\n * Render split button.\n * @param {number} page Page to select on click.\n * @returns {HTMLButtonElement}\n */\n private renderEllipsisButton(page): HTMLButtonElement {\n return (\n <button\n class=\"ellipsis-button\"\n type=\"button\"\n title={`Vai alla pagina ${page}`}\n onClick={() => this.selectPage(page)}\n >\n …\n </button>\n );\n }\n\n /**\n * Render chunked page buttons.\n * @returns {HTMLDivElement[]}\n */\n private renderPages(): HTMLDivElement[] {\n const pagesChunks = this.getPagesChunks();\n if (pagesChunks.length <= 0) {\n return;\n }\n\n return pagesChunks.map((chunk) => <div class=\"pages-chunk\">{chunk.map((page) => this.renderPage(page))}</div>);\n }\n\n /**\n * Render page buttons when split feature is enabled.\n * @returns {HTMLButtonElement[]}\n */\n private renderSplitPages(): HTMLButtonElement[] {\n // left and right split pages, current page, first and last page, left and right ellipsis button\n if (this.totalPages <= this.split * 2 + 5) {\n // Too few pages: ellipsis will never be rendered, so let's just render all pages and that's it.\n return Array.from({length: this.totalPages}, (_, i) => this.renderPage(i + 1));\n }\n\n if (this.currentPage <= this.split * 2 + 2) {\n // Render first (2 * split + 3) pages, ellipsis, then last page.\n return [\n ...Array.from({length: this.split * 2 + 3}, (_, i) => this.renderPage(i + 1)),\n this.renderEllipsisButton(this.split * 2 + 4),\n this.renderPage(this.totalPages),\n ];\n }\n\n if (this.currentPage > this.split * 2 + 2 && this.currentPage < this.totalPages - this.split * 2 - 1) {\n // Render first page, ellipsis, current page surrounded by (split) pages both before and after, another ellipsis, then last page.\n return [\n this.renderPage(1),\n this.renderEllipsisButton(this.currentPage - this.split - 1),\n ...Array.from({length: this.split * 2 + 1}, (_, i) => this.renderPage(this.currentPage - this.split + i)),\n this.renderEllipsisButton(this.currentPage + this.split + 1),\n this.renderPage(this.totalPages),\n ];\n }\n\n // Render first page, ellipsis, then last (2 * split + 3) pages.\n return [\n this.renderPage(1),\n this.renderEllipsisButton(this.totalPages - this.split * 2 - 3),\n ...Array.from({length: this.split * 2 + 3}, (_, i) => this.renderPage(this.totalPages - this.split * 2 - 2 + i)),\n ];\n }\n\n private renderBackButton(): HTMLButtonElement {\n return (\n <button\n class=\"navigation-button\"\n type=\"button\"\n title=\"Vai alla pagina precedente\"\n disabled={this.currentPage === 1}\n onClick={() => this.selectPage(this.currentPage - 1)}\n >\n <z-icon name=\"chevron-left\"></z-icon>\n </button>\n );\n }\n\n private renderForwardButton(): HTMLButtonElement {\n return (\n <button\n class=\"navigation-button\"\n type=\"button\"\n title=\"Vai alla prossima pagina\"\n disabled={this.currentPage === this.totalPages}\n onClick={() => this.selectPage(this.currentPage + 1)}\n >\n <z-icon name=\"chevron-right\"></z-icon>\n </button>\n );\n }\n\n private renderMobile(): HTMLElement[] {\n const pagesChunks = this.getPagesChunks();\n\n return [\n this.label && <span class=\"page-label body-1-sb\">{this.label}</span>,\n\n <div class=\"pagination-bar\">\n {this.renderBackButton()}\n\n {!this.goToPage && (\n <div\n class=\"pages-container\"\n role=\"navigation\"\n tabIndex={-1}\n >\n {pagesChunks.length > 0 &&\n pagesChunks.map((chunk) => <div class=\"pages-chunk\">{chunk.map((page) => this.renderPage(page))}</div>)}\n </div>\n )}\n\n {this.goToPage && (\n <form\n class=\"mobile-go-to-page\"\n onSubmit={(ev) => {\n ev.preventDefault();\n this.selectPage(this.goToPageValue);\n }}\n >\n <z-input\n class=\"go-to-page-input\"\n type={InputType.NUMBER}\n min={1}\n max={this.totalPages}\n message={false}\n onInput={(ev: InputEvent) => {\n this.goToPageValue = (ev.target as HTMLZInputElement).value;\n }}\n placeholder={this.currentPage.toString()}\n hasclearicon={false}\n ></z-input>\n <span>{`/${this.totalPages}`}</span>\n </form>\n )}\n\n {this.renderForwardButton()}\n </div>,\n ];\n }\n\n componentDidLoad(): void {\n this.setVisiblePages();\n }\n\n componentDidRender(): void {\n if (this.split) {\n this.edges = false;\n }\n\n this.setPagesContainerWidth();\n this.setMobile();\n this.scrollToPage();\n }\n\n render(): HTMLZPaginationElement {\n if (this.isMobile) {\n return <Host>{this.renderMobile()}</Host>;\n }\n\n return (\n <Host>\n <div class=\"pagination-bar\">\n {this.label && <span class=\"page-label body-1-sb\">{this.label}</span>}\n\n {this.edges && (\n <button\n class=\"pagination-button\"\n type=\"button\"\n title=\"Vai alla pagina 1\"\n disabled={this.currentPage === 1}\n onClick={() => this.selectPage(1)}\n >\n Pagina 1\n </button>\n )}\n\n {this.skip < this.totalPages && this.skip > 1 && (\n <button\n class=\"pagination-button\"\n type=\"button\"\n title={`Vai alla pagina ${this.currentPage - this.skip}`}\n disabled={this.currentPage <= this.skip}\n onClick={() => this.selectPage(this.currentPage - this.skip)}\n >\n -{this.skip}\n </button>\n )}\n\n {this.navArrows && this.renderBackButton()}\n\n <div\n class=\"pages-container\"\n role=\"navigation\"\n tabIndex={-1}\n >\n {this.split ? this.renderSplitPages() : this.renderPages()}\n </div>\n\n {this.navArrows && this.renderForwardButton()}\n\n {this.skip < this.totalPages && this.skip > 1 && (\n <button\n class=\"pagination-button\"\n type=\"button\"\n title={`Vai alla pagina ${this.currentPage + this.skip}`}\n disabled={this.currentPage > this.totalPages - this.skip}\n onClick={() => this.selectPage(this.currentPage + this.skip)}\n >\n +{this.skip}\n </button>\n )}\n\n {this.edges && (\n <button\n class=\"pagination-button\"\n type=\"button\"\n title={`Vai alla pagina ${this.totalPages}`}\n disabled={this.currentPage === this.totalPages}\n onClick={() => this.selectPage(this.totalPages)}\n >\n Pagina {this.totalPages}\n </button>\n )}\n </div>\n {this.goToPage && (\n <div class=\"go-to-page\">\n <span class=\"label body-5-sb\">Vai a pagina:</span>\n <div class=\"inputs\">\n <z-input\n class=\"go-to-page-input\"\n type={InputType.NUMBER}\n min={1}\n max={this.totalPages}\n message={false}\n placeholder=\"2\"\n hasclearicon={false}\n onInput={(ev: InputEvent) => {\n this.goToPageValue = (ev.target as HTMLZInputElement).value;\n }}\n onKeyDown={(ev) => ev.key === \"Enter\" && this.selectPage(this.goToPageValue)}\n ></z-input>\n <z-button\n disabled={!this.goToPageValue}\n title=\"Vai alla pagina inserita\"\n onClick={() => this.selectPage(this.goToPageValue)}\n >\n vai\n </z-button>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import{r as t,c as i,h as e,a as n,g as r}from"./p-75c4a726.js";import{r as s}from"./p-dfcf9936.js";import{B as a}from"./p-5145a606.js";var o={exports:{}};
2
+ /*! Hammer.JS - v2.0.7 - 2016-04-22
3
+ * http://hammerjs.github.io/
4
+ *
5
+ * Copyright (c) 2016 Jorik Tangelder;
6
+ * Licensed under the MIT license */(function(t){(function(i,e,n,r){var s=["","webkit","Moz","MS","ms","o"];var a=e.createElement("div");var o="function";var h=Math.round;var u=Math.abs;var f=Date.now;function c(t,i,e){return setTimeout(b(t,e),i)}function l(t,i,e){if(Array.isArray(t)){v(t,e[i],e);return true}return false}function v(t,i,e){var n;if(!t){return}if(t.forEach){t.forEach(i,e)}else if(t.length!==r){n=0;while(n<t.length){i.call(e,t[n],n,t);n++}}else{for(n in t){t.hasOwnProperty(n)&&i.call(e,t[n],n,t)}}}function d(t,e,n){var r="DEPRECATED METHOD: "+e+"\n"+n+" AT \n";return function(){var e=new Error("get-stack-trace");var n=e&&e.stack?e.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace";var s=i.console&&(i.console.warn||i.console.log);if(s){s.call(i.console,r,n)}return t.apply(this,arguments)}}var p;if(typeof Object.assign!=="function"){p=function t(i){if(i===r||i===null){throw new TypeError("Cannot convert undefined or null to object")}var e=Object(i);for(var n=1;n<arguments.length;n++){var s=arguments[n];if(s!==r&&s!==null){for(var a in s){if(s.hasOwnProperty(a)){e[a]=s[a]}}}}return e}}else{p=Object.assign}var m=d((function t(i,e,n){var s=Object.keys(e);var a=0;while(a<s.length){if(!n||n&&i[s[a]]===r){i[s[a]]=e[s[a]]}a++}return i}),"extend","Use `assign`.");var g=d((function t(i,e){return m(i,e,true)}),"merge","Use `assign`.");function w(t,i,e){var n=i.prototype,r;r=t.prototype=Object.create(n);r.constructor=t;r._super=n;if(e){p(r,e)}}function b(t,i){return function e(){return t.apply(i,arguments)}}function x(t,i){if(typeof t==o){return t.apply(i?i[0]||r:r,i)}return t}function T(t,i){return t===r?i:t}function y(t,i,e){v(P(i),(function(i){t.addEventListener(i,e,false)}))}function E(t,i,e){v(P(i),(function(i){t.removeEventListener(i,e,false)}))}function I(t,i){while(t){if(t==i){return true}t=t.parentNode}return false}function A(t,i){return t.indexOf(i)>-1}function P(t){return t.trim().split(/\s+/g)}function C(t,i,e){if(t.indexOf&&!e){return t.indexOf(i)}else{var n=0;while(n<t.length){if(e&&t[n][e]==i||!e&&t[n]===i){return n}n++}return-1}}function D(t){return Array.prototype.slice.call(t,0)}function M(t,i,e){var n=[];var r=[];var s=0;while(s<t.length){var a=i?t[s][i]:t[s];if(C(r,a)<0){n.push(t[s])}r[s]=a;s++}if(e){if(!i){n=n.sort()}else{n=n.sort((function t(e,n){return e[i]>n[i]}))}}return n}function z(t,i){var e,n;var a=i[0].toUpperCase()+i.slice(1);var o=0;while(o<s.length){e=s[o];n=e?e+a:i;if(n in t){return n}o++}return r}var k=1;function O(){return k++}function S(t){var e=t.ownerDocument||t;return e.defaultView||e.parentWindow||i}var N=/mobile|tablet|ip(ad|hone|od)|android/i;var R="ontouchstart"in i;var _=z(i,"PointerEvent")!==r;var X=R&&N.test(navigator.userAgent);var j="touch";var L="pen";var Y="mouse";var F="kinect";var U=25;var W=1;var H=2;var B=4;var q=8;var G=1;var $=2;var Z=4;var V=8;var K=16;var J=$|Z;var Q=V|K;var tt=J|Q;var it=["x","y"];var et=["clientX","clientY"];function nt(t,i){var e=this;this.manager=t;this.callback=i;this.element=t.element;this.target=t.options.inputTarget;this.domHandler=function(i){if(x(t.options.enable,[t])){e.handler(i)}};this.init()}nt.prototype={handler:function(){},init:function(){this.evEl&&y(this.element,this.evEl,this.domHandler);this.evTarget&&y(this.target,this.evTarget,this.domHandler);this.evWin&&y(S(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&E(this.element,this.evEl,this.domHandler);this.evTarget&&E(this.target,this.evTarget,this.domHandler);this.evWin&&E(S(this.element),this.evWin,this.domHandler)}};function rt(t){var i;var e=t.options.inputClass;if(e){i=e}else if(_){i=At}else if(X){i=St}else if(!R){i=xt}else{i=Xt}return new i(t,st)}function st(t,i,e){var n=e.pointers.length;var r=e.changedPointers.length;var s=i&W&&n-r===0;var a=i&(B|q)&&n-r===0;e.isFirst=!!s;e.isFinal=!!a;if(s){t.session={}}e.eventType=i;at(t,e);t.emit("hammer.input",e);t.recognize(e);t.session.prevInput=e}function at(t,i){var e=t.session;var n=i.pointers;var r=n.length;if(!e.firstInput){e.firstInput=ut(i)}if(r>1&&!e.firstMultiple){e.firstMultiple=ut(i)}else if(r===1){e.firstMultiple=false}var s=e.firstInput;var a=e.firstMultiple;var o=a?a.center:s.center;var h=i.center=ft(n);i.timeStamp=f();i.deltaTime=i.timeStamp-s.timeStamp;i.angle=dt(o,h);i.distance=vt(o,h);ot(e,i);i.offsetDirection=lt(i.deltaX,i.deltaY);var c=ct(i.deltaTime,i.deltaX,i.deltaY);i.overallVelocityX=c.x;i.overallVelocityY=c.y;i.overallVelocity=u(c.x)>u(c.y)?c.x:c.y;i.scale=a?mt(a.pointers,n):1;i.rotation=a?pt(a.pointers,n):0;i.maxPointers=!e.prevInput?i.pointers.length:i.pointers.length>e.prevInput.maxPointers?i.pointers.length:e.prevInput.maxPointers;ht(e,i);var l=t.element;if(I(i.srcEvent.target,l)){l=i.srcEvent.target}i.target=l}function ot(t,i){var e=i.center;var n=t.offsetDelta||{};var r=t.prevDelta||{};var s=t.prevInput||{};if(i.eventType===W||s.eventType===B){r=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0};n=t.offsetDelta={x:e.x,y:e.y}}i.deltaX=r.x+(e.x-n.x);i.deltaY=r.y+(e.y-n.y)}function ht(t,i){var e=t.lastInterval||i,n=i.timeStamp-e.timeStamp,s,a,o,h;if(i.eventType!=q&&(n>U||e.velocity===r)){var f=i.deltaX-e.deltaX;var c=i.deltaY-e.deltaY;var l=ct(n,f,c);a=l.x;o=l.y;s=u(l.x)>u(l.y)?l.x:l.y;h=lt(f,c);t.lastInterval=i}else{s=e.velocity;a=e.velocityX;o=e.velocityY;h=e.direction}i.velocity=s;i.velocityX=a;i.velocityY=o;i.direction=h}function ut(t){var i=[];var e=0;while(e<t.pointers.length){i[e]={clientX:h(t.pointers[e].clientX),clientY:h(t.pointers[e].clientY)};e++}return{timeStamp:f(),pointers:i,center:ft(i),deltaX:t.deltaX,deltaY:t.deltaY}}function ft(t){var i=t.length;if(i===1){return{x:h(t[0].clientX),y:h(t[0].clientY)}}var e=0,n=0,r=0;while(r<i){e+=t[r].clientX;n+=t[r].clientY;r++}return{x:h(e/i),y:h(n/i)}}function ct(t,i,e){return{x:i/t||0,y:e/t||0}}function lt(t,i){if(t===i){return G}if(u(t)>=u(i)){return t<0?$:Z}return i<0?V:K}function vt(t,i,e){if(!e){e=it}var n=i[e[0]]-t[e[0]],r=i[e[1]]-t[e[1]];return Math.sqrt(n*n+r*r)}function dt(t,i,e){if(!e){e=it}var n=i[e[0]]-t[e[0]],r=i[e[1]]-t[e[1]];return Math.atan2(r,n)*180/Math.PI}function pt(t,i){return dt(i[1],i[0],et)+dt(t[1],t[0],et)}function mt(t,i){return vt(i[0],i[1],et)/vt(t[0],t[1],et)}var gt={mousedown:W,mousemove:H,mouseup:B};var wt="mousedown";var bt="mousemove mouseup";function xt(){this.evEl=wt;this.evWin=bt;this.pressed=false;nt.apply(this,arguments)}w(xt,nt,{handler:function t(i){var e=gt[i.type];if(e&W&&i.button===0){this.pressed=true}if(e&H&&i.which!==1){e=B}if(!this.pressed){return}if(e&B){this.pressed=false}this.callback(this.manager,e,{pointers:[i],changedPointers:[i],pointerType:Y,srcEvent:i})}});var Tt={pointerdown:W,pointermove:H,pointerup:B,pointercancel:q,pointerout:q};var yt={2:j,3:L,4:Y,5:F};var Et="pointerdown";var It="pointermove pointerup pointercancel";if(i.MSPointerEvent&&!i.PointerEvent){Et="MSPointerDown";It="MSPointerMove MSPointerUp MSPointerCancel"}function At(){this.evEl=Et;this.evWin=It;nt.apply(this,arguments);this.store=this.manager.session.pointerEvents=[]}w(At,nt,{handler:function t(i){var e=this.store;var n=false;var r=i.type.toLowerCase().replace("ms","");var s=Tt[r];var a=yt[i.pointerType]||i.pointerType;var o=a==j;var h=C(e,i.pointerId,"pointerId");if(s&W&&(i.button===0||o)){if(h<0){e.push(i);h=e.length-1}}else if(s&(B|q)){n=true}if(h<0){return}e[h]=i;this.callback(this.manager,s,{pointers:e,changedPointers:[i],pointerType:a,srcEvent:i});if(n){e.splice(h,1)}}});var Pt={touchstart:W,touchmove:H,touchend:B,touchcancel:q};var Ct="touchstart";var Dt="touchstart touchmove touchend touchcancel";function Mt(){this.evTarget=Ct;this.evWin=Dt;this.started=false;nt.apply(this,arguments)}w(Mt,nt,{handler:function t(i){var e=Pt[i.type];if(e===W){this.started=true}if(!this.started){return}var n=zt.call(this,i,e);if(e&(B|q)&&n[0].length-n[1].length===0){this.started=false}this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:j,srcEvent:i})}});function zt(t,i){var e=D(t.touches);var n=D(t.changedTouches);if(i&(B|q)){e=M(e.concat(n),"identifier",true)}return[e,n]}var kt={touchstart:W,touchmove:H,touchend:B,touchcancel:q};var Ot="touchstart touchmove touchend touchcancel";function St(){this.evTarget=Ot;this.targetIds={};nt.apply(this,arguments)}w(St,nt,{handler:function t(i){var e=kt[i.type];var n=Nt.call(this,i,e);if(!n){return}this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:j,srcEvent:i})}});function Nt(t,i){var e=D(t.touches);var n=this.targetIds;if(i&(W|H)&&e.length===1){n[e[0].identifier]=true;return[e,e]}var r,s,a=D(t.changedTouches),o=[],h=this.target;s=e.filter((function(t){return I(t.target,h)}));if(i===W){r=0;while(r<s.length){n[s[r].identifier]=true;r++}}r=0;while(r<a.length){if(n[a[r].identifier]){o.push(a[r])}if(i&(B|q)){delete n[a[r].identifier]}r++}if(!o.length){return}return[M(s.concat(o),"identifier",true),o]}var Rt=2500;var _t=25;function Xt(){nt.apply(this,arguments);var t=b(this.handler,this);this.touch=new St(this.manager,t);this.mouse=new xt(this.manager,t);this.primaryTouch=null;this.lastTouches=[]}w(Xt,nt,{handler:function t(i,e,n){var r=n.pointerType==j,s=n.pointerType==Y;if(s&&n.sourceCapabilities&&n.sourceCapabilities.firesTouchEvents){return}if(r){jt.call(this,e,n)}else if(s&&Yt.call(this,n)){return}this.callback(i,e,n)},destroy:function t(){this.touch.destroy();this.mouse.destroy()}});function jt(t,i){if(t&W){this.primaryTouch=i.changedPointers[0].identifier;Lt.call(this,i)}else if(t&(B|q)){Lt.call(this,i)}}function Lt(t){var i=t.changedPointers[0];if(i.identifier===this.primaryTouch){var e={x:i.clientX,y:i.clientY};this.lastTouches.push(e);var n=this.lastTouches;var r=function(){var t=n.indexOf(e);if(t>-1){n.splice(t,1)}};setTimeout(r,Rt)}}function Yt(t){var i=t.srcEvent.clientX,e=t.srcEvent.clientY;for(var n=0;n<this.lastTouches.length;n++){var r=this.lastTouches[n];var s=Math.abs(i-r.x),a=Math.abs(e-r.y);if(s<=_t&&a<=_t){return true}}return false}var Ft=z(a.style,"touchAction");var Ut=Ft!==r;var Wt="compute";var Ht="auto";var Bt="manipulation";var qt="none";var Gt="pan-x";var $t="pan-y";var Zt=Jt();function Vt(t,i){this.manager=t;this.set(i)}Vt.prototype={set:function(t){if(t==Wt){t=this.compute()}if(Ut&&this.manager.element.style&&Zt[t]){this.manager.element.style[Ft]=t}this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];v(this.manager.recognizers,(function(i){if(x(i.options.enable,[i])){t=t.concat(i.getTouchAction())}}));return Kt(t.join(" "))},preventDefaults:function(t){var i=t.srcEvent;var e=t.offsetDirection;if(this.manager.session.prevented){i.preventDefault();return}var n=this.actions;var r=A(n,qt)&&!Zt[qt];var s=A(n,$t)&&!Zt[$t];var a=A(n,Gt)&&!Zt[Gt];if(r){var o=t.pointers.length===1;var h=t.distance<2;var u=t.deltaTime<250;if(o&&h&&u){return}}if(a&&s){return}if(r||s&&e&J||a&&e&Q){return this.preventSrc(i)}},preventSrc:function(t){this.manager.session.prevented=true;t.preventDefault()}};function Kt(t){if(A(t,qt)){return qt}var i=A(t,Gt);var e=A(t,$t);if(i&&e){return qt}if(i||e){return i?Gt:$t}if(A(t,Bt)){return Bt}return Ht}function Jt(){if(!Ut){return false}var t={};var e=i.CSS&&i.CSS.supports;["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(n){t[n]=e?i.CSS.supports("touch-action",n):true}));return t}var Qt=1;var ti=2;var ii=4;var ei=8;var ni=ei;var ri=16;var si=32;function ai(t){this.options=p({},this.defaults,t||{});this.id=O();this.manager=null;this.options.enable=T(this.options.enable,true);this.state=Qt;this.simultaneous={};this.requireFail=[]}ai.prototype={defaults:{},set:function(t){p(this.options,t);this.manager&&this.manager.touchAction.update();return this},recognizeWith:function(t){if(l(t,"recognizeWith",this)){return this}var i=this.simultaneous;t=ui(t,this);if(!i[t.id]){i[t.id]=t;t.recognizeWith(this)}return this},dropRecognizeWith:function(t){if(l(t,"dropRecognizeWith",this)){return this}t=ui(t,this);delete this.simultaneous[t.id];return this},requireFailure:function(t){if(l(t,"requireFailure",this)){return this}var i=this.requireFail;t=ui(t,this);if(C(i,t)===-1){i.push(t);t.requireFailure(this)}return this},dropRequireFailure:function(t){if(l(t,"dropRequireFailure",this)){return this}t=ui(t,this);var i=C(this.requireFail,t);if(i>-1){this.requireFail.splice(i,1)}return this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var i=this;var e=this.state;function n(e){i.manager.emit(e,t)}if(e<ei){n(i.options.event+oi(e))}n(i.options.event);if(t.additionalEvent){n(t.additionalEvent)}if(e>=ei){n(i.options.event+oi(e))}},tryEmit:function(t){if(this.canEmit()){return this.emit(t)}this.state=si},canEmit:function(){var t=0;while(t<this.requireFail.length){if(!(this.requireFail[t].state&(si|Qt))){return false}t++}return true},recognize:function(t){var i=p({},t);if(!x(this.options.enable,[this,i])){this.reset();this.state=si;return}if(this.state&(ni|ri|si)){this.state=Qt}this.state=this.process(i);if(this.state&(ti|ii|ei|ri)){this.tryEmit(i)}},process:function(t){},getTouchAction:function(){},reset:function(){}};function oi(t){if(t&ri){return"cancel"}else if(t&ei){return"end"}else if(t&ii){return"move"}else if(t&ti){return"start"}return""}function hi(t){if(t==K){return"down"}else if(t==V){return"up"}else if(t==$){return"left"}else if(t==Z){return"right"}return""}function ui(t,i){var e=i.manager;if(e){return e.get(t)}return t}function fi(){ai.apply(this,arguments)}w(fi,ai,{defaults:{pointers:1},attrTest:function(t){var i=this.options.pointers;return i===0||t.pointers.length===i},process:function(t){var i=this.state;var e=t.eventType;var n=i&(ti|ii);var r=this.attrTest(t);if(n&&(e&q||!r)){return i|ri}else if(n||r){if(e&B){return i|ei}else if(!(i&ti)){return ti}return i|ii}return si}});function ci(){fi.apply(this,arguments);this.pX=null;this.pY=null}w(ci,fi,{defaults:{event:"pan",threshold:10,pointers:1,direction:tt},getTouchAction:function(){var t=this.options.direction;var i=[];if(t&J){i.push($t)}if(t&Q){i.push(Gt)}return i},directionTest:function(t){var i=this.options;var e=true;var n=t.distance;var r=t.direction;var s=t.deltaX;var a=t.deltaY;if(!(r&i.direction)){if(i.direction&J){r=s===0?G:s<0?$:Z;e=s!=this.pX;n=Math.abs(t.deltaX)}else{r=a===0?G:a<0?V:K;e=a!=this.pY;n=Math.abs(t.deltaY)}}t.direction=r;return e&&n>i.threshold&&r&i.direction},attrTest:function(t){return fi.prototype.attrTest.call(this,t)&&(this.state&ti||!(this.state&ti)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX;this.pY=t.deltaY;var i=hi(t.direction);if(i){t.additionalEvent=this.options.event+i}this._super.emit.call(this,t)}});function li(){fi.apply(this,arguments)}w(li,fi,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[qt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ti)},emit:function(t){if(t.scale!==1){var i=t.scale<1?"in":"out";t.additionalEvent=this.options.event+i}this._super.emit.call(this,t)}});function vi(){ai.apply(this,arguments);this._timer=null;this._input=null}w(vi,ai,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Ht]},process:function(t){var i=this.options;var e=t.pointers.length===i.pointers;var n=t.distance<i.threshold;var r=t.deltaTime>i.time;this._input=t;if(!n||!e||t.eventType&(B|q)&&!r){this.reset()}else if(t.eventType&W){this.reset();this._timer=c((function(){this.state=ni;this.tryEmit()}),i.time,this)}else if(t.eventType&B){return ni}return si},reset:function(){clearTimeout(this._timer)},emit:function(t){if(this.state!==ni){return}if(t&&t.eventType&B){this.manager.emit(this.options.event+"up",t)}else{this._input.timeStamp=f();this.manager.emit(this.options.event,this._input)}}});function di(){fi.apply(this,arguments)}w(di,fi,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[qt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ti)}});function pi(){fi.apply(this,arguments)}w(pi,fi,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:J|Q,pointers:1},getTouchAction:function(){return ci.prototype.getTouchAction.call(this)},attrTest:function(t){var i=this.options.direction;var e;if(i&(J|Q)){e=t.overallVelocity}else if(i&J){e=t.overallVelocityX}else if(i&Q){e=t.overallVelocityY}return this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&u(e)>this.options.velocity&&t.eventType&B},emit:function(t){var i=hi(t.offsetDirection);if(i){this.manager.emit(this.options.event+i,t)}this.manager.emit(this.options.event,t)}});function mi(){ai.apply(this,arguments);this.pTime=false;this.pCenter=false;this._timer=null;this._input=null;this.count=0}w(mi,ai,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Bt]},process:function(t){var i=this.options;var e=t.pointers.length===i.pointers;var n=t.distance<i.threshold;var r=t.deltaTime<i.time;this.reset();if(t.eventType&W&&this.count===0){return this.failTimeout()}if(n&&r&&e){if(t.eventType!=B){return this.failTimeout()}var s=this.pTime?t.timeStamp-this.pTime<i.interval:true;var a=!this.pCenter||vt(this.pCenter,t.center)<i.posThreshold;this.pTime=t.timeStamp;this.pCenter=t.center;if(!a||!s){this.count=1}else{this.count+=1}this._input=t;var o=this.count%i.taps;if(o===0){if(!this.hasRequireFailures()){return ni}else{this._timer=c((function(){this.state=ni;this.tryEmit()}),i.interval,this);return ti}}}return si},failTimeout:function(){this._timer=c((function(){this.state=si}),this.options.interval,this);return si},reset:function(){clearTimeout(this._timer)},emit:function(){if(this.state==ni){this._input.tapCount=this.count;this.manager.emit(this.options.event,this._input)}}});function gi(t,i){i=i||{};i.recognizers=T(i.recognizers,gi.defaults.preset);return new xi(t,i)}gi.VERSION="2.0.7";gi.defaults={domEvents:false,touchAction:Wt,enable:true,inputTarget:null,inputClass:null,preset:[[di,{enable:false}],[li,{enable:false},["rotate"]],[pi,{direction:J}],[ci,{direction:J},["swipe"]],[mi],[mi,{event:"doubletap",taps:2},["tap"]],[vi]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var wi=1;var bi=2;function xi(t,i){this.options=p({},gi.defaults,i||{});this.options.inputTarget=this.options.inputTarget||t;this.handlers={};this.session={};this.recognizers=[];this.oldCssProps={};this.element=t;this.input=rt(this);this.touchAction=new Vt(this,this.options.touchAction);Ti(this,true);v(this.options.recognizers,(function(t){var i=this.add(new t[0](t[1]));t[2]&&i.recognizeWith(t[2]);t[3]&&i.requireFailure(t[3])}),this)}xi.prototype={set:function(t){p(this.options,t);if(t.touchAction){this.touchAction.update()}if(t.inputTarget){this.input.destroy();this.input.target=t.inputTarget;this.input.init()}return this},stop:function(t){this.session.stopped=t?bi:wi},recognize:function(t){var i=this.session;if(i.stopped){return}this.touchAction.preventDefaults(t);var e;var n=this.recognizers;var r=i.curRecognizer;if(!r||r&&r.state&ni){r=i.curRecognizer=null}var s=0;while(s<n.length){e=n[s];if(i.stopped!==bi&&(!r||e==r||e.canRecognizeWith(r))){e.recognize(t)}else{e.reset()}if(!r&&e.state&(ti|ii|ei)){r=i.curRecognizer=e}s++}},get:function(t){if(t instanceof ai){return t}var i=this.recognizers;for(var e=0;e<i.length;e++){if(i[e].options.event==t){return i[e]}}return null},add:function(t){if(l(t,"add",this)){return this}var i=this.get(t.options.event);if(i){this.remove(i)}this.recognizers.push(t);t.manager=this;this.touchAction.update();return t},remove:function(t){if(l(t,"remove",this)){return this}t=this.get(t);if(t){var i=this.recognizers;var e=C(i,t);if(e!==-1){i.splice(e,1);this.touchAction.update()}}return this},on:function(t,i){if(t===r){return}if(i===r){return}var e=this.handlers;v(P(t),(function(t){e[t]=e[t]||[];e[t].push(i)}));return this},off:function(t,i){if(t===r){return}var e=this.handlers;v(P(t),(function(t){if(!i){delete e[t]}else{e[t]&&e[t].splice(C(e[t],i),1)}}));return this},emit:function(t,i){if(this.options.domEvents){yi(t,i)}var e=this.handlers[t]&&this.handlers[t].slice();if(!e||!e.length){return}i.type=t;i.preventDefault=function(){i.srcEvent.preventDefault()};var n=0;while(n<e.length){e[n](i);n++}},destroy:function(){this.element&&Ti(this,false);this.handlers={};this.session={};this.input.destroy();this.element=null}};function Ti(t,i){var e=t.element;if(!e.style){return}var n;v(t.options.cssProps,(function(r,s){n=z(e.style,s);if(i){t.oldCssProps[n]=e.style[n];e.style[n]=r}else{e.style[n]=t.oldCssProps[n]||""}}));if(!i){t.oldCssProps={}}}function yi(t,i){var n=e.createEvent("Event");n.initEvent(t,true,true);n.gesture=i;i.target.dispatchEvent(n)}p(gi,{INPUT_START:W,INPUT_MOVE:H,INPUT_END:B,INPUT_CANCEL:q,STATE_POSSIBLE:Qt,STATE_BEGAN:ti,STATE_CHANGED:ii,STATE_ENDED:ei,STATE_RECOGNIZED:ni,STATE_CANCELLED:ri,STATE_FAILED:si,DIRECTION_NONE:G,DIRECTION_LEFT:$,DIRECTION_RIGHT:Z,DIRECTION_UP:V,DIRECTION_DOWN:K,DIRECTION_HORIZONTAL:J,DIRECTION_VERTICAL:Q,DIRECTION_ALL:tt,Manager:xi,Input:nt,TouchAction:Vt,TouchInput:St,MouseInput:xt,PointerEventInput:At,TouchMouseInput:Xt,SingleTouchInput:Mt,Recognizer:ai,AttrRecognizer:fi,Tap:mi,Pan:ci,Swipe:pi,Pinch:li,Rotate:di,Press:vi,on:y,off:E,each:v,merge:g,extend:m,assign:p,inherit:w,bindFn:b,prefixed:z});var Ei=typeof i!=="undefined"?i:typeof self!=="undefined"?self:{};Ei.Hammer=gi;if(typeof r==="function"&&r.amd){r((function(){return gi}))}else if(t.exports){t.exports=gi}else{i[n]=gi}})(window,document,"Hammer")})(o);const h=o.exports;const u=":host{display:inline-block;width:100vw;min-width:200px;--percentuale:0}:host(.slide-in-left){animation:slideinleft 1s cubic-bezier(0.25, 0.1, 0.25, 0.1);animation-fill-mode:forwards}:host(.slide-in-right){animation:slideinright 1s cubic-bezier(0.25, 0.1, 0.25, 0.1);animation-fill-mode:forwards}:host(.slide-in-down){animation:slideindown 1s cubic-bezier(0.25, 0.1, 0.25, 0.1);animation-fill-mode:forwards}:host(.slide-in-up){animation:slideinup 1s cubic-bezier(0.25, 0.1, 0.25, 0.1);animation-fill-mode:forwards}:host(.slide-out-left){animation:slideoutleft 0.5s cubic-bezier(0.25, 0.1, 0.25, 0.1);animation-fill-mode:forwards}:host(.slide-out-right){animation:slideoutright 0.5s cubic-bezier(0.25, 0.1, 0.25, 0.1);animation-fill-mode:forwards}:host(.slide-out-down){animation:slideoutdown 0.5s cubic-bezier(0.25, 0.1, 0.25, 0.1);animation-fill-mode:forwards}:host(.slide-out-up){animation:slideoutup 0.5s cubic-bezier(0.25, 0.1, 0.25, 0.1);animation-fill-mode:forwards}@keyframes slideinleft{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@keyframes slideinright{0%{transform:translateX(-100%)}100%{transform:translateX(0)}}@keyframes slideinup{0%{opacity:0;transform:translateY(100%)}100%{opacity:1;transform:translateY(0)}}@keyframes slideindown{0%{opacity:0;transform:translateY(-100%)}100%{opacity:1;transform:translateY(0)}}@keyframes slideoutleft{0%{opacity:calc(100% - var(--percentuale));transform:translateX(var(--percentuale))}100%{opacity:0;transform:translateX(-100%)}}@keyframes slideoutright{0%{opacity:calc(100% - var(--percentuale));transform:translateX(var(--percentuale))}100%{opacity:0;transform:translateX(100%)}}@keyframes slideoutup{0%{opacity:1;transform:translateY(var(--percentuale))}100%{opacity:0;transform:translateY(-100%)}}@keyframes slideoutdown{0%{opacity:1;transform:translateY(var(--percentuale))}100%{opacity:0;transform:translateY(100%)}}:host>#external-container{display:flex;box-sizing:border-box;align-items:flex-start;justify-content:space-between;padding:calc(var(--space-unit) * 2);border-radius:var(--border-size-large);box-shadow:var(--shadow-3);font-family:var(--font-family-sans);font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px}:host>#external-container.mobile-wrapped>#icon{align-self:flex-start}:host>#external-container.several-lines-padding{padding:calc(var(--space-unit) * 2)}:host>#external-container>#flex-container{display:flex;width:100%;flex-wrap:wrap;align-items:center;justify-content:space-between}:host>#external-container #text{margin-right:calc(var(--space-unit) * 2);color:var(--color-text-inverse);letter-spacing:0.16px;line-height:20px;text-align:left}:host>#external-container #text>.title{margin-right:calc(var(--space-unit) / 2);font-weight:600}:host>#external-container.mobile-wrapped #button ::slotted(z-button){margin-top:calc(var(--space-unit) * 2)}:host>#external-container #icon{display:flex;height:20px;align-items:center;margin-left:calc(var(--space-unit) * 2);cursor:pointer;fill:var(--color-inverse-icon)}z-icon{display:inline-block;vertical-align:0}z-icon:focus{padding:calc(var(--space-unit) / 4);border-radius:50%;box-shadow:var(--shadow-focus-primary);outline:none !important}:host>#external-container.dark{background:var(--color-surface05)}:host>#external-container.light{background:var(--color-surface01)}:host>#external-container.light #icon{fill:var(--color-primary01-icon)}:host>#external-container.light #text,:host>#external-container.warning #text{color:var(--color-default-text)}:host>#external-container.accent{background:var(--color-primary01)}:host>#external-container.error{background:var(--color-default-error)}:host>#external-container.success{background:var(--color-default-success)}:host>#external-container.warning{background:var(--color-default-warning)}:host>#external-container.warning #icon{fill:var(--color-default-icon)}@media (min-width: 768px){:host{width:unset;max-width:50vw}:host>#external-container>#flex-container{flex-wrap:nowrap}:host>#external-container #text{width:100%}}@media (min-width: 1366px){:host{width:unset;max-width:33vw}}";const f=u;const c=class{constructor(e){t(this,e);this.toastClose=i(this,"toastClose",7);this.isCloseEventCalled=false;this.heading=undefined;this.message=undefined;this.closebutton=undefined;this.autoclose=undefined;this.pauseonfocusloss=true;this.type=undefined;this.isdraggable=true;this.draggablepercentage=80;this.transition=undefined;this.percentage=undefined}watchPropIsdraggable(t){if(t){this.sliderManager.get("pan").set({enable:true})}else{this.sliderManager.get("pan").set({enable:false})}}watchPropAutoclose(t){clearTimeout(this.timeoutHandle);this.startClosingTimeout(t)}watchPropPauseonfocusloss(t){if(this.autoclose){if(t){document.addEventListener("visibilitychange",this.visibilityChangeEventHandler)}else{document.removeEventListener("visibilitychange",this.visibilityChangeEventHandler)}}}emitToastClose(t){this.timeoutHandle=null;this.elapsedTime=null;this.hostElement.classList.add(t);this.toastClose.emit()}componentWillLoad(){this.isMobile=window.innerWidth<=a.MOBILE;this.validateAutoclose();this.percentage=0}componentDidLoad(){this.isTextLong=this.detectWrap()||this.toastText.offsetHeight>20;this.startTime=Date.now();if(this.autoclose&&this.pauseonfocusloss){document.addEventListener("visibilitychange",this.visibilityChangeEventHandler)}this.isdraggable&&this.handleSlideOutDragAnimation()}visibilityChangeEventHandler(){if(document.visibilityState==="hidden"){this.timeoutHandle&&this.onBlur()}else{this.elapsedTime&&this.onFocus()}}validateAutoclose(){if(!this.autoclose&&!this.closebutton){console.error("At least one between autoclose and closebutton must be present")}}mapSlideOutClass(){switch(this.transition){case s.SLIDE_IN_DOWN:return s.SLIDE_OUT_UP;case s.SLIDE_IN_UP:return s.SLIDE_OUT_DOWN;case s.SLIDE_IN_LEFT:return s.SLIDE_OUT_RIGHT;case s.SLIDE_IN_RIGHT:return s.SLIDE_OUT_LEFT}}calculateDraggedPercentage(t){const i=this.hostElement.getBoundingClientRect();return Math.round(100*t.deltaX/i.width)}handleSlideOutDragAnimation(){this.sliderManager=new h(this.hostElement);this.sliderManager.get("pan").set({direction:h.DIRECTION_HORIZONTAL});this.sliderManager.on("pan",(t=>{this.percentage=this.calculateDraggedPercentage(t);this.hostElement.style.transition="none";this.hostElement.classList.remove(this.transition);const i={translate:`translateX(${this.percentage}%)`,translateBack:"translateX(0)"};this.hostElement.style.opacity=`${100-Math.abs(this.percentage)}%`;if(t.eventType===h.DIRECTION_LEFT||t.eventType===h.DIRECTION_RIGHT){this.hostElement.style.transform=i.translate;if(Math.abs(this.percentage)>this.draggablepercentage&&!this.isCloseEventCalled){this.isCloseEventCalled=true;this.emitToastClose(t.direction===h.DIRECTION_LEFT?"slide-out-left":"slide-out-right")}}if(t.isFinal&&Math.abs(this.percentage)<this.draggablepercentage){this.hostElement.style.transform=i.translateBack;this.hostElement.style.transition="all 1s";this.hostElement.style.opacity="100%";this.percentage=0}}))}onFocus(){let t=this.autoclose;if(this.elapsedTime){t=this.autoclose-this.elapsedTime}if(t>0){this.startClosingTimeout(t)}}onBlur(){this.elapsedTime=Date.now()-this.startTime;clearTimeout(this.timeoutHandle)}startClosingTimeout(t){this.timeoutHandle=window.setTimeout((()=>this.emitToastClose(this.mapSlideOutClass())),t)}detectWrap(){const t=this.container.offsetWidth;const i=this.container.children;let e=0;for(let t=0;t<i.length;t++){e+=i[t].offsetWidth}return e>t}renderText(){return e("div",{id:"text",ref:t=>this.toastText=t},this.heading&&e("span",{class:"title"},this.heading),e("span",{class:"message"},this.message))}renderButton(){return e("div",{id:"button"},e("slot",{name:"button"}))}renderCloseIcon(){if(!this.closebutton){return}return e("div",{id:"icon"},e("z-icon",{tabIndex:0,name:"multiply-circled",width:15,height:15,onClick:()=>this.emitToastClose(this.mapSlideOutClass()),onKeyPress:t=>{if(t.keyCode==32||t.keyCode==13){t.preventDefault();this.emitToastClose(this.mapSlideOutClass())}}}))}renderContainer(){return e("div",{tabIndex:0,id:"external-container",class:{[this.type]:!!this.type,"several-lines-padding":this.isTextLong},ref:t=>this.container=t},this.renderText(),this.renderButton(),this.renderCloseIcon())}renderMobileContainer(){return e("div",{id:"external-container",class:{[this.type]:!!this.type,"several-lines-padding":this.isTextLong,"mobile-wrapped":this.isTextLong}},e("div",{id:"flex-container",ref:t=>this.container=t},this.renderText(),this.renderButton()),this.renderCloseIcon())}render(){return e(n,{key:"1fcfaf1bf2d6d6701eabab75ef95d956e2886fb3",style:{"--percentuale":`${this.percentage}%`},class:this.transition?this.transition:s.SLIDE_IN_DOWN,onAnimationEnd:t=>{if(this.autoclose&&t.animationName.includes("slidein")){this.startClosingTimeout(this.autoclose)}if(t.animationName.includes("slideout")){this.hostElement.parentNode.removeChild(this.hostElement)}}},this.isMobile?this.renderMobileContainer():this.renderContainer())}get hostElement(){return r(this)}static get watchers(){return{isdraggable:["watchPropIsdraggable"],autoclose:["watchPropAutoclose"],pauseonfocusloss:["watchPropPauseonfocusloss"]}}};c.style=f;export{c as z_toast_notification};
7
+ //# sourceMappingURL=p-72c07bbd.entry.js.map