@adhese/sdk-react 0.7.0 → 0.8.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 CHANGED
@@ -1,57 +1,112 @@
1
- # Adhese SDK
1
+ # Adhese React SDK
2
2
 
3
- ## Introduction
4
- This monorepo contains the Adhese SDK for web. The project uses Turborepo to manage the monorepo. Make sure to run
5
- everything from the root of the project.
3
+ For React developers, we provide a React SDK that allows you to easily integrate our services into your React application.
6
4
 
7
- ## Running the project
8
- Install dependencies:
9
- ```
10
- npm i
11
- ```
12
- > Only use `npm` to install dependencies. `pnpm` and `yarn` will create their own lockfiles and will cause issues when
13
- > maintaining the project.
5
+ > The React SDK is built on top of the [Adhese JavaScript SDK](https:/adhese.github.com/sdk_typescript/index.html) and
6
+ > doesn't need the Adhese JavaScript SDK to be installed separately.
14
7
 
15
- ### Dev mode
16
- Start the dev server:
8
+ ## Installation
17
9
  ```bash
18
- npm run dev
10
+ npm install @adhese/sdk-react
19
11
  ```
20
12
 
21
- This will spin up multiple processes at the same time depending on the package or app own configuration. In general,
22
- packages will start the test runner in watch mode and the docs app will start a dev server. For example, the
23
- `apps/example` will start a test server on `localhost:5173`.
13
+ ## `AdheseProvider`
14
+ The `AdheseProvider` component is a context provider that makes the Adhese instance available to all child components.
15
+ It should be placed at the root of your application. It accepts an `options` prop that is passed to the `createAdhese`
16
+ function. When the `options` prop changes, the Adhese instance is recreated. This provider replaces the `createAdhese`
17
+ function.
24
18
 
25
- ### Testing
26
- Run all tests:
27
- ```bash
28
- npm run test
19
+ > The `AdheseProvider` component is a wrapper around the `createAdhese` function. It is required to use the
20
+ > `AdheseProvider` if you want to use the `useAdhese` or `useAdheseSlot` hooks.
21
+
22
+ ```jsx
23
+ import { AdheseProvider } from '@adhese/sdk-react';
24
+
25
+ function Devtools() {
26
+ return (
27
+ <AdheseProvider options={{
28
+ account: 'your-account-id',
29
+ }}>
30
+ <YourApp />
31
+ </AdheseProvider>
32
+ );
33
+ }
29
34
  ```
30
35
 
31
- This will run all tests in packages that have tests configured. It will also report test coverage. Currently, all
32
- projects use [Vitest](https://vitest.dev/) as the test runner.
36
+ ## `useAdhese`
37
+ The `useAdhese` hook returns the Adhese instance that is created by the `AdheseProvider`. It can be used to access the Adhese instance in any child component.
33
38
 
34
- ### Building
35
- Build all packages:
36
- ```bash
37
- npm run build
39
+ ```jsx
40
+ import { useAdhese } from '@adhese/sdk-react';
41
+
42
+ function YourComponent() {
43
+ const adhese = useAdhese();
44
+ // Use the adhese instance
45
+ }
38
46
  ```
39
47
 
40
- This will build all packages and apps.
48
+ ## `useAdheseSlot`
49
+ The `useAdheseSlot` hook returns a slot object for a given slot name. Use the to create a slot in your component.
41
50
 
