@lonik/oh-image 2.5.0 → 2.6.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.
package/README.md CHANGED
@@ -31,7 +31,7 @@ export default defineConfig({
31
31
 
32
32
  ```tsx
33
33
  import { Image } from "@lonik/oh-image/react";
34
- import heroImg from "./hero.jpg?oh";
34
+ import heroImg from "./hero.jpg?$oh";
35
35
 
36
36
  function App() {
37
37
  return <Image src={heroImg} alt="Hero" />;
package/dist/README.md CHANGED
@@ -31,7 +31,7 @@ export default defineConfig({
31
31
 
32
32
  ```tsx
33
33
  import { Image } from "@lonik/oh-image/react";
34
- import heroImg from "./hero.jpg?oh";
34
+ import heroImg from "./hero.jpg?$oh";
35
35
 
36
36
  function App() {
37
37
  return <Image src={heroImg} alt="Hero" />;
@@ -1,6 +1,6 @@
1
- import { s as ImageLoaderOptions } from "./index-DObZcazO.js";
2
- import { n as BaseLoaderOptions, t as BaseGlobalLoaderOptions } from "./base-loader-options-CVQjMJcC.js";
3
- import * as react_jsx_runtime0 from "react/jsx-runtime";
1
+ import { s as ImageLoaderOptions } from "./index-DMC2sGIO.js";
2
+ import { n as BaseLoaderOptions, t as BaseGlobalLoaderOptions } from "./base-loader-options-DScvwZAJ.js";
3
+ import * as react_jsx_runtime4 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/loaders/cloudflare/cloudflare-options.d.ts
6
6
  type CloudflareTransforms = Partial<{
@@ -39,6 +39,6 @@ declare const useCloudflareContext: () => CloudflareGlobalOptions, CloudflareLoa
39
39
  ...props
40
40
  }: {
41
41
  children: React.ReactNode;
42
- } & Partial<CloudflareGlobalOptions>) => react_jsx_runtime0.JSX.Element, useCloudflareLoader: (options?: CloudflareGlobalOptions | undefined) => (() => undefined) | ((imageOptions: ImageLoaderOptions) => string);
42
+ } & Partial<CloudflareGlobalOptions>) => react_jsx_runtime4.JSX.Element, useCloudflareLoader: (options?: CloudflareGlobalOptions | undefined) => (() => undefined) | ((imageOptions: ImageLoaderOptions) => string);
43
43
  //#endregion
44
44
  export { CloudflareGlobalOptions, CloudflareLoaderProvider, CloudflareOptions, CloudflareTransforms, useCloudflareContext, useCloudflareLoader };
@@ -1,4 +1,4 @@
1
- import { t as loaderFactory } from "./loader-factory-C6GaON4i.js";
1
+ import { t as loaderFactory } from "./loader-factory-6EOKnqj1.js";
2
2
 
3
3
  //#region src/loaders/cloudflare/cloudflare-loader.tsx
4
4
  const { useLoaderContext: useCloudflareContext, LoaderProvider: CloudflareLoaderProvider, useLoader: useCloudflareLoader } = loaderFactory({
@@ -1,6 +1,6 @@
1
- import { s as ImageLoaderOptions } from "./index-DObZcazO.js";
2
- import { n as BaseLoaderOptions, t as BaseGlobalLoaderOptions } from "./base-loader-options-CVQjMJcC.js";
3
- import * as react_jsx_runtime1 from "react/jsx-runtime";
1
+ import { s as ImageLoaderOptions } from "./index-DMC2sGIO.js";
2
+ import { n as BaseLoaderOptions, t as BaseGlobalLoaderOptions } from "./base-loader-options-DScvwZAJ.js";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/loaders/cloudinary/cloudinary-options.d.ts
6
6
  type BACKGROUND_MODE = "border" | "predominant" | "border_contrast" | "predominant_contrast" | "predominant_gradient" | "predominant_gradient_contrast" | "border_gradient" | "border_gradient_contrast";
@@ -106,6 +106,6 @@ declare const useCloudinaryContext: () => CloudinaryGlobalOptions, CloudinaryLoa
106
106
  ...props
107
107
  }: {
108
108
  children: React.ReactNode;
109
- } & Partial<CloudinaryGlobalOptions>) => react_jsx_runtime1.JSX.Element, useCloudinaryLoader: (options?: CloudinaryGlobalOptions | undefined) => (() => undefined) | ((imageOptions: ImageLoaderOptions) => string);
109
+ } & Partial<CloudinaryGlobalOptions>) => react_jsx_runtime0.JSX.Element, useCloudinaryLoader: (options?: CloudinaryGlobalOptions | undefined) => (() => undefined) | ((imageOptions: ImageLoaderOptions) => string);
110
110
  //#endregion
