@plasmicpkgs/plasmic-graphcms 0.0.179 → 0.0.181

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.
@@ -481,7 +481,7 @@ function GraphCMSFetcher(_ref2) {
481
481
  var headers = {
482
482
  Authorization: "Bearer " + creds.authToken
483
483
  };
484
- var _usePlasmicQueryData = query.usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
484
+ var _usePlasmicQueryData = query.usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
485
485
  var data;
486
486
  return _regeneratorRuntime().wrap(function _callee$(_context) {
487
487
  while (1) switch (_context.prev = _context.next) {
@@ -1 +1 @@
1
- {"version":3,"file":"plasmic-graphcms.cjs.development.js","sources":["../src/graphcms.tsx","../src/index.tsx"],"sourcesContent":["import {\n ComponentMeta,\n DataProvider,\n GlobalContextMeta,\n repeatedElement,\n useSelector,\n} from \"@plasmicapp/host\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport get from \"dlv\";\nimport React, { ReactNode, useContext } from \"react\";\n\nexport function ensure<T>(x: T | null | undefined): T {\n if (x === null || x === undefined) {\n throw new Error(`Value must not be undefined or null`);\n } else {\n return x;\n }\n}\n\nconst modulePath = \"@plasmicpkgs/plasmic-graphcms\";\n\ninterface GraphCMSCredentialsProviderProps {\n apiUrl: string;\n authToken: string;\n}\n\nconst CredentialsContext = React.createContext<\n GraphCMSCredentialsProviderProps | undefined\n>(undefined);\n\nexport const GraphCMSCredentialsProviderMeta: GlobalContextMeta<GraphCMSCredentialsProviderProps> =\n {\n name: \"GraphCMSCredentialsProvider\",\n displayName: \"Hygraph Credentials Provider\",\n description:\n \"Permanent Auth Tokens are used for controlling access to querying, mutating content, and comes in the form of Bearer token authentication.[get your Auth Token](https://graphcms.com/docs/api-reference/basics/authorization#permanent-auth-tokens).\",\n importName: \"GraphCMSCredentialsProvider\",\n importPath: modulePath,\n props: {\n apiUrl: {\n type: \"string\",\n displayName: \"API url\",\n description: \"API url of your Hygraph CMS \",\n defaultValue:\n \"https://api-us-west-2.graphcms.com/v2/cl3ua8gpwdni001z10ucc482i/master\",\n },\n authToken: {\n type: \"string\",\n displayName: \"Auth Token \",\n description: \"Auth Token\",\n defaultValue:\n \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImdjbXMtbWFpbi1wcm9kdWN0aW9uIn0.eyJ2ZXJzaW9uIjozLCJpYXQiOjE2NTQwMDg5NzUsImF1ZCI6WyJodHRwczovL2FwaS11cy13ZXN0LTIuZ3JhcGhjbXMuY29tL3YyL2NsM3VhOGdwd2RuaTAwMXoxMHVjYzQ4MmkvbWFzdGVyIiwiaHR0cHM6Ly9tYW5hZ2VtZW50LW5leHQuZ3JhcGhjbXMuY29tIl0sImlzcyI6Imh0dHBzOi8vbWFuYWdlbWVudC5ncmFwaGNtcy5jb20vIiwic3ViIjoiMWU2NGY0ZDMtODE3Yy00OTdkLWE4YTQtNzA4OTY4Zjg3OTc3IiwianRpIjoiY2thNWoyZW9iMDN0YzAxd2gwZGZkNjdyeSJ9.bWr3rpqT7UmJ5NwoEVatkW_QsqxC8tB-zxdcTecIVR19oS5tcoxbbmwe946B-57Zmqrnc5rNntj9UjN065RqEDFM0iPhy4BCgDHCFfNUuHg5Mmq1qu8-j_ZSN90aJfwVmMNYH9GuOYFiOCd6uytLe8fPcQRWOKpXEcO8q4BusrreCvwkwXIaZV2dq-FOJ4LdBdKcRWwfQWeMdthVzBxrlrxogP_xEYQuMNdfbe5tGWgVsRVDN7eQjB1w9Srqc9T_NgY6x-aL8rPmobcZ1IMdUj9klPPm_dINMzrhZS4OR-HXHPwdnSFObgPeJDPI6YEo2SFAg78PMCNZNRT2DtfDVC4F7cLboxaNUNY4r6Z2d9uBu2N1o05zIXra6Q4JIA--0xBfELTUcmU06Ococioyui8PCI5r_QlRSSlnxrdb85Ht00yMDBRGHPtySGUNiEy9Lq5RcoW1a41bJRmZ-z1Q8zluOUHrgwcIb2DN8xKB9YThPce7ytnFcVajH0K3Hnd57m7SukCgZACmULt_EK0NYTUe1BBmTC8eg9ZBM3lplPWSUzBKWgajGTUNK50KRWokAke_UCEf0gssR3MYLIo5PVN131-bD57nccEPBkegYmmZUACRoYHyI_gQYC-0---MXCS6BV7cK1D-_yDbiBrCCixyKNBYCmhxuZOxVcWu4dk\",\n },\n },\n };\n\nexport function GraphCMSCredentialsProvider({\n apiUrl,\n authToken,\n children,\n}: React.PropsWithChildren<GraphCMSCredentialsProviderProps>) {\n return (\n <CredentialsContext.Provider value={{ apiUrl, authToken }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface GraphCMSFetcherProps {\n children?: ReactNode;\n className?: string;\n noAutoRepeat?: boolean;\n noLayout?: boolean;\n query?: { query?: string; variables?: object };\n varOverrides?: Record<string, any>;\n setControlContextData?: (data: {\n endpoint?: string;\n headers?: HeadersInit;\n }) => void;\n}\n\nexport const GraphCMSFetcherMeta: ComponentMeta<GraphCMSFetcherProps> = {\n name: \"GraphCMSFetcher\",\n displayName: \"Hygraph Fetcher\",\n importName: \"GraphCMSFetcher\",\n importPath: modulePath,\n providesData: true,\n description:\n \"Fetches Hygraph data and repeats content of children once for every row fetched. \",\n defaultStyles: {\n display: \"grid\",\n gridTemplateColumns: \"1fr 1fr 1fr 1fr\",\n gridRowGap: \"8px\",\n gridColumnGap: \"8px\",\n padding: \"8px\",\n maxWidth: \"100%\",\n },\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n styles: {\n padding: \"8px\",\n },\n children: {\n type: \"component\",\n name: \"GraphCMSField\",\n },\n },\n },\n query: {\n type: \"code\",\n lang: \"graphql\",\n endpoint: (props, ctx) => ctx?.endpoint ?? \"\",\n headers: (props, ctx) => ctx?.headers ?? \"\",\n },\n varOverrides: {\n type: \"object\",\n description:\n \"Pass in dynamic values for your query variables, as an object of key-values\",\n defaultValue: {},\n },\n noAutoRepeat: {\n type: \"boolean\",\n displayName: \"No auto-repeat\",\n description: \"Do not automatically repeat children for every entry.\",\n defaultValue: false,\n },\n noLayout: {\n type: \"boolean\",\n displayName: \"No layout\",\n description:\n \"When set, GraphCMS Fetcher will not layout its children; instead, the layout set on its parent element will be used. Useful if you want to set flex gap or control container tag type.\",\n defaultValue: false,\n },\n },\n};\n\nfunction compact(arr: any[]) {\n return arr.filter((x) => !!x);\n}\n\nexport function GraphCMSFetcher({\n query,\n children,\n className,\n noLayout,\n noAutoRepeat,\n varOverrides,\n setControlContextData,\n}: GraphCMSFetcherProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n query,\n creds,\n varOverrides,\n });\n\n const headers = {\n Authorization: `Bearer ${creds.authToken}`,\n };\n\n const { data, error, isLoading } = usePlasmicQueryData<any | null>(\n cacheKey,\n async () => {\n if (!query) {\n return null;\n }\n\n if (\n varOverrides &&\n typeof varOverrides === \"object\" &&\n Object.keys(varOverrides).length > 0\n ) {\n query = {\n ...query,\n variables: {\n ...query.variables,\n ...varOverrides,\n },\n };\n }\n\n const data = await fetch(creds.apiUrl, {\n method: \"POST\",\n headers,\n body: JSON.stringify(query),\n });\n\n return await data.json();\n }\n );\n\n setControlContextData?.({\n endpoint: creds.apiUrl,\n headers,\n });\n\n if (!query) {\n return <div>Please make a query in order to fetch data </div>;\n }\n\n if (!creds.apiUrl || !creds.authToken) {\n return (\n <div>Please specify a valid API Credentials: API Url, Auth Token</div>\n );\n }\n\n if (error) {\n return <div>Error: {error.message}</div>;\n }\n\n if (isLoading) {\n return null;\n }\n\n if (!data?.data || compact(Object.values(data?.data)).length === 0) {\n return <div>Data not found</div>;\n }\n\n const renderedData = noAutoRepeat\n ? children\n : Object.values(data?.data)\n .flatMap((model: any) => (Array.isArray(model) ? model : [model]))\n .map((item: any, i: number) => (\n <DataProvider\n key={JSON.stringify(item)}\n name={\"graphCmsItem\"}\n data={item}\n >\n {repeatedElement(i, children)}\n </DataProvider>\n ));\n return noLayout ? (\n <> {renderedData} </>\n ) : (\n <div className={className}> {renderedData} </div>\n );\n}\n\ninterface GraphCMSFieldProps {\n className?: string;\n path?: string;\n setControlContextData?: (data: { data: any }) => void;\n themeClassName?: string;\n}\nexport const GraphCMSFieldMeta: ComponentMeta<GraphCMSFieldProps> = {\n name: \"GraphCMSField\",\n displayName: \"Hygraph Field\",\n importName: \"GraphCMSField\",\n importPath: modulePath,\n props: {\n path: {\n type: \"dataSelector\",\n data: (props: any, ctx: any) => ctx?.data ?? {},\n displayName: \"Field\",\n description: \"Field to be displayed.\",\n },\n themeClassName: {\n type: \"themeResetClass\",\n targetAllTags: true,\n },\n },\n};\nexport function GraphCMSField({\n className,\n path,\n themeClassName,\n setControlContextData,\n}: GraphCMSFieldProps) {\n const item = useSelector(\"graphCmsItem\");\n if (!item) {\n return <div>GraphCMSField must be used within a GraphCMSFetcher </div>;\n }\n\n setControlContextData?.({ data: item });\n\n if (!path) {\n return <div>Please specify a valid path or select a field.</div>;\n }\n\n // We need to improve this check by making an introspection query\n const isRichText = (data: any) => \"html\" in data;\n\n const data = get(item, path);\n if (typeof data === \"object\" && data.mimeType?.startsWith(\"image\")) {\n return <img src={data.url} className={className} />;\n } else if (typeof data === \"object\" && isRichText(data)) {\n return (\n <div\n className={`${themeClassName} ${className}`}\n dangerouslySetInnerHTML={{ __html: data.html }}\n />\n );\n } else if (!data || typeof data === \"object\") {\n return <div className={className}>Please specify a valid field.</div>;\n } else {\n return <div className={className}>{data}</div>;\n }\n}\n","import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n GraphCMSCredentialsProvider,\n GraphCMSCredentialsProviderMeta,\n GraphCMSFetcher,\n GraphCMSFetcherMeta,\n GraphCMSField,\n GraphCMSFieldMeta,\n} from \"./graphcms\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: ComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n if (loader) {\n loader.registerGlobalContext(\n GraphCMSCredentialsProvider,\n GraphCMSCredentialsProviderMeta\n );\n } else {\n registerGlobalContext(\n GraphCMSCredentialsProvider,\n GraphCMSCredentialsProviderMeta\n );\n }\n\n _registerComponent(GraphCMSFetcher,GraphCMSFetcherMeta);\n _registerComponent(GraphCMSField,GraphCMSFieldMeta);\n}\n\nexport * from \"./graphcms\";\n"],"names":["ensure","x","undefined","Error","modulePath","CredentialsContext","React","createContext","GraphCMSCredentialsProviderMeta","name","displayName","description","importName","importPath","props","apiUrl","type","defaultValue","authToken","GraphCMSCredentialsProvider","_ref","children","Provider","value","GraphCMSFetcherMeta","providesData","defaultStyles","display","gridTemplateColumns","gridRowGap","gridColumnGap","padding","maxWidth","styles","query","lang","endpoint","ctx","_ctx$endpoint","headers","_ctx$headers","varOverrides","noAutoRepeat","noLayout","compact","arr","filter","GraphCMSFetcher","_ref2","className","setControlContextData","creds","useContext","cacheKey","JSON","stringify","Authorization","_usePlasmicQueryData","usePlasmicQueryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","data","wrap","_callee$","_context","prev","next","abrupt","Object","keys","length","_extends","variables","fetch","method","body","sent","json","stop","error","isLoading","message","values","renderedData","flatMap","model","Array","isArray","map","item","i","DataProvider","key","repeatedElement","GraphCMSFieldMeta","path","_ctx$data","themeClassName","targetAllTags","GraphCMSField","_ref4","useSelector","isRichText","get","_data$mimeType","mimeType","startsWith","src","url","dangerouslySetInnerHTML","__html","html","registerAll","loader","_registerComponent","Component","defaultMeta","registerComponent","registerGlobalContext"],"mappings":"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"}
1
+ {"version":3,"file":"plasmic-graphcms.cjs.development.js","sources":["../src/graphcms.tsx","../src/index.tsx"],"sourcesContent":["import {\n ComponentMeta,\n DataProvider,\n GlobalContextMeta,\n repeatedElement,\n useSelector,\n} from \"@plasmicapp/host\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport get from \"dlv\";\nimport React, { ReactNode, useContext } from \"react\";\n\nexport function ensure<T>(x: T | null | undefined): T {\n if (x === null || x === undefined) {\n throw new Error(`Value must not be undefined or null`);\n } else {\n return x;\n }\n}\n\nconst modulePath = \"@plasmicpkgs/plasmic-graphcms\";\n\ninterface GraphCMSCredentialsProviderProps {\n apiUrl: string;\n authToken: string;\n}\n\nconst CredentialsContext = React.createContext<\n GraphCMSCredentialsProviderProps | undefined\n>(undefined);\n\nexport const GraphCMSCredentialsProviderMeta: GlobalContextMeta<GraphCMSCredentialsProviderProps> =\n {\n name: \"GraphCMSCredentialsProvider\",\n displayName: \"Hygraph Credentials Provider\",\n description:\n \"Permanent Auth Tokens are used for controlling access to querying, mutating content, and comes in the form of Bearer token authentication.[get your Auth Token](https://graphcms.com/docs/api-reference/basics/authorization#permanent-auth-tokens).\",\n importName: \"GraphCMSCredentialsProvider\",\n importPath: modulePath,\n props: {\n apiUrl: {\n type: \"string\",\n displayName: \"API url\",\n description: \"API url of your Hygraph CMS \",\n defaultValue:\n \"https://api-us-west-2.graphcms.com/v2/cl3ua8gpwdni001z10ucc482i/master\",\n },\n authToken: {\n type: \"string\",\n displayName: \"Auth Token \",\n description: \"Auth Token\",\n defaultValue:\n \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImdjbXMtbWFpbi1wcm9kdWN0aW9uIn0.eyJ2ZXJzaW9uIjozLCJpYXQiOjE2NTQwMDg5NzUsImF1ZCI6WyJodHRwczovL2FwaS11cy13ZXN0LTIuZ3JhcGhjbXMuY29tL3YyL2NsM3VhOGdwd2RuaTAwMXoxMHVjYzQ4MmkvbWFzdGVyIiwiaHR0cHM6Ly9tYW5hZ2VtZW50LW5leHQuZ3JhcGhjbXMuY29tIl0sImlzcyI6Imh0dHBzOi8vbWFuYWdlbWVudC5ncmFwaGNtcy5jb20vIiwic3ViIjoiMWU2NGY0ZDMtODE3Yy00OTdkLWE4YTQtNzA4OTY4Zjg3OTc3IiwianRpIjoiY2thNWoyZW9iMDN0YzAxd2gwZGZkNjdyeSJ9.bWr3rpqT7UmJ5NwoEVatkW_QsqxC8tB-zxdcTecIVR19oS5tcoxbbmwe946B-57Zmqrnc5rNntj9UjN065RqEDFM0iPhy4BCgDHCFfNUuHg5Mmq1qu8-j_ZSN90aJfwVmMNYH9GuOYFiOCd6uytLe8fPcQRWOKpXEcO8q4BusrreCvwkwXIaZV2dq-FOJ4LdBdKcRWwfQWeMdthVzBxrlrxogP_xEYQuMNdfbe5tGWgVsRVDN7eQjB1w9Srqc9T_NgY6x-aL8rPmobcZ1IMdUj9klPPm_dINMzrhZS4OR-HXHPwdnSFObgPeJDPI6YEo2SFAg78PMCNZNRT2DtfDVC4F7cLboxaNUNY4r6Z2d9uBu2N1o05zIXra6Q4JIA--0xBfELTUcmU06Ococioyui8PCI5r_QlRSSlnxrdb85Ht00yMDBRGHPtySGUNiEy9Lq5RcoW1a41bJRmZ-z1Q8zluOUHrgwcIb2DN8xKB9YThPce7ytnFcVajH0K3Hnd57m7SukCgZACmULt_EK0NYTUe1BBmTC8eg9ZBM3lplPWSUzBKWgajGTUNK50KRWokAke_UCEf0gssR3MYLIo5PVN131-bD57nccEPBkegYmmZUACRoYHyI_gQYC-0---MXCS6BV7cK1D-_yDbiBrCCixyKNBYCmhxuZOxVcWu4dk\",\n },\n },\n };\n\nexport function GraphCMSCredentialsProvider({\n apiUrl,\n authToken,\n children,\n}: React.PropsWithChildren<GraphCMSCredentialsProviderProps>) {\n return (\n <CredentialsContext.Provider value={{ apiUrl, authToken }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface GraphCMSFetcherProps {\n children?: ReactNode;\n className?: string;\n noAutoRepeat?: boolean;\n noLayout?: boolean;\n query?: { query?: string; variables?: object };\n varOverrides?: Record<string, any>;\n setControlContextData?: (data: {\n endpoint?: string;\n headers?: HeadersInit;\n }) => void;\n}\n\nexport const GraphCMSFetcherMeta: ComponentMeta<GraphCMSFetcherProps> = {\n name: \"GraphCMSFetcher\",\n displayName: \"Hygraph Fetcher\",\n importName: \"GraphCMSFetcher\",\n importPath: modulePath,\n providesData: true,\n description:\n \"Fetches Hygraph data and repeats content of children once for every row fetched. \",\n defaultStyles: {\n display: \"grid\",\n gridTemplateColumns: \"1fr 1fr 1fr 1fr\",\n gridRowGap: \"8px\",\n gridColumnGap: \"8px\",\n padding: \"8px\",\n maxWidth: \"100%\",\n },\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n styles: {\n padding: \"8px\",\n },\n children: {\n type: \"component\",\n name: \"GraphCMSField\",\n },\n },\n },\n query: {\n type: \"code\",\n lang: \"graphql\",\n endpoint: (props, ctx) => ctx?.endpoint ?? \"\",\n headers: (props, ctx) => ctx?.headers ?? \"\",\n },\n varOverrides: {\n type: \"object\",\n description:\n \"Pass in dynamic values for your query variables, as an object of key-values\",\n defaultValue: {},\n },\n noAutoRepeat: {\n type: \"boolean\",\n displayName: \"No auto-repeat\",\n description: \"Do not automatically repeat children for every entry.\",\n defaultValue: false,\n },\n noLayout: {\n type: \"boolean\",\n displayName: \"No layout\",\n description:\n \"When set, GraphCMS Fetcher will not layout its children; instead, the layout set on its parent element will be used. Useful if you want to set flex gap or control container tag type.\",\n defaultValue: false,\n },\n },\n};\n\nfunction compact(arr: any[]) {\n return arr.filter((x) => !!x);\n}\n\nexport function GraphCMSFetcher({\n query,\n children,\n className,\n noLayout,\n noAutoRepeat,\n varOverrides,\n setControlContextData,\n}: GraphCMSFetcherProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n query,\n creds,\n varOverrides,\n });\n\n const headers = {\n Authorization: `Bearer ${creds.authToken}`,\n };\n\n const { data, error, isLoading } = usePlasmicQueryData<any | null>(\n cacheKey,\n async () => {\n if (!query) {\n return null;\n }\n\n if (\n varOverrides &&\n typeof varOverrides === \"object\" &&\n Object.keys(varOverrides).length > 0\n ) {\n query = {\n ...query,\n variables: {\n ...query.variables,\n ...varOverrides,\n },\n };\n }\n\n const data = await fetch(creds.apiUrl, {\n method: \"POST\",\n headers,\n body: JSON.stringify(query),\n });\n\n return await data.json();\n }\n );\n\n setControlContextData?.({\n endpoint: creds.apiUrl,\n headers,\n });\n\n if (!query) {\n return <div>Please make a query in order to fetch data </div>;\n }\n\n if (!creds.apiUrl || !creds.authToken) {\n return (\n <div>Please specify a valid API Credentials: API Url, Auth Token</div>\n );\n }\n\n if (error) {\n return <div>Error: {error.message}</div>;\n }\n\n if (isLoading) {\n return null;\n }\n\n if (!data?.data || compact(Object.values(data?.data)).length === 0) {\n return <div>Data not found</div>;\n }\n\n const renderedData = noAutoRepeat\n ? children\n : Object.values(data?.data)\n .flatMap((model: any) => (Array.isArray(model) ? model : [model]))\n .map((item: any, i: number) => (\n <DataProvider\n key={JSON.stringify(item)}\n name={\"graphCmsItem\"}\n data={item}\n >\n {repeatedElement(i, children)}\n </DataProvider>\n ));\n return noLayout ? (\n <> {renderedData} </>\n ) : (\n <div className={className}> {renderedData} </div>\n );\n}\n\ninterface GraphCMSFieldProps {\n className?: string;\n path?: string;\n setControlContextData?: (data: { data: any }) => void;\n themeClassName?: string;\n}\nexport const GraphCMSFieldMeta: ComponentMeta<GraphCMSFieldProps> = {\n name: \"GraphCMSField\",\n displayName: \"Hygraph Field\",\n importName: \"GraphCMSField\",\n importPath: modulePath,\n props: {\n path: {\n type: \"dataSelector\",\n data: (props: any, ctx: any) => ctx?.data ?? {},\n displayName: \"Field\",\n description: \"Field to be displayed.\",\n },\n themeClassName: {\n type: \"themeResetClass\",\n targetAllTags: true,\n },\n },\n};\nexport function GraphCMSField({\n className,\n path,\n themeClassName,\n setControlContextData,\n}: GraphCMSFieldProps) {\n const item = useSelector(\"graphCmsItem\");\n if (!item) {\n return <div>GraphCMSField must be used within a GraphCMSFetcher </div>;\n }\n\n setControlContextData?.({ data: item });\n\n if (!path) {\n return <div>Please specify a valid path or select a field.</div>;\n }\n\n // We need to improve this check by making an introspection query\n const isRichText = (data: any) => \"html\" in data;\n\n const data = get(item, path);\n if (typeof data === \"object\" && data.mimeType?.startsWith(\"image\")) {\n return <img src={data.url} className={className} />;\n } else if (typeof data === \"object\" && isRichText(data)) {\n return (\n <div\n className={`${themeClassName} ${className}`}\n dangerouslySetInnerHTML={{ __html: data.html }}\n />\n );\n } else if (!data || typeof data === \"object\") {\n return <div className={className}>Please specify a valid field.</div>;\n } else {\n return <div className={className}>{data}</div>;\n }\n}\n","import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n GraphCMSCredentialsProvider,\n GraphCMSCredentialsProviderMeta,\n GraphCMSFetcher,\n GraphCMSFetcherMeta,\n GraphCMSField,\n GraphCMSFieldMeta,\n} from \"./graphcms\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: ComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n if (loader) {\n loader.registerGlobalContext(\n GraphCMSCredentialsProvider,\n GraphCMSCredentialsProviderMeta\n );\n } else {\n registerGlobalContext(\n GraphCMSCredentialsProvider,\n GraphCMSCredentialsProviderMeta\n );\n }\n\n _registerComponent(GraphCMSFetcher,GraphCMSFetcherMeta);\n _registerComponent(GraphCMSField,GraphCMSFieldMeta);\n}\n\nexport * from \"./graphcms\";\n"],"names":["ensure","x","undefined","Error","modulePath","CredentialsContext","React","createContext","GraphCMSCredentialsProviderMeta","name","displayName","description","importName","importPath","props","apiUrl","type","defaultValue","authToken","GraphCMSCredentialsProvider","_ref","children","Provider","value","GraphCMSFetcherMeta","providesData","defaultStyles","display","gridTemplateColumns","gridRowGap","gridColumnGap","padding","maxWidth","styles","query","lang","endpoint","ctx","_ctx$endpoint","headers","_ctx$headers","varOverrides","noAutoRepeat","noLayout","compact","arr","filter","GraphCMSFetcher","_ref2","className","setControlContextData","creds","useContext","cacheKey","JSON","stringify","Authorization","_usePlasmicQueryData","usePlasmicQueryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","data","wrap","_callee$","_context","prev","next","abrupt","Object","keys","length","_extends","variables","fetch","method","body","sent","json","stop","error","isLoading","message","values","renderedData","flatMap","model","Array","isArray","map","item","i","DataProvider","key","repeatedElement","GraphCMSFieldMeta","path","_ctx$data","themeClassName","targetAllTags","GraphCMSField","_ref4","useSelector","isRichText","get","_data$mimeType","mimeType","startsWith","src","url","dangerouslySetInnerHTML","__html","html","registerAll","loader","_registerComponent","Component","defaultMeta","registerComponent","registerGlobalContext"],"mappings":"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"}
@@ -474,7 +474,7 @@ function GraphCMSFetcher(_ref2) {
474
474
  var headers = {
475
475
  Authorization: "Bearer " + creds.authToken
476
476
  };
477
- var _usePlasmicQueryData = usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
477
+ var _usePlasmicQueryData = usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
478
478
  var data;
479
479
  return _regeneratorRuntime().wrap(function _callee$(_context) {
480
480
  while (1) switch (_context.prev = _context.next) {
@@ -1 +1 @@
1
- {"version":3,"file":"plasmic-graphcms.esm.js","sources":["../src/graphcms.tsx","../src/index.tsx"],"sourcesContent":["import {\n ComponentMeta,\n DataProvider,\n GlobalContextMeta,\n repeatedElement,\n useSelector,\n} from \"@plasmicapp/host\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport get from \"dlv\";\nimport React, { ReactNode, useContext } from \"react\";\n\nexport function ensure<T>(x: T | null | undefined): T {\n if (x === null || x === undefined) {\n throw new Error(`Value must not be undefined or null`);\n } else {\n return x;\n }\n}\n\nconst modulePath = \"@plasmicpkgs/plasmic-graphcms\";\n\ninterface GraphCMSCredentialsProviderProps {\n apiUrl: string;\n authToken: string;\n}\n\nconst CredentialsContext = React.createContext<\n GraphCMSCredentialsProviderProps | undefined\n>(undefined);\n\nexport const GraphCMSCredentialsProviderMeta: GlobalContextMeta<GraphCMSCredentialsProviderProps> =\n {\n name: \"GraphCMSCredentialsProvider\",\n displayName: \"Hygraph Credentials Provider\",\n description:\n \"Permanent Auth Tokens are used for controlling access to querying, mutating content, and comes in the form of Bearer token authentication.[get your Auth Token](https://graphcms.com/docs/api-reference/basics/authorization#permanent-auth-tokens).\",\n importName: \"GraphCMSCredentialsProvider\",\n importPath: modulePath,\n props: {\n apiUrl: {\n type: \"string\",\n displayName: \"API url\",\n description: \"API url of your Hygraph CMS \",\n defaultValue:\n \"https://api-us-west-2.graphcms.com/v2/cl3ua8gpwdni001z10ucc482i/master\",\n },\n authToken: {\n type: \"string\",\n displayName: \"Auth Token \",\n description: \"Auth Token\",\n defaultValue:\n \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImdjbXMtbWFpbi1wcm9kdWN0aW9uIn0.eyJ2ZXJzaW9uIjozLCJpYXQiOjE2NTQwMDg5NzUsImF1ZCI6WyJodHRwczovL2FwaS11cy13ZXN0LTIuZ3JhcGhjbXMuY29tL3YyL2NsM3VhOGdwd2RuaTAwMXoxMHVjYzQ4MmkvbWFzdGVyIiwiaHR0cHM6Ly9tYW5hZ2VtZW50LW5leHQuZ3JhcGhjbXMuY29tIl0sImlzcyI6Imh0dHBzOi8vbWFuYWdlbWVudC5ncmFwaGNtcy5jb20vIiwic3ViIjoiMWU2NGY0ZDMtODE3Yy00OTdkLWE4YTQtNzA4OTY4Zjg3OTc3IiwianRpIjoiY2thNWoyZW9iMDN0YzAxd2gwZGZkNjdyeSJ9.bWr3rpqT7UmJ5NwoEVatkW_QsqxC8tB-zxdcTecIVR19oS5tcoxbbmwe946B-57Zmqrnc5rNntj9UjN065RqEDFM0iPhy4BCgDHCFfNUuHg5Mmq1qu8-j_ZSN90aJfwVmMNYH9GuOYFiOCd6uytLe8fPcQRWOKpXEcO8q4BusrreCvwkwXIaZV2dq-FOJ4LdBdKcRWwfQWeMdthVzBxrlrxogP_xEYQuMNdfbe5tGWgVsRVDN7eQjB1w9Srqc9T_NgY6x-aL8rPmobcZ1IMdUj9klPPm_dINMzrhZS4OR-HXHPwdnSFObgPeJDPI6YEo2SFAg78PMCNZNRT2DtfDVC4F7cLboxaNUNY4r6Z2d9uBu2N1o05zIXra6Q4JIA--0xBfELTUcmU06Ococioyui8PCI5r_QlRSSlnxrdb85Ht00yMDBRGHPtySGUNiEy9Lq5RcoW1a41bJRmZ-z1Q8zluOUHrgwcIb2DN8xKB9YThPce7ytnFcVajH0K3Hnd57m7SukCgZACmULt_EK0NYTUe1BBmTC8eg9ZBM3lplPWSUzBKWgajGTUNK50KRWokAke_UCEf0gssR3MYLIo5PVN131-bD57nccEPBkegYmmZUACRoYHyI_gQYC-0---MXCS6BV7cK1D-_yDbiBrCCixyKNBYCmhxuZOxVcWu4dk\",\n },\n },\n };\n\nexport function GraphCMSCredentialsProvider({\n apiUrl,\n authToken,\n children,\n}: React.PropsWithChildren<GraphCMSCredentialsProviderProps>) {\n return (\n <CredentialsContext.Provider value={{ apiUrl, authToken }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface GraphCMSFetcherProps {\n children?: ReactNode;\n className?: string;\n noAutoRepeat?: boolean;\n noLayout?: boolean;\n query?: { query?: string; variables?: object };\n varOverrides?: Record<string, any>;\n setControlContextData?: (data: {\n endpoint?: string;\n headers?: HeadersInit;\n }) => void;\n}\n\nexport const GraphCMSFetcherMeta: ComponentMeta<GraphCMSFetcherProps> = {\n name: \"GraphCMSFetcher\",\n displayName: \"Hygraph Fetcher\",\n importName: \"GraphCMSFetcher\",\n importPath: modulePath,\n providesData: true,\n description:\n \"Fetches Hygraph data and repeats content of children once for every row fetched. \",\n defaultStyles: {\n display: \"grid\",\n gridTemplateColumns: \"1fr 1fr 1fr 1fr\",\n gridRowGap: \"8px\",\n gridColumnGap: \"8px\",\n padding: \"8px\",\n maxWidth: \"100%\",\n },\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n styles: {\n padding: \"8px\",\n },\n children: {\n type: \"component\",\n name: \"GraphCMSField\",\n },\n },\n },\n query: {\n type: \"code\",\n lang: \"graphql\",\n endpoint: (props, ctx) => ctx?.endpoint ?? \"\",\n headers: (props, ctx) => ctx?.headers ?? \"\",\n },\n varOverrides: {\n type: \"object\",\n description:\n \"Pass in dynamic values for your query variables, as an object of key-values\",\n defaultValue: {},\n },\n noAutoRepeat: {\n type: \"boolean\",\n displayName: \"No auto-repeat\",\n description: \"Do not automatically repeat children for every entry.\",\n defaultValue: false,\n },\n noLayout: {\n type: \"boolean\",\n displayName: \"No layout\",\n description:\n \"When set, GraphCMS Fetcher will not layout its children; instead, the layout set on its parent element will be used. Useful if you want to set flex gap or control container tag type.\",\n defaultValue: false,\n },\n },\n};\n\nfunction compact(arr: any[]) {\n return arr.filter((x) => !!x);\n}\n\nexport function GraphCMSFetcher({\n query,\n children,\n className,\n noLayout,\n noAutoRepeat,\n varOverrides,\n setControlContextData,\n}: GraphCMSFetcherProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n query,\n creds,\n varOverrides,\n });\n\n const headers = {\n Authorization: `Bearer ${creds.authToken}`,\n };\n\n const { data, error, isLoading } = usePlasmicQueryData<any | null>(\n cacheKey,\n async () => {\n if (!query) {\n return null;\n }\n\n if (\n varOverrides &&\n typeof varOverrides === \"object\" &&\n Object.keys(varOverrides).length > 0\n ) {\n query = {\n ...query,\n variables: {\n ...query.variables,\n ...varOverrides,\n },\n };\n }\n\n const data = await fetch(creds.apiUrl, {\n method: \"POST\",\n headers,\n body: JSON.stringify(query),\n });\n\n return await data.json();\n }\n );\n\n setControlContextData?.({\n endpoint: creds.apiUrl,\n headers,\n });\n\n if (!query) {\n return <div>Please make a query in order to fetch data </div>;\n }\n\n if (!creds.apiUrl || !creds.authToken) {\n return (\n <div>Please specify a valid API Credentials: API Url, Auth Token</div>\n );\n }\n\n if (error) {\n return <div>Error: {error.message}</div>;\n }\n\n if (isLoading) {\n return null;\n }\n\n if (!data?.data || compact(Object.values(data?.data)).length === 0) {\n return <div>Data not found</div>;\n }\n\n const renderedData = noAutoRepeat\n ? children\n : Object.values(data?.data)\n .flatMap((model: any) => (Array.isArray(model) ? model : [model]))\n .map((item: any, i: number) => (\n <DataProvider\n key={JSON.stringify(item)}\n name={\"graphCmsItem\"}\n data={item}\n >\n {repeatedElement(i, children)}\n </DataProvider>\n ));\n return noLayout ? (\n <> {renderedData} </>\n ) : (\n <div className={className}> {renderedData} </div>\n );\n}\n\ninterface GraphCMSFieldProps {\n className?: string;\n path?: string;\n setControlContextData?: (data: { data: any }) => void;\n themeClassName?: string;\n}\nexport const GraphCMSFieldMeta: ComponentMeta<GraphCMSFieldProps> = {\n name: \"GraphCMSField\",\n displayName: \"Hygraph Field\",\n importName: \"GraphCMSField\",\n importPath: modulePath,\n props: {\n path: {\n type: \"dataSelector\",\n data: (props: any, ctx: any) => ctx?.data ?? {},\n displayName: \"Field\",\n description: \"Field to be displayed.\",\n },\n themeClassName: {\n type: \"themeResetClass\",\n targetAllTags: true,\n },\n },\n};\nexport function GraphCMSField({\n className,\n path,\n themeClassName,\n setControlContextData,\n}: GraphCMSFieldProps) {\n const item = useSelector(\"graphCmsItem\");\n if (!item) {\n return <div>GraphCMSField must be used within a GraphCMSFetcher </div>;\n }\n\n setControlContextData?.({ data: item });\n\n if (!path) {\n return <div>Please specify a valid path or select a field.</div>;\n }\n\n // We need to improve this check by making an introspection query\n const isRichText = (data: any) => \"html\" in data;\n\n const data = get(item, path);\n if (typeof data === \"object\" && data.mimeType?.startsWith(\"image\")) {\n return <img src={data.url} className={className} />;\n } else if (typeof data === \"object\" && isRichText(data)) {\n return (\n <div\n className={`${themeClassName} ${className}`}\n dangerouslySetInnerHTML={{ __html: data.html }}\n />\n );\n } else if (!data || typeof data === \"object\") {\n return <div className={className}>Please specify a valid field.</div>;\n } else {\n return <div className={className}>{data}</div>;\n }\n}\n","import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n GraphCMSCredentialsProvider,\n GraphCMSCredentialsProviderMeta,\n GraphCMSFetcher,\n GraphCMSFetcherMeta,\n GraphCMSField,\n GraphCMSFieldMeta,\n} from \"./graphcms\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: ComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n if (loader) {\n loader.registerGlobalContext(\n GraphCMSCredentialsProvider,\n GraphCMSCredentialsProviderMeta\n );\n } else {\n registerGlobalContext(\n GraphCMSCredentialsProvider,\n GraphCMSCredentialsProviderMeta\n );\n }\n\n _registerComponent(GraphCMSFetcher,GraphCMSFetcherMeta);\n _registerComponent(GraphCMSField,GraphCMSFieldMeta);\n}\n\nexport * from \"./graphcms\";\n"],"names":["ensure","x","undefined","Error","modulePath","CredentialsContext","React","createContext","GraphCMSCredentialsProviderMeta","name","displayName","description","importName","importPath","props","apiUrl","type","defaultValue","authToken","GraphCMSCredentialsProvider","_ref","children","Provider","value","GraphCMSFetcherMeta","providesData","defaultStyles","display","gridTemplateColumns","gridRowGap","gridColumnGap","padding","maxWidth","styles","query","lang","endpoint","ctx","_ctx$endpoint","headers","_ctx$headers","varOverrides","noAutoRepeat","noLayout","compact","arr","filter","GraphCMSFetcher","_ref2","className","setControlContextData","creds","useContext","cacheKey","JSON","stringify","Authorization","_usePlasmicQueryData","usePlasmicQueryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","data","wrap","_callee$","_context","prev","next","abrupt","Object","keys","length","_extends","variables","fetch","method","body","sent","json","stop","error","isLoading","message","values","renderedData","flatMap","model","Array","isArray","map","item","i","DataProvider","key","repeatedElement","GraphCMSFieldMeta","path","_ctx$data","themeClassName","targetAllTags","GraphCMSField","_ref4","useSelector","isRichText","get","_data$mimeType","mimeType","startsWith","src","url","dangerouslySetInnerHTML","__html","html","registerAll","loader","_registerComponent","Component","defaultMeta","registerComponent","registerGlobalContext"],"mappings":"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"}
1
+ {"version":3,"file":"plasmic-graphcms.esm.js","sources":["../src/graphcms.tsx","../src/index.tsx"],"sourcesContent":["import {\n ComponentMeta,\n DataProvider,\n GlobalContextMeta,\n repeatedElement,\n useSelector,\n} from \"@plasmicapp/host\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport get from \"dlv\";\nimport React, { ReactNode, useContext } from \"react\";\n\nexport function ensure<T>(x: T | null | undefined): T {\n if (x === null || x === undefined) {\n throw new Error(`Value must not be undefined or null`);\n } else {\n return x;\n }\n}\n\nconst modulePath = \"@plasmicpkgs/plasmic-graphcms\";\n\ninterface GraphCMSCredentialsProviderProps {\n apiUrl: string;\n authToken: string;\n}\n\nconst CredentialsContext = React.createContext<\n GraphCMSCredentialsProviderProps | undefined\n>(undefined);\n\nexport const GraphCMSCredentialsProviderMeta: GlobalContextMeta<GraphCMSCredentialsProviderProps> =\n {\n name: \"GraphCMSCredentialsProvider\",\n displayName: \"Hygraph Credentials Provider\",\n description:\n \"Permanent Auth Tokens are used for controlling access to querying, mutating content, and comes in the form of Bearer token authentication.[get your Auth Token](https://graphcms.com/docs/api-reference/basics/authorization#permanent-auth-tokens).\",\n importName: \"GraphCMSCredentialsProvider\",\n importPath: modulePath,\n props: {\n apiUrl: {\n type: \"string\",\n displayName: \"API url\",\n description: \"API url of your Hygraph CMS \",\n defaultValue:\n \"https://api-us-west-2.graphcms.com/v2/cl3ua8gpwdni001z10ucc482i/master\",\n },\n authToken: {\n type: \"string\",\n displayName: \"Auth Token \",\n description: \"Auth Token\",\n defaultValue:\n \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImdjbXMtbWFpbi1wcm9kdWN0aW9uIn0.eyJ2ZXJzaW9uIjozLCJpYXQiOjE2NTQwMDg5NzUsImF1ZCI6WyJodHRwczovL2FwaS11cy13ZXN0LTIuZ3JhcGhjbXMuY29tL3YyL2NsM3VhOGdwd2RuaTAwMXoxMHVjYzQ4MmkvbWFzdGVyIiwiaHR0cHM6Ly9tYW5hZ2VtZW50LW5leHQuZ3JhcGhjbXMuY29tIl0sImlzcyI6Imh0dHBzOi8vbWFuYWdlbWVudC5ncmFwaGNtcy5jb20vIiwic3ViIjoiMWU2NGY0ZDMtODE3Yy00OTdkLWE4YTQtNzA4OTY4Zjg3OTc3IiwianRpIjoiY2thNWoyZW9iMDN0YzAxd2gwZGZkNjdyeSJ9.bWr3rpqT7UmJ5NwoEVatkW_QsqxC8tB-zxdcTecIVR19oS5tcoxbbmwe946B-57Zmqrnc5rNntj9UjN065RqEDFM0iPhy4BCgDHCFfNUuHg5Mmq1qu8-j_ZSN90aJfwVmMNYH9GuOYFiOCd6uytLe8fPcQRWOKpXEcO8q4BusrreCvwkwXIaZV2dq-FOJ4LdBdKcRWwfQWeMdthVzBxrlrxogP_xEYQuMNdfbe5tGWgVsRVDN7eQjB1w9Srqc9T_NgY6x-aL8rPmobcZ1IMdUj9klPPm_dINMzrhZS4OR-HXHPwdnSFObgPeJDPI6YEo2SFAg78PMCNZNRT2DtfDVC4F7cLboxaNUNY4r6Z2d9uBu2N1o05zIXra6Q4JIA--0xBfELTUcmU06Ococioyui8PCI5r_QlRSSlnxrdb85Ht00yMDBRGHPtySGUNiEy9Lq5RcoW1a41bJRmZ-z1Q8zluOUHrgwcIb2DN8xKB9YThPce7ytnFcVajH0K3Hnd57m7SukCgZACmULt_EK0NYTUe1BBmTC8eg9ZBM3lplPWSUzBKWgajGTUNK50KRWokAke_UCEf0gssR3MYLIo5PVN131-bD57nccEPBkegYmmZUACRoYHyI_gQYC-0---MXCS6BV7cK1D-_yDbiBrCCixyKNBYCmhxuZOxVcWu4dk\",\n },\n },\n };\n\nexport function GraphCMSCredentialsProvider({\n apiUrl,\n authToken,\n children,\n}: React.PropsWithChildren<GraphCMSCredentialsProviderProps>) {\n return (\n <CredentialsContext.Provider value={{ apiUrl, authToken }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface GraphCMSFetcherProps {\n children?: ReactNode;\n className?: string;\n noAutoRepeat?: boolean;\n noLayout?: boolean;\n query?: { query?: string; variables?: object };\n varOverrides?: Record<string, any>;\n setControlContextData?: (data: {\n endpoint?: string;\n headers?: HeadersInit;\n }) => void;\n}\n\nexport const GraphCMSFetcherMeta: ComponentMeta<GraphCMSFetcherProps> = {\n name: \"GraphCMSFetcher\",\n displayName: \"Hygraph Fetcher\",\n importName: \"GraphCMSFetcher\",\n importPath: modulePath,\n providesData: true,\n description:\n \"Fetches Hygraph data and repeats content of children once for every row fetched. \",\n defaultStyles: {\n display: \"grid\",\n gridTemplateColumns: \"1fr 1fr 1fr 1fr\",\n gridRowGap: \"8px\",\n gridColumnGap: \"8px\",\n padding: \"8px\",\n maxWidth: \"100%\",\n },\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n styles: {\n padding: \"8px\",\n },\n children: {\n type: \"component\",\n name: \"GraphCMSField\",\n },\n },\n },\n query: {\n type: \"code\",\n lang: \"graphql\",\n endpoint: (props, ctx) => ctx?.endpoint ?? \"\",\n headers: (props, ctx) => ctx?.headers ?? \"\",\n },\n varOverrides: {\n type: \"object\",\n description:\n \"Pass in dynamic values for your query variables, as an object of key-values\",\n defaultValue: {},\n },\n noAutoRepeat: {\n type: \"boolean\",\n displayName: \"No auto-repeat\",\n description: \"Do not automatically repeat children for every entry.\",\n defaultValue: false,\n },\n noLayout: {\n type: \"boolean\",\n displayName: \"No layout\",\n description:\n \"When set, GraphCMS Fetcher will not layout its children; instead, the layout set on its parent element will be used. Useful if you want to set flex gap or control container tag type.\",\n defaultValue: false,\n },\n },\n};\n\nfunction compact(arr: any[]) {\n return arr.filter((x) => !!x);\n}\n\nexport function GraphCMSFetcher({\n query,\n children,\n className,\n noLayout,\n noAutoRepeat,\n varOverrides,\n setControlContextData,\n}: GraphCMSFetcherProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n query,\n creds,\n varOverrides,\n });\n\n const headers = {\n Authorization: `Bearer ${creds.authToken}`,\n };\n\n const { data, error, isLoading } = usePlasmicQueryData<any | null>(\n cacheKey,\n async () => {\n if (!query) {\n return null;\n }\n\n if (\n varOverrides &&\n typeof varOverrides === \"object\" &&\n Object.keys(varOverrides).length > 0\n ) {\n query = {\n ...query,\n variables: {\n ...query.variables,\n ...varOverrides,\n },\n };\n }\n\n const data = await fetch(creds.apiUrl, {\n method: \"POST\",\n headers,\n body: JSON.stringify(query),\n });\n\n return await data.json();\n }\n );\n\n setControlContextData?.({\n endpoint: creds.apiUrl,\n headers,\n });\n\n if (!query) {\n return <div>Please make a query in order to fetch data </div>;\n }\n\n if (!creds.apiUrl || !creds.authToken) {\n return (\n <div>Please specify a valid API Credentials: API Url, Auth Token</div>\n );\n }\n\n if (error) {\n return <div>Error: {error.message}</div>;\n }\n\n if (isLoading) {\n return null;\n }\n\n if (!data?.data || compact(Object.values(data?.data)).length === 0) {\n return <div>Data not found</div>;\n }\n\n const renderedData = noAutoRepeat\n ? children\n : Object.values(data?.data)\n .flatMap((model: any) => (Array.isArray(model) ? model : [model]))\n .map((item: any, i: number) => (\n <DataProvider\n key={JSON.stringify(item)}\n name={\"graphCmsItem\"}\n data={item}\n >\n {repeatedElement(i, children)}\n </DataProvider>\n ));\n return noLayout ? (\n <> {renderedData} </>\n ) : (\n <div className={className}> {renderedData} </div>\n );\n}\n\ninterface GraphCMSFieldProps {\n className?: string;\n path?: string;\n setControlContextData?: (data: { data: any }) => void;\n themeClassName?: string;\n}\nexport const GraphCMSFieldMeta: ComponentMeta<GraphCMSFieldProps> = {\n name: \"GraphCMSField\",\n displayName: \"Hygraph Field\",\n importName: \"GraphCMSField\",\n importPath: modulePath,\n props: {\n path: {\n type: \"dataSelector\",\n data: (props: any, ctx: any) => ctx?.data ?? {},\n displayName: \"Field\",\n description: \"Field to be displayed.\",\n },\n themeClassName: {\n type: \"themeResetClass\",\n targetAllTags: true,\n },\n },\n};\nexport function GraphCMSField({\n className,\n path,\n themeClassName,\n setControlContextData,\n}: GraphCMSFieldProps) {\n const item = useSelector(\"graphCmsItem\");\n if (!item) {\n return <div>GraphCMSField must be used within a GraphCMSFetcher </div>;\n }\n\n setControlContextData?.({ data: item });\n\n if (!path) {\n return <div>Please specify a valid path or select a field.</div>;\n }\n\n // We need to improve this check by making an introspection query\n const isRichText = (data: any) => \"html\" in data;\n\n const data = get(item, path);\n if (typeof data === \"object\" && data.mimeType?.startsWith(\"image\")) {\n return <img src={data.url} className={className} />;\n } else if (typeof data === \"object\" && isRichText(data)) {\n return (\n <div\n className={`${themeClassName} ${className}`}\n dangerouslySetInnerHTML={{ __html: data.html }}\n />\n );\n } else if (!data || typeof data === \"object\") {\n return <div className={className}>Please specify a valid field.</div>;\n } else {\n return <div className={className}>{data}</div>;\n }\n}\n","import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n GraphCMSCredentialsProvider,\n GraphCMSCredentialsProviderMeta,\n GraphCMSFetcher,\n GraphCMSFetcherMeta,\n GraphCMSField,\n GraphCMSFieldMeta,\n} from \"./graphcms\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: ComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n if (loader) {\n loader.registerGlobalContext(\n GraphCMSCredentialsProvider,\n GraphCMSCredentialsProviderMeta\n );\n } else {\n registerGlobalContext(\n GraphCMSCredentialsProvider,\n GraphCMSCredentialsProviderMeta\n );\n }\n\n _registerComponent(GraphCMSFetcher,GraphCMSFetcherMeta);\n _registerComponent(GraphCMSField,GraphCMSFieldMeta);\n}\n\nexport * from \"./graphcms\";\n"],"names":["ensure","x","undefined","Error","modulePath","CredentialsContext","React","createContext","GraphCMSCredentialsProviderMeta","name","displayName","description","importName","importPath","props","apiUrl","type","defaultValue","authToken","GraphCMSCredentialsProvider","_ref","children","Provider","value","GraphCMSFetcherMeta","providesData","defaultStyles","display","gridTemplateColumns","gridRowGap","gridColumnGap","padding","maxWidth","styles","query","lang","endpoint","ctx","_ctx$endpoint","headers","_ctx$headers","varOverrides","noAutoRepeat","noLayout","compact","arr","filter","GraphCMSFetcher","_ref2","className","setControlContextData","creds","useContext","cacheKey","JSON","stringify","Authorization","_usePlasmicQueryData","usePlasmicQueryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","data","wrap","_callee$","_context","prev","next","abrupt","Object","keys","length","_extends","variables","fetch","method","body","sent","json","stop","error","isLoading","message","values","renderedData","flatMap","model","Array","isArray","map","item","i","DataProvider","key","repeatedElement","GraphCMSFieldMeta","path","_ctx$data","themeClassName","targetAllTags","GraphCMSField","_ref4","useSelector","isRichText","get","_data$mimeType","mimeType","startsWith","src","url","dangerouslySetInnerHTML","__html","html","registerAll","loader","_registerComponent","Component","defaultMeta","registerComponent","registerGlobalContext"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plasmicpkgs/plasmic-graphcms",
3
- "version": "0.0.179",
3
+ "version": "0.0.181",
4
4
  "description": "Plasmic GraphCMS components.",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -36,7 +36,7 @@
36
36
  }
37
37
  ],
38
38
  "devDependencies": {
39
- "@plasmicapp/host": "1.0.208",
39
+ "@plasmicapp/host": "1.0.210",
40
40
  "@plasmicapp/query": "0.1.79",
41
41
  "@size-limit/preset-small-lib": "^7.0.8",
42
42
  "@types/dlv": "^1.1.2",
@@ -52,5 +52,5 @@
52
52
  "dependencies": {
53
53
  "dlv": "^1.1.3"
54
54
  },
55
- "gitHead": "879304149b902b453a47fe674997fcad01ae4af8"
55
+ "gitHead": "7f923856013e0efa4eb893fa16c2f48bd4edc9c3"
56
56
  }