@limetech/lime-elements 39.34.2 → 39.35.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 (233) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/{checkbox.template-BLkvZRs6.js → checkbox.template-BewtdTin.js} +1 -1
  3. package/dist/cjs/image.template-DZC6_5a4.js +24 -0
  4. package/dist/cjs/{index-8x93m5oI.js → index-DYg_7kkT.js} +4 -0
  5. package/dist/cjs/lime-elements.cjs.js +1 -1
  6. package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +1 -1
  7. package/dist/cjs/limel-action-bar_3.cjs.entry.js +1 -1
  8. package/dist/cjs/limel-ai-avatar.cjs.entry.js +1 -1
  9. package/dist/cjs/limel-badge.cjs.entry.js +1 -1
  10. package/dist/cjs/limel-banner.cjs.entry.js +1 -1
  11. package/dist/cjs/limel-breadcrumbs_8.cjs.entry.js +37 -5
  12. package/dist/cjs/limel-button-group.cjs.entry.js +1 -1
  13. package/dist/cjs/limel-button.cjs.entry.js +1 -1
  14. package/dist/cjs/limel-callout.cjs.entry.js +1 -1
  15. package/dist/cjs/limel-card.cjs.entry.js +4 -3
  16. package/dist/cjs/limel-chart.cjs.entry.js +1 -1
  17. package/dist/cjs/limel-checkbox.cjs.entry.js +2 -2
  18. package/dist/cjs/limel-chip-set.cjs.entry.js +1 -1
  19. package/dist/cjs/limel-chip_2.cjs.entry.js +4 -3
  20. package/dist/cjs/limel-circular-progress.cjs.entry.js +1 -1
  21. package/dist/cjs/limel-code-diff.cjs.entry.js +1 -1
  22. package/dist/cjs/limel-code-editor.cjs.entry.js +1 -1
  23. package/dist/cjs/limel-collapsible-section.cjs.entry.js +1 -1
  24. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +1 -1
  25. package/dist/cjs/limel-color-picker.cjs.entry.js +1 -1
  26. package/dist/cjs/limel-config.cjs.entry.js +1 -1
  27. package/dist/cjs/limel-date-picker.cjs.entry.js +1 -1
  28. package/dist/cjs/limel-dialog.cjs.entry.js +1 -1
  29. package/dist/cjs/limel-dock-button.cjs.entry.js +1 -1
  30. package/dist/cjs/limel-dock.cjs.entry.js +1 -1
  31. package/dist/cjs/limel-drag-handle.cjs.entry.js +1 -1
  32. package/dist/cjs/limel-dynamic-label.cjs.entry.js +1 -1
  33. package/dist/cjs/limel-email-viewer.cjs.entry.js +1 -1
  34. package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +1 -1
  35. package/dist/cjs/limel-file-viewer.cjs.entry.js +8 -5
  36. package/dist/cjs/limel-file.cjs.entry.js +1 -1
  37. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
  38. package/dist/cjs/limel-flex-container.cjs.entry.js +1 -1
  39. package/dist/cjs/limel-form.cjs.entry.js +1 -1
  40. package/dist/cjs/limel-grid.cjs.entry.js +1 -1
  41. package/dist/cjs/limel-header.cjs.entry.js +1 -1
  42. package/dist/cjs/limel-help-content.cjs.entry.js +1 -1
  43. package/dist/cjs/limel-help.cjs.entry.js +1 -1
  44. package/dist/cjs/limel-helper-line.cjs.entry.js +1 -1
  45. package/dist/cjs/limel-hotkey_4.cjs.entry.js +1 -1
  46. package/dist/cjs/limel-icon-button.cjs.entry.js +1 -1
  47. package/dist/cjs/limel-icon.cjs.entry.js +1 -1
  48. package/dist/cjs/limel-info-tile.cjs.entry.js +1 -1
  49. package/dist/cjs/limel-list-item.cjs.entry.js +7 -6
  50. package/dist/cjs/limel-markdown.cjs.entry.js +1 -1
  51. package/dist/cjs/limel-masonry-layout.cjs.entry.js +1 -1
  52. package/dist/cjs/limel-menu-item-meta.cjs.entry.js +1 -1
  53. package/dist/cjs/limel-picker.cjs.entry.js +1 -1
  54. package/dist/cjs/limel-popover_2.cjs.entry.js +1 -1
  55. package/dist/cjs/limel-profile-picture.cjs.entry.js +4 -3
  56. package/dist/cjs/limel-progress-flow-item.cjs.entry.js +1 -1
  57. package/dist/cjs/limel-progress-flow.cjs.entry.js +1 -1
  58. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +1 -1
  59. package/dist/cjs/limel-radio-button-group.cjs.entry.js +1 -1
  60. package/dist/cjs/limel-radio-button.cjs.entry.js +1 -1
  61. package/dist/cjs/limel-select.cjs.entry.js +2 -2
  62. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  63. package/dist/cjs/limel-slider.cjs.entry.js +1 -1
  64. package/dist/cjs/limel-snackbar.cjs.entry.js +1 -1
  65. package/dist/cjs/limel-split-button.cjs.entry.js +1 -1
  66. package/dist/cjs/limel-switch.cjs.entry.js +1 -1
  67. package/dist/cjs/limel-tab-bar.cjs.entry.js +1 -1
  68. package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
  69. package/dist/cjs/limel-table.cjs.entry.js +1 -1
  70. package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +1 -1
  71. package/dist/cjs/limel-text-editor.cjs.entry.js +1 -1
  72. package/dist/cjs/loader.cjs.js +1 -1
  73. package/dist/cjs/{render-list-component-DAV1Dyg1.js → render-list-component-1GrRKk_R.js} +1 -1
  74. package/dist/collection/components/card/card.js +3 -2
  75. package/dist/collection/components/chip/chip.js +3 -2
  76. package/dist/collection/components/file-viewer/file-viewer.js +8 -5
  77. package/dist/collection/components/list/list.js +36 -4
  78. package/dist/collection/components/list-item/list-item.js +4 -3
  79. package/dist/collection/components/profile-picture/profile-picture.js +3 -2
  80. package/dist/collection/util/image.template.js +19 -0
  81. package/dist/esm/{checkbox.template-CtIjSGPt.js → checkbox.template-LN1xNaDw.js} +1 -1
  82. package/dist/esm/image.template-BXDvrqGw.js +22 -0
  83. package/dist/esm/{index-VCOjLfyP.js → index-BGxJfR2f.js} +4 -1
  84. package/dist/esm/lime-elements.js +2 -2
  85. package/dist/esm/limel-3d-hover-effect-glow.entry.js +1 -1
  86. package/dist/esm/limel-action-bar_3.entry.js +1 -1
  87. package/dist/esm/limel-ai-avatar.entry.js +1 -1
  88. package/dist/esm/limel-badge.entry.js +1 -1
  89. package/dist/esm/limel-banner.entry.js +1 -1
  90. package/dist/esm/limel-breadcrumbs_8.entry.js +37 -5
  91. package/dist/esm/limel-button-group.entry.js +1 -1
  92. package/dist/esm/limel-button.entry.js +1 -1
  93. package/dist/esm/limel-callout.entry.js +1 -1
  94. package/dist/esm/limel-card.entry.js +4 -3
  95. package/dist/esm/limel-chart.entry.js +1 -1
  96. package/dist/esm/limel-checkbox.entry.js +2 -2
  97. package/dist/esm/limel-chip-set.entry.js +1 -1
  98. package/dist/esm/limel-chip_2.entry.js +4 -3
  99. package/dist/esm/limel-circular-progress.entry.js +1 -1
  100. package/dist/esm/limel-code-diff.entry.js +1 -1
  101. package/dist/esm/limel-code-editor.entry.js +1 -1
  102. package/dist/esm/limel-collapsible-section.entry.js +1 -1
  103. package/dist/esm/limel-color-picker-palette.entry.js +1 -1
  104. package/dist/esm/limel-color-picker.entry.js +1 -1
  105. package/dist/esm/limel-config.entry.js +1 -1
  106. package/dist/esm/limel-date-picker.entry.js +1 -1
  107. package/dist/esm/limel-dialog.entry.js +1 -1
  108. package/dist/esm/limel-dock-button.entry.js +1 -1
  109. package/dist/esm/limel-dock.entry.js +1 -1
  110. package/dist/esm/limel-drag-handle.entry.js +1 -1
  111. package/dist/esm/limel-dynamic-label.entry.js +1 -1
  112. package/dist/esm/limel-email-viewer.entry.js +1 -1
  113. package/dist/esm/limel-file-dropzone_2.entry.js +1 -1
  114. package/dist/esm/limel-file-viewer.entry.js +8 -5
  115. package/dist/esm/limel-file.entry.js +1 -1
  116. package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
  117. package/dist/esm/limel-flex-container.entry.js +1 -1
  118. package/dist/esm/limel-form.entry.js +1 -1
  119. package/dist/esm/limel-grid.entry.js +1 -1
  120. package/dist/esm/limel-header.entry.js +1 -1
  121. package/dist/esm/limel-help-content.entry.js +1 -1
  122. package/dist/esm/limel-help.entry.js +1 -1
  123. package/dist/esm/limel-helper-line.entry.js +1 -1
  124. package/dist/esm/limel-hotkey_4.entry.js +1 -1
  125. package/dist/esm/limel-icon-button.entry.js +1 -1
  126. package/dist/esm/limel-icon.entry.js +1 -1
  127. package/dist/esm/limel-info-tile.entry.js +1 -1
  128. package/dist/esm/limel-list-item.entry.js +7 -6
  129. package/dist/esm/limel-markdown.entry.js +1 -1
  130. package/dist/esm/limel-masonry-layout.entry.js +1 -1
  131. package/dist/esm/limel-menu-item-meta.entry.js +1 -1
  132. package/dist/esm/limel-picker.entry.js +1 -1
  133. package/dist/esm/limel-popover_2.entry.js +1 -1
  134. package/dist/esm/limel-profile-picture.entry.js +4 -3
  135. package/dist/esm/limel-progress-flow-item.entry.js +1 -1
  136. package/dist/esm/limel-progress-flow.entry.js +1 -1
  137. package/dist/esm/limel-prosemirror-adapter.entry.js +1 -1
  138. package/dist/esm/limel-radio-button-group.entry.js +1 -1
  139. package/dist/esm/limel-radio-button.entry.js +1 -1
  140. package/dist/esm/limel-select.entry.js +2 -2
  141. package/dist/esm/limel-shortcut.entry.js +1 -1
  142. package/dist/esm/limel-slider.entry.js +1 -1
  143. package/dist/esm/limel-snackbar.entry.js +1 -1
  144. package/dist/esm/limel-split-button.entry.js +1 -1
  145. package/dist/esm/limel-switch.entry.js +1 -1
  146. package/dist/esm/limel-tab-bar.entry.js +1 -1
  147. package/dist/esm/limel-tab-panel.entry.js +1 -1
  148. package/dist/esm/limel-table.entry.js +1 -1
  149. package/dist/esm/limel-text-editor-link-menu.entry.js +1 -1
  150. package/dist/esm/limel-text-editor.entry.js +1 -1
  151. package/dist/esm/loader.js +2 -2
  152. package/dist/esm/{render-list-component-BdncB2vG.js → render-list-component-CUJ2wdo4.js} +1 -1
  153. package/dist/lime-elements/lime-elements.esm.js +1 -1
  154. package/dist/lime-elements/{p-31965f6c.entry.js → p-068e7087.entry.js} +1 -1
  155. package/dist/lime-elements/{p-d8d6e12a.entry.js → p-09fb0765.entry.js} +1 -1
  156. package/dist/lime-elements/{p-9bb07225.entry.js → p-0ecf8399.entry.js} +1 -1
  157. package/dist/lime-elements/{p-7f891de4.entry.js → p-120182f5.entry.js} +1 -1
  158. package/dist/lime-elements/{p-44bd59ac.entry.js → p-13d56964.entry.js} +1 -1
  159. package/dist/lime-elements/{p-1153e2ba.entry.js → p-1525274d.entry.js} +1 -1
  160. package/dist/lime-elements/{p-fc435802.entry.js → p-1907a5be.entry.js} +1 -1
  161. package/dist/lime-elements/{p-90a506aa.entry.js → p-191efd88.entry.js} +1 -1
  162. package/dist/lime-elements/{p-9e8eaa86.entry.js → p-19347686.entry.js} +1 -1
  163. package/dist/lime-elements/{p-a827a280.entry.js → p-21558be2.entry.js} +1 -1
  164. package/dist/lime-elements/{p-444e3088.entry.js → p-2531a103.entry.js} +1 -1
  165. package/dist/lime-elements/{p-719dc4c0.entry.js → p-2737cade.entry.js} +1 -1
  166. package/dist/lime-elements/p-2a871a95.entry.js +1 -0
  167. package/dist/lime-elements/p-2b9f4bd9.entry.js +1 -0
  168. package/dist/lime-elements/{p-08e7006f.entry.js → p-36ccc68e.entry.js} +1 -1
  169. package/dist/lime-elements/{p-10955e5d.entry.js → p-4f396a5e.entry.js} +1 -1
  170. package/dist/lime-elements/{p-317d56a7.entry.js → p-51cb779f.entry.js} +1 -1
  171. package/dist/lime-elements/{p-a73f70d7.entry.js → p-54961e0e.entry.js} +1 -1
  172. package/dist/lime-elements/{p-0605c490.entry.js → p-54cf3d4d.entry.js} +1 -1
  173. package/dist/lime-elements/{p-45801616.entry.js → p-6665e14b.entry.js} +1 -1
  174. package/dist/lime-elements/{p-e38a13fb.entry.js → p-6acd82ce.entry.js} +1 -1
  175. package/dist/lime-elements/{p-9b7966f1.entry.js → p-6edf13b1.entry.js} +1 -1
  176. package/dist/lime-elements/{p-33ab319b.entry.js → p-70087de6.entry.js} +1 -1
  177. package/dist/lime-elements/{p-e59d7177.entry.js → p-79caf3f6.entry.js} +1 -1
  178. package/dist/lime-elements/{p-66600fc3.entry.js → p-7bfac292.entry.js} +1 -1
  179. package/dist/lime-elements/p-7df111bb.entry.js +1 -0
  180. package/dist/lime-elements/{p-e7b9716f.entry.js → p-7fe6a073.entry.js} +1 -1
  181. package/dist/lime-elements/{p-ed70059b.entry.js → p-8175c53a.entry.js} +1 -1
  182. package/dist/lime-elements/{p-6c60d915.entry.js → p-86b9f9d0.entry.js} +1 -1
  183. package/dist/lime-elements/{p-8376ac0d.entry.js → p-8f4273e4.entry.js} +2 -2
  184. package/dist/lime-elements/{p-caf1bca2.entry.js → p-92bbb643.entry.js} +1 -1
  185. package/dist/lime-elements/{p-fe64b285.entry.js → p-92ea6adc.entry.js} +1 -1
  186. package/dist/lime-elements/{p-f7695614.entry.js → p-946a33ea.entry.js} +1 -1
  187. package/dist/lime-elements/{p-5a00f0fb.entry.js → p-9af95bed.entry.js} +1 -1
  188. package/dist/lime-elements/{p-8aaf4f50.entry.js → p-9fb8bec9.entry.js} +1 -1
  189. package/dist/lime-elements/{p-VCOjLfyP.js → p-BGxJfR2f.js} +2 -2
  190. package/dist/lime-elements/{p-D9twpDvz.js → p-CYivp4-w.js} +1 -1
  191. package/dist/lime-elements/p-DQvn9bzh.js +1 -0
  192. package/dist/lime-elements/p-Dpg0OkbJ.js +1 -0
  193. package/dist/lime-elements/{p-aba01020.entry.js → p-a1c15727.entry.js} +1 -1
  194. package/dist/lime-elements/{p-f9b74b03.entry.js → p-a3a2aafe.entry.js} +1 -1
  195. package/dist/lime-elements/{p-2a27bf12.entry.js → p-a79361e1.entry.js} +1 -1
  196. package/dist/lime-elements/{p-6fa4b1b3.entry.js → p-ad4672b2.entry.js} +1 -1
  197. package/dist/lime-elements/{p-eef0cd8b.entry.js → p-b3274e2e.entry.js} +1 -1
  198. package/dist/lime-elements/{p-53b7bee8.entry.js → p-bb201b0d.entry.js} +1 -1
  199. package/dist/lime-elements/{p-17ff8353.entry.js → p-bb9b399c.entry.js} +1 -1
  200. package/dist/lime-elements/{p-aa8d7faa.entry.js → p-be5cc2ae.entry.js} +1 -1
  201. package/dist/lime-elements/{p-aa6190e8.entry.js → p-bf3c78a8.entry.js} +1 -1
  202. package/dist/lime-elements/{p-ac5d5099.entry.js → p-c0263530.entry.js} +1 -1
  203. package/dist/lime-elements/{p-a7e9e96c.entry.js → p-c8ce60a0.entry.js} +1 -1
  204. package/dist/lime-elements/p-ca0a8a5a.entry.js +1 -0
  205. package/dist/lime-elements/{p-e31d0b36.entry.js → p-d19ab443.entry.js} +1 -1
  206. package/dist/lime-elements/{p-fac02bae.entry.js → p-d521d599.entry.js} +1 -1
  207. package/dist/lime-elements/p-d8cb7d42.entry.js +1 -0
  208. package/dist/lime-elements/{p-2ef433e0.entry.js → p-dd9591a3.entry.js} +1 -1
  209. package/dist/lime-elements/{p-7b687fc6.entry.js → p-de070191.entry.js} +1 -1
  210. package/dist/lime-elements/{p-e4549e8b.entry.js → p-e08f770e.entry.js} +1 -1
  211. package/dist/lime-elements/{p-f91de6bd.entry.js → p-e3ba7e15.entry.js} +1 -1
  212. package/dist/lime-elements/{p-2486f61d.entry.js → p-e54bbdb3.entry.js} +1 -1
  213. package/dist/lime-elements/{p-db0bd965.entry.js → p-ea94f7fa.entry.js} +1 -1
  214. package/dist/lime-elements/{p-cdbab1d5.entry.js → p-ed53466d.entry.js} +1 -1
  215. package/dist/lime-elements/{p-9eb6879d.entry.js → p-ee58f0b4.entry.js} +1 -1
  216. package/dist/lime-elements/{p-a11abcb0.entry.js → p-eeb7fcb3.entry.js} +2 -2
  217. package/dist/lime-elements/{p-c6cbd842.entry.js → p-eecd1132.entry.js} +1 -1
  218. package/dist/lime-elements/{p-80b0bcb3.entry.js → p-f09822a6.entry.js} +1 -1
  219. package/dist/lime-elements/{p-c447d311.entry.js → p-f2c8b10b.entry.js} +1 -1
  220. package/dist/lime-elements/{p-a0720aca.entry.js → p-fc43fb46.entry.js} +7 -7
  221. package/dist/lime-elements/{p-bcc2cb1a.entry.js → p-fd78537c.entry.js} +1 -1
  222. package/dist/lime-elements/{p-dc415221.entry.js → p-fe531211.entry.js} +1 -1
  223. package/dist/lime-elements/{p-7776313e.entry.js → p-ffd668d2.entry.js} +1 -1
  224. package/dist/types/components/list/list.d.ts +16 -0
  225. package/dist/types/global/shared-types/image.types.d.ts +8 -0
  226. package/dist/types/util/image.template.d.ts +35 -0
  227. package/package.json +2 -2
  228. package/dist/lime-elements/p-0b9f3cf1.entry.js +0 -1
  229. package/dist/lime-elements/p-2cb55d62.entry.js +0 -1
  230. package/dist/lime-elements/p-9eb06bf7.entry.js +0 -1
  231. package/dist/lime-elements/p-NN0EYecx.js +0 -1
  232. package/dist/lime-elements/p-b3b53dbc.entry.js +0 -1
  233. package/dist/lime-elements/p-b7649589.entry.js +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
 