111
111
  export { CloudinaryGlobalOptions, CloudinaryLoaderProvider, CloudinaryOptions, CloudinaryTransforms, useCloudinaryContext, useCloudinaryLoader };
@@ -1,4 +1,4 @@
1
- import { t as loaderFactory } from "./loader-factory-C6GaON4i.js";
1
+ import { t as loaderFactory } from "./loader-factory-6EOKnqj1.js";
2
2
 
3
3
  //#region src/loaders/cloudinary/cloudinary-loader.tsx
4
4
  function customResolver(key, value) {
@@ -1,6 +1,6 @@
1
- import { s as ImageLoaderOptions } from "./index-DObZcazO.js";
2
- import { n as BaseLoaderOptions, t as BaseGlobalLoaderOptions } from "./base-loader-options-CVQjMJcC.js";
3
- import * as react_jsx_runtime2 from "react/jsx-runtime";
1
+ import { s as ImageLoaderOptions } from "./index-DMC2sGIO.js";
2
+ import { n as BaseLoaderOptions, t as BaseGlobalLoaderOptions } from "./base-loader-options-DScvwZAJ.js";
3
+ import * as react_jsx_runtime5 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/loaders/contentful/contentful-options.d.ts
6
6
  type ContentfulTransforms = Partial<{
@@ -38,6 +38,6 @@ declare const useContentfulContext: () => ContentfulGlobalOptions, ContentfulLoa
38
38
  ...props
39
39
  }: {
40
40
  children: React.ReactNode;
41
- } & Partial<ContentfulGlobalOptions>) => react_jsx_runtime2.JSX.Element, useContentfulLoader: (options?: ContentfulGlobalOptions | undefined) => (() => undefined) | ((imageOptions: ImageLoaderOptions) => string);
41
+ } & Partial<ContentfulGlobalOptions>) => react_jsx_runtime5.JSX.Element, useContentfulLoader: (options?: ContentfulGlobalOptions | undefined) => (() => undefined) | ((imageOptions: ImageLoaderOptions) => string);
42
42
  //#endregion
43
43
  export { ContentfulGlobalOptions, ContentfulLoaderProvider, ContentfulOptions, ContentfulTransforms, useContentfulContext, useContentfulLoader };
@@ -1,4 +1,4 @@
1
- import { t as loaderFactory } from "./loader-factory-C6GaON4i.js";
1
+ import { t as loaderFactory } from "./loader-factory-6EOKnqj1.js";
2
2
 
3
3
  //#region src/loaders/contentful/contentful-loader.tsx
