@ubean/image 0.1.2 → 0.1.4

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.
@@ -0,0 +1,167 @@
1
+ import { i as ImageFormat, r as ImageFit, s as ImagePosition } from "./types-DosomQo8.js";
2
+ import { PropType } from "vue";
3
+ //#region src/components.d.ts
4
+ declare const NuxtImg: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
+ src: {
6
+ type: PropType<string>;
7
+ required: true;
8
+ };
9
+ alt: {
10
+ type: StringConstructor;
11
+ default: string;
12
+ };
13
+ title: StringConstructor;
14
+ width: (StringConstructor | NumberConstructor)[];
15
+ height: (StringConstructor | NumberConstructor)[];
16
+ sizes: StringConstructor;
17
+ srcset: StringConstructor;
18
+ loading: {
19
+ type: PropType<"lazy" | "eager">;
20
+ default: string;
21
+ };
22
+ crossorigin: PropType<"" | "anonymous" | "use-credentials">;
23
+ referrerpolicy: StringConstructor;
24
+ placeholder: {
25
+ type: (StringConstructor | NumberConstructor | BooleanConstructor)[];
26
+ default: undefined;
27
+ };
28
+ format: PropType<ImageFormat>;
29
+ quality: (StringConstructor | NumberConstructor)[];
30
+ fit: PropType<ImageFit>;
31
+ position: PropType<ImagePosition>;
32
+ background: StringConstructor;
33
+ blur: (StringConstructor | NumberConstructor)[];
34
+ preset: StringConstructor;
35
+ provider: StringConstructor;
36
+ densities: StringConstructor;
37
+ preload: {
38
+ type: BooleanConstructor;
39
+ default: undefined;
40
+ };
41
+ noModule: BooleanConstructor;
42
+ sizesList: PropType<number[]>;
43
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
44
+ [key: string]: any;
45
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
46
+ src: {
47
+ type: PropType<string>;
48
+ required: true;
49
+ };
50
+ alt: {
51
+ type: StringConstructor;
52
+ default: string;
53
+ };
54
+ title: StringConstructor;
55
+ width: (StringConstructor | NumberConstructor)[];
56
+ height: (StringConstructor | NumberConstructor)[];
57
+ sizes: StringConstructor;
58
+ srcset: StringConstructor;
59
+ loading: {
60
+ type: PropType<"lazy" | "eager">;
61
+ default: string;
62
+ };
63
+ crossorigin: PropType<"" | "anonymous" | "use-credentials">;
64
+ referrerpolicy: StringConstructor;
65
+ placeholder: {
66
+ type: (StringConstructor | NumberConstructor | BooleanConstructor)[];
67
+ default: undefined;
68
+ };
69
+ format: PropType<ImageFormat>;
70
+ quality: (StringConstructor | NumberConstructor)[];
71
+ fit: PropType<ImageFit>;
72
+ position: PropType<ImagePosition>;
73
+ background: StringConstructor;
74
+ blur: (StringConstructor | NumberConstructor)[];
75
+ preset: StringConstructor;
76
+ provider: StringConstructor;
77
+ densities: StringConstructor;
78
+ preload: {
79
+ type: BooleanConstructor;
80
+ default: undefined;
81
+ };
82
+ noModule: BooleanConstructor;
83
+ sizesList: PropType<number[]>;
84
+ }>> & Readonly<{}>, {
85
+ noModule: boolean;
86
+ alt: string;
87
+ loading: "lazy" | "eager";
88
+ placeholder: string | number | boolean;
89
+ preload: boolean;
90
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
91
+ declare const NuxtPicture: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
92
+ src: {
93
+ type: StringConstructor;
94
+ required: true;
95
+ };
96
+ alt: {
97
+ type: StringConstructor;
98
+ default: string;
99
+ };
100
+ title: StringConstructor;
101
+ width: (StringConstructor | NumberConstructor)[];
102
+ height: (StringConstructor | NumberConstructor)[];
103
+ sizes: StringConstructor;
104
+ loading: {
105
+ type: PropType<"lazy" | "eager">;
106
+ default: string;
107
+ };
108
+ crossorigin: StringConstructor;
109
+ referrerpolicy: StringConstructor;
110
+ placeholder: (StringConstructor | NumberConstructor | BooleanConstructor)[];
111
+ format: PropType<ImageFormat[]>;
112
+ quality: (StringConstructor | NumberConstructor)[];
113
+ fit: PropType<ImageFit>;
114
+ position: PropType<ImagePosition>;
115
+ background: StringConstructor;
116
+ blur: (StringConstructor | NumberConstructor)[];
117
+ preset: StringConstructor;
118
+ provider: StringConstructor;
119
+ densities: StringConstructor;
120
+ sizesList: PropType<number[]>;
121
+ formats: {
122
+ type: PropType<Record<string, ImageFormat[]>>;
123
+ default: () => {};
124
+ };
125
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
126
+ [key: string]: any;
127
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
128
+ src: {
129
+ type: StringConstructor;
130
+ required: true;
131
+ };
132
+ alt: {
133
+ type: StringConstructor;
134
+ default: string;
135
+ };
136
+ title: StringConstructor;
137
+ width: (StringConstructor | NumberConstructor)[];
138
+ height: (StringConstructor | NumberConstructor)[];
139
+ sizes: StringConstructor;
140
+ loading: {
141
+ type: PropType<"lazy" | "eager">;
142
+ default: string;
143
+ };
144
+ crossorigin: StringConstructor;
145
+ referrerpolicy: StringConstructor;
146
+ placeholder: (StringConstructor | NumberConstructor | BooleanConstructor)[];
147
+ format: PropType<ImageFormat[]>;
148
+ quality: (StringConstructor | NumberConstructor)[];
149
+ fit: PropType<ImageFit>;
150
+ position: PropType<ImagePosition>;
151
+ background: StringConstructor;
152
+ blur: (StringConstructor | NumberConstructor)[];
153
+ preset: StringConstructor;
154
+ provider: StringConstructor;
155
+ densities: StringConstructor;
156
+ sizesList: PropType<number[]>;
157
+ formats: {
158
+ type: PropType<Record<string, ImageFormat[]>>;
159
+ default: () => {};
160
+ };
161
+ }>> & Readonly<{}>, {
162
+ alt: string;
163
+ loading: "lazy" | "eager";
164
+ formats: Record<string, ImageFormat[]>;
165
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
166
+ //#endregion
167
+ export { NuxtImg, NuxtImg as default, NuxtPicture };
@@ -0,0 +1,296 @@
1
+ import { E as srcSetToString, a as useImage, g as detectFormat, i as resolveImage, r as getImageContext, x as isDataUrl } from "./runtime-3aSOG0e9.js";
2
+ import { computed, defineComponent, h, onBeforeUnmount, onMounted, ref, watchEffect } from "vue";
3
+ //#region src/components.ts
4
+ const NuxtImg = defineComponent({
5
+ name: "UbeanImg",
6
+ props: {
7
+ src: {
8
+ type: String,
9
+ required: true
10
+ },
11
+ alt: {
12
+ type: String,
13
+ default: ""
14
+ },
15
+ title: String,
16
+ width: [String, Number],
17
+ height: [String, Number],
18
+ sizes: String,
19
+ srcset: String,
20
+ loading: {
21
+ type: String,
22
+ default: "lazy"
23
+ },
24
+ crossorigin: String,
25
+ referrerpolicy: String,
26
+ placeholder: {
27
+ type: [
28
+ Boolean,
29
+ String,
30
+ Number
31
+ ],
32
+ default: void 0
33
+ },
34
+ format: String,
35
+ quality: [String, Number],
36
+ fit: String,
37
+ position: String,
38
+ background: String,
39
+ blur: [String, Number],
40
+ preset: String,
41
+ provider: String,
42
+ densities: String,
43
+ preload: {
44
+ type: Boolean,
45
+ default: void 0
46
+ },
47
+ noModule: Boolean,
48
+ sizesList: Array
49
+ },
50
+ setup(props, { attrs }) {
51
+ const img = useImage();
52
+ const ctx = getImageContext();
53
+ const isLoaded = ref(false);
54
+ const isError = ref(false);
55
+ const imgEl = ref(null);
56
+ let observer = null;
57
+ const getNumber = (val) => {
58
+ if (val === void 0 || val === "") return void 0;
59
+ const num = Number(val);
60
+ return isNaN(num) ? void 0 : num;
61
+ };
62
+ const modifiers = computed(() => ({
63
+ width: getNumber(props.width),
64
+ height: getNumber(props.height),
65
+ format: props.format,
66
+ quality: getNumber(props.quality),
67
+ fit: props.fit,
68
+ position: props.position,
69
+ background: props.background,
70
+ blur: getNumber(props.blur)
71
+ }));
72
+ const resolved = computed(() => {
73
+ const opts = { ...modifiers.value };
74
+ if (props.preset) opts.preset = props.preset;
75
+ if (props.provider) opts.provider = props.provider;
76
+ return resolveImage(props.src, opts);
77
+ });
78
+ const placeholderUrl = computed(() => {
79
+ if (props.placeholder === false) return null;
80
+ if (isDataUrl(props.src)) return null;
81
+ const size = typeof props.placeholder === "number" ? props.placeholder : 10;
82
+ return img.getPlaceholder(props.src, modifiers.value, size);
83
+ });
84
+ const displaySrc = computed(() => {
85
+ if (isLoaded.value || props.loading === "eager") return resolved.value.url;
86
+ return placeholderUrl.value || "";
87
+ });
88
+ const srcsetAttr = computed(() => {
89
+ if (props.srcset) return props.srcset;
90
+ const sizes = props.sizesList || (modifiers.value.width ? void 0 : ctx.options.responsiveSizes);
91
+ const densities = props.densities ? props.densities.split(",").map(Number) : void 0;
92
+ let items = [];
93
+ if (sizes && sizes.length > 0) items = img.srcset(props.src, sizes, modifiers.value, props.format ? [props.format] : void 0);
94
+ else if (densities && densities.length > 0 && modifiers.value.width) items = img.densitySrcset(props.src, densities, modifiers.value, props.format ? [props.format] : void 0);
95
+ return items.length > 0 ? srcSetToString(items) : void 0;
96
+ });
97
+ const sizesAttr = computed(() => {
98
+ if (props.sizes) return props.sizes;
99
+ if (!modifiers.value.width && (props.sizesList || ctx.options.responsiveSizes.length > 0)) return ctx.options.screens ? Object.entries(ctx.options.screens).reverse().map(([, width], i, arr) => {
100
+ if (i === arr.length - 1) return `${width}px`;
101
+ return `(min-width: ${width}px) ${width}px`;
102
+ }).join(", ") : void 0;
103
+ });
104
+ const onLoad = () => {
105
+ isLoaded.value = true;
106
+ isError.value = false;
107
+ };
108
+ const onError = () => {
109
+ isError.value = true;
110
+ };
111
+ onMounted(() => {
112
+ if (props.loading === "eager" || !imgEl.value) {
113
+ if (imgEl.value) imgEl.value.src = resolved.value.url;
114
+ isLoaded.value = true;
115
+ return;
116
+ }
117
+ if ("IntersectionObserver" in window) {
118
+ observer = new IntersectionObserver((entries) => {
119
+ entries.forEach((entry) => {
120
+ if (entry.isIntersecting && imgEl.value) {
121
+ imgEl.value.src = resolved.value.url;
122
+ observer?.disconnect();
123
+ observer = null;
124
+ }
125
+ });
126
+ }, ctx.options.intersectOptions);
127
+ observer.observe(imgEl.value);
128
+ } else {
129
+ if (imgEl.value) imgEl.value.src = resolved.value.url;
130
+ isLoaded.value = true;
131
+ }
132
+ });
133
+ onBeforeUnmount(() => {
134
+ if (observer) {
135
+ observer.disconnect();
136
+ observer = null;
137
+ }
138
+ });
139
+ watchEffect(() => {
140
+ if (isLoaded.value && imgEl.value && resolved.value.url) imgEl.value.src = resolved.value.url;
141
+ });
142
+ return () => {
143
+ return h("img", {
144
+ ...attrs,
145
+ ref: imgEl,
146
+ src: displaySrc.value || resolved.value.url,
147
+ alt: props.alt,
148
+ title: props.title,
149
+ width: getNumber(props.width),
150
+ height: getNumber(props.height),
151
+ sizes: sizesAttr.value,
152
+ srcset: srcsetAttr.value,
153
+ loading: props.loading,
154
+ crossorigin: props.crossorigin,
155
+ referrerpolicy: props.referrerpolicy,
156
+ decoding: "async",
157
+ onLoad,
158
+ onError,
159
+ "data-loaded": isLoaded.value ? "" : void 0,
160
+ "data-error": isError.value ? "" : void 0,
161
+ style: {
162
+ ...attrs.style,
163
+ backgroundSize: "cover",
164
+ backgroundPosition: "center",
165
+ backgroundRepeat: "no-repeat"
166
+ }
167
+ });
168
+ };
169
+ }
170
+ });
171
+ const NuxtPicture = defineComponent({
172
+ name: "UbeanPicture",
173
+ props: {
174
+ src: {
175
+ type: String,
176
+ required: true
177
+ },
178
+ alt: {
179
+ type: String,
180
+ default: ""
181
+ },
182
+ title: String,
183
+ width: [String, Number],
184
+ height: [String, Number],
185
+ sizes: String,
186
+ loading: {
187
+ type: String,
188
+ default: "lazy"
189
+ },
190
+ crossorigin: String,
191
+ referrerpolicy: String,
192
+ placeholder: [
193
+ Boolean,
194
+ String,
195
+ Number
196
+ ],
197
+ format: Array,
198
+ quality: [String, Number],
199
+ fit: String,
200
+ position: String,
201
+ background: String,
202
+ blur: [String, Number],
203
+ preset: String,
204
+ provider: String,
205
+ densities: String,
206
+ sizesList: Array,
207
+ formats: {
208
+ type: Object,
209
+ default: () => ({})
210
+ }
211
+ },
212
+ setup(props, { attrs, slots }) {
213
+ const img = useImage();
214
+ const ctx = getImageContext();
215
+ const getNumber = (val) => {
216
+ if (val === void 0 || val === "") return void 0;
217
+ const num = Number(val);
218
+ return isNaN(num) ? void 0 : num;
219
+ };
220
+ const modifiers = computed(() => ({
221
+ width: getNumber(props.width),
222
+ height: getNumber(props.height),
223
+ quality: getNumber(props.quality),
224
+ fit: props.fit,
225
+ position: props.position,
226
+ background: props.background,
227
+ blur: getNumber(props.blur)
228
+ }));
229
+ const fallbackFormat = computed(() => {
230
+ return detectFormat(props.src) || "jpeg";
231
+ });
232
+ const formats = computed(() => {
233
+ if (props.format && props.format.length > 0) return props.format;
234
+ return ctx.options.format.includes(fallbackFormat.value) ? ctx.options.format : [...ctx.options.format, fallbackFormat.value];
235
+ });
236
+ const sources = computed(() => {
237
+ const sizes = props.sizesList || (modifiers.value.width ? void 0 : ctx.options.responsiveSizes);
238
+ const densities = props.densities ? props.densities.split(",").map(Number) : void 0;
239
+ return formats.value.map((format) => {
240
+ let items = [];
241
+ if (sizes && sizes.length > 0) items = img.srcset(props.src, sizes, {
242
+ ...modifiers.value,
243
+ format
244
+ }, [format]);
245
+ else if (densities && densities.length > 0 && modifiers.value.width) items = img.densitySrcset(props.src, densities, {
246
+ ...modifiers.value,
247
+ format
248
+ }, [format]);
249
+ else items = [{
250
+ url: resolveImage(props.src, {
251
+ ...modifiers.value,
252
+ format
253
+ }).url,
254
+ format
255
+ }];
256
+ return {
257
+ type: `image/${format === "jpg" ? "jpeg" : format}`,
258
+ srcset: srcSetToString(items)
259
+ };
260
+ });
261
+ });
262
+ const sizesAttr = computed(() => {
263
+ if (props.sizes) return props.sizes;
264
+ });
265
+ return () => {
266
+ return h("picture", {}, [...sources.value.map((source) => h("source", {
267
+ type: source.type,
268
+ srcset: source.srcset,
269
+ sizes: sizesAttr.value
270
+ })), slots.default?.() || h(NuxtImg, {
271
+ ...attrs,
272
+ src: props.src,
273
+ alt: props.alt,
274
+ title: props.title,
275
+ width: props.width,
276
+ height: props.height,
277
+ sizes: props.sizes,
278
+ loading: props.loading,
279
+ crossorigin: props.crossorigin,
280
+ referrerpolicy: props.referrerpolicy,
281
+ placeholder: props.placeholder,
282
+ quality: props.quality,
283
+ fit: props.fit,
284
+ position: props.position,
285
+ background: props.background,
286
+ blur: props.blur,
287
+ preset: props.preset,
288
+ provider: props.provider,
289
+ densities: props.densities,
290
+ sizesList: props.sizesList
291
+ })]);
292
+ };
293
+ }
294
+ });
295
+ //#endregion
296
+ export { NuxtImg, NuxtImg as default, NuxtPicture };
@@ -0,0 +1,180 @@
1
+ import { a as ImageModifiers, c as ImageProvider, d as ResolvedImage, i as ImageFormat, l as ImageSize, n as ImageCTX, o as ImageOptions, r as ImageFit, s as ImagePosition, t as CreateImageOptions, u as ImageSrcsetItem } from "./types-DosomQo8.js";
2
+ import { NuxtImg, NuxtPicture } from "./components.js";
3
+ import ubeanImagePlugin, { UbeanImageOptions } from "./vite.js";
4
+ import { C as resolveAlias, D as staticProvider, E as srcSetToString, O as validateDomain, S as isRemoteUrl, _ as getPlaceholder, a as useImage, b as ipxProvider, c as cloudinaryProvider, d as createImageContext, f as createImageHash, g as detectFormat, h as defaultScreens, i as resolveImage, l as createDensitySrcSet, m as createStaticUrl, n as defineImagePreset, o as buildImgAttributes, p as createSrcSet, r as getImageContext, s as builtinProviders, t as configureImageRuntime, u as createIPXUrl, x as isDataUrl, y as imgixProvider } from "./runtime-B5AxhRTR.js";
5
+ //#region src/index.d.ts
6
+ declare const UbeanImg: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
7
+ src: {
8
+ type: import("vue").PropType<string>;
9
+ required: true;
10
+ };
11
+ alt: {
12
+ type: StringConstructor;
13
+ default: string;
14
+ };
15
+ title: StringConstructor;
16
+ width: (StringConstructor | NumberConstructor)[];
17
+ height: (StringConstructor | NumberConstructor)[];
18
+ sizes: StringConstructor;
19
+ srcset: StringConstructor;
20
+ loading: {
21
+ type: import("vue").PropType<"lazy" | "eager">;
22
+ default: string;
23
+ };
24
+ crossorigin: import("vue").PropType<"" | "anonymous" | "use-credentials">;
25
+ referrerpolicy: StringConstructor;
26
+ placeholder: {
27
+ type: (StringConstructor | NumberConstructor | BooleanConstructor)[];
28
+ default: undefined;
29
+ };
30
+ format: import("vue").PropType<ImageFormat>;
31
+ quality: (StringConstructor | NumberConstructor)[];
32
+ fit: import("vue").PropType<ImageFit>;
33
+ position: import("vue").PropType<ImagePosition>;
34
+ background: StringConstructor;
35
+ blur: (StringConstructor | NumberConstructor)[];
36
+ preset: StringConstructor;
37
+ provider: StringConstructor;
38
+ densities: StringConstructor;
39
+ preload: {
40
+ type: BooleanConstructor;
41
+ default: undefined;
42
+ };
43
+ noModule: BooleanConstructor;
44
+ sizesList: import("vue").PropType<number[]>;
45
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
46
+ [key: string]: any;
47
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
48
+ src: {
49
+ type: import("vue").PropType<string>;
50
+ required: true;
51
+ };
52
+ alt: {
53
+ type: StringConstructor;
54
+ default: string;
55
+ };
56
+ title: StringConstructor;
57
+ width: (StringConstructor | NumberConstructor)[];
58
+ height: (StringConstructor | NumberConstructor)[];
59
+ sizes: StringConstructor;
60
+ srcset: StringConstructor;
61
+ loading: {
62
+ type: import("vue").PropType<"lazy" | "eager">;
63
+ default: string;
64
+ };
65
+ crossorigin: import("vue").PropType<"" | "anonymous" | "use-credentials">;
66
+ referrerpolicy: StringConstructor;
67
+ placeholder: {
68
+ type: (StringConstructor | NumberConstructor | BooleanConstructor)[];
69
+ default: undefined;
70
+ };
71
+ format: import("vue").PropType<ImageFormat>;
72
+ quality: (StringConstructor | NumberConstructor)[];
73
+ fit: import("vue").PropType<ImageFit>;
74
+ position: import("vue").PropType<ImagePosition>;
75
+ background: StringConstructor;
76
+ blur: (StringConstructor | NumberConstructor)[];
77
+ preset: StringConstructor;
78
+ provider: StringConstructor;
79
+ densities: StringConstructor;
80
+ preload: {
81
+ type: BooleanConstructor;
82
+ default: undefined;
83
+ };
84
+ noModule: BooleanConstructor;
85
+ sizesList: import("vue").PropType<number[]>;
86
+ }>> & Readonly<{}>, {
87
+ noModule: boolean;
88
+ alt: string;
89
+ loading: "lazy" | "eager";
90
+ placeholder: string | number | boolean;
91
+ preload: boolean;
92
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
93
+ declare const UbeanPicture: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
94
+ src: {
95
+ type: StringConstructor;
96
+ required: true;
97
+ };
98
+ alt: {
99
+ type: StringConstructor;
100
+ default: string;
101
+ };
102
+ title: StringConstructor;
103
+ width: (StringConstructor | NumberConstructor)[];
104
+ height: (StringConstructor | NumberConstructor)[];
105
+ sizes: StringConstructor;
106
+ loading: {
107
+ type: import("vue").PropType<"lazy" | "eager">;
108
+ default: string;
109
+ };
110
+ crossorigin: StringConstructor;
111
+ referrerpolicy: StringConstructor;
112
+ placeholder: (StringConstructor | NumberConstructor | BooleanConstructor)[];
113
+ format: import("vue").PropType<ImageFormat[]>;
114
+ quality: (StringConstructor | NumberConstructor)[];
115
+ fit: import("vue").PropType<ImageFit>;
116
+ position: import("vue").PropType<ImagePosition>;
117
+ background: StringConstructor;
118
+ blur: (StringConstructor | NumberConstructor)[];
119
+ preset: StringConstructor;
120
+ provider: StringConstructor;
121
+ densities: StringConstructor;
122
+ sizesList: import("vue").PropType<number[]>;
123
+ formats: {
124
+ type: import("vue").PropType<Record<string, ImageFormat[]>>;
125
+ default: () => {};
126
+ };
127
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
128
+ [key: string]: any;
129
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
130
+ src: {
131
+ type: StringConstructor;
132
+ required: true;
133
+ };
134
+ alt: {
135
+ type: StringConstructor;
136
+ default: string;
137
+ };
138
+ title: StringConstructor;
139
+ width: (StringConstructor | NumberConstructor)[];
140
+ height: (StringConstructor | NumberConstructor)[];
141
+ sizes: StringConstructor;
142
+ loading: {
143
+ type: import("vue").PropType<"lazy" | "eager">;
144
+ default: string;
145
+ };
146
+ crossorigin: StringConstructor;
147
+ referrerpolicy: StringConstructor;
148
+ placeholder: (StringConstructor | NumberConstructor | BooleanConstructor)[];
149
+ format: import("vue").PropType<ImageFormat[]>;
150
+ quality: (StringConstructor | NumberConstructor)[];
151
+ fit: import("vue").PropType<ImageFit>;
152
+ position: import("vue").PropType<ImagePosition>;
153
+ background: StringConstructor;
154
+ blur: (StringConstructor | NumberConstructor)[];
155
+ preset: StringConstructor;
156
+ provider: StringConstructor;
157
+ densities: StringConstructor;
158
+ sizesList: import("vue").PropType<number[]>;
159
+ formats: {
160
+ type: import("vue").PropType<Record<string, ImageFormat[]>>;
161
+ default: () => {};
162
+ };
163
+ }>> & Readonly<{}>, {
164
+ alt: string;
165
+ loading: "lazy" | "eager";
166
+ formats: Record<string, ImageFormat[]>;
167
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
168
+ declare module 'vue' {
169
+ interface GlobalComponents {
170
+ UbeanImg: typeof NuxtImg;
171
+ NuxtImg: typeof NuxtImg;
172
+ UbeanPicture: typeof NuxtPicture;
173
+ NuxtPicture: typeof NuxtPicture;
174
+ }
175
+ }
176
+ declare const _default: {
177
+ install(app: any, options?: any): void;
178
+ };
179
+ //#endregion
180
+ export { type CreateImageOptions, type ImageCTX, type ImageFit, type ImageFormat, type ImageModifiers, type ImageOptions, type ImagePosition, type ImageProvider, type ImageSize, type ImageSrcsetItem, NuxtImg, NuxtPicture, type ResolvedImage, type UbeanImageOptions, UbeanImg, UbeanPicture, buildImgAttributes, builtinProviders, cloudinaryProvider, configureImageRuntime, createDensitySrcSet, createIPXUrl, createImageContext, createImageHash, createSrcSet, createStaticUrl, _default as default, defaultScreens, defineImagePreset, detectFormat, getImageContext, getPlaceholder, imgixProvider, ipxProvider, isDataUrl, isRemoteUrl, resolveAlias, resolveImage, srcSetToString, staticProvider, ubeanImagePlugin, useImage, validateDomain };
package/dist/index.js ADDED
@@ -0,0 +1,15 @@
1
+ import { C as resolveAlias, D as staticProvider, E as srcSetToString, O as validateDomain, S as isRemoteUrl, _ as getPlaceholder, a as useImage, b as ipxProvider, c as cloudinaryProvider, d as createImageContext, f as createImageHash, g as detectFormat, h as defaultScreens, i as resolveImage, l as createDensitySrcSet, m as createStaticUrl, n as defineImagePreset, o as buildImgAttributes, p as createSrcSet, r as getImageContext, s as builtinProviders, t as configureImageRuntime, u as createIPXUrl, x as isDataUrl, y as imgixProvider } from "./runtime-3aSOG0e9.js";
2
+ import { NuxtImg, NuxtPicture } from "./components.js";
3
+ import ubeanImagePlugin from "./vite.js";
4
+ //#region src/index.ts
5
+ const UbeanImg = NuxtImg;
6
+ const UbeanPicture = NuxtPicture;
7
+ var src_default = { install(app, options) {
8
+ configureImageRuntime(options);
9
+ app.component("UbeanImg", NuxtImg);
10
+ app.component("NuxtImg", NuxtImg);
11
+ app.component("UbeanPicture", NuxtPicture);
12
+ app.component("NuxtPicture", NuxtPicture);
13
+ } };
14
+ //#endregion
15
+ export { NuxtImg, NuxtPicture, UbeanImg, UbeanPicture, buildImgAttributes, builtinProviders, cloudinaryProvider, configureImageRuntime, createDensitySrcSet, createIPXUrl, createImageContext, createImageHash, createSrcSet, createStaticUrl, src_default as default, defaultScreens, defineImagePreset, detectFormat, getImageContext, getPlaceholder, imgixProvider, ipxProvider, isDataUrl, isRemoteUrl, resolveAlias, resolveImage, srcSetToString, staticProvider, ubeanImagePlugin, useImage, validateDomain };