@qoh/core-react 0.0.4 → 0.0.6

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.
@@ -0,0 +1,11 @@
1
+ type Body = {
2
+ id: string;
3
+ summary: string;
4
+ details: string;
5
+ };
6
+ export declare class ApiError extends Error {
7
+ status: number;
8
+ body: Body;
9
+ constructor(status: number, body: Body);
10
+ }
11
+ export {};
@@ -0,0 +1,68 @@
1
+ export interface IFCDictionary {
2
+ [index: string]: ReactFCWithFieldNames;
3
+ }
4
+ export interface ReactFCWithFieldNames {
5
+ component?: React.FC<any>;
6
+ fieldNames?: string[];
7
+ loader?: () => () => any;
8
+ }
9
+ export declare let componentRegistry: IFCDictionary;
10
+ export declare function unregisterComponent(name: string): void;
11
+ export declare function registerComponent(functionalComponent: React.FC<any>, typeName: string, fieldNames?: string[]): void;
12
+ export declare function registerLazyComponent(loader: () => any, typeName: string, fieldNames?: string[]): void;
13
+ export declare function getAllregisteredComponents(): IFCDictionary;
14
+ import React from 'react';
15
+ import Backend from './backend/Backend';
16
+ export declare enum Filter {
17
+ eq = "eq",
18
+ in = "in",
19
+ neq = "neq",
20
+ notIn = "notIn"
21
+ }
22
+ export interface QohResponse {
23
+ pages: any | null;
24
+ message: string;
25
+ }
26
+ export declare class QueenofheartsService {
27
+ private static instance;
28
+ data: any;
29
+ debug: boolean;
30
+ backend: Backend;
31
+ apiToken: string | null;
32
+ localServer?: string;
33
+ latestUrl: string;
34
+ latestData: Object;
35
+ private constructor();
36
+ static init(backend: Backend, apiToken: string, localServer?: string): void;
37
+ static getInstance(): QueenofheartsService;
38
+ createComponent(props: any): JSX.Element | null;
39
+ private buildUrl;
40
+ queryGraphql: (graphqlQuery: string) => Promise<any>;
41
+ query: (queryName: string, options?: {
42
+ filter?: {
43
+ name: string;
44
+ operator: Filter;
45
+ value: string;
46
+ }[] | undefined;
47
+ components?: string | undefined;
48
+ ignoreProperties?: string[] | undefined;
49
+ variables?: {
50
+ [x: string]: unknown;
51
+ filter?: {
52
+ name: string;
53
+ operator: Filter;
54
+ value: string;
55
+ }[] | undefined;
56
+ locale?: string | undefined;
57
+ } | undefined;
58
+ locale?: string | undefined;
59
+ depth?: number | undefined;
60
+ } | undefined) => Promise<any>;
61
+ private getRegisteredComponentsWithFields;
62
+ getQueries: () => Promise<any>;
63
+ private injectIds;
64
+ private sendDebugEvent;
65
+ private sendQueriesEvent;
66
+ private sendComponentHTML;
67
+ private highlightComponent;
68
+ }
@@ -1,4 +1,5 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:!0}),exports.componentRegistry=exports.QueenofheartsService=exports.Filter=void 0,exports.getAllregisteredComponents=getAllregisteredComponents,exports.registerComponent=registerComponent,exports.unregisterComponent=unregisterComponent;var _QueenofheartsService,_regenerator=_interopRequireDefault(require("@babel/runtime/regenerator")),_typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof")),_slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")),_toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")),_asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")),_classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")),_createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass")),_defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty")),_ApiError=require("./ApiError"),_react=_interopRequireDefault(require("react")),_Dodo=_interopRequireDefault(require("./components/Dodo"));function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){(0,_defineProperty2["default"])(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}var qohUri="https://qoh.azurewebsites.net/api",componentRegistry=exports.componentRegistry={};function unregisterComponent(a){delete componentRegistry[a]}function registerComponent(a,b,c){if(b!==void 0&&void 0===componentRegistry[b]){componentRegistry[b]={component:a,fieldNames:c}}}function getAllregisteredComponents(){return componentRegistry}//TODO: remove????
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:!0}),exports.componentRegistry=exports.QueenofheartsService=exports.Filter=void 0,exports.getAllregisteredComponents=getAllregisteredComponents,exports.registerComponent=registerComponent,exports.registerLazyComponent=registerLazyComponent,exports.unregisterComponent=unregisterComponent;var _QueenofheartsService,_regenerator=_interopRequireDefault(require("@babel/runtime/regenerator")),_typeof2=_interopRequireDefault(require("@babel/runtime/helpers/typeof")),_slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")),_toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")),_asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")),_classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")),_createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass")),_defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty")),_ApiError=require("./ApiError"),_react=_interopRequireDefault(require("react")),_Dodo=_interopRequireDefault(require("./components/Dodo"));function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){(0,_defineProperty2["default"])(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}var qohUri="https://qoh.azurewebsites.net/api",componentRegistry=exports.componentRegistry={};function unregisterComponent(a){delete componentRegistry[a]}function registerComponent(a,b,c){if(b!==void 0&&void 0===componentRegistry[b]){componentRegistry[b]={component:a,fieldNames:c}}}function registerLazyComponent(a,b,c){!b?console.warn("registerComponent failed: undefined typeName "):componentRegistry[b]===void 0?componentRegistry[b]={fieldNames:c,loader:a}:console.warn("registerComponent failed for ".concat(b," : already defined as ").concat(componentRegistry[b]))}function getAllregisteredComponents(){return componentRegistry}//TODO: remove????
2
2
  var Filter=exports.Filter=/*#__PURE__*/function(a){return a.eq="eq",a["in"]="in",a.neq="neq",a.notIn="notIn",a}({}),QueenofheartsService=exports.QueenofheartsService=/*#__PURE__*/function(){function a(b,c,d){var e=this;(0,_classCallCheck2["default"])(this,a),(0,_defineProperty2["default"])(this,"data",void 0),(0,_defineProperty2["default"])(this,"debug",void 0),(0,_defineProperty2["default"])(this,"backend",void 0),(0,_defineProperty2["default"])(this,"apiToken",void 0),(0,_defineProperty2["default"])(this,"localServer",void 0),(0,_defineProperty2["default"])(this,"latestUrl",""),(0,_defineProperty2["default"])(this,"latestData",{}),(0,_defineProperty2["default"])(this,"buildUrl",function(a){//use Azure function
3
3
  if(e.apiToken){var b;return"".concat(null!==(b=e.localServer)&&void 0!==b?b:qohUri,"/").concat(a,"?code=").concat(e.apiToken)}//use localServer (API token not provided)
4
- return""==e.apiToken?"".concat(e.localServer,"/").concat(a):null}),(0,_defineProperty2["default"])(this,"queryGraphql",/*#__PURE__*/function(){var a=(0,_asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function b(a){var c,d,f,g;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(c=e.buildUrl("execGraphqlQuery"),!c){b.next=18;break}return b.next=4,fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uri:e.backend.uri,query:a,token:e.backend.token})});case 4:if(d=b.sent,!d.ok){b.next=13;break}return b.next=8,d.json();case 8:return f=b.sent,e.sendDebugEvent(),b.abrupt("return",f);case 13:return b.next=15,d.json();case 15:throw g=b.sent,console.log(g),new _ApiError.ApiError(d.status,g);case 18:throw new _ApiError.ApiError(500,{id:"99",summary:"queryUrl was not set",details:"LocalServer: ".concat(e.localServer)});case 19:case"end":return b.stop()}},b)}));return function(){return a.apply(this,arguments)}}()),(0,_defineProperty2["default"])(this,"query",/*#__PURE__*/function(){var a=(0,_asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function c(a,b){var d,f,g,h,i,j,k,l,m,n,o;return _regenerator["default"].wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(d=e.buildUrl("execQuery"),f=null!==b&&void 0!==b&&b.variables?_objectSpread({},b.variables):{},null!==b&&void 0!==b&&b.locale&&(f.locale=b.locale),null!==b&&void 0!==b&&b.filter&&Array.isArray(b.filter)&&(!f.filter&&(f.filter=[]),(g=f.filter).push.apply(g,(0,_toConsumableArray2["default"])(b.filter)),null!==b&&void 0!==b&&null!==(h=b.variables)&&void 0!==h&&h.filter&&Array.isArray(b.variables.filter)&&(i=f.filter).push.apply(i,(0,_toConsumableArray2["default"])(b.variables.filter))),!d||!b){c.next=35;break}return c.next=7,fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uri:e.backend.uri,queryname:a,token:e.backend.token,variables:f,components:e.getRegisteredComponentsWithFields(),ignoreProperties:b.ignoreProperties,depth:b.depth})});case 7:if(j=c.sent,!j.ok){c.next=28;break}return c.next=11,j.json();case 11:if(c.t1=k=c.sent,c.t0=null===c.t1,c.t0){c.next=15;break}c.t0=void 0===k;case 15:if(!c.t0){c.next=19;break}c.t2=void 0,c.next=20;break;case 19:c.t2=k.data;case 20:return l=c.t2,m=e.backend.normalize(l),n=e.debug?e.injectIds(m):m,e.latestData=n,e.sendDebugEvent(),c.abrupt("return",n);case 28:return c.next=30,j.json();case 30:throw o=c.sent,console.log(o),new _ApiError.ApiError(j.status,o);case 33:c.next=36;break;case 35:throw new _ApiError.ApiError(500,{id:"99",summary:"Query: queryUrl or options are invalid",details:""});case 36:case"end":return c.stop()}},c)}));return function(){return a.apply(this,arguments)}}()),(0,_defineProperty2["default"])(this,"getRegisteredComponentsWithFields",function(){var a={},b=Object.entries(getAllregisteredComponents());return b&&Array.isArray(b)&&b.forEach(function(b){var c=(0,_slicedToArray2["default"])(b,2),d=c[0],e=c[1],f={},g=e.fieldNames,h=!1;g&&Array.isArray(g)&&g.forEach(function(a){f[a]=!0,h=!0}),a[d]=h?f:{__all:!0}}),a}),(0,_defineProperty2["default"])(this,"getQueries",/*#__PURE__*/(0,_asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function a(){var b,c,d;return _regenerator["default"].wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(b=e.buildUrl("queries"),!(b&&e.backend&&(e.localServer||e.backend.token))){a.next=18;break}return a.next=4,fetch(b,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uri:e.backend.uri,token:e.backend.token||null})});case 4:if(c=a.sent,!c.ok){a.next=16;break}return a.prev=6,a.next=9,c.json();case 9:return d=a.sent,a.abrupt("return",d);case 13:a.prev=13,a.t0=a["catch"](6),console.error(a.t0);case 16:a.next=19;break;case 18:console.error("api, uri and CMSToken have to be provided");case 19:return a.abrupt("return","");case 20:case"end":return a.stop()}},a,null,[[6,13]])}))),this.backend=b,this.apiToken=c?c:null,this.localServer=d,this.debug="undefined"!=typeof document&&document.getElementsByTagName("body")[0].classList.contains("qoh-inject-ids"),this.debug&&"undefined"!=typeof window&&(window.addEventListener("QueenOfHearts-RequestData",function(){e.sendDebugEvent()}),window.addEventListener("QueenOfHearts-RequestQueries",function(){e.sendQueriesEvent()}),window.addEventListener("QueenOfHearts-HighlightComponent",function(a){e.highlightComponent(a.detail)}),window.addEventListener("QueenOfHearts-RequestComponentHTML",function(a){e.sendComponentHTML(a.detail)}))}return(0,_createClass2["default"])(a,[{key:"createComponent",value:function createComponent(a){var b,c,d=null!==(b=null===(c=componentRegistry[a.data.__typename])||void 0===c?void 0:c.component)&&void 0!==b?b:_Dodo["default"];return/*#__PURE__*/_react["default"].createElement(d,_objectSpread(_objectSpread({},a),a.data))}},{key:"injectIds",value:function injectIds(a){var b=this;if(Array.isArray(a))a.forEach(function(a){return b.injectIds(a)});else if(a&&"object"===(0,_typeof2["default"])(a)){if(a.hasOwnProperty("__typename")){var c=Math.random().toString();a.__qohId=c.substr(c.indexOf(".")+1)}Object.keys(a).forEach(function(c){return a[c]=b.injectIds(a[c])})}return a}},{key:"sendDebugEvent",value:function sendDebugEvent(){if("undefined"!=typeof window){var a={registeredComponents:Object.keys(componentRegistry),url:this.latestUrl,data:this.latestData},b=new CustomEvent("QueenOfHearts-DebuggingData",{detail:a});window.dispatchEvent(b)}}},{key:"sendQueriesEvent",value:function(){function a(){return b.apply(this,arguments)}var b=(0,_asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function a(){var b;return _regenerator["default"].wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if("undefined"!=typeof window){a.next=2;break}return a.abrupt("return");case 2:return a.t0=CustomEvent,a.next=5,this.getQueries();case 5:a.t1=a.sent,a.t2={detail:a.t1},b=new a.t0("QueenOfHearts-AvailableQueries",a.t2),window.dispatchEvent(b);case 9:case"end":return a.stop()}},a,this)}));return a}()},{key:"sendComponentHTML",value:function sendComponentHTML(a){var b;if("undefined"!=typeof window){var c=null===(b=document.querySelector("[qohId='".concat(a,"']")))||void 0===b?void 0:b.nextElementSibling;if(c){var d=new CustomEvent("QueenOfHearts-SelectedComponentHTML",{detail:{qohId:a,html:c.outerHTML}});window.dispatchEvent(d)}}}},{key:"highlightComponent",value:function highlightComponent(a){var b,c=null===(b=document.querySelector("[qohId='".concat(a,"']")))||void 0===b?void 0:b.nextElementSibling;c&&c.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}),c&&c.animate([{outline:"thick auto white"},{outline:"thick auto red"}],{duration:1e3,iterations:2})}}],[{key:"init",value:function init(b,c,d){a.instance=new a(b,c,d)}},{key:"getInstance",value:function getInstance(){return a.instance||console.error("QueenofheartsService was not initializes using QueenofheartsService.init(backend, apiToken)"),a.instance}}]),a}();_QueenofheartsService=QueenofheartsService,(0,_defineProperty2["default"])(QueenofheartsService,"instance",void 0);
4
+ return""==e.apiToken?"".concat(e.localServer,"/").concat(a):null}),(0,_defineProperty2["default"])(this,"queryGraphql",/*#__PURE__*/function(){var a=(0,_asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function b(a){var c,d,f,g;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(c=e.buildUrl("execGraphqlQuery"),!c){b.next=18;break}return b.next=4,fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uri:e.backend.uri,query:a,token:e.backend.token})});case 4:if(d=b.sent,!d.ok){b.next=13;break}return b.next=8,d.json();case 8:return f=b.sent,e.sendDebugEvent(),b.abrupt("return",f);case 13:return b.next=15,d.json();case 15:throw g=b.sent,console.log(g),new _ApiError.ApiError(d.status,g);case 18:throw new _ApiError.ApiError(500,{id:"99",summary:"queryUrl was not set",details:"LocalServer: ".concat(e.localServer)});case 19:case"end":return b.stop()}},b)}));return function(){return a.apply(this,arguments)}}()),(0,_defineProperty2["default"])(this,"query",/*#__PURE__*/function(){var a=(0,_asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function c(a,b){var d,f,g,h,i,j,k,l,m,n,o;return _regenerator["default"].wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(d=e.buildUrl("execQuery"),f=null!==b&&void 0!==b&&b.variables?_objectSpread({},b.variables):{},null!==b&&void 0!==b&&b.locale&&(f.locale=b.locale),null!==b&&void 0!==b&&b.filter&&Array.isArray(b.filter)&&(!f.filter&&(f.filter=[]),(g=f.filter).push.apply(g,(0,_toConsumableArray2["default"])(b.filter)),null!==b&&void 0!==b&&null!==(h=b.variables)&&void 0!==h&&h.filter&&Array.isArray(b.variables.filter)&&(i=f.filter).push.apply(i,(0,_toConsumableArray2["default"])(b.variables.filter))),!d||!b){c.next=35;break}return c.next=7,fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uri:e.backend.uri,queryname:a,token:e.backend.token,variables:f,components:e.getRegisteredComponentsWithFields(),ignoreProperties:b.ignoreProperties,depth:b.depth})});case 7:if(j=c.sent,!j.ok){c.next=28;break}return c.next=11,j.json();case 11:if(c.t1=k=c.sent,c.t0=null===c.t1,c.t0){c.next=15;break}c.t0=void 0===k;case 15:if(!c.t0){c.next=19;break}c.t2=void 0,c.next=20;break;case 19:c.t2=k.data;case 20:return l=c.t2,m=e.backend.normalize(l),n=e.debug?e.injectIds(m):m,e.latestData=n,e.sendDebugEvent(),c.abrupt("return",n);case 28:return c.next=30,j.json();case 30:throw o=c.sent,console.log(o),new _ApiError.ApiError(j.status,o);case 33:c.next=36;break;case 35:throw new _ApiError.ApiError(500,{id:"99",summary:"Query: queryUrl or options are invalid",details:""});case 36:case"end":return c.stop()}},c)}));return function(){return a.apply(this,arguments)}}()),(0,_defineProperty2["default"])(this,"getRegisteredComponentsWithFields",function(){var a={},b=Object.entries(getAllregisteredComponents());return b&&Array.isArray(b)&&b.forEach(function(b){var c=(0,_slicedToArray2["default"])(b,2),d=c[0],e=c[1],f={},g=e.fieldNames,h=!1;g&&Array.isArray(g)&&g.forEach(function(a){f[a]=!0,h=!0}),a[d]=h?f:{__all:!0}}),a}),(0,_defineProperty2["default"])(this,"getQueries",/*#__PURE__*/(0,_asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function a(){var b,c,d;return _regenerator["default"].wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(b=e.buildUrl("queries"),!(b&&e.backend&&(e.localServer||e.backend.token))){a.next=18;break}return a.next=4,fetch(b,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({uri:e.backend.uri,token:e.backend.token||null})});case 4:if(c=a.sent,!c.ok){a.next=16;break}return a.prev=6,a.next=9,c.json();case 9:return d=a.sent,a.abrupt("return",d);case 13:a.prev=13,a.t0=a["catch"](6),console.error(a.t0);case 16:a.next=19;break;case 18:console.error("api, uri and CMSToken have to be provided");case 19:return a.abrupt("return","");case 20:case"end":return a.stop()}},a,null,[[6,13]])}))),this.backend=b,this.apiToken=c?c:null,this.localServer=d,this.debug="undefined"!=typeof document&&document.getElementsByTagName("body")[0].classList.contains("qoh-inject-ids"),this.debug&&"undefined"!=typeof window&&(window.addEventListener("QueenOfHearts-RequestData",function(){e.sendDebugEvent()}),window.addEventListener("QueenOfHearts-RequestQueries",function(){e.sendQueriesEvent()}),window.addEventListener("QueenOfHearts-HighlightComponent",function(a){e.highlightComponent(a.detail)}),window.addEventListener("QueenOfHearts-RequestComponentHTML",function(a){e.sendComponentHTML(a.detail)}))}return(0,_createClass2["default"])(a,[{key:"createComponent",value:function createComponent(a){var b,c;//console.log('create component : ' + props.data.__typename);
5
+ if(componentRegistry[a.data.__typename]&&!componentRegistry[a.data.__typename].component){var d,e;console.log("loading component : "+a.data.__typename);var f=null===(d=componentRegistry[a.data.__typename])||void 0===d?void 0:d.loader;null!==(e=componentRegistry[a.data.__typename])&&void 0!==e&&e.component||(componentRegistry[a.data.__typename].component=f&&f())}var g=null!==(b=null===(c=componentRegistry[a.data.__typename])||void 0===c?void 0:c.component)&&void 0!==b?b:_Dodo["default"];return/*#__PURE__*/_react["default"].createElement(g,_objectSpread(_objectSpread({},a),a.data))}},{key:"injectIds",value:function injectIds(a){var b=this;if(Array.isArray(a))a.forEach(function(a){return b.injectIds(a)});else if(a&&"object"===(0,_typeof2["default"])(a)){if(a.hasOwnProperty("__typename")){var c=Math.random().toString();a.__qohId=c.substr(c.indexOf(".")+1)}Object.keys(a).forEach(function(c){return a[c]=b.injectIds(a[c])})}return a}},{key:"sendDebugEvent",value:function sendDebugEvent(){if("undefined"!=typeof window){var a={registeredComponents:Object.keys(componentRegistry),url:this.latestUrl,data:this.latestData},b=new CustomEvent("QueenOfHearts-DebuggingData",{detail:a});window.dispatchEvent(b)}}},{key:"sendQueriesEvent",value:function(){function a(){return b.apply(this,arguments)}var b=(0,_asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function a(){var b;return _regenerator["default"].wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if("undefined"!=typeof window){a.next=2;break}return a.abrupt("return");case 2:return a.t0=CustomEvent,a.next=5,this.getQueries();case 5:a.t1=a.sent,a.t2={detail:a.t1},b=new a.t0("QueenOfHearts-AvailableQueries",a.t2),window.dispatchEvent(b);case 9:case"end":return a.stop()}},a,this)}));return a}()},{key:"sendComponentHTML",value:function sendComponentHTML(a){var b;if("undefined"!=typeof window){var c=null===(b=document.querySelector("[qohId='".concat(a,"']")))||void 0===b?void 0:b.nextElementSibling;if(c){var d=new CustomEvent("QueenOfHearts-SelectedComponentHTML",{detail:{qohId:a,html:c.outerHTML}});window.dispatchEvent(d)}}}},{key:"highlightComponent",value:function highlightComponent(a){var b,c=null===(b=document.querySelector("[qohId='".concat(a,"']")))||void 0===b?void 0:b.nextElementSibling;c&&c.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}),c&&c.animate([{outline:"thick auto white"},{outline:"thick auto red"}],{duration:1e3,iterations:2})}}],[{key:"init",value:function init(b,c,d){a.instance=new a(b,c,d)}},{key:"getInstance",value:function getInstance(){return a.instance||console.error("QueenofheartsService was not initializes using QueenofheartsService.init(backend, apiToken)"),a.instance}}]),a}();_QueenofheartsService=QueenofheartsService,(0,_defineProperty2["default"])(QueenofheartsService,"instance",void 0);
@@ -0,0 +1,5 @@
1
+ export default interface Backend {
2
+ token: string;
3
+ uri: string;
4
+ normalize(data: any): any;
5
+ }
@@ -0,0 +1,8 @@
1
+ import Backend from './Backend';
2
+ export default class DatoCMS implements Backend {
3
+ token: string;
4
+ uri: string;
5
+ constructor(token: string);
6
+ renameSEOMetaTags(props: any): void;
7
+ normalize(data: any): any;
8
+ }
@@ -0,0 +1,8 @@
1
+ import Backend from './Backend';
2
+ export default class StrapiCMS implements Backend {
3
+ token: string;
4
+ uri: string;
5
+ constructor(token: string, strapiUrl: string);
6
+ renameSEOMetaTags(props: any): void;
7
+ normalize(data: any): any;
8
+ }
@@ -0,0 +1,3 @@
1
+ import DatoCMS from './DatoCMS';
2
+ import StrapiCMS from './StrapiCMS';
3
+ export { DatoCMS, StrapiCMS };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export default function DodoComponent(props: any): JSX.Element | null;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function QueenofheartsRenderComponent(props: any): JSX.Element | null;
package/lib/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from './components/QueenofheartsRenderComponent';
2
+ export * from './QueenofheartsService';
3
+ export * from './backend';
4
+ export * from './ApiError';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@qoh/core-react",
3
3
  "description": "Queen of hearts Core API",
4
- "version": "0.0.4",
4
+ "version": "0.0.6",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",
7
7
  "module": "lib/index.js",