4
4
  const { useLoaderContext: useContentfulContext, LoaderProvider: ContentfulLoaderProvider, useLoader: useContentfulLoader } = loaderFactory({
@@ -1,6 +1,6 @@
1
- import { s as ImageLoaderOptions } from "./index-DObZcazO.js";
2
- import { n as BaseLoaderOptions, t as BaseGlobalLoaderOptions } from "./base-loader-options-CVQjMJcC.js";
3
- import * as react_jsx_runtime0 from "react/jsx-runtime";
1
+ import { s as ImageLoaderOptions } from "./index-DMC2sGIO.js";
2
+ import { n as BaseLoaderOptions, t as BaseGlobalLoaderOptions } from "./base-loader-options-DScvwZAJ.js";
3
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/loaders/imgproxy/imgproxy-options.d.ts
6
6
  type ResizeType = "fit" | "fill" | "fill-down" | "force" | "auto";
@@ -383,6 +383,6 @@ declare const useImgproxyContext: () => ImgproxyGlobalOptions, ImgproxyLoaderPro
383
383
  ...props
384
384
  }: {
385
385
  children: React.ReactNode;
386
- } & Partial<ImgproxyGlobalOptions>) => react_jsx_runtime0.JSX.Element, useImgproxyLoader: (options?: ImgproxyGlobalOptions | undefined) => (() => undefined) | ((imageOptions: ImageLoaderOptions) => string);
386
+ } & Partial<ImgproxyGlobalOptions>) => react_jsx_runtime1.JSX.Element, useImgproxyLoader: (options?: ImgproxyGlobalOptions | undefined) => (() => undefined) | ((imageOptions: ImageLoaderOptions) => string);
387
387
  //#endregion
388
388
  export { ImgproxyGlobalOptions, ImgproxyLoaderProvider, ImgproxyOptions, ImgproxyTransforms, useImgproxyContext, useImgproxyLoader };
package/dist/imgproxy.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as loaderFactory } from "./loader-factory-C6GaON4i.js";
1
+ import { t as loaderFactory } from "./loader-factory-6EOKnqj1.js";
2
2
 
3
3
  //#region src/loaders/imgproxy/imgproxy-loader.tsx
