@plasmicpkgs/plasmic-wordpress-graphql 0.0.124 → 0.0.126

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.
@@ -446,7 +446,7 @@ function WordpressFetcher(_ref2) {
446
446
  query: query$1,
447
447
  creds: creds
448
448
  });
449
- var _usePlasmicQueryData = query.usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
449
+ var _usePlasmicQueryData = query.usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
450
450
  var data;
451
451
  return _regeneratorRuntime().wrap(function _callee$(_context) {
452
452
  while (1) switch (_context.prev = _context.next) {
@@ -1 +1 @@
1
- {"version":3,"file":"plasmic-wordpress-graphql.cjs.development.js","sources":["../src/wordpress.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 debugger;\n throw new Error(`Value must not be undefined or null`);\n } else {\n return x;\n }\n}\n\nconst modulePath = \"@plasmicpkgs/plasmic-wordpress-graphql\";\n\ninterface WordpressProviderProps {\n graphqlEndpoint: string;\n}\n\nconst CredentialsContext = React.createContext<\n WordpressProviderProps | undefined\n>(undefined);\n\nexport const WordpressProviderMeta: GlobalContextMeta<WordpressProviderProps> = {\n name: \"WordpressGraphQLProvider\",\n displayName: \"Wordpress GraphQL Provider\",\n description: \"The GraphQL API Endpoint of your Wordpress\",\n importName: \"WordpressProvider\",\n importPath: modulePath,\n props: {\n graphqlEndpoint: {\n type: \"string\",\n displayName: \"GraphQL API Endpoint\",\n description: \"GraphQL API Endpoint of your Wordpress\",\n defaultValue: \"https://demo.wpgraphql.com/graphql\",\n },\n },\n};\n\nexport function WordpressProvider({\n graphqlEndpoint,\n children,\n}: React.PropsWithChildren<WordpressProviderProps>) {\n return (\n <CredentialsContext.Provider value={{ graphqlEndpoint }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface WordpressFetcherProps {\n children?: ReactNode;\n className?: string;\n noLayout?: boolean;\n noAutoRepeat?: boolean;\n query?: string;\n setControlContextData?: (data: { endpoint?: string }) => void;\n}\n\nexport const WordpressFetcherMeta: ComponentMeta<WordpressFetcherProps> = {\n name: \"WordpressGraphQLFetcher\",\n displayName: \"Wordpress Fetcher\",\n importName: \"WordpressFetcher\",\n importPath: modulePath,\n providesData: true,\n description:\n \"Fetches Wordpress 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: \"WordpressGraphQLField\",\n },\n },\n },\n query: {\n type: \"code\",\n lang: \"graphql\",\n endpoint: (props, ctx) => ctx?.endpoint ?? \"\",\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, Wordpress 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 WordpressFetcher({\n query,\n children,\n className,\n noLayout,\n noAutoRepeat,\n setControlContextData,\n}: WordpressFetcherProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n query,\n creds,\n });\n const { data } = usePlasmicQueryData<any | null>(cacheKey, async () => {\n if (!query) {\n return null;\n }\n const data = await fetch(creds.graphqlEndpoint, {\n method: \"POST\",\n body: JSON.stringify(query),\n headers: {\n \"Content-Type\": \"application/json\",\n },\n });\n return await data.json();\n });\n\n setControlContextData?.({\n endpoint: creds.graphqlEndpoint,\n });\n\n if (!query) {\n return <div>Please make a query in order to fetch data</div>;\n }\n\n if (!creds.graphqlEndpoint) {\n return (\n <div>\n Please specify a valid API Credentials: GraphQL Endpoint of your\n Wordpress project\n </div>\n );\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).flatMap((model: any, i: number) =>\n (Array.isArray(model) ? model : [model]).map((item: any, j: number) => (\n <DataProvider\n key={JSON.stringify(item)}\n name={\"currentWordpressItem\"}\n data={item}\n >\n {repeatedElement(i === 0 && j === 0, children)}\n </DataProvider>\n ))\n );\n return noLayout ? (\n <> {renderedData} </>\n ) : (\n <div className={className}> {renderedData} </div>\n );\n}\n\ninterface WordpressFieldProps {\n className?: string;\n path?: string;\n setControlContextData?: (data: { data: any }) => void;\n}\nexport const WordpressFieldMeta: ComponentMeta<WordpressFieldProps> = {\n name: \"WordpressGraphQLField\",\n displayName: \"Wordpress Field\",\n importName: \"WordpressField\",\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 },\n};\nexport function WordpressField({\n className,\n path,\n setControlContextData,\n}: WordpressFieldProps) {\n const item = useSelector(\"currentWordpressItem\");\n\n if (!item) {\n return <div>WordpressField must be used within a WordpressFetcher </div>;\n }\n\n setControlContextData?.({\n data: item,\n });\n\n if (!path) {\n return <div>Please specify a valid path or select a field.</div>;\n }\n const data = get(item, path as string);\n if (typeof data === \"object\" && data.mediaType === \"image\") {\n return (\n <img className={className} src={data.mediaItemUrl} srcSet={data.srcSet} />\n );\n } else if (\n path.slice(-1)[0] === \"content\" ||\n path.slice(-1)[0] === \"excerpt\"\n ) {\n return (\n <div className={className} dangerouslySetInnerHTML={{ __html: data }} />\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 WordpressFetcher,\n WordpressFetcherMeta,\n WordpressField,\n WordpressFieldMeta,\n WordpressProvider,\n WordpressProviderMeta,\n} from \"./wordpress\";\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(WordpressProvider, WordpressProviderMeta);\n } else {\n registerGlobalContext(WordpressProvider, WordpressProviderMeta);\n }\n\n _registerComponent(WordpressFetcher, WordpressFetcherMeta);\n _registerComponent(WordpressField, WordpressFieldMeta);\n}\n\nexport * from \"./wordpress\";\n"],"names":["ensure","x","undefined","Error","modulePath","CredentialsContext","React","createContext","WordpressProviderMeta","name","displayName","description","importName","importPath","props","graphqlEndpoint","type","defaultValue","WordpressProvider","_ref","children","Provider","value","WordpressFetcherMeta","providesData","defaultStyles","display","gridTemplateColumns","gridRowGap","gridColumnGap","padding","maxWidth","styles","query","lang","endpoint","ctx","_ctx$endpoint","noAutoRepeat","noLayout","compact","arr","filter","WordpressFetcher","_ref2","className","setControlContextData","creds","useContext","cacheKey","JSON","stringify","_usePlasmicQueryData","usePlasmicQueryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","data","wrap","_callee$","_context","prev","next","abrupt","fetch","method","body","headers","sent","json","stop","Object","values","length","renderedData","flatMap","model","i","Array","isArray","map","item","j","DataProvider","key","repeatedElement","WordpressFieldMeta","path","_ctx$data","WordpressField","_ref4","useSelector","get","mediaType","src","mediaItemUrl","srcSet","slice","dangerouslySetInnerHTML","__html","registerAll","loader","_registerComponent","Component","defaultMeta","registerComponent","registerGlobalContext"],"mappings":"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"}
1
+ {"version":3,"file":"plasmic-wordpress-graphql.cjs.development.js","sources":["../src/wordpress.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 debugger;\n throw new Error(`Value must not be undefined or null`);\n } else {\n return x;\n }\n}\n\nconst modulePath = \"@plasmicpkgs/plasmic-wordpress-graphql\";\n\ninterface WordpressProviderProps {\n graphqlEndpoint: string;\n}\n\nconst CredentialsContext = React.createContext<\n WordpressProviderProps | undefined\n>(undefined);\n\nexport const WordpressProviderMeta: GlobalContextMeta<WordpressProviderProps> = {\n name: \"WordpressGraphQLProvider\",\n displayName: \"Wordpress GraphQL Provider\",\n description: \"The GraphQL API Endpoint of your Wordpress\",\n importName: \"WordpressProvider\",\n importPath: modulePath,\n props: {\n graphqlEndpoint: {\n type: \"string\",\n displayName: \"GraphQL API Endpoint\",\n description: \"GraphQL API Endpoint of your Wordpress\",\n defaultValue: \"https://demo.wpgraphql.com/graphql\",\n },\n },\n};\n\nexport function WordpressProvider({\n graphqlEndpoint,\n children,\n}: React.PropsWithChildren<WordpressProviderProps>) {\n return (\n <CredentialsContext.Provider value={{ graphqlEndpoint }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface WordpressFetcherProps {\n children?: ReactNode;\n className?: string;\n noLayout?: boolean;\n noAutoRepeat?: boolean;\n query?: string;\n setControlContextData?: (data: { endpoint?: string }) => void;\n}\n\nexport const WordpressFetcherMeta: ComponentMeta<WordpressFetcherProps> = {\n name: \"WordpressGraphQLFetcher\",\n displayName: \"Wordpress Fetcher\",\n importName: \"WordpressFetcher\",\n importPath: modulePath,\n providesData: true,\n description:\n \"Fetches Wordpress 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: \"WordpressGraphQLField\",\n },\n },\n },\n query: {\n type: \"code\",\n lang: \"graphql\",\n endpoint: (props, ctx) => ctx?.endpoint ?? \"\",\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, Wordpress 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 WordpressFetcher({\n query,\n children,\n className,\n noLayout,\n noAutoRepeat,\n setControlContextData,\n}: WordpressFetcherProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n query,\n creds,\n });\n const { data } = usePlasmicQueryData<any | null>(cacheKey, async () => {\n if (!query) {\n return null;\n }\n const data = await fetch(creds.graphqlEndpoint, {\n method: \"POST\",\n body: JSON.stringify(query),\n headers: {\n \"Content-Type\": \"application/json\",\n },\n });\n return await data.json();\n });\n\n setControlContextData?.({\n endpoint: creds.graphqlEndpoint,\n });\n\n if (!query) {\n return <div>Please make a query in order to fetch data</div>;\n }\n\n if (!creds.graphqlEndpoint) {\n return (\n <div>\n Please specify a valid API Credentials: GraphQL Endpoint of your\n Wordpress project\n </div>\n );\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).flatMap((model: any, i: number) =>\n (Array.isArray(model) ? model : [model]).map((item: any, j: number) => (\n <DataProvider\n key={JSON.stringify(item)}\n name={\"currentWordpressItem\"}\n data={item}\n >\n {repeatedElement(i === 0 && j === 0, children)}\n </DataProvider>\n ))\n );\n return noLayout ? (\n <> {renderedData} </>\n ) : (\n <div className={className}> {renderedData} </div>\n );\n}\n\ninterface WordpressFieldProps {\n className?: string;\n path?: string;\n setControlContextData?: (data: { data: any }) => void;\n}\nexport const WordpressFieldMeta: ComponentMeta<WordpressFieldProps> = {\n name: \"WordpressGraphQLField\",\n displayName: \"Wordpress Field\",\n importName: \"WordpressField\",\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 },\n};\nexport function WordpressField({\n className,\n path,\n setControlContextData,\n}: WordpressFieldProps) {\n const item = useSelector(\"currentWordpressItem\");\n\n if (!item) {\n return <div>WordpressField must be used within a WordpressFetcher </div>;\n }\n\n setControlContextData?.({\n data: item,\n });\n\n if (!path) {\n return <div>Please specify a valid path or select a field.</div>;\n }\n const data = get(item, path as string);\n if (typeof data === \"object\" && data.mediaType === \"image\") {\n return (\n <img className={className} src={data.mediaItemUrl} srcSet={data.srcSet} />\n );\n } else if (\n path.slice(-1)[0] === \"content\" ||\n path.slice(-1)[0] === \"excerpt\"\n ) {\n return (\n <div className={className} dangerouslySetInnerHTML={{ __html: data }} />\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 WordpressFetcher,\n WordpressFetcherMeta,\n WordpressField,\n WordpressFieldMeta,\n WordpressProvider,\n WordpressProviderMeta,\n} from \"./wordpress\";\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(WordpressProvider, WordpressProviderMeta);\n } else {\n registerGlobalContext(WordpressProvider, WordpressProviderMeta);\n }\n\n _registerComponent(WordpressFetcher, WordpressFetcherMeta);\n _registerComponent(WordpressField, WordpressFieldMeta);\n}\n\nexport * from \"./wordpress\";\n"],"names":["ensure","x","undefined","Error","modulePath","CredentialsContext","React","createContext","WordpressProviderMeta","name","displayName","description","importName","importPath","props","graphqlEndpoint","type","defaultValue","WordpressProvider","_ref","children","Provider","value","WordpressFetcherMeta","providesData","defaultStyles","display","gridTemplateColumns","gridRowGap","gridColumnGap","padding","maxWidth","styles","query","lang","endpoint","ctx","_ctx$endpoint","noAutoRepeat","noLayout","compact","arr","filter","WordpressFetcher","_ref2","className","setControlContextData","creds","useContext","cacheKey","JSON","stringify","_usePlasmicQueryData","usePlasmicQueryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","data","wrap","_callee$","_context","prev","next","abrupt","fetch","method","body","headers","sent","json","stop","Object","values","length","renderedData","flatMap","model","i","Array","isArray","map","item","j","DataProvider","key","repeatedElement","WordpressFieldMeta","path","_ctx$data","WordpressField","_ref4","useSelector","get","mediaType","src","mediaItemUrl","srcSet","slice","dangerouslySetInnerHTML","__html","registerAll","loader","_registerComponent","Component","defaultMeta","registerComponent","registerGlobalContext"],"mappings":"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"}
@@ -439,7 +439,7 @@ function WordpressFetcher(_ref2) {
439
439
  query: query,
440
440
  creds: creds
441
441
  });
442
- var _usePlasmicQueryData = usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
442
+ var _usePlasmicQueryData = usePlasmicQueryData(cacheKey, /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
443
443
  var data;
444
444
  return _regeneratorRuntime().wrap(function _callee$(_context) {
445
445
  while (1) switch (_context.prev = _context.next) {
@@ -1 +1 @@
1
- {"version":3,"file":"plasmic-wordpress-graphql.esm.js","sources":["../src/wordpress.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 debugger;\n throw new Error(`Value must not be undefined or null`);\n } else {\n return x;\n }\n}\n\nconst modulePath = \"@plasmicpkgs/plasmic-wordpress-graphql\";\n\ninterface WordpressProviderProps {\n graphqlEndpoint: string;\n}\n\nconst CredentialsContext = React.createContext<\n WordpressProviderProps | undefined\n>(undefined);\n\nexport const WordpressProviderMeta: GlobalContextMeta<WordpressProviderProps> = {\n name: \"WordpressGraphQLProvider\",\n displayName: \"Wordpress GraphQL Provider\",\n description: \"The GraphQL API Endpoint of your Wordpress\",\n importName: \"WordpressProvider\",\n importPath: modulePath,\n props: {\n graphqlEndpoint: {\n type: \"string\",\n displayName: \"GraphQL API Endpoint\",\n description: \"GraphQL API Endpoint of your Wordpress\",\n defaultValue: \"https://demo.wpgraphql.com/graphql\",\n },\n },\n};\n\nexport function WordpressProvider({\n graphqlEndpoint,\n children,\n}: React.PropsWithChildren<WordpressProviderProps>) {\n return (\n <CredentialsContext.Provider value={{ graphqlEndpoint }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface WordpressFetcherProps {\n children?: ReactNode;\n className?: string;\n noLayout?: boolean;\n noAutoRepeat?: boolean;\n query?: string;\n setControlContextData?: (data: { endpoint?: string }) => void;\n}\n\nexport const WordpressFetcherMeta: ComponentMeta<WordpressFetcherProps> = {\n name: \"WordpressGraphQLFetcher\",\n displayName: \"Wordpress Fetcher\",\n importName: \"WordpressFetcher\",\n importPath: modulePath,\n providesData: true,\n description:\n \"Fetches Wordpress 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: \"WordpressGraphQLField\",\n },\n },\n },\n query: {\n type: \"code\",\n lang: \"graphql\",\n endpoint: (props, ctx) => ctx?.endpoint ?? \"\",\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, Wordpress 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 WordpressFetcher({\n query,\n children,\n className,\n noLayout,\n noAutoRepeat,\n setControlContextData,\n}: WordpressFetcherProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n query,\n creds,\n });\n const { data } = usePlasmicQueryData<any | null>(cacheKey, async () => {\n if (!query) {\n return null;\n }\n const data = await fetch(creds.graphqlEndpoint, {\n method: \"POST\",\n body: JSON.stringify(query),\n headers: {\n \"Content-Type\": \"application/json\",\n },\n });\n return await data.json();\n });\n\n setControlContextData?.({\n endpoint: creds.graphqlEndpoint,\n });\n\n if (!query) {\n return <div>Please make a query in order to fetch data</div>;\n }\n\n if (!creds.graphqlEndpoint) {\n return (\n <div>\n Please specify a valid API Credentials: GraphQL Endpoint of your\n Wordpress project\n </div>\n );\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).flatMap((model: any, i: number) =>\n (Array.isArray(model) ? model : [model]).map((item: any, j: number) => (\n <DataProvider\n key={JSON.stringify(item)}\n name={\"currentWordpressItem\"}\n data={item}\n >\n {repeatedElement(i === 0 && j === 0, children)}\n </DataProvider>\n ))\n );\n return noLayout ? (\n <> {renderedData} </>\n ) : (\n <div className={className}> {renderedData} </div>\n );\n}\n\ninterface WordpressFieldProps {\n className?: string;\n path?: string;\n setControlContextData?: (data: { data: any }) => void;\n}\nexport const WordpressFieldMeta: ComponentMeta<WordpressFieldProps> = {\n name: \"WordpressGraphQLField\",\n displayName: \"Wordpress Field\",\n importName: \"WordpressField\",\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 },\n};\nexport function WordpressField({\n className,\n path,\n setControlContextData,\n}: WordpressFieldProps) {\n const item = useSelector(\"currentWordpressItem\");\n\n if (!item) {\n return <div>WordpressField must be used within a WordpressFetcher </div>;\n }\n\n setControlContextData?.({\n data: item,\n });\n\n if (!path) {\n return <div>Please specify a valid path or select a field.</div>;\n }\n const data = get(item, path as string);\n if (typeof data === \"object\" && data.mediaType === \"image\") {\n return (\n <img className={className} src={data.mediaItemUrl} srcSet={data.srcSet} />\n );\n } else if (\n path.slice(-1)[0] === \"content\" ||\n path.slice(-1)[0] === \"excerpt\"\n ) {\n return (\n <div className={className} dangerouslySetInnerHTML={{ __html: data }} />\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 WordpressFetcher,\n WordpressFetcherMeta,\n WordpressField,\n WordpressFieldMeta,\n WordpressProvider,\n WordpressProviderMeta,\n} from \"./wordpress\";\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(WordpressProvider, WordpressProviderMeta);\n } else {\n registerGlobalContext(WordpressProvider, WordpressProviderMeta);\n }\n\n _registerComponent(WordpressFetcher, WordpressFetcherMeta);\n _registerComponent(WordpressField, WordpressFieldMeta);\n}\n\nexport * from \"./wordpress\";\n"],"names":["ensure","x","undefined","Error","modulePath","CredentialsContext","React","createContext","WordpressProviderMeta","name","displayName","description","importName","importPath","props","graphqlEndpoint","type","defaultValue","WordpressProvider","_ref","children","Provider","value","WordpressFetcherMeta","providesData","defaultStyles","display","gridTemplateColumns","gridRowGap","gridColumnGap","padding","maxWidth","styles","query","lang","endpoint","ctx","_ctx$endpoint","noAutoRepeat","noLayout","compact","arr","filter","WordpressFetcher","_ref2","className","setControlContextData","creds","useContext","cacheKey","JSON","stringify","_usePlasmicQueryData","usePlasmicQueryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","data","wrap","_callee$","_context","prev","next","abrupt","fetch","method","body","headers","sent","json","stop","Object","values","length","renderedData","flatMap","model","i","Array","isArray","map","item","j","DataProvider","key","repeatedElement","WordpressFieldMeta","path","_ctx$data","WordpressField","_ref4","useSelector","get","mediaType","src","mediaItemUrl","srcSet","slice","dangerouslySetInnerHTML","__html","registerAll","loader","_registerComponent","Component","defaultMeta","registerComponent","registerGlobalContext"],"mappings":"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"}
1
+ {"version":3,"file":"plasmic-wordpress-graphql.esm.js","sources":["../src/wordpress.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 debugger;\n throw new Error(`Value must not be undefined or null`);\n } else {\n return x;\n }\n}\n\nconst modulePath = \"@plasmicpkgs/plasmic-wordpress-graphql\";\n\ninterface WordpressProviderProps {\n graphqlEndpoint: string;\n}\n\nconst CredentialsContext = React.createContext<\n WordpressProviderProps | undefined\n>(undefined);\n\nexport const WordpressProviderMeta: GlobalContextMeta<WordpressProviderProps> = {\n name: \"WordpressGraphQLProvider\",\n displayName: \"Wordpress GraphQL Provider\",\n description: \"The GraphQL API Endpoint of your Wordpress\",\n importName: \"WordpressProvider\",\n importPath: modulePath,\n props: {\n graphqlEndpoint: {\n type: \"string\",\n displayName: \"GraphQL API Endpoint\",\n description: \"GraphQL API Endpoint of your Wordpress\",\n defaultValue: \"https://demo.wpgraphql.com/graphql\",\n },\n },\n};\n\nexport function WordpressProvider({\n graphqlEndpoint,\n children,\n}: React.PropsWithChildren<WordpressProviderProps>) {\n return (\n <CredentialsContext.Provider value={{ graphqlEndpoint }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface WordpressFetcherProps {\n children?: ReactNode;\n className?: string;\n noLayout?: boolean;\n noAutoRepeat?: boolean;\n query?: string;\n setControlContextData?: (data: { endpoint?: string }) => void;\n}\n\nexport const WordpressFetcherMeta: ComponentMeta<WordpressFetcherProps> = {\n name: \"WordpressGraphQLFetcher\",\n displayName: \"Wordpress Fetcher\",\n importName: \"WordpressFetcher\",\n importPath: modulePath,\n providesData: true,\n description:\n \"Fetches Wordpress 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: \"WordpressGraphQLField\",\n },\n },\n },\n query: {\n type: \"code\",\n lang: \"graphql\",\n endpoint: (props, ctx) => ctx?.endpoint ?? \"\",\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, Wordpress 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 WordpressFetcher({\n query,\n children,\n className,\n noLayout,\n noAutoRepeat,\n setControlContextData,\n}: WordpressFetcherProps) {\n const creds = ensure(useContext(CredentialsContext));\n const cacheKey = JSON.stringify({\n query,\n creds,\n });\n const { data } = usePlasmicQueryData<any | null>(cacheKey, async () => {\n if (!query) {\n return null;\n }\n const data = await fetch(creds.graphqlEndpoint, {\n method: \"POST\",\n body: JSON.stringify(query),\n headers: {\n \"Content-Type\": \"application/json\",\n },\n });\n return await data.json();\n });\n\n setControlContextData?.({\n endpoint: creds.graphqlEndpoint,\n });\n\n if (!query) {\n return <div>Please make a query in order to fetch data</div>;\n }\n\n if (!creds.graphqlEndpoint) {\n return (\n <div>\n Please specify a valid API Credentials: GraphQL Endpoint of your\n Wordpress project\n </div>\n );\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).flatMap((model: any, i: number) =>\n (Array.isArray(model) ? model : [model]).map((item: any, j: number) => (\n <DataProvider\n key={JSON.stringify(item)}\n name={\"currentWordpressItem\"}\n data={item}\n >\n {repeatedElement(i === 0 && j === 0, children)}\n </DataProvider>\n ))\n );\n return noLayout ? (\n <> {renderedData} </>\n ) : (\n <div className={className}> {renderedData} </div>\n );\n}\n\ninterface WordpressFieldProps {\n className?: string;\n path?: string;\n setControlContextData?: (data: { data: any }) => void;\n}\nexport const WordpressFieldMeta: ComponentMeta<WordpressFieldProps> = {\n name: \"WordpressGraphQLField\",\n displayName: \"Wordpress Field\",\n importName: \"WordpressField\",\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 },\n};\nexport function WordpressField({\n className,\n path,\n setControlContextData,\n}: WordpressFieldProps) {\n const item = useSelector(\"currentWordpressItem\");\n\n if (!item) {\n return <div>WordpressField must be used within a WordpressFetcher </div>;\n }\n\n setControlContextData?.({\n data: item,\n });\n\n if (!path) {\n return <div>Please specify a valid path or select a field.</div>;\n }\n const data = get(item, path as string);\n if (typeof data === \"object\" && data.mediaType === \"image\") {\n return (\n <img className={className} src={data.mediaItemUrl} srcSet={data.srcSet} />\n );\n } else if (\n path.slice(-1)[0] === \"content\" ||\n path.slice(-1)[0] === \"excerpt\"\n ) {\n return (\n <div className={className} dangerouslySetInnerHTML={{ __html: data }} />\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 WordpressFetcher,\n WordpressFetcherMeta,\n WordpressField,\n WordpressFieldMeta,\n WordpressProvider,\n WordpressProviderMeta,\n} from \"./wordpress\";\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(WordpressProvider, WordpressProviderMeta);\n } else {\n registerGlobalContext(WordpressProvider, WordpressProviderMeta);\n }\n\n _registerComponent(WordpressFetcher, WordpressFetcherMeta);\n _registerComponent(WordpressField, WordpressFieldMeta);\n}\n\nexport * from \"./wordpress\";\n"],"names":["ensure","x","undefined","Error","modulePath","CredentialsContext","React","createContext","WordpressProviderMeta","name","displayName","description","importName","importPath","props","graphqlEndpoint","type","defaultValue","WordpressProvider","_ref","children","Provider","value","WordpressFetcherMeta","providesData","defaultStyles","display","gridTemplateColumns","gridRowGap","gridColumnGap","padding","maxWidth","styles","query","lang","endpoint","ctx","_ctx$endpoint","noAutoRepeat","noLayout","compact","arr","filter","WordpressFetcher","_ref2","className","setControlContextData","creds","useContext","cacheKey","JSON","stringify","_usePlasmicQueryData","usePlasmicQueryData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","data","wrap","_callee$","_context","prev","next","abrupt","fetch","method","body","headers","sent","json","stop","Object","values","length","renderedData","flatMap","model","i","Array","isArray","map","item","j","DataProvider","key","repeatedElement","WordpressFieldMeta","path","_ctx$data","WordpressField","_ref4","useSelector","get","mediaType","src","mediaItemUrl","srcSet","slice","dangerouslySetInnerHTML","__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-wordpress-graphql",
3
- "version": "0.0.124",
3
+ "version": "0.0.126",
4
4
  "description": "Plasmic Wordpress GraphQL components.",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -34,7 +34,7 @@
34
34
  }
35
35
  ],
36
36
  "devDependencies": {
37
- "@plasmicapp/host": "1.0.208",
37
+ "@plasmicapp/host": "1.0.210",
38
38
  "@plasmicapp/query": "0.1.79",
39
39
  "@size-limit/preset-small-lib": "^7.0.8",
40
40
  "@types/react": "^18.0.27",
@@ -50,5 +50,5 @@
50
50
  "@types/dlv": "^1.1.2",
51
51
  "dlv": "^1.1.3"
52
52
  },
53
- "gitHead": "879304149b902b453a47fe674997fcad01ae4af8"
53
+ "gitHead": "7f923856013e0efa4eb893fa16c2f48bd4edc9c3"
54
54
  }