@configura/debug-react 2.0.0-alpha.16 → 2.0.0-alpha.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,9 @@
1
- import React, { useEffect, useState } from "react";
1
+ import { ErrorIcon } from "@configura/web-ui";
2
+ import React, { useCallback, useEffect, useState } from "react";
2
3
  export const TextualConfigurationView = (props) => {
3
4
  const { active, observableStateManager } = props;
4
5
  const [editActive, setEditActive] = useState(false);
6
+ const [warnings, setWarnings] = useState([]);
5
7
  const [textualConfiguration, setTextualConfiguration] = useState(observableStateManager.stateAsString);
6
8
  useEffect(() => {
7
9
  const textualConfigurationListener = (v) => {
@@ -15,6 +17,10 @@ export const TextualConfigurationView = (props) => {
15
17
  observableStateManager.stopListenForStateChange(textualConfigurationListener);
16
18
  };
17
19
  }, [editActive, observableStateManager]);
20
+ const refreshWarnings = useCallback(() => {
21
+ const ws = observableStateManager.getWarnings();
22
+ setWarnings(ws);
23
+ }, [observableStateManager]);
18
24
  return active ? (React.createElement("div", { className: `cfgTextualConfiguration ${props.className || ""}`, style: props.style },
19
25
  props.children,
20
26
  editActive && React.createElement("p", null, "Editing like this is experimental"),
@@ -22,20 +28,31 @@ export const TextualConfigurationView = (props) => {
22
28
  if (!editActive) {
23
29
  return;
24
30
  }
31
+ refreshWarnings();
25
32
  setTextualConfiguration(event.target.value);
26
33
  } }),
27
34
  React.createElement("div", { className: "cfgButtonRow" },
28
35
  React.createElement("button", { className: "cfgButtonRow__button cfgButton", onClick: () => {
36
+ refreshWarnings();
29
37
  navigator.clipboard.writeText(textualConfiguration);
30
38
  } }, "Copy to clipboard"),
31
- !editActive && (React.createElement("button", { className: "cfgButtonRow__button cfgButton", onClick: () => setEditActive(true) }, "Edit")),
39
+ !editActive && (React.createElement("button", { className: "cfgButtonRow__button cfgButton", onClick: () => {
40
+ refreshWarnings();
41
+ setEditActive(true);
42
+ } }, "Edit")),
32
43
  editActive && (React.createElement(React.Fragment, null,
33
44
  React.createElement("button", { className: "cfgButtonRow__button cfgButton", onClick: () => {
45
+ refreshWarnings();
34
46
  setTextualConfiguration(observableStateManager.stateAsString);
35
47
  setEditActive(false);
36
48
  } }, "Cancel Edit"),
37
49
  React.createElement("button", { className: "cfgButtonRow__button cfgButton", disabled: observableStateManager.stateAsString === textualConfiguration, onClick: () => {
50
+ refreshWarnings();
38
51
  setEditActive(false);
39
52
  observableStateManager.stateAsString = textualConfiguration;
40
- } }, "Apply Edit")))))) : null;
53
+ } }, "Apply Edit")))),
54
+ warnings.map((w) => (React.createElement("div", { className: "cfgTextualConfiguration__error", key: w },
55
+ React.createElement(ErrorIcon, null),
56
+ " ",
57
+ w))))) : null;
41
58
  };