4
4
  const { useLoaderContext: useImgproxyContext, LoaderProvider: ImgproxyLoaderProvider, useLoader: useImgproxyLoader } = loaderFactory({
@@ -1,5 +1,5 @@
1
1
  import { ImgHTMLAttributes } from "react";
2
- import * as react_jsx_runtime3 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime7 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/react/types.d.ts
5
5
  interface ImageLoaderOptions {
@@ -30,10 +30,10 @@ interface ImageProps extends Partial<Pick<ImgHTMLAttributes<HTMLImageElement>, "
30
30
  }
31
31
  //#endregion
32
32
  //#region src/react/image.d.ts
33
- declare function Image(props: ImageProps): react_jsx_runtime3.JSX.Element;
33
+ declare function Image(props: ImageProps): react_jsx_runtime7.JSX.Element;
34
34
  //#endregion
35
35
  //#region src/react/image-factory.d.ts
36
- declare function __imageFactory(defaultProps: any): (props: any) => react_jsx_runtime3.JSX.Element;
36
+ declare function __imageFactory(defaultProps: any): (props: any) => react_jsx_runtime7.JSX.Element;
37
37
  //#endregion
38
38
  //#region src/react/use-img-loaded.d.ts
39
39
  /**
@@ -75,6 +75,6 @@ declare function ImageProvider({
75
75
  ...props
76
76
  }: {
77
77
  children: React.ReactNode;
78
- } & Partial<ImageContextValue>): react_jsx_runtime3.JSX.Element;
78
+ } & Partial<ImageContextValue>): react_jsx_runtime7.JSX.Element;
79
79
  //#endregion
80
80
  export { Image as a, ImageProps as c, __imageFactory as i, useImageContext as n, ImageLoader as o, useImgLoaded as r, ImageLoaderOptions as s, ImageProvider as t };
package/dist/kontent.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { s as ImageLoaderOptions } from "./index-DObZcazO.js";
2
- import { n as BaseLoaderOptions, t as BaseGlobalLoaderOptions } from "./base-loader-options-CVQjMJcC.js";
3
- import * as react_jsx_runtime7 from "react/jsx-runtime";
1
+ import { s as ImageLoaderOptions } from "./index-DMC2sGIO.js";
2
+ import { n as BaseLoaderOptions, t as BaseGlobalLoaderOptions } from "./base-loader-options-DScvwZAJ.js";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/loaders/kontent/kontent-options.d.ts
6
6
  type KontentTransforms = Partial<{
@@ -43,6 +43,6 @@ declare const useKontentContext: () => KontentGlobalOptions, KontentLoaderProvid
43
43
  ...props
44
44
  }: {
45
45
  children: React.ReactNode;
46
- } & Partial<KontentGlobalOptions>) => react_jsx_runtime7.JSX.Element, useKontentLoader: (options?: KontentGlobalOptions | undefined) => (() => undefined) | ((imageOptions: ImageLoaderOptions) => string);
46
+ } & Partial<KontentGlobalOptions>) => react_jsx_runtime0.JSX.Element, useKontentLoader: (options?: KontentGlobalOptions | undefined) => (() => undefined) | ((imageOptions: ImageLoaderOptions) => string);
47
47
  //#endregion
48
48
  export { KontentGlobalOptions, KontentLoaderProvider, KontentOptions, KontentTransforms, useKontentContext, useKontentLoader };
package/dist/kontent.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as loaderFactory } from "./loader-factory-C6GaON4i.js";
1
+ import { t as loaderFactory } from "./loader-factory-6EOKnqj1.js";
2
2
 
3
3
  //#region src/loaders/kontent/kontent-loader.tsx
4
4
  const { useLoaderContext: useKontentContext, LoaderProvider: KontentLoaderProvider, useLoader: useKontentLoader } = loaderFactory({
@@ -0,0 +1,25 @@
1
+ import { s as ImageLoaderOptions } from "./index-DMC2sGIO.js";
2
+ import { n as BaseLoaderOptions, t as BaseGlobalLoaderOptions } from "./base-loader-options-DScvwZAJ.js";
3
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
4
+
5
+ //#region src/loaders/netlify/netlify-options.d.ts
6
+ type NetlifyTransforms = Partial<{
7
+ w: number;
8
+ h: number;
9
+ fit: "contain" | "cover" | "fill";
10
+ position: "top" | "bottom" | "left" | "right" | "center";
11
+ fm: "avif" | "webp" | "jpg" | "png" | "gif" | "blurhash";
12
+ q: number;
13
+ }>;
14
+ type NetlifyOptions = BaseLoaderOptions<NetlifyTransforms>;
15
+ type NetlifyGlobalOptions = BaseGlobalLoaderOptions<NetlifyTransforms>;
16
+ //#endregion
17
+ //#region src/loaders/netlify/netlify-loader.d.ts
18
+ declare const useNetlifyContext: () => NetlifyGlobalOptions, NetlifyLoaderProvider: ({
19
+ children,
20
+ ...props
21
+ }: {
22
+ children: React.ReactNode;
23
+ } & Partial<NetlifyGlobalOptions>) => react_jsx_runtime2.JSX.Element, useNetlifyLoader: (options?: NetlifyGlobalOptions | undefined) => (() => undefined) | ((imageOptions: ImageLoaderOptions) => string);
24
+ //#endregion
25
+ export { NetlifyGlobalOptions, NetlifyLoaderProvider, NetlifyOptions, NetlifyTransforms, useNetlifyContext, useNetlifyLoader };
@@ -0,0 +1,20 @@
1
+ import { t as loaderFactory } from "./loader-factory-6EOKnqj1.js";
2
+
3
+ //#region src/loaders/netlify/netlify-loader.tsx
4
+ const { useLoaderContext: useNetlifyContext, LoaderProvider: NetlifyLoaderProvider, useLoader: useNetlifyLoader } = loaderFactory({
5
+ path: "/.netlify/images",
6
+ transforms: { fm: "webp" },
7
+ placeholder: { fm: "blurhash" }
8
+ }, {
9
+ optionSeparator: "=",
10
+ paramSeparator: "&",
11
+ widthKey: "w",
12
+ heightKey: "h"
13
+ }, ({ path, params, imageOptions }) => {
14
+ const searchParams = new URLSearchParams(params);
15
+ searchParams.set("url", imageOptions.src);
16
+ return `${path}?${searchParams.toString()}`;
17
+ });
18
+
19
+ //#endregion
20
+ export { NetlifyLoaderProvider, useNetlifyContext, useNetlifyLoader };
package/dist/react.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as Image, c as ImageProps, i as __imageFactory, n as useImageContext, o as ImageLoader, r as useImgLoaded, s as ImageLoaderOptions, t as ImageProvider } from "./index-DObZcazO.js";
1
+ import { a as Image, c as ImageProps, i as __imageFactory, n as useImageContext, o as ImageLoader, r as useImgLoaded, s as ImageLoaderOptions, t as ImageProvider } from "./index-DMC2sGIO.js";
2
2
  export { Image, ImageLoader, ImageLoaderOptions, ImageProps, ImageProvider, __imageFactory, useImageContext, useImgLoaded };
@@ -1,6 +1,6 @@
1
- import { s as ImageLoaderOptions } from "./index-DObZcazO.js";
2
- import { n as BaseLoaderOptions, t as BaseGlobalLoaderOptions } from "./base-loader-options-CVQjMJcC.js";
3
- import * as react_jsx_runtime6 from "react/jsx-runtime";
1
+ import { s as ImageLoaderOptions } from "./index-DMC2sGIO.js";
2
+ import { n as BaseLoaderOptions, t as BaseGlobalLoaderOptions } from "./base-loader-options-DScvwZAJ.js";
3
+ import * as react_jsx_runtime3 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/loaders/wordpress/wordpress-options.d.ts
6
6
  type WordpressTransforms = Partial<{
@@ -30,6 +30,6 @@ declare const useWordpressContext: () => WordpressGlobalOptions, WordpressLoader
30
30
  ...props
31
31
  }: {
32
32
  children: React.ReactNode;
33
- } & Partial<WordpressGlobalOptions>) => react_jsx_runtime6.JSX.Element, useWordpressLoader: (options?: WordpressGlobalOptions | undefined) => (() => undefined) | ((imageOptions: ImageLoaderOptions) => string);
33
+ } & Partial<WordpressGlobalOptions>) => react_jsx_runtime3.JSX.Element, useWordpressLoader: (options?: WordpressGlobalOptions | undefined) => (() => undefined) | ((imageOptions: ImageLoaderOptions) => string);
34
34
  //#endregion
35
35
  export { WordpressGlobalOptions, WordpressLoaderProvider, WordpressOptions, WordpressTransforms, useWordpressContext, useWordpressLoader };
package/dist/wordpress.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as loaderFactory } from "./loader-factory-C6GaON4i.js";
1
+ import { t as loaderFactory } from "./loader-factory-6EOKnqj1.js";
2
2
 
3
3
  //#region src/loaders/wordpress/wordpress-loader.tsx
4
4
  const { useLoaderContext: useWordpressContext, LoaderProvider: WordpressLoaderProvider, useLoader: useWordpressLoader } = loaderFactory({
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lonik/oh-image",
3
3
  "type": "module",
4
- "version": "2.5.0",
4
+ "version": "2.6.0",
5
5
  "description": "A React component library for optimized image handling.",
6
6
  "author": "Luka Onikadze <lukonik@gmail.com>",
7
7
  "license": "MIT",
@@ -48,6 +48,10 @@
48
48
  "types": "./dist/wordpress.d.ts",
49
49
  "default": "./dist/wordpress.js"
50
50
  },
51
+ "./netlify": {
52
+ "types": "./dist/netlify.d.ts",
53
+ "default": "./dist/netlify.js"
54
+ },
51
55
  "./client": {
52
56
  "types": "./dist/client.d.ts"
53
57
  }