@nemme/js-sdk 0.6.0 → 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.
Files changed (46) hide show
  1. package/README.md +13 -46
  2. package/dist/browser.d.ts +1 -1
  3. package/dist/client.d.ts +1 -1
  4. package/dist/deliveries/delivery-manager.d.ts +2 -3
  5. package/dist/forms/form-manager.d.ts +10 -1
  6. package/dist/index.cjs +11 -1
  7. package/dist/index.cjs.map +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.esm.js +6750 -6
  10. package/dist/index.esm.js.map +1 -1
  11. package/dist/nemme-sdk.umd.js +4 -4
  12. package/dist/nemme-sdk.umd.js.map +1 -1
  13. package/package.json +7 -32
  14. package/dist/chunks/client-CEykSZ2c.js +0 -389
  15. package/dist/chunks/client-CEykSZ2c.js.map +0 -1
  16. package/dist/chunks/client-DZJN73sh.js +0 -2
  17. package/dist/chunks/client-DZJN73sh.js.map +0 -1
  18. package/dist/chunks/form-manager-CdG9IzjD.js +0 -12
  19. package/dist/chunks/form-manager-CdG9IzjD.js.map +0 -1
  20. package/dist/chunks/form-manager-Dre89wMr.js +0 -6143
  21. package/dist/chunks/form-manager-Dre89wMr.js.map +0 -1
  22. package/dist/chunks/httpClient-D2IO92uv.js +0 -149
  23. package/dist/chunks/httpClient-D2IO92uv.js.map +0 -1
  24. package/dist/chunks/httpClient-hrn9Ffa2.js +0 -2
  25. package/dist/chunks/httpClient-hrn9Ffa2.js.map +0 -1
  26. package/dist/chunks/jsx-runtime-BubrbI3X.js +0 -2
  27. package/dist/chunks/jsx-runtime-BubrbI3X.js.map +0 -1
  28. package/dist/chunks/jsx-runtime-jIxVPx5o.js +0 -32
  29. package/dist/chunks/jsx-runtime-jIxVPx5o.js.map +0 -1
  30. package/dist/forms-entry.d.ts +0 -3
  31. package/dist/forms.cjs +0 -2
  32. package/dist/forms.cjs.map +0 -1
  33. package/dist/forms.esm.js +0 -6
  34. package/dist/forms.esm.js.map +0 -1
  35. package/dist/react-entry.d.ts +0 -3
  36. package/dist/react.cjs +0 -2
  37. package/dist/react.cjs.map +0 -1
  38. package/dist/react.esm.js +0 -67
  39. package/dist/react.esm.js.map +0 -1
  40. package/dist/style-entry.d.ts +0 -0
  41. package/dist/style.cjs +0 -2
  42. package/dist/style.cjs.map +0 -1
  43. package/dist/style.esm.js +0 -2
  44. package/dist/style.esm.js.map +0 -1
  45. package/dist/types/forms.d.ts +0 -10
  46. /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.5.2/dist/nemme-sdk.umd.js"></script>
27
- <link rel="stylesheet" href="https://unpkg.com/@nemme/js-sdk@0.5.2/dist/js-sdk.css" />
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
- If you use the SDK UI/forms in a bundler app, also import the SDK CSS:
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, { NemmeClient } from '@nemme/js-sdk';
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
- Import React helpers from the `react` subpath.
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/react';
80
+ import NemmeSDK, { NemmeProvider, useNemme } from '@nemme/js-sdk';
91
81
 
92
- import '@nemme/js-sdk/style.css';
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 clientKey="YOUR_CLIENT_KEY" config={{ userIdentifier: 'user-123', debug: true }}>
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` initializes the `NemmeClient` internally.
116
- - `useNemme()` returns helpers backed by the current client (and exposes `client`, `isInitialized`, `error`).
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-entry';
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 '../types/forms';
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 formConfig?;
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[];