@sanity/form-toolkit
3.0.163.0.17
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 '@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
+{"version":3,"file":"index.js","names":["<Text size={2} textOverflow=\"ellipsis\">\n {`${option.form.header.text ? `${option.form.header.text} - ` : ``}${option.value}`}\n </Text>","`${option.form.header.text ? `${option.form.header.text} - ` : ``}${option.value}`","{background: 'inherit'}","<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>","`${option.list.name} - ${option.list.stats.member_count} member${option.list.stats.member_count == 1 ? '' : 's'}`","<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>"],"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,MAAa,UAAU,WAaH;eAIX,KAAA,GAAG,OAAO,KAAK,OAAO,OAAO,GAAG,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,SAD9EA;CACGC,AAAAA,EAAAA,OAAAA,kBADH,KAAA,oBAAC,MAAD;EAAM,MAAM;EAAG,cAAa;EACzBA,UAAAA;CACG,CAAA,GADHA,EAAAA,KAAAA;CAEwCC,IAAAA;qDAAC,KAAA,EAAA,YAAY,UAAS;CAE5D,IAAA,KAAA,GAAG,OAAO,KAAK,KAAK,KAAK,OAAO,KAAK,MAAM,aAAa,SAAS,OAAO,KAAK,MAAM,gBAAgB,IAAI,KAAK,OAFjHC;CAEKC,AAAAA,EAAAA,OAAAA,kBAFL,KAAA,oBAAC,MAAD;EAAM,YAAY;EAAG,MAAK;EAAU,OAAOF;EACzC,UAAA,oBAAC,MAAD;GAAM,MAAM;GAAG,cAAa;GACzBE,UAAAA;EACG,CAAA;CACF,CAAA,GAFDA,EAAAA,KAAAA;CANPC,IAAAA;CADF,OAEIL,EAAAA,OAAAA,MAAAA,EAAAA,OAGAG,MAJF,KAAA,qBAAC,MAAD;EAAM,WAAQ;EAAS,SAAS;EAAG,QAAQ;EAAG,MAAK;EAAnD,UAAA,CACEH,IAGAG,EAKI;KARJH,EAAAA,KAAAA,IAGAG,EAAAA,KAAAA,4BAJFE;AAWJ;ACnBA,eAAsB,mBAAmB,EACvC,KACA,UAImB;CACnB,UAAU,UAAU;EAClB,QAAQ;EACA;CACV,CAAC;CACD,IAAM,WAAW,MAAM,UAAU,MAAM,YAAY;CACnD,IAAI,EAAE,WAAW,WACf,MAAU,MAAM,iCAAiC;CAcnD,QAAO,MAZ0B,QAAQ,IACvC,SAAS,MAAM,IAAI,OAAO,SAAS;EACjC,IAAM,EAAC,cAAc,gBAEnB,MAAM,UAAU,MAAM,mBAAmB,KAAK,EAAE;EAClD,OAAO,YAAY,KAAK,UAAU;GAChC;GACA;GACA,OAAO,KAAK;EACd,EAAE;CACJ,CAAC,CACH,EAAA,CAC0B,KAAK;AACjC;AAGA,MAAa,oBAAoB,SACxB,oBAAoB,mBAAmB,IAAI,CAAC,GCbxC,iBAAiB,cAAoC,aACzD;CACL,MAAM;CACN,SAAS,CACP,UAAU;EACR,YAAY;EACZ,QAAQ,YAGC,OADY,MADA,MAAM,QAAQ,GAAG,EAAA,CACZ,KAAK;EAG/B,mBAAmB,EAEjB,eAAe,WAAW,OAAO,MAAM,EACzC;CACF,CAAC,CACH;AACF,EACD"}
\ No newline at end of file