5
5
  const limelHelpContentCss = () => `@charset "UTF-8";:host(limel-help-content){display:flex;box-sizing:border-box;flex-direction:column;gap:0.5rem;max-height:30rem;height:100%}limel-markdown{--limel-overflow-mask-vertical:linear-gradient( to bottom, transparent 0%, black calc(0% + var(--limel-top-edge-fade-height, 1rem)), black calc(100% - var(--limel-bottom-edge-fade-height, 1rem)), transparent 100% );-webkit-mask-image:var(--limel-overflow-mask-vertical);mask-image:var(--limel-overflow-mask-vertical);padding-top:var(--limel-top-edge-fade-height, 1rem);padding-bottom:var(--limel-bottom-edge-fade-height, 1rem);padding-right:1rem;padding-left:1rem;min-height:0;min-width:0;overflow:hidden auto}a{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;position:relative;cursor:pointer;transition:color 0.2s ease;color:rgb(var(--color-blue-default))}a:before{transition:opacity 0.2s ease, transform 0.3s ease-out;content:"";position:absolute;inset:auto 0 0 0;width:calc(100% - 0.5rem);margin:auto;height:0.125rem;border-radius:1rem;background-color:currentColor;opacity:0;transform:scale(0.6)}a:hover{color:rgb(var(--color-blue-default))}a:hover:before{opacity:0.3;transform:scale(1)}a{position:sticky;bottom:0;text-decoration:none;font-size:var(--limel-theme-default-font-size);padding-bottom:0.125rem}span{padding:0 1rem 0.5rem 1rem;min-width:0}`;
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
 