42
- ### Linting
43
- Lint all packages:
44
- ```bash
45
- npm run lint
51
+ It accepts the following arguments:
52
+ - `elementRef`: A ref to the element that the slot should be attached to.
53
+ - `options`: An object with options for the slot. This object is passed to the `adhese.addSlot` function.
54
+
55
+ When your component is unmounted, the slot is automatically removed from the Adhese instance.
56
+
57
+ ```jsx
58
+ import { useAdheseSlot } from '@adhese/sdk-react';
59
+
60
+ function YourComponent() {
61
+ const elementRef = useRef(null);
62
+
63
+ const slot = useAdheseSlot(elementRef, {
64
+ format: 'your-format',
65
+ });
66
+
67
+ return (
68
+ <div ref={elementRef} />
69
+ );
70
+ }
46
71
  ```
47
72
 
48
- This will lint all packages and apps. Currently, all projects use [ESLint](https://eslint.org/) as the linter.
73
+ ## `useAdheseSlot` with `onBeforeRender`
74
+ Like described in the
75
+ [slots documentation](https:/adhese.github.com/sdk_typescript/slots.html#hijacking-the-rendering-process), you can use
76
+ the `onBeforeRender` callback to intercept the to be rendered ad. The example there is written in vanilla JavaScript. To
77
+ use`jsx` you can use the React `renderToStaticMarkup` function to create static HTML while still having the benefits of
78
+ JSX.
79
+
80
+ ```jsx
81
+ import { renderToStaticMarkup } from 'react-dom/server';
82
+ import { useAdheseSlot } from '@adhese/sdk-react';
49
83
 
