@nemme/js-sdk 0.6.1 → 0.6.2
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 +13 -46
- package/dist/browser.d.ts +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/deliveries/delivery-manager.d.ts +2 -3
- package/dist/forms/form-manager.d.ts +10 -1
- package/dist/index.cjs +11 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.esm.js +6750 -6
- package/dist/index.esm.js.map +1 -1
- package/dist/nemme-sdk.umd.js +4 -4
- package/dist/nemme-sdk.umd.js.map +1 -1
- package/package.json +7 -32
- package/dist/chunks/client-BPx3v4ob.js +0 -389
- package/dist/chunks/client-BPx3v4ob.js.map +0 -1
- package/dist/chunks/client-DVvy_lUY.js +0 -2
- package/dist/chunks/client-DVvy_lUY.js.map +0 -1
- package/dist/chunks/form-manager-CH-LT8Ck.js +0 -6143
- package/dist/chunks/form-manager-CH-LT8Ck.js.map +0 -1
- package/dist/chunks/form-manager-DSnwY9Sd.js +0 -12
- package/dist/chunks/form-manager-DSnwY9Sd.js.map +0 -1
- package/dist/chunks/httpClient-D2IO92uv.js +0 -149
- package/dist/chunks/httpClient-D2IO92uv.js.map +0 -1
- package/dist/chunks/httpClient-hrn9Ffa2.js +0 -2
- package/dist/chunks/httpClient-hrn9Ffa2.js.map +0 -1
- package/dist/forms-entry.d.ts +0 -3
- package/dist/forms.cjs +0 -2
- package/dist/forms.cjs.map +0 -1
- package/dist/forms.esm.js +0 -6
- package/dist/forms.esm.js.map +0 -1
- package/dist/react-entry.d.ts +0 -3
- package/dist/react.cjs +0 -2
- package/dist/react.cjs.map +0 -1
- package/dist/react.esm.js +0 -67
- package/dist/react.esm.js.map +0 -1
- package/dist/style-entry.d.ts +0 -0
- package/dist/style.cjs +0 -2
- package/dist/style.cjs.map +0 -1
- package/dist/style.esm.js +0 -2
- package/dist/style.esm.js.map +0 -1
- package/dist/types/forms.d.ts +0 -10
- /package/dist/{js-sdk.css → assets/js-sdk.css} +0 -0
package/README.md
CHANGED
|
@@ -2,12 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Client-side SDK for integrating Nemme into websites and React apps.
|
|
4
4
|
|
|
5
|
-
**Package structure**
|
|
6
|
-
|
|
7
|
-
- `@nemme/js-sdk` — Core tracking and client (React-free)
|
|
8
|
-
- `@nemme/js-sdk/react` — React Provider and hooks
|
|
9
|
-
- `@nemme/js-sdk/forms` — Form manager and types
|
|
10
|
-
|
|
11
5
|
---
|
|
12
6
|
|
|
13
7
|
## 1) Use via script tag (CDN)
|
|
@@ -23,8 +17,8 @@ Add React/ReactDOM UMD, then the SDK and CSS, and initialize.
|
|
|
23
17
|
<script src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"></script>
|
|
24
18
|
|
|
25
19
|
<!-- Nemme SDK UMD -->
|
|
26
|
-
<script src="https://unpkg.com/@nemme/js-sdk@0.
|
|
27
|
-
<link rel="stylesheet" href="https://unpkg.com/@nemme/js-sdk@0.
|
|
20
|
+
<script src="https://unpkg.com/@nemme/js-sdk@0.2.1/dist/nemme-sdk.umd.js"></script>
|
|
21
|
+
<link rel="stylesheet" href="https://unpkg.com/@nemme/js-sdk@0.2.1/dist/assets/js-sdk.css" />
|
|
28
22
|
</head>
|
|
29
23
|
<body>
|
|
30
24
|
<script>
|
|
@@ -42,6 +36,7 @@ Add React/ReactDOM UMD, then the SDK and CSS, and initialize.
|
|
|
42
36
|
Notes:
|
|
43
37
|
|
|
44
38
|
- The UMD bundle externalizes React, so `React` and `ReactDOM` globals must be present.
|
|
39
|
+
- CSS is scoped under `#nm`. Wrap Nemme UI inside an element with `id="nm"`.
|
|
45
40
|
|
|
46
41
|
---
|
|
47
42
|
|
|
@@ -53,16 +48,10 @@ npm install @nemme/js-sdk
|
|
|
53
48
|
# or: pnpm add @nemme/js-sdk
|
|
54
49
|
```
|
|
55
50
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
```ts
|
|
59
|
-
import '@nemme/js-sdk/style.css';
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Core-only usage (tracking)
|
|
51
|
+
### Quick start (any bundler)
|
|
63
52
|
|
|
64
53
|
```ts
|
|
65
|
-
import NemmeSDK
|
|
54
|
+
import NemmeSDK from '@nemme/js-sdk';
|
|
66
55
|
|
|
67
56
|
async function start() {
|
|
68
57
|
const client = NemmeSDK('YOUR_CLIENT_KEY');
|
|
@@ -83,13 +72,14 @@ import type { ClientConfigType, TrackEventOptions } from '@nemme/js-sdk';
|
|
|
83
72
|
|
|
84
73
|
## 3) React integration
|
|
85
74
|
|
|
86
|
-
|
|
75
|
+
The package exports a provider and hooks.
|
|
87
76
|
|
|
88
77
|
```tsx
|
|
78
|
+
import React from 'react';
|
|
89
79
|
import ReactDOM from 'react-dom/client';
|
|
90
|
-
import { NemmeProvider, useNemme } from '@nemme/js-sdk
|
|
80
|
+
import NemmeSDK, { NemmeProvider, useNemme } from '@nemme/js-sdk';
|
|
91
81
|
|
|
92
|
-
|
|
82
|
+
const client = NemmeSDK('YOUR_CLIENT_KEY');
|
|
93
83
|
|
|
94
84
|
function App() {
|
|
95
85
|
const nemme = useNemme();
|
|
@@ -101,9 +91,10 @@ function App() {
|
|
|
101
91
|
}
|
|
102
92
|
|
|
103
93
|
async function bootstrap() {
|
|
94
|
+
await client.init({ userIdentifier: 'user-123', debug: true });
|
|
104
95
|
const root = ReactDOM.createRoot(document.getElementById('root')!);
|
|
105
96
|
root.render(
|
|
106
|
-
<NemmeProvider
|
|
97
|
+
<NemmeProvider client={client}>
|
|
107
98
|
<App />
|
|
108
99
|
</NemmeProvider>
|
|
109
100
|
);
|
|
@@ -112,32 +103,8 @@ async function bootstrap() {
|
|
|
112
103
|
bootstrap();
|
|
113
104
|
```
|
|
114
105
|
|
|
115
|
-
- `NemmeProvider`
|
|
116
|
-
- `useNemme()` returns
|
|
117
|
-
|
|
118
|
-
---
|
|
119
|
-
|
|
120
|
-
## 4) Forms (advanced)
|
|
121
|
-
|
|
122
|
-
Forms can be configured via `formConfig` during initialization.
|
|
123
|
-
|
|
124
|
-
```ts
|
|
125
|
-
import NemmeSDK from '@nemme/js-sdk';
|
|
126
|
-
import type { FormConfig } from '@nemme/js-sdk/forms';
|
|
127
|
-
|
|
128
|
-
async function start() {
|
|
129
|
-
const formConfig: FormConfig = { theme: 'light' };
|
|
130
|
-
|
|
131
|
-
const client = NemmeSDK('YOUR_CLIENT_KEY');
|
|
132
|
-
await client.init({
|
|
133
|
-
userIdentifier: 'user-123',
|
|
134
|
-
debug: true,
|
|
135
|
-
formConfig
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
start();
|
|
140
|
-
```
|
|
106
|
+
- `NemmeProvider` expects an initialized client.
|
|
107
|
+
- `useNemme()` returns the `NemmeClient` from context.
|
|
141
108
|
|
|
142
109
|
---
|
|
143
110
|
|
package/dist/browser.d.ts
CHANGED
|
@@ -16,5 +16,5 @@ declare const NemmeSDKCallable: ((clientKey: string) => NemmeClient) & {
|
|
|
16
16
|
}) => Promise<NemmeClient>;
|
|
17
17
|
};
|
|
18
18
|
export { NemmeClient, NemmeSDKCallable as NemmeSDK, NemmeSDKCallable as default };
|
|
19
|
-
export { NemmeProvider, useNemme, useNemmeContext } from './react
|
|
19
|
+
export { NemmeProvider, useNemme, useNemmeContext } from './react';
|
|
20
20
|
export type { ClientConfigType, TrackEventOptions } from './client';
|
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { FormConfig } from './forms/form-manager';
|
|
1
2
|
import { BatchConfig, TrackEventOptions } from './tracking/tracking-manager';
|
|
2
|
-
import { FormConfig } from './types/forms';
|
|
3
3
|
import { Logger } from './utils';
|
|
4
4
|
export type ClientConfigType = {
|
|
5
5
|
userIdentifier: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FormConfig } from '../
|
|
1
|
+
import { FormConfig } from '../forms/form-manager';
|
|
2
2
|
import { Logger } from '../utils';
|
|
3
3
|
export type ProductType = 'FRM' | 'TRK';
|
|
4
4
|
export type Trigger = {
|
|
@@ -38,8 +38,7 @@ export type TriggerContext = {
|
|
|
38
38
|
export declare class DeliveryManager {
|
|
39
39
|
private logger;
|
|
40
40
|
private headers;
|
|
41
|
-
private
|
|
42
|
-
private formManager?;
|
|
41
|
+
private formManager;
|
|
43
42
|
private deliveries;
|
|
44
43
|
constructor(logger: Logger, headers: Record<string, string>, formConfig?: FormConfig);
|
|
45
44
|
loadDeliveries(): Promise<void>;
|
|
@@ -1,6 +1,15 @@
|
|
|
1
|
-
import { FormConfig } from '../types/forms';
|
|
2
1
|
import { Logger } from '../utils';
|
|
3
2
|
import { FormState } from './form-wrapper/form-wrapper';
|
|
3
|
+
export type FormErrorType = 'FETCH_ERROR' | 'SUBMISSION_ERROR';
|
|
4
|
+
export declare class FormError extends Error {
|
|
5
|
+
errorType: string;
|
|
6
|
+
constructor(errorType: FormErrorType, message?: string);
|
|
7
|
+
}
|
|
8
|
+
export type FormConfig = {
|
|
9
|
+
zIndex?: number;
|
|
10
|
+
theme?: 'light' | 'dark';
|
|
11
|
+
onFormError?: (error: FormError) => void;
|
|
12
|
+
};
|
|
4
13
|
export type FormResponse = {
|
|
5
14
|
id: number;
|
|
6
15
|
questions: QuestionResponse[];
|