@contember/react-devbar 2.0.0-alpha.3 → 2.0.0-alpha.31

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.
Files changed (129) hide show
  1. package/api-extractor.json +3 -0
  2. package/dist/development/index.cjs +6 -6
  3. package/dist/development/index.js +6 -6
  4. package/dist/development/{DevErrorManager.cjs → src/DevErrorManager.cjs} +10 -13
  5. package/dist/development/src/DevErrorManager.cjs.map +1 -0
  6. package/dist/development/{DevErrorManager.js → src/DevErrorManager.js} +5 -8
  7. package/dist/development/src/DevErrorManager.js.map +1 -0
  8. package/dist/development/{errorHandling.cjs → src/errorHandling.cjs} +1 -1
  9. package/dist/development/src/errorHandling.cjs.map +1 -0
  10. package/dist/development/{errorHandling.js → src/errorHandling.js} +2 -2
  11. package/dist/development/src/errorHandling.js.map +1 -0
  12. package/dist/development/{hooks → src/hooks}/useParsedStacktrace.cjs +9 -4
  13. package/dist/development/src/hooks/useParsedStacktrace.cjs.map +1 -0
  14. package/dist/{production → development/src}/hooks/useParsedStacktrace.js +6 -1
  15. package/dist/development/src/hooks/useParsedStacktrace.js.map +1 -0
  16. package/dist/development/{ui → src/ui}/DevBar/DevBar.cjs +22 -22
  17. package/dist/development/src/ui/DevBar/DevBar.cjs.map +1 -0
  18. package/dist/development/{ui → src/ui}/DevBar/DevBar.js +14 -14
  19. package/dist/development/src/ui/DevBar/DevBar.js.map +1 -0
  20. package/dist/development/{ui → src/ui}/DevError/DevError.cjs +10 -10
  21. package/dist/development/src/ui/DevError/DevError.cjs.map +1 -0
  22. package/dist/development/{ui → src/ui}/DevError/DevError.js +10 -10
  23. package/dist/development/src/ui/DevError/DevError.js.map +1 -0
  24. package/dist/development/{ui → src/ui}/DevError/DevErrorBadge.cjs +2 -2
  25. package/dist/development/src/ui/DevError/DevErrorBadge.cjs.map +1 -0
  26. package/dist/development/{ui → src/ui}/DevError/DevErrorBadge.js +2 -2
  27. package/dist/development/src/ui/DevError/DevErrorBadge.js.map +1 -0
  28. package/dist/development/{ui → src/ui}/DevError/DevErrorInner.cjs +15 -15
  29. package/dist/development/src/ui/DevError/DevErrorInner.cjs.map +1 -0
  30. package/dist/development/{ui → src/ui}/DevError/DevErrorInner.js +15 -15
  31. package/dist/development/src/ui/DevError/DevErrorInner.js.map +1 -0
  32. package/dist/development/{ui → src/ui}/DevError/DevErrorList.cjs +38 -27
  33. package/dist/development/src/ui/DevError/DevErrorList.cjs.map +1 -0
  34. package/dist/development/{ui → src/ui}/DevError/DevErrorList.js +38 -27
  35. package/dist/development/src/ui/DevError/DevErrorList.js.map +1 -0
  36. package/dist/development/{ui → src/ui}/DevError/StackTrace.cjs +10 -10
  37. package/dist/development/src/ui/DevError/StackTrace.cjs.map +1 -0
  38. package/dist/development/{ui → src/ui}/DevError/StackTrace.js +10 -10
  39. package/dist/development/src/ui/DevError/StackTrace.js.map +1 -0
  40. package/dist/production/index.cjs +6 -6
  41. package/dist/production/index.js +6 -6
  42. package/dist/production/{errorHandling.cjs → src/errorHandling.cjs} +1 -0
  43. package/dist/production/src/errorHandling.cjs.map +1 -0
  44. package/dist/production/{errorHandling.js → src/errorHandling.js} +1 -0
  45. package/dist/production/src/errorHandling.js.map +1 -0
  46. package/dist/production/{hooks → src/hooks}/useParsedStacktrace.cjs +9 -4
  47. package/dist/production/src/hooks/useParsedStacktrace.cjs.map +1 -0
  48. package/dist/{development → production/src}/hooks/useParsedStacktrace.js +6 -1
  49. package/dist/production/src/hooks/useParsedStacktrace.js.map +1 -0
  50. package/dist/production/{ui → src/ui}/DevBar/DevBar.cjs +8 -8
  51. package/dist/production/src/ui/DevBar/DevBar.cjs.map +1 -0
  52. package/dist/production/src/ui/DevBar/DevBar.js.map +1 -0
  53. package/dist/production/src/ui/DevError/DevError.cjs.map +1 -0
  54. package/dist/production/src/ui/DevError/DevError.js.map +1 -0
  55. package/dist/production/src/ui/DevError/DevErrorBadge.cjs.map +1 -0
  56. package/dist/production/src/ui/DevError/DevErrorBadge.js.map +1 -0
  57. package/dist/production/{ui → src/ui}/DevError/DevErrorInner.cjs +1 -1
  58. package/dist/production/src/ui/DevError/DevErrorInner.cjs.map +1 -0
  59. package/dist/production/{ui → src/ui}/DevError/DevErrorInner.js +1 -1
  60. package/dist/production/src/ui/DevError/DevErrorInner.js.map +1 -0
  61. package/dist/production/{ui → src/ui}/DevError/DevErrorList.cjs +8 -1
  62. package/dist/production/src/ui/DevError/DevErrorList.cjs.map +1 -0
  63. package/dist/production/{ui → src/ui}/DevError/DevErrorList.js +8 -1
  64. package/dist/production/src/ui/DevError/DevErrorList.js.map +1 -0
  65. package/dist/production/src/ui/DevError/StackTrace.cjs.map +1 -0
  66. package/dist/production/src/ui/DevError/StackTrace.js.map +1 -0
  67. package/dist/types/hooks/useParsedStacktrace.d.ts +1 -1
  68. package/dist/types/hooks/useParsedStacktrace.d.ts.map +1 -1
  69. package/dist/types/tsconfig.tsbuildinfo +1 -1
  70. package/dist/types/ui/DevBar/DevBar.d.ts.map +1 -1
  71. package/dist/types/ui/DevError/DevError.d.ts.map +1 -1
  72. package/dist/types/ui/DevError/DevErrorList.d.ts.map +1 -1
  73. package/package.json +9 -20
  74. package/src/DevErrorManager.tsx +4 -4
  75. package/src/hooks/useParsedStacktrace.ts +6 -1
  76. package/src/index.css +393 -2
  77. package/src/tsconfig.json +5 -2
  78. package/src/ui/DevBar/DevBar.tsx +5 -5
  79. package/src/ui/DevError/DevError.tsx +0 -1
  80. package/src/ui/DevError/DevErrorInner.tsx +1 -1
  81. package/src/ui/DevError/DevErrorList.tsx +11 -2
  82. package/tsconfig.json +7 -0
  83. package/tsdoc.json +6 -0
  84. package/dist/assets/index.css +0 -377
  85. package/dist/development/DevErrorManager.cjs.map +0 -1
  86. package/dist/development/DevErrorManager.js.map +0 -1
  87. package/dist/development/errorHandling.cjs.map +0 -1
  88. package/dist/development/errorHandling.js.map +0 -1
  89. package/dist/development/hooks/useParsedStacktrace.cjs.map +0 -1
  90. package/dist/development/hooks/useParsedStacktrace.js.map +0 -1
  91. package/dist/development/ui/DevBar/DevBar.cjs.map +0 -1
  92. package/dist/development/ui/DevBar/DevBar.js.map +0 -1
  93. package/dist/development/ui/DevError/DevError.cjs.map +0 -1
  94. package/dist/development/ui/DevError/DevError.js.map +0 -1
  95. package/dist/development/ui/DevError/DevErrorBadge.cjs.map +0 -1
  96. package/dist/development/ui/DevError/DevErrorBadge.js.map +0 -1
  97. package/dist/development/ui/DevError/DevErrorInner.cjs.map +0 -1
  98. package/dist/development/ui/DevError/DevErrorInner.js.map +0 -1
  99. package/dist/development/ui/DevError/DevErrorList.cjs.map +0 -1
  100. package/dist/development/ui/DevError/DevErrorList.js.map +0 -1
  101. package/dist/development/ui/DevError/StackTrace.cjs.map +0 -1
  102. package/dist/development/ui/DevError/StackTrace.js.map +0 -1
  103. package/dist/production/errorHandling.cjs.map +0 -1
  104. package/dist/production/errorHandling.js.map +0 -1
  105. package/dist/production/hooks/useParsedStacktrace.cjs.map +0 -1
  106. package/dist/production/hooks/useParsedStacktrace.js.map +0 -1
  107. package/dist/production/ui/DevBar/DevBar.cjs.map +0 -1
  108. package/dist/production/ui/DevBar/DevBar.js.map +0 -1
  109. package/dist/production/ui/DevError/DevError.cjs.map +0 -1
  110. package/dist/production/ui/DevError/DevError.js.map +0 -1
  111. package/dist/production/ui/DevError/DevErrorBadge.cjs.map +0 -1
  112. package/dist/production/ui/DevError/DevErrorBadge.js.map +0 -1
  113. package/dist/production/ui/DevError/DevErrorInner.cjs.map +0 -1
  114. package/dist/production/ui/DevError/DevErrorInner.js.map +0 -1
  115. package/dist/production/ui/DevError/DevErrorList.cjs.map +0 -1
  116. package/dist/production/ui/DevError/DevErrorList.js.map +0 -1
  117. package/dist/production/ui/DevError/StackTrace.cjs.map +0 -1
  118. package/dist/production/ui/DevError/StackTrace.js.map +0 -1
  119. package/src/ui/DevBar/index.css +0 -171
  120. package/src/ui/DevError/DevError.css +0 -191
  121. package/src/ui/DevError/DevErrorBadge.css +0 -16
  122. package/src/ui/DevError/index.css +0 -2
  123. /package/dist/production/{ui → src/ui}/DevBar/DevBar.js +0 -0
  124. /package/dist/production/{ui → src/ui}/DevError/DevError.cjs +0 -0
  125. /package/dist/production/{ui → src/ui}/DevError/DevError.js +0 -0
  126. /package/dist/production/{ui → src/ui}/DevError/DevErrorBadge.cjs +0 -0
  127. /package/dist/production/{ui → src/ui}/DevError/DevErrorBadge.js +0 -0
  128. /package/dist/production/{ui → src/ui}/DevError/StackTrace.cjs +0 -0
  129. /package/dist/production/{ui → src/ui}/DevError/StackTrace.js +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "../../build/api-extractor.json"
3
+ }
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const errorHandling = require("./errorHandling.cjs");
4
- const useParsedStacktrace = require("./hooks/useParsedStacktrace.cjs");
5
- const DevBar = require("./ui/DevBar/DevBar.cjs");
6
- const DevError = require("./ui/DevError/DevError.cjs");
7
- const DevErrorList = require("./ui/DevError/DevErrorList.cjs");
8
- const DevErrorBadge = require("./ui/DevError/DevErrorBadge.cjs");
3
+ const errorHandling = require("./src/errorHandling.cjs");
4
+ const useParsedStacktrace = require("./src/hooks/useParsedStacktrace.cjs");
5
+ const DevBar = require("./src/ui/DevBar/DevBar.cjs");
6
+ const DevError = require("./src/ui/DevError/DevError.cjs");
7
+ const DevErrorList = require("./src/ui/DevError/DevErrorList.cjs");
8
+ const DevErrorBadge = require("./src/ui/DevError/DevErrorBadge.cjs");
9
9
  exports.createErrorHandler = errorHandling.createErrorHandler;
10
10
  exports.parseStacktrace = useParsedStacktrace.parseStacktrace;
11
11
  exports.useProcessedError = useParsedStacktrace.useProcessedError;
@@ -1,9 +1,9 @@
1
- import { createErrorHandler } from "./errorHandling.js";
2
- import { parseStacktrace, useProcessedError } from "./hooks/useParsedStacktrace.js";
3
- import { DevBar, DevPanel } from "./ui/DevBar/DevBar.js";
4
- import { DevError } from "./ui/DevError/DevError.js";
5
- import { DevErrorList } from "./ui/DevError/DevErrorList.js";
6
- import { DevErrorBadge } from "./ui/DevError/DevErrorBadge.js";
1
+ import { createErrorHandler } from "./src/errorHandling.js";
2
+ import { parseStacktrace, useProcessedError } from "./src/hooks/useParsedStacktrace.js";
3
+ import { DevBar, DevPanel } from "./src/ui/DevBar/DevBar.js";
4
+ import { DevError } from "./src/ui/DevError/DevError.js";
5
+ import { DevErrorList } from "./src/ui/DevError/DevErrorList.js";
6
+ import { DevErrorBadge } from "./src/ui/DevError/DevErrorBadge.js";
7
7
  export {
8
8
  DevBar,
9
9
  DevError,
@@ -1,16 +1,13 @@
1
1
  "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
- var __publicField = (obj, key, value) => {
5
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
6
- return value;
7
- };
8
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
9
3
  const jsxDevRuntime = require("react/jsx-dev-runtime");
10
- const react = require("react");
4
+ const React = require("react");
11
5
  const useParsedStacktrace = require("./hooks/useParsedStacktrace.cjs");
12
6
  const DevErrorBadge = require("./ui/DevError/DevErrorBadge.cjs");
13
7
  const DevErrorList = require("./ui/DevError/DevErrorList.cjs");
8
+ var __defProp = Object.defineProperty;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
14
11
  class ErrorBus {
15
12
  constructor() {
16
13
  __publicField(this, "queue", []);
@@ -40,10 +37,10 @@ class ErrorBus {
40
37
  }
41
38
  }
42
39
  function DevErrorManager(props) {
43
- const [errors, setErrors] = react.useState([]);
44
- const [errIndex, setErrorIndex] = react.useState(0);
45
- const [open, setOpen] = react.useState(false);
46
- react.useEffect(
40
+ const [errors, setErrors] = React.useState([]);
41
+ const [errIndex, setErrorIndex] = React.useState(0);
42
+ const [open, setOpen] = React.useState(false);
43
+ React.useEffect(
47
44
  () => {
48
45
  return props.bus.register((err) => {
49
46
  setTimeout(
@@ -67,7 +64,7 @@ function DevErrorManager(props) {
67
64
  const onClose = () => setOpen(false);
68
65
  if (!open) {
69
66
  return /* @__PURE__ */ jsxDevRuntime.jsxDEV(DevErrorBadge.DevErrorBadge, { errorCount: errors.length, onOpen: () => setOpen(true) }, void 0, false, {
70
- fileName: "/__w/interface/interface/packages/react-devbar/src/DevErrorManager.tsx",
67
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/DevErrorManager.tsx",
71
68
  lineNumber: 69,
72
69
  columnNumber: 10
73
70
  }, this);
@@ -86,7 +83,7 @@ function DevErrorManager(props) {
86
83
  void 0,
87
84
  false,
88
85
  {
89
- fileName: "/__w/interface/interface/packages/react-devbar/src/DevErrorManager.tsx",
86
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/DevErrorManager.tsx",
90
87
  lineNumber: 72,
91
88
  columnNumber: 3
92
89
  },
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevErrorManager.cjs","sources":["../../../../packages/react-devbar/src/DevErrorManager.tsx"],"sourcesContent":["import { DevErrorBadge, DevErrorList, ErrorType } from './ui/DevError'\nimport { useEffect, useState } from 'react'\nimport { useProcessedError } from './hooks/useParsedStacktrace'\n\nexport class ErrorBus {\n\tprivate queue: { error: ErrorType; source: string }[] = []\n\tprivate listener: null | ((error: { error: ErrorType; source: string }) => void) = null\n\n\tasync handleError(source: string, error: ErrorType) {\n\t\tconst boxedError = { error, source }\n\n\t\tif (!this.listener) {\n\t\t\tthis.queue.push(boxedError)\n\t\t\tthis.queue.push(boxedError)\n\t\t\tthis.queue.push(boxedError)\n\t\t\tthis.queue.push(boxedError)\n\n\t\t} else {\n\t\t\tthis.listener(boxedError)\n\t\t\tthis.listener(boxedError)\n\t\t\tthis.listener(boxedError)\n\t\t\tthis.listener(boxedError)\n\t\t}\n\t}\n\n\tregister(listener: (error: { error: ErrorType; source: string }) => void): () => void {\n\t\tthis.listener = listener\n\t\tthis.queue.forEach(listener)\n\t\tthis.queue = []\n\t\treturn () => {\n\t\t\tthis.listener = null\n\t\t}\n\t}\n}\n\nexport interface DevErrorManagerProps {\n\tbus: ErrorBus\n}\n\nexport function DevErrorManager(props: DevErrorManagerProps) {\n\tconst [errors, setErrors] = useState<{ error: ErrorType; source: string }[]>([])\n\tconst [errIndex, setErrorIndex] = useState(0)\n\tconst [open, setOpen] = useState(false)\n\n\tuseEffect(\n\t\t() => {\n\t\t\treturn props.bus.register(err => {\n\t\t\t\tsetTimeout(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tsetErrors(errors => [err, ...errors])\n\t\t\t\t\t\tsetOpen(true)\n\t\t\t\t\t},\n\t\t\t\t\t0,\n\t\t\t\t)\n\t\t\t})\n\t\t},\n\t\t[props.bus],\n\t)\n\n\tconst currentError = errors[errIndex]\n\tconst processedError = useProcessedError(currentError?.error)\n\tif (!currentError) {\n\t\treturn null\n\t}\n\tconst onPrevious = () => setErrorIndex(it => Math.max(0, it - 1))\n\tconst onNext = () => setErrorIndex(it => Math.min(errors.length - 1, it + 1))\n\tconst onClose = () => setOpen(false)\n\tif (!open) {\n\t\treturn <DevErrorBadge errorCount={errors.length} onOpen={() => setOpen(true)} />\n\t}\n\treturn (\n\t\t<DevErrorList\n\t\t\tcurrentError={processedError}\n\t\t\tcurrentErrorSource={currentError.source}\n\t\t\tcurrentErrorIndex={errIndex}\n\t\t\terrorCount={errors.length}\n\t\t\tonPrevious={onPrevious}\n\t\t\tonNext={onNext}\n\t\t\tonClose={onClose}\n\t\t/>\n\t)\n}\n"],"names":["useState","useEffect","errors","useProcessedError","jsxDEV","DevErrorBadge","DevErrorList"],"mappings":";;;;;;;;;;AAIO,MAAM,SAAS;AAAA,EAAf,cAAA;AACN,kBAAA,MAAQ,SAAgD,CAAA,CAAC;AACzD,kBAAA,MAAQ,YAA2E,IAAA;AAAA,EAAA;AAAA,EAEnF,MAAM,YAAY,QAAgB,OAAkB;AAC7C,UAAA,aAAa,EAAE,OAAO;AAExB,QAAA,CAAC,KAAK,UAAU;AACd,WAAA,MAAM,KAAK,UAAU;AACrB,WAAA,MAAM,KAAK,UAAU;AACrB,WAAA,MAAM,KAAK,UAAU;AACrB,WAAA,MAAM,KAAK,UAAU;AAAA,IAAA,OAEpB;AACN,WAAK,SAAS,UAAU;AACxB,WAAK,SAAS,UAAU;AACxB,WAAK,SAAS,UAAU;AACxB,WAAK,SAAS,UAAU;AAAA,IACzB;AAAA,EACD;AAAA,EAEA,SAAS,UAA6E;AACrF,SAAK,WAAW;AACX,SAAA,MAAM,QAAQ,QAAQ;AAC3B,SAAK,QAAQ;AACb,WAAO,MAAM;AACZ,WAAK,WAAW;AAAA,IAAA;AAAA,EAElB;AACD;AAMO,SAAS,gBAAgB,OAA6B;AAC5D,QAAM,CAAC,QAAQ,SAAS,IAAIA,MAAA,SAAiD,CAAE,CAAA;AAC/E,QAAM,CAAC,UAAU,aAAa,IAAIA,eAAS,CAAC;AAC5C,QAAM,CAAC,MAAM,OAAO,IAAIA,eAAS,KAAK;AAEtCC,QAAA;AAAA,IACC,MAAM;AACE,aAAA,MAAM,IAAI,SAAS,CAAO,QAAA;AAChC;AAAA,UACC,MAAM;AACL,sBAAU,CAAAC,YAAU,CAAC,KAAK,GAAGA,OAAM,CAAC;AACpC,oBAAQ,IAAI;AAAA,UACb;AAAA,UACA;AAAA,QAAA;AAAA,MACD,CACA;AAAA,IACF;AAAA,IACA,CAAC,MAAM,GAAG;AAAA,EAAA;AAGL,QAAA,eAAe,OAAO,QAAQ;AAC9B,QAAA,iBAAiBC,oBAAAA,kBAAkB,cAAc,KAAK;AAC5D,MAAI,CAAC,cAAc;AACX,WAAA;AAAA,EACR;AACM,QAAA,aAAa,MAAM,cAAc,CAAA,OAAM,KAAK,IAAI,GAAG,KAAK,CAAC,CAAC;AAC1D,QAAA,SAAS,MAAM,cAAc,CAAM,OAAA,KAAK,IAAI,OAAO,SAAS,GAAG,KAAK,CAAC,CAAC;AACtE,QAAA,UAAU,MAAM,QAAQ,KAAK;AACnC,MAAI,CAAC,MAAM;AACH,WAAAC,8BAAA,OAACC,+BAAc,YAAY,OAAO,QAAQ,QAAQ,MAAM,QAAQ,IAAI,EAApE,GAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAuE,GAAA,IAAA;AAAA,EAC/E;AAEC,SAAAD,8BAAA;AAAA,IAACE,aAAA;AAAA,IAAA;AAAA,MACA,cAAc;AAAA,MACd,oBAAoB,aAAa;AAAA,MACjC,mBAAmB;AAAA,MACnB,YAAY,OAAO;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAPD;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAA;AAAA,EAAA;AAUF;;;"}
@@ -1,14 +1,11 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
7
1
  import { jsxDEV } from "react/jsx-dev-runtime";
8
2
  import { useState, useEffect } from "react";
9
3
  import { useProcessedError } from "./hooks/useParsedStacktrace.js";
10
4
  import { DevErrorBadge } from "./ui/DevError/DevErrorBadge.js";
11
5
  import { DevErrorList } from "./ui/DevError/DevErrorList.js";
6
+ var __defProp = Object.defineProperty;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
12
9
  class ErrorBus {
13
10
  constructor() {
14
11
  __publicField(this, "queue", []);
@@ -65,7 +62,7 @@ function DevErrorManager(props) {
65
62
  const onClose = () => setOpen(false);
66
63
  if (!open) {
67
64
  return /* @__PURE__ */ jsxDEV(DevErrorBadge, { errorCount: errors.length, onOpen: () => setOpen(true) }, void 0, false, {
68
- fileName: "/__w/interface/interface/packages/react-devbar/src/DevErrorManager.tsx",
65
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/DevErrorManager.tsx",
69
66
  lineNumber: 69,
70
67
  columnNumber: 10
71
68
  }, this);
@@ -84,7 +81,7 @@ function DevErrorManager(props) {
84
81
  void 0,
85
82
  false,
86
83
  {
87
- fileName: "/__w/interface/interface/packages/react-devbar/src/DevErrorManager.tsx",
84
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/DevErrorManager.tsx",
88
85
  lineNumber: 72,
89
86
  columnNumber: 3
90
87
  },
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevErrorManager.js","sources":["../../../../packages/react-devbar/src/DevErrorManager.tsx"],"sourcesContent":["import { DevErrorBadge, DevErrorList, ErrorType } from './ui/DevError'\nimport { useEffect, useState } from 'react'\nimport { useProcessedError } from './hooks/useParsedStacktrace'\n\nexport class ErrorBus {\n\tprivate queue: { error: ErrorType; source: string }[] = []\n\tprivate listener: null | ((error: { error: ErrorType; source: string }) => void) = null\n\n\tasync handleError(source: string, error: ErrorType) {\n\t\tconst boxedError = { error, source }\n\n\t\tif (!this.listener) {\n\t\t\tthis.queue.push(boxedError)\n\t\t\tthis.queue.push(boxedError)\n\t\t\tthis.queue.push(boxedError)\n\t\t\tthis.queue.push(boxedError)\n\n\t\t} else {\n\t\t\tthis.listener(boxedError)\n\t\t\tthis.listener(boxedError)\n\t\t\tthis.listener(boxedError)\n\t\t\tthis.listener(boxedError)\n\t\t}\n\t}\n\n\tregister(listener: (error: { error: ErrorType; source: string }) => void): () => void {\n\t\tthis.listener = listener\n\t\tthis.queue.forEach(listener)\n\t\tthis.queue = []\n\t\treturn () => {\n\t\t\tthis.listener = null\n\t\t}\n\t}\n}\n\nexport interface DevErrorManagerProps {\n\tbus: ErrorBus\n}\n\nexport function DevErrorManager(props: DevErrorManagerProps) {\n\tconst [errors, setErrors] = useState<{ error: ErrorType; source: string }[]>([])\n\tconst [errIndex, setErrorIndex] = useState(0)\n\tconst [open, setOpen] = useState(false)\n\n\tuseEffect(\n\t\t() => {\n\t\t\treturn props.bus.register(err => {\n\t\t\t\tsetTimeout(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tsetErrors(errors => [err, ...errors])\n\t\t\t\t\t\tsetOpen(true)\n\t\t\t\t\t},\n\t\t\t\t\t0,\n\t\t\t\t)\n\t\t\t})\n\t\t},\n\t\t[props.bus],\n\t)\n\n\tconst currentError = errors[errIndex]\n\tconst processedError = useProcessedError(currentError?.error)\n\tif (!currentError) {\n\t\treturn null\n\t}\n\tconst onPrevious = () => setErrorIndex(it => Math.max(0, it - 1))\n\tconst onNext = () => setErrorIndex(it => Math.min(errors.length - 1, it + 1))\n\tconst onClose = () => setOpen(false)\n\tif (!open) {\n\t\treturn <DevErrorBadge errorCount={errors.length} onOpen={() => setOpen(true)} />\n\t}\n\treturn (\n\t\t<DevErrorList\n\t\t\tcurrentError={processedError}\n\t\t\tcurrentErrorSource={currentError.source}\n\t\t\tcurrentErrorIndex={errIndex}\n\t\t\terrorCount={errors.length}\n\t\t\tonPrevious={onPrevious}\n\t\t\tonNext={onNext}\n\t\t\tonClose={onClose}\n\t\t/>\n\t)\n}\n"],"names":["errors"],"mappings":";;;;;;;;AAIO,MAAM,SAAS;AAAA,EAAf,cAAA;AACN,kBAAA,MAAQ,SAAgD,CAAA,CAAC;AACzD,kBAAA,MAAQ,YAA2E,IAAA;AAAA,EAAA;AAAA,EAEnF,MAAM,YAAY,QAAgB,OAAkB;AAC7C,UAAA,aAAa,EAAE,OAAO;AAExB,QAAA,CAAC,KAAK,UAAU;AACd,WAAA,MAAM,KAAK,UAAU;AACrB,WAAA,MAAM,KAAK,UAAU;AACrB,WAAA,MAAM,KAAK,UAAU;AACrB,WAAA,MAAM,KAAK,UAAU;AAAA,IAAA,OAEpB;AACN,WAAK,SAAS,UAAU;AACxB,WAAK,SAAS,UAAU;AACxB,WAAK,SAAS,UAAU;AACxB,WAAK,SAAS,UAAU;AAAA,IACzB;AAAA,EACD;AAAA,EAEA,SAAS,UAA6E;AACrF,SAAK,WAAW;AACX,SAAA,MAAM,QAAQ,QAAQ;AAC3B,SAAK,QAAQ;AACb,WAAO,MAAM;AACZ,WAAK,WAAW;AAAA,IAAA;AAAA,EAElB;AACD;AAMO,SAAS,gBAAgB,OAA6B;AAC5D,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAiD,CAAE,CAAA;AAC/E,QAAM,CAAC,UAAU,aAAa,IAAI,SAAS,CAAC;AAC5C,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AAEtC;AAAA,IACC,MAAM;AACE,aAAA,MAAM,IAAI,SAAS,CAAO,QAAA;AAChC;AAAA,UACC,MAAM;AACL,sBAAU,CAAAA,YAAU,CAAC,KAAK,GAAGA,OAAM,CAAC;AACpC,oBAAQ,IAAI;AAAA,UACb;AAAA,UACA;AAAA,QAAA;AAAA,MACD,CACA;AAAA,IACF;AAAA,IACA,CAAC,MAAM,GAAG;AAAA,EAAA;AAGL,QAAA,eAAe,OAAO,QAAQ;AAC9B,QAAA,iBAAiB,kBAAkB,cAAc,KAAK;AAC5D,MAAI,CAAC,cAAc;AACX,WAAA;AAAA,EACR;AACM,QAAA,aAAa,MAAM,cAAc,CAAA,OAAM,KAAK,IAAI,GAAG,KAAK,CAAC,CAAC;AAC1D,QAAA,SAAS,MAAM,cAAc,CAAM,OAAA,KAAK,IAAI,OAAO,SAAS,GAAG,KAAK,CAAC,CAAC;AACtE,QAAA,UAAU,MAAM,QAAQ,KAAK;AACnC,MAAI,CAAC,MAAM;AACH,WAAA,uBAAC,iBAAc,YAAY,OAAO,QAAQ,QAAQ,MAAM,QAAQ,IAAI,EAApE,GAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAuE,GAAA,IAAA;AAAA,EAC/E;AAEC,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,cAAc;AAAA,MACd,oBAAoB,aAAa;AAAA,MACjC,mBAAmB;AAAA,MACnB,YAAY,OAAO;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAPD;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAA;AAAA,EAAA;AAUF;"}
@@ -53,7 +53,7 @@ const devErrorHandler = (renderer) => {
53
53
  }
54
54
  };
55
55
  renderer(getErrorContainer(), /* @__PURE__ */ jsxDevRuntime.jsxDEV(DevErrorManager.DevErrorManager, { bus: errorBus }, void 0, false, {
56
- fileName: "/__w/interface/interface/packages/react-devbar/src/errorHandling.tsx",
56
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/errorHandling.tsx",
57
57
  lineNumber: 48,
58
58
  columnNumber: 32
59
59
  }, void 0), () => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorHandling.cjs","sources":["../../../../packages/react-devbar/src/errorHandling.tsx"],"sourcesContent":["import * as ReactDOM from 'react-dom'\nimport { Buffer } from 'buffer'\nimport { DevErrorManager, ErrorBus } from './DevErrorManager'\nimport { ReactElement } from 'react'\n\nexport type ErrorReactRenderer = (domElement: Element, reactElement: ReactElement, onRecoverableError: (e: any) => void) => void\n\nconst getErrorContainer = () => {\n\tconst errorElementId = '__contember__dev__error__container__element'\n\tlet errorContainer = document.getElementById(errorElementId)\n\n\tif (errorContainer) {\n\t\t// eslint-disable-next-line react/no-deprecated\n\t\tReactDOM.unmountComponentAtNode(errorContainer)\n\n\t} else {\n\t\terrorContainer = document.createElement('div')\n\t\terrorContainer.id = errorElementId\n\t\tdocument.body.appendChild(errorContainer)\n\t}\n\n\treturn errorContainer\n}\n\nconst devErrorHandler = (renderer: ErrorReactRenderer): TryRun => {\n\tconst errorBus = new ErrorBus()\n\n\t;(window as any).Buffer = Buffer\n\twindow.addEventListener('error', e => {\n\t\tif (e.message.startsWith('ResizeObserver')) {\n\t\t\t// Apparently, this can be ignored: https://stackoverflow.com/questions/49384120/resizeobserver-loop-limit-exceeded\n\t\t\treturn\n\t\t}\n\t\terrorBus.handleError('Unhandled error', e.error)\n\t})\n\n\twindow.addEventListener('unhandledrejection', e => errorBus.handleError('Unhandled promise rejection', e.reason))\n\n\tconst origOnError = console.error\n\tconsole.error = (...args) => {\n\t\torigOnError(...args)\n\t\tfor (const arg of args) {\n\t\t\tif (arg instanceof Error) {\n\t\t\t\terrorBus.handleError('Logged error', arg)\n\t\t\t}\n\t\t}\n\t}\n\trenderer(getErrorContainer(), <DevErrorManager bus={errorBus} />, () => {})\n\n\treturn async cb => {\n\t\ttry {\n\t\t\tawait cb(e => errorBus.handleError('Recoverable React error', e))\n\t\t} catch (e) {\n\t\t\terrorBus.handleError('Entrypoint crash', e)\n\t\t}\n\t}\n}\n\ntype TryRun = <T>(cb: (onRecoverableError: (e: any) => void) => T | Promise<T>) => void\nconst prodErrorHandler = (renderer: ErrorReactRenderer): TryRun => {\n\tconst renderError = () => {\n\t\trenderer(getErrorContainer(), <h1>Fatal error</h1>, () => {})\n\t}\n\n\twindow.addEventListener('error', renderError)\n\twindow.addEventListener('unhandledrejection', renderError)\n\n\treturn async cb => {\n\t\ttry {\n\t\t\tawait cb(e => {\n\t\t\t\tconsole.warn(e)\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\trenderError()\n\t\t}\n\t}\n}\n\n\nexport const createErrorHandler = (renderer: ErrorReactRenderer) => {\n\tif (import.meta.env.DEV) {\n\t\treturn devErrorHandler(renderer)\n\t} else {\n\t\treturn prodErrorHandler(renderer)\n\t}\n}\n"],"names":["ReactDOM","ErrorBus","Buffer","jsxDEV","DevErrorManager"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM,oBAAoB,MAAM;AAC/B,QAAM,iBAAiB;AACnB,MAAA,iBAAiB,SAAS,eAAe,cAAc;AAE3D,MAAI,gBAAgB;AAEnBA,wBAAS,uBAAuB,cAAc;AAAA,EAAA,OAExC;AACW,qBAAA,SAAS,cAAc,KAAK;AAC7C,mBAAe,KAAK;AACX,aAAA,KAAK,YAAY,cAAc;AAAA,EACzC;AAEO,SAAA;AACR;AAEA,MAAM,kBAAkB,CAAC,aAAyC;AAC3D,QAAA,WAAW,IAAIC,gBAAAA;AAEnB,SAAe,SAASC;AACnB,SAAA,iBAAiB,SAAS,CAAK,MAAA;AACrC,QAAI,EAAE,QAAQ,WAAW,gBAAgB,GAAG;AAE3C;AAAA,IACD;AACS,aAAA,YAAY,mBAAmB,EAAE,KAAK;AAAA,EAAA,CAC/C;AAEM,SAAA,iBAAiB,sBAAsB,CAAK,MAAA,SAAS,YAAY,+BAA+B,EAAE,MAAM,CAAC;AAEhH,QAAM,cAAc,QAAQ;AACpB,UAAA,QAAQ,IAAI,SAAS;AAC5B,gBAAY,GAAG,IAAI;AACnB,eAAW,OAAO,MAAM;AACvB,UAAI,eAAe,OAAO;AAChB,iBAAA,YAAY,gBAAgB,GAAG;AAAA,MACzC;AAAA,IACD;AAAA,EAAA;AAEQ,WAAA,qBAAsBC,8BAAAA,OAAAC,gBAAA,iBAAA,EAAgB,KAAK,SAAtB,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,MAAgC,GAAI,MAAM;AAAA,EAAA,CAAE;AAE1E,SAAO,OAAM,OAAM;AACd,QAAA;AACH,YAAM,GAAG,CAAK,MAAA,SAAS,YAAY,2BAA2B,CAAC,CAAC;AAAA,aACxD,GAAG;AACF,eAAA,YAAY,oBAAoB,CAAC;AAAA,IAC3C;AAAA,EAAA;AAEF;AAwBa,MAAA,qBAAqB,CAAC,aAAiC;AAC1C;AACxB,WAAO,gBAAgB,QAAQ;AAAA,EAGhC;AACD;;"}
@@ -1,7 +1,7 @@
1
1
  import { jsxDEV } from "react/jsx-dev-runtime";
2
2
  import * as ReactDOM from "react-dom";
3
3
  import { Buffer } from "buffer";
4
- import { DevErrorManager, ErrorBus } from "./DevErrorManager.js";
4
+ import { ErrorBus, DevErrorManager } from "./DevErrorManager.js";
5
5
  const getErrorContainer = () => {
6
6
  const errorElementId = "__contember__dev__error__container__element";
7
7
  let errorContainer = document.getElementById(errorElementId);
@@ -34,7 +34,7 @@ const devErrorHandler = (renderer) => {
34
34
  }
35
35
  };
36
36
  renderer(getErrorContainer(), /* @__PURE__ */ jsxDEV(DevErrorManager, { bus: errorBus }, void 0, false, {
37
- fileName: "/__w/interface/interface/packages/react-devbar/src/errorHandling.tsx",
37
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/errorHandling.tsx",
38
38
  lineNumber: 48,
39
39
  columnNumber: 32
40
40
  }, void 0), () => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorHandling.js","sources":["../../../../packages/react-devbar/src/errorHandling.tsx"],"sourcesContent":["import * as ReactDOM from 'react-dom'\nimport { Buffer } from 'buffer'\nimport { DevErrorManager, ErrorBus } from './DevErrorManager'\nimport { ReactElement } from 'react'\n\nexport type ErrorReactRenderer = (domElement: Element, reactElement: ReactElement, onRecoverableError: (e: any) => void) => void\n\nconst getErrorContainer = () => {\n\tconst errorElementId = '__contember__dev__error__container__element'\n\tlet errorContainer = document.getElementById(errorElementId)\n\n\tif (errorContainer) {\n\t\t// eslint-disable-next-line react/no-deprecated\n\t\tReactDOM.unmountComponentAtNode(errorContainer)\n\n\t} else {\n\t\terrorContainer = document.createElement('div')\n\t\terrorContainer.id = errorElementId\n\t\tdocument.body.appendChild(errorContainer)\n\t}\n\n\treturn errorContainer\n}\n\nconst devErrorHandler = (renderer: ErrorReactRenderer): TryRun => {\n\tconst errorBus = new ErrorBus()\n\n\t;(window as any).Buffer = Buffer\n\twindow.addEventListener('error', e => {\n\t\tif (e.message.startsWith('ResizeObserver')) {\n\t\t\t// Apparently, this can be ignored: https://stackoverflow.com/questions/49384120/resizeobserver-loop-limit-exceeded\n\t\t\treturn\n\t\t}\n\t\terrorBus.handleError('Unhandled error', e.error)\n\t})\n\n\twindow.addEventListener('unhandledrejection', e => errorBus.handleError('Unhandled promise rejection', e.reason))\n\n\tconst origOnError = console.error\n\tconsole.error = (...args) => {\n\t\torigOnError(...args)\n\t\tfor (const arg of args) {\n\t\t\tif (arg instanceof Error) {\n\t\t\t\terrorBus.handleError('Logged error', arg)\n\t\t\t}\n\t\t}\n\t}\n\trenderer(getErrorContainer(), <DevErrorManager bus={errorBus} />, () => {})\n\n\treturn async cb => {\n\t\ttry {\n\t\t\tawait cb(e => errorBus.handleError('Recoverable React error', e))\n\t\t} catch (e) {\n\t\t\terrorBus.handleError('Entrypoint crash', e)\n\t\t}\n\t}\n}\n\ntype TryRun = <T>(cb: (onRecoverableError: (e: any) => void) => T | Promise<T>) => void\nconst prodErrorHandler = (renderer: ErrorReactRenderer): TryRun => {\n\tconst renderError = () => {\n\t\trenderer(getErrorContainer(), <h1>Fatal error</h1>, () => {})\n\t}\n\n\twindow.addEventListener('error', renderError)\n\twindow.addEventListener('unhandledrejection', renderError)\n\n\treturn async cb => {\n\t\ttry {\n\t\t\tawait cb(e => {\n\t\t\t\tconsole.warn(e)\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\trenderError()\n\t\t}\n\t}\n}\n\n\nexport const createErrorHandler = (renderer: ErrorReactRenderer) => {\n\tif (import.meta.env.DEV) {\n\t\treturn devErrorHandler(renderer)\n\t} else {\n\t\treturn prodErrorHandler(renderer)\n\t}\n}\n"],"names":[],"mappings":";;;;AAOA,MAAM,oBAAoB,MAAM;AAC/B,QAAM,iBAAiB;AACnB,MAAA,iBAAiB,SAAS,eAAe,cAAc;AAE3D,MAAI,gBAAgB;AAEnB,aAAS,uBAAuB,cAAc;AAAA,EAAA,OAExC;AACW,qBAAA,SAAS,cAAc,KAAK;AAC7C,mBAAe,KAAK;AACX,aAAA,KAAK,YAAY,cAAc;AAAA,EACzC;AAEO,SAAA;AACR;AAEA,MAAM,kBAAkB,CAAC,aAAyC;AAC3D,QAAA,WAAW,IAAI;AAEnB,SAAe,SAAS;AACnB,SAAA,iBAAiB,SAAS,CAAK,MAAA;AACrC,QAAI,EAAE,QAAQ,WAAW,gBAAgB,GAAG;AAE3C;AAAA,IACD;AACS,aAAA,YAAY,mBAAmB,EAAE,KAAK;AAAA,EAAA,CAC/C;AAEM,SAAA,iBAAiB,sBAAsB,CAAK,MAAA,SAAS,YAAY,+BAA+B,EAAE,MAAM,CAAC;AAEhH,QAAM,cAAc,QAAQ;AACpB,UAAA,QAAQ,IAAI,SAAS;AAC5B,gBAAY,GAAG,IAAI;AACnB,eAAW,OAAO,MAAM;AACvB,UAAI,eAAe,OAAO;AAChB,iBAAA,YAAY,gBAAgB,GAAG;AAAA,MACzC;AAAA,IACD;AAAA,EAAA;AAEQ,WAAA,qBAAsB,uBAAA,iBAAA,EAAgB,KAAK,SAAtB,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,MAAgC,GAAI,MAAM;AAAA,EAAA,CAAE;AAE1E,SAAO,OAAM,OAAM;AACd,QAAA;AACH,YAAM,GAAG,CAAK,MAAA,SAAS,YAAY,2BAA2B,CAAC,CAAC;AAAA,aACxD,GAAG;AACF,eAAA,YAAY,oBAAoB,CAAC;AAAA,IAC3C;AAAA,EAAA;AAEF;AAwBa,MAAA,qBAAqB,CAAC,aAAiC;AAC1C;AACxB,WAAO,gBAAgB,QAAQ;AAAA,EAGhC;AACD;"}
@@ -22,9 +22,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
22
  mod
23
23
  ));
24
24
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
25
- const react = require("react");
25
+ const React = require("react");
26
26
  const parseStacktrace = async (e) => {
27
- const StackTracey = (await import("stacktracey")).default;
27
+ let StackTracey;
28
+ try {
29
+ StackTracey = (await import("stacktracey")).default;
30
+ } catch {
31
+ return void 0;
32
+ }
28
33
  return (await new StackTracey(e).withSourcesAsync()).items.map((it) => ({
29
34
  filename: it.fileShort,
30
35
  line: it.line,
@@ -38,8 +43,8 @@ const createInitialError = (e) => ({
38
43
  cause: e instanceof Error && "cause" in e && e.cause !== void 0 ? createInitialError(e.cause) : void 0
39
44
  });
40
45
  const useProcessedError = (e) => {
41
- const [error, setError] = react.useState(() => createInitialError(e));
42
- react.useEffect(() => {
46
+ const [error, setError] = React.useState(() => createInitialError(e));
47
+ React.useEffect(() => {
43
48
  setError(createInitialError(e));
44
49
  if (!(e instanceof Error)) {
45
50
  return;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useParsedStacktrace.cjs","sources":["../../../../../packages/react-devbar/src/hooks/useParsedStacktrace.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { ErrorType, ProcessedError } from '../ui/DevError'\n\nexport const parseStacktrace = async (e: Error) => {\n\tlet StackTracey\n\ttry {\n\t\tStackTracey = (await import('stacktracey')).default\n\t} catch {\n\t\treturn undefined\n\t}\n\treturn (await new StackTracey(e).withSourcesAsync()).items.map(it => ({\n\t\tfilename: it.fileShort,\n\t\tline: it.line,\n\t\tcallee: it.callee,\n\t\tthirdParty: it.thirdParty,\n\t\tsourceCodeLines: it.sourceFile?.lines,\n\t}))\n}\n\nconst createInitialError = (e: ErrorType): ProcessedError => ({\n\terror: e,\n\tcause: e instanceof Error && 'cause' in e && (e as any).cause !== undefined ? createInitialError((e as any).cause) : undefined,\n})\n\nexport const useProcessedError = (e: ErrorType): ProcessedError => {\n\tconst [error, setError] = useState<ProcessedError>(() => createInitialError(e))\n\tuseEffect(() => {\n\t\tsetError(createInitialError(e))\n\t\tif (!(e instanceof Error)) {\n\t\t\treturn\n\t\t}\n\t\tconst createErrorWithStackTrace = async (e: ErrorType): Promise<ProcessedError> => {\n\t\t\treturn {\n\t\t\t\terror: e,\n\t\t\t\tparsedStackStrace: e instanceof Error ? await parseStacktrace(e) : undefined,\n\t\t\t\tcause: e instanceof Error && 'cause' in e && (e as any).cause !== undefined ? await createErrorWithStackTrace((e as any).cause) : undefined,\n\t\t\t}\n\t\t}\n\t\t(async () => {\n\t\t\tsetError(await createErrorWithStackTrace(e))\n\t\t})()\n\t}, [e])\n\n\treturn error\n}\n"],"names":["useState","useEffect","e"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGa,MAAA,kBAAkB,OAAO,MAAa;AAC9C,MAAA;AACA,MAAA;AACY,mBAAA,MAAM,OAAO,aAAa,GAAG;AAAA,EAAA,QACrC;AACA,WAAA;AAAA,EACR;AACQ,UAAA,MAAM,IAAI,YAAY,CAAC,EAAE,iBAAiB,GAAG,MAAM,IAAI,CAAO,QAAA;AAAA,IACrE,UAAU,GAAG;AAAA,IACb,MAAM,GAAG;AAAA,IACT,QAAQ,GAAG;AAAA,IACX,YAAY,GAAG;AAAA,IACf,iBAAiB,GAAG,YAAY;AAAA,EAC/B,EAAA;AACH;AAEA,MAAM,qBAAqB,CAAC,OAAkC;AAAA,EAC7D,OAAO;AAAA,EACP,OAAO,aAAa,SAAS,WAAW,KAAM,EAAU,UAAU,SAAY,mBAAoB,EAAU,KAAK,IAAI;AACtH;AAEa,MAAA,oBAAoB,CAAC,MAAiC;AAC5D,QAAA,CAAC,OAAO,QAAQ,IAAIA,eAAyB,MAAM,mBAAmB,CAAC,CAAC;AAC9EC,QAAAA,UAAU,MAAM;AACN,aAAA,mBAAmB,CAAC,CAAC;AAC1B,QAAA,EAAE,aAAa,QAAQ;AAC1B;AAAA,IACD;AACM,UAAA,4BAA4B,OAAOC,OAA0C;AAC3E,aAAA;AAAA,QACN,OAAOA;AAAAA,QACP,mBAAmBA,cAAa,QAAQ,MAAM,gBAAgBA,EAAC,IAAI;AAAA,QACnE,OAAOA,cAAa,SAAS,WAAWA,MAAMA,GAAU,UAAU,SAAY,MAAM,0BAA2BA,GAAU,KAAK,IAAI;AAAA,MAAA;AAAA,IACnI;AAED,KAAC,YAAY;AACH,eAAA,MAAM,0BAA0B,CAAC,CAAC;AAAA,IAAA;EACzC,GACD,CAAC,CAAC,CAAC;AAEC,SAAA;AACR;;;"}
@@ -1,6 +1,11 @@
1
1
  import { useState, useEffect } from "react";
2
2
  const parseStacktrace = async (e) => {
3
- const StackTracey = (await import("stacktracey")).default;
3
+ let StackTracey;
4
+ try {
5
+ StackTracey = (await import("stacktracey")).default;
6
+ } catch {
7
+ return void 0;
8
+ }
4
9
  return (await new StackTracey(e).withSourcesAsync()).items.map((it) => ({
5
10
  filename: it.fileShort,
6
11
  line: it.line,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useParsedStacktrace.js","sources":["../../../../../packages/react-devbar/src/hooks/useParsedStacktrace.ts"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { ErrorType, ProcessedError } from '../ui/DevError'\n\nexport const parseStacktrace = async (e: Error) => {\n\tlet StackTracey\n\ttry {\n\t\tStackTracey = (await import('stacktracey')).default\n\t} catch {\n\t\treturn undefined\n\t}\n\treturn (await new StackTracey(e).withSourcesAsync()).items.map(it => ({\n\t\tfilename: it.fileShort,\n\t\tline: it.line,\n\t\tcallee: it.callee,\n\t\tthirdParty: it.thirdParty,\n\t\tsourceCodeLines: it.sourceFile?.lines,\n\t}))\n}\n\nconst createInitialError = (e: ErrorType): ProcessedError => ({\n\terror: e,\n\tcause: e instanceof Error && 'cause' in e && (e as any).cause !== undefined ? createInitialError((e as any).cause) : undefined,\n})\n\nexport const useProcessedError = (e: ErrorType): ProcessedError => {\n\tconst [error, setError] = useState<ProcessedError>(() => createInitialError(e))\n\tuseEffect(() => {\n\t\tsetError(createInitialError(e))\n\t\tif (!(e instanceof Error)) {\n\t\t\treturn\n\t\t}\n\t\tconst createErrorWithStackTrace = async (e: ErrorType): Promise<ProcessedError> => {\n\t\t\treturn {\n\t\t\t\terror: e,\n\t\t\t\tparsedStackStrace: e instanceof Error ? await parseStacktrace(e) : undefined,\n\t\t\t\tcause: e instanceof Error && 'cause' in e && (e as any).cause !== undefined ? await createErrorWithStackTrace((e as any).cause) : undefined,\n\t\t\t}\n\t\t}\n\t\t(async () => {\n\t\t\tsetError(await createErrorWithStackTrace(e))\n\t\t})()\n\t}, [e])\n\n\treturn error\n}\n"],"names":["e"],"mappings":";AAGa,MAAA,kBAAkB,OAAO,MAAa;AAC9C,MAAA;AACA,MAAA;AACY,mBAAA,MAAM,OAAO,aAAa,GAAG;AAAA,EAAA,QACrC;AACA,WAAA;AAAA,EACR;AACQ,UAAA,MAAM,IAAI,YAAY,CAAC,EAAE,iBAAiB,GAAG,MAAM,IAAI,CAAO,QAAA;AAAA,IACrE,UAAU,GAAG;AAAA,IACb,MAAM,GAAG;AAAA,IACT,QAAQ,GAAG;AAAA,IACX,YAAY,GAAG;AAAA,IACf,iBAAiB,GAAG,YAAY;AAAA,EAC/B,EAAA;AACH;AAEA,MAAM,qBAAqB,CAAC,OAAkC;AAAA,EAC7D,OAAO;AAAA,EACP,OAAO,aAAa,SAAS,WAAW,KAAM,EAAU,UAAU,SAAY,mBAAoB,EAAU,KAAK,IAAI;AACtH;AAEa,MAAA,oBAAoB,CAAC,MAAiC;AAC5D,QAAA,CAAC,OAAO,QAAQ,IAAI,SAAyB,MAAM,mBAAmB,CAAC,CAAC;AAC9E,YAAU,MAAM;AACN,aAAA,mBAAmB,CAAC,CAAC;AAC1B,QAAA,EAAE,aAAa,QAAQ;AAC1B;AAAA,IACD;AACM,UAAA,4BAA4B,OAAOA,OAA0C;AAC3E,aAAA;AAAA,QACN,OAAOA;AAAAA,QACP,mBAAmBA,cAAa,QAAQ,MAAM,gBAAgBA,EAAC,IAAI;AAAA,QACnE,OAAOA,cAAa,SAAS,WAAWA,MAAMA,GAAU,UAAU,SAAY,MAAM,0BAA2BA,GAAU,KAAK,IAAI;AAAA,MAAA;AAAA,IACnI;AAED,KAAC,YAAY;AACH,eAAA,MAAM,0BAA0B,CAAC,CAAC;AAAA,IAAA;EACzC,GACD,CAAC,CAAC,CAAC;AAEC,SAAA;AACR;"}
@@ -3,20 +3,20 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxDevRuntime = require("react/jsx-dev-runtime");
4
4
  const reactUtils = require("@contember/react-utils");
5
5
  const utilities = require("@contember/utilities");
6
- const react = require("react");
6
+ const React = require("react");
7
7
  const className = (cls) => cls ? `cui-devBar-${cls}` : "cui-devBar";
8
8
  const DevBar = ({
9
9
  breakpoint = 768,
10
10
  children,
11
11
  brand
12
12
  }) => {
13
- const [expanded, setExpanded] = react.useState(true);
13
+ const [expanded, setExpanded] = React.useState(true);
14
14
  const isSmallScreen = reactUtils.useWindowSize().width < breakpoint;
15
- const toggleButtonRef = react.useRef(null);
15
+ const toggleButtonRef = React.useRef(null);
16
16
  const handleToggle = reactUtils.useReferentiallyStableCallback(() => {
17
17
  setExpanded((expanded2) => !expanded2);
18
18
  });
19
- react.useEffect(() => {
19
+ React.useEffect(() => {
20
20
  function handleKeyDown(event) {
21
21
  if (event.code === "KeyJ" && (event.ctrlKey || event.metaKey)) {
22
22
  event.preventDefault();
@@ -36,7 +36,7 @@ const DevBar = ({
36
36
  document.addEventListener("keydown", handleKeyDown);
37
37
  return () => document.removeEventListener("keydown", handleKeyDown);
38
38
  }, [expanded, handleToggle]);
39
- const devBarContentRef = react.useRef(null);
39
+ const devBarContentRef = React.useRef(null);
40
40
  reactUtils.useOnElementClickOutsideCallback(devBarContentRef, () => {
41
41
  if (expanded) {
42
42
  setExpanded(false);
@@ -65,7 +65,7 @@ const DevBar = ({
65
65
  },
66
66
  children: [
67
67
  /* @__PURE__ */ jsxDevRuntime.jsxDEV("style", { children: `svg { pointer-events: none }` }, void 0, false, {
68
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
68
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
69
69
  lineNumber: 83,
70
70
  columnNumber: 4
71
71
  }, void 0),
@@ -79,12 +79,12 @@ const DevBar = ({
79
79
  style: { display: "contents" },
80
80
  children: [
81
81
  /* @__PURE__ */ jsxDevRuntime.jsxDEV("div", { className: className("brand"), children: brand }, void 0, false, {
82
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
82
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
83
83
  lineNumber: 91,
84
84
  columnNumber: 6
85
85
  }, void 0),
86
86
  /* @__PURE__ */ jsxDevRuntime.jsxDEV("div", { className: className("panels"), children }, void 0, false, {
87
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
87
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
88
88
  lineNumber: 96,
89
89
  columnNumber: 6
90
90
  }, void 0)
@@ -93,7 +93,7 @@ const DevBar = ({
93
93
  void 0,
94
94
  true,
95
95
  {
96
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
96
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
97
97
  lineNumber: 85,
98
98
  columnNumber: 5
99
99
  },
@@ -115,14 +115,14 @@ const DevBar = ({
115
115
  void 0,
116
116
  false,
117
117
  {
118
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
118
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
119
119
  lineNumber: 102,
120
120
  columnNumber: 5
121
121
  },
122
122
  void 0
123
123
  )
124
124
  ] }, void 0, true, {
125
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
125
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
126
126
  lineNumber: 84,
127
127
  columnNumber: 4
128
128
  }, void 0)
@@ -131,7 +131,7 @@ const DevBar = ({
131
131
  void 0,
132
132
  true,
133
133
  {
134
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
134
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
135
135
  lineNumber: 64,
136
136
  columnNumber: 3
137
137
  },
@@ -140,9 +140,9 @@ const DevBar = ({
140
140
  };
141
141
  const DevPanel = ({ heading, icon, children, preview }) => {
142
142
  const id = `cui-devBar-panel-${reactUtils.useId()}`;
143
- const [expanded, setExpanded] = react.useState(false);
144
- const mouseEnterTimeStampRef = react.useRef(void 0);
145
- const devPanelRef = react.useRef(null);
143
+ const [expanded, setExpanded] = React.useState(false);
144
+ const mouseEnterTimeStampRef = React.useRef(void 0);
145
+ const devPanelRef = React.useRef(null);
146
146
  reactUtils.useOnElementMouseEnterDelayedCallback(devPanelRef, reactUtils.useReferentiallyStableCallback(({ type }) => {
147
147
  if (type === "mouseenter") {
148
148
  mouseEnterTimeStampRef.current = Date.now() + 300;
@@ -185,7 +185,7 @@ const DevPanel = ({ heading, icon, children, preview }) => {
185
185
  children: [
186
186
  icon,
187
187
  /* @__PURE__ */ jsxDevRuntime.jsxDEV("span", { className: className("trigger-label-text"), children: preview ?? heading }, void 0, false, {
188
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
188
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
189
189
  lineNumber: 170,
190
190
  columnNumber: 5
191
191
  }, void 0)
@@ -194,7 +194,7 @@ const DevPanel = ({ heading, icon, children, preview }) => {
194
194
  void 0,
195
195
  true,
196
196
  {
197
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
197
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
198
198
  lineNumber: 154,
199
199
  columnNumber: 4
200
200
  },
@@ -202,21 +202,21 @@ const DevPanel = ({ heading, icon, children, preview }) => {
202
202
  ),
203
203
  expanded && /* @__PURE__ */ jsxDevRuntime.jsxDEV("div", { tabIndex: 0, id, role: "dialog", className: className("panel"), children: /* @__PURE__ */ jsxDevRuntime.jsxDEV("div", { className: className("panel-content"), children: [
204
204
  /* @__PURE__ */ jsxDevRuntime.jsxDEV("h2", { className: "h4", children: heading }, void 0, false, {
205
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
205
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
206
206
  lineNumber: 175,
207
207
  columnNumber: 7
208
208
  }, void 0),
209
209
  /* @__PURE__ */ jsxDevRuntime.jsxDEV("div", { className: className("panel-body"), children }, void 0, false, {
210
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
210
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
211
211
  lineNumber: 178,
212
212
  columnNumber: 7
213
213
  }, void 0)
214
214
  ] }, void 0, true, {
215
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
215
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
216
216
  lineNumber: 174,
217
217
  columnNumber: 6
218
218
  }, void 0) }, void 0, false, {
219
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
219
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
220
220
  lineNumber: 173,
221
221
  columnNumber: 5
222
222
  }, void 0)
@@ -225,7 +225,7 @@ const DevPanel = ({ heading, icon, children, preview }) => {
225
225
  void 0,
226
226
  true,
227
227
  {
228
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
228
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
229
229
  lineNumber: 139,
230
230
  columnNumber: 3
231
231
  },
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevBar.cjs","sources":["../../../../../../packages/react-devbar/src/ui/DevBar/DevBar.tsx"],"sourcesContent":["import {\n\tuseId,\n\tuseOnElementClickOutsideCallback,\n\tuseOnElementMouseEnterDelayedCallback,\n\tuseReferentiallyStableCallback,\n\tuseWindowSize,\n} from '@contember/react-utils'\nimport { dataAttribute } from '@contember/utilities'\nimport { PropsWithChildren, ReactNode, useEffect, useRef, useState } from 'react'\n\nconst className = (cls: string | null) => cls ? `cui-devBar-${cls}` : 'cui-devBar'\n\nexport const DevBar = ({\n\tbreakpoint = 768,\n\tchildren,\n\tbrand,\n}: PropsWithChildren<{\n\tbrand?: ReactNode\n\tbreakpoint?: number\n}>) => {\n\tconst [expanded, setExpanded] = useState(true)\n\tconst isSmallScreen = useWindowSize().width < breakpoint\n\tconst toggleButtonRef = useRef<HTMLButtonElement>(null)\n\n\tconst handleToggle = useReferentiallyStableCallback(() => {\n\t\tsetExpanded(expanded => !expanded)\n\t})\n\n\tuseEffect(() => {\n\t\tfunction handleKeyDown(event: KeyboardEvent) {\n\t\t\tif (event.code === 'KeyJ' && (event.ctrlKey || event.metaKey)) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tevent.stopPropagation()\n\n\t\t\t\tif (expanded) {\n\t\t\t\t\tsetExpanded(false)\n\t\t\t\t\ttoggleButtonRef.current?.blur()\n\t\t\t\t} else {\n\t\t\t\t\tif (toggleButtonRef.current !== document.activeElement) {\n\t\t\t\t\t\ttoggleButtonRef.current?.focus()\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttoggleButtonRef.current?.blur()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdocument.addEventListener('keydown', handleKeyDown)\n\t\treturn () => document.removeEventListener('keydown', handleKeyDown)\n\t}, [expanded, handleToggle])\n\n\tconst devBarContentRef = useRef<HTMLDivElement>(null)\n\n\tuseOnElementClickOutsideCallback(devBarContentRef, () => {\n\t\tif (expanded) {\n\t\t\tsetExpanded(false)\n\t\t\ttoggleButtonRef.current?.blur()\n\t\t}\n\t})\n\n\tconst id = `dev-bar-panel${useId()}`\n\n\treturn (\n\t\t<section\n\t\t\tdata-transparent\n\t\t\tdata-overrides-lucide-icons\n\t\t\tdata-expanded={dataAttribute(expanded)}\n\t\t\tdata-small-screen={dataAttribute(isSmallScreen)}\n\t\t\tclassName={className(null)}\n\t\t\tonKeyDown={event => {\n\t\t\t\tif (event.code === 'Escape') {\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\tevent.stopPropagation()\n\n\t\t\t\t\tif (expanded) {\n\t\t\t\t\t\tsetExpanded(false)\n\t\t\t\t\t} else if (document.activeElement && document.activeElement instanceof HTMLElement) {\n\t\t\t\t\t\tdocument.activeElement.blur()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<style>{`svg { pointer-events: none }`}</style>\n\t\t\t<div ref={devBarContentRef} className={className('content')}>\n\t\t\t\t<div\n\t\t\t\t\tdata-expanded={dataAttribute(expanded)}\n\t\t\t\t\tid={id}\n\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\tstyle={{ display: 'contents' }}\n\t\t\t\t>\n\t\t\t\t\t<div className={className('brand')}>\n\t\t\t\t\t\t{brand}\n\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className={className('panels')}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\n\t\t\t\t</div>\n\n\t\t\t\t<button\n\t\t\t\t\tref={toggleButtonRef}\n\t\t\t\t\tid=\"dev-bar-toggle-button\"\n\t\t\t\t\taria-label=\"Toggle Contember Developer Toolbar\"\n\t\t\t\t\taria-controls={id}\n\t\t\t\t\taria-expanded={expanded}\n\t\t\t\t\tclassName={className('close')}\n\t\t\t\t\tonClick={handleToggle}\n\t\t\t\t\ttabIndex={0}\n\t\t\t\t>\n\t\t\t\t\t{expanded ? '🗙' : 'ᐸ'}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n\nexport const DevPanel = ({ heading, icon, children, preview }: {\n\ticon: ReactNode\n\theading: ReactNode\n\tchildren: ReactNode\n\tpreview?: ReactNode\n}) => {\n\tconst id = `cui-devBar-panel-${useId()}`\n\tconst [expanded, setExpanded] = useState(false)\n\tconst mouseEnterTimeStampRef = useRef<ReturnType<typeof Date.now> | undefined>(undefined)\n\n\tconst devPanelRef = useRef<HTMLDivElement>(null)\n\n\tuseOnElementMouseEnterDelayedCallback(devPanelRef, useReferentiallyStableCallback(({ type }) => {\n\t\tif (type === 'mouseenter') {\n\t\t\tmouseEnterTimeStampRef.current = Date.now() + 300\n\t\t\tsetExpanded(true)\n\t\t}\n\t}))\n\n\treturn (\n\t\t<div\n\t\t\tref={devPanelRef}\n\t\t\tdata-expanded={dataAttribute(expanded)}\n\t\t\tclassName={className('trigger')}\n\t\t\tonMouseLeave={useReferentiallyStableCallback(() => {\n\t\t\t\tsetExpanded(false)\n\t\t\t})}\n\t\t\tonKeyDown={useReferentiallyStableCallback(event => {\n\t\t\t\tif (expanded && event.code === 'Escape') {\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\tsetExpanded(false)\n\t\t\t\t}\n\t\t\t})}\n\t\t>\n\t\t\t<button\n\t\t\t\ttabIndex={0}\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\taria-controls={id}\n\t\t\t\taria-expanded={expanded}\n\t\t\t\tclassName={className('trigger-label')}\n\t\t\t\tonClick={useReferentiallyStableCallback(() => {\n\t\t\t\t\tif (mouseEnterTimeStampRef.current && Date.now() < mouseEnterTimeStampRef.current) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetExpanded(expanded => !expanded)\n\t\t\t\t\t\tmouseEnterTimeStampRef.current = undefined\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t\t<span className={className('trigger-label-text')}>{preview ?? heading}</span>\n\t\t\t</button>\n\t\t\t{expanded && (\n\t\t\t\t<div tabIndex={0} id={id} role=\"dialog\" className={className('panel')}>\n\t\t\t\t\t<div className={className('panel-content')}>\n\t\t\t\t\t\t<h2 className=\"h4\">\n\t\t\t\t\t\t\t{heading}\n\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t<div className={className('panel-body')}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n"],"names":["useState","useWindowSize","useRef","useReferentiallyStableCallback","expanded","useEffect","useOnElementClickOutsideCallback","useId","jsxDEV","dataAttribute","this","useOnElementMouseEnterDelayedCallback"],"mappings":"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"}
@@ -63,7 +63,7 @@ const DevBar = ({
63
63
  },
64
64
  children: [
65
65
  /* @__PURE__ */ jsxDEV("style", { children: `svg { pointer-events: none }` }, void 0, false, {
66
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
66
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
67
67
  lineNumber: 83,
68
68
  columnNumber: 4
69
69
  }, void 0),
@@ -77,12 +77,12 @@ const DevBar = ({
77
77
  style: { display: "contents" },
78
78
  children: [
79
79
  /* @__PURE__ */ jsxDEV("div", { className: className("brand"), children: brand }, void 0, false, {
80
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
80
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
81
81
  lineNumber: 91,
82
82
  columnNumber: 6
83
83
  }, void 0),
84
84
  /* @__PURE__ */ jsxDEV("div", { className: className("panels"), children }, void 0, false, {
85
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
85
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
86
86
  lineNumber: 96,
87
87
  columnNumber: 6
88
88
  }, void 0)
@@ -91,7 +91,7 @@ const DevBar = ({
91
91
  void 0,
92
92
  true,
93
93
  {
94
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
94
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
95
95
  lineNumber: 85,
96
96
  columnNumber: 5
97
97
  },
@@ -113,14 +113,14 @@ const DevBar = ({
113
113
  void 0,
114
114
  false,
115
115
  {
116
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
116
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
117
117
  lineNumber: 102,
118
118
  columnNumber: 5
119
119
  },
120
120
  void 0
121
121
  )
122
122
  ] }, void 0, true, {
123
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
123
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
124
124
  lineNumber: 84,
125
125
  columnNumber: 4
126
126
  }, void 0)
@@ -129,7 +129,7 @@ const DevBar = ({
129
129
  void 0,
130
130
  true,
131
131
  {
132
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
132
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
133
133
  lineNumber: 64,
134
134
  columnNumber: 3
135
135
  },
@@ -183,7 +183,7 @@ const DevPanel = ({ heading, icon, children, preview }) => {
183
183
  children: [
184
184
  icon,
185
185
  /* @__PURE__ */ jsxDEV("span", { className: className("trigger-label-text"), children: preview ?? heading }, void 0, false, {
186
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
186
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
187
187
  lineNumber: 170,
188
188
  columnNumber: 5
189
189
  }, void 0)
@@ -192,7 +192,7 @@ const DevPanel = ({ heading, icon, children, preview }) => {
192
192
  void 0,
193
193
  true,
194
194
  {
195
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
195
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
196
196
  lineNumber: 154,
197
197
  columnNumber: 4
198
198
  },
@@ -200,21 +200,21 @@ const DevPanel = ({ heading, icon, children, preview }) => {
200
200
  ),
201
201
  expanded && /* @__PURE__ */ jsxDEV("div", { tabIndex: 0, id, role: "dialog", className: className("panel"), children: /* @__PURE__ */ jsxDEV("div", { className: className("panel-content"), children: [
202
202
  /* @__PURE__ */ jsxDEV("h2", { className: "h4", children: heading }, void 0, false, {
203
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
203
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
204
204
  lineNumber: 175,
205
205
  columnNumber: 7
206
206
  }, void 0),
207
207
  /* @__PURE__ */ jsxDEV("div", { className: className("panel-body"), children }, void 0, false, {
208
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
208
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
209
209
  lineNumber: 178,
210
210
  columnNumber: 7
211
211
  }, void 0)
212
212
  ] }, void 0, true, {
213
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
213
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
214
214
  lineNumber: 174,
215
215
  columnNumber: 6
216
216
  }, void 0) }, void 0, false, {
217
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
217
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
218
218
  lineNumber: 173,
219
219
  columnNumber: 5
220
220
  }, void 0)
@@ -223,7 +223,7 @@ const DevPanel = ({ heading, icon, children, preview }) => {
223
223
  void 0,
224
224
  true,
225
225
  {
226
- fileName: "/__w/interface/interface/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
226
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
227
227
  lineNumber: 139,
228
228
  columnNumber: 3
229
229
  },
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevBar.js","sources":["../../../../../../packages/react-devbar/src/ui/DevBar/DevBar.tsx"],"sourcesContent":["import {\n\tuseId,\n\tuseOnElementClickOutsideCallback,\n\tuseOnElementMouseEnterDelayedCallback,\n\tuseReferentiallyStableCallback,\n\tuseWindowSize,\n} from '@contember/react-utils'\nimport { dataAttribute } from '@contember/utilities'\nimport { PropsWithChildren, ReactNode, useEffect, useRef, useState } from 'react'\n\nconst className = (cls: string | null) => cls ? `cui-devBar-${cls}` : 'cui-devBar'\n\nexport const DevBar = ({\n\tbreakpoint = 768,\n\tchildren,\n\tbrand,\n}: PropsWithChildren<{\n\tbrand?: ReactNode\n\tbreakpoint?: number\n}>) => {\n\tconst [expanded, setExpanded] = useState(true)\n\tconst isSmallScreen = useWindowSize().width < breakpoint\n\tconst toggleButtonRef = useRef<HTMLButtonElement>(null)\n\n\tconst handleToggle = useReferentiallyStableCallback(() => {\n\t\tsetExpanded(expanded => !expanded)\n\t})\n\n\tuseEffect(() => {\n\t\tfunction handleKeyDown(event: KeyboardEvent) {\n\t\t\tif (event.code === 'KeyJ' && (event.ctrlKey || event.metaKey)) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tevent.stopPropagation()\n\n\t\t\t\tif (expanded) {\n\t\t\t\t\tsetExpanded(false)\n\t\t\t\t\ttoggleButtonRef.current?.blur()\n\t\t\t\t} else {\n\t\t\t\t\tif (toggleButtonRef.current !== document.activeElement) {\n\t\t\t\t\t\ttoggleButtonRef.current?.focus()\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttoggleButtonRef.current?.blur()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdocument.addEventListener('keydown', handleKeyDown)\n\t\treturn () => document.removeEventListener('keydown', handleKeyDown)\n\t}, [expanded, handleToggle])\n\n\tconst devBarContentRef = useRef<HTMLDivElement>(null)\n\n\tuseOnElementClickOutsideCallback(devBarContentRef, () => {\n\t\tif (expanded) {\n\t\t\tsetExpanded(false)\n\t\t\ttoggleButtonRef.current?.blur()\n\t\t}\n\t})\n\n\tconst id = `dev-bar-panel${useId()}`\n\n\treturn (\n\t\t<section\n\t\t\tdata-transparent\n\t\t\tdata-overrides-lucide-icons\n\t\t\tdata-expanded={dataAttribute(expanded)}\n\t\t\tdata-small-screen={dataAttribute(isSmallScreen)}\n\t\t\tclassName={className(null)}\n\t\t\tonKeyDown={event => {\n\t\t\t\tif (event.code === 'Escape') {\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\tevent.stopPropagation()\n\n\t\t\t\t\tif (expanded) {\n\t\t\t\t\t\tsetExpanded(false)\n\t\t\t\t\t} else if (document.activeElement && document.activeElement instanceof HTMLElement) {\n\t\t\t\t\t\tdocument.activeElement.blur()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t<style>{`svg { pointer-events: none }`}</style>\n\t\t\t<div ref={devBarContentRef} className={className('content')}>\n\t\t\t\t<div\n\t\t\t\t\tdata-expanded={dataAttribute(expanded)}\n\t\t\t\t\tid={id}\n\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\tstyle={{ display: 'contents' }}\n\t\t\t\t>\n\t\t\t\t\t<div className={className('brand')}>\n\t\t\t\t\t\t{brand}\n\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className={className('panels')}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\n\t\t\t\t</div>\n\n\t\t\t\t<button\n\t\t\t\t\tref={toggleButtonRef}\n\t\t\t\t\tid=\"dev-bar-toggle-button\"\n\t\t\t\t\taria-label=\"Toggle Contember Developer Toolbar\"\n\t\t\t\t\taria-controls={id}\n\t\t\t\t\taria-expanded={expanded}\n\t\t\t\t\tclassName={className('close')}\n\t\t\t\t\tonClick={handleToggle}\n\t\t\t\t\ttabIndex={0}\n\t\t\t\t>\n\t\t\t\t\t{expanded ? '🗙' : 'ᐸ'}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n\nexport const DevPanel = ({ heading, icon, children, preview }: {\n\ticon: ReactNode\n\theading: ReactNode\n\tchildren: ReactNode\n\tpreview?: ReactNode\n}) => {\n\tconst id = `cui-devBar-panel-${useId()}`\n\tconst [expanded, setExpanded] = useState(false)\n\tconst mouseEnterTimeStampRef = useRef<ReturnType<typeof Date.now> | undefined>(undefined)\n\n\tconst devPanelRef = useRef<HTMLDivElement>(null)\n\n\tuseOnElementMouseEnterDelayedCallback(devPanelRef, useReferentiallyStableCallback(({ type }) => {\n\t\tif (type === 'mouseenter') {\n\t\t\tmouseEnterTimeStampRef.current = Date.now() + 300\n\t\t\tsetExpanded(true)\n\t\t}\n\t}))\n\n\treturn (\n\t\t<div\n\t\t\tref={devPanelRef}\n\t\t\tdata-expanded={dataAttribute(expanded)}\n\t\t\tclassName={className('trigger')}\n\t\t\tonMouseLeave={useReferentiallyStableCallback(() => {\n\t\t\t\tsetExpanded(false)\n\t\t\t})}\n\t\t\tonKeyDown={useReferentiallyStableCallback(event => {\n\t\t\t\tif (expanded && event.code === 'Escape') {\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\tsetExpanded(false)\n\t\t\t\t}\n\t\t\t})}\n\t\t>\n\t\t\t<button\n\t\t\t\ttabIndex={0}\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\taria-controls={id}\n\t\t\t\taria-expanded={expanded}\n\t\t\t\tclassName={className('trigger-label')}\n\t\t\t\tonClick={useReferentiallyStableCallback(() => {\n\t\t\t\t\tif (mouseEnterTimeStampRef.current && Date.now() < mouseEnterTimeStampRef.current) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetExpanded(expanded => !expanded)\n\t\t\t\t\t\tmouseEnterTimeStampRef.current = undefined\n\t\t\t\t\t}\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t\t<span className={className('trigger-label-text')}>{preview ?? heading}</span>\n\t\t\t</button>\n\t\t\t{expanded && (\n\t\t\t\t<div tabIndex={0} id={id} role=\"dialog\" className={className('panel')}>\n\t\t\t\t\t<div className={className('panel-content')}>\n\t\t\t\t\t\t<h2 className=\"h4\">\n\t\t\t\t\t\t\t{heading}\n\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t<div className={className('panel-body')}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n"],"names":["expanded","this"],"mappings":"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"}