svelte-remote-image 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -30
- package/dist/components/Img.svelte +2 -2
- package/dist/components/type.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -21,13 +21,15 @@ $ npm i svelte-remote-image
|
|
|
21
21
|
And import components and types.
|
|
22
22
|
|
|
23
23
|
```
|
|
24
|
-
import {
|
|
24
|
+
import { Img, Picture, type ImgSrc, type PictureSrc } from "svelte-remote-image";
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
## How to use
|
|
28
28
|
|
|
29
29
|
Sample code.
|
|
30
30
|
|
|
31
|
+
### Img
|
|
32
|
+
|
|
31
33
|
```
|
|
32
34
|
<script lang="ts">
|
|
33
35
|
import { Image, type ImageSrc } from "svelte-remote-image";
|
|
@@ -36,46 +38,39 @@ Sample code.
|
|
|
36
38
|
const optimazerPrefix = 'https://nostr-image-optimizer.ocknamo.com/image/';
|
|
37
39
|
const originalImageUrl = 'https://ocknamo.com/static/b84d6366deec053ff3fa77df01a54464/dccd3/cat.webp'
|
|
38
40
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
};
|
|
41
|
+
const imgSrc: ImgSrc = {
|
|
42
|
+
w: 800,
|
|
43
|
+
img: `https://ocknamo.com/cat.jpg`,
|
|
44
|
+
srssets: [
|
|
45
|
+
{
|
|
46
|
+
src: `https://ocknamo.com/cat_1600.jpg`,
|
|
47
|
+
w: 1600,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
src: `https://ocknamo.com/cat_800.jpg`,
|
|
51
|
+
w: 800,
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
fallback: ['https://ocknamo.com/cat_fallback.jpg'],
|
|
55
|
+
}
|
|
55
56
|
</script>
|
|
56
57
|
|
|
57
|
-
<
|
|
58
|
+
<Img src={imgSrc} style='max-width: 400px; max-width: 80%;' />
|
|
58
59
|
```
|
|
59
60
|
|
|
60
61
|
The image component renders into:
|
|
61
62
|
|
|
62
63
|
```
|
|
63
|
-
<
|
|
64
|
-
|
|
65
|
-
srcset="https://nostr-image-optimizer.ocknamo.com/image/width=1600,quality=50,format=webp/https://ocknamo.com/static/b84d6366deec053ff3fa77df01a54464/dccd3/cat.webp 1600w, https://nostr-image-optimizer.ocknamo.com/image/width=800,quality=50,format=webp/https://ocknamo.com/static/b84d6366deec053ff3fa77df01a54464/dccd3/cat.webp 800w"
|
|
66
|
-
type="image/webp">
|
|
67
|
-
<source
|
|
68
|
-
srcset="https://nostr-image-optimizer.ocknamo.com/image/width=1600,quality=50,format=jpeg/https://ocknamo.com/static/b84d6366deec053ff3fa77df01a54464/dccd3/cat.webp 1600w, https://nostr-image-optimizer.ocknamo.com/image/width=800,quality=50,format=jpeg/https://ocknamo.com/static/b84d6366deec053ff3fa77df01a54464/dccd3/cat.webp 800w"
|
|
69
|
-
type="image/jpeg"> <img width="800"
|
|
70
|
-
style="max-width: 100%; background-color: '#c5c5c5'; display: inline;"
|
|
71
|
-
class="image-blur-loaded"
|
|
72
|
-
src="https://nostr-image-optimizer.ocknamo.com/image/width=1600,quality=70,format=webp/https://ocknamo.com/static/b84d6366deec053ff3fa77df01a54464/dccd3/cat.webp"
|
|
73
|
-
alt="blog top" loading="lazy">
|
|
74
|
-
</picture>
|
|
64
|
+
<img id="svelte-remote-image--6188058" width="800" style="max-width: 80%; visibility: hidden;"
|
|
65
|
+
src="https://ocknamo.com/cat_fallback.jpg" srcset="" alt="" title="" loading="lazy" class="s-6LbhuE7J5MgN">
|
|
75
66
|
```
|
|
76
67
|
|
|
77
68
|
Inspired by [svelte-img](https://github.com/zerodevx/svelte-img?tab=readme-ov-file#remote-images-from-an-api).
|
|
78
69
|
|
|
70
|
+
### Picture
|
|
71
|
+
|
|
72
|
+
TBD
|
|
73
|
+
|
|
79
74
|
## Config
|
|
80
75
|
|
|
81
76
|
### ImageSrc
|
|
@@ -92,6 +87,10 @@ Image width.
|
|
|
92
87
|
|
|
93
88
|
Image height.
|
|
94
89
|
|
|
90
|
+
#### srssets: Srcset[]
|
|
91
|
+
|
|
92
|
+
Image sources for Img component.
|
|
93
|
+
|
|
95
94
|
#### webp?: Srcset[]
|
|
96
95
|
|
|
97
96
|
Image sources for webp.
|
|
@@ -44,7 +44,7 @@ const handleImgError = (e) => {
|
|
|
44
44
|
src = {
|
|
45
45
|
...src,
|
|
46
46
|
img: fallbackUrl,
|
|
47
|
-
|
|
47
|
+
srcsets: []
|
|
48
48
|
};
|
|
49
49
|
};
|
|
50
50
|
const handleLoaded = (e) => {
|
|
@@ -59,7 +59,7 @@ const handleLoaded = (e) => {
|
|
|
59
59
|
height={src.h}
|
|
60
60
|
{style}
|
|
61
61
|
src={src.img}
|
|
62
|
-
srcset={src.
|
|
62
|
+
srcset={src.srcsets ? src.srcsets.map((s) => `${s.src} ${s.w}w`).join(', ') : ''}
|
|
63
63
|
alt={alt}
|
|
64
64
|
title={title}
|
|
65
65
|
on:error={handleImgError}
|