@plasmicpkgs/plasmic-graphcms 0.0.206 → 0.0.208

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.
@@ -1,4 +1,5 @@
1
- import { ComponentMeta, GlobalContextMeta } from "@plasmicapp/host";
1
+ import { GlobalContextMeta } from "@plasmicapp/host";
2
+ import { CodeComponentMeta } from "@plasmicapp/host/registerComponent";
2
3
  import React, { ReactNode } from "react";
3
4
  export declare function ensure<T>(x: T | null | undefined): T;
4
5
  interface GraphCMSCredentialsProviderProps {
@@ -22,7 +23,7 @@ interface GraphCMSFetcherProps {
22
23
  headers?: HeadersInit;
23
24
  }) => void;
24
25
  }
25
- export declare const GraphCMSFetcherMeta: ComponentMeta<GraphCMSFetcherProps>;
26
+ export declare const GraphCMSFetcherMeta: CodeComponentMeta<GraphCMSFetcherProps>;
26
27
  export declare function GraphCMSFetcher({ query, children, className, noLayout, noAutoRepeat, varOverrides, setControlContextData, }: GraphCMSFetcherProps): React.JSX.Element | null;
27
28
  interface GraphCMSFieldProps {
28
29
  className?: string;
@@ -32,6 +33,6 @@ interface GraphCMSFieldProps {
32
33
  }) => void;
33
34
  themeClassName?: string;
34
35
  }
35
- export declare const GraphCMSFieldMeta: ComponentMeta<GraphCMSFieldProps>;
36
+ export declare const GraphCMSFieldMeta: CodeComponentMeta<GraphCMSFieldProps>;
36
37
  export declare function GraphCMSField({ className, path, themeClassName, setControlContextData, }: GraphCMSFieldProps): React.JSX.Element;
37
38
  export {};
@@ -472,7 +472,7 @@ function GraphCMSFetcher(_ref2) {
472
472
  Authorization: "Bearer " + creds.authToken
473
473
  };
474
474
  var _usePlasmicQueryData = query.usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
475
- var data;
475
+ var res;
476
476
  return _regeneratorRuntime().wrap(function _callee$(_context) {
477
477
  while (1) switch (_context.prev = _context.next) {
478
478
  case 0:
@@ -494,9 +494,9 @@ function GraphCMSFetcher(_ref2) {
494
494
  body: JSON.stringify(query$1)
495
495
  });
496
496
  case 5:
497
- data = _context.sent;
497
+ res = _context.sent;
498
498
  _context.next = 8;
499
- return data.json();
499
+ return res.json();
500
500
  case 8:
501
501
  return _context.abrupt("return", _context.sent);
502
502
  case 9:
@@ -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 DataProvider,\n GlobalContextMeta,\n repeatedElement,\n useSelector,\n} from \"@plasmicapp/host\";\nimport { CodeComponentMeta } from \"@plasmicapp/host/registerComponent\";\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: CodeComponentMeta<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 res = await fetch(creds.apiUrl, {\n method: \"POST\",\n headers,\n body: JSON.stringify(query),\n });\n\n return await res.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: CodeComponentMeta<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 CodeComponentMeta,\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: CodeComponentMeta<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","res","wrap","_callee$","_context","prev","next","abrupt","Object","keys","length","_extends","variables","fetch","method","body","sent","json","stop","data","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 +1 @@
1
- {"version":3,"file":"plasmic-graphcms.cjs.production.min.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","Error","modulePath","CredentialsContext","React","createContext","undefined","GraphCMSCredentialsProviderMeta","name","displayName","description","importName","importPath","props","apiUrl","type","defaultValue","authToken","GraphCMSCredentialsProvider","_ref","Provider","value","children","GraphCMSFetcherMeta","providesData","defaultStyles","display","gridTemplateColumns","gridRowGap","gridColumnGap","padding","maxWidth","styles","query","lang","endpoint","ctx","_ctx$endpoint","headers","_ctx$headers","varOverrides","noAutoRepeat","noLayout","GraphCMSFetcher","_ref2","arr","className","setControlContextData","creds","useContext","cacheKey","JSON","stringify","Authorization","_usePlasmicQueryData","usePlasmicQueryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","data","wrap","_context","prev","next","abrupt","Object","keys","length","_extends","variables","fetch","method","body","sent","json","stop","error","isLoading","message","values","filter","renderedData","flatMap","model","Array","isArray","map","item","i","DataProvider","key","repeatedElement","GraphCMSFieldMeta","path","_ctx$data","themeClassName","targetAllTags","GraphCMSField","_ref4","useSelector","get","_data$mimeType","mimeType","startsWith","src","url","isRichText","dangerouslySetInnerHTML","__html","html","loader","_registerComponent","Component","defaultMeta","registerComponent","registerGlobalContext"],"mappings":"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"}
1
+ {"version":3,"file":"plasmic-graphcms.cjs.production.min.js","sources":["../src/graphcms.tsx","../src/index.tsx"],"sourcesContent":["import {\n DataProvider,\n GlobalContextMeta,\n repeatedElement,\n useSelector,\n} from \"@plasmicapp/host\";\nimport { CodeComponentMeta } from \"@plasmicapp/host/registerComponent\";\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: CodeComponentMeta<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 res = await fetch(creds.apiUrl, {\n method: \"POST\",\n headers,\n body: JSON.stringify(query),\n });\n\n return await res.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: CodeComponentMeta<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 CodeComponentMeta,\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: CodeComponentMeta<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","Error","modulePath","CredentialsContext","React","createContext","undefined","GraphCMSCredentialsProviderMeta","name","displayName","description","importName","importPath","props","apiUrl","type","defaultValue","authToken","GraphCMSCredentialsProvider","_ref","Provider","value","children","GraphCMSFetcherMeta","providesData","defaultStyles","display","gridTemplateColumns","gridRowGap","gridColumnGap","padding","maxWidth","styles","query","lang","endpoint","ctx","_ctx$endpoint","headers","_ctx$headers","varOverrides","noAutoRepeat","noLayout","GraphCMSFetcher","_ref2","arr","className","setControlContextData","creds","useContext","cacheKey","JSON","stringify","Authorization","_usePlasmicQueryData","usePlasmicQueryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","res","wrap","_context","prev","next","abrupt","Object","keys","length","_extends","variables","fetch","method","body","sent","json","stop","data","error","isLoading","message","values","filter","renderedData","flatMap","model","Array","isArray","map","item","i","DataProvider","key","repeatedElement","GraphCMSFieldMeta","path","_ctx$data","themeClassName","targetAllTags","GraphCMSField","_ref4","useSelector","get","_data$mimeType","mimeType","startsWith","src","url","isRichText","dangerouslySetInnerHTML","__html","html","loader","_registerComponent","Component","defaultMeta","registerComponent","registerGlobalContext"],"mappings":"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"}
@@ -465,7 +465,7 @@ function GraphCMSFetcher(_ref2) {
465
465
  Authorization: "Bearer " + creds.authToken
466
466
  };
467
467
  var _usePlasmicQueryData = usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
468
- var data;
468
+ var res;
469
469
  return _regeneratorRuntime().wrap(function _callee$(_context) {
470
470
  while (1) switch (_context.prev = _context.next) {
471
471
  case 0:
@@ -487,9 +487,9 @@ function GraphCMSFetcher(_ref2) {
487
487
  body: JSON.stringify(query)
488
488
  });
489
489
  case 5:
490
- data = _context.sent;
490
+ res = _context.sent;
491
491
  _context.next = 8;
492
- return data.json();
492
+ return res.json();
493
493
  case 8:
494
494
  return _context.abrupt("return", _context.sent);
495
495
  case 9:
@@ -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 DataProvider,\n GlobalContextMeta,\n repeatedElement,\n useSelector,\n} from \"@plasmicapp/host\";\nimport { CodeComponentMeta } from \"@plasmicapp/host/registerComponent\";\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: CodeComponentMeta<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 res = await fetch(creds.apiUrl, {\n method: \"POST\",\n headers,\n body: JSON.stringify(query),\n });\n\n return await res.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: CodeComponentMeta<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 CodeComponentMeta,\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: CodeComponentMeta<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","res","wrap","_callee$","_context","prev","next","abrupt","Object","keys","length","_extends","variables","fetch","method","body","sent","json","stop","data","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.206",
3
+ "version": "0.0.208",
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.234",
39
+ "@plasmicapp/host": "1.0.235",
40
40
  "@plasmicapp/query": "0.1.82",
41
41
  "@types/dlv": "^1.1.2",
42
42
  "@types/react": "^18.0.27",
@@ -50,5 +50,5 @@
50
50
  "dependencies": {
51
51
  "dlv": "^1.1.3"
52
52
  },
53
- "gitHead": "30e1d9c40c46f513d507349568dc16bc5f3e9572"
53
+ "gitHead": "380a91b2e7eac342c9b2ddafdacd84b4a812b795"
54
54
  }