5
5
  const helpCss = () => `@charset "UTF-8";limel-popover{display:flex;--popover-surface-width:min(calc(100vw - 4rem), 22rem)}button[slot=trigger]{appearance:none;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:inherit;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)}button[slot=trigger]:hover,button[slot=trigger]:focus,button[slot=trigger]:focus-visible{will-change:color, background-color, box-shadow, transform}button[slot=trigger]:hover,button[slot=trigger]:focus-visible{transform:translate3d(0, 0.01rem, 0);color:rgb(var(--color-sky-dark));background-color:var(--lime-elevated-surface-background-color)}button[slot=trigger]:hover{box-shadow:var(--button-shadow-hovered)}button[slot=trigger]:active{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}button[slot=trigger]:hover,button[slot=trigger]:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}button[slot=trigger]:focus{outline:none}button[slot=trigger]:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}button[slot=trigger]{box-sizing:border-box;display:flex;align-items:center;justify-content:center;color:rgb(var(--color-sky-default));border-radius:50%;box-shadow:0 0 0 1px rgb(var(--color-sky-lighter), 0.7);width:0.875rem;height:0.875rem;font-size:0.75rem}button[slot=trigger].is-open{color:rgb(var(--color-white));background-color:rgb(var(--color-sky-default));box-shadow:var(--button-shadow-inset)}`;
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
 
5
5
  const helperLineCss = () => `:host(limel-helper-line){transition:opacity 0.2s ease;box-sizing:border-box;display:grid;min-width:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:0.6875rem;line-height:normal;color:rgb(var(--contrast-1200))}div{display:flex;justify-content:space-between;gap:0.75rem;overflow:hidden;padding:0 1rem}:host(limel-helper-line.invalid){--limel-h-l-grid-template-rows-transition-speed:0.46s;--limel-h-l-grid-template-rows:1fr}:host(limel-helper-line.invalid) .helper-text{color:var(--limel-theme-error-color)}.counter{flex-shrink:0;margin-left:auto}.helper-text,.counter{padding-top:0.125rem}:host(limel-helper-line){transition:grid-template-rows var(--limel-h-l-grid-template-rows-transition-speed, 0.46s) cubic-bezier(1, 0.09, 0, 0.89);grid-template-rows:var(--limel-h-l-grid-template-rows, 1fr)}:host(limel-helper-line.hide){--limel-h-l-grid-template-rows-transition-speed:0.3s;--limel-h-l-grid-template-rows:0fr}`;
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var hotkeys = require('./hotkeys-BtR8uxvl.js');
5
5
  var device = require('./device-C9O7lYI9.js');