@@ -1 +1 @@
1
- :root{--cfgExerciserImageWidth:200px;--cfgExerciserLink:#2667cf}.cfgExerciser{overflow-wrap:anywhere}.cfgExerciserColumn{display:flex;flex-direction:column;flex:1 1 auto}.cfgExerciserRow{display:flex;flex-direction:row;flex-wrap:wrap}.cfgExerciserLink{color:var(--cfgExerciserLink);text-decoration:none;word-break:break-all}.cfgExerciserView{margin:0 1em}.cfgExerciserButton{font-size:1em}.cfgExerciserControl{margin:.5em 0}.cfgExerciserControl__label{display:block;text-transform:capitalize;font-weight:500}.cfgExerciserControl__select--operator{margin-right:.5em}.cfgExerciserControl__selectWrapper{display:flex;flex-direction:row;flex-wrap:wrap}.cfgExerciserControl__select--full{flex:1 0 auto}.cfgExerciserControl__error{color:#dc143c}.cfgCanvasWrapper{width:100%}.cfgExerciserReportItem{border-top:1px solid #000;display:flex;flex-wrap:wrap}.cfgExerciserReportItem .cfgDebugLog{font-size:1em}.cfgExerciserReportItem .cfgDebugLog__item{padding:1px;margin:.5em 0}@media screen and (min-width:62.5em){.cfgExerciserReportItem{flex-wrap:nowrap}}.cfgExerciserReportItem__info{flex:1 1 auto}.cfgExerciserReportItem__image{width:var(--cfgExerciserImageWidth);height:var(--cfgExerciserImageWidth)}.cfgExerciserReportItem__image img{width:100%}.cfgExerciserFilter__logMessage{display:block;padding:1px 0}.cfgExerciserSetup{display:flex;flex-direction:row;flex-wrap:wrap}.cfgExerciserSetup__select{max-width:50rem}.cfgExerciserSetup__preview,.cfgExerciserSetup__select{flex:1 1 auto}.cfgExerciserSetup__select+.cfgExerciserSetup__preview{flex:1 1 50%}.cfgFontSize10{font-size:10px}.cfgDebugLog{font-size:1.5em;margin:1em 0}.cfgDebugLog__list{list-style:none;padding-left:0}.cfgDebugLog__item{padding:1em}.cfgDebugLog__item--severityInfo,.cfgDebugLog__item--severityLog{background-color:#33f;color:#fff}.cfgDebugLog__item--severityWarn{background-color:#fd0}.cfgDebugLog__item--severityError{background-color:#c00;color:#fff}ul.debug-wrapper{-webkit-padding-start:0;padding-inline-start:0;list-style:none}.debug-component__heading{font-weight:700}.debug-component__table{color:#00f;border-top:1px solid #00f;border-left:1px solid #00f;margin-left:1px;padding-left:5px;padding-top:5px;margin-top:10px}.debug-component__table--mark-hidden{color:#88f}.debug-component__table tr td:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.debug-component__group{list-style:none;-webkit-padding-start:10px;padding-inline-start:10px}.cfgTextualConfiguration__input{width:100%;min-height:15em}
1
+ :root{--cfgExerciserImageWidth:200px;--cfgExerciserLink:#2667cf}.cfgExerciser{overflow-wrap:anywhere}.cfgExerciserColumn{display:flex;flex-direction:column;flex:1 1 auto}.cfgExerciserRow{display:flex;flex-direction:row;flex-wrap:wrap}.cfgExerciserLink{color:var(--cfgExerciserLink);text-decoration:none;word-break:break-all}.cfgExerciserView{margin:0 1em}.cfgExerciserButton{font-size:1em}.cfgExerciserControl{margin:.5em 0}.cfgExerciserControl__label{display:block;text-transform:capitalize;font-weight:500}.cfgExerciserControl__select--operator{margin-right:.5em}.cfgExerciserControl__selectWrapper{display:flex;flex-direction:row;flex-wrap:wrap}.cfgExerciserControl__select--full{flex:1 0 auto}.cfgExerciserControl__error{color:#dc143c}.cfgCanvasWrapper{width:100%}.cfgExerciserReportItem{border-top:1px solid #000;display:flex;flex-wrap:wrap}.cfgExerciserReportItem .cfgDebugLog{font-size:1em}.cfgExerciserReportItem .cfgDebugLog__item{padding:1px;margin:.5em 0}@media screen and (min-width:62.5em){.cfgExerciserReportItem{flex-wrap:nowrap}}.cfgExerciserReportItem__info{flex:1 1 auto}.cfgExerciserReportItem__image{width:var(--cfgExerciserImageWidth);height:var(--cfgExerciserImageWidth)}.cfgExerciserReportItem__image img{width:100%}.cfgExerciserFilter__logMessage{display:block;padding:1px 0}.cfgExerciserSetup{display:flex;flex-direction:row;flex-wrap:wrap}.cfgExerciserSetup__select{max-width:50rem}.cfgExerciserSetup__preview,.cfgExerciserSetup__select{flex:1 1 auto}.cfgExerciserSetup__select+.cfgExerciserSetup__preview{flex:1 1 50%}.cfgFontSize10{font-size:10px}.cfgDebugLog{font-size:1.5em;margin:1em 0}.cfgDebugLog__list{list-style:none;padding-left:0}.cfgDebugLog__item{padding:1em}.cfgDebugLog__item--severityInfo,.cfgDebugLog__item--severityLog{background-color:#33f;color:#fff}.cfgDebugLog__item--severityWarn{background-color:#fd0}.cfgDebugLog__item--severityError{background-color:#c00;color:#fff}ul.debug-wrapper{-webkit-padding-start:0;padding-inline-start:0;list-style:none}.debug-component__heading{font-weight:700}.debug-component__table{color:#00f;border-top:1px solid #00f;border-left:1px solid #00f;margin-left:1px;padding-left:5px;padding-top:5px;margin-top:10px}.debug-component__table--mark-hidden{color:#88f}.debug-component__table tr td:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.debug-component__group{list-style:none;-webkit-padding-start:10px;padding-inline-start:10px}.cfgTextualConfiguration__input{width:100%;min-height:15em}.cfgTextualConfiguration__error{margin-top:1em;font-size:1.2em}.cfgTextualConfiguration__error .cfgErrorIcon{margin-right:.75em;width:1.25em;height:1em}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/scss/_exerciser.scss","../../src/scss/debug.scss","../../src/scss/debug.scss%23sass"],"names":[],"mappings":"AAAA,MACC,8BAAA,CCCD,0BACA,CDEA,cCCA,sBACA,CDEA,oBCCC,YAAA,CDCA,qBAAA,CACA,aCCD,CDEA,iBACC,YAAA,CACA,kBAAA,CACA,cCCD,CDEA,kBACC,6BAAA,CACA,oBAAA,CACA,oBCCD,CDEA,kBACC,YCCD,CDEA,oBACC,aCCD,CDEA,qBCCA,aACA,CDEA,4BACC,aAAA,CCCA,yBAAA,CDCA,eCCD,CDCA,uCACC,iBCED,CDCA,oCACC,YAAA,CACA,kBAAA,CACA,cCED,CDCA,mCACC,aCED,CDCA,4BACC,aCED,CDCA,kBACC,UCED,CDCA,wBCEC,yBAAA,CACD,YAAA,CDAC,cCED,CDAC,qCACC,aCEF,CDCC,2CCCD,WAAA,CDCE,aCCF,CDGA,qCACC,wBACC,gBCAA,CACF,CDGA,8BACC,aCDD,CDIA,+BACC,mCAAA,CACA,oCCDD,CDIA,mCACC,UCDD,CDIA,gCACC,aAAA,CACA,aCDD,CDIA,mBACC,YAAA,CACA,kBAAA,CACA,cCDD,CDIA,2BACC,eCDD,CDIA,uDAEC,aCDD,CDIA,uDACC,YCDD,CCtHA,eACC,cDyHD,CCtHA,aACC,eAAA,CACA,YDyHD,CCvHC,mBACC,eAAA,CACA,cDyHF,CCtHC,mBACC,WDwHF,CCtHE,iEAEC,qBAAA,CACA,UDuHH,CCrHE,iCACC,qBDuHH,CCrHE,kCACC,qBAAA,CACA,UDuHH,CClHA,iBACC,uBAAA,CAAA,sBAAA,CACA,eDqHD,CCjHC,0BACC,eDoHF,CCjHC,wBACC,UAAA,CACA,yBAAA,CACA,0BAAA,CACA,eAAA,CACA,gBAAA,CACA,eAAA,CACA,eDmHF,CCjHE,qCACC,UDmHH,CC/GG,2CACC,kBAAA,CACA,eAAA,CACA,sBDiHJ,CC5GC,wBACC,eAAA,CACA,0BAAA,CAAA,yBD8GF,CCzGC,gCACC,UAAA,CACA,eD4GF","file":"debug.css","sourcesContent":[":root {\n\t--cfgExerciserImageWidth: 200px;\n\t--cfgExerciserLink: hsl(217, 69%, 48%);\n}\n\n.cfgExerciser {\n\toverflow-wrap: anywhere;\n}\n\n.cfgExerciserColumn {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex: 1 1 auto;\n}\n\n.cfgExerciserRow {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n}\n\n.cfgExerciserLink {\n\tcolor: var(--cfgExerciserLink);\n\ttext-decoration: none;\n\tword-break: break-all;\n}\n\n.cfgExerciserView {\n\tmargin: 0 1em;\n}\n\n.cfgExerciserButton {\n\tfont-size: 1em;\n}\n\n.cfgExerciserControl {\n\tmargin: 0.5em 0;\n}\n\n.cfgExerciserControl__label {\n\tdisplay: block;\n\ttext-transform: capitalize;\n\tfont-weight: 500;\n}\n.cfgExerciserControl__select--operator {\n\tmargin-right: 0.5em;\n}\n\n.cfgExerciserControl__selectWrapper {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n}\n\n.cfgExerciserControl__select--full {\n\tflex: 1 0 auto;\n}\n\n.cfgExerciserControl__error {\n\tcolor: crimson;\n}\n\n.cfgCanvasWrapper {\n\twidth: 100%;\n}\n\n.cfgExerciserReportItem {\n\tborder-top: 1px solid black;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\n\t& .cfgDebugLog {\n\t\tfont-size: 1em;\n\t}\n\n\t& .cfgDebugLog__item {\n\t\tpadding: 1px;\n\t\tmargin: 0.5em 0;\n\t}\n}\n\n@media screen and (min-width: 62.5em) {\n\t.cfgExerciserReportItem {\n\t\tflex-wrap: nowrap;\n\t}\n}\n\n.cfgExerciserReportItem__info {\n\tflex: 1 1 auto;\n}\n\n.cfgExerciserReportItem__image {\n\twidth: var(--cfgExerciserImageWidth);\n\theight: var(--cfgExerciserImageWidth);\n}\n\n.cfgExerciserReportItem__image img {\n\twidth: 100%;\n}\n\n.cfgExerciserFilter__logMessage {\n\tdisplay: block;\n\tpadding: 1px 0;\n}\n\n.cfgExerciserSetup {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n}\n\n.cfgExerciserSetup__select {\n\tmax-width: 50rem;\n}\n\n.cfgExerciserSetup__select,\n.cfgExerciserSetup__preview {\n\tflex: 1 1 auto;\n}\n\n.cfgExerciserSetup__select + .cfgExerciserSetup__preview {\n\tflex: 1 1 50%;\n}\n","@import \"exerciser\";\n\n.cfgFontSize10 {\n\tfont-size: 10px;\n}\n\n.cfgDebugLog {\n\tfont-size: 1.5em;\n\tmargin: 1em 0;\n\n\t&__list {\n\t\tlist-style: none;\n\t\tpadding-left: 0;\n\t}\n\n\t&__item {\n\t\tpadding: 1em;\n\n\t\t&--severityLog,\n\t\t&--severityInfo {\n\t\t\tbackground-color: #3333ff;\n\t\t\tcolor: #fff;\n\t\t}\n\t\t&--severityWarn {\n\t\t\tbackground-color: #ffdd00;\n\t\t}\n\t\t&--severityError {\n\t\t\tbackground-color: #cc0000;\n\t\t\tcolor: #fff;\n\t\t}\n\t}\n}\n\nul.debug-wrapper {\n\tpadding-inline-start: 0;\n\tlist-style: none;\n}\n\n.debug-component {\n\t&__heading {\n\t\tfont-weight: 700;\n\t}\n\n\t&__table {\n\t\tcolor: blue;\n\t\tborder-top: 1px blue solid;\n\t\tborder-left: 1px blue solid;\n\t\tmargin-left: 1px;\n\t\tpadding-left: 5px;\n\t\tpadding-top: 5px;\n\t\tmargin-top: 10px;\n\n\t\t&--mark-hidden {\n\t\t\tcolor: #8888ff;\n\t\t}\n\n\t\ttr {\n\t\t\ttd:nth-child(2) {\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__group {\n\t\tlist-style: none;\n\t\tpadding-inline-start: 10px;\n\t}\n}\n\n.cfgTextualConfiguration {\n\t&__input {\n\t\twidth: 100%;\n\t\tmin-height: 15em;\n\t}\n}\n","@import \"exerciser\";\n\n.cfgFontSize10 {\n\tfont-size: 10px;\n}\n\n.cfgDebugLog {\n\tfont-size: 1.5em;\n\tmargin: 1em 0;\n\n\t&__list {\n\t\tlist-style: none;\n\t\tpadding-left: 0;\n\t}\n\n\t&__item {\n\t\tpadding: 1em;\n\n\t\t&--severityLog,\n\t\t&--severityInfo {\n\t\t\tbackground-color: #3333ff;\n\t\t\tcolor: #fff;\n\t\t}\n\t\t&--severityWarn {\n\t\t\tbackground-color: #ffdd00;\n\t\t}\n\t\t&--severityError {\n\t\t\tbackground-color: #cc0000;\n\t\t\tcolor: #fff;\n\t\t}\n\t}\n}\n\nul.debug-wrapper {\n\tpadding-inline-start: 0;\n\tlist-style: none;\n}\n\n.debug-component {\n\t&__heading {\n\t\tfont-weight: 700;\n\t}\n\n\t&__table {\n\t\tcolor: blue;\n\t\tborder-top: 1px blue solid;\n\t\tborder-left: 1px blue solid;\n\t\tmargin-left: 1px;\n\t\tpadding-left: 5px;\n\t\tpadding-top: 5px;\n\t\tmargin-top: 10px;\n\n\t\t&--mark-hidden {\n\t\t\tcolor: #8888ff;\n\t\t}\n\n\t\ttr {\n\t\t\ttd:nth-child(2) {\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__group {\n\t\tlist-style: none;\n\t\tpadding-inline-start: 10px;\n\t}\n}\n\n.cfgTextualConfiguration {\n\t&__input {\n\t\twidth: 100%;\n\t\tmin-height: 15em;\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../src/scss/_exerciser.scss","../../src/scss/debug.scss","../../src/scss/debug.scss%23sass"],"names":[],"mappings":"AAAA,MACC,8BAAA,CCCD,0BACA,CDEA,cCCA,sBACA,CDEA,oBCCC,YAAA,CDCA,qBAAA,CACA,aCCD,CDEA,iBACC,YAAA,CACA,kBAAA,CACA,cCCD,CDEA,kBACC,6BAAA,CACA,oBAAA,CACA,oBCCD,CDEA,kBACC,YCCD,CDEA,oBACC,aCCD,CDEA,qBCCA,aACA,CDEA,4BACC,aAAA,CCCA,yBAAA,CDCA,eCCD,CDCA,uCACC,iBCED,CDCA,oCACC,YAAA,CACA,kBAAA,CACA,cCED,CDCA,mCACC,aCED,CDCA,4BACC,aCED,CDCA,kBACC,UCED,CDCA,wBCEC,yBAAA,CACD,YAAA,CDAC,cCED,CDAC,qCACC,aCEF,CDCC,2CACC,WAAA,CCCD,aACD,CDGA,qCACC,wBCAE,gBACD,CACF,CDGA,8BCDC,aACD,CDIA,+BACC,mCAAA,CACA,oCCDD,CDIA,mCACC,UCDD,CDIA,gCACC,aAAA,CACA,aCDD,CDIA,mBACC,YAAA,CACA,kBAAA,CACA,cCDD,CDIA,2BACC,eCDD,CDIA,uDAEC,aCDD,CDIA,uDACC,YCDD,CCtHA,eACC,cDyHD,CCtHA,aACC,eAAA,CACA,YDyHD,CCvHC,mBACC,eAAA,CACA,cDyHF,CCtHC,mBACC,WDwHF,CCtHE,iEAEC,qBAAA,CACA,UDuHH,CCrHE,iCACC,qBDuHH,CCrHE,kCACC,qBAAA,CACA,UDuHH,CClHA,iBACC,uBAAA,CAAA,sBAAA,CACA,eDqHD,CCjHC,0BACC,eDoHF,CCjHC,wBACC,UAAA,CACA,yBAAA,CACA,0BAAA,CACA,eAAA,CACA,gBAAA,CACA,eAAA,CACA,eDmHF,CCjHE,qCACC,UDmHH,CC/GG,2CACC,kBAAA,CACA,eAAA,CACA,sBDiHJ,CC5GC,wBACC,eAAA,CACA,0BAAA,CAAA,yBD8GF,CCzGC,gCACC,UAAA,CACA,eD4GF,CCzGC,gCACC,cAAA,CACA,eD2GF,CCzGE,8CACC,kBAAA,CACA,YAAA,CACA,UD2GH","file":"debug.css","sourcesContent":[":root {\n\t--cfgExerciserImageWidth: 200px;\n\t--cfgExerciserLink: hsl(217, 69%, 48%);\n}\n\n.cfgExerciser {\n\toverflow-wrap: anywhere;\n}\n\n.cfgExerciserColumn {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex: 1 1 auto;\n}\n\n.cfgExerciserRow {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n}\n\n.cfgExerciserLink {\n\tcolor: var(--cfgExerciserLink);\n\ttext-decoration: none;\n\tword-break: break-all;\n}\n\n.cfgExerciserView {\n\tmargin: 0 1em;\n}\n\n.cfgExerciserButton {\n\tfont-size: 1em;\n}\n\n.cfgExerciserControl {\n\tmargin: 0.5em 0;\n}\n\n.cfgExerciserControl__label {\n\tdisplay: block;\n\ttext-transform: capitalize;\n\tfont-weight: 500;\n}\n.cfgExerciserControl__select--operator {\n\tmargin-right: 0.5em;\n}\n\n.cfgExerciserControl__selectWrapper {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n}\n\n.cfgExerciserControl__select--full {\n\tflex: 1 0 auto;\n}\n\n.cfgExerciserControl__error {\n\tcolor: crimson;\n}\n\n.cfgCanvasWrapper {\n\twidth: 100%;\n}\n\n.cfgExerciserReportItem {\n\tborder-top: 1px solid black;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\n\t& .cfgDebugLog {\n\t\tfont-size: 1em;\n\t}\n\n\t& .cfgDebugLog__item {\n\t\tpadding: 1px;\n\t\tmargin: 0.5em 0;\n\t}\n}\n\n@media screen and (min-width: 62.5em) {\n\t.cfgExerciserReportItem {\n\t\tflex-wrap: nowrap;\n\t}\n}\n\n.cfgExerciserReportItem__info {\n\tflex: 1 1 auto;\n}\n\n.cfgExerciserReportItem__image {\n\twidth: var(--cfgExerciserImageWidth);\n\theight: var(--cfgExerciserImageWidth);\n}\n\n.cfgExerciserReportItem__image img {\n\twidth: 100%;\n}\n\n.cfgExerciserFilter__logMessage {\n\tdisplay: block;\n\tpadding: 1px 0;\n}\n\n.cfgExerciserSetup {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n}\n\n.cfgExerciserSetup__select {\n\tmax-width: 50rem;\n}\n\n.cfgExerciserSetup__select,\n.cfgExerciserSetup__preview {\n\tflex: 1 1 auto;\n}\n\n.cfgExerciserSetup__select + .cfgExerciserSetup__preview {\n\tflex: 1 1 50%;\n}\n","@import \"exerciser\";\n\n.cfgFontSize10 {\n\tfont-size: 10px;\n}\n\n.cfgDebugLog {\n\tfont-size: 1.5em;\n\tmargin: 1em 0;\n\n\t&__list {\n\t\tlist-style: none;\n\t\tpadding-left: 0;\n\t}\n\n\t&__item {\n\t\tpadding: 1em;\n\n\t\t&--severityLog,\n\t\t&--severityInfo {\n\t\t\tbackground-color: #3333ff;\n\t\t\tcolor: #fff;\n\t\t}\n\t\t&--severityWarn {\n\t\t\tbackground-color: #ffdd00;\n\t\t}\n\t\t&--severityError {\n\t\t\tbackground-color: #cc0000;\n\t\t\tcolor: #fff;\n\t\t}\n\t}\n}\n\nul.debug-wrapper {\n\tpadding-inline-start: 0;\n\tlist-style: none;\n}\n\n.debug-component {\n\t&__heading {\n\t\tfont-weight: 700;\n\t}\n\n\t&__table {\n\t\tcolor: blue;\n\t\tborder-top: 1px blue solid;\n\t\tborder-left: 1px blue solid;\n\t\tmargin-left: 1px;\n\t\tpadding-left: 5px;\n\t\tpadding-top: 5px;\n\t\tmargin-top: 10px;\n\n\t\t&--mark-hidden {\n\t\t\tcolor: #8888ff;\n\t\t}\n\n\t\ttr {\n\t\t\ttd:nth-child(2) {\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__group {\n\t\tlist-style: none;\n\t\tpadding-inline-start: 10px;\n\t}\n}\n\n.cfgTextualConfiguration {\n\t&__input {\n\t\twidth: 100%;\n\t\tmin-height: 15em;\n\t}\n\n\t&__error {\n\t\tmargin-top: 1em;\n\t\tfont-size: 1.2em;\n\n\t\t.cfgErrorIcon {\n\t\t\tmargin-right: 0.75em;\n\t\t\twidth: 1.25em;\n\t\t\theight: 1em;\n\t\t}\n\t}\n}\n","@import \"exerciser\";\n\n.cfgFontSize10 {\n\tfont-size: 10px;\n}\n\n.cfgDebugLog {\n\tfont-size: 1.5em;\n\tmargin: 1em 0;\n\n\t&__list {\n\t\tlist-style: none;\n\t\tpadding-left: 0;\n\t}\n\n\t&__item {\n\t\tpadding: 1em;\n\n\t\t&--severityLog,\n\t\t&--severityInfo {\n\t\t\tbackground-color: #3333ff;\n\t\t\tcolor: #fff;\n\t\t}\n\t\t&--severityWarn {\n\t\t\tbackground-color: #ffdd00;\n\t\t}\n\t\t&--severityError {\n\t\t\tbackground-color: #cc0000;\n\t\t\tcolor: #fff;\n\t\t}\n\t}\n}\n\nul.debug-wrapper {\n\tpadding-inline-start: 0;\n\tlist-style: none;\n}\n\n.debug-component {\n\t&__heading {\n\t\tfont-weight: 700;\n\t}\n\n\t&__table {\n\t\tcolor: blue;\n\t\tborder-top: 1px blue solid;\n\t\tborder-left: 1px blue solid;\n\t\tmargin-left: 1px;\n\t\tpadding-left: 5px;\n\t\tpadding-top: 5px;\n\t\tmargin-top: 10px;\n\n\t\t&--mark-hidden {\n\t\t\tcolor: #8888ff;\n\t\t}\n\n\t\ttr {\n\t\t\ttd:nth-child(2) {\n\t\t\t\twhite-space: nowrap;\n\t\t\t\toverflow: hidden;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__group {\n\t\tlist-style: none;\n\t\tpadding-inline-start: 10px;\n\t}\n}\n\n.cfgTextualConfiguration {\n\t&__input {\n\t\twidth: 100%;\n\t\tmin-height: 15em;\n\t}\n\n\t&__error {\n\t\tmargin-top: 1em;\n\t\tfont-size: 1.2em;\n\n\t\t.cfgErrorIcon {\n\t\t\tmargin-right: 0.75em;\n\t\t\twidth: 1.25em;\n\t\t\theight: 1em;\n\t\t}\n\t}\n}\n"]}
@@ -1,16 +1,16 @@
1
- import { CatalogueAPI, DtoCatalogueParams, DtoCatalogueParamsWithoutCid, DtoCataloguePermission, DtoProductParams, DtoTOCResponse, GeneratedProductConfiguration, ProductRefParams } from "@configura/web-api";
1
+ import { CatalogueAPI, DtoCatalogueParams, DtoCatalogueParamsWithCid, DtoCataloguePermission, DtoProductParamsWithCid, DtoTOCResponse, GeneratedProductConfiguration, ProductRefParams } from "@configura/web-api";
2
2
  import { AggregatedLoadingObservable, Filter, Filters, LogLevel } from "@configura/web-utilities";
3
3
  import React from "react";
4
4
  export declare type ExerciserAction = "setup" | "run";
5
5
  export declare function validateAction(action: string): ExerciserAction;
6
- export declare function flattenCataloguePermissions(permissions: DtoCataloguePermission[]): DtoCatalogueParams[];
6
+ export declare function flattenCataloguePermissions(permissions: DtoCataloguePermission[]): DtoCatalogueParamsWithCid[];
7
7
  export declare function filtersKey(...filters: Filter[]): string;
8
- export declare function catalogueFiltersKey(filters: Filters<DtoCatalogueParamsWithoutCid>): string;
9
- export declare function useCatalogueFilters(props: ExerciserState): Filters<DtoCatalogueParamsWithoutCid>;
8
+ export declare function catalogueFiltersKey(filters: Filters<DtoCatalogueParams>): string;
9
+ export declare function useCatalogueFilters(props: ExerciserState): Filters<DtoCatalogueParams>;
10
10
  export declare function productFiltersKey(filters: Filters<ProductRefParams>): string;
11
11
  export declare function useProductFilters(props: ExerciserState): Filters<ProductRefParams>;
12
- export declare function useProductConfigurationIterator(api: CatalogueAPI, lang: string, result: DtoCatalogueParams[], productConditions: Filters<ProductRefParams>): AsyncIterableIterator<GeneratedProductConfiguration | Error>;
13
- export declare function useToc(api: CatalogueAPI, params: DtoCatalogueParamsWithoutCid | undefined, lang: string, setError: (err: unknown) => void, loadingObservable: AggregatedLoadingObservable): DtoTOCResponse | undefined;
12
+ export declare function useProductConfigurationIterator(api: CatalogueAPI, lang: string, result: DtoCatalogueParamsWithCid[], productConditions: Filters<ProductRefParams>): AsyncIterableIterator<GeneratedProductConfiguration | Error>;
13
+ export declare function useToc(api: CatalogueAPI, params: DtoCatalogueParams | undefined, lang: string, setError: (err: unknown) => void, loadingObservable: AggregatedLoadingObservable): DtoTOCResponse | undefined;
14
14
  export interface LogMessageCount {
15
15
  message: string;
16
16
  level: LogLevel;
@@ -29,7 +29,7 @@ export interface ExerciserState {
29
29
  interface Props {
30
30
  api: CatalogueAPI;
31
31
  exerciserState: ExerciserState;
32
- generateExerciserUrl: (action: ExerciserAction, lang: string, params: Partial<DtoProductParams>) => string;
32
+ generateExerciserUrl: (action: ExerciserAction, lang: string, params: Partial<DtoProductParamsWithCid>) => string;
33
33
  setError: (err: unknown) => void;
34
34
  setExerciserState: (next: ExerciserState) => void;
35
35
  }
@@ -1,4 +1,4 @@
1
- import { DtoProductParams, GeneratedProductConfiguration } from "@configura/web-api";
1
+ import { DtoProductParamsWithCid, GeneratedProductConfiguration } from "@configura/web-api";
2
2
  import { AggregatedLoadingObservable, LogLevel } from "@configura/web-utilities";
3
3
  import { ExerciserAction } from "./Exerciser.js";
4
4
  import { ExerciserReportItem } from "./ExerciserReportItem.js";
@@ -13,7 +13,7 @@ interface Props {
13
13
  addReportItem: (item: ExerciserReportItem) => void;
14
14
  loadingObservable: AggregatedLoadingObservable;
15
15
  productIterator: AsyncIterableIterator<GeneratedProductConfiguration | Error>;
16
- generateExerciserUrl: (action: ExerciserAction, lang: string, params: Partial<DtoProductParams>) => string;
16
+ generateExerciserUrl: (action: ExerciserAction, lang: string, params: Partial<DtoProductParamsWithCid>) => string;
17
17
  }
18
18
  export declare function ExerciserRunner(props: Props): JSX.Element | null;
19
19
  export {};
@@ -1,10 +1,10 @@
1
- import { CatalogueAPI, DtoProductParams, GeneratedProductConfiguration } from "@configura/web-api";
1
+ import { CatalogueAPI, DtoProductParamsWithCid, GeneratedProductConfiguration } from "@configura/web-api";
2
2
  import { AggregatedLoadingObservable } from "@configura/web-utilities";
3
3
  import { ExerciserAction, ExerciserState } from "./Exerciser.js";
4
4
  interface Props {
5
5
  api: CatalogueAPI;
6
6
  exerciserState: ExerciserState;
7
- generateExerciserUrl: (action: ExerciserAction, lang: string, params: Partial<DtoProductParams>) => string;
7
+ generateExerciserUrl: (action: ExerciserAction, lang: string, params: Partial<DtoProductParamsWithCid>) => string;
8
8
  loadingObservable: AggregatedLoadingObservable;
9
9
  setError: (err: unknown) => void;
10
10
  setExerciserState: (next: ExerciserState) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@configura/debug-react",
3
- "version": "2.0.0-alpha.16",
3
+ "version": "2.0.0-alpha.19",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -19,10 +19,10 @@
19
19
  "test": "echo \"Error: run tests from root\" && exit 1"
20
20
  },
21
21
  "dependencies": {
22
- "@configura/babylon-view": "2.0.0-alpha.16",
23
- "@configura/babylon-view-react": "2.0.0-alpha.16",
24
- "@configura/web-ui": "2.0.0-alpha.16",
25
- "@configura/web-utilities": "2.0.0-alpha.16",
22
+ "@configura/babylon-view": "2.0.0-alpha.19",
23
+ "@configura/babylon-view-react": "2.0.0-alpha.19",
24
+ "@configura/web-ui": "2.0.0-alpha.19",
25
+ "@configura/web-utilities": "2.0.0-alpha.19",
26
26
  "react": "17.x || ^16.12.0",
27
27
  "react-dom": "17.x || ^16.12.0",
28
28
  "react-router-dom": "^5.2.0"
@@ -44,5 +44,5 @@
44
44
  "publishConfig": {
45
45
  "access": "public"
46
46
  },
47
- "gitHead": "8c03272c5c4eb3445ad9a06dda0abe1d1fefab49"
47
+ "gitHead": "cabb223e0e55c63991c09f652d446e98b0546bf8"
48
48
  }