@wtree/payload-ecommerce-coupon 3.77.6 → 3.77.7
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 +124 -0
- package/dist/client/index.d.ts +2 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/components/PartnerDashboard/CommissionBreakdown.d.ts +9 -0
- package/dist/components/PartnerDashboard/CommissionBreakdown.d.ts.map +1 -0
- package/dist/components/PartnerDashboard/ProgramOverview.d.ts +8 -0
- package/dist/components/PartnerDashboard/ProgramOverview.d.ts.map +1 -0
- package/dist/components/PartnerDashboard/index.d.ts +2 -1
- package/dist/components/PartnerDashboard/index.d.ts.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1961 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +696 -1
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +714 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -206,6 +206,123 @@ import { useCouponCode, validateCouponCode, usePartnerStats } from '@wtree/paylo
|
|
|
206
206
|
- `validateCouponCode({ code, cartValue?, cartID?, customerEmail? })`
|
|
207
207
|
- `usePartnerStats()`
|
|
208
208
|
|
|
209
|
+
### PartnerDashboard UI component
|
|
210
|
+
|
|
211
|
+
The package also exports ready-to-use partner dashboard UI components:
|
|
212
|
+
|
|
213
|
+
```ts
|
|
214
|
+
import {
|
|
215
|
+
PartnerDashboard,
|
|
216
|
+
EarningsSummary,
|
|
217
|
+
ReferralPerformance,
|
|
218
|
+
RecentReferrals,
|
|
219
|
+
ReferralCodes,
|
|
220
|
+
ProgramOverview,
|
|
221
|
+
CommissionBreakdown,
|
|
222
|
+
} from '@wtree/payload-ecommerce-coupon'
|
|
223
|
+
import '@wtree/payload-ecommerce-coupon/dist/styles.css'
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
> The dashboard components are client-side React components. Use them in your frontend app (for example, a Next.js client component).
|
|
227
|
+
|
|
228
|
+
#### Quick usage
|
|
229
|
+
|
|
230
|
+
```tsx
|
|
231
|
+
'use client'
|
|
232
|
+
|
|
233
|
+
import { PartnerDashboard } from '@wtree/payload-ecommerce-coupon'
|
|
234
|
+
import '@wtree/payload-ecommerce-coupon/dist/styles.css'
|
|
235
|
+
|
|
236
|
+
export default function PartnerPage() {
|
|
237
|
+
return <PartnerDashboard apiEndpoint="/api/referrals/partner-stats" />
|
|
238
|
+
}
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
#### PartnerDashboard props
|
|
242
|
+
|
|
243
|
+
```ts
|
|
244
|
+
type PartnerDashboardProps = {
|
|
245
|
+
showEarningsSummary?: boolean
|
|
246
|
+
showReferralPerformance?: boolean
|
|
247
|
+
showRecentReferrals?: boolean
|
|
248
|
+
showReferralCodes?: boolean
|
|
249
|
+
showProgramOverview?: boolean
|
|
250
|
+
showCommissionBreakdown?: boolean
|
|
251
|
+
apiEndpoint?: string
|
|
252
|
+
}
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Example with custom widget visibility:
|
|
256
|
+
|
|
257
|
+
```tsx
|
|
258
|
+
<PartnerDashboard
|
|
259
|
+
apiEndpoint="/api/referrals/partner-stats"
|
|
260
|
+
showEarningsSummary
|
|
261
|
+
showReferralPerformance
|
|
262
|
+
showRecentReferrals={false}
|
|
263
|
+
showReferralCodes
|
|
264
|
+
showProgramOverview
|
|
265
|
+
showCommissionBreakdown
|
|
266
|
+
/>
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
#### Theming and style-guide compatibility
|
|
270
|
+
|
|
271
|
+
The `PartnerDashboard` styles are tokenized with CSS variables so your app can keep its own design system and branding.
|
|
272
|
+
|
|
273
|
+
By default, dashboard typography inherits from the host app (`font-family: inherit`) and colors use overridable tokens.
|
|
274
|
+
|
|
275
|
+
Basic override example:
|
|
276
|
+
|
|
277
|
+
```css
|
|
278
|
+
.partner-dashboard {
|
|
279
|
+
--pd-color-text: var(--app-text-color);
|
|
280
|
+
--pd-color-text-muted: var(--app-text-muted);
|
|
281
|
+
--pd-color-surface: var(--app-surface);
|
|
282
|
+
--pd-color-surface-muted: var(--app-surface-muted);
|
|
283
|
+
--pd-color-border: var(--app-border);
|
|
284
|
+
--pd-color-primary: var(--app-primary);
|
|
285
|
+
--pd-color-primary-strong: var(--app-primary-strong);
|
|
286
|
+
--pd-color-success: var(--app-success);
|
|
287
|
+
--pd-color-warning: var(--app-warning);
|
|
288
|
+
--pd-color-danger: var(--app-danger);
|
|
289
|
+
}
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
You can also set global aliases once:
|
|
293
|
+
|
|
294
|
+
```css
|
|
295
|
+
:root {
|
|
296
|
+
--color-text: #111827;
|
|
297
|
+
--color-text-muted: #6b7280;
|
|
298
|
+
--color-surface: #ffffff;
|
|
299
|
+
--color-surface-muted: #f9fafb;
|
|
300
|
+
--color-border: #e5e7eb;
|
|
301
|
+
--color-primary: #2563eb;
|
|
302
|
+
--color-primary-strong: #1d4ed8;
|
|
303
|
+
--color-primary-soft: #dbeafe;
|
|
304
|
+
--color-success: #059669;
|
|
305
|
+
--color-warning: #d97706;
|
|
306
|
+
--color-danger: #dc2626;
|
|
307
|
+
}
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
Common dashboard tokens you may override:
|
|
311
|
+
|
|
312
|
+
- Layout/spacing: `--pd-space-*`, `--pd-grid-min-column`, `--pd-referrals-status-col-width`
|
|
313
|
+
- Typography: `--pd-font-family`, `--pd-font-size-*`, `--pd-font-weight-*`
|
|
314
|
+
- Surfaces/borders: `--pd-color-bg`, `--pd-color-surface`, `--pd-color-surface-muted`, `--pd-color-border`
|
|
315
|
+
- Semantic colors: `--pd-color-primary`, `--pd-color-success`, `--pd-color-warning`, `--pd-color-danger`
|
|
316
|
+
- Widget accents:
|
|
317
|
+
- `--pd-color-earnings-total-*`
|
|
318
|
+
- `--pd-color-earnings-pending-*`
|
|
319
|
+
- `--pd-color-earnings-paid-*`
|
|
320
|
+
- `--pd-color-status-pending-*`
|
|
321
|
+
- `--pd-color-status-paid-*`
|
|
322
|
+
- `--pd-color-status-cancelled-*`
|
|
323
|
+
|
|
324
|
+
This keeps plugin UI behavior consistent while respecting your product’s style guide.
|
|
325
|
+
|
|
209
326
|
---
|
|
210
327
|
|
|
211
328
|
## Configuration overview
|
|
@@ -361,6 +478,13 @@ Main exports include:
|
|
|
361
478
|
- `useCouponCode`
|
|
362
479
|
- `validateCouponCode`
|
|
363
480
|
- `usePartnerStats`
|
|
481
|
+
- `PartnerDashboard`
|
|
482
|
+
- `EarningsSummary`
|
|
483
|
+
- `ReferralPerformance`
|
|
484
|
+
- `RecentReferrals`
|
|
485
|
+
- `ReferralCodes`
|
|
486
|
+
- `ProgramOverview`
|
|
487
|
+
- `CommissionBreakdown`
|
|
364
488
|
- `getCartTotalWithDiscounts`
|
|
365
489
|
- `recordCouponUsageForOrder`
|
|
366
490
|
- full TypeScript types for plugin options/policies/integration
|
package/dist/client/index.d.ts
CHANGED
|
@@ -3,5 +3,7 @@ export { EarningsSummary } from '../components/PartnerDashboard/EarningsSummary'
|
|
|
3
3
|
export { RecentReferrals } from '../components/PartnerDashboard/RecentReferrals';
|
|
4
4
|
export { ReferralCodes } from '../components/PartnerDashboard/ReferralCodes';
|
|
5
5
|
export { ReferralPerformance } from '../components/PartnerDashboard/ReferralPerformance';
|
|
6
|
+
export { ProgramOverview } from '../components/PartnerDashboard/ProgramOverview';
|
|
7
|
+
export { CommissionBreakdown } from '../components/PartnerDashboard/CommissionBreakdown';
|
|
6
8
|
export { useCouponCode, usePartnerStats, validateCouponCode } from './hooks';
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PartnerStats } from '../../types';
|
|
3
|
+
export type CommissionBreakdownProps = {
|
|
4
|
+
stats: PartnerStats;
|
|
5
|
+
currency: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const CommissionBreakdown: React.FC<CommissionBreakdownProps>;
|
|
8
|
+
export default CommissionBreakdown;
|
|
9
|
+
//# sourceMappingURL=CommissionBreakdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommissionBreakdown.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/CommissionBreakdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,YAAY,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAeD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA0FlE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PartnerDashboardData } from '../../types';
|
|
3
|
+
export type ProgramOverviewProps = {
|
|
4
|
+
program: PartnerDashboardData['program'];
|
|
5
|
+
};
|
|
6
|
+
export declare const ProgramOverview: React.FC<ProgramOverviewProps>;
|
|
7
|
+
export default ProgramOverview;
|
|
8
|
+
//# sourceMappingURL=ProgramOverview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgramOverview.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/ProgramOverview.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAA;CACzC,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAmC1D,CAAA;AAED,eAAe,eAAe,CAAA"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import './styles.css';
|
|
3
2
|
export type PartnerDashboardProps = {
|
|
4
3
|
showEarningsSummary?: boolean;
|
|
5
4
|
showReferralPerformance?: boolean;
|
|
6
5
|
showRecentReferrals?: boolean;
|
|
7
6
|
showReferralCodes?: boolean;
|
|
7
|
+
showProgramOverview?: boolean;
|
|
8
|
+
showCommissionBreakdown?: boolean;
|
|
8
9
|
apiEndpoint?: string;
|
|
9
10
|
};
|
|
10
11
|
export declare const PartnerDashboard: React.FC<PartnerDashboardProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAWlD,MAAM,MAAM,qBAAqB,GAAG;IAClC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA2H5D,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,13 @@ import { createReferralCodesCollection } from './collections/createReferralCodes
|
|
|
3
3
|
import { createReferralProgramsCollection } from './collections/createReferralProgramsCollection';
|
|
4
4
|
import { payloadEcommerceCouponPlugin } from './plugin';
|
|
5
5
|
export { useCouponCode, usePartnerStats, validateCouponCode } from './client/hooks';
|
|
6
|
+
export { PartnerDashboard } from './components/PartnerDashboard';
|
|
7
|
+
export { EarningsSummary } from './components/PartnerDashboard/EarningsSummary';
|
|
8
|
+
export { RecentReferrals } from './components/PartnerDashboard/RecentReferrals';
|
|
9
|
+
export { ReferralCodes } from './components/PartnerDashboard/ReferralCodes';
|
|
10
|
+
export { ReferralPerformance } from './components/PartnerDashboard/ReferralPerformance';
|
|
11
|
+
export { ProgramOverview } from './components/PartnerDashboard/ProgramOverview';
|
|
12
|
+
export { CommissionBreakdown } from './components/PartnerDashboard/CommissionBreakdown';
|
|
6
13
|
export { calculateCommissionAndDiscount, getProgramMinimumOrderAmount, } from './utilities/calculateValues';
|
|
7
14
|
export { getCartTotalWithDiscounts } from './utilities/getCartTotalWithDiscounts';
|
|
8
15
|
export { recordCouponUsageForOrder } from './utilities/recordCouponUsageForOrder';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAA;AAC3F,OAAO,EAAE,gCAAgC,EAAE,MAAM,gDAAgD,CAAA;AACjG,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAEvD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnF,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,IAAI,sBAAsB,GACvD,CAAA;AAED,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,yBAAyB,EACzB,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,aAAa,EACb,6BAA6B,EAC7B,qBAAqB,EACrB,UAAU,GACX,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAA;AAC3F,OAAO,EAAE,gCAAgC,EAAE,MAAM,gDAAgD,CAAA;AACjG,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAEvD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AAEvF,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,IAAI,sBAAsB,GACvD,CAAA;AAED,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,yBAAyB,EACzB,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,aAAa,EACb,6BAA6B,EAC7B,qBAAqB,EACrB,UAAU,GACX,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA"}
|