6
6
  var randomString = require('./random-string-BTzDB2ee.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var makeEnterClickable = require('./make-enter-clickable-NuTMC9MU.js');
5
5
  var randomString = require('./random-string-BTzDB2ee.js');
6
6
  var getIconProps = require('./get-icon-props-CwpDdQDI.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var config = require('./config-dit--4m5.js');
5
5
 
6
6
  class CacheStorageIconCache {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var _3dTiltHoverEffect = require('./3d-tilt-hover-effect-DI8kt0Y0.js');
5
5
  var linkHelper = require('./link-helper-DwlfFJVL.js');
6
6
 
@@ -1,11 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var getIconProps = require('./get-icon-props-CwpDdQDI.js');
5
5
  var randomString = require('./random-string-BTzDB2ee.js');
6
- var renderListComponent = require('./render-list-component-DAV1Dyg1.js');
7
- var checkbox_template = require('./checkbox.template-BLkvZRs6.js');
6
+ var renderListComponent = require('./render-list-component-1GrRKk_R.js');
7
+ var checkbox_template = require('./checkbox.template-BewtdTin.js');
8
8
  var translations = require('./translations-VEsa81QY.js');
9
+ var image_template = require('./image.template-DZC6_5a4.js');
9
10
 
10
11
  const listItemCss = () => `@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}.boolean-input{--limel-boolean-input-box-size:1.25rem;--limel-boolean-input-gap-size:0.5rem;position:relative;isolation:isolate;display:flex;align-items:center;min-height:var(--limel-checkbox-min-height, 2.5rem);width:100%}.boolean-input input[type=checkbox],.boolean-input input[type=radio]{position:absolute;width:0;height:0;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none}label.boolean-input-label{min-width:var(--limel-boolean-input-box-size);min-height:var(--limel-boolean-input-box-size);padding-top:0.125rem;cursor:pointer;position:relative;width:100%;overflow-wrap:var(--limel-boolean-input-label-overflow-wrap, normal);font-size:var(--limel-theme-default-small-font-size);color:var(--limel-theme-text-primary-on-background-color);padding-left:calc(var(--limel-boolean-input-box-size) + var(--limel-boolean-input-gap-size))}.disabled:not([readonly]):not([readonly=true]) label.boolean-input-label{cursor:not-allowed;color:var(--limel-theme-text-disabled-color)}.required label.boolean-input-label:after{margin-left:0.0625rem;content:"*"}.invalid:not(.readonly) label.boolean-input-label{color:var(--limel-theme-error-text-color)}:host(limel-checkbox.hide-label) label.boolean-input-label,.hide-label label.boolean-input-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:0;width:var(--limel-boolean-input-box-size)}.box{position:absolute;pointer-events:none;transition:border-color 0.4s ease 0.2s, background-color 0.2s ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease;display:inline-block;vertical-align:middle;width:var(--limel-boolean-input-box-size);height:var(--limel-boolean-input-box-size);margin-right:var(--limel-boolean-input-gap-size);border-radius:var(--limel-boolean-input-box-border-radius);border:0.125rem solid;border-color:var(--checkbox-unchecked-border-color, rgb(var(--contrast-900)));background-color:var(--limel-checkbox-background-color, rgb(var(--contrast-300)));}.checked .box,.boolean-input>input[type=checkbox]:checked+.box,.boolean-input>input[type=radio]:checked+.box{background-color:var(--lime-primary-color, var(--limel-theme-primary-color));border-color:var(--lime-primary-color, var(--limel-theme-primary-color))}.disabled .box{opacity:0.4}.box{}.boolean-input:not(.disabled):hover .box{will-change:box-shadow;box-shadow:var(--button-shadow-hovered)}.boolean-input:not(.disabled):active .box{will-change:box-shadow;box-shadow:var(--button-shadow-pressed)}.box:before{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);content:"";position:absolute;inset:-0.1875rem;border-radius:inherit;}.boolean-input>input[type=checkbox]:focus-visible+.box:before,.boolean-input>input[type=radio]:focus-visible+.box:before{will-change:box-shadow;box-shadow:var(--shadow-depth-8-focused)}.box:after{transition:opacity 0.2s ease, width 0.4s ease, box-shadow 0.6s cubic-bezier(0.68, -0.55, 0, 1.87), transform 0.6s cubic-bezier(0.68, -0.55, 0, 1.87);content:"";position:absolute;inset:0;margin:auto;border-radius:1rem;opacity:0;background-color:rgb(var(--color-white));}.boolean-input:not(.disabled):hover .box:after{will-change:opacity, box-shadow, transform, width}:host(limel-checkbox){--limel-boolean-input-label-overflow-wrap:var( --checkbox-label-overflow-wrap, normal );min-height:var(--limel-checkbox-min-height, 2.5rem)}.box:after{height:0.125rem;width:0.25rem}.indeterminate .box:after{opacity:1;width:calc(var(--limel-boolean-input-box-size) - 0.5rem)}.checkbox{--limel-boolean-input-box-border-radius:0.25rem}.checkbox svg.check-mark{position:absolute;z-index:1;inset:0;transform:translate3d(-0.125rem, -0.125rem, 0);width:var(--limel-boolean-input-box-size);height:var(--limel-boolean-input-box-size);padding:0.25rem;color:rgb(var(--color-white));opacity:0;stroke-width:0.1875rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.checkbox svg.check-mark path{stroke-dashoffset:29.7833;stroke-dasharray:29.7833;transition:stroke-dashoffset 180ms cubic-bezier(0.4, 0, 0.6, 1)}.checkbox{}.checkbox:not(.indeterminate)>input[type=checkbox]:checked+.box svg.check-mark{opacity:1}.checkbox:not(.indeterminate)>input[type=checkbox]:checked+.box svg.check-mark path{stroke-dashoffset:0}limel-dynamic-label{margin-top:0.375rem;margin-left:-0.25rem}:host(limel-checkbox:focus),:host(limel-checkbox:focus-visible),:host(limel-checkbox:focus-within){--limel-h-l-grid-template-rows-transition-speed:0.46s;--limel-h-l-grid-template-rows:1fr}:host(limel-checkbox){--limel-h-l-grid-template-rows-transition-speed:0.3s;--limel-h-l-grid-template-rows:0fr}:host(limel-checkbox:focus) limel-helper-line,:host(limel-checkbox:focus-visible) limel-helper-line,:host(limel-checkbox:focus-within) limel-helper-line,:host(limel-checkbox:hover) limel-helper-line{will-change:grid-template-rows}*,*:before,*:after{box-sizing:border-box}limel-list-item{min-height:2.5rem}limel-list-item:focus{outline:none}limel-list-item:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}limel-list-item{transition:background-color 0.6s ease;position:relative;isolation:isolate;display:flex;align-items:center;gap:0.5rem;padding:0 1rem;background-color:rgb(var(--contrast-100))}limel-list-item:hover{z-index:1;transition:background-color 0.2s ease;border-radius:0.5rem}limel-list-item:focus,limel-list-item:focus-visible,limel-list-item:active{z-index:1;border-radius:0.5rem}limel-list-item:first-of-type{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}limel-list-item:last-of-type{border-bottom-left-radius:0.5rem;border-bottom-right-radius:0.5rem}limel-list-item:not([disabled]):not([disabled=true]){cursor:pointer}limel-list-item[disabled]:not([disabled=false]){cursor:not-allowed}limel-list-item[disabled]:not([disabled=false]){cursor:not-allowed}limel-list-item[disabled]:not([disabled=false]) .text,limel-list-item[disabled]:not([disabled=false]) limel-icon,limel-list-item[disabled]:not([disabled=false]) img,limel-list-item[disabled]:not([disabled=false]) .boolean-input{opacity:0.4}limel-list-item:not([disabled]):not([disabled=true]):hover,limel-list-item:not([disabled]):not([disabled=true]):focus-visible{background-color:rgb(var(--contrast-400))}limel-list-item[type=option]:before{transition:background-color 0.6s ease;content:"";position:absolute;inset:0;opacity:0.2;border-radius:0.5rem}limel-list-item[type=option][selected]:not([selected=false]):before{transition:background-color 0.2s ease;background-color:var(--mdc-theme-primary)}limel-list-item .text{flex-grow:1;min-width:0;display:flex;flex-direction:column;padding:0.5rem 0;color:var(--limel-theme-text-primary-on-background-color)}limel-list-item .label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--limel-theme-default-font-size);line-height:1rem}limel-list-item .description{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:var(--maxLinesSecondaryText);line-height:1rem;font-size:var(--limel-theme-default-small-font-size);opacity:0.6}limel-list-item limel-icon{color:var(--limel-theme-text-secondary-on-background-color);flex-shrink:0;margin-left:-0.5rem}limel-list-item limel-icon:has(+img){margin-left:0;position:absolute;top:0.125rem;left:0.125rem;padding:0.1875rem;width:1.25rem;background-color:rgb(var(--contrast-200), 0.8)}limel-list-item img{flex-shrink:0;object-fit:var(--list-item-image-object-fit, cover);border-radius:var(--list-item-image-border-radius, 50%);width:2rem;height:2rem;box-shadow:0 0 0 1px rgb(var(--contrast-800), 0.5)}limel-list-item limel-menu{margin-right:-0.5rem;order:var(--limel-list-item-menu-order, 3)}limel-list-item[role=menuitem] limel-list-item .label{font-size:var(--limel-theme-default-small-font-size)}.boolean-input,limel-radio-button{width:var(--limel-boolean-input-box-size) !important;margin-left:-0.25rem !important}.boolean-input.checkbox{margin-right:0.25rem}limel-list-item:has(limel-icon) .boolean-input,limel-list-item:has(img) .boolean-input{margin-right:-0.25rem;margin-left:0;order:2}.boolean-input .boolean-input-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:0;width:var(--limel-boolean-input-box-size)}`;
11
12
 
@@ -84,7 +85,7 @@ const ListItemComponent = class {
84
85
  if (!this.image) {
85
86
  return;
86
87
  }
87
- return index.h("img", { src: this.image.src, alt: this.image.alt, loading: "lazy" });
88
+ return index.h(image_template.ImageTemplate, { image: this.image });
88
89
  };
89
90
  this.renderActionMenu = (actions) => {
90
91
  if (!actions || actions.length === 0) {
@@ -129,9 +130,9 @@ const ListItemComponent = class {
129
130
  // also keep for `menuitem` for visual state consistency
130
131
  ariaProps['aria-selected'] = this.selected ? 'true' : 'false';
131
132
  }
132
- return (index.h(index.Host, Object.assign({ key: 'b8fffd5b8a9fe0cf368a90ae877db90b700df321', role: this.getHostRole(), class: {
133
+ return (index.h(index.Host, Object.assign({ key: '8b104417adbf0e3e49afa7b18a109cfa807ac098', role: this.getHostRole(), class: {
133
134
  'has-primary-component': !!((_a = this.primaryComponent) === null || _a === void 0 ? void 0 : _a.name),
134
- } }, ariaProps), this.renderRadioButton(), this.renderCheckbox(), this.renderIcon(), this.renderImage(), this.renderPrimaryComponent(), index.h("div", { key: 'ef54b425fad03b76dcffc1a146e8fc6dd28ed407', class: "text" }, this.renderLabel(), this.renderDescription()), this.renderActionMenu(this.actions)));
135
+ } }, ariaProps), this.renderRadioButton(), this.renderCheckbox(), this.renderIcon(), this.renderImage(), this.renderPrimaryComponent(), index.h("div", { key: 'e5620bf079f116d01c7b5f9b6d3834721a3f33bb', class: "text" }, this.renderLabel(), this.renderDescription()), this.renderActionMenu(this.actions)));
135
136
  }
136
137
  /**
137
138
  * Returns a stable reference for the provided actions array to avoid
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./index-8x93m5oI.js');
3
+ var index$1 = require('./index-DYg_7kkT.js');
4
4
  var markdownParser = require('./markdown-parser-F3YRMjcy.js');
5
5
  var config = require('./config-dit--4m5.js');
6
6
  var index = require('./index-ETPz91V5.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
 
5
5
  const masonryLayoutCss = () => `:host(limel-masonry-layout){display:block;position:relative;box-sizing:border-box;visibility:hidden}:host(limel-masonry-layout) ::slotted(*){opacity:0;box-sizing:border-box}:host(limel-masonry-layout.is-laid-out){visibility:visible}:host(limel-masonry-layout.is-laid-out) ::slotted(*){opacity:1}`;
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var hotkeys = require('./hotkeys-BtR8uxvl.js');
5
5
 
6
6
  const menuItemMetaCss = () => `@charset "UTF-8";:host(limel-menu-item-meta){order:4;transform:translateX(0.5rem);display:inline-flex;align-items:center;gap:0.5rem;max-width:50%}*{box-sizing:border-box}limel-badge{--badge-background-color:var( --notification-badge-background-color, rgb(var(--color-red-default)) );--badge-text-color:var( --notification-badge-text-color, rgb(var(--color-white)) )}.command-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:0.7;font-size:var(--limel-theme-default-small-font-size)}.chevron{flex-shrink:0;border-color:transparent;border-left-color:var(--limel-theme-text-secondary-on-background-color);border-width:0.25rem 0 0.25rem 0.375rem;border-style:solid}`;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var translations = require('./translations-VEsa81QY.js');
5
5
  var dom = require('./dom-BWMDM6En.js');
6
6
  var keycodes = require('./keycodes-B75-uKOK.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var randomString = require('./random-string-BTzDB2ee.js');
5
5
  var keycodes = require('./keycodes-B75-uKOK.js');
6
6
  var focusTriggerElement = require('./focus-trigger-element-BfnJmxKO.js');
@@ -1,11 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var files = require('./files-Bt11HLi4.js');
5
5
  var getIconProps = require('./get-icon-props-CwpDdQDI.js');
6
6
  var translations = require('./translations-VEsa81QY.js');
7
7
  var randomString = require('./random-string-BTzDB2ee.js');
8
8
  var imageResize = require('./image-resize-FAwzj92q.js');
9
+ var image_template = require('./image.template-DZC6_5a4.js');
9
10
  require('./file-metadata-BrhOssGG.js');
10
11
  require('./icons-isR5V1X0.js');
11
12
 
@@ -167,9 +168,9 @@ const ProfilePicture = class {
167
168
  renderAvatar() {
168
169
  const src = this.getImageSrc();
169
170
  if (src) {
170
- return (index.h("img", { src: src, alt: "", style: {
171
+ return (index.h(image_template.ImageTemplate, { image: { src, alt: '', referrerpolicy: 'no-referrer' }, style: {
171
172
  '--limel-profile-picture-object-fit': this.imageFit,
172
- }, loading: "lazy", onError: this.onImageError }));
173
+ }, onError: this.onImageError }));
173
174
  }
174
175
  return this.renderIcon();
175
176
  }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var getIconProps = require('./get-icon-props-CwpDdQDI.js');
5
5
 
6
6
  const progressFlowItemCss = () => `@charset "UTF-8";.step:before,.step .lock-icon{pointer-events:none;box-sizing:border-box;z-index:var(--limel-progress-flow-step-content)}.step::before{position:absolute;right:var(--selected-indicator-right);border-radius:50%}.last .step:before,.last .step .lock-icon{right:0.5rem}.flow-item:not(.off-progress-item) .step.selected:before{content:"";width:0.375rem;height:0.375rem;background-color:rgb(var(--contrast-700));opacity:0.7}.lock-icon{margin-left:0.25rem;margin-right:-0.5rem;width:0.75rem;color:currentColor;scale:0.8}.step{color:var(--step-text);background-color:var(--step-background)}.step .icon{color:var(--progress-flow-icon-color--inactive, var(--step-text))}.flow-item.selected .step{color:var(--step-text--selected);background-color:var(--step-background--selected)}.flow-item.selected .step .divider:after{background-color:var(--step-background--selected)}.flow-item.selected .step .icon{color:var(--step-text--selected)}.flow-item.passed .step{color:var(--step-text--passed);background-color:var(--step-background--passed)}.flow-item.passed .step .divider:after{background-color:var(--step-background--passed)}.flow-item.passed .step .icon{color:var(--step-text--passed)}.divider:after{border-color:var(--step-divider-color);background-color:var(--step-background)}.flow-item{--step-background:var( --progress-flow-step-background-color, rgb(var(--contrast-600)) );--step-background--selected:var( --progress-flow-step-background-color--selected, var(--lime-primary-color, var(--limel-theme-primary-color)) );--step-background--passed:var( --progress-flow-step-background-color--passed, var(--step-background--selected) );--step-text:var( --progress-flow-step-text-color, rgb(var(--contrast-1200)) );--step-text--selected:var( --progress-flow-step-text-color--selected, var(--lime-on-primary-color, var(--limel-theme-on-primary-color)) );--step-text--passed:var( --progress-flow-step-text-color--passed, var(--step-text--selected) );--step-divider-color:var( --progress-flow-step-divider-color, rgb(var(--contrast-100)) );position:relative;width:100%;display:flex;flex-direction:column;align-items:stretch}.flow-item:not(.off-progress-item,.last) .divider:after{content:""}.flow-item.off-progress-item{padding-left:0.5rem}.flow-item.first-off-progress-item{padding-left:1rem}.step{transition:background-color 0.2s ease, box-shadow 0.2s ease;display:flex;justify-content:center;align-items:center;position:relative;width:100%;height:var(--step-height);border:none;font-size:var(--limel-theme-default-font-size)}.step.disabled{cursor:not-allowed}.step.disabled.readonly{opacity:1;cursor:default}.step:focus{outline:none}.step:focus-visible{box-shadow:var(--shadow-depth-8-focused)}.flow-item:not(.off-progress-item,.first) .step{padding-left:calc(var(--step-height) / 2)}.flow-item:not(.selected) .step:not(.disabled){cursor:pointer}.flow-item:not(.selected) .step:not(.disabled):hover{box-shadow:var(--button-shadow-normal)}.flow-item:not(.selected) .step:not(.disabled):active{box-shadow:var(--button-shadow-pressed)}.off-progress-item .step{border-radius:0.25rem;padding:0 0.75rem}.off-progress-item .step .icon{margin-left:0}.flow-item.first .step{border-top-left-radius:var(--step-height);border-bottom-left-radius:var(--step-height);padding-left:1.25rem}.flow-item.last .step{border-top-right-radius:var(--step-height);border-bottom-right-radius:var(--step-height);padding-right:1.25rem}.divider{display:flex;align-items:center;justify-content:center;width:var(--step-height);height:var(--step-height);position:absolute;z-index:var(--limel-progress-flow-divider);right:calc(var(--step-height) / 2 * -1);overflow:hidden}.divider:after{position:absolute;display:block;box-sizing:border-box;transition:background-color 0.2s ease;width:100%;height:100%;right:calc(var(--step-height) / 5);transform:rotate(45deg);border-style:solid;border-width:0.125rem 0.125rem 0 0;border-radius:0 0.5rem 0 0;border-color:var(--step-divider-color)}.flow-item.last .divider{width:0}.text,.secondary-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:var(--max-text-width);z-index:var(--limel-progress-flow-step-content)}.secondary-text{font-size:0.75rem;margin:auto;padding-left:calc(var(--step-height) / 2)}.icon{margin:0 0.5rem 0 0.25rem;z-index:var(--limel-progress-flow-step-content)}`;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var getIconProps = require('./get-icon-props-CwpDdQDI.js');
5
5
 
6
6
  const progressFlowCss = () => `:host{--limel-progress-flow-step-content:2;--limel-progress-flow-divider:1;--step-height:2rem;--selected-indicator-right:-0.5rem;--max-text-width:10rem;isolation:isolate;box-sizing:border-box;width:100%;display:flex;flex-direction:row;align-items:flex-start;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:0.25rem}:host::-webkit-scrollbar{display:none}:host(.is-narrow){--step-height:1.5rem;--selected-indicator-right:0}`;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./index-8x93m5oI.js');
3
+ var index$1 = require('./index-DYg_7kkT.js');
4
4
  var types = require('./types-Bu6wcdI0.js');
5
5
  var markdownParser = require('./markdown-parser-F3YRMjcy.js');
6
6
  var cloneDeep = require('./cloneDeep-hE40Q8aw.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
 
5
5
  const RadioButtonGroup = class {
6
6
  constructor(hostRef) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
 
5
5
  const radioButtonCss = () => `@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}.boolean-input{--limel-boolean-input-box-size:1.25rem;--limel-boolean-input-gap-size:0.5rem;position:relative;isolation:isolate;display:flex;align-items:center;min-height:var(--limel-checkbox-min-height, 2.5rem);width:100%}.boolean-input input[type=checkbox],.boolean-input input[type=radio]{position:absolute;width:0;height:0;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none}label.boolean-input-label{min-width:var(--limel-boolean-input-box-size);min-height:var(--limel-boolean-input-box-size);padding-top:0.125rem;cursor:pointer;position:relative;width:100%;overflow-wrap:var(--limel-boolean-input-label-overflow-wrap, normal);font-size:var(--limel-theme-default-small-font-size);color:var(--limel-theme-text-primary-on-background-color);padding-left:calc(var(--limel-boolean-input-box-size) + var(--limel-boolean-input-gap-size))}.disabled:not([readonly]):not([readonly=true]) label.boolean-input-label{cursor:not-allowed;color:var(--limel-theme-text-disabled-color)}.required label.boolean-input-label:after{margin-left:0.0625rem;content:"*"}.invalid:not(.readonly) label.boolean-input-label{color:var(--limel-theme-error-text-color)}:host(limel-checkbox.hide-label) label.boolean-input-label,.hide-label label.boolean-input-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:0;width:var(--limel-boolean-input-box-size)}.box{position:absolute;pointer-events:none;transition:border-color 0.4s ease 0.2s, background-color 0.2s ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease;display:inline-block;vertical-align:middle;width:var(--limel-boolean-input-box-size);height:var(--limel-boolean-input-box-size);margin-right:var(--limel-boolean-input-gap-size);border-radius:var(--limel-boolean-input-box-border-radius);border:0.125rem solid;border-color:var(--checkbox-unchecked-border-color, rgb(var(--contrast-900)));background-color:var(--limel-checkbox-background-color, rgb(var(--contrast-300)));}.checked .box,.boolean-input>input[type=checkbox]:checked+.box,.boolean-input>input[type=radio]:checked+.box{background-color:var(--lime-primary-color, var(--limel-theme-primary-color));border-color:var(--lime-primary-color, var(--limel-theme-primary-color))}.disabled .box{opacity:0.4}.box{}.boolean-input:not(.disabled):hover .box{will-change:box-shadow;box-shadow:var(--button-shadow-hovered)}.boolean-input:not(.disabled):active .box{will-change:box-shadow;box-shadow:var(--button-shadow-pressed)}.box:before{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);content:"";position:absolute;inset:-0.1875rem;border-radius:inherit;}.boolean-input>input[type=checkbox]:focus-visible+.box:before,.boolean-input>input[type=radio]:focus-visible+.box:before{will-change:box-shadow;box-shadow:var(--shadow-depth-8-focused)}.box:after{transition:opacity 0.2s ease, width 0.4s ease, box-shadow 0.6s cubic-bezier(0.68, -0.55, 0, 1.87), transform 0.6s cubic-bezier(0.68, -0.55, 0, 1.87);content:"";position:absolute;inset:0;margin:auto;border-radius:1rem;opacity:0;background-color:rgb(var(--color-white));}.boolean-input:not(.disabled):hover .box:after{will-change:opacity, box-shadow, transform, width}.radio-button{--limel-boolean-input-box-border-radius:var( --limel-boolean-input-box-size )}.radio-button .box:after{width:100%;height:100%;border-radius:50%}.boolean-input:has(input[type=radio]:checked) .box:after{opacity:1;transform:scale(0.6);box-shadow:var(--shadow-depth-8)}`;
6
6
 
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var device = require('./device-C9O7lYI9.js');
5
5
  var keycodes = require('./keycodes-B75-uKOK.js');
6
6
  var multiple = require('./multiple-DYfiga7l.js');
7
7
  var randomString = require('./random-string-BTzDB2ee.js');
8
- var renderListComponent = require('./render-list-component-DAV1Dyg1.js');
8
+ var renderListComponent = require('./render-list-component-1GrRKk_R.js');
9
9
  var getIconProps = require('./get-icon-props-CwpDdQDI.js');
10
10
  var component = require('./component-BrNWuGdj.js');
11
11
  var ponyfill = require('./ponyfill-BgIFyUG5.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var linkHelper = require('./link-helper-DwlfFJVL.js');
5
5
  var _3dTiltHoverEffect = require('./3d-tilt-hover-effect-DI8kt0Y0.js');
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var randomString = require('./random-string-BTzDB2ee.js');
5
5
 
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var translations = require('./translations-VEsa81QY.js');
5
5
  var randomString = require('./random-string-BTzDB2ee.js');
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
 
5
5
  const splitButtonCss = () => `@charset "UTF-8";:host(limel-split-button.has-menu){--button-padding-right:2rem}:host(limel-split-button){display:inline-flex;isolation:isolate}:host(limel-split-button) *{box-sizing:border-box}limel-button{width:100%}limel-menu{display:flex;justify-content:flex-end;position:relative;z-index:1;padding:0.125rem;margin-left:calc(var(--button-padding-right) * -1);width:var(--button-padding-right)}limel-menu:before{transition:background-color 0.5s ease;content:"";position:absolute;inset:0.375rem auto 0.375rem 0.6875rem;width:1px;background-color:currentColor;opacity:0.2}limel-menu:not([disabled]){color:var(--lime-primary-color, var(--limel-theme-primary-color))}limel-menu:not([disabled]).primary{color:var(--lime-on-primary-color, var(--limel-theme-on-primary-color))}limel-menu[disabled]{color:rgba(var(--contrast-1600), 0.37)}limel-menu:hover:before,limel-menu:focus-within:before{background-color:transparent}button.menu-trigger{appearance:none;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:inherit;text-align:center;font-weight:bold;border-radius:0.125rem;height:100%;width:1rem}button.menu-trigger:not(:disabled){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:"inherit";background-color:transparent}button.menu-trigger:not(:disabled):hover,button.menu-trigger:not(:disabled):focus,button.menu-trigger:not(:disabled):focus-visible{will-change:color, background-color, box-shadow, transform}button.menu-trigger:not(:disabled):hover,button.menu-trigger:not(:disabled):focus-visible{transform:translate3d(0, 0.01rem, 0);color:"inherit";background-color:var(--lime-elevated-surface-background-color)}button.menu-trigger:not(:disabled):hover{box-shadow:var(--button-shadow-hovered)}button.menu-trigger:not(:disabled):active{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}button.menu-trigger:not(:disabled):hover,button.menu-trigger:not(:disabled):active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}button.menu-trigger:not(:disabled):focus{outline:none}button.menu-trigger:not(:disabled):focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}button.menu-trigger:not(:disabled){cursor:pointer}button.menu-trigger:not(:disabled):focus-visible,button.menu-trigger:not(:disabled):hover{background-color:rgb(var(--color-white), 0.1)}button.menu-trigger[aria-expanded]:not([aria-expanded=false]){box-shadow:var(--button-shadow-inset-pressed)}button.menu-trigger:before{content:"";position:absolute;inset:-0.25rem;z-index:-1}`;
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var randomString = require('./random-string-BTzDB2ee.js');
5
5
  var makeEnterClickable = require('./make-enter-clickable-NuTMC9MU.js');
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var getIconProps = require('./get-icon-props-CwpDdQDI.js');
5
5
  var isEqual = require('./isEqual-Cd9J8a5-.js');
6
6
  var ponyfill = require('./ponyfill-BgIFyUG5.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var dispatchResizeEvent = require('./dispatch-resize-event-DH5CaB3p.js');
5
5
 
6
6
  const tabPanelCss = () => `:host(limel-tab-panel){--tab-panel-background-color:rgb(var(--contrast-100));display:block;height:100%}.tab-panel{height:100%;position:relative;display:flex;flex-direction:column}.tab-content{height:100%;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;background-color:var(--tab-panel-background-color)}`;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var pickBy = require('./pickBy-D-X6S5kg.js');
5
5
  var layout = require('./layout-CL_D-afg.js');
6
6
  var isEqual = require('./isEqual-Cd9J8a5-.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var translations = require('./translations-VEsa81QY.js');
5
5
  var keycodes = require('./keycodes-B75-uKOK.js');
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
  var randomString = require('./random-string-BTzDB2ee.js');
5
5
 
6
6
  const textEditorCss = () => `@charset "UTF-8";*{box-sizing:border-box}:host(limel-text-editor){--limel-notched-outline-z-index:2;--limel-prosemirror-adapter-toolbar-opacity:0.6;--limel-text-editor-padding:0.25rem 1rem 0.75rem 1rem;--limel-prosemirror-adapter-toolbar-grid-template-rows:1fr;--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration:0.3s;--limel-prosemirror-adapter-toolbar-transition-timing-function:cubic-bezier( 0.19, 0.23, 0.26, 0.89 );position:relative;isolation:isolate;display:flex;flex-direction:column;width:100%;min-width:5rem;min-height:5rem;height:100%;max-height:var(--text-editor-max-height, calc(100vh - (env(safe-area-inset-top) + env(safe-area-inset-bottom)) - 4rem));padding:1px}:host(limel-text-editor) limel-notched-outline{height:100%}:host(limel-text-editor:focus-within),:host(limel-text-editor:not([ui=minimal]):hover){--limel-prosemirror-adapter-toolbar-opacity:1}:host(limel-text-editor[ui=minimal]:not(:focus-within)){--limel-prosemirror-adapter-toolbar-grid-template-rows:0fr;--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration:0.46s;--limel-prosemirror-adapter-action-bar-padding-top-bottom:0;--limel-prosemirror-adapter-toolbar-opacity:0}:host(limel-text-editor[ui=minimal]:not(:focus-within)),:host(limel-text-editor[ui=no-toolbar]){--limel-text-editor-padding:0.75rem 1rem 0.75rem 1rem;--limel-text-editor-placeholder-top:0;min-height:2.5rem}:host(limel-text-editor[ui=minimal]:not(:focus-within)) limel-prosemirror-adapter,:host(limel-text-editor[ui=no-toolbar]) limel-prosemirror-adapter{min-height:2.5rem}:host(limel-text-editor:focus-within) .placeholder,:host(limel-text-editor:focus) .placeholder{opacity:0}:host(limel-text-editor[disabled]:not([disabled=false])) limel-prosemirror-adapter{cursor:not-allowed;opacity:0.4;pointer-events:none}:host(limel-text-editor[readonly]:not([readonly=false])){--limel-text-editor-padding:0.75rem 1rem 0.75rem 1rem;--limel-text-editor-placeholder-top:0}:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown{display:block;padding:var(--limel-text-editor-padding);overflow-y:auto;-webkit-overflow-scrolling:touch;height:100%}:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown:before,:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown:after{z-index:1;pointer-events:none;content:"";display:block;position:absolute;width:100%}:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown:after{height:1.75rem;top:0;background:linear-gradient(var(--text-editor-fade-out-background-color, rgb(var(--contrast-100))), transparent)}:host(limel-text-editor[readonly]:not([readonly=false])) limel-markdown:before{height:2rem;bottom:-0.25rem;background:linear-gradient(transparent, var(--text-editor-fade-out-background-color, rgb(var(--contrast-100))))}.placeholder{transition-property:top;transition-duration:var(--limel-prosemirror-adapter-toolbar-grid-template-rows-transition-duration);transition-timing-function:var(--limel-prosemirror-adapter-toolbar-transition-timing-function);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;position:absolute;top:var(--limel-text-editor-placeholder-top, 2.25rem);left:0;right:0;padding:var(--limel-text-editor-padding);font-style:italic;font-size:var(--limel-theme-default-font-size);color:rgb(var(--contrast-900))}limel-prosemirror-adapter{flex-grow:1;min-width:0;min-height:5rem;height:100%;max-height:100%;overflow:hidden auto;-webkit-overflow-scrolling:touch}:host(limel-text-editor:focus),:host(limel-text-editor:focus-visible),:host(limel-text-editor:focus-within){--limel-h-l-grid-template-rows-transition-speed:0.46s;--limel-h-l-grid-template-rows:1fr}:host(limel-text-editor){--limel-h-l-grid-template-rows-transition-speed:0.3s;--limel-h-l-grid-template-rows:0fr}:host(limel-text-editor:focus) limel-helper-line,:host(limel-text-editor:focus-visible) limel-helper-line,:host(limel-text-editor:focus-within) limel-helper-line,:host(limel-text-editor:hover) limel-helper-line{will-change:grid-template-rows}:host(limel-text-editor[allow-resize]) limel-prosemirror-adapter{resize:vertical}`;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
 
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-8x93m5oI.js');
3
+ var index = require('./index-DYg_7kkT.js');
4
4
 
5
5
  /**
6
6
  * Renders a `ListComponent` as a JSX element.
@@ -1,4 +1,5 @@
1
1
  import { h, Host, } from "@stencil/core";
2
+ import { ImageTemplate } from "../../util/image.template";
2
3
  import { isItem } from "../action-bar/is-item";
3
4
  import { getIconName } from "../icon/get-icon-props";
4
5
  import { getMouseEventHandlers } from "../../util/3d-tilt-hover-effect";
@@ -115,14 +116,14 @@ export class Card {
115
116
  this.setMarkdownElement(this.markdownElement);
116
117
  }
117
118
  render() {
118
- return (h(Host, { key: '44bb83ce255cae492800db3f8283b928118700e8', onMouseEnter: this.show3dEffect ? this.handleMouseEnter : undefined, onMouseLeave: this.show3dEffect ? this.handleMouseLeave : undefined }, h("section", { key: '9e9de67b83534b0d3bafa199adf03706ab3b9903', tabindex: this.clickable ? 0 : undefined, role: this.clickable ? 'button' : undefined, "aria-pressed": this.clickable ? String(this.selected) : undefined, onKeyDown: this.clickable ? this.handleKeyDown : undefined }, this.renderImage(), h("div", { key: 'be85792383afb78a9d8290283c248a6aebbaf636', class: "body" }, this.renderHeader(), this.renderSlot(), this.renderValue(), this.renderActionBar()), this.show3dEffect && h("limel-3d-hover-effect-glow", { key: '6e6f191c5df43949be0655b5c4729274f99f67e7' }))));
119
+ return (h(Host, { key: 'bd6a187317d0b475747be4fe270452ab8b38ef3c', onMouseEnter: this.show3dEffect ? this.handleMouseEnter : undefined, onMouseLeave: this.show3dEffect ? this.handleMouseLeave : undefined }, h("section", { key: '3cd9af303c7c3cc1db1cfc52e80dc05c4ec409de', tabindex: this.clickable ? 0 : undefined, role: this.clickable ? 'button' : undefined, "aria-pressed": this.clickable ? String(this.selected) : undefined, onKeyDown: this.clickable ? this.handleKeyDown : undefined }, this.renderImage(), h("div", { key: 'a9c535c05a993af0ef8f515bb1380d36fdf9f3ce', class: "body" }, this.renderHeader(), this.renderSlot(), this.renderValue(), this.renderActionBar()), this.show3dEffect && h("limel-3d-hover-effect-glow", { key: '93fc81bc92ff7cf2272f854d3b218651994ae5d8' }))));
119
120
  }
120
121
  renderImage() {
121
122
  var _a;
122
123
  if (!((_a = this.image) === null || _a === void 0 ? void 0 : _a.src)) {
123
124
  return;
124
125
  }
125
- return (h("div", { class: "image-wrapper" }, h("img", { src: this.image.src, alt: this.image.alt, loading: "lazy" })));
126
+ return (h("div", { class: "image-wrapper" }, h(ImageTemplate, { image: this.image })));
126
127
  }
127
128
  renderHeader() {
128
129
  if (!this.heading && !this.subheading && !this.icon) {
@@ -1,4 +1,5 @@
1
1
  import { h, Host, } from "@stencil/core";
2
+ import { ImageTemplate } from "../../util/image.template";
2
3
  import { getRel } from "../../util/link-helper";
3
4
  import { getIconName } from "../icon/get-icon-props";
4
5
  import { makeEnterClickable, removeEnterClickable, } from "../../util/make-enter-clickable";
@@ -175,7 +176,7 @@ export class Chip {
175
176
  removeEnterClickable(this.host);
176
177
  }
177
178
  render() {
178
- return (h(Host, { key: 'b8f705c07c6099b0a6dec51a0dd8b19e40385d9f', onClick: this.filterClickWhenDisabled }, this.link ? this.renderAsLink() : this.renderAsButton()));
179
+ return (h(Host, { key: 'a18828c21bced036d29fdde1fd94af6b168a3da9', onClick: this.filterClickWhenDisabled }, this.link ? this.renderAsLink() : this.renderAsButton()));
179
180
  }
180
181
  renderPicture() {
181
182
  var _a, _b;
@@ -184,7 +185,7 @@ export class Chip {
184
185
  return;
185
186
  }
186
187
  if (!isEmpty(this.image)) {
187
- return (h("img", { src: this.image.src, alt: this.image.alt, loading: "lazy" }));
188
+ return h(ImageTemplate, { image: this.image });
188
189
  }
189
190
  return (h("limel-icon", { badge: true, name: icon, style: {
190
191
  color: `${(_a = this.icon) === null || _a === void 0 ? void 0 : _a.color}`,
@@ -1,8 +1,9 @@
1
- import { h, } from "@stencil/core";
1
+ import { Fragment, h, } from "@stencil/core";
2
2
  import translate from "../../global/translations";
3
3
  import { detectExtension } from "./extension-mapping";
4
4
  import { Fullscreen } from "./fullscreen";
5
5
  import { loadEmail } from "../email-viewer/email-loader";
6
+ import { ImageTemplate } from "../../util/image.template";
6
7
  /**
7
8
  * This is a smart component that automatically detects
8
9
  * the most common file types such as image, audio, video, and text,
@@ -79,10 +80,12 @@ export class FileViewer {
79
80
  ];
80
81
  };
81
82
  this.renderImage = () => {
82
- return [
83
- this.renderButtons(),
84
- h("img", { src: this.sanitizeUrl(this.fileUrl), alt: this.alt, loading: "lazy" }),
85
- ];
83
+ var _a;
84
+ return (h(Fragment, null, this.renderButtons(), h(ImageTemplate, { image: {
85
+ src: this.sanitizeUrl(this.fileUrl),
86
+ alt: (_a = this.alt) !== null && _a !== void 0 ? _a : '',
87
+ referrerpolicy: 'no-referrer',
88
+ } })));
86
89
  };
87
90
  this.renderVideo = () => {
88
91
  return (h("video", { controls: true }, h("source", { src: this.sanitizeUrl(this.fileUrl) })));
@@ -46,9 +46,40 @@ export class List {
46
46
  if (!element) {
47
47
  return;
48
48
  }
49
+ this.listElement = element;
50
+ this.listElement.removeEventListener('mousedown', this.handleItemMouseDown);
51
+ this.listElement.addEventListener('mousedown', this.handleItemMouseDown);
49
52
  this.mdcList = new MDCList(element);
50
53
  this.mdcList.hasTypeahead = true;
51
54
  };
55
+ /**
56
+ * Focus the pressed list item directly, without scrolling.
57
+ *
58
+ * Since the list uses `delegatesFocus`, pressing a non-focusable part of
59
+ * a list item (e.g. its text) would otherwise delegate focus to the first
60
+ * focusable row, scrolling it into view. In a scrolled list that moves the
61
+ * pressed row out from under the pointer before the click completes, so the
62
+ * click lands on empty space and no item gets selected.
63
+ *
64
+ * Bound to `mousedown` only (not `pointerdown`) so a touch-drag to scroll
65
+ * that starts on a row is not blocked by `preventDefault`.
66
+ *
67
+ * @param event - the mousedown event
68
+ */
69
+ this.handleItemMouseDown = (event) => {
70
+ var _a;
71
+ const target = event.target;
72
+ const itemElement = (_a = target === null || target === void 0 ? void 0 : target.closest) === null || _a === void 0 ? void 0 : _a.call(target, '.mdc-deprecated-list-item');
73
+ if (!itemElement) {
74
+ return;
75
+ }
76
+ // Suppress the default focus delegation (and its scroll) for any row,
77
+ // but only move focus to interactive (non-disabled) rows.
78
+ event.preventDefault();
79
+ if (!itemElement.classList.contains('mdc-deprecated-list-item--disabled')) {
80
+ itemElement.focus({ preventScroll: true });
81
+ }
82
+ };
52
83
  this.setupListeners = () => {
53
84
  if (!this.mdcList) {
54
85
  return;
@@ -63,9 +94,10 @@ export class List {
63
94
  this.mdcList.singleSelection = !this.multiple;
64
95
  };
65
96
  this.teardown = () => {
66
- var _a, _b;
67
- (_a = this.mdcList) === null || _a === void 0 ? void 0 : _a.unlisten(ACTION_EVENT, this.handleAction);
68
- (_b = this.mdcList) === null || _b === void 0 ? void 0 : _b.destroy();
97
+ var _a, _b, _c;
98
+ (_a = this.listElement) === null || _a === void 0 ? void 0 : _a.removeEventListener('mousedown', this.handleItemMouseDown);
99
+ (_b = this.mdcList) === null || _b === void 0 ? void 0 : _b.unlisten(ACTION_EVENT, this.handleAction);
100
+ (_c = this.mdcList) === null || _c === void 0 ? void 0 : _c.destroy();
69
101
  };
70
102
  this.handleAction = (event) => {
71
103
  if (!this.multiple) {
@@ -143,7 +175,7 @@ export class List {
143
175
  maxLinesSecondaryText = 1;
144
176
  }
145
177
  const html = this.listRenderer.render(this.items, this.config);
146
- return (h(Host, { key: '02f96dd9abcf8c67ffcac1ee066d5118e94b04f4', style: {
178
+ return (h(Host, { key: 'cf75b5469a04c515ea9d11adc88a5db66bb01358', style: {
147
179
  '--maxLinesSecondaryText': `${maxLinesSecondaryText}`,
148
180
  } }, html));
149
181
  }
@@ -4,6 +4,7 @@ import { createRandomString } from "../../util/random-string";
4
4
  import { renderListComponent } from "../../util/render-list-component";
5
5
  import { CheckboxTemplate } from "../checkbox/checkbox.template";
6
6
  import translate from "../../global/translations";
7
+ import { ImageTemplate } from "../../util/image.template";
7
8
  /**
8
9
  * This components displays the list item.
9
10
  * This centralizes styles and functionality, and helps reduce redundant code
@@ -112,7 +113,7 @@ export class ListItemComponent {
112
113
  if (!this.image) {
113
114
  return;
114
115
  }
115
- return h("img", { src: this.image.src, alt: this.image.alt, loading: "lazy" });
116
+ return h(ImageTemplate, { image: this.image });
116
117
  };
117
118
  this.renderActionMenu = (actions) => {
118
119
  if (!actions || actions.length === 0) {
@@ -157,9 +158,9 @@ export class ListItemComponent {
157
158
  // also keep for `menuitem` for visual state consistency
158
159
  ariaProps['aria-selected'] = this.selected ? 'true' : 'false';
159
160
  }
160
- return (h(Host, Object.assign({ key: 'b8fffd5b8a9fe0cf368a90ae877db90b700df321', role: this.getHostRole(), class: {
161
+ return (h(Host, Object.assign({ key: '8b104417adbf0e3e49afa7b18a109cfa807ac098', role: this.getHostRole(), class: {
161
162
  'has-primary-component': !!((_a = this.primaryComponent) === null || _a === void 0 ? void 0 : _a.name),
162
- } }, ariaProps), this.renderRadioButton(), this.renderCheckbox(), this.renderIcon(), this.renderImage(), this.renderPrimaryComponent(), h("div", { key: 'ef54b425fad03b76dcffc1a146e8fc6dd28ed407', class: "text" }, this.renderLabel(), this.renderDescription()), this.renderActionMenu(this.actions)));
163
+ } }, ariaProps), this.renderRadioButton(), this.renderCheckbox(), this.renderIcon(), this.renderImage(), this.renderPrimaryComponent(), h("div", { key: 'e5620bf079f116d01c7b5f9b6d3834721a3f33bb', class: "text" }, this.renderLabel(), this.renderDescription()), this.renderActionMenu(this.actions)));
163
164
  }
164
165
  /**
165
166
  * Returns a stable reference for the provided actions array to avoid
@@ -4,6 +4,7 @@ import { getIconName } from "../icon/get-icon-props";
4
4
  import translate from "../../global/translations";
5
5
  import { createRandomString } from "../../util/random-string";
6
6
  import { resizeImage } from "../../util/image-resize";
7
+ import { ImageTemplate } from "../../util/image.template";
7
8
  /**
8
9
  * This component displays a profile picture, while allowing the user
9
10
  * to change it via a file input or drag-and-drop.
@@ -177,9 +178,9 @@ export class ProfilePicture {
177
178
  renderAvatar() {
178
179
  const src = this.getImageSrc();
179
180
  if (src) {
180
- return (h("img", { src: src, alt: "", style: {
181
+ return (h(ImageTemplate, { image: { src, alt: '', referrerpolicy: 'no-referrer' }, style: {
181
182
  '--limel-profile-picture-object-fit': this.imageFit,
182
- }, loading: "lazy", onError: this.onImageError }));
183
+ }, onError: this.onImageError }));
183
184
  }
184
185
  return this.renderIcon();
185
186
  }