50
- ## Installing new dependencies
51
- When installing new dependencies, consider the following:
52
- - Do I need this dependency in all packages?
53
- - If yes, install it in the root of the project using `npm install <package>`.
54
- - If no, install it in the package that needs it using `npm install <package> -w <package-name>`.
55
- - Is it a dev dependency?
56
- - If no, make sure to separately install into the `packages/sdk/package.json` to make sure that the dependency is not
57
- included in the bundle as NPM will handle the dependency.
84
+ function YourComponent() {
85
+ const adhese = useAdhese();
86
+ const elementRef = useRef(null);
87
+
88
+ const slot = useAdheseSlot(elementRef, {
89
+ format: 'your-format',
90
+ onBeforeRender: (ad) => {
91
+ if (typeof ad.tag !== 'object') {
92
+ // If the tag is not an object, return the ad as is
93
+ return ad;
94
+ }
95
+
96
+ return {
97
+ ...ad,
98
+ tag: renderToStaticMarkup((
99
+ <div>
100
+ <h1>{ad.tag.title}</h1>
101
+ <p>{ad.tag.description}</p>
102
+ </div>
103
+ )),
104
+ }
105
+ },
106
+ });
107
+
108
+ return (
109
+ <div ref={slot.elementRef} />
110
+ );
111
+ }
112
+ ```
package/dist/index.cjs CHANGED
@@ -26,7 +26,7 @@ function useAdheseSlot(elementRef, options) {
26
26
  useDeepCompareEffect(() => {
27
27
  let intermediate;
28
28
  if (adhese && elementRef.current) {
29
- intermediate = adhese.add(
29
+ intermediate = adhese.addSlot(
30
30
  {
31
31
  ...options,
32
32
  containingElement: elementRef.current
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/adheseContext.tsx","../src/useAdheseSlot.ts"],"sourcesContent":["'use client';\n\nimport {\n type PropsWithChildren,\n type ReactElement,\n createContext,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport { type Adhese, type AdheseOptions, createAdhese } from '@adhese/sdk';\n\nconst adheseContext = createContext<Adhese | undefined>(undefined);\n\n/**\n * Provider to create an Adhese instance with the given options. Via the `useAdhese` hook, the Adhese instance can be\n * used in all child components.\n * @param children The children to render\n * @param options The options to create the Adhese instance with. When the options change, the Adhese instance will be recreated.\n * @constructor\n */\n// eslint-disable-next-line ts/naming-convention\nexport function AdheseProvider({ children, options }: PropsWithChildren<{ options: AdheseOptions }>): ReactElement {\n const [adhese, setAdhese] = useState<Adhese | undefined>(undefined);\n\n useEffect(() => {\n const instance = createAdhese(options);\n setAdhese(instance);\n\n return () => {\n instance.dispose();\n };\n }, [options]);\n\n return (\n <adheseContext.Provider value={adhese}>\n {children}\n </adheseContext.Provider>\n );\n}\n\n/**\n * Hook to get the Adhese instance from the nearest `AdheseProvider`. When the Adhese instance is not available yet, `null`\n */\nexport function useAdhese(): Adhese | undefined {\n return useContext(adheseContext);\n}\n","import { type RefObject, useState } from 'react';\nimport type { AdheseSlot, AdheseSlotOptions } from '@adhese/sdk';\nimport useDeepCompareEffect from 'use-deep-compare-effect';\nimport { omit } from 'remeda';\nimport { useAdhese } from './adheseContext';\n\n/**\n * Hook to create an Adhese slot. The slot will be disposed when the component is unmounted. The slot will be created\n * when the containing element is available and the Adhese instance is available.\n * @param elementRef The ref to the containing element\n * @param options The options to create the slot\n */\nexport function useAdheseSlot(elementRef: RefObject<HTMLElement>, options: Omit<AdheseSlotOptions, 'containingElement' | 'context'>): AdheseSlot | null {\n const [slot, setSlot] = useState<AdheseSlot | null>(null);\n const adhese = useAdhese();\n\n useDeepCompareEffect(() => {\n let intermediate: AdheseSlot | undefined;\n\n if (adhese && elementRef.current) {\n intermediate = adhese.add(\n {\n ...options,\n containingElement: elementRef.current,\n },\n );\n\n setSlot(intermediate);\n }\n\n return () => {\n intermediate?.dispose();\n };\n }, [adhese, omit(options, Object.entries(options).filter(([, value]) => typeof value === 'function').map(([key]) => key as keyof typeof options)), elementRef.current]);\n\n return slot;\n}\n"],"names":["createContext","useState","useEffect","createAdhese","useContext","omit"],"mappings":";;;;;;;AAYA,MAAM,gBAAgBA,MAAAA,cAAkC,MAAS;AAU1D,SAAS,eAAe,EAAE,UAAU,WAAwE;AACjH,QAAM,CAAC,QAAQ,SAAS,IAAIC,MAAAA,SAA6B,MAAS;AAElEC,QAAAA,UAAU,MAAM;AACR,UAAA,WAAWC,iBAAa,OAAO;AACrC,cAAU,QAAQ;AAElB,WAAO,MAAM;AACX,eAAS,QAAQ;AAAA,IAAA;AAAA,EACnB,GACC,CAAC,OAAO,CAAC;AAEZ,wCACG,cAAc,UAAd,EAAuB,OAAO,QAC5B,SACH,CAAA;AAEJ;AAKO,SAAS,YAAgC;AAC9C,SAAOC,MAAAA,WAAW,aAAa;AACjC;AClCgB,SAAA,cAAc,YAAoC,SAAsF;AACtJ,QAAM,CAAC,MAAM,OAAO,IAAIH,eAA4B,IAAI;AACxD,QAAM,SAAS;AAEf,uBAAqB,MAAM;AACrB,QAAA;AAEA,QAAA,UAAU,WAAW,SAAS;AAChC,qBAAe,OAAO;AAAA,QACpB;AAAA,UACE,GAAG;AAAA,UACH,mBAAmB,WAAW;AAAA,QAChC;AAAA,MAAA;AAGF,cAAQ,YAAY;AAAA,IACtB;AAEA,WAAO,MAAM;AACX,mDAAc;AAAA,IAAQ;AAAA,EAEvB,GAAA,CAAC,QAAQI,YAAK,SAAS,OAAO,QAAQ,OAAO,EAAE,OAAO,CAAC,CAAA,EAAG,KAAK,MAAM,OAAO,UAAU,UAAU,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,GAA2B,CAAC,GAAG,WAAW,OAAO,CAAC;AAE/J,SAAA;AACT;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/adheseContext.tsx","../src/useAdheseSlot.ts"],"sourcesContent":["'use client';\n\nimport {\n type PropsWithChildren,\n type ReactElement,\n createContext,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport { type Adhese, type AdheseOptions, createAdhese } from '@adhese/sdk';\n\nconst adheseContext = createContext<Adhese | undefined>(undefined);\n\n/**\n * Provider to create an Adhese instance with the given options. Via the `useAdhese` hook, the Adhese instance can be\n * used in all child components.\n * @param children The children to render\n * @param options The options to create the Adhese instance with. When the options change, the Adhese instance will be recreated.\n * @constructor\n */\n// eslint-disable-next-line ts/naming-convention\nexport function AdheseProvider({ children, options }: PropsWithChildren<{ options: AdheseOptions }>): ReactElement {\n const [adhese, setAdhese] = useState<Adhese | undefined>(undefined);\n\n useEffect(() => {\n const instance = createAdhese(options);\n setAdhese(instance);\n\n return (): void => {\n instance.dispose();\n };\n }, [options]);\n\n return (\n <adheseContext.Provider value={adhese}>\n {children}\n </adheseContext.Provider>\n );\n}\n\n/**\n * Hook to get the Adhese instance from the nearest `AdheseProvider`. When the Adhese instance is not available yet, `null`\n */\nexport function useAdhese(): Adhese | undefined {\n return useContext(adheseContext);\n}\n","import { type RefObject, useState } from 'react';\nimport type { AdheseSlot, AdheseSlotOptions } from '@adhese/sdk';\nimport useDeepCompareEffect from 'use-deep-compare-effect';\nimport { omit } from 'remeda';\nimport { useAdhese } from './adheseContext';\n\n/**\n * Hook to create an Adhese slot. The slot will be disposed when the component is unmounted. The slot will be created\n * when the containing element is available and the Adhese instance is available.\n * @param elementRef The ref to the containing element\n * @param options The options to create the slot\n */\nexport function useAdheseSlot(elementRef: RefObject<HTMLElement>, options: Omit<AdheseSlotOptions, 'containingElement' | 'context'>): AdheseSlot | null {\n const [slot, setSlot] = useState<AdheseSlot | null>(null);\n const adhese = useAdhese();\n\n useDeepCompareEffect(() => {\n let intermediate: AdheseSlot | undefined;\n\n if (adhese && elementRef.current) {\n intermediate = adhese.addSlot(\n {\n ...options,\n containingElement: elementRef.current,\n },\n );\n\n setSlot(intermediate);\n }\n\n return (): void => {\n intermediate?.dispose();\n };\n }, [adhese, omit(options, Object.entries(options).filter(([, value]) => typeof value === 'function').map(([key]) => key as keyof typeof options)), elementRef.current]);\n\n return slot;\n}\n"],"names":["createContext","useState","useEffect","createAdhese","useContext","omit"],"mappings":";;;;;;;AAYA,MAAM,gBAAgBA,MAAAA,cAAkC,MAAS;AAU1D,SAAS,eAAe,EAAE,UAAU,WAAwE;AACjH,QAAM,CAAC,QAAQ,SAAS,IAAIC,MAAAA,SAA6B,MAAS;AAElEC,QAAAA,UAAU,MAAM;AACR,UAAA,WAAWC,iBAAa,OAAO;AACrC,cAAU,QAAQ;AAElB,WAAO,MAAY;AACjB,eAAS,QAAQ;AAAA,IAAA;AAAA,EACnB,GACC,CAAC,OAAO,CAAC;AAEZ,wCACG,cAAc,UAAd,EAAuB,OAAO,QAC5B,SACH,CAAA;AAEJ;AAKO,SAAS,YAAgC;AAC9C,SAAOC,MAAAA,WAAW,aAAa;AACjC;AClCgB,SAAA,cAAc,YAAoC,SAAsF;AACtJ,QAAM,CAAC,MAAM,OAAO,IAAIH,eAA4B,IAAI;AACxD,QAAM,SAAS;AAEf,uBAAqB,MAAM;AACrB,QAAA;AAEA,QAAA,UAAU,WAAW,SAAS;AAChC,qBAAe,OAAO;AAAA,QACpB;AAAA,UACE,GAAG;AAAA,UACH,mBAAmB,WAAW;AAAA,QAChC;AAAA,MAAA;AAGF,cAAQ,YAAY;AAAA,IACtB;AAEA,WAAO,MAAY;AACjB,mDAAc;AAAA,IAAQ;AAAA,EAEvB,GAAA,CAAC,QAAQI,YAAK,SAAS,OAAO,QAAQ,OAAO,EAAE,OAAO,CAAC,CAAA,EAAG,KAAK,MAAM,OAAO,UAAU,UAAU,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,GAA2B,CAAC,GAAG,WAAW,OAAO,CAAC;AAE/J,SAAA;AACT;;;;"}
package/dist/index.js CHANGED
@@ -24,7 +24,7 @@ function useAdheseSlot(elementRef, options) {
24
24
  useDeepCompareEffect(() => {
25
25
  let intermediate;
26
26
  if (adhese && elementRef.current) {
27
- intermediate = adhese.add(
27
+ intermediate = adhese.addSlot(
28
28
  {
29
29
  ...options,
30
30
  containingElement: elementRef.current
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/adheseContext.tsx","../src/useAdheseSlot.ts"],"sourcesContent":["'use client';\n\nimport {\n type PropsWithChildren,\n type ReactElement,\n createContext,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport { type Adhese, type AdheseOptions, createAdhese } from '@adhese/sdk';\n\nconst adheseContext = createContext<Adhese | undefined>(undefined);\n\n/**\n * Provider to create an Adhese instance with the given options. Via the `useAdhese` hook, the Adhese instance can be\n * used in all child components.\n * @param children The children to render\n * @param options The options to create the Adhese instance with. When the options change, the Adhese instance will be recreated.\n * @constructor\n */\n// eslint-disable-next-line ts/naming-convention\nexport function AdheseProvider({ children, options }: PropsWithChildren<{ options: AdheseOptions }>): ReactElement {\n const [adhese, setAdhese] = useState<Adhese | undefined>(undefined);\n\n useEffect(() => {\n const instance = createAdhese(options);\n setAdhese(instance);\n\n return () => {\n instance.dispose();\n };\n }, [options]);\n\n return (\n <adheseContext.Provider value={adhese}>\n {children}\n </adheseContext.Provider>\n );\n}\n\n/**\n * Hook to get the Adhese instance from the nearest `AdheseProvider`. When the Adhese instance is not available yet, `null`\n */\nexport function useAdhese(): Adhese | undefined {\n return useContext(adheseContext);\n}\n","import { type RefObject, useState } from 'react';\nimport type { AdheseSlot, AdheseSlotOptions } from '@adhese/sdk';\nimport useDeepCompareEffect from 'use-deep-compare-effect';\nimport { omit } from 'remeda';\nimport { useAdhese } from './adheseContext';\n\n/**\n * Hook to create an Adhese slot. The slot will be disposed when the component is unmounted. The slot will be created\n * when the containing element is available and the Adhese instance is available.\n * @param elementRef The ref to the containing element\n * @param options The options to create the slot\n */\nexport function useAdheseSlot(elementRef: RefObject<HTMLElement>, options: Omit<AdheseSlotOptions, 'containingElement' | 'context'>): AdheseSlot | null {\n const [slot, setSlot] = useState<AdheseSlot | null>(null);\n const adhese = useAdhese();\n\n useDeepCompareEffect(() => {\n let intermediate: AdheseSlot | undefined;\n\n if (adhese && elementRef.current) {\n intermediate = adhese.add(\n {\n ...options,\n containingElement: elementRef.current,\n },\n );\n\n setSlot(intermediate);\n }\n\n return () => {\n intermediate?.dispose();\n };\n }, [adhese, omit(options, Object.entries(options).filter(([, value]) => typeof value === 'function').map(([key]) => key as keyof typeof options)), elementRef.current]);\n\n return slot;\n}\n"],"names":[],"mappings":";;;;;AAYA,MAAM,gBAAgB,cAAkC,MAAS;AAU1D,SAAS,eAAe,EAAE,UAAU,WAAwE;AACjH,QAAM,CAAC,QAAQ,SAAS,IAAI,SAA6B,MAAS;AAElE,YAAU,MAAM;AACR,UAAA,WAAW,aAAa,OAAO;AACrC,cAAU,QAAQ;AAElB,WAAO,MAAM;AACX,eAAS,QAAQ;AAAA,IAAA;AAAA,EACnB,GACC,CAAC,OAAO,CAAC;AAEZ,6BACG,cAAc,UAAd,EAAuB,OAAO,QAC5B,SACH,CAAA;AAEJ;AAKO,SAAS,YAAgC;AAC9C,SAAO,WAAW,aAAa;AACjC;AClCgB,SAAA,cAAc,YAAoC,SAAsF;AACtJ,QAAM,CAAC,MAAM,OAAO,IAAI,SAA4B,IAAI;AACxD,QAAM,SAAS;AAEf,uBAAqB,MAAM;AACrB,QAAA;AAEA,QAAA,UAAU,WAAW,SAAS;AAChC,qBAAe,OAAO;AAAA,QACpB;AAAA,UACE,GAAG;AAAA,UACH,mBAAmB,WAAW;AAAA,QAChC;AAAA,MAAA;AAGF,cAAQ,YAAY;AAAA,IACtB;AAEA,WAAO,MAAM;AACX,mDAAc;AAAA,IAAQ;AAAA,EAEvB,GAAA,CAAC,QAAQ,KAAK,SAAS,OAAO,QAAQ,OAAO,EAAE,OAAO,CAAC,CAAA,EAAG,KAAK,MAAM,OAAO,UAAU,UAAU,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,GAA2B,CAAC,GAAG,WAAW,OAAO,CAAC;AAE/J,SAAA;AACT;"}
1
+ {"version":3,"file":"index.js","sources":["../src/adheseContext.tsx","../src/useAdheseSlot.ts"],"sourcesContent":["'use client';\n\nimport {\n type PropsWithChildren,\n type ReactElement,\n createContext,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport { type Adhese, type AdheseOptions, createAdhese } from '@adhese/sdk';\n\nconst adheseContext = createContext<Adhese | undefined>(undefined);\n\n/**\n * Provider to create an Adhese instance with the given options. Via the `useAdhese` hook, the Adhese instance can be\n * used in all child components.\n * @param children The children to render\n * @param options The options to create the Adhese instance with. When the options change, the Adhese instance will be recreated.\n * @constructor\n */\n// eslint-disable-next-line ts/naming-convention\nexport function AdheseProvider({ children, options }: PropsWithChildren<{ options: AdheseOptions }>): ReactElement {\n const [adhese, setAdhese] = useState<Adhese | undefined>(undefined);\n\n useEffect(() => {\n const instance = createAdhese(options);\n setAdhese(instance);\n\n return (): void => {\n instance.dispose();\n };\n }, [options]);\n\n return (\n <adheseContext.Provider value={adhese}>\n {children}\n </adheseContext.Provider>\n );\n}\n\n/**\n * Hook to get the Adhese instance from the nearest `AdheseProvider`. When the Adhese instance is not available yet, `null`\n */\nexport function useAdhese(): Adhese | undefined {\n return useContext(adheseContext);\n}\n","import { type RefObject, useState } from 'react';\nimport type { AdheseSlot, AdheseSlotOptions } from '@adhese/sdk';\nimport useDeepCompareEffect from 'use-deep-compare-effect';\nimport { omit } from 'remeda';\nimport { useAdhese } from './adheseContext';\n\n/**\n * Hook to create an Adhese slot. The slot will be disposed when the component is unmounted. The slot will be created\n * when the containing element is available and the Adhese instance is available.\n * @param elementRef The ref to the containing element\n * @param options The options to create the slot\n */\nexport function useAdheseSlot(elementRef: RefObject<HTMLElement>, options: Omit<AdheseSlotOptions, 'containingElement' | 'context'>): AdheseSlot | null {\n const [slot, setSlot] = useState<AdheseSlot | null>(null);\n const adhese = useAdhese();\n\n useDeepCompareEffect(() => {\n let intermediate: AdheseSlot | undefined;\n\n if (adhese && elementRef.current) {\n intermediate = adhese.addSlot(\n {\n ...options,\n containingElement: elementRef.current,\n },\n );\n\n setSlot(intermediate);\n }\n\n return (): void => {\n intermediate?.dispose();\n };\n }, [adhese, omit(options, Object.entries(options).filter(([, value]) => typeof value === 'function').map(([key]) => key as keyof typeof options)), elementRef.current]);\n\n return slot;\n}\n"],"names":[],"mappings":";;;;;AAYA,MAAM,gBAAgB,cAAkC,MAAS;AAU1D,SAAS,eAAe,EAAE,UAAU,WAAwE;AACjH,QAAM,CAAC,QAAQ,SAAS,IAAI,SAA6B,MAAS;AAElE,YAAU,MAAM;AACR,UAAA,WAAW,aAAa,OAAO;AACrC,cAAU,QAAQ;AAElB,WAAO,MAAY;AACjB,eAAS,QAAQ;AAAA,IAAA;AAAA,EACnB,GACC,CAAC,OAAO,CAAC;AAEZ,6BACG,cAAc,UAAd,EAAuB,OAAO,QAC5B,SACH,CAAA;AAEJ;AAKO,SAAS,YAAgC;AAC9C,SAAO,WAAW,aAAa;AACjC;AClCgB,SAAA,cAAc,YAAoC,SAAsF;AACtJ,QAAM,CAAC,MAAM,OAAO,IAAI,SAA4B,IAAI;AACxD,QAAM,SAAS;AAEf,uBAAqB,MAAM;AACrB,QAAA;AAEA,QAAA,UAAU,WAAW,SAAS;AAChC,qBAAe,OAAO;AAAA,QACpB;AAAA,UACE,GAAG;AAAA,UACH,mBAAmB,WAAW;AAAA,QAChC;AAAA,MAAA;AAGF,cAAQ,YAAY;AAAA,IACtB;AAEA,WAAO,MAAY;AACjB,mDAAc;AAAA,IAAQ;AAAA,EAEvB,GAAA,CAAC,QAAQ,KAAK,SAAS,OAAO,QAAQ,OAAO,EAAE,OAAO,CAAC,CAAA,EAAG,KAAK,MAAM,OAAO,UAAU,UAAU,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,GAA2B,CAAC,GAAG,WAAW,OAAO,CAAC;AAE/J,SAAA;AACT;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@adhese/sdk-react",
3
3
  "type": "module",
4
- "version": "0.7.0",
4
+ "version": "0.8.1",
5
5
  "description": "Adhese SDK",
6
6
  "repository": {
7
7
  "type": "git",
@@ -17,19 +17,19 @@
17
17
  ],
18
18
  "scripts": {
19
19
  "build": "vite build && tsup src/index.ts --dts-only --minify --format esm",
20
- "lint": "eslint .",
21
- "lint:fix": "eslint --fix .",
20
+ "lint": "eslint . --ignore-pattern **/*.md/**/*",
21
+ "lint:fix": "eslint --fix . --ignore-pattern **/*.md/**/*",
22
22
  "clean": "rm -rf dist",
23
23
  "typecheck": "tsc --noEmit",
24
24
  "prepareRelease": "npm run build"
25
25
  },
26
26
  "peerDependencies": {
27
+ "@adhese/sdk": "^0",
27
28
  "react": ">=16.13",
28
29
  "react-dom": ">=16.13"
29
30
  },
30
31
  "dependencies": {
31
- "@adhese/sdk": "^0.7.0",
32
- "remeda": "^1.59.0",
32
+ "remeda": "^1.61.0",
33
33
  "use-deep-compare-effect": "^1.8.1"
34
34
  },
35
35
  "devDependencies": {