@sanity/form-toolkit
3.0.133.0.14
~
Modified (9 files)
Index: package/dist/hubspot/index.js
===================================================================
--- package/dist/hubspot/index.js
+++ package/dist/hubspot/index.js
@@ -1,7 +1,8 @@
import { t as createHandler } from "../create-handler-2pX-bzeN.js";
import { asyncList } from "@sanity/sanity-plugin-async-list";
import { definePlugin } from "sanity";
+import "@sanity/ui/styles.css";
import { c } from "react/compiler-runtime";
import { Card, Text } from "@sanity/ui";
import { jsx, jsxs } from "react/jsx-runtime";
const Option = (option) => { Index: package/dist/mailchimp/index.js
===================================================================
--- package/dist/mailchimp/index.js
+++ package/dist/mailchimp/index.js
@@ -1,7 +1,8 @@
import { t as createHandler } from "../create-handler-2pX-bzeN.js";
import { asyncList } from "@sanity/sanity-plugin-async-list";
import { definePlugin } from "sanity";
+import "@sanity/ui/styles.css";
import { c } from "react/compiler-runtime";
import { Card, Text } from "@sanity/ui";
import { jsx, jsxs } from "react/jsx-runtime";
import mailchimp from "@mailchimp/mailchimp_marketing"; Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,7 +1,7 @@
{
"name": "@sanity/form-toolkit",
- "version": "3.0.13",
+ "version": "3.0.14",
"description": "Tool kit for integrating forms with a Sanity Studio",
"keywords": [
"sanity",
"sanity-plugin"
@@ -31,12 +31,12 @@
},
"dependencies": {
"@formium/client": "^0.1.4",
"@mailchimp/mailchimp_marketing": "^3.0.80",
- "@sanity/ui": "^3.5.1",
+ "@sanity/ui": "^4.0.0",
"h3": "^1.15.11",
"react-icons": "^5.7.0",
- "@sanity/sanity-plugin-async-list": "^3.0.0"
+ "@sanity/sanity-plugin-async-list": "^3.0.1"
},
"devDependencies": {
"@sanity/tsconfig": "^2.2.1",
"@sanity/tsdown-config": "^0.21.2",
@@ -48,9 +48,9 @@
"babel-plugin-react-compiler": "^1.0.0",
"jsdom": "^29.1.1",
"react": "^19.2.8",
"react-dom": "^19.2.8",
- "sanity": "^6.7.0",
+ "sanity": "^6.9.0",
"tsdown": "^0.22.14"
},
"peerDependencies": {
"react": "^19.2", Index: package/dist/hubspot/index.d.ts.map
===================================================================
--- package/dist/hubspot/index.d.ts.map
+++ package/dist/hubspot/index.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/hubspot/create-handler.ts","../../src/hubspot/fetch-hubspot-data.ts","../../src/hubspot/index.ts"],"mappings":"AAGA,cAAa,mBAAc;EAAc;mBAAc,0BAAA,qBAAA,sBAAA,oBAAA,iBAAA,oBAAA,mBAAA;;;;;;;;;;;;;;;;;;;;;;;;KCHlD;EACH;EACA;GACC;;KAGE,eAAe;EAClB;;iBAEoB,mBAAkB;EAAS;IAAiB,QAAQ;UCHhE;EACR,cAAc;;cAuBH,+BAAY,OAAA"}
\ No newline at end of file
+{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/hubspot/create-handler.ts","../../src/hubspot/fetch-hubspot-data.ts","../../src/hubspot/index.ts"],"mappings":";cAGa,mBAAc;EAAc;mBAAc,0BAAA,qBAAA,sBAAA,oBAAA,iBAAA,oBAAA,mBAAA;;;;;;;;;;;;;;;;;;;;;;;;KCHlD;EACH;EACA;GACC;;KAGE,eAAe;EAClB;;iBAEoB,mBAAkB;EAAS;IAAiB,QAAQ;UCFhE;EACR,cAAc;;cAuBH,+BAAY,OAAA"}
\ No newline at end of file Index: package/dist/mailchimp/index.d.ts.map
===================================================================
--- package/dist/mailchimp/index.d.ts.map
+++ package/dist/mailchimp/index.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/mailchimp/create-handler.ts","../../src/mailchimp/index.ts"],"mappings":"AAUA,iBAAsB,qBACpB,KACA;EAEA;EACA;IACE;cAyBS,mBAAgB;EAAW;EAAa;mBAAe,0BAAA,qBAAA,sBAAA,oBAAA,iBAAA,oBAAA,mBAAA;;;;;;;;;;;;;;;;;;;;;;;;UCnC1D;EACR,cAAc;;cAqBH,iCAAc,OAAA"}
\ No newline at end of file
+{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/mailchimp/create-handler.ts","../../src/mailchimp/index.ts"],"mappings":";iBAUsB,qBACpB,KACA;EAEA;EACA;IACE;cAyBS,mBAAgB;EAAW;EAAa;mBAAe,0BAAA,qBAAA,sBAAA,oBAAA,iBAAA,oBAAA,mBAAA;;;;;;;;;;;;;;;;;;;;;;;;UClC1D;EACR,cAAc;;cAqBH,iCAAc,OAAA"}
\ No newline at end of file Index: package/dist/hubspot/index.js.map
===================================================================
--- package/dist/hubspot/index.js.map
+++ package/dist/hubspot/index.js.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"index.js","names":["Card","Text","ReactElement","Option","option","$","_c","t0","name","t1","Symbol","for","background","t2","value","t3","t4","HubSpotForm","id","name","key","MappedResult","value","fetchHubSpotData","token","Promise","apiResponse","fetch","headers","Authorization","ok","console","error","statusText","results","json","map","result","Object","assign","e","createHandler","fetchHubSpotData","hubSpotHandler","token","asyncList","definePlugin","Option","hubSpotHandler","fetchHubSpotData","HubSpotInputConfig","url","URL","ExtendedOption","value","name","hubSpotInput","options","plugins","schemaType","loader","data","fetch","body","json","autocompleteProps","renderOption","option","renderValue"],"sources":["../../src/hubspot/components/option.tsx","../../src/hubspot/fetch-hubspot-data.ts","../../src/hubspot/create-handler.ts","../../src/hubspot/index.ts"],"sourcesContent":["import {Card, Text} from '@sanity/ui'\nimport type {ReactElement} from 'react'\n\nexport const Option = (option: {value: string; name: string}): ReactElement => {\n return (\n <Card data-as=\"button\" padding={3} radius={2} tone=\"inherit\">\n <Text size={2} textOverflow=\"ellipsis\">\n {option.name}\n </Text>\n <Card paddingTop={2} tone=\"inherit\" style={{background: 'inherit'}}>\n <Text size={1} textOverflow=\"ellipsis\">\n {`ID: ${option.value}`}\n </Text>\n </Card>\n </Card>\n )\n}\n","type HubSpotForm = {\n id: string\n name: string\n [key: string]: unknown // Additional properties from the API response\n}\n\ntype MappedResult = HubSpotForm & {\n value: string\n}\nexport async function fetchHubSpotData({token}: {token: string}): Promise<MappedResult[] | null> {\n try {\n const apiResponse = await fetch('https://api.hubapi.com/marketing/v3/forms/?limit=9999', {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n\n if (!apiResponse.ok) {\n console.error(`Failed to fetch data: ${apiResponse.statusText}`)\n return null\n }\n\n const {results}: {results: HubSpotForm[]} = await apiResponse.json()\n\n return results.map((result) => Object.assign(result, {value: result.id}))\n } catch (e: unknown) {\n console.error(e)\n return null // Explicitly return null on error\n }\n}\n","import createHandler from '../shared/create-handler'\nimport {fetchHubSpotData} from './fetch-hubspot-data'\n\nexport const hubSpotHandler = ({token}: {token: string}) => {\n return createHandler(() => fetchHubSpotData({token}))\n}\n","import {asyncList} from '@sanity/sanity-plugin-async-list'\nimport {definePlugin} from 'sanity'\n\nimport {Option} from './components/option'\nimport {hubSpotHandler} from './create-handler'\nimport {fetchHubSpotData} from './fetch-hubspot-data'\ninterface HubSpotInputConfig {\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 {hubSpotInput} from '@sanity/form-toolkit/hubspot'\n *\n * export default defineConfig({\n * // ...\n * plugins: [\n * hubSpotInput({\n * url: 'http://localhost:3000/api/hubspot'\n * })\n * ],\n * })\n * ```\n */\n\ntype ExtendedOption = {value: string; name: string}\nexport {fetchHubSpotData, hubSpotHandler}\nexport const hubSpotInput = definePlugin<HubSpotInputConfig>((options) => {\n return {\n name: 'sanity-plugin-form-toolkit_hubspot-input',\n plugins: [\n asyncList({\n schemaType: 'hubSpotForm',\n loader: async () => {\n const data = await fetch(options.url)\n const body = await data.json()\n return body\n },\n autocompleteProps: {\n renderOption: (option) =>\n // oxlint-disable-next-line typescript-eslint/no-unsafe-type-assertion -- HubSpot loader returns options with a name property\n Option(option as ExtendedOption),\n renderValue(value, option) {\n // @ts-expect-error can't extend default type?\n return option?.name ?? value\n },\n },\n }),\n ],\n }\n})\n"],"mappings":";;;;;;AAGA,MAAaG,UAASC,WAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAAAC;CAAA,AAAAF,EAAA,OAAAD,OAAAI,OAKTD,KAAAF,EAAA,MAFPE,KAAA,oBAAC,MAAD;EAAY,MAAA;EAAgB,cAAA;EACzBH,UAAAA,OAAMI;CADJ,CAAA,GAEEH,EAAA,KAAAD,OAAAI,MAAAH,EAAA,KAAAE;CAAA,IAAAE;CAAA,AAAAJ,EAAA,OAAAK,OAAAC,IAAA,2BAAA,KACoCF,KAAA,EAAAG,YAAa,UAAS,GAACP,EAAA,KAAAI,MAAAA,KAAAJ,EAAA;CAE7D,IAAAQ,KAAA,OAAOT,OAAMU,SAAQC;CAAA,AAAAV,EAAA,OAAAQ,KAEnBE,KAAAV,EAAA,MAJPU,KAAA,oBAAC,MAAD;EAAkB,YAAA;EAAQ,MAAA;EAAiB,OAAAN;EACzC,UAAA,oBAAC,MAAD;GAAY,MAAA;GAAgB,cAAA;GACzBI,UAAAA;EADE,CAAA;CADF,CAAA,GAIER,EAAA,KAAAQ,IAAAR,EAAA,KAAAU;CAAA,IAAAC;CACF,OADEX,EAAA,OAAAE,MAAAF,EAAA,OAAAU,MARTC,KAAA,qBAAC,MAAD;EAAc,WAAA;EAAkB,SAAA;EAAW,QAAA;EAAQ,MAAA;EAAnD,UAAA,CACET,IAGAQ,EAJG;KASEV,EAAA,KAAAE,IAAAF,EAAA,KAAAU,IAAAV,EAAA,KAAAW,MAAAA,KAAAX,EAAA,IATPW;AASO;ACLX,eAAsBO,iBAAiB,EAACC,SAAyD;CAC/F,IAAI;EACF,IAAME,cAAc,MAAMC,MAAM,yDAAyD,EACvFC,SAAS,EACPC,eAAe,UAAUL,QAC3B,EACF,CAAC;EAED,IAAI,CAACE,YAAYI,IAEf,OADAC,QAAQC,MAAM,yBAAyBN,YAAYO,YAAY,GACxD;EAGT,IAAM,EAACC,YAAqC,MAAMR,YAAYS,KAAK;EAEnE,OAAOD,QAAQE,KAAKC,WAAWC,OAAOC,OAAOF,QAAQ,EAACf,OAAOe,OAAOnB,GAAE,CAAC,CAAC;CAC1E,SAASsB,GAAY;EAEnB,OADAT,QAAQC,MAAMQ,CAAC,GACR;CACT;AACF;AC1BA,MAAaG,kBAAkB,EAACC,YACvBH,oBAAoBC,iBAAiB,EAACE,MAAK,CAAC,CAAC,GC0BzCY,eAAeV,cAAkCW,aACrD;CACLF,MAAM;CACNG,SAAS,CACPb,UAAU;EACRc,YAAY;EACZC,QAAQ,YAGCG,OADYF,MADAC,MAAML,QAAQN,GAAG,EAAA,CACZa,KAAK;EAG/BC,mBAAmB;GACjBC,eAAeC,WAEbpB,OAAOoB,MAAwB;GACjCC,YAAYd,OAAOa,QAAQ;IAEzB,OAAOA,QAAQZ,QAAQD;GACzB;EACF;CACF,CAAC,CAAC;AAEN,EACD"}
\ No newline at end of file
+{"version":3,"file":"index.js","names":["Card","Text","ReactElement","Option","option","$","_c","t0","name","t1","Symbol","for","background","t2","value","t3","t4","HubSpotForm","id","name","key","MappedResult","value","fetchHubSpotData","token","Promise","apiResponse","fetch","headers","Authorization","ok","console","error","statusText","results","json","map","result","Object","assign","e","asyncList","definePlugin","Option","hubSpotHandler","fetchHubSpotData","HubSpotInputConfig","url","URL","ExtendedOption","value","name","hubSpotInput","options","plugins","schemaType","loader","data","fetch","body","json","autocompleteProps","renderOption","option","renderValue"],"sources":["../../src/hubspot/components/option.tsx","../../src/hubspot/fetch-hubspot-data.ts","../../src/hubspot/create-handler.ts","../../src/hubspot/index.ts"],"sourcesContent":["import {Card, Text} from '@sanity/ui'\nimport type {ReactElement} from 'react'\n\nexport const Option = (option: {value: string; name: string}): ReactElement => {\n return (\n <Card data-as=\"button\" padding={3} radius={2} tone=\"inherit\">\n <Text size={2} textOverflow=\"ellipsis\">\n {option.name}\n </Text>\n <Card paddingTop={2} tone=\"inherit\" style={{background: 'inherit'}}>\n <Text size={1} textOverflow=\"ellipsis\">\n {`ID: ${option.value}`}\n </Text>\n </Card>\n </Card>\n )\n}\n","type HubSpotForm = {\n id: string\n name: string\n [key: string]: unknown // Additional properties from the API response\n}\n\ntype MappedResult = HubSpotForm & {\n value: string\n}\nexport async function fetchHubSpotData({token}: {token: string}): Promise<MappedResult[] | null> {\n try {\n const apiResponse = await fetch('https://api.hubapi.com/marketing/v3/forms/?limit=9999', {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n\n if (!apiResponse.ok) {\n console.error(`Failed to fetch data: ${apiResponse.statusText}`)\n return null\n }\n\n const {results}: {results: HubSpotForm[]} = await apiResponse.json()\n\n return results.map((result) => Object.assign(result, {value: result.id}))\n } catch (e: unknown) {\n console.error(e)\n return null // Explicitly return null on error\n }\n}\n","import createHandler from '../shared/create-handler'\nimport {fetchHubSpotData} from './fetch-hubspot-data'\n\nexport const hubSpotHandler = ({token}: {token: string}) => {\n return createHandler(() => fetchHubSpotData({token}))\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 {hubSpotHandler} from './create-handler'\nimport {fetchHubSpotData} from './fetch-hubspot-data'\ninterface HubSpotInputConfig {\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 {hubSpotInput} from '@sanity/form-toolkit/hubspot'\n *\n * export default defineConfig({\n * // ...\n * plugins: [\n * hubSpotInput({\n * url: 'http://localhost:3000/api/hubspot'\n * })\n * ],\n * })\n * ```\n */\n\ntype ExtendedOption = {value: string; name: string}\nexport {fetchHubSpotData, hubSpotHandler}\nexport const hubSpotInput = definePlugin<HubSpotInputConfig>((options) => {\n return {\n name: 'sanity-plugin-form-toolkit_hubspot-input',\n plugins: [\n asyncList({\n schemaType: 'hubSpotForm',\n loader: async () => {\n const data = await fetch(options.url)\n const body = await data.json()\n return body\n },\n autocompleteProps: {\n renderOption: (option) =>\n // oxlint-disable-next-line typescript-eslint/no-unsafe-type-assertion -- HubSpot loader returns options with a name property\n Option(option as ExtendedOption),\n renderValue(value, option) {\n // @ts-expect-error can't extend default type?\n return option?.name ?? value\n },\n },\n }),\n ],\n }\n})\n"],"mappings":";;;;;;;AAGA,MAAaG,UAASC,WAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAAAC;CAAA,AAAAF,EAAA,OAAAD,OAAAI,OAKTD,KAAAF,EAAA,MAFPE,KAAA,oBAAC,MAAD;EAAY,MAAA;EAAgB,cAAA;EACzBH,UAAAA,OAAMI;CADJ,CAAA,GAEEH,EAAA,KAAAD,OAAAI,MAAAH,EAAA,KAAAE;CAAA,IAAAE;CAAA,AAAAJ,EAAA,OAAAK,OAAAC,IAAA,2BAAA,KACoCF,KAAA,EAAAG,YAAa,UAAS,GAACP,EAAA,KAAAI,MAAAA,KAAAJ,EAAA;CAE7D,IAAAQ,KAAA,OAAOT,OAAMU,SAAQC;CAAA,AAAAV,EAAA,OAAAQ,KAEnBE,KAAAV,EAAA,MAJPU,KAAA,oBAAC,MAAD;EAAkB,YAAA;EAAQ,MAAA;EAAiB,OAAAN;EACzC,UAAA,oBAAC,MAAD;GAAY,MAAA;GAAgB,cAAA;GACzBI,UAAAA;EADE,CAAA;CADF,CAAA,GAIER,EAAA,KAAAQ,IAAAR,EAAA,KAAAU;CAAA,IAAAC;CACF,OADEX,EAAA,OAAAE,MAAAF,EAAA,OAAAU,MARTC,KAAA,qBAAC,MAAD;EAAc,WAAA;EAAkB,SAAA;EAAW,QAAA;EAAQ,MAAA;EAAnD,UAAA,CACET,IAGAQ,EAJG;KASEV,EAAA,KAAAE,IAAAF,EAAA,KAAAU,IAAAV,EAAA,KAAAW,MAAAA,KAAAX,EAAA,IATPW;AASO;ACLX,eAAsBO,iBAAiB,EAACC,SAAyD;CAC/F,IAAI;EACF,IAAME,cAAc,MAAMC,MAAM,yDAAyD,EACvFC,SAAS,EACPC,eAAe,UAAUL,QAC3B,EACF,CAAC;EAED,IAAI,CAACE,YAAYI,IAEf,OADAC,QAAQC,MAAM,yBAAyBN,YAAYO,YAAY,GACxD;EAGT,IAAM,EAACC,YAAqC,MAAMR,YAAYS,KAAK;EAEnE,OAAOD,QAAQE,KAAKC,WAAWC,OAAOC,OAAOF,QAAQ,EAACf,OAAOe,OAAOnB,GAAE,CAAC,CAAC;CAC1E,SAASsB,GAAY;EAEnB,OADAT,QAAQC,MAAMQ,CAAC,GACR;CACT;AACF;AC1BA,MAAa,kBAAkB,EAAC,YACvB,oBAAoB,iBAAiB,EAAC,MAAK,CAAC,CAAC,GC2BzCY,eAAeV,cAAkCW,aACrD;CACLF,MAAM;CACNG,SAAS,CACPb,UAAU;EACRc,YAAY;EACZC,QAAQ,YAGCG,OADYF,MADAC,MAAML,QAAQN,GAAG,EAAA,CACZa,KAAK;EAG/BC,mBAAmB;GACjBC,eAAeC,WAEbpB,OAAOoB,MAAwB;GACjCC,YAAYd,OAAOa,QAAQ;IAEzB,OAAOA,QAAQZ,QAAQD;GACzB;EACF;CACF,CAAC,CAAC;AAEN,EACD"}
\ No newline at end of file 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 Index: package/dist/hubspot/index.d.ts
===================================================================
--- package/dist/hubspot/index.d.ts
+++ package/dist/hubspot/index.d.ts
@@ -1,4 +1,5 @@
+import "@sanity/ui/styles.css";
declare const hubSpotHandler: ({ token }: {
token: string;
}) => import("h3").EventHandler<import("h3").EventHandlerRequest, Promise<unknown>> | ((req: import("http").IncomingMessage, res: import("http").ServerResponse) => Promise<void>) | {
GET: ({ request }: { Index: package/dist/mailchimp/index.d.ts
===================================================================
--- package/dist/mailchimp/index.d.ts
+++ package/dist/mailchimp/index.d.ts
@@ -1,4 +1,5 @@
+import "@sanity/ui/styles.css";
declare function fetchMailchimpData({ key, server }: {
key: string;
server: string;
}): Promise<unknown>;