payload-plugin-marketing 0.9.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.
Files changed (62) hide show
  1. package/README.md +252 -0
  2. package/dist/actions/factories.d.ts +18 -0
  3. package/dist/actions/factories.d.ts.map +1 -0
  4. package/dist/actions/index.cjs +2 -0
  5. package/dist/actions/index.cjs.map +1 -0
  6. package/dist/actions/index.d.ts +2 -0
  7. package/dist/actions/index.d.ts.map +1 -0
  8. package/dist/actions/index.js +2 -0
  9. package/dist/actions/index.js.map +1 -0
  10. package/dist/adapters/index.cjs +2 -0
  11. package/dist/adapters/index.cjs.map +1 -0
  12. package/dist/adapters/index.d.ts +3 -0
  13. package/dist/adapters/index.d.ts.map +1 -0
  14. package/dist/adapters/index.js +2 -0
  15. package/dist/adapters/index.js.map +1 -0
  16. package/dist/adapters/mailchimp.d.ts +45 -0
  17. package/dist/adapters/mailchimp.d.ts.map +1 -0
  18. package/dist/adapters/resend.d.ts +68 -0
  19. package/dist/adapters/resend.d.ts.map +1 -0
  20. package/dist/admin/components.d.ts +23 -0
  21. package/dist/admin/components.d.ts.map +1 -0
  22. package/dist/admin/index.cjs +2 -0
  23. package/dist/admin/index.cjs.map +1 -0
  24. package/dist/admin/index.d.ts +4 -0
  25. package/dist/admin/index.d.ts.map +1 -0
  26. package/dist/admin/index.js +2 -0
  27. package/dist/admin/index.js.map +1 -0
  28. package/dist/admin/views.d.ts +4 -0
  29. package/dist/admin/views.d.ts.map +1 -0
  30. package/dist/chunk-4RBNCG5Q.js +2 -0
  31. package/dist/chunk-4RBNCG5Q.js.map +1 -0
  32. package/dist/chunk-KBN7IE22.js +2 -0
  33. package/dist/chunk-KBN7IE22.js.map +1 -0
  34. package/dist/chunk-RBBHOL35.js +2 -0
  35. package/dist/chunk-RBBHOL35.js.map +1 -0
  36. package/dist/form-builder/fields.d.ts +7 -0
  37. package/dist/form-builder/fields.d.ts.map +1 -0
  38. package/dist/form-builder/hooks.d.ts +10 -0
  39. package/dist/form-builder/hooks.d.ts.map +1 -0
  40. package/dist/form-builder/index.cjs +2 -0
  41. package/dist/form-builder/index.cjs.map +1 -0
  42. package/dist/form-builder/index.d.ts +6 -0
  43. package/dist/form-builder/index.d.ts.map +1 -0
  44. package/dist/form-builder/index.js +2 -0
  45. package/dist/form-builder/index.js.map +1 -0
  46. package/dist/form-builder/mutate-collections.d.ts +4 -0
  47. package/dist/form-builder/mutate-collections.d.ts.map +1 -0
  48. package/dist/form-builder/mutate.d.ts +2 -0
  49. package/dist/form-builder/mutate.d.ts.map +1 -0
  50. package/dist/form-builder/submission.d.ts +34 -0
  51. package/dist/form-builder/submission.d.ts.map +1 -0
  52. package/dist/index.cjs +2 -0
  53. package/dist/index.cjs.map +1 -0
  54. package/dist/index.d.ts +7 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +2 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/plugin.d.ts +3 -0
  59. package/dist/plugin.d.ts.map +1 -0
  60. package/dist/types.d.ts +152 -0
  61. package/dist/types.d.ts.map +1 -0
  62. package/package.json +107 -0
@@ -0,0 +1,7 @@
1
+ export { createMarketingActions } from "./actions";
2
+ export { mailchimpAdapter, resendAdapter } from "./adapters";
3
+ export { createAcceptanceBlock, createMarketingFormFields } from "./form-builder";
4
+ export { payloadMarketingPlugin } from "./plugin";
5
+ export type { CreateAudienceInput, CreateBroadcastInput, DeleteAudienceInput, DeleteBroadcastInput, DeleteContactInput, ListContactsInput, MarketingAdapter, MarketingAudience, MarketingBroadcast, MarketingContact, MarketingFormFieldOverrides, PayloadComponentOverride, PayloadPluginMarketingOptions, SendBroadcastInput, UpsertContactInput, } from "./types";
6
+ export { payloadMarketingPlugin as default } from "./plugin";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjD,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,wBAAwB,EACxB,6BAA6B,EAC7B,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,sBAAsB,IAAI,OAAO,EAAE,MAAM,UAAU,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ import{a as p}from"./chunk-RBBHOL35.js";import{a as u,b as c}from"./chunk-KBN7IE22.js";import{a as m,b as l,l as r}from"./chunk-4RBNCG5Q.js";function i(n,e){return{path:"payload-plugin-marketing/admin",exportName:n,...e?{clientProps:e}:{}}}function o(n,...e){return`/${[n.replace(/^\/+|\/+$/g,""),...e].filter(Boolean).join("/")}`}function g(n,e){if(e.admin?.enabled===!1)return n;let t=e.admin?.basePath??"",a=e.admin?.components??{},s=a.marketingMenu??i("MarketingMenu",{basePath:t});return{...n,admin:{...n.admin??{},components:{...n.admin?.components??{},afterNavLinks:[...n.admin?.components?.afterNavLinks??[],s],views:{...n.admin?.components?.views??{},audienceList:{Component:a.audienceList??i("AudienceList"),path:o(t,"audience")},audienceDetail:{Component:a.audienceDetail??i("AudienceDetail"),path:o(t,"audience",":id")},broadcastList:{Component:a.broadcastList??i("BroadcastList"),path:o(t,"broadcast")}}}}}}function d(n){let e=t=>g({...t,collections:r(t.collections,n)},n);return e.slug="marketing",e.order=10,e.options=n,e}export{m as createAcceptanceBlock,p as createMarketingActions,l as createMarketingFormFields,d as default,u as mailchimpAdapter,d as payloadMarketingPlugin,c as resendAdapter};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/plugin.ts"],"sourcesContent":["import { mutateFormBuilderCollections } from \"./form-builder/mutate-collections\"\n\nimport type { PayloadMarketingPlugin, PayloadPluginMarketingOptions } from \"./types\"\nimport type { Config } from \"payload\"\n\nfunction component(exportName: string, clientProps?: Record<string, unknown>) {\n return {\n path: \"payload-plugin-marketing/admin\",\n exportName,\n ...(clientProps ? { clientProps } : {}),\n }\n}\n\nfunction adminViewPath(basePath: string, ...segments: string[]): `/${string}` {\n const trimmed = basePath.replace(/^\\/+|\\/+$/g, \"\")\n const body = [trimmed, ...segments].filter(Boolean).join(\"/\")\n return `/${body}`\n}\n\nfunction withMarketingAdmin(config: Config, options: PayloadPluginMarketingOptions): Config {\n if (options.admin?.enabled === false) {\n return config\n }\n const basePath = options.admin?.basePath ?? \"\"\n const components = options.admin?.components ?? {}\n const menuComponent = components.marketingMenu ?? component(\"MarketingMenu\", { basePath })\n return {\n ...config,\n admin: {\n ...(config.admin ?? {}),\n components: {\n ...(config.admin?.components ?? {}),\n afterNavLinks: [\n ...((config.admin?.components?.afterNavLinks as unknown[]) ?? []),\n menuComponent,\n ],\n views: {\n ...((config.admin?.components?.views as Record<string, unknown> | undefined) ?? {}),\n audienceList: {\n Component: components.audienceList ?? component(\"AudienceList\"),\n path: adminViewPath(basePath, \"audience\"),\n },\n audienceDetail: {\n Component: components.audienceDetail ?? component(\"AudienceDetail\"),\n path: adminViewPath(basePath, \"audience\", \":id\"),\n },\n broadcastList: {\n Component: components.broadcastList ?? component(\"BroadcastList\"),\n path: adminViewPath(basePath, \"broadcast\"),\n },\n },\n },\n },\n } as Config\n}\n\nexport function payloadMarketingPlugin(\n options: PayloadPluginMarketingOptions,\n): PayloadMarketingPlugin {\n const plugin: PayloadMarketingPlugin = (config) =>\n withMarketingAdmin(\n {\n ...config,\n collections: mutateFormBuilderCollections(config.collections, options),\n },\n options,\n )\n plugin.slug = \"marketing\"\n plugin.order = 10\n plugin.options = options as unknown as Record<string, unknown>\n return plugin\n}\n"],"mappings":"6IAKA,SAASA,EAAUC,EAAoBC,EAAuC,CAC5E,MAAO,CACL,KAAM,iCACN,WAAAD,EACA,GAAIC,EAAc,CAAE,YAAAA,CAAY,EAAI,CAAC,CACvC,CACF,CAEA,SAASC,EAAcC,KAAqBC,EAAkC,CAG5E,MAAO,IADM,CADGD,EAAS,QAAQ,aAAc,EAAE,EAC1B,GAAGC,CAAQ,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,CAC7C,EACjB,CAEA,SAASC,EAAmBC,EAAgBC,EAAgD,CAC1F,GAAIA,EAAQ,OAAO,UAAY,GAC7B,OAAOD,EAET,IAAMH,EAAWI,EAAQ,OAAO,UAAY,GACtCC,EAAaD,EAAQ,OAAO,YAAc,CAAC,EAC3CE,EAAgBD,EAAW,eAAiBT,EAAU,gBAAiB,CAAE,SAAAI,CAAS,CAAC,EACzF,MAAO,CACL,GAAGG,EACH,MAAO,CACL,GAAIA,EAAO,OAAS,CAAC,EACrB,WAAY,CACV,GAAIA,EAAO,OAAO,YAAc,CAAC,EACjC,cAAe,CACb,GAAKA,EAAO,OAAO,YAAY,eAA+B,CAAC,EAC/DG,CACF,EACA,MAAO,CACL,GAAKH,EAAO,OAAO,YAAY,OAAiD,CAAC,EACjF,aAAc,CACZ,UAAWE,EAAW,cAAgBT,EAAU,cAAc,EAC9D,KAAMG,EAAcC,EAAU,UAAU,CAC1C,EACA,eAAgB,CACd,UAAWK,EAAW,gBAAkBT,EAAU,gBAAgB,EAClE,KAAMG,EAAcC,EAAU,WAAY,KAAK,CACjD,EACA,cAAe,CACb,UAAWK,EAAW,eAAiBT,EAAU,eAAe,EAChE,KAAMG,EAAcC,EAAU,WAAW,CAC3C,CACF,CACF,CACF,CACF,CACF,CAEO,SAASO,EACdH,EACwB,CACxB,IAAMI,EAAkCL,GACtCD,EACE,CACE,GAAGC,EACH,YAAaM,EAA6BN,EAAO,YAAaC,CAAO,CACvE,EACAA,CACF,EACF,OAAAI,EAAO,KAAO,YACdA,EAAO,MAAQ,GACfA,EAAO,QAAUJ,EACVI,CACT","names":["component","exportName","clientProps","adminViewPath","basePath","segments","withMarketingAdmin","config","options","components","menuComponent","payloadMarketingPlugin","plugin","mutateFormBuilderCollections"]}
@@ -0,0 +1,3 @@
1
+ import type { PayloadMarketingPlugin, PayloadPluginMarketingOptions } from "./types";
2
+ export declare function payloadMarketingPlugin(options: PayloadPluginMarketingOptions): PayloadMarketingPlugin;
3
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAA;AAsDpF,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,6BAA6B,GACrC,sBAAsB,CAaxB"}
@@ -0,0 +1,152 @@
1
+ import type { Block, CollectionConfig, PayloadComponent, Plugin } from "payload";
2
+ export interface MarketingAudience {
3
+ id: string;
4
+ name: string;
5
+ }
6
+ export interface MarketingContact {
7
+ createdAt?: string;
8
+ email: string;
9
+ firstName?: string | null;
10
+ id: string;
11
+ lastName?: string | null;
12
+ subscribed?: boolean;
13
+ }
14
+ export type MarketingBroadcastStatus = string;
15
+ export interface MarketingBroadcast {
16
+ id: string;
17
+ name: string;
18
+ scheduledAt?: string | null;
19
+ sentAt?: string | null;
20
+ status: MarketingBroadcastStatus;
21
+ }
22
+ export interface CreateAudienceInput {
23
+ name: string;
24
+ }
25
+ export interface DeleteAudienceInput {
26
+ audienceId: string;
27
+ }
28
+ export interface ListContactsInput {
29
+ audienceId: string;
30
+ }
31
+ export interface UpsertContactInput {
32
+ audienceId: string;
33
+ email: string;
34
+ firstName?: string;
35
+ id?: string;
36
+ lastName?: string;
37
+ properties?: Record<string, string | number | null>;
38
+ subscribed?: boolean;
39
+ }
40
+ export interface DeleteContactInput {
41
+ audienceId: string;
42
+ contactId: string;
43
+ }
44
+ export interface CreateBroadcastInput {
45
+ audienceId: string;
46
+ html?: string;
47
+ locale?: string;
48
+ name: string;
49
+ react?: unknown;
50
+ replyTo?: string;
51
+ subject: string;
52
+ /** Mailchimp saved-template id (digits as a string). Unsupported on Resend (`createBroadcast` throws). */
53
+ templateId?: string;
54
+ }
55
+ export interface DeleteBroadcastInput {
56
+ broadcastId: string;
57
+ }
58
+ export interface SendBroadcastInput {
59
+ broadcastId: string;
60
+ scheduledAt?: string;
61
+ }
62
+ export interface MarketingAdapter {
63
+ broadcasts: {
64
+ create(input: CreateBroadcastInput): Promise<void>;
65
+ delete(input: DeleteBroadcastInput): Promise<void>;
66
+ list(): Promise<MarketingBroadcast[]>;
67
+ send(input: SendBroadcastInput): Promise<void>;
68
+ };
69
+ contacts: {
70
+ delete(input: DeleteContactInput): Promise<void>;
71
+ list(input: ListContactsInput): Promise<MarketingContact[]>;
72
+ upsert(input: UpsertContactInput): Promise<void>;
73
+ };
74
+ label: string;
75
+ provider: string;
76
+ audiences: {
77
+ create(input: CreateAudienceInput): Promise<void>;
78
+ delete(input: DeleteAudienceInput): Promise<void>;
79
+ get(id: string): Promise<MarketingAudience | null>;
80
+ list(): Promise<MarketingAudience[]>;
81
+ };
82
+ urls?: {
83
+ audience?: (audienceId: string) => string;
84
+ audiences?: string;
85
+ broadcast?: (broadcastId: string) => string;
86
+ broadcasts?: string;
87
+ };
88
+ }
89
+ export interface FieldOverride {
90
+ admin?: Record<string, unknown>;
91
+ name?: string;
92
+ overrides?: Record<string, unknown> & {
93
+ name?: string;
94
+ };
95
+ [key: string]: unknown;
96
+ }
97
+ export interface MarketingBlockOptions {
98
+ fields?: Record<string, FieldOverride>;
99
+ labels?: Block["labels"];
100
+ overrides?: Record<string, unknown>;
101
+ }
102
+ export interface MarketingFormFieldOverrides {
103
+ acceptance?: MarketingBlockOptions;
104
+ checkbox?: MarketingBlockOptions;
105
+ country?: MarketingBlockOptions;
106
+ date?: MarketingBlockOptions;
107
+ email?: MarketingBlockOptions;
108
+ message?: MarketingBlockOptions;
109
+ number?: MarketingBlockOptions;
110
+ payment?: MarketingBlockOptions;
111
+ phone?: MarketingBlockOptions;
112
+ select?: MarketingBlockOptions;
113
+ state?: MarketingBlockOptions;
114
+ text?: MarketingBlockOptions;
115
+ textarea?: MarketingBlockOptions;
116
+ upload?: MarketingBlockOptions;
117
+ url?: MarketingBlockOptions;
118
+ }
119
+ export interface PayloadPluginMarketingOptions {
120
+ adapter: MarketingAdapter;
121
+ admin?: {
122
+ basePath?: string;
123
+ components?: {
124
+ audienceDetail?: PayloadComponent;
125
+ audienceList?: PayloadComponent;
126
+ audienceSelect?: PayloadComponent;
127
+ broadcastList?: PayloadComponent;
128
+ marketingMenu?: PayloadComponent;
129
+ };
130
+ enabled?: boolean;
131
+ };
132
+ formBuilder?: {
133
+ fields?: MarketingFormFieldOverrides;
134
+ formsSlug?: string;
135
+ strict?: boolean;
136
+ submissionsSlug?: string;
137
+ };
138
+ }
139
+ export interface PayloadComponentOverride {
140
+ exportName?: string;
141
+ path: string;
142
+ }
143
+ export interface PayloadMarketingPlugin extends Plugin {
144
+ options: Record<string, unknown>;
145
+ order: number;
146
+ slug: string;
147
+ }
148
+ export interface MutateCollectionsContext {
149
+ collections: CollectionConfig[] | undefined;
150
+ options: PayloadPluginMarketingOptions;
151
+ }
152
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,107 @@
1
+ {
2
+ "name": "payload-plugin-marketing",
3
+ "version": "0.9.0",
4
+ "description": "Payload CMS plugin for marketing forms, audiences, contacts, and broadcasts.",
5
+ "license": "Apache-2.0",
6
+ "type": "module",
7
+ "keywords": [
8
+ "payload",
9
+ "payloadcms",
10
+ "plugin",
11
+ "marketing"
12
+ ],
13
+ "author": "Mattia Dalzocchio <mattia@dalzocch.io>",
14
+ "homepage": "https://github.com/uxio-labs/payload-website-plugins/tree/main/packages/payload-plugin-marketing#readme",
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/uxio-labs/payload-website-plugins.git",
18
+ "directory": "packages/payload-plugin-marketing"
19
+ },
20
+ "bugs": {
21
+ "url": "https://github.com/uxio-labs/payload-website-plugins/issues"
22
+ },
23
+ "main": "./dist/index.cjs",
24
+ "module": "./dist/index.js",
25
+ "types": "./dist/index.d.ts",
26
+ "exports": {
27
+ ".": {
28
+ "types": "./dist/index.d.ts",
29
+ "import": "./dist/index.js",
30
+ "require": "./dist/index.cjs"
31
+ },
32
+ "./adapters": {
33
+ "types": "./dist/adapters/index.d.ts",
34
+ "import": "./dist/adapters/index.js",
35
+ "require": "./dist/adapters/index.cjs"
36
+ },
37
+ "./actions": {
38
+ "types": "./dist/actions/index.d.ts",
39
+ "import": "./dist/actions/index.js",
40
+ "require": "./dist/actions/index.cjs"
41
+ },
42
+ "./admin": {
43
+ "types": "./dist/admin/index.d.ts",
44
+ "import": "./dist/admin/index.js",
45
+ "require": "./dist/admin/index.cjs"
46
+ },
47
+ "./form-builder": {
48
+ "types": "./dist/form-builder/index.d.ts",
49
+ "import": "./dist/form-builder/index.js",
50
+ "require": "./dist/form-builder/index.cjs"
51
+ }
52
+ },
53
+ "files": [
54
+ "dist",
55
+ "README.md"
56
+ ],
57
+ "scripts": {
58
+ "build": "tsup --config tsup.config.ts --minify && tsc -p tsconfig.build.json --emitDeclarationOnly",
59
+ "dev": "tsup --config tsup.config.ts --watch",
60
+ "test": "vitest run tests",
61
+ "typecheck": "tsc --noEmit"
62
+ },
63
+ "peerDependencies": {
64
+ "@mailchimp/mailchimp_marketing": "*",
65
+ "@payloadcms/next": "^3.80.0",
66
+ "@payloadcms/plugin-form-builder": "^3.80.0",
67
+ "@payloadcms/ui": "^3.80.0",
68
+ "next": "^15.0.0 || ^16.0.0",
69
+ "payload": "^3.80.0",
70
+ "react": "*",
71
+ "react-dom": "*",
72
+ "resend": "*"
73
+ },
74
+ "peerDependenciesMeta": {
75
+ "@mailchimp/mailchimp_marketing": {
76
+ "optional": true
77
+ },
78
+ "@payloadcms/next": {
79
+ "optional": true
80
+ },
81
+ "@payloadcms/ui": {
82
+ "optional": true
83
+ },
84
+ "next": {
85
+ "optional": true
86
+ },
87
+ "react": {
88
+ "optional": true
89
+ },
90
+ "react-dom": {
91
+ "optional": true
92
+ },
93
+ "resend": {
94
+ "optional": true
95
+ }
96
+ },
97
+ "publishConfig": {
98
+ "access": "public"
99
+ },
100
+ "sideEffects": false,
101
+ "devDependencies": {
102
+ "@mailchimp/mailchimp_marketing": "^3.0.80",
103
+ "react": "^19.2.6",
104
+ "react-dom": "^19.2.6",
105
+ "resend": "^6.12.3"
106
+ }
107
+ }