@sanity/form-toolkit
3.0.133.0.14
dist/mailchimp/index.js.map~
dist/mailchimp/index.js.mapModified+1−1
Index: package/dist/mailchimp/index.js.map
===================================================================
--- package/dist/mailchimp/index.js.map
+++ package/dist/mailchimp/index.js.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"index.js","names":["Card","Text","ReactElement","Option","option","$","_c","t0","form","header","text","value","t1","t2","Symbol","for","background","t3","list","name","stats","member_count","t4","t5","mailchimp","createHandler","MailchimpSignupForm","signup_form_url","key","fetchMailchimpData","server","Promise","setConfig","apiKey","response","lists","getAllLists","Error","signupFormsPerList","all","map","list","signup_forms","signupForms","getListSignupForms","id","form","value","flat","mailchimpHandler","keys","asyncList","definePlugin","Option","mailchimpHandler","fetchMailchimpData","MailchimpInputConfig","url","URL","mailchimpInput","options","name","plugins","schemaType","loader","data","fetch","body","json","autocompleteProps","renderOption","option"],"sources":["../../src/mailchimp/components/option.tsx","../../src/mailchimp/create-handler.ts","../../src/mailchimp/index.ts"],"sourcesContent":["import {Card, Text} from '@sanity/ui'\nimport type {ReactElement} from 'react'\n\nexport const Option = (option: {\n value: string\n form: {\n header: {\n text?: string\n }\n }\n list: {\n name: string\n stats: {\n member_count: number\n }\n }\n}): ReactElement => {\n return (\n <Card data-as=\"button\" padding={3} radius={2} tone=\"inherit\">\n <Text size={2} textOverflow=\"ellipsis\">\n {`${option.form.header.text ? `${option.form.header.text} - ` : ``}${option.value}`}\n </Text>\n <Card paddingTop={2} tone=\"inherit\" style={{background: 'inherit'}}>\n <Text size={1} textOverflow=\"ellipsis\">\n {`${option.list.name} - ${option.list.stats.member_count} member${option.list.stats.member_count == 1 ? '' : 's'}`}\n </Text>\n </Card>\n </Card>\n )\n}\n","import mailchimp from '@mailchimp/mailchimp_marketing'\n\nimport createHandler from '../shared/create-handler'\n\ninterface MailchimpSignupForm {\n signup_form_url: string\n [key: string]: unknown\n}\n\n// Fetch from Mailchimp's API\nexport async function fetchMailchimpData({\n key,\n server,\n}: {\n key: string\n server: string\n}): Promise<unknown> {\n mailchimp.setConfig({\n apiKey: key,\n server: server,\n })\n const response = await mailchimp.lists.getAllLists()\n if (!('lists' in response)) {\n throw new Error('Failed to fetch Mailchimp lists')\n }\n const signupFormsPerList = await Promise.all(\n response.lists.map(async (list) => {\n const {signup_forms: signupForms}: {signup_forms: MailchimpSignupForm[]} =\n // @ts-expect-error getListSignupForms is missing from the mailchimp typings\n await mailchimp.lists.getListSignupForms(list.id)\n return signupForms.map((form) => ({\n list,\n form,\n value: form.signup_form_url,\n }))\n }),\n )\n return signupFormsPerList.flat()\n}\n\n// Create the Mailchimp handler for a specific key and server\nexport const mailchimpHandler = (keys: {key: string; server: string}) => {\n return createHandler(() => fetchMailchimpData(keys))\n}\n","import {asyncList} from '@sanity/sanity-plugin-async-list'\nimport {definePlugin} from 'sanity'\n\nimport {Option} from './components/option'\nimport {mailchimpHandler} from './create-handler'\nimport {fetchMailchimpData} from './create-handler'\ninterface MailchimpInputConfig {\n url: string | URL\n}\n\n/**\n * Usage in `sanity.config.ts` (or .js)\n *\n * ```ts\n * import {defineConfig} from 'sanity'\n * import {mailchimpInput} from '@sanity/form-toolkit/mailchimp'\n *\n * export default defineConfig({\n * // ...\n * plugins: [\n * mailchimpInput({\n * url: 'http://localhost:3000/api/mailchimp'\n * })\n * ],\n * })\n * ```\n */\nexport {fetchMailchimpData, mailchimpHandler}\nexport const mailchimpInput = definePlugin<MailchimpInputConfig>((options) => {\n return {\n name: 'sanity-plugin-form-toolkit_mailchimp-input',\n plugins: [\n asyncList({\n schemaType: 'mailchimpForm',\n loader: async () => {\n const data = await fetch(options.url)\n const body = await data.json()\n return body\n },\n autocompleteProps: {\n //@ts-expect-error incorrect typing on props?\n renderOption: (option) => Option(option),\n },\n }),\n ],\n }\n})\n"],"mappings":";;;;;;;AAGA,MAAaG,UAASC,WAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAiBbC,KAAA,GAAGH,OAAMI,KAAKC,OAAOC,OAAlB,GAA6BN,OAAMI,KAAKC,OAAOC,KAAK,OAApD,KAAiEN,OAAMO,SAAQC;CAAA,AAAAP,EAAA,OAAAE,KAC9EK,KAAAP,EAAA,MAFPO,KAAA,oBAAC,MAAD;EAAY,MAAA;EAAgB,cAAA;EACzBL,UAAAA;CADE,CAAA,GAEEF,EAAA,KAAAE,IAAAF,EAAA,KAAAO;CAAA,IAAAC;CAAA,AAAAR,EAAA,OAAAS,OAAAC,IAAA,2BAAA,KACoCF,KAAA,EAAAG,YAAa,UAAS,GAACX,EAAA,KAAAQ,MAAAA,KAAAR,EAAA;CAE7D,IAAAY,KAAA,GAAGb,OAAMc,KAAKC,KAAK,KAAMf,OAAMc,KAAKE,MAAMC,aAAa,SAAUjB,OAAMc,KAAKE,MAAMC,gBAAiB,IAAlC,KAAA,OAAgDC;CAAA,AAAAjB,EAAA,OAAAY,KAE/GK,KAAAjB,EAAA,MAJPiB,KAAA,oBAAC,MAAD;EAAkB,YAAA;EAAQ,MAAA;EAAiB,OAAAT;EACzC,UAAA,oBAAC,MAAD;GAAY,MAAA;GAAgB,cAAA;GACzBI,UAAAA;EADE,CAAA;CADF,CAAA,GAIEZ,EAAA,KAAAY,IAAAZ,EAAA,KAAAiB;CAAA,IAAAC;CACF,OADElB,EAAA,OAAAO,MAAAP,EAAA,OAAAiB,MARTC,KAAA,qBAAC,MAAD;EAAc,WAAA;EAAkB,SAAA;EAAW,QAAA;EAAQ,MAAA;EAAnD,UAAA,CACEX,IAGAU,EAJG;KASEjB,EAAA,KAAAO,IAAAP,EAAA,KAAAiB,IAAAjB,EAAA,KAAAkB,MAAAA,KAAAlB,EAAA,IATPkB;AASO;ACjBX,eAAsBM,mBAAmB,EACvCD,KACAE,UAImB;CACnBN,UAAUQ,UAAU;EAClBC,QAAQL;EACAE;CACV,CAAC;CACD,IAAMI,WAAW,MAAMV,UAAUW,MAAMC,YAAY;CACnD,IAAI,EAAE,WAAWF,WACf,MAAUG,MAAM,iCAAiC;CAcnD,QAAOC,MAZ0BP,QAAQQ,IACvCL,SAASC,MAAMK,IAAI,OAAOC,SAAS;EACjC,IAAM,EAACC,cAAcC,gBAEnB,MAAMnB,UAAUW,MAAMS,mBAAmBH,KAAKI,EAAE;EAClD,OAAOF,YAAYH,KAAKM,UAAU;GAChCL;GACAK;GACAC,OAAOD,KAAKnB;EACd,EAAE;CACJ,CAAC,CACH,EAAA,CAC0BqB,KAAK;AACjC;AAGA,MAAaC,oBAAoBC,SACxBzB,oBAAoBI,mBAAmBqB,IAAI,CAAC,GCdxCS,iBAAiBP,cAAoCQ,aACzD;CACLC,MAAM;CACNC,SAAS,CACPX,UAAU;EACRY,YAAY;EACZC,QAAQ,YAGCG,OADYF,MADAC,MAAMN,QAAQH,GAAG,EAAA,CACZW,KAAK;EAG/BC,mBAAmB,EAEjBC,eAAeC,WAAWlB,OAAOkB,MAAM,EACzC;CACF,CAAC,CAAC;AAEN,EACD"}
\ No newline at end of file
+{"version":3,"file":"index.js","names":["Card","Text","ReactElement","Option","option","$","_c","t0","form","header","text","value","t1","t2","Symbol","for","background","t3","list","name","stats","member_count","t4","t5","mailchimp","createHandler","MailchimpSignupForm","signup_form_url","key","fetchMailchimpData","server","Promise","setConfig","apiKey","response","lists","getAllLists","Error","signupFormsPerList","all","map","list","signup_forms","signupForms","getListSignupForms","id","form","value","flat","mailchimpHandler","keys","asyncList","definePlugin","Option","mailchimpHandler","fetchMailchimpData","MailchimpInputConfig","url","URL","mailchimpInput","options","name","plugins","schemaType","loader","data","fetch","body","json","autocompleteProps","renderOption","option"],"sources":["../../src/mailchimp/components/option.tsx","../../src/mailchimp/create-handler.ts","../../src/mailchimp/index.ts"],"sourcesContent":["import {Card, Text} from '@sanity/ui'\nimport type {ReactElement} from 'react'\n\nexport const Option = (option: {\n value: string\n form: {\n header: {\n text?: string\n }\n }\n list: {\n name: string\n stats: {\n member_count: number\n }\n }\n}): ReactElement => {\n return (\n <Card data-as=\"button\" padding={3} radius={2} tone=\"inherit\">\n <Text size={2} textOverflow=\"ellipsis\">\n {`${option.form.header.text ? `${option.form.header.text} - ` : ``}${option.value}`}\n </Text>\n <Card paddingTop={2} tone=\"inherit\" style={{background: 'inherit'}}>\n <Text size={1} textOverflow=\"ellipsis\">\n {`${option.list.name} - ${option.list.stats.member_count} member${option.list.stats.member_count == 1 ? '' : 's'}`}\n </Text>\n </Card>\n </Card>\n )\n}\n","import mailchimp from '@mailchimp/mailchimp_marketing'\n\nimport createHandler from '../shared/create-handler'\n\ninterface MailchimpSignupForm {\n signup_form_url: string\n [key: string]: unknown\n}\n\n// Fetch from Mailchimp's API\nexport async function fetchMailchimpData({\n key,\n server,\n}: {\n key: string\n server: string\n}): Promise<unknown> {\n mailchimp.setConfig({\n apiKey: key,\n server: server,\n })\n const response = await mailchimp.lists.getAllLists()\n if (!('lists' in response)) {\n throw new Error('Failed to fetch Mailchimp lists')\n }\n const signupFormsPerList = await Promise.all(\n response.lists.map(async (list) => {\n const {signup_forms: signupForms}: {signup_forms: MailchimpSignupForm[]} =\n // @ts-expect-error getListSignupForms is missing from the mailchimp typings\n await mailchimp.lists.getListSignupForms(list.id)\n return signupForms.map((form) => ({\n list,\n form,\n value: form.signup_form_url,\n }))\n }),\n )\n return signupFormsPerList.flat()\n}\n\n// Create the Mailchimp handler for a specific key and server\nexport const mailchimpHandler = (keys: {key: string; server: string}) => {\n return createHandler(() => fetchMailchimpData(keys))\n}\n","import '@sanity/ui/styles.css'\nimport {asyncList} from '@sanity/sanity-plugin-async-list'\nimport {definePlugin} from 'sanity'\n\nimport {Option} from './components/option'\nimport {mailchimpHandler} from './create-handler'\nimport {fetchMailchimpData} from './create-handler'\ninterface MailchimpInputConfig {\n url: string | URL\n}\n\n/**\n * Usage in `sanity.config.ts` (or .js)\n *\n * ```ts\n * import {defineConfig} from 'sanity'\n * import {mailchimpInput} from '@sanity/form-toolkit/mailchimp'\n *\n * export default defineConfig({\n * // ...\n * plugins: [\n * mailchimpInput({\n * url: 'http://localhost:3000/api/mailchimp'\n * })\n * ],\n * })\n * ```\n */\nexport {fetchMailchimpData, mailchimpHandler}\nexport const mailchimpInput = definePlugin<MailchimpInputConfig>((options) => {\n return {\n name: 'sanity-plugin-form-toolkit_mailchimp-input',\n plugins: [\n asyncList({\n schemaType: 'mailchimpForm',\n loader: async () => {\n const data = await fetch(options.url)\n const body = await data.json()\n return body\n },\n autocompleteProps: {\n //@ts-expect-error incorrect typing on props?\n renderOption: (option) => Option(option),\n },\n }),\n ],\n }\n})\n"],"mappings":";;;;;;;;AAGA,MAAaG,UAASC,WAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAiBbC,KAAA,GAAGH,OAAMI,KAAKC,OAAOC,OAAlB,GAA6BN,OAAMI,KAAKC,OAAOC,KAAK,OAApD,KAAiEN,OAAMO,SAAQC;CAAA,AAAAP,EAAA,OAAAE,KAC9EK,KAAAP,EAAA,MAFPO,KAAA,oBAAC,MAAD;EAAY,MAAA;EAAgB,cAAA;EACzBL,UAAAA;CADE,CAAA,GAEEF,EAAA,KAAAE,IAAAF,EAAA,KAAAO;CAAA,IAAAC;CAAA,AAAAR,EAAA,OAAAS,OAAAC,IAAA,2BAAA,KACoCF,KAAA,EAAAG,YAAa,UAAS,GAACX,EAAA,KAAAQ,MAAAA,KAAAR,EAAA;CAE7D,IAAAY,KAAA,GAAGb,OAAMc,KAAKC,KAAK,KAAMf,OAAMc,KAAKE,MAAMC,aAAa,SAAUjB,OAAMc,KAAKE,MAAMC,gBAAiB,IAAlC,KAAA,OAAgDC;CAAA,AAAAjB,EAAA,OAAAY,KAE/GK,KAAAjB,EAAA,MAJPiB,KAAA,oBAAC,MAAD;EAAkB,YAAA;EAAQ,MAAA;EAAiB,OAAAT;EACzC,UAAA,oBAAC,MAAD;GAAY,MAAA;GAAgB,cAAA;GACzBI,UAAAA;EADE,CAAA;CADF,CAAA,GAIEZ,EAAA,KAAAY,IAAAZ,EAAA,KAAAiB;CAAA,IAAAC;CACF,OADElB,EAAA,OAAAO,MAAAP,EAAA,OAAAiB,MARTC,KAAA,qBAAC,MAAD;EAAc,WAAA;EAAkB,SAAA;EAAW,QAAA;EAAQ,MAAA;EAAnD,UAAA,CACEX,IAGAU,EAJG;KASEjB,EAAA,KAAAO,IAAAP,EAAA,KAAAiB,IAAAjB,EAAA,KAAAkB,MAAAA,KAAAlB,EAAA,IATPkB;AASO;ACjBX,eAAsBM,mBAAmB,EACvCD,KACAE,UAImB;CACnBN,UAAUQ,UAAU;EAClBC,QAAQL;EACAE;CACV,CAAC;CACD,IAAMI,WAAW,MAAMV,UAAUW,MAAMC,YAAY;CACnD,IAAI,EAAE,WAAWF,WACf,MAAUG,MAAM,iCAAiC;CAcnD,QAAOC,MAZ0BP,QAAQQ,IACvCL,SAASC,MAAMK,IAAI,OAAOC,SAAS;EACjC,IAAM,EAACC,cAAcC,gBAEnB,MAAMnB,UAAUW,MAAMS,mBAAmBH,KAAKI,EAAE;EAClD,OAAOF,YAAYH,KAAKM,UAAU;GAChCL;GACAK;GACAC,OAAOD,KAAKnB;EACd,EAAE;CACJ,CAAC,CACH,EAAA,CAC0BqB,KAAK;AACjC;AAGA,MAAaC,oBAAoBC,SACxBzB,oBAAoBI,mBAAmBqB,IAAI,CAAC,GCbxCS,iBAAiBP,cAAoCQ,aACzD;CACLC,MAAM;CACNC,SAAS,CACPX,UAAU;EACRY,YAAY;EACZC,QAAQ,YAGCG,OADYF,MADAC,MAAMN,QAAQH,GAAG,EAAA,CACZW,KAAK;EAG/BC,mBAAmB,EAEjBC,eAAeC,WAAWlB,OAAOkB,MAAM,EACzC;CACF,CAAC,CAAC;AAEN,EACD"}
\ No newline at end of file