@plasmicpkgs/plasmic-graphcms 0.0.205 → 0.0.207
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.
- package/dist/graphcms.d.ts +4 -3
- package/dist/plasmic-graphcms.cjs.development.js +3 -3
- package/dist/plasmic-graphcms.cjs.development.js.map +1 -1
- package/dist/plasmic-graphcms.cjs.production.min.js.map +1 -1
- package/dist/plasmic-graphcms.esm.js +3 -3
- package/dist/plasmic-graphcms.esm.js.map +1 -1
- package/package.json +4 -4
package/dist/graphcms.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
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:
|
|
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:
|
|
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
|
|
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
|
-
|
|
497
|
+
res = _context.sent;
|
|
498
498
|
_context.next = 8;
|
|
499
|
-
return
|
|
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
|
|
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
|
-
|
|
490
|
+
res = _context.sent;
|
|
491
491
|
_context.next = 8;
|
|
492
|
-
return
|
|
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.
|
|
3
|
+
"version": "0.0.207",
|
|
4
4
|
"description": "Plasmic GraphCMS components.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
}
|
|
37
37
|
],
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@plasmicapp/host": "1.0.
|
|
40
|
-
"@plasmicapp/query": "0.1.
|
|
39
|
+
"@plasmicapp/host": "1.0.234",
|
|
40
|
+
"@plasmicapp/query": "0.1.82",
|
|
41
41
|
"@types/dlv": "^1.1.2",
|
|
42
42
|
"@types/react": "^18.0.27",
|
|
43
43
|
"@types/react-dom": "^18.0.10",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"dlv": "^1.1.3"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "bbba4b6636e69a3441c6dbe4cefb860ed30e826f"
|
|
54
54
|
}
|