@limetech/lime-elements 38.35.0 → 38.36.0

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 (131) hide show
  1. package/CHANGELOG.md +17 -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-callout.cjs.entry.js +1 -1
  6. package/dist/cjs/limel-chart.cjs.entry.js +1 -1
  7. package/dist/cjs/limel-chip_2.cjs.entry.js +1 -1
  8. package/dist/cjs/limel-code-editor.cjs.entry.js +49 -2
  9. package/dist/cjs/limel-code-editor.cjs.entry.js.map +1 -1
  10. package/dist/cjs/limel-collapsible-section.cjs.entry.js +1 -1
  11. package/dist/cjs/limel-dialog.cjs.entry.js +4 -4
  12. package/dist/cjs/limel-dialog.cjs.entry.js.map +1 -1
  13. package/dist/cjs/limel-drag-handle.cjs.entry.js +1 -1
  14. package/dist/cjs/limel-file-viewer.cjs.entry.js +1 -1
  15. package/dist/cjs/limel-file.cjs.entry.js +1 -1
  16. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
  17. package/dist/cjs/limel-linear-progress.cjs.entry.js +1 -1
  18. package/dist/cjs/limel-list-item.cjs.entry.js +1 -1
  19. package/dist/cjs/limel-profile-picture.cjs.entry.js +1 -1
  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-e58b6da5.js → translations-350aa16f.js} +57 -1
  25. package/dist/cjs/translations-350aa16f.js.map +1 -0
  26. package/dist/collection/components/code-editor/code-editor.css +73 -20
  27. package/dist/collection/components/code-editor/code-editor.js +73 -2
  28. package/dist/collection/components/code-editor/code-editor.js.map +1 -1
  29. package/dist/collection/components/dialog/dialog.js +4 -4
  30. package/dist/collection/components/dialog/dialog.js.map +1 -1
  31. package/dist/collection/components/dialog/dialog.types.js.map +1 -1
  32. package/dist/collection/translations/da.js +7 -0
  33. package/dist/collection/translations/da.js.map +1 -1
  34. package/dist/collection/translations/de.js +7 -0
  35. package/dist/collection/translations/de.js.map +1 -1
  36. package/dist/collection/translations/en.js +7 -0
  37. package/dist/collection/translations/en.js.map +1 -1
  38. package/dist/collection/translations/fi.js +7 -0
  39. package/dist/collection/translations/fi.js.map +1 -1
  40. package/dist/collection/translations/fr.js +7 -0
  41. package/dist/collection/translations/fr.js.map +1 -1
  42. package/dist/collection/translations/nl.js +7 -0
  43. package/dist/collection/translations/nl.js.map +1 -1
  44. package/dist/collection/translations/no.js +7 -0
  45. package/dist/collection/translations/no.js.map +1 -1
  46. package/dist/collection/translations/sv.js +7 -0
  47. package/dist/collection/translations/sv.js.map +1 -1
  48. package/dist/esm/lime-elements.js +1 -1
  49. package/dist/esm/limel-action-bar_2.entry.js +1 -1
  50. package/dist/esm/limel-ai-avatar.entry.js +1 -1
  51. package/dist/esm/limel-callout.entry.js +1 -1
  52. package/dist/esm/limel-chart.entry.js +1 -1
  53. package/dist/esm/limel-chip_2.entry.js +1 -1
  54. package/dist/esm/limel-code-editor.entry.js +49 -2
  55. package/dist/esm/limel-code-editor.entry.js.map +1 -1
  56. package/dist/esm/limel-collapsible-section.entry.js +1 -1
  57. package/dist/esm/limel-dialog.entry.js +4 -4
  58. package/dist/esm/limel-dialog.entry.js.map +1 -1
  59. package/dist/esm/limel-drag-handle.entry.js +1 -1
  60. package/dist/esm/limel-file-viewer.entry.js +1 -1
  61. package/dist/esm/limel-file.entry.js +1 -1
  62. package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
  63. package/dist/esm/limel-linear-progress.entry.js +1 -1
  64. package/dist/esm/limel-list-item.entry.js +1 -1
  65. package/dist/esm/limel-profile-picture.entry.js +1 -1
  66. package/dist/esm/limel-prosemirror-adapter.entry.js +1 -1
  67. package/dist/esm/limel-snackbar.entry.js +1 -1
  68. package/dist/esm/limel-table.entry.js +1 -1
  69. package/dist/esm/loader.js +1 -1
  70. package/dist/esm/{translations-4151479a.js → translations-694c7c68.js} +57 -1
  71. package/dist/esm/translations-694c7c68.js.map +1 -0
  72. package/dist/lime-elements/lime-elements.esm.js +1 -1
  73. package/dist/lime-elements/lime-elements.esm.js.map +1 -1
  74. package/dist/lime-elements/{p-3746c217.entry.js → p-20950d83.entry.js} +2 -2
  75. package/dist/lime-elements/{p-d76d70ce.entry.js → p-416f25fc.entry.js} +2 -2
  76. package/dist/lime-elements/{p-ffedb0be.entry.js → p-4ddb8b05.entry.js} +2 -2
  77. package/dist/lime-elements/{p-68799403.entry.js → p-533a3cfb.entry.js} +2 -2
  78. package/dist/lime-elements/{p-158897dd.entry.js → p-5eaa6f69.entry.js} +2 -2
  79. package/dist/lime-elements/{p-bf527989.entry.js → p-5f113a63.entry.js} +2 -2
  80. package/dist/lime-elements/{p-61b2e426.entry.js → p-6ef94d19.entry.js} +2 -2
  81. package/dist/lime-elements/{p-7da20f22.entry.js → p-706c2e84.entry.js} +2 -2
  82. package/dist/lime-elements/p-745417ee.entry.js +2 -0
  83. package/dist/lime-elements/p-745417ee.entry.js.map +1 -0
  84. package/dist/lime-elements/{p-ef1d26ac.entry.js → p-874f06f0.entry.js} +3 -3
  85. package/dist/lime-elements/p-874f06f0.entry.js.map +1 -0
  86. package/dist/lime-elements/{p-13bd2797.entry.js → p-8c667a56.entry.js} +2 -2
  87. package/dist/lime-elements/{p-99f5e70b.entry.js → p-9b809f4d.entry.js} +2 -2
  88. package/dist/lime-elements/{p-182ce303.entry.js → p-aa159bd8.entry.js} +2 -2
  89. package/dist/lime-elements/{p-7e1a548a.entry.js → p-bb0095c2.entry.js} +2 -2
  90. package/dist/lime-elements/{p-f529b510.entry.js → p-c823d32b.entry.js} +2 -2
  91. package/dist/lime-elements/{p-23de215d.entry.js → p-d497cac7.entry.js} +2 -2
  92. package/dist/lime-elements/p-df36e1ae.js +2 -0
  93. package/dist/lime-elements/p-df36e1ae.js.map +1 -0
  94. package/dist/lime-elements/{p-6d9fb8e8.entry.js → p-e739d600.entry.js} +2 -2
  95. package/dist/lime-elements/{p-dc55f5ca.entry.js → p-f8b6d7e1.entry.js} +2 -2
  96. package/dist/types/components/code-editor/code-editor.d.ts +11 -0
  97. package/dist/types/components/dialog/dialog.d.ts +1 -1
  98. package/dist/types/components/dialog/dialog.types.d.ts +1 -1
  99. package/dist/types/components.d.ts +8 -0
  100. package/dist/types/translations/da.d.ts +7 -0
  101. package/dist/types/translations/de.d.ts +7 -0
  102. package/dist/types/translations/en.d.ts +7 -0
  103. package/dist/types/translations/fi.d.ts +7 -0
  104. package/dist/types/translations/fr.d.ts +7 -0
  105. package/dist/types/translations/nl.d.ts +7 -0
  106. package/dist/types/translations/no.d.ts +7 -0
  107. package/dist/types/translations/sv.d.ts +7 -0
  108. package/package.json +1 -1
  109. package/dist/cjs/translations-e58b6da5.js.map +0 -1
  110. package/dist/esm/translations-4151479a.js.map +0 -1
  111. package/dist/lime-elements/p-93ea4214.entry.js +0 -2
  112. package/dist/lime-elements/p-93ea4214.entry.js.map +0 -1
  113. package/dist/lime-elements/p-c582027f.js +0 -2
  114. package/dist/lime-elements/p-c582027f.js.map +0 -1
  115. package/dist/lime-elements/p-ef1d26ac.entry.js.map +0 -1
  116. /package/dist/lime-elements/{p-3746c217.entry.js.map → p-20950d83.entry.js.map} +0 -0
  117. /package/dist/lime-elements/{p-d76d70ce.entry.js.map → p-416f25fc.entry.js.map} +0 -0
  118. /package/dist/lime-elements/{p-ffedb0be.entry.js.map → p-4ddb8b05.entry.js.map} +0 -0
  119. /package/dist/lime-elements/{p-68799403.entry.js.map → p-533a3cfb.entry.js.map} +0 -0
  120. /package/dist/lime-elements/{p-158897dd.entry.js.map → p-5eaa6f69.entry.js.map} +0 -0
  121. /package/dist/lime-elements/{p-bf527989.entry.js.map → p-5f113a63.entry.js.map} +0 -0
  122. /package/dist/lime-elements/{p-61b2e426.entry.js.map → p-6ef94d19.entry.js.map} +0 -0
  123. /package/dist/lime-elements/{p-7da20f22.entry.js.map → p-706c2e84.entry.js.map} +0 -0
  124. /package/dist/lime-elements/{p-13bd2797.entry.js.map → p-8c667a56.entry.js.map} +0 -0
  125. /package/dist/lime-elements/{p-99f5e70b.entry.js.map → p-9b809f4d.entry.js.map} +0 -0
  126. /package/dist/lime-elements/{p-182ce303.entry.js.map → p-aa159bd8.entry.js.map} +0 -0
  127. /package/dist/lime-elements/{p-7e1a548a.entry.js.map → p-bb0095c2.entry.js.map} +0 -0
  128. /package/dist/lime-elements/{p-f529b510.entry.js.map → p-c823d32b.entry.js.map} +0 -0
  129. /package/dist/lime-elements/{p-23de215d.entry.js.map → p-d497cac7.entry.js.map} +0 -0
  130. /package/dist/lime-elements/{p-6d9fb8e8.entry.js.map → p-e739d600.entry.js.map} +0 -0
  131. /package/dist/lime-elements/{p-dc55f5ca.entry.js.map → p-f8b6d7e1.entry.js.map} +0 -0
@@ -1,2 +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-c582027f.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-ffedb0be.entry.js.map
1
+ import{r as t,c as e,h as i,g as o}from"./p-288f0842.js";import{t as s}from"./p-df36e1ae.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-4ddb8b05.entry.js.map