@limetech/lime-elements 38.23.5 → 38.24.1

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 (138) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/lime-elements.cjs.js +1 -1
  3. package/dist/cjs/limel-action-bar_2.cjs.entry.js +1 -1
  4. package/dist/cjs/limel-ai-avatar.cjs.entry.js +1 -1
  5. package/dist/cjs/limel-badge.cjs.entry.js +42 -0
  6. package/dist/cjs/limel-badge.cjs.entry.js.map +1 -0
  7. package/dist/cjs/limel-callout.cjs.entry.js +1 -1
  8. package/dist/cjs/limel-chart.cjs.entry.js +1 -1
  9. package/dist/cjs/limel-chip_2.cjs.entry.js +1 -1
  10. package/dist/cjs/limel-collapsible-section.cjs.entry.js +1 -1
  11. package/dist/cjs/limel-file-viewer.cjs.entry.js +24 -11
  12. package/dist/cjs/limel-file-viewer.cjs.entry.js.map +1 -1
  13. package/dist/cjs/limel-file.cjs.entry.js +1 -1
  14. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
  15. package/dist/cjs/limel-linear-progress.cjs.entry.js +1 -1
  16. package/dist/cjs/{limel-portal_2.cjs.entry.js → limel-portal_3.cjs.entry.js} +107 -11
  17. package/dist/cjs/limel-portal_3.cjs.entry.js.map +1 -0
  18. package/dist/cjs/limel-profile-picture.cjs.entry.js +536 -0
  19. package/dist/cjs/limel-profile-picture.cjs.entry.js.map +1 -0
  20. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +1 -1
  21. package/dist/cjs/limel-snackbar.cjs.entry.js +1 -1
  22. package/dist/cjs/limel-table.cjs.entry.js +1 -1
  23. package/dist/cjs/loader.cjs.js +1 -1
  24. package/dist/cjs/{translations-2746c4c6.js → translations-d2be6dd7.js} +41 -9
  25. package/dist/cjs/translations-d2be6dd7.js.map +1 -0
  26. package/dist/collection/collection-manifest.json +1 -0
  27. package/dist/collection/components/file-viewer/file-viewer.css +4 -2
  28. package/dist/collection/components/file-viewer/file-viewer.js +22 -9
  29. package/dist/collection/components/file-viewer/file-viewer.js.map +1 -1
  30. package/dist/collection/components/profile-picture/profile-picture.css +255 -0
  31. package/dist/collection/components/profile-picture/profile-picture.js +554 -0
  32. package/dist/collection/components/profile-picture/profile-picture.js.map +1 -0
  33. package/dist/collection/translations/da.js +5 -1
  34. package/dist/collection/translations/da.js.map +1 -1
  35. package/dist/collection/translations/de.js +5 -1
  36. package/dist/collection/translations/de.js.map +1 -1
  37. package/dist/collection/translations/en.js +5 -1
  38. package/dist/collection/translations/en.js.map +1 -1
  39. package/dist/collection/translations/fi.js +5 -1
  40. package/dist/collection/translations/fi.js.map +1 -1
  41. package/dist/collection/translations/fr.js +5 -1
  42. package/dist/collection/translations/fr.js.map +1 -1
  43. package/dist/collection/translations/nl.js +5 -1
  44. package/dist/collection/translations/nl.js.map +1 -1
  45. package/dist/collection/translations/no.js +5 -1
  46. package/dist/collection/translations/no.js.map +1 -1
  47. package/dist/collection/translations/sv.js +5 -1
  48. package/dist/collection/translations/sv.js.map +1 -1
  49. package/dist/collection/util/image-resize.js +305 -0
  50. package/dist/collection/util/image-resize.js.map +1 -0
  51. package/dist/esm/lime-elements.js +1 -1
  52. package/dist/esm/limel-action-bar_2.entry.js +1 -1
  53. package/dist/esm/limel-ai-avatar.entry.js +1 -1
  54. package/dist/esm/limel-badge.entry.js +38 -0
  55. package/dist/esm/limel-badge.entry.js.map +1 -0
  56. package/dist/esm/limel-callout.entry.js +1 -1
  57. package/dist/esm/limel-chart.entry.js +1 -1
  58. package/dist/esm/limel-chip_2.entry.js +1 -1
  59. package/dist/esm/limel-collapsible-section.entry.js +1 -1
  60. package/dist/esm/limel-file-viewer.entry.js +24 -11
  61. package/dist/esm/limel-file-viewer.entry.js.map +1 -1
  62. package/dist/esm/limel-file.entry.js +1 -1
  63. package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
  64. package/dist/esm/limel-linear-progress.entry.js +1 -1
  65. package/dist/esm/{limel-portal_2.entry.js → limel-portal_3.entry.js} +107 -12
  66. package/dist/esm/limel-portal_3.entry.js.map +1 -0
  67. package/dist/esm/limel-profile-picture.entry.js +532 -0
  68. package/dist/esm/limel-profile-picture.entry.js.map +1 -0
  69. package/dist/esm/limel-prosemirror-adapter.entry.js +1 -1
  70. package/dist/esm/limel-snackbar.entry.js +1 -1
  71. package/dist/esm/limel-table.entry.js +1 -1
  72. package/dist/esm/loader.js +1 -1
  73. package/dist/esm/{translations-0c3c0779.js → translations-91c611da.js} +41 -9
  74. package/dist/esm/translations-91c611da.js.map +1 -0
  75. package/dist/lime-elements/lime-elements.esm.js +1 -1
  76. package/dist/lime-elements/lime-elements.esm.js.map +1 -1
  77. package/dist/lime-elements/p-18a3c28a.entry.js +2 -0
  78. package/dist/lime-elements/p-18a3c28a.entry.js.map +1 -0
  79. package/dist/lime-elements/{p-244e13f5.entry.js → p-1b036add.entry.js} +2 -2
  80. package/dist/lime-elements/{p-9abbe61a.entry.js → p-2e22d9a1.entry.js} +2 -2
  81. package/dist/lime-elements/p-4c88e5d3.js +2 -0
  82. package/dist/lime-elements/p-4c88e5d3.js.map +1 -0
  83. package/dist/lime-elements/{p-208f87d2.entry.js → p-6466167d.entry.js} +2 -2
  84. package/dist/lime-elements/{p-5bf57c21.entry.js → p-8e3c4418.entry.js} +2 -2
  85. package/dist/lime-elements/p-92809b13.entry.js +2 -0
  86. package/dist/lime-elements/p-92809b13.entry.js.map +1 -0
  87. package/dist/lime-elements/{p-b957a3ca.entry.js → p-aeba4aa4.entry.js} +2 -2
  88. package/dist/lime-elements/p-b5a96409.entry.js +2 -0
  89. package/dist/lime-elements/p-b5a96409.entry.js.map +1 -0
  90. package/dist/lime-elements/{p-8a7bc823.entry.js → p-b5abf284.entry.js} +2 -2
  91. package/dist/lime-elements/{p-00aee6b6.entry.js → p-cc7f4c81.entry.js} +2 -2
  92. package/dist/lime-elements/{p-e4d64dd2.entry.js → p-e6bb4d1a.entry.js} +2 -2
  93. package/dist/lime-elements/{p-d7e93894.entry.js → p-e8520341.entry.js} +2 -2
  94. package/dist/lime-elements/p-ed04acfc.entry.js +2 -0
  95. package/dist/lime-elements/p-ed04acfc.entry.js.map +1 -0
  96. package/dist/lime-elements/{p-6edfe426.entry.js → p-ed8aa16c.entry.js} +2 -2
  97. package/dist/lime-elements/{p-2173d6d5.entry.js → p-ee0ed7ba.entry.js} +2 -2
  98. package/dist/lime-elements/{p-5018673b.entry.js → p-f83ebd28.entry.js} +2 -2
  99. package/dist/types/components/profile-picture/profile-picture.d.ts +126 -0
  100. package/dist/types/components.d.ts +203 -0
  101. package/dist/types/translations/da.d.ts +4 -0
  102. package/dist/types/translations/de.d.ts +4 -0
  103. package/dist/types/translations/en.d.ts +4 -0
  104. package/dist/types/translations/fi.d.ts +4 -0
  105. package/dist/types/translations/fr.d.ts +4 -0
  106. package/dist/types/translations/nl.d.ts +4 -0
  107. package/dist/types/translations/no.d.ts +4 -0
  108. package/dist/types/translations/sv.d.ts +4 -0
  109. package/dist/types/util/image-resize.d.ts +138 -0
  110. package/package.json +1 -1
  111. package/dist/cjs/limel-badge_2.cjs.entry.js +0 -138
  112. package/dist/cjs/limel-badge_2.cjs.entry.js.map +0 -1
  113. package/dist/cjs/limel-portal_2.cjs.entry.js.map +0 -1
  114. package/dist/cjs/translations-2746c4c6.js.map +0 -1
  115. package/dist/esm/limel-badge_2.entry.js +0 -133
  116. package/dist/esm/limel-badge_2.entry.js.map +0 -1
  117. package/dist/esm/limel-portal_2.entry.js.map +0 -1
  118. package/dist/esm/translations-0c3c0779.js.map +0 -1
  119. package/dist/lime-elements/p-29b1f083.entry.js +0 -2
  120. package/dist/lime-elements/p-29b1f083.entry.js.map +0 -1
  121. package/dist/lime-elements/p-65d5d2fb.entry.js +0 -2
  122. package/dist/lime-elements/p-65d5d2fb.entry.js.map +0 -1
  123. package/dist/lime-elements/p-c8825e88.js +0 -2
  124. package/dist/lime-elements/p-c8825e88.js.map +0 -1
  125. package/dist/lime-elements/p-fe7243c1.entry.js +0 -2
  126. package/dist/lime-elements/p-fe7243c1.entry.js.map +0 -1
  127. /package/dist/lime-elements/{p-244e13f5.entry.js.map → p-1b036add.entry.js.map} +0 -0
  128. /package/dist/lime-elements/{p-9abbe61a.entry.js.map → p-2e22d9a1.entry.js.map} +0 -0
  129. /package/dist/lime-elements/{p-208f87d2.entry.js.map → p-6466167d.entry.js.map} +0 -0
  130. /package/dist/lime-elements/{p-5bf57c21.entry.js.map → p-8e3c4418.entry.js.map} +0 -0
  131. /package/dist/lime-elements/{p-b957a3ca.entry.js.map → p-aeba4aa4.entry.js.map} +0 -0
  132. /package/dist/lime-elements/{p-8a7bc823.entry.js.map → p-b5abf284.entry.js.map} +0 -0
  133. /package/dist/lime-elements/{p-00aee6b6.entry.js.map → p-cc7f4c81.entry.js.map} +0 -0
  134. /package/dist/lime-elements/{p-e4d64dd2.entry.js.map → p-e6bb4d1a.entry.js.map} +0 -0
  135. /package/dist/lime-elements/{p-d7e93894.entry.js.map → p-e8520341.entry.js.map} +0 -0
  136. /package/dist/lime-elements/{p-6edfe426.entry.js.map → p-ed8aa16c.entry.js.map} +0 -0
  137. /package/dist/lime-elements/{p-2173d6d5.entry.js.map → p-ee0ed7ba.entry.js.map} +0 -0
  138. /package/dist/lime-elements/{p-5018673b.entry.js.map → p-f83ebd28.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{r as a,h as r,H as t}from"./p-288f0842.js";import{t as e}from"./p-c8825e88.js";const i=':host(limel-ai-avatar){display:flex;justify-content:center;align-self:center;position:relative;aspect-ratio:1;max-width:10rem;max-height:8rem;min-width:1.75rem;min-height:1.75rem;border-radius:0.5rem}*{box-sizing:border-box}:host(limel-ai-avatar[is-thinking]:not([is-thinking=false])){--ai-avatar-animation-play-state:running;--ai-avatar-orbitals-opacity:0.6;--ai-avatar-orbitals-animation-play-state:running}.core,.orbitals{position:absolute;inset:0;margin:auto;display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:50%}.core{opacity:0.3;width:70%;animation:breathe 3s ease infinite var(--ai-avatar-animation-play-state, paused);background-color:rgb(var(--color-glaucous-darker), 0.6);mix-blend-mode:plus-lighter}.orbitals{mix-blend-mode:plus-lighter;width:clamp(0.375rem, 20%, 3.5rem);animation:rotate 5s linear infinite var(--ai-avatar-orbitals-animation-play-state, paused);transition:opacity 0.2s ease;opacity:var(--ai-avatar-orbitals-opacity, 0)}.orbitals:after,.orbitals:before{content:"";display:block;position:absolute;inset:0;margin:auto;width:clamp(0.125rem, 50%, 0.75rem);aspect-ratio:1;border-radius:50%;background-color:rgb(var(--color-glaucous-lighter))}.orbitals:before{animation:orbit 1s linear infinite var(--ai-avatar-orbitals-animation-play-state, paused);opacity:0.6;transform-origin:-220% 0;margin-right:-70%}.orbitals:after{animation:orbit 2s linear infinite var(--ai-avatar-orbitals-animation-play-state, paused);opacity:0.8;scale:0.7;transform-origin:0% -250%;margin-bottom:-70%}@keyframes orbit{0%{transform:rotateZ(0deg) translate3d(0, 0, 0)}100%{transform:rotateZ(360deg) translate3d(0, 0, 0)}}@keyframes breathe{1%,100%{transform:scale(1)}50%{transform:scale(0.86)}}@keyframes rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}svg{position:absolute;margin:auto;mix-blend-mode:screen;animation-iteration-count:infinite;animation-play-state:var(--ai-avatar-animation-play-state, paused)}.red{rotate:20deg;color:rgb(var(--color-red-default));animation-name:rotate, scale-circle-one;animation-duration:5s}.green{rotate:36deg;color:rgb(var(--color-green-default));animation-name:rotate, scale-circle-two;animation-duration:5.5s}.blue{rotate:100deg;color:rgb(var(--color-blue-default));animation-name:rotate, scale-circle-three;animation-duration:4.5s}.orange{rotate:165deg;color:rgb(var(--color-orange-default));animation-name:rotate, scale-circle-four;animation-duration:6.5s}@keyframes scale-circle-one{0%,100%{transform:scaleX(1) scaleY(0.8)}25%,75%{transform:scaleX(0.8) scaleY(0.9)}50%{transform:scaleX(1) scaleY(0.7)}}@keyframes scale-circle-two{0%,100%{transform:scaleX(0.8) scaleY(1)}25%,75%{transform:scaleX(0.9) scaleY(0.75)}50%{transform:scaleX(0.72) scaleY(1)}}@keyframes scale-circle-three{0%,100%{transform:scaleX(0.9) scaleY(0.8)}50%{transform:scaleX(0.75) scaleY(0.9)}}@keyframes scale-circle-four{0%,100%{transform:scaleX(0.8) scaleY(0.95)}25%,75%{transform:scaleX(0.95) scaleY(0.75)}50%{transform:scaleX(0.75) scaleY(0.95)}}';const o=class{constructor(r){a(this,r);this.getTranslation=a=>e.get(a,this.language);this.isThinking=false;this.language=document.documentElement.lang}render(){return r(t,{role:"img","aria-label":this.getHostAriaLabel()},this.renderCircle("red"),this.renderCircle("green"),this.renderCircle("blue"),this.renderCircle("orange"),r("div",{class:"core"}),r("div",{class:"orbitals"}))}getHostAriaLabel(){let a="";if(this.isThinking){a=` (${this.getTranslation("ai-avatar.thinking")})`}return`${this.getTranslation("ai-avatar.label")}${a}`}renderCircle(a){return r("svg",{class:a,viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg",role:"presentation"},r("circle",{cx:"50",cy:"50",r:"40",fill:"none",stroke:"currentColor","stroke-width":"6"}))}};o.style=i;export{o as limel_ai_avatar};
2
- //# sourceMappingURL=p-5bf57c21.entry.js.map
1
+ import{r as a,h as r,H as t}from"./p-288f0842.js";import{t as e}from"./p-4c88e5d3.js";const i=':host(limel-ai-avatar){display:flex;justify-content:center;align-self:center;position:relative;aspect-ratio:1;max-width:10rem;max-height:8rem;min-width:1.75rem;min-height:1.75rem;border-radius:0.5rem}*{box-sizing:border-box}:host(limel-ai-avatar[is-thinking]:not([is-thinking=false])){--ai-avatar-animation-play-state:running;--ai-avatar-orbitals-opacity:0.6;--ai-avatar-orbitals-animation-play-state:running}.core,.orbitals{position:absolute;inset:0;margin:auto;display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:50%}.core{opacity:0.3;width:70%;animation:breathe 3s ease infinite var(--ai-avatar-animation-play-state, paused);background-color:rgb(var(--color-glaucous-darker), 0.6);mix-blend-mode:plus-lighter}.orbitals{mix-blend-mode:plus-lighter;width:clamp(0.375rem, 20%, 3.5rem);animation:rotate 5s linear infinite var(--ai-avatar-orbitals-animation-play-state, paused);transition:opacity 0.2s ease;opacity:var(--ai-avatar-orbitals-opacity, 0)}.orbitals:after,.orbitals:before{content:"";display:block;position:absolute;inset:0;margin:auto;width:clamp(0.125rem, 50%, 0.75rem);aspect-ratio:1;border-radius:50%;background-color:rgb(var(--color-glaucous-lighter))}.orbitals:before{animation:orbit 1s linear infinite var(--ai-avatar-orbitals-animation-play-state, paused);opacity:0.6;transform-origin:-220% 0;margin-right:-70%}.orbitals:after{animation:orbit 2s linear infinite var(--ai-avatar-orbitals-animation-play-state, paused);opacity:0.8;scale:0.7;transform-origin:0% -250%;margin-bottom:-70%}@keyframes orbit{0%{transform:rotateZ(0deg) translate3d(0, 0, 0)}100%{transform:rotateZ(360deg) translate3d(0, 0, 0)}}@keyframes breathe{1%,100%{transform:scale(1)}50%{transform:scale(0.86)}}@keyframes rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}svg{position:absolute;margin:auto;mix-blend-mode:screen;animation-iteration-count:infinite;animation-play-state:var(--ai-avatar-animation-play-state, paused)}.red{rotate:20deg;color:rgb(var(--color-red-default));animation-name:rotate, scale-circle-one;animation-duration:5s}.green{rotate:36deg;color:rgb(var(--color-green-default));animation-name:rotate, scale-circle-two;animation-duration:5.5s}.blue{rotate:100deg;color:rgb(var(--color-blue-default));animation-name:rotate, scale-circle-three;animation-duration:4.5s}.orange{rotate:165deg;color:rgb(var(--color-orange-default));animation-name:rotate, scale-circle-four;animation-duration:6.5s}@keyframes scale-circle-one{0%,100%{transform:scaleX(1) scaleY(0.8)}25%,75%{transform:scaleX(0.8) scaleY(0.9)}50%{transform:scaleX(1) scaleY(0.7)}}@keyframes scale-circle-two{0%,100%{transform:scaleX(0.8) scaleY(1)}25%,75%{transform:scaleX(0.9) scaleY(0.75)}50%{transform:scaleX(0.72) scaleY(1)}}@keyframes scale-circle-three{0%,100%{transform:scaleX(0.9) scaleY(0.8)}50%{transform:scaleX(0.75) scaleY(0.9)}}@keyframes scale-circle-four{0%,100%{transform:scaleX(0.8) scaleY(0.95)}25%,75%{transform:scaleX(0.95) scaleY(0.75)}50%{transform:scaleX(0.75) scaleY(0.95)}}';const o=class{constructor(r){a(this,r);this.getTranslation=a=>e.get(a,this.language);this.isThinking=false;this.language=document.documentElement.lang}render(){return r(t,{role:"img","aria-label":this.getHostAriaLabel()},this.renderCircle("red"),this.renderCircle("green"),this.renderCircle("blue"),this.renderCircle("orange"),r("div",{class:"core"}),r("div",{class:"orbitals"}))}getHostAriaLabel(){let a="";if(this.isThinking){a=` (${this.getTranslation("ai-avatar.thinking")})`}return`${this.getTranslation("ai-avatar.label")}${a}`}renderCircle(a){return r("svg",{class:a,viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg",role:"presentation"},r("circle",{cx:"50",cy:"50",r:"40",fill:"none",stroke:"currentColor","stroke-width":"6"}))}};o.style=i;export{o as limel_ai_avatar};
2
+ //# sourceMappingURL=p-8e3c4418.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as t,c as e,h as i,g as o}from"./p-288f0842.js";import{t as s}from"./p-4c88e5d3.js";function r(t,e){const i=t||e;if(!i){return"unknown"}const o=i.split(".").pop().toLowerCase();const s={pdf:"pdf",jpg:"image",jpeg:"image",heic:"image",bmp:"image",png:"image",gif:"image",svg:"image",svgz:"image",ep:"image",eps:"image",avi:"video",flv:"video",h264:"video",mov:"video",mp4:"video",mwv:"video",mkv:"video",mp3:"audio",wav:"audio",wma:"audio",ogg:"audio",txt:"text",json:"text",html:"text",xml:"text",doc:"office",docx:"office",odt:"office",dot:"office",dotx:"office",docm:"office",dotm:"office",pot:"office",ppt:"office",pptx:"office",odp:"office",potx:"office",potm:"office",pps:"office",ppsx:"office",ppsm:"office",pptm:"office",ppam:"office",pages:"office",xls:"office",xlsx:"office",xlsm:"office",xlsb:"office",ods:"office",csv:"office",numbers:"office"};return s[o]||"unknown"}class n{constructor(t){this.requestFullscreen=()=>{if(this.enter){this.enter()}};this.exitFullscreen=()=>{if(this.exit){this.exit.bind(window.document)()}};this.toggle=()=>{const t=window.document;const e=t.fullscreenElement||t.mozFullScreenElement||t.webkitFullscreenElement||t.msFullscreenElement;if(e){this.exitFullscreen()}else{this.requestFullscreen()}};this.enter=t.requestFullscreen||t.msRequestFullscreen||t.mozRequestFullScreen||t.webkitRequestFullscreen;this.enter=this.enter.bind(t);const e=window.document;this.exit=e.exitFullscreen||e.msExitFullscreen||e.mozCancelFullScreen||e.webkitExitFullscreen}isSupported(){return!!this.requestFullscreen}}const l='@charset "UTF-8";:host{isolation:isolate;position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;height:100%}*{box-sizing:border-box}img,video,audio,object,iframe{max-height:100%;max-width:100%;box-sizing:border-box}iframe{border:none;width:100%;height:100%;min-height:20rem}img{min-width:7rem;object-fit:contain}video{width:100%;height:auto}audio{width:100%}object{width:100%;height:100%}object[type="application/pdf"]{min-height:20rem}object[type="text/plain"]{border-radius:0.25rem;padding-right:2rem;overflow-y:auto}:host(:fullscreen){background-color:rgb(var(--color-gray-darker))}:host(:fullscreen) object[type="text/plain"]{max-width:50rem;max-height:calc(100% - 2rem)}:host(:-webkit-full-screen){background-color:rgb(var(--color-gray-darker))}:host(:-webkit-full-screen) object[type="text/plain"]{max-width:50rem;max-height:calc(100% - 2rem)}.buttons{position:absolute;z-index:1;top:0.25rem;right:0.25rem;display:flex;flex-direction:column;gap:0.25rem}@media (pointer: coarse){.buttons{gap:0.5rem}}.no-support{display:flex;flex-direction:column;gap:0.5rem;align-items:center;border:1px dashed rgb(var(--contrast-600));border-radius:0.5rem;padding:1.25rem}.no-support h1,.no-support p{margin:0}[class^=button--]{all:unset;transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-normal);display:flex;align-items:center;justify-content:center;border-radius:50%;width:2rem;height:2rem;background-color:rgba(var(--contrast-100), 0.8);backdrop-filter:blur(0.25rem);-webkit-backdrop-filter:blur(0.25rem)}[class^=button--]:hover,[class^=button--]:focus,[class^=button--]:focus-visible{will-change:color, background-color, box-shadow, transform}[class^=button--]:hover,[class^=button--]:focus-visible{transform:translate3d(0, -0.04rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}[class^=button--]:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}[class^=button--]:hover,[class^=button--]:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}[class^=button--]:focus{outline:none}[class^=button--]:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}[class^=button--] limel-icon{transition:color 0.2s ease;width:1.25rem;color:rgb(var(--contrast-1200))}[class^=button--]:hover limel-icon{color:rgb(var(--contrast-1400))}.action-menu-for-pdf-files,.action-menu-for-office-files{position:absolute;right:0.75rem}.action-menu-for-pdf-files{bottom:0.75rem}.action-menu-for-office-files{top:0.75rem}';const a=class{constructor(o){t(this,o);this.action=e(this,"action",7);this.renderPdf=()=>[i("div",{class:"action-menu-for-pdf-files"},this.renderActionMenu()),i("iframe",{src:this.sanitizeUrl(this.fileUrl),loading:"lazy"})];this.renderImage=()=>[this.renderButtons(),i("img",{src:this.sanitizeUrl(this.fileUrl),alt:this.alt,loading:"lazy"})];this.renderVideo=()=>i("video",{controls:true},i("source",{src:this.sanitizeUrl(this.fileUrl)}));this.renderAudio=()=>i("audio",{controls:true},i("source",{src:this.sanitizeUrl(this.fileUrl)}));this.renderText=()=>{const t=[this.renderNoFileSupportMessage()];return[this.renderButtons(),i("object",{data:this.sanitizeUrl(this.fileUrl),type:"text/plain"},t)]};this.renderOffice=()=>[i("div",{class:"action-menu-for-office-files"},this.renderActionMenu()),i("iframe",{src:this.getOfficeViewerUrl()+encodeURIComponent(this.sanitizeUrl(this.fileUrl))+"&embedded=true",loading:"lazy"})];this.isOfficeFileAccessibleViaURL=()=>this.fileType==="office"&&!(this.fileUrl.startsWith("http://")||this.fileUrl.startsWith("https://"));this.getOfficeViewerUrl=()=>{const t={"microsoft-office":"https://view.officeapps.live.com/op/embed.aspx?src=","google-drive":"https://docs.google.com/gview?url="};return t[this.officeViewer]};this.renderNoFileSupportMessage=()=>i("div",{class:"no-support",role:"alert"},i("h1",null,"⚠️"),i("p",null,this.getTranslation("file-viewer.message.unsupported-filetype")),i("p",{style:{textAlign:"center",margin:"0 auto"}},this.getTranslation("file-viewer.message.try-other-options")),",",this.renderDownloadButton());this.renderButtons=()=>i("div",{class:"buttons"},this.renderActionMenu(),this.renderToggleFullscreenButton(),this.renderDownloadButton(),this.renderOpenInNewTabButton());this.renderToggleFullscreenButton=()=>{if(!this.allowFullscreen||!this.fullscreen.isSupported()){return}const t=this.isFullscreen?"multiply":"fit_to_width";const e=this.isFullscreen?this.getTranslation("file-viewer.exit-fullscreen"):this.getTranslation("file-viewer.open-in-fullscreen");return[i("button",{class:"button--toggle-fullscreen",id:"tooltip-toggle-fullscreen",role:"button",onClick:this.handleToggleFullscreen},i("limel-icon",{name:t}),i("limel-tooltip",{label:e,elementId:"tooltip-toggle-fullscreen",openDirection:"left"}))]};this.renderDownloadButton=()=>{var t;if(!this.allowDownload||this.isFullscreen){return}return i("a",{class:"button--download",id:"tooltip-download",role:"button",download:(t=this.filename)!==null&&t!==void 0?t:"",href:this.sanitizeUrl(this.fileUrl),target:"_blank"},i("limel-icon",{name:"download_2"}),i("limel-tooltip",{label:this.getTranslation("file-viewer.download"),elementId:"tooltip-download",openDirection:"left"}))};this.renderOpenInNewTabButton=()=>{if(!this.allowOpenInNewTab||this.isFullscreen){return}return i("a",{class:"button--new-tab",id:"tooltip-new-tab",role:"button",href:this.sanitizeUrl(this.fileUrl),target:"_blank",rel:"noopener noreferrer"},i("limel-icon",{name:"external_link"}),i("limel-tooltip",{label:this.getTranslation("file-viewer.open-in-new-tab"),elementId:"tooltip-new-tab",openDirection:"left"}))};this.renderActionMenu=()=>{if(!this.actions||this.isFullscreen){return}return i("limel-menu",{class:"action-menu",items:this.actions,onSelect:this.emitOnAction,"open-direction":"left"},i("button",{class:"button--action",id:"tooltip-more",role:"button",slot:"trigger"},i("limel-icon",{name:"menu_2"}),i("limel-tooltip",{label:this.getTranslation("file-viewer.more-actions"),elementId:"tooltip-more",openDirection:"left"})))};this.createURL=async t=>{if(["pdf"].includes(t)){const t=await fetch(this.url);const e=await t.blob();this.fileUrl=URL.createObjectURL(e)}else{this.fileUrl=this.url}this.loading=false};this.handleToggleFullscreen=()=>{if(this.fullscreen.isSupported()){this.fullscreen.toggle();this.isFullscreen=!this.isFullscreen}};this.emitOnAction=t=>{t.stopPropagation();this.action.emit(t.detail)};this.url=undefined;this.filename=undefined;this.alt=undefined;this.allowFullscreen=false;this.allowOpenInNewTab=false;this.allowDownload=false;this.language="en";this.officeViewer="microsoft-office";this.actions=undefined;this.isFullscreen=false;this.fileType=undefined;this.loading=true;this.fileUrl="";this.fullscreen=new n(this.HostElement)}async componentWillLoad(){this.fileType=r(this.filename,this.url);await this.createURL(this.fileType)}render(){if(!this.isOfficeFileAccessibleViaURL){return this.renderNoFileSupportMessage()}if(this.loading){return i("limel-spinner",{size:"x-small",limeBranded:false})}return this.renderFileViewer()}async watchUrl(t,e){if(t===e){return}this.loading=true;this.fileType=r(this.filename,this.fileUrl);await this.createURL(this.fileType)}renderFileViewer(){const t={pdf:this.renderPdf,image:this.renderImage,video:this.renderVideo,audio:this.renderAudio,text:this.renderText,office:this.renderOffice};const e=t[this.fileType]||this.renderNoFileSupportMessage;return e()}sanitizeUrl(t){try{const e=new URL(t,window.location.href);const i=["http:","https:","blob:"];return i.includes(e.protocol)?e.href:""}catch(t){return""}}getTranslation(t){return s.get(t,this.language)}get HostElement(){return o(this)}static get watchers(){return{url:["watchUrl"]}}};a.style=l;export{a as limel_file_viewer};
2
+ //# sourceMappingURL=p-92809b13.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["detectExtension","fileName","url","pathLike","extension","split","pop","toLowerCase","extensionsToTypes","pdf","jpg","jpeg","heic","bmp","png","gif","svg","svgz","ep","eps","avi","flv","h264","mov","mp4","mwv","mkv","mp3","wav","wma","ogg","txt","json","html","xml","doc","docx","odt","dot","dotx","docm","dotm","pot","ppt","pptx","odp","potx","potm","pps","ppsx","ppsm","pptm","ppam","pages","xls","xlsx","xlsm","xlsb","ods","csv","numbers","Fullscreen","constructor","element","this","requestFullscreen","enter","exitFullscreen","exit","bind","window","document","toggle","isFullscreen","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","msRequestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msExitFullscreen","mozCancelFullScreen","webkitExitFullscreen","isSupported","fileViewerCss","FileViewer","hostRef","renderPdf","h","class","renderActionMenu","src","sanitizeUrl","fileUrl","loading","renderImage","renderButtons","alt","renderVideo","controls","renderAudio","renderText","fallbackContent","renderNoFileSupportMessage","data","type","renderOffice","getOfficeViewerUrl","encodeURIComponent","isOfficeFileAccessibleViaURL","fileType","startsWith","officeViewers","officeViewer","role","getTranslation","style","textAlign","margin","renderDownloadButton","renderToggleFullscreenButton","renderOpenInNewTabButton","allowFullscreen","fullscreen","icon","label","id","onClick","handleToggleFullscreen","name","elementId","openDirection","allowDownload","download","_a","filename","href","target","allowOpenInNewTab","rel","actions","items","onSelect","emitOnAction","slot","createURL","async","includes","response","fetch","blob","URL","createObjectURL","event","stopPropagation","action","emit","detail","HostElement","render","size","limeBranded","renderFileViewer","newUrl","oldUrl","fileViewerFunctions","image","video","audio","text","office","fileViewerFunction","u","location","allowed","protocol","key","translate","get","language"],"sources":["./src/components/file-viewer/extension-mapping.tsx","./src/components/file-viewer/fullscreen.ts","./src/components/file-viewer/file-viewer.scss?tag=limel-file-viewer&encapsulation=shadow","./src/components/file-viewer/file-viewer.tsx"],"sourcesContent":["/**\n *\n * @param fileName\n * @param url\n */\nexport function detectExtension(fileName, url): any {\n const pathLike = fileName || url;\n if (!pathLike) {\n return 'unknown';\n }\n\n const extension = pathLike.split('.').pop().toLowerCase();\n const extensionsToTypes = {\n pdf: 'pdf',\n jpg: 'image',\n jpeg: 'image',\n heic: 'image',\n bmp: 'image',\n png: 'image',\n gif: 'image',\n svg: 'image',\n svgz: 'image',\n ep: 'image',\n eps: 'image',\n avi: 'video',\n flv: 'video',\n h264: 'video',\n mov: 'video',\n mp4: 'video',\n mwv: 'video',\n mkv: 'video',\n mp3: 'audio',\n wav: 'audio',\n wma: 'audio',\n ogg: 'audio',\n txt: 'text',\n json: 'text',\n html: 'text',\n xml: 'text',\n // Word\n doc: 'office',\n docx: 'office',\n odt: 'office',\n dot: 'office',\n dotx: 'office',\n docm: 'office', // not supported\n dotm: 'office', // not yet tested\n // Presentation\n pot: 'office', // not tested\n ppt: 'office',\n pptx: 'office',\n odp: 'office',\n potx: 'office', // not supported\n potm: 'office', // not supported\n pps: 'office',\n ppsx: 'office',\n ppsm: 'office', // not supported\n pptm: 'office', // not supported\n ppam: 'office', // not tested\n pages: 'office', // not supported (Apple)\n // Spreadsheet\n xls: 'office',\n xlsx: 'office',\n xlsm: 'office',\n xlsb: 'office',\n ods: 'office',\n csv: 'office', // not supported\n numbers: 'office', // not supported (Apple)\n };\n\n return extensionsToTypes[extension] || 'unknown';\n}\n","export class Fullscreen {\n private enter: () => void;\n private exit: () => void;\n\n constructor(element: any) {\n this.enter =\n element.requestFullscreen ||\n element.msRequestFullscreen ||\n element.mozRequestFullScreen ||\n element.webkitRequestFullscreen;\n this.enter = this.enter.bind(element);\n const doc: any = window.document;\n this.exit =\n doc.exitFullscreen ||\n doc.msExitFullscreen ||\n doc.mozCancelFullScreen ||\n doc.webkitExitFullscreen;\n }\n\n public requestFullscreen = () => {\n if (this.enter) {\n this.enter();\n }\n };\n\n public exitFullscreen = () => {\n if (this.exit) {\n this.exit.bind(window.document)();\n }\n };\n\n public toggle = () => {\n const doc: any = window.document;\n const isFullscreen =\n doc.fullscreenElement ||\n doc.mozFullScreenElement ||\n doc.webkitFullscreenElement ||\n doc.msFullscreenElement;\n\n if (isFullscreen) {\n this.exitFullscreen();\n } else {\n this.requestFullscreen();\n }\n };\n\n public isSupported(): boolean {\n return !!this.requestFullscreen;\n }\n}\n","@use '../../style/internal/shared_input-select-picker';\n@use '../../style/mixins';\n\n$size-of-buttons: 2rem;\n\n:host {\n isolation: isolate;\n position: relative;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n* {\n box-sizing: border-box;\n}\n\nimg,\nvideo,\naudio,\nobject,\niframe {\n max-height: 100%;\n max-width: 100%;\n box-sizing: border-box;\n}\n\niframe {\n border: none;\n width: 100%;\n height: 100%;\n min-height: 20rem; // makes sure to get minimum comfortable space for viewing office files, and Microsoft Office viewers toolbars\n}\n\nimg {\n min-width: 7rem;\n object-fit: contain; // increases or decreases the size of the image to fill the box whilst preserving its aspect-ratio.\n}\n\nvideo {\n width: 100%;\n height: auto;\n}\n\naudio {\n width: 100%;\n}\n\nobject {\n width: 100%;\n height: 100%;\n}\n\nobject[type='application/pdf'] {\n min-height: 20rem;\n // makes sure to get browsers' native controls for the PDF\n}\n\nobject[type='text/plain'] {\n border-radius: 0.25rem;\n padding-right: $size-of-buttons;\n\n overflow-y: auto;\n}\n\n@mixin plain-text-in-fullscreen {\n background-color: rgb(var(--color-gray-darker));\n\n object[type='text/plain'] {\n max-width: 50rem;\n max-height: calc(100% - 2rem);\n }\n}\n\n:host(:fullscreen) {\n @include plain-text-in-fullscreen;\n}\n:host(:-webkit-full-screen) {\n // this is repetition of the previous block,\n // but needed for Safari to work.\n // Cannot write SCSS rules for `:host` using commas for some reason.\n // e.g.: `:host(:fullscreen), :host(:-webkit-full-screen)`.\n // So you have to repeat it sadly.\n @include plain-text-in-fullscreen;\n}\n\n@import './partial-styles/ui-controls.scss';\n","import {\n Component,\n Element,\n h,\n Prop,\n State,\n Event,\n EventEmitter,\n Watch,\n} from '@stencil/core';\nimport { Languages } from '../date-picker/date.types';\nimport { ListItem } from '../list/list-item.types';\nimport translate from '../../global/translations';\nimport { detectExtension } from './extension-mapping';\nimport { Fullscreen } from './fullscreen';\nimport { FileType, OfficeViewer } from './file-viewer.types';\nimport { LimelMenuCustomEvent } from '../../components';\n\n/**\n * This is a smart component that automatically detects\n * the most common file types such as image, audio, video, and text,\n * and properly displays them in the browser.\n * The component is also capable to render the most common office files.\n *\n * :::note\n * Image files will always be contained in their containers, which means\n * they automatically increase or decrease in size to fill their containing box\n * whilst preserving their aspect-ratio.\n *\n * Text and PDF files will also always respect the width and height of the\n * container in which the `limel-file-viewer` is loaded.\n * :::\n *\n * For some file types such as text and images, the component will display a\n * download button and a button to open the file in a new browser tab.\n * This will allow users to preview the file in a fullscreen mode with the\n * browser and take advantage of for example native zooming and panning\n * functionalities.\n *\n * @exampleComponent limel-example-file-viewer-basic\n * @exampleComponent limel-example-file-viewer-office\n * @exampleComponent limel-example-file-viewer-filename\n * @exampleComponent limel-example-file-viewer-inbuilt-actions\n * @exampleComponent limel-example-file-viewer-custom-actions\n * @exampleComponent limel-example-file-viewer-with-picker\n *\n * @beta\n */\n\n@Component({\n tag: 'limel-file-viewer',\n shadow: true,\n styleUrl: 'file-viewer.scss',\n})\nexport class FileViewer {\n /**\n * Link to the file\n */\n @Prop({ reflect: true })\n public url: string;\n\n /**\n * The name of the file that must also contains its extension.\n * This overrides the filename that the `url` ends with.\n * Useful when the `url` does not contain the filename.\n * When specified, the `filename` will be used as filename of\n * the downloaded file.\n */\n @Prop({ reflect: true })\n public filename?: string;\n\n /**\n * An optional alternative text, mainly for assistive technologies and screen readers.\n * It is used for only image files, as an `alt` attribute.\n * Should optimally hold a description of the image,\n * which is also displayed on the page if the image can't be loaded for some reason.\n */\n @Prop({ reflect: true })\n public alt?: string;\n\n /**\n * Displays a button that allows the user to view the file\n * in fullscreen mode.\n * Not displayed for office files!\n */\n @Prop({ reflect: true })\n public allowFullscreen?: boolean = false;\n\n /**\n * Displays a button that allows the user to open the file\n * in a new browser tab.\n * Not displayed for office files!\n */\n @Prop({ reflect: true })\n public allowOpenInNewTab?: boolean = false;\n\n /**\n * Displays a button that allows the user to download the file.\n * Note that due to the browser's security policies,\n * the file should be hosted on the same domain\n * for the download button to work properly.\n * Not displayed for office files!\n */\n @Prop({ reflect: true })\n public allowDownload?: boolean = false;\n\n /**\n * Defines the localization for translations.\n */\n @Prop()\n public language: Languages = 'en';\n\n /**\n * Defines the third-party viewer that should be used to render\n * the content of office files, such as word processing documents,\n * presentations, or spreadsheets.\n */\n @Prop({ reflect: true })\n public officeViewer: OfficeViewer = 'microsoft-office';\n\n /**\n * An array of custom actions that can be displayed\n * as an action menu on the file which is being displayed.\n */\n @Prop()\n public actions: ListItem[];\n\n /**\n * Emitted when a custom action is selected from the action menu.\n */\n @Event()\n public action: EventEmitter<ListItem>;\n\n @Element()\n public HostElement: HTMLLimelFileViewerElement;\n\n private fullscreen: Fullscreen;\n\n @State()\n private isFullscreen: boolean = false;\n\n @State()\n private fileType: FileType;\n\n /**\n * True while the file is being loaded.\n */\n @State()\n private loading: boolean = true;\n\n @State()\n private fileUrl: string = '';\n\n constructor() {\n this.fullscreen = new Fullscreen(this.HostElement);\n }\n\n public async componentWillLoad() {\n this.fileType = detectExtension(this.filename, this.url);\n await this.createURL(this.fileType);\n }\n\n public render() {\n if (!this.isOfficeFileAccessibleViaURL) {\n return this.renderNoFileSupportMessage();\n }\n\n if (this.loading) {\n return <limel-spinner size=\"x-small\" limeBranded={false} />;\n }\n\n return this.renderFileViewer();\n }\n\n @Watch('url')\n protected async watchUrl(newUrl: string, oldUrl: string) {\n if (newUrl === oldUrl) {\n return;\n }\n\n this.loading = true;\n this.fileType = detectExtension(this.filename, this.fileUrl);\n await this.createURL(this.fileType);\n }\n\n private renderFileViewer() {\n const fileViewerFunctions = {\n pdf: this.renderPdf,\n image: this.renderImage,\n video: this.renderVideo,\n audio: this.renderAudio,\n text: this.renderText,\n office: this.renderOffice,\n };\n const fileViewerFunction =\n fileViewerFunctions[this.fileType] ||\n this.renderNoFileSupportMessage;\n\n return fileViewerFunction();\n }\n\n private renderPdf = () => {\n return [\n <div class=\"action-menu-for-pdf-files\">\n {this.renderActionMenu()}\n </div>,\n <iframe src={this.sanitizeUrl(this.fileUrl)} loading=\"lazy\" />,\n ];\n };\n\n private renderImage = () => {\n return [\n this.renderButtons(),\n <img\n src={this.sanitizeUrl(this.fileUrl)}\n alt={this.alt}\n loading=\"lazy\"\n />,\n ];\n };\n\n private renderVideo = () => {\n return (\n <video controls>\n <source src={this.sanitizeUrl(this.fileUrl)} />\n </video>\n );\n };\n\n private renderAudio = () => {\n return (\n <audio controls>\n <source src={this.sanitizeUrl(this.fileUrl)} />\n </audio>\n );\n };\n\n private renderText = () => {\n const fallbackContent = [this.renderNoFileSupportMessage()];\n\n return [\n this.renderButtons(),\n <object data={this.sanitizeUrl(this.fileUrl)} type=\"text/plain\">\n {fallbackContent}\n </object>,\n ];\n };\n\n private renderOffice = () => {\n return [\n <div class=\"action-menu-for-office-files\">\n {this.renderActionMenu()}\n </div>,\n <iframe\n src={\n this.getOfficeViewerUrl() +\n encodeURIComponent(this.sanitizeUrl(this.fileUrl)) +\n '&embedded=true'\n }\n loading=\"lazy\"\n />,\n ];\n };\n\n private isOfficeFileAccessibleViaURL = () => {\n return (\n this.fileType === 'office' &&\n !(\n this.fileUrl.startsWith('http://') ||\n this.fileUrl.startsWith('https://')\n )\n );\n };\n\n private getOfficeViewerUrl = () => {\n const officeViewers = {\n 'microsoft-office':\n 'https://view.officeapps.live.com/op/embed.aspx?src=',\n 'google-drive': 'https://docs.google.com/gview?url=',\n };\n\n return officeViewers[this.officeViewer];\n };\n\n private renderNoFileSupportMessage = () => {\n return (\n <div class=\"no-support\" role=\"alert\">\n <h1>⚠️</h1>\n <p>\n {this.getTranslation(\n 'file-viewer.message.unsupported-filetype'\n )}\n </p>\n <p style={{ textAlign: 'center', margin: '0 auto' }}>\n {this.getTranslation(\n 'file-viewer.message.try-other-options'\n )}\n </p>\n ,{this.renderDownloadButton()}\n </div>\n );\n };\n\n private renderButtons = () => {\n return (\n <div class=\"buttons\">\n {this.renderActionMenu()}\n {this.renderToggleFullscreenButton()}\n {this.renderDownloadButton()}\n {this.renderOpenInNewTabButton()}\n </div>\n );\n };\n\n private renderToggleFullscreenButton = () => {\n if (!this.allowFullscreen || !this.fullscreen.isSupported()) {\n return;\n }\n\n const icon = this.isFullscreen ? 'multiply' : 'fit_to_width';\n\n const label = this.isFullscreen\n ? this.getTranslation('file-viewer.exit-fullscreen')\n : this.getTranslation('file-viewer.open-in-fullscreen');\n\n return [\n <button\n class=\"button--toggle-fullscreen\"\n id=\"tooltip-toggle-fullscreen\"\n role=\"button\"\n onClick={this.handleToggleFullscreen}\n >\n <limel-icon name={icon} />\n <limel-tooltip\n label={label}\n elementId=\"tooltip-toggle-fullscreen\"\n openDirection=\"left\"\n />\n </button>,\n ];\n };\n\n private renderDownloadButton = () => {\n if (!this.allowDownload || this.isFullscreen) {\n return;\n }\n\n return (\n <a\n class=\"button--download\"\n id=\"tooltip-download\"\n role=\"button\"\n download={this.filename ?? ''}\n href={this.sanitizeUrl(this.fileUrl)}\n target=\"_blank\"\n >\n <limel-icon name=\"download_2\" />\n <limel-tooltip\n label={this.getTranslation('file-viewer.download')}\n elementId=\"tooltip-download\"\n openDirection=\"left\"\n />\n </a>\n );\n };\n\n private renderOpenInNewTabButton = () => {\n if (!this.allowOpenInNewTab || this.isFullscreen) {\n return;\n }\n\n return (\n <a\n class=\"button--new-tab\"\n id=\"tooltip-new-tab\"\n role=\"button\"\n href={this.sanitizeUrl(this.fileUrl)}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <limel-icon name=\"external_link\" />\n <limel-tooltip\n label={this.getTranslation('file-viewer.open-in-new-tab')}\n elementId=\"tooltip-new-tab\"\n openDirection=\"left\"\n />\n </a>\n );\n };\n\n private renderActionMenu = () => {\n if (!this.actions || this.isFullscreen) {\n return;\n }\n\n return (\n <limel-menu\n class=\"action-menu\"\n items={this.actions}\n onSelect={this.emitOnAction}\n open-direction=\"left\"\n >\n <button\n class=\"button--action\"\n id=\"tooltip-more\"\n role=\"button\"\n slot=\"trigger\"\n >\n <limel-icon name=\"menu_2\" />\n <limel-tooltip\n label={this.getTranslation('file-viewer.more-actions')}\n elementId=\"tooltip-more\"\n openDirection=\"left\"\n />\n </button>\n </limel-menu>\n );\n };\n\n private createURL = async (fileType: string) => {\n if (['pdf'].includes(fileType)) {\n const response = await fetch(this.url);\n const blob = await response.blob();\n\n this.fileUrl = URL.createObjectURL(blob);\n } else {\n this.fileUrl = this.url;\n }\n\n this.loading = false;\n };\n\n private handleToggleFullscreen = () => {\n if (this.fullscreen.isSupported()) {\n this.fullscreen.toggle();\n this.isFullscreen = !this.isFullscreen;\n }\n };\n\n private emitOnAction = (event: LimelMenuCustomEvent<ListItem>) => {\n event.stopPropagation();\n this.action.emit(event.detail);\n };\n\n private sanitizeUrl(url: string): string {\n try {\n const u = new URL(url, window.location.href);\n const allowed = ['http:', 'https:', 'blob:'];\n return allowed.includes(u.protocol) ? u.href : '';\n } catch {\n return '';\n }\n }\n\n private getTranslation(key: string) {\n return translate.get(key, this.language);\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as t,c as i,h as e,g as r}from"./p-288f0842.js";import{t as a}from"./p-c8825e88.js";import{c as s}from"./p-ad52787a.js";class o{constructor(){this.snackbarElements=[]}add(t){const i=this.getPopover(t);i===null||i===void 0?void 0:i.showPopover();this.snackbarElements=[t,...this.snackbarElements];this.emitOffsets()}remove(t){const i=this.getPopover(t);i===null||i===void 0?void 0:i.hidePopover();this.snackbarElements=this.snackbarElements.filter((i=>i!==t));this.emitOffsets()}emitOffsets(){let t=0;for(const i of this.snackbarElements){i.dispatchEvent(new CustomEvent("changeOffset",{detail:t}));t+=this.getPopover(i).getBoundingClientRect().height}}getPopover(t){return t.shadowRoot.querySelector("[popover]")}}const n="*{box-sizing:border-box}aside{background:none;border:none;inset:unset;overflow:visible;padding:0.5rem 0.5rem 0 0.5rem;right:0;width:var(--limel-snackbar-width, 21rem);top:calc(var(--snackbar-distance-to-top-edge) + env(safe-area-inset-top, 0));transition:opacity var(--limel-snackbar-opacity-transition-speed, 0.2s) ease, top var(--limel-snackbar-top-transition-speed, 0.46s) cubic-bezier(1, 0.09, 0, 0.89), transform var(--limel-snackbar-top-transition-speed, 0.46s) ease;transform:translate3d(0, 0, 0);opacity:1}aside.is-closing{transform:translate3d(2rem, 0, 0);opacity:0;--limel-snackbar-top-transition-speed:0.2s;--limel-snackbar-opacity-transition-speed:0.2s}.surface{overflow:hidden;padding:0.5rem;display:flex;align-items:center;justify-content:flex-start;gap:0.25rem;min-height:3.25rem;border-radius:0.75rem;background-color:rgb(var(--contrast-1400));box-shadow:var(--shadow-depth-8), var(--shadow-depth-16)}.label{color:rgb(var(--contrast-100));-webkit-font-smoothing:antialiased;font-size:var(--limel-theme-default-small-font-size);font-weight:400;padding:0 0.25rem;width:100%;flex-grow:1}.actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box;gap:0.5rem}.dismiss,.actions{--lime-elevated-surface-background-color:rgb(\n var(--contrast-1300)\n )}.dismiss{--limel-theme-on-surface-color:rgb(\n var(--contrast-100)\n );--icon-background-color:var(--lime-elevated-surface-background-color);--fill-color:var(--lime-primary-color, var(--limel-theme-primary-color));--track-color:rgb(var(--contrast-800), 0.2);transition:opacity 0.1s ease, transform 0.1s ease;position:absolute;top:-0.375rem;left:-0.375rem;transform:scale(0.7);display:flex;align-items:center;justify-content:center}.dismiss svg{position:absolute;transform:rotate(90deg);fill:transparent;stroke-dasharray:100;stroke-linecap:round}aside.open .dismiss svg{animation:timeout var(--snackbar-timeout) linear forwards}.dismiss .is-closing{transform:scale(0.5);opacity:0}.dismiss-button{transform:scale(0.8);margin:0;padding:0}@keyframes timeout{0%{stroke-width:4;stroke-dashoffset:0;opacity:1}100%{stroke-width:1;stroke-dashoffset:-100;opacity:0.7}}.limel-portal--container{font-family:var(--limel-portal-font-family, inherit);opacity:0;display:none}.limel-portal--container.is-visible{opacity:1;display:inline-block}.limel-portal--container.is-visible>*{will-change:opacity, transform}@keyframes fade-in{from{opacity:0;transform:scale(0.94)}to{opacity:1;transform:scale(1) translate3d(0, 0, 0)}}@keyframes fade-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0.94) translate3d(0, 0, 0)}}.limel-portal--container>*{animation:fade-in 0.18s cubic-bezier(0.11, 0.59, 0.18, 1.26) forwards}.limel-portal--container.is-hiding>*{animation:fade-out 0.22s ease forwards}.limel-portal--container[data-popper-placement=left-start]>*{transform-origin:right top}.limel-portal--container[data-popper-placement=left]>*{transform-origin:right center}.limel-portal--container[data-popper-placement=left-end]>*{transform-origin:right bottom}.limel-portal--container[data-popper-placement=top-start]>*{transform-origin:left bottom}.limel-portal--container[data-popper-placement=top]>*{transform-origin:center bottom}.limel-portal--container[data-popper-placement=top-end]>*{transform-origin:right bottom}.limel-portal--container[data-popper-placement=right-start]>*{transform-origin:left top}.limel-portal--container[data-popper-placement=right]>*{transform-origin:left center}.limel-portal--container[data-popper-placement=right-end]>*{transform-origin:left bottom}.limel-portal--container[data-popper-placement=bottom-start]>*{transform-origin:left top}.limel-portal--container[data-popper-placement=bottom]>*{transform-origin:center top}.limel-portal--container[data-popper-placement=bottom-end]>*{transform-origin:right top}";const l=new o;const c=300;const m=class{constructor(e){t(this,e);this.action=i(this,"action",7);this.hide=i(this,"hide",7);this.handleOpen=()=>{if(this.isOpen){return}this.isOpen=true;this.closing=false;l.add(this.host);if(this.timeout&&this.timeout!==-1){this.timeoutId=window.setTimeout(this.handleClose,Math.max(this.timeout-c,c))}};this.handleClose=()=>{if(!this.isOpen){return}this.closing=true;if(this.timeoutId){clearTimeout(this.timeoutId);this.timeoutId=undefined}setTimeout((()=>{this.isOpen=false;l.remove(this.host);this.hide.emit();this.offset=0}),c)};this.handleClickAction=()=>{this.action.emit()};this.open=false;this.message=undefined;this.timeout=5e3;this.actionText=undefined;this.dismissible=true;this.multiline=undefined;this.language="en";this.offset=0;this.isOpen=false;this.closing=true;this.snackbarId=s()}componentDidLoad(){if(this.open){requestAnimationFrame(this.handleOpen)}}onChangeIndex(t){t.stopPropagation();this.offset=t.detail}watchOpen(){if(this.open){this.handleOpen()}else{this.handleClose()}this.isOpen=this.open}async show(){console.warn("The `show` method in `limel-snackbar` is deprecated. Please use the `open` property instead.");if(!this.open){this.handleOpen()}}render(){return e("aside",{popover:"manual",style:{"--snackbar-timeout":`${Math.max(this.timeout||0,0)}ms`,"--snackbar-distance-to-top-edge":`${this.offset}px`},class:{open:this.open,"is-closing":this.closing,"limel-portal--parent":true},id:this.snackbarId,role:this.setAriaRoles(),"aria-relevant":this.open?"additions":undefined},e("div",{class:"surface","aria-atomic":"false"},e("div",{class:"label"},this.message),this.renderActions(this.actionText),this.renderDismissButton(this.dismissible)))}setAriaRoles(){if(!this.open){return}if(!this.timeout||this.timeout===-1){return"alertdialog"}return"status"}renderActions(t){if(!t){return}return e("div",{class:"actions","aria-atomic":"true"},this.renderActionButton(t))}renderActionButton(t){if(!t){return}return e("limel-button",{label:t,onClick:this.handleClickAction})}renderDismissButton(t){if(!t){return}const i=a.get("snackbar.dismiss",this.language);return e("div",{class:"dismiss"},this.renderTimeoutVisualization(),e("limel-icon-button",{class:"dismiss-button",icon:"multiply",label:i,onClick:this.handleClose,"aria-controls":this.snackbarId}))}renderTimeoutVisualization(){if(!this.timeout||this.timeout===-1){return}return e("svg",{width:"36",height:"36",viewBox:"0 0 36 36"},e("circle",{r:"18",cx:"18",cy:"18",fill:"var(--track-color)"}),e("path",{class:"track",d:"M 18,18 m -16,0 a 16,16 0 1,0 32,0 a 16,16 0 1,0 -32,0",stroke:"var(--fill-color)"}))}get host(){return r(this)}static get watchers(){return{open:["watchOpen"]}}};m.style=n;export{m as limel_snackbar};
2
- //# sourceMappingURL=p-b957a3ca.entry.js.map
1
+ import{r as t,c as i,h as e,g as r}from"./p-288f0842.js";import{t as a}from"./p-4c88e5d3.js";import{c as s}from"./p-ad52787a.js";class o{constructor(){this.snackbarElements=[]}add(t){const i=this.getPopover(t);i===null||i===void 0?void 0:i.showPopover();this.snackbarElements=[t,...this.snackbarElements];this.emitOffsets()}remove(t){const i=this.getPopover(t);i===null||i===void 0?void 0:i.hidePopover();this.snackbarElements=this.snackbarElements.filter((i=>i!==t));this.emitOffsets()}emitOffsets(){let t=0;for(const i of this.snackbarElements){i.dispatchEvent(new CustomEvent("changeOffset",{detail:t}));t+=this.getPopover(i).getBoundingClientRect().height}}getPopover(t){return t.shadowRoot.querySelector("[popover]")}}const n="*{box-sizing:border-box}aside{background:none;border:none;inset:unset;overflow:visible;padding:0.5rem 0.5rem 0 0.5rem;right:0;width:var(--limel-snackbar-width, 21rem);top:calc(var(--snackbar-distance-to-top-edge) + env(safe-area-inset-top, 0));transition:opacity var(--limel-snackbar-opacity-transition-speed, 0.2s) ease, top var(--limel-snackbar-top-transition-speed, 0.46s) cubic-bezier(1, 0.09, 0, 0.89), transform var(--limel-snackbar-top-transition-speed, 0.46s) ease;transform:translate3d(0, 0, 0);opacity:1}aside.is-closing{transform:translate3d(2rem, 0, 0);opacity:0;--limel-snackbar-top-transition-speed:0.2s;--limel-snackbar-opacity-transition-speed:0.2s}.surface{overflow:hidden;padding:0.5rem;display:flex;align-items:center;justify-content:flex-start;gap:0.25rem;min-height:3.25rem;border-radius:0.75rem;background-color:rgb(var(--contrast-1400));box-shadow:var(--shadow-depth-8), var(--shadow-depth-16)}.label{color:rgb(var(--contrast-100));-webkit-font-smoothing:antialiased;font-size:var(--limel-theme-default-small-font-size);font-weight:400;padding:0 0.25rem;width:100%;flex-grow:1}.actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box;gap:0.5rem}.dismiss,.actions{--lime-elevated-surface-background-color:rgb(\n var(--contrast-1300)\n )}.dismiss{--limel-theme-on-surface-color:rgb(\n var(--contrast-100)\n );--icon-background-color:var(--lime-elevated-surface-background-color);--fill-color:var(--lime-primary-color, var(--limel-theme-primary-color));--track-color:rgb(var(--contrast-800), 0.2);transition:opacity 0.1s ease, transform 0.1s ease;position:absolute;top:-0.375rem;left:-0.375rem;transform:scale(0.7);display:flex;align-items:center;justify-content:center}.dismiss svg{position:absolute;transform:rotate(90deg);fill:transparent;stroke-dasharray:100;stroke-linecap:round}aside.open .dismiss svg{animation:timeout var(--snackbar-timeout) linear forwards}.dismiss .is-closing{transform:scale(0.5);opacity:0}.dismiss-button{transform:scale(0.8);margin:0;padding:0}@keyframes timeout{0%{stroke-width:4;stroke-dashoffset:0;opacity:1}100%{stroke-width:1;stroke-dashoffset:-100;opacity:0.7}}.limel-portal--container{font-family:var(--limel-portal-font-family, inherit);opacity:0;display:none}.limel-portal--container.is-visible{opacity:1;display:inline-block}.limel-portal--container.is-visible>*{will-change:opacity, transform}@keyframes fade-in{from{opacity:0;transform:scale(0.94)}to{opacity:1;transform:scale(1) translate3d(0, 0, 0)}}@keyframes fade-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0.94) translate3d(0, 0, 0)}}.limel-portal--container>*{animation:fade-in 0.18s cubic-bezier(0.11, 0.59, 0.18, 1.26) forwards}.limel-portal--container.is-hiding>*{animation:fade-out 0.22s ease forwards}.limel-portal--container[data-popper-placement=left-start]>*{transform-origin:right top}.limel-portal--container[data-popper-placement=left]>*{transform-origin:right center}.limel-portal--container[data-popper-placement=left-end]>*{transform-origin:right bottom}.limel-portal--container[data-popper-placement=top-start]>*{transform-origin:left bottom}.limel-portal--container[data-popper-placement=top]>*{transform-origin:center bottom}.limel-portal--container[data-popper-placement=top-end]>*{transform-origin:right bottom}.limel-portal--container[data-popper-placement=right-start]>*{transform-origin:left top}.limel-portal--container[data-popper-placement=right]>*{transform-origin:left center}.limel-portal--container[data-popper-placement=right-end]>*{transform-origin:left bottom}.limel-portal--container[data-popper-placement=bottom-start]>*{transform-origin:left top}.limel-portal--container[data-popper-placement=bottom]>*{transform-origin:center top}.limel-portal--container[data-popper-placement=bottom-end]>*{transform-origin:right top}";const l=new o;const c=300;const m=class{constructor(e){t(this,e);this.action=i(this,"action",7);this.hide=i(this,"hide",7);this.handleOpen=()=>{if(this.isOpen){return}this.isOpen=true;this.closing=false;l.add(this.host);if(this.timeout&&this.timeout!==-1){this.timeoutId=window.setTimeout(this.handleClose,Math.max(this.timeout-c,c))}};this.handleClose=()=>{if(!this.isOpen){return}this.closing=true;if(this.timeoutId){clearTimeout(this.timeoutId);this.timeoutId=undefined}setTimeout((()=>{this.isOpen=false;l.remove(this.host);this.hide.emit();this.offset=0}),c)};this.handleClickAction=()=>{this.action.emit()};this.open=false;this.message=undefined;this.timeout=5e3;this.actionText=undefined;this.dismissible=true;this.multiline=undefined;this.language="en";this.offset=0;this.isOpen=false;this.closing=true;this.snackbarId=s()}componentDidLoad(){if(this.open){requestAnimationFrame(this.handleOpen)}}onChangeIndex(t){t.stopPropagation();this.offset=t.detail}watchOpen(){if(this.open){this.handleOpen()}else{this.handleClose()}this.isOpen=this.open}async show(){console.warn("The `show` method in `limel-snackbar` is deprecated. Please use the `open` property instead.");if(!this.open){this.handleOpen()}}render(){return e("aside",{popover:"manual",style:{"--snackbar-timeout":`${Math.max(this.timeout||0,0)}ms`,"--snackbar-distance-to-top-edge":`${this.offset}px`},class:{open:this.open,"is-closing":this.closing,"limel-portal--parent":true},id:this.snackbarId,role:this.setAriaRoles(),"aria-relevant":this.open?"additions":undefined},e("div",{class:"surface","aria-atomic":"false"},e("div",{class:"label"},this.message),this.renderActions(this.actionText),this.renderDismissButton(this.dismissible)))}setAriaRoles(){if(!this.open){return}if(!this.timeout||this.timeout===-1){return"alertdialog"}return"status"}renderActions(t){if(!t){return}return e("div",{class:"actions","aria-atomic":"true"},this.renderActionButton(t))}renderActionButton(t){if(!t){return}return e("limel-button",{label:t,onClick:this.handleClickAction})}renderDismissButton(t){if(!t){return}const i=a.get("snackbar.dismiss",this.language);return e("div",{class:"dismiss"},this.renderTimeoutVisualization(),e("limel-icon-button",{class:"dismiss-button",icon:"multiply",label:i,onClick:this.handleClose,"aria-controls":this.snackbarId}))}renderTimeoutVisualization(){if(!this.timeout||this.timeout===-1){return}return e("svg",{width:"36",height:"36",viewBox:"0 0 36 36"},e("circle",{r:"18",cx:"18",cy:"18",fill:"var(--track-color)"}),e("path",{class:"track",d:"M 18,18 m -16,0 a 16,16 0 1,0 32,0 a 16,16 0 1,0 -32,0",stroke:"var(--fill-color)"}))}get host(){return r(this)}static get watchers(){return{open:["watchOpen"]}}};m.style=n;export{m as limel_snackbar};
2
+ //# sourceMappingURL=p-aeba4aa4.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as t,h as r,g as e}from"./p-288f0842.js";import{c as n}from"./p-ad52787a.js";var i="top";var a="bottom";var o="right";var s="left";var u="auto";var f=[i,a,o,s];var v="start";var c="end";var l="clippingParents";var h="viewport";var d="popper";var p="reference";var b=f.reduce((function(t,r){return t.concat([r+"-"+v,r+"-"+c])}),[]);var m=[].concat(f,[u]).reduce((function(t,r){return t.concat([r,r+"-"+v,r+"-"+c])}),[]);var y="beforeRead";var g="read";var x="afterRead";var w="beforeMain";var O="main";var j="afterMain";var k="beforeWrite";var C="write";var M="afterWrite";var P=[y,g,x,w,O,j,k,C,M];function A(t){return t?(t.nodeName||"").toLowerCase():null}function L(t){if(t==null){return window}if(t.toString()!=="[object Window]"){var r=t.ownerDocument;return r?r.defaultView||window:window}return t}function S(t){var r=L(t).Element;return t instanceof r||t instanceof Element}function W(t){var r=L(t).HTMLElement;return t instanceof r||t instanceof HTMLElement}function q(t){if(typeof ShadowRoot==="undefined"){return false}var r=L(t).ShadowRoot;return t instanceof r||t instanceof ShadowRoot}function z(t){var r=t.state;Object.keys(r.elements).forEach((function(t){var e=r.styles[t]||{};var n=r.attributes[t]||{};var i=r.elements[t];if(!W(i)||!A(i)){return}Object.assign(i.style,e);Object.keys(n).forEach((function(t){var r=n[t];if(r===false){i.removeAttribute(t)}else{i.setAttribute(t,r===true?"":r)}}))}))}function E(t){var r=t.state;var e={popper:{position:r.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(r.elements.popper.style,e.popper);r.styles=e;if(r.elements.arrow){Object.assign(r.elements.arrow.style,e.arrow)}return function(){Object.keys(r.elements).forEach((function(t){var n=r.elements[t];var i=r.attributes[t]||{};var a=Object.keys(r.styles.hasOwnProperty(t)?r.styles[t]:e[t]);var o=a.reduce((function(t,r){t[r]="";return t}),{});if(!W(n)||!A(n)){return}Object.assign(n.style,o);Object.keys(i).forEach((function(t){n.removeAttribute(t)}))}))}}const R={name:"applyStyles",enabled:true,phase:"write",fn:z,effect:E,requires:["computeStyles"]};function T(t){return t.split("-")[0]}var B=Math.max;var H=Math.min;var I=Math.round;function _(){var t=navigator.userAgentData;if(t!=null&&t.brands&&Array.isArray(t.brands)){return t.brands.map((function(t){return t.brand+"/"+t.version})).join(" ")}return navigator.userAgent}function D(){return!/^((?!chrome|android).)*safari/i.test(_())}function F(t,r,e){if(r===void 0){r=false}if(e===void 0){e=false}var n=t.getBoundingClientRect();var i=1;var a=1;if(r&&W(t)){i=t.offsetWidth>0?I(n.width)/t.offsetWidth||1:1;a=t.offsetHeight>0?I(n.height)/t.offsetHeight||1:1}var o=S(t)?L(t):window,s=o.visualViewport;var u=!D()&&e;var f=(n.left+(u&&s?s.offsetLeft:0))/i;var v=(n.top+(u&&s?s.offsetTop:0))/a;var c=n.width/i;var l=n.height/a;return{width:c,height:l,top:v,right:f+c,bottom:v+l,left:f,x:f,y:v}}function V(t){var r=F(t);var e=t.offsetWidth;var n=t.offsetHeight;if(Math.abs(r.width-e)<=1){e=r.width}if(Math.abs(r.height-n)<=1){n=r.height}return{x:t.offsetLeft,y:t.offsetTop,width:e,height:n}}function $(t,r){var e=r.getRootNode&&r.getRootNode();if(t.contains(r)){return true}else if(e&&q(e)){var n=r;do{if(n&&t.isSameNode(n)){return true}n=n.parentNode||n.host}while(n)}return false}function N(t){return L(t).getComputedStyle(t)}function U(t){return["table","td","th"].indexOf(A(t))>=0}function G(t){return((S(t)?t.ownerDocument:t.document)||window.document).documentElement}function J(t){if(A(t)==="html"){return t}return t.assignedSlot||t.parentNode||(q(t)?t.host:null)||G(t)}function K(t){if(!W(t)||N(t).position==="fixed"){return null}return t.offsetParent}function Q(t){var r=/firefox/i.test(_());var e=/Trident/i.test(_());if(e&&W(t)){var n=N(t);if(n.position==="fixed"){return null}}var i=J(t);if(q(i)){i=i.host}while(W(i)&&["html","body"].indexOf(A(i))<0){var a=N(i);if(a.transform!=="none"||a.perspective!=="none"||a.contain==="paint"||["transform","perspective"].indexOf(a.willChange)!==-1||r&&a.willChange==="filter"||r&&a.filter&&a.filter!=="none"){return i}else{i=i.parentNode}}return null}function X(t){var r=L(t);var e=K(t);while(e&&U(e)&&N(e).position==="static"){e=K(e)}if(e&&(A(e)==="html"||A(e)==="body"&&N(e).position==="static")){return r}return e||Q(t)||r}function Y(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Z(t,r,e){return B(t,H(r,e))}function tt(t,r,e){var n=Z(t,r,e);return n>e?e:n}function rt(){return{top:0,right:0,bottom:0,left:0}}function et(t){return Object.assign({},rt(),t)}function nt(t,r){return r.reduce((function(r,e){r[e]=t;return r}),{})}var it=function t(r,e){r=typeof r==="function"?r(Object.assign({},e.rects,{placement:e.placement})):r;return et(typeof r!=="number"?r:nt(r,f))};function at(t){var r;var e=t.state,n=t.name,u=t.options;var f=e.elements.arrow;var v=e.modifiersData.popperOffsets;var c=T(e.placement);var l=Y(c);var h=[s,o].indexOf(c)>=0;var d=h?"height":"width";if(!f||!v){return}var p=it(u.padding,e);var b=V(f);var m=l==="y"?i:s;var y=l==="y"?a:o;var g=e.rects.reference[d]+e.rects.reference[l]-v[l]-e.rects.popper[d];var x=v[l]-e.rects.reference[l];var w=X(f);var O=w?l==="y"?w.clientHeight||0:w.clientWidth||0:0;var j=g/2-x/2;var k=p[m];var C=O-b[d]-p[y];var M=O/2-b[d]/2+j;var P=Z(k,M,C);var A=l;e.modifiersData[n]=(r={},r[A]=P,r.centerOffset=P-M,r)}function ot(t){var r=t.state,e=t.options;var n=e.element,i=n===void 0?"[data-popper-arrow]":n;if(i==null){return}if(typeof i==="string"){i=r.elements.popper.querySelector(i);if(!i){return}}if(!$(r.elements.popper,i)){return}r.elements.arrow=i}const st={name:"arrow",enabled:true,phase:"main",fn:at,effect:ot,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ut(t){return t.split("-")[1]}var ft={top:"auto",right:"auto",bottom:"auto",left:"auto"};function vt(t,r){var e=t.x,n=t.y;var i=r.devicePixelRatio||1;return{x:I(e*i)/i||0,y:I(n*i)/i||0}}function ct(t){var r;var e=t.popper,n=t.popperRect,u=t.placement,f=t.variation,v=t.offsets,l=t.position,h=t.gpuAcceleration,d=t.adaptive,p=t.roundOffsets,b=t.isFixed;var m=v.x,y=m===void 0?0:m,g=v.y,x=g===void 0?0:g;var w=typeof p==="function"?p({x:y,y:x}):{x:y,y:x};y=w.x;x=w.y;var O=v.hasOwnProperty("x");var j=v.hasOwnProperty("y");var k=s;var C=i;var M=window;if(d){var P=X(e);var A="clientHeight";var S="clientWidth";if(P===L(e)){P=G(e);if(N(P).position!=="static"&&l==="absolute"){A="scrollHeight";S="scrollWidth"}}P=P;if(u===i||(u===s||u===o)&&f===c){C=a;var W=b&&P===M&&M.visualViewport?M.visualViewport.height:P[A];x-=W-n.height;x*=h?1:-1}if(u===s||(u===i||u===a)&&f===c){k=o;var q=b&&P===M&&M.visualViewport?M.visualViewport.width:P[S];y-=q-n.width;y*=h?1:-1}}var z=Object.assign({position:l},d&&ft);var E=p===true?vt({x:y,y:x},L(e)):{x:y,y:x};y=E.x;x=E.y;if(h){var R;return Object.assign({},z,(R={},R[C]=j?"0":"",R[k]=O?"0":"",R.transform=(M.devicePixelRatio||1)<=1?"translate("+y+"px, "+x+"px)":"translate3d("+y+"px, "+x+"px, 0)",R))}return Object.assign({},z,(r={},r[C]=j?x+"px":"",r[k]=O?y+"px":"",r.transform="",r))}function lt(t){var r=t.state,e=t.options;var n=e.gpuAcceleration,i=n===void 0?true:n,a=e.adaptive,o=a===void 0?true:a,s=e.roundOffsets,u=s===void 0?true:s;var f={placement:T(r.placement),variation:ut(r.placement),popper:r.elements.popper,popperRect:r.rects.popper,gpuAcceleration:i,isFixed:r.options.strategy==="fixed"};if(r.modifiersData.popperOffsets!=null){r.styles.popper=Object.assign({},r.styles.popper,ct(Object.assign({},f,{offsets:r.modifiersData.popperOffsets,position:r.options.strategy,adaptive:o,roundOffsets:u})))}if(r.modifiersData.arrow!=null){r.styles.arrow=Object.assign({},r.styles.arrow,ct(Object.assign({},f,{offsets:r.modifiersData.arrow,position:"absolute",adaptive:false,roundOffsets:u})))}r.attributes.popper=Object.assign({},r.attributes.popper,{"data-popper-placement":r.placement})}const ht={name:"computeStyles",enabled:true,phase:"beforeWrite",fn:lt,data:{}};var dt={passive:true};function pt(t){var r=t.state,e=t.instance,n=t.options;var i=n.scroll,a=i===void 0?true:i,o=n.resize,s=o===void 0?true:o;var u=L(r.elements.popper);var f=[].concat(r.scrollParents.reference,r.scrollParents.popper);if(a){f.forEach((function(t){t.addEventListener("scroll",e.update,dt)}))}if(s){u.addEventListener("resize",e.update,dt)}return function(){if(a){f.forEach((function(t){t.removeEventListener("scroll",e.update,dt)}))}if(s){u.removeEventListener("resize",e.update,dt)}}}const bt={name:"eventListeners",enabled:true,phase:"write",fn:function t(){},effect:pt,data:{}};var mt={left:"right",right:"left",bottom:"top",top:"bottom"};function yt(t){return t.replace(/left|right|bottom|top/g,(function(t){return mt[t]}))}var gt={start:"end",end:"start"};function xt(t){return t.replace(/start|end/g,(function(t){return gt[t]}))}function wt(t){var r=L(t);var e=r.pageXOffset;var n=r.pageYOffset;return{scrollLeft:e,scrollTop:n}}function Ot(t){return F(G(t)).left+wt(t).scrollLeft}function jt(t,r){var e=L(t);var n=G(t);var i=e.visualViewport;var a=n.clientWidth;var o=n.clientHeight;var s=0;var u=0;if(i){a=i.width;o=i.height;var f=D();if(f||!f&&r==="fixed"){s=i.offsetLeft;u=i.offsetTop}}return{width:a,height:o,x:s+Ot(t),y:u}}function kt(t){var r;var e=G(t);var n=wt(t);var i=(r=t.ownerDocument)==null?void 0:r.body;var a=B(e.scrollWidth,e.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0);var o=B(e.scrollHeight,e.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0);var s=-n.scrollLeft+Ot(t);var u=-n.scrollTop;if(N(i||e).direction==="rtl"){s+=B(e.clientWidth,i?i.clientWidth:0)-a}return{width:a,height:o,x:s,y:u}}function Ct(t){var r=N(t),e=r.overflow,n=r.overflowX,i=r.overflowY;return/auto|scroll|overlay|hidden/.test(e+i+n)}function Mt(t){if(["html","body","#document"].indexOf(A(t))>=0){return t.ownerDocument.body}if(W(t)&&Ct(t)){return t}return Mt(J(t))}function Pt(t,r){var e;if(r===void 0){r=[]}var n=Mt(t);var i=n===((e=t.ownerDocument)==null?void 0:e.body);var a=L(n);var o=i?[a].concat(a.visualViewport||[],Ct(n)?n:[]):n;var s=r.concat(o);return i?s:s.concat(Pt(J(o)))}function At(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Lt(t,r){var e=F(t,false,r==="fixed");e.top=e.top+t.clientTop;e.left=e.left+t.clientLeft;e.bottom=e.top+t.clientHeight;e.right=e.left+t.clientWidth;e.width=t.clientWidth;e.height=t.clientHeight;e.x=e.left;e.y=e.top;return e}function St(t,r,e){return r===h?At(jt(t,e)):S(r)?Lt(r,e):At(kt(G(t)))}function Wt(t){var r=Pt(J(t));var e=["absolute","fixed"].indexOf(N(t).position)>=0;var n=e&&W(t)?X(t):t;if(!S(n)){return[]}return r.filter((function(t){return S(t)&&$(t,n)&&A(t)!=="body"}))}function qt(t,r,e,n){var i=r==="clippingParents"?Wt(t):[].concat(r);var a=[].concat(i,[e]);var o=a[0];var s=a.reduce((function(r,e){var i=St(t,e,n);r.top=B(i.top,r.top);r.right=H(i.right,r.right);r.bottom=H(i.bottom,r.bottom);r.left=B(i.left,r.left);return r}),St(t,o,n));s.width=s.right-s.left;s.height=s.bottom-s.top;s.x=s.left;s.y=s.top;return s}function zt(t){var r=t.reference,e=t.element,n=t.placement;var u=n?T(n):null;var f=n?ut(n):null;var l=r.x+r.width/2-e.width/2;var h=r.y+r.height/2-e.height/2;var d;switch(u){case i:d={x:l,y:r.y-e.height};break;case a:d={x:l,y:r.y+r.height};break;case o:d={x:r.x+r.width,y:h};break;case s:d={x:r.x-e.width,y:h};break;default:d={x:r.x,y:r.y}}var p=u?Y(u):null;if(p!=null){var b=p==="y"?"height":"width";switch(f){case v:d[p]=d[p]-(r[b]/2-e[b]/2);break;case c:d[p]=d[p]+(r[b]/2-e[b]/2);break}}return d}function Et(t,r){if(r===void 0){r={}}var e=r,n=e.placement,s=n===void 0?t.placement:n,u=e.strategy,v=u===void 0?t.strategy:u,c=e.boundary,b=c===void 0?l:c,m=e.rootBoundary,y=m===void 0?h:m,g=e.elementContext,x=g===void 0?d:g,w=e.altBoundary,O=w===void 0?false:w,j=e.padding,k=j===void 0?0:j;var C=et(typeof k!=="number"?k:nt(k,f));var M=x===d?p:d;var P=t.rects.popper;var A=t.elements[O?M:x];var L=qt(S(A)?A:A.contextElement||G(t.elements.popper),b,y,v);var W=F(t.elements.reference);var q=zt({reference:W,element:P,strategy:"absolute",placement:s});var z=At(Object.assign({},P,q));var E=x===d?z:W;var R={top:L.top-E.top+C.top,bottom:E.bottom-L.bottom+C.bottom,left:L.left-E.left+C.left,right:E.right-L.right+C.right};var T=t.modifiersData.offset;if(x===d&&T){var B=T[s];Object.keys(R).forEach((function(t){var r=[o,a].indexOf(t)>=0?1:-1;var e=[i,a].indexOf(t)>=0?"y":"x";R[t]+=B[e]*r}))}return R}function Rt(t,r){if(r===void 0){r={}}var e=r,n=e.placement,i=e.boundary,a=e.rootBoundary,o=e.padding,s=e.flipVariations,u=e.allowedAutoPlacements,v=u===void 0?m:u;var c=ut(n);var l=c?s?b:b.filter((function(t){return ut(t)===c})):f;var h=l.filter((function(t){return v.indexOf(t)>=0}));if(h.length===0){h=l}var d=h.reduce((function(r,e){r[e]=Et(t,{placement:e,boundary:i,rootBoundary:a,padding:o})[T(e)];return r}),{});return Object.keys(d).sort((function(t,r){return d[t]-d[r]}))}function Tt(t){if(T(t)===u){return[]}var r=yt(t);return[xt(t),r,xt(r)]}function Bt(t){var r=t.state,e=t.options,n=t.name;if(r.modifiersData[n]._skip){return}var f=e.mainAxis,c=f===void 0?true:f,l=e.altAxis,h=l===void 0?true:l,d=e.fallbackPlacements,p=e.padding,b=e.boundary,m=e.rootBoundary,y=e.altBoundary,g=e.flipVariations,x=g===void 0?true:g,w=e.allowedAutoPlacements;var O=r.options.placement;var j=T(O);var k=j===O;var C=d||(k||!x?[yt(O)]:Tt(O));var M=[O].concat(C).reduce((function(t,e){return t.concat(T(e)===u?Rt(r,{placement:e,boundary:b,rootBoundary:m,padding:p,flipVariations:x,allowedAutoPlacements:w}):e)}),[]);var P=r.rects.reference;var A=r.rects.popper;var L=new Map;var S=true;var W=M[0];for(var q=0;q<M.length;q++){var z=M[q];var E=T(z);var R=ut(z)===v;var B=[i,a].indexOf(E)>=0;var H=B?"width":"height";var I=Et(r,{placement:z,boundary:b,rootBoundary:m,altBoundary:y,padding:p});var _=B?R?o:s:R?a:i;if(P[H]>A[H]){_=yt(_)}var D=yt(_);var F=[];if(c){F.push(I[E]<=0)}if(h){F.push(I[_]<=0,I[D]<=0)}if(F.every((function(t){return t}))){W=z;S=false;break}L.set(z,F)}if(S){var V=x?3:1;var $=function t(r){var e=M.find((function(t){var e=L.get(t);if(e){return e.slice(0,r).every((function(t){return t}))}}));if(e){W=e;return"break"}};for(var N=V;N>0;N--){var U=$(N);if(U==="break")break}}if(r.placement!==W){r.modifiersData[n]._skip=true;r.placement=W;r.reset=true}}const Ht={name:"flip",enabled:true,phase:"main",fn:Bt,requiresIfExists:["offset"],data:{_skip:false}};function It(t,r,e){if(e===void 0){e={x:0,y:0}}return{top:t.top-r.height-e.y,right:t.right-r.width+e.x,bottom:t.bottom-r.height+e.y,left:t.left-r.width-e.x}}function _t(t){return[i,o,a,s].some((function(r){return t[r]>=0}))}function Dt(t){var r=t.state,e=t.name;var n=r.rects.reference;var i=r.rects.popper;var a=r.modifiersData.preventOverflow;var o=Et(r,{elementContext:"reference"});var s=Et(r,{altBoundary:true});var u=It(o,n);var f=It(s,i,a);var v=_t(u);var c=_t(f);r.modifiersData[e]={referenceClippingOffsets:u,popperEscapeOffsets:f,isReferenceHidden:v,hasPopperEscaped:c};r.attributes.popper=Object.assign({},r.attributes.popper,{"data-popper-reference-hidden":v,"data-popper-escaped":c})}const Ft={name:"hide",enabled:true,phase:"main",requiresIfExists:["preventOverflow"],fn:Dt};function Vt(t,r,e){var n=T(t);var a=[s,i].indexOf(n)>=0?-1:1;var u=typeof e==="function"?e(Object.assign({},r,{placement:t})):e,f=u[0],v=u[1];f=f||0;v=(v||0)*a;return[s,o].indexOf(n)>=0?{x:v,y:f}:{x:f,y:v}}function $t(t){var r=t.state,e=t.options,n=t.name;var i=e.offset,a=i===void 0?[0,0]:i;var o=m.reduce((function(t,e){t[e]=Vt(e,r.rects,a);return t}),{});var s=o[r.placement],u=s.x,f=s.y;if(r.modifiersData.popperOffsets!=null){r.modifiersData.popperOffsets.x+=u;r.modifiersData.popperOffsets.y+=f}r.modifiersData[n]=o}const Nt={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:$t};function Ut(t){var r=t.state,e=t.name;r.modifiersData[e]=zt({reference:r.rects.reference,element:r.rects.popper,strategy:"absolute",placement:r.placement})}const Gt={name:"popperOffsets",enabled:true,phase:"read",fn:Ut,data:{}};function Jt(t){return t==="x"?"y":"x"}function Kt(t){var r=t.state,e=t.options,n=t.name;var u=e.mainAxis,f=u===void 0?true:u,c=e.altAxis,l=c===void 0?false:c,h=e.boundary,d=e.rootBoundary,p=e.altBoundary,b=e.padding,m=e.tether,y=m===void 0?true:m,g=e.tetherOffset,x=g===void 0?0:g;var w=Et(r,{boundary:h,rootBoundary:d,padding:b,altBoundary:p});var O=T(r.placement);var j=ut(r.placement);var k=!j;var C=Y(O);var M=Jt(C);var P=r.modifiersData.popperOffsets;var A=r.rects.reference;var L=r.rects.popper;var S=typeof x==="function"?x(Object.assign({},r.rects,{placement:r.placement})):x;var W=typeof S==="number"?{mainAxis:S,altAxis:S}:Object.assign({mainAxis:0,altAxis:0},S);var q=r.modifiersData.offset?r.modifiersData.offset[r.placement]:null;var z={x:0,y:0};if(!P){return}if(f){var E;var R=C==="y"?i:s;var I=C==="y"?a:o;var _=C==="y"?"height":"width";var D=P[C];var F=D+w[R];var $=D-w[I];var N=y?-L[_]/2:0;var U=j===v?A[_]:L[_];var G=j===v?-L[_]:-A[_];var J=r.elements.arrow;var K=y&&J?V(J):{width:0,height:0};var Q=r.modifiersData["arrow#persistent"]?r.modifiersData["arrow#persistent"].padding:rt();var et=Q[R];var nt=Q[I];var it=Z(0,A[_],K[_]);var at=k?A[_]/2-N-it-et-W.mainAxis:U-it-et-W.mainAxis;var ot=k?-A[_]/2+N+it+nt+W.mainAxis:G+it+nt+W.mainAxis;var st=r.elements.arrow&&X(r.elements.arrow);var ft=st?C==="y"?st.clientTop||0:st.clientLeft||0:0;var vt=(E=q==null?void 0:q[C])!=null?E:0;var ct=D+at-vt-ft;var lt=D+ot-vt;var ht=Z(y?H(F,ct):F,D,y?B($,lt):$);P[C]=ht;z[C]=ht-D}if(l){var dt;var pt=C==="x"?i:s;var bt=C==="x"?a:o;var mt=P[M];var yt=M==="y"?"height":"width";var gt=mt+w[pt];var xt=mt-w[bt];var wt=[i,s].indexOf(O)!==-1;var Ot=(dt=q==null?void 0:q[M])!=null?dt:0;var jt=wt?gt:mt-A[yt]-L[yt]-Ot+W.altAxis;var kt=wt?mt+A[yt]+L[yt]-Ot-W.altAxis:xt;var Ct=y&&wt?tt(jt,mt,kt):Z(y?jt:gt,mt,y?kt:xt);P[M]=Ct;z[M]=Ct-mt}r.modifiersData[n]=z}const Qt={name:"preventOverflow",enabled:true,phase:"main",fn:Kt,requiresIfExists:["offset"]};function Xt(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function Yt(t){if(t===L(t)||!W(t)){return wt(t)}else{return Xt(t)}}function Zt(t){var r=t.getBoundingClientRect();var e=I(r.width)/t.offsetWidth||1;var n=I(r.height)/t.offsetHeight||1;return e!==1||n!==1}function tr(t,r,e){if(e===void 0){e=false}var n=W(r);var i=W(r)&&Zt(r);var a=G(r);var o=F(t,i,e);var s={scrollLeft:0,scrollTop:0};var u={x:0,y:0};if(n||!n&&!e){if(A(r)!=="body"||Ct(a)){s=Yt(r)}if(W(r)){u=F(r,true);u.x+=r.clientLeft;u.y+=r.clientTop}else if(a){u.x=Ot(a)}}return{x:o.left+s.scrollLeft-u.x,y:o.top+s.scrollTop-u.y,width:o.width,height:o.height}}function rr(t){var r=new Map;var e=new Set;var n=[];t.forEach((function(t){r.set(t.name,t)}));function i(t){e.add(t.name);var a=[].concat(t.requires||[],t.requiresIfExists||[]);a.forEach((function(t){if(!e.has(t)){var n=r.get(t);if(n){i(n)}}}));n.push(t)}t.forEach((function(t){if(!e.has(t.name)){i(t)}}));return n}function er(t){var r=rr(t);return P.reduce((function(t,e){return t.concat(r.filter((function(t){return t.phase===e})))}),[])}function nr(t){var r;return function(){if(!r){r=new Promise((function(e){Promise.resolve().then((function(){r=undefined;e(t())}))}))}return r}}function ir(t){var r=t.reduce((function(t,r){var e=t[r.name];t[r.name]=e?Object.assign({},e,r,{options:Object.assign({},e.options,r.options),data:Object.assign({},e.data,r.data)}):r;return t}),{});return Object.keys(r).map((function(t){return r[t]}))}var ar={placement:"bottom",modifiers:[],strategy:"absolute"};function or(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++){r[e]=arguments[e]}return!r.some((function(t){return!(t&&typeof t.getBoundingClientRect==="function")}))}function sr(t){if(t===void 0){t={}}var r=t,e=r.defaultModifiers,n=e===void 0?[]:e,i=r.defaultOptions,a=i===void 0?ar:i;return function t(r,e,i){if(i===void 0){i=a}var o={placement:"bottom",orderedModifiers:[],options:Object.assign({},ar,a),modifiersData:{},elements:{reference:r,popper:e},attributes:{},styles:{}};var s=[];var u=false;var f={state:o,setOptions:function t(i){var s=typeof i==="function"?i(o.options):i;c();o.options=Object.assign({},a,o.options,s);o.scrollParents={reference:S(r)?Pt(r):r.contextElement?Pt(r.contextElement):[],popper:Pt(e)};var u=er(ir([].concat(n,o.options.modifiers)));o.orderedModifiers=u.filter((function(t){return t.enabled}));v();return f.update()},forceUpdate:function t(){if(u){return}var r=o.elements,e=r.reference,n=r.popper;if(!or(e,n)){return}o.rects={reference:tr(e,X(n),o.options.strategy==="fixed"),popper:V(n)};o.reset=false;o.placement=o.options.placement;o.orderedModifiers.forEach((function(t){return o.modifiersData[t.name]=Object.assign({},t.data)}));for(var i=0;i<o.orderedModifiers.length;i++){if(o.reset===true){o.reset=false;i=-1;continue}var a=o.orderedModifiers[i],s=a.fn,v=a.options,c=v===void 0?{}:v,l=a.name;if(typeof s==="function"){o=s({state:o,options:c,name:l,instance:f})||o}}},update:nr((function(){return new Promise((function(t){f.forceUpdate();t(o)}))})),destroy:function t(){c();u=true}};if(!or(r,e)){return f}f.setOptions(i).then((function(t){if(!u&&i.onFirstUpdate){i.onFirstUpdate(t)}}));function v(){o.orderedModifiers.forEach((function(t){var r=t.name,e=t.options,n=e===void 0?{}:e,i=t.effect;if(typeof i==="function"){var a=i({state:o,name:r,instance:f,options:n});var u=function t(){};s.push(a||u)}}))}function c(){s.forEach((function(t){return t()}));s=[]}return f}}var ur=[bt,Gt,ht,R,Nt,Ht,Qt,st,Ft];var fr=sr({defaultModifiers:ur});const vr=":host(limel-portal){display:block;position:absolute;top:0;bottom:0;width:100%;pointer-events:none}:host([hidden]){display:none}slot{display:none}";const cr="is-visible";const lr="is-hiding";const hr=300;const dr=class{constructor(r){t(this,r);this.loaded=false;this.openDirection="bottom";this.position="absolute";this.containerId=undefined;this.containerStyle={};this.inheritParentWidth=false;this.visible=false;this.anchor=null;this.parents=new WeakMap}disconnectedCallback(){this.removeContainer();this.destroyPopper();if(this.observer&&this.container){this.observer.unobserve(this.container)}this.container=null}connectedCallback(){if(!this.loaded){return}if(this.visible){this.init()}}componentDidLoad(){this.loaded=true;this.connectedCallback()}init(){if(!this.host.isConnected){return}this.createContainer();this.hideContainer();this.attachContainer();this.styleContainer();if(this.visible){this.createPopper();this.showContainer()}if("ResizeObserver"in window){this.observer=new ResizeObserver((()=>{if(this.popperInstance){this.styleContainer();this.popperInstance.update()}}));this.observer.observe(this.container)}}render(){return r("slot",null)}onVisible(){if(!this.container&&this.visible){this.init();return}if(!this.visible){this.animateHideAndCleanup();return}this.styleContainer();this.createPopper();requestAnimationFrame((()=>{this.showContainer()}))}createContainer(){const t=this.host.shadowRoot.querySelector("slot");const r=t.assignedElements&&t.assignedElements()||[];this.container=document.createElement("div");this.container.setAttribute("id",this.containerId);this.container.setAttribute("class","limel-portal--container");Object.assign(this.container,{portalSource:this.host});r.forEach((t=>{this.parents.set(t,t.parentElement);this.container.append(t)}))}attachContainer(){this.getParent().append(this.container)}removeContainer(){if(!this.container){return}[...this.container.children].forEach((t=>{const r=this.parents.get(t);if(!r){return}r.append(t)}));this.container.remove()}hideContainer(){if(!this.container){return}this.container.classList.remove(cr)}showContainer(){this.container.classList.add(cr)}animateHideAndCleanup(){if(!this.container){return}this.container.classList.add(lr);this.styleContainer();setTimeout((()=>{this.container.classList.remove(lr);if(!this.visible){this.container.classList.remove(cr);this.destroyPopper()}}),hr)}styleContainer(){this.setContainerWidth();this.setContainerHeight();this.setContainerStyles()}setContainerWidth(){const t=this.host.getBoundingClientRect().width;if(this.inheritParentWidth){const r=this.getContentWidth(this.container);let e=r;if(t>0){e=t}this.container.style.width=`${e}px`}}getContentWidth(t){if(!t){return null}const r=t.getBoundingClientRect().width;if(r!==0){return r}const e=t.querySelector("*");return this.getContentWidth(e)}setContainerStyles(){for(const t of Object.keys(this.containerStyle)){this.container.style[t]=this.containerStyle[t]}}createPopper(){const t=this.createPopperConfig();this.popperInstance=fr(this.anchor||this.host,this.container,t)}destroyPopper(){var t;(t=this.popperInstance)===null||t===void 0?void 0:t.destroy();this.popperInstance=null}createPopperConfig(){const t=this.getPlacement(this.openDirection);const r=this.getFlipPlacement(this.openDirection);return{strategy:this.position,placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:[r]}}]}}getPlacement(t){const r={"left-start":"left-start",left:"left","left-end":"left-end","right-start":"right-start",right:"right","right-end":"right-end","top-start":"top-start",top:"top","top-end":"top-end","bottom-start":"bottom-start",bottom:"bottom","bottom-end":"bottom-end"};return r[t]}getFlipPlacement(t){const r={"left-start":"right-start",left:"right","left-end":"right-end","right-start":"left-start",right:"left","right-end":"left-end","top-start":"bottom-start",top:"bottom","top-end":"bottom-end","bottom-start":"top-start",bottom:"top","bottom-end":"top-end"};return r[t]}setContainerHeight(){const t=Math.max(document.documentElement.clientHeight||0,window.innerHeight||0);const{top:r,bottom:e}=this.host.getBoundingClientRect();const n=Math.max(r,0);const i=Math.max(t-e,0);const a=16;const o=Math.max(n,i)-a;this.container.style.maxHeight=`${o}px`}getParent(){let t=this.anchor||this.host;while(t){const r=t.closest(".limel-portal--parent");if(r){return r}t=t.getRootNode().host}return document.body}get host(){return e(this)}static get watchers(){return{visible:["onVisible"]}}};dr.style=vr;function pr(t,r){let e=r;do{e=e.parentNode}while(e&&e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE&&e.nodeType!==Node.DOCUMENT_NODE);return e===null||e===void 0?void 0:e.getElementById(t)}const br=500;class mr{constructor(t,r,e=br){this.timerHandle=null;this.showCallback=t;this.hideCallback=r;this.delayForShowing=e}showAfterDelay(){if(!this.timerHandle){this.timerHandle=setTimeout(this.showCallback,this.delayForShowing)}}hide(){clearTimeout(this.timerHandle);this.timerHandle=null;this.hideCallback()}}const yr=":host(limel-tooltip){position:absolute;pointer-events:none}";const gr=50;const xr=class{constructor(r){t(this,r);this.showTooltip=()=>{this.tooltipTimer.showAfterDelay()};this.hideTooltip=()=>{this.tooltipTimer.hide()};this.elementId=undefined;this.label=undefined;this.helperLabel=undefined;this.maxlength=gr;this.openDirection="top";this.open=undefined;this.portalId=n();this.tooltipId=n();this.tooltipTimer=new mr((()=>this.open=true),(()=>this.open=false))}connectedCallback(){this.ownerElement=pr(this.elementId,this.host);this.setOwnerAriaLabel();this.addListeners()}disconnectedCallback(){this.removeListeners()}render(){const t=getComputedStyle(this.host).getPropertyValue("--tooltip-z-index");return r("div",{class:"trigger-anchor"},r("limel-portal",{openDirection:this.openDirection,visible:this.open,containerId:this.portalId,containerStyle:{"z-index":t,"pointer-events":"none"},anchor:this.ownerElement},r("limel-tooltip-content",{label:this.label,helperLabel:this.helperLabel,maxlength:this.maxlength,role:"tooltip","aria-hidden":!this.open,id:this.tooltipId})))}setOwnerAriaLabel(){var t;(t=this.ownerElement)===null||t===void 0?void 0:t.setAttribute("aria-describedby",this.tooltipId)}addListeners(){var t,r,e,n;(t=this.ownerElement)===null||t===void 0?void 0:t.addEventListener("mouseover",this.showTooltip);(r=this.ownerElement)===null||r===void 0?void 0:r.addEventListener("mouseout",this.hideTooltip);(e=this.ownerElement)===null||e===void 0?void 0:e.addEventListener("focus",this.showTooltip);(n=this.ownerElement)===null||n===void 0?void 0:n.addEventListener("blur",this.hideTooltip)}removeListeners(){var t,r,e,n;(t=this.ownerElement)===null||t===void 0?void 0:t.removeEventListener("mouseover",this.showTooltip);(r=this.ownerElement)===null||r===void 0?void 0:r.removeEventListener("mouseout",this.hideTooltip);(e=this.ownerElement)===null||e===void 0?void 0:e.removeEventListener("focus",this.showTooltip);(n=this.ownerElement)===null||n===void 0?void 0:n.removeEventListener("blur",this.hideTooltip)}get host(){return e(this)}};xr.style=yr;const wr=":host(limel-tooltip-content){display:flex;border-radius:0.25rem;padding:0.25rem 0.5rem;background-color:rgb(var(--contrast-1300));box-shadow:var(--shadow-depth-16)}text{font-size:var(--limel-theme-default-font-size);line-height:1.25;display:flex;column-gap:1rem}text.has-column-layout{display:table-cell;width:fit-content;max-width:min(var(--tooltip-max-width-of-text), 80vw)}text.has-column-layout .label{padding-bottom:0.5rem}text.has-column-layout .helper-label{padding-bottom:0.25rem}.label{color:rgb(var(--contrast-200))}.helper-label{color:rgb(var(--contrast-800))}.helper-label:empty{display:none}";const Or=class{constructor(r){t(this,r);this.label=undefined;this.helperLabel=undefined;this.maxlength=undefined}render(){let t=false;if(this.helperLabel&&this.maxlength){t=this.label.length+this.helperLabel.length>this.maxlength}const e={};if(this.maxlength){e.style={"--tooltip-max-width-of-text":`${this.maxlength}`+"ch"}}return[r("text",Object.assign({class:{"has-column-layout":t}},e),r("div",{class:"label"},this.label),r("div",{class:"helper-label"},this.helperLabel))]}};Or.style=wr;export{dr as limel_portal,xr as limel_tooltip,Or as limel_tooltip_content};
2
+ //# sourceMappingURL=p-b5a96409.entry.js.map