@contember/react-devbar 2.1.0-alpha.9 → 2.1.0-beta.1

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 (96) hide show
  1. package/dist/development/index.cjs +2 -2
  2. package/dist/development/index.js +1 -1
  3. package/dist/development/src/DevErrorManager.cjs.map +1 -1
  4. package/dist/development/src/DevErrorManager.js.map +1 -1
  5. package/dist/development/src/errorHandling.cjs +2 -22
  6. package/dist/development/src/errorHandling.cjs.map +1 -1
  7. package/dist/development/src/errorHandling.js +2 -5
  8. package/dist/development/src/errorHandling.js.map +1 -1
  9. package/dist/development/src/hooks/useCopyErrorMarkdown.cjs +101 -0
  10. package/dist/development/src/hooks/useCopyErrorMarkdown.cjs.map +1 -0
  11. package/dist/development/src/hooks/useCopyErrorMarkdown.js +101 -0
  12. package/dist/development/src/hooks/useCopyErrorMarkdown.js.map +1 -0
  13. package/dist/development/src/hooks/useParsedStacktrace.cjs.map +1 -1
  14. package/dist/development/src/hooks/useParsedStacktrace.js.map +1 -1
  15. package/dist/development/src/ui/DevBar/DevBar.cjs +15 -13
  16. package/dist/development/src/ui/DevBar/DevBar.cjs.map +1 -1
  17. package/dist/development/src/ui/DevBar/DevBar.js +15 -13
  18. package/dist/development/src/ui/DevBar/DevBar.js.map +1 -1
  19. package/dist/development/src/ui/DevError/DevError.cjs.map +1 -1
  20. package/dist/development/src/ui/DevError/DevError.js.map +1 -1
  21. package/dist/development/src/ui/DevError/DevErrorBadge.cjs +2 -2
  22. package/dist/development/src/ui/DevError/DevErrorBadge.cjs.map +1 -1
  23. package/dist/development/src/ui/DevError/DevErrorBadge.js +2 -2
  24. package/dist/development/src/ui/DevError/DevErrorBadge.js.map +1 -1
  25. package/dist/development/src/ui/DevError/DevErrorCopy.cjs +36 -0
  26. package/dist/development/src/ui/DevError/DevErrorCopy.cjs.map +1 -0
  27. package/dist/development/src/ui/DevError/DevErrorCopy.js +36 -0
  28. package/dist/development/src/ui/DevError/DevErrorCopy.js.map +1 -0
  29. package/dist/development/src/ui/DevError/DevErrorInner.cjs +26 -26
  30. package/dist/development/src/ui/DevError/DevErrorInner.cjs.map +1 -1
  31. package/dist/development/src/ui/DevError/DevErrorInner.js +26 -26
  32. package/dist/development/src/ui/DevError/DevErrorInner.js.map +1 -1
  33. package/dist/development/src/ui/DevError/DevErrorList.cjs +35 -27
  34. package/dist/development/src/ui/DevError/DevErrorList.cjs.map +1 -1
  35. package/dist/development/src/ui/DevError/DevErrorList.js +35 -27
  36. package/dist/development/src/ui/DevError/DevErrorList.js.map +1 -1
  37. package/dist/development/src/ui/DevError/StackTrace.cjs +11 -11
  38. package/dist/development/src/ui/DevError/StackTrace.cjs.map +1 -1
  39. package/dist/development/src/ui/DevError/StackTrace.js +11 -11
  40. package/dist/development/src/ui/DevError/StackTrace.js.map +1 -1
  41. package/dist/production/index.cjs +2 -2
  42. package/dist/production/index.js +1 -1
  43. package/dist/production/src/errorHandling.cjs +1 -21
  44. package/dist/production/src/errorHandling.cjs.map +1 -1
  45. package/dist/production/src/errorHandling.js +1 -4
  46. package/dist/production/src/errorHandling.js.map +1 -1
  47. package/dist/production/src/hooks/useCopyErrorMarkdown.cjs +101 -0
  48. package/dist/production/src/hooks/useCopyErrorMarkdown.cjs.map +1 -0
  49. package/dist/production/src/hooks/useCopyErrorMarkdown.js +101 -0
  50. package/dist/production/src/hooks/useCopyErrorMarkdown.js.map +1 -0
  51. package/dist/production/src/hooks/useParsedStacktrace.cjs.map +1 -1
  52. package/dist/production/src/hooks/useParsedStacktrace.js.map +1 -1
  53. package/dist/production/src/ui/DevBar/DevBar.cjs +2 -0
  54. package/dist/production/src/ui/DevBar/DevBar.cjs.map +1 -1
  55. package/dist/production/src/ui/DevBar/DevBar.js +2 -0
  56. package/dist/production/src/ui/DevBar/DevBar.js.map +1 -1
  57. package/dist/production/src/ui/DevError/DevError.cjs.map +1 -1
  58. package/dist/production/src/ui/DevError/DevError.js.map +1 -1
  59. package/dist/production/src/ui/DevError/DevErrorBadge.cjs.map +1 -1
  60. package/dist/production/src/ui/DevError/DevErrorBadge.js.map +1 -1
  61. package/dist/production/src/ui/DevError/DevErrorCopy.cjs +28 -0
  62. package/dist/production/src/ui/DevError/DevErrorCopy.cjs.map +1 -0
  63. package/dist/production/src/ui/DevError/DevErrorCopy.js +28 -0
  64. package/dist/production/src/ui/DevError/DevErrorCopy.js.map +1 -0
  65. package/dist/production/src/ui/DevError/DevErrorInner.cjs.map +1 -1
  66. package/dist/production/src/ui/DevError/DevErrorInner.js.map +1 -1
  67. package/dist/production/src/ui/DevError/DevErrorList.cjs +10 -6
  68. package/dist/production/src/ui/DevError/DevErrorList.cjs.map +1 -1
  69. package/dist/production/src/ui/DevError/DevErrorList.js +10 -6
  70. package/dist/production/src/ui/DevError/DevErrorList.js.map +1 -1
  71. package/dist/production/src/ui/DevError/StackTrace.cjs.map +1 -1
  72. package/dist/production/src/ui/DevError/StackTrace.js.map +1 -1
  73. package/dist/types/errorHandling.d.ts.map +1 -1
  74. package/dist/types/hooks/useCopyErrorMarkdown.d.ts +12 -0
  75. package/dist/types/hooks/useCopyErrorMarkdown.d.ts.map +1 -0
  76. package/dist/types/tsconfig.tsbuildinfo +1 -1
  77. package/dist/types/ui/DevBar/DevBar.d.ts +1 -1
  78. package/dist/types/ui/DevBar/DevBar.d.ts.map +1 -1
  79. package/dist/types/ui/DevError/DevErrorBadge.d.ts.map +1 -1
  80. package/dist/types/ui/DevError/DevErrorCopy.d.ts +6 -0
  81. package/dist/types/ui/DevError/DevErrorCopy.d.ts.map +1 -0
  82. package/dist/types/ui/DevError/DevErrorInner.d.ts.map +1 -1
  83. package/dist/types/ui/DevError/DevErrorList.d.ts +1 -1
  84. package/dist/types/ui/DevError/DevErrorList.d.ts.map +1 -1
  85. package/dist/types/ui/DevError/StackTrace.d.ts.map +1 -1
  86. package/package.json +10 -10
  87. package/src/errorHandling.tsx +1 -8
  88. package/src/hooks/useCopyErrorMarkdown.ts +127 -0
  89. package/src/hooks/useParsedStacktrace.ts +1 -1
  90. package/src/index.css +27 -0
  91. package/src/ui/DevBar/DevBar.tsx +9 -13
  92. package/src/ui/DevError/DevErrorBadge.tsx +0 -1
  93. package/src/ui/DevError/DevErrorCopy.tsx +30 -0
  94. package/src/ui/DevError/DevErrorInner.tsx +26 -26
  95. package/src/ui/DevError/DevErrorList.tsx +25 -19
  96. package/src/ui/DevError/StackTrace.tsx +1 -4
@@ -1 +1 @@
1
- {"version":3,"file":"DevBar.cjs","sources":["../../../../../../packages/react-devbar/src/ui/DevBar/DevBar.tsx"],"sourcesContent":["import {\n\tuseId,\n\tuseOnElementClickOutsideCallback,\n\tuseReferentiallyStableCallback,\n\tuseWindowSize,\n} from '@contember/react-utils'\nimport { dataAttribute } from '@contember/utilities'\nimport { PropsWithChildren, ReactNode, useCallback, 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}: PropsWithChildren<{\n\tbreakpoint?: number\n}>) => {\n\tconst [expanded, setExpanded] = useState(false)\n\tconst isSmallScreen = useWindowSize().width < breakpoint\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\thandleToggle()\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}\n\t})\n\n\tconst id = `dev-bar-panel${useId()}`\n\n\treturn (\n\t\t<section\n\t\t\tdata-transparent=\"true\"\n\t\t\tdata-overrides-lucide-icons=\"true\"\n\t\t\tdata-expanded={dataAttribute(expanded)}\n\t\t\tdata-small-screen={dataAttribute(isSmallScreen)}\n\t\t\tclassName={className(null)}\n\t\t>\n\t\t\t<div ref={devBarContentRef} className={className('content')}>\n\t\t\t\t<div\n\t\t\t\t\tdata-expanded={true}\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('panels')}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n\ninterface DevPanelProps {\n\ticon: ReactNode\n\theading: ReactNode\n\tchildren: ReactNode\n\tpreview?: ReactNode\n}\n\nexport const DevPanel = ({ heading, icon, children, preview }: DevPanelProps) => {\n\tconst id = `cui-devBar-panel-${useId()}`\n\tconst dialogRef = useRef<HTMLDialogElement>(null)\n\tconst triggerRef = useRef<HTMLButtonElement>(null)\n\n\tconst handleOpen = useCallback(() => {\n\t\tdialogRef.current?.showModal()\n\t}, [])\n\n\tconst handleClose = useCallback(() => {\n\t\tdialogRef.current?.close()\n\t}, [])\n\n\tuseEffect(() => {\n\t\tconst dialog = dialogRef.current\n\t\tif (!dialog) return\n\n\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\tconst rect = dialog.getBoundingClientRect()\n\t\t\tconst isInDialog = (\n\t\t\t\trect.top <= event.clientY &&\n\t\t\t\tevent.clientY <= rect.top + rect.height &&\n\t\t\t\trect.left <= event.clientX &&\n\t\t\t\tevent.clientX <= rect.left + rect.width\n\t\t\t)\n\n\t\t\tif (!isInDialog) {\n\t\t\t\tdialog.close()\n\t\t\t}\n\t\t}\n\n\t\tdialog.addEventListener('click', handleClickOutside)\n\t\treturn () => dialog.removeEventListener('click', handleClickOutside)\n\t}, [])\n\n\tuseEffect(() => {\n\t\tconst handleEscape = (event: KeyboardEvent) => {\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\thandleClose()\n\t\t\t}\n\t\t}\n\n\t\tdocument.addEventListener('keydown', handleEscape)\n\t\treturn () => document.removeEventListener('keydown', handleEscape)\n\t}, [handleClose])\n\n\treturn (\n\t\t<div className={className('trigger')}>\n\t\t\t<button\n\t\t\t\tref={triggerRef}\n\t\t\t\ttabIndex={0}\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\taria-controls={id}\n\t\t\t\tclassName={className('trigger-label')}\n\t\t\t\tonClick={handleOpen}\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t\t<span className={className('trigger-label-text')}>\n\t\t\t\t\t{preview ?? heading}\n\t\t\t\t</span>\n\t\t\t</button>\n\n\t\t\t<dialog ref={dialogRef} id={id} className={className('panel')}>\n\t\t\t\t<div className={className('panel-content')}>\n\t\t\t\t\t<div className={className('panel-header')}>\n\t\t\t\t\t\t<h2 className=\"h4\">{heading}</h2>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tonClick={handleClose}\n\t\t\t\t\t\t\tclassName={className('close-button')}\n\t\t\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t✕\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className={className('panel-body')}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</dialog>\n\t\t</div>\n\t)\n}\n"],"names":["useState","useWindowSize","useReferentiallyStableCallback","expanded","useEffect","useRef","useOnElementClickOutsideCallback","useId","jsxDEV","dataAttribute","this","useCallback"],"mappings":"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"}
1
+ {"version":3,"file":"DevBar.cjs","sources":["../../../../../../packages/react-devbar/src/ui/DevBar/DevBar.tsx"],"sourcesContent":["import { useId, useOnElementClickOutsideCallback, useReferentiallyStableCallback, useWindowSize } from '@contember/react-utils'\nimport { dataAttribute } from '@contember/utilities'\nimport { type PropsWithChildren, type ReactNode, useCallback, 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}: PropsWithChildren<{\n\tbreakpoint?: number\n}>) => {\n\tconst [expanded, setExpanded] = useState(false)\n\tconst isSmallScreen = useWindowSize().width < breakpoint\n\n\tconst handleToggle = useReferentiallyStableCallback(() => {\n\t\tsetExpanded(expanded => !expanded)\n\t})\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: intentional\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\thandleToggle()\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}\n\t})\n\n\tconst id = `dev-bar-panel${useId()}`\n\n\treturn (\n\t\t<section\n\t\t\tdata-transparent=\"true\"\n\t\t\tdata-overrides-lucide-icons=\"true\"\n\t\t\tdata-expanded={dataAttribute(expanded)}\n\t\t\tdata-small-screen={dataAttribute(isSmallScreen)}\n\t\t\tclassName={className(null)}\n\t\t>\n\t\t\t<div ref={devBarContentRef} className={className('content')}>\n\t\t\t\t<div\n\t\t\t\t\tdata-expanded={true}\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('panels')}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n\ninterface DevPanelProps {\n\ticon: ReactNode\n\theading: ReactNode\n\tchildren: ReactNode\n\tpreview?: ReactNode\n}\n\nexport const DevPanel = ({ heading, icon, children, preview }: DevPanelProps) => {\n\tconst id = `cui-devBar-panel-${useId()}`\n\tconst dialogRef = useRef<HTMLDialogElement>(null)\n\tconst triggerRef = useRef<HTMLButtonElement>(null)\n\n\tconst handleOpen = useCallback(() => {\n\t\tdialogRef.current?.showModal()\n\t}, [])\n\n\tconst handleClose = useCallback(() => {\n\t\tdialogRef.current?.close()\n\t}, [])\n\n\tuseEffect(() => {\n\t\tconst dialog = dialogRef.current\n\t\tif (!dialog) return\n\n\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\tconst rect = dialog.getBoundingClientRect()\n\t\t\tconst isInDialog = rect.top <= event.clientY\n\t\t\t\t&& event.clientY <= rect.top + rect.height\n\t\t\t\t&& rect.left <= event.clientX\n\t\t\t\t&& event.clientX <= rect.left + rect.width\n\n\t\t\tif (!isInDialog) {\n\t\t\t\tdialog.close()\n\t\t\t}\n\t\t}\n\n\t\tdialog.addEventListener('click', handleClickOutside)\n\t\treturn () => dialog.removeEventListener('click', handleClickOutside)\n\t}, [])\n\n\tuseEffect(() => {\n\t\tconst handleEscape = (event: KeyboardEvent) => {\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\thandleClose()\n\t\t\t}\n\t\t}\n\n\t\tdocument.addEventListener('keydown', handleEscape)\n\t\treturn () => document.removeEventListener('keydown', handleEscape)\n\t}, [handleClose])\n\n\treturn (\n\t\t<div className={className('trigger')}>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tref={triggerRef}\n\t\t\t\ttabIndex={0}\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\taria-controls={id}\n\t\t\t\tclassName={className('trigger-label')}\n\t\t\t\tonClick={handleOpen}\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t\t<span className={className('trigger-label-text')}>\n\t\t\t\t\t{preview ?? heading}\n\t\t\t\t</span>\n\t\t\t</button>\n\n\t\t\t<dialog ref={dialogRef} id={id} className={className('panel')}>\n\t\t\t\t<div className={className('panel-content')}>\n\t\t\t\t\t<div className={className('panel-header')}>\n\t\t\t\t\t\t<h2 className=\"h4\">{heading}</h2>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={handleClose}\n\t\t\t\t\t\t\tclassName={className('close-button')}\n\t\t\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t✕\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className={className('panel-body')}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</dialog>\n\t\t</div>\n\t)\n}\n"],"names":["useState","useWindowSize","useReferentiallyStableCallback","expanded","useEffect","useRef","useOnElementClickOutsideCallback","useId","jsxDEV","dataAttribute","this","useCallback"],"mappings":"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"}
@@ -47,7 +47,7 @@ const DevBar = ({
47
47
  style: { display: "contents" },
48
48
  children: /* @__PURE__ */ jsxDEV("div", { className: className("panels"), children }, void 0, false, {
49
49
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
50
- lineNumber: 64,
50
+ lineNumber: 60,
51
51
  columnNumber: 6
52
52
  }, void 0)
53
53
  },
@@ -55,13 +55,13 @@ const DevBar = ({
55
55
  false,
56
56
  {
57
57
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
58
- lineNumber: 58,
58
+ lineNumber: 54,
59
59
  columnNumber: 5
60
60
  },
61
61
  void 0
62
62
  ) }, void 0, false, {
63
63
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
64
- lineNumber: 57,
64
+ lineNumber: 53,
65
65
  columnNumber: 4
66
66
  }, void 0)
67
67
  },
@@ -69,7 +69,7 @@ const DevBar = ({
69
69
  false,
70
70
  {
71
71
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
72
- lineNumber: 50,
72
+ lineNumber: 46,
73
73
  columnNumber: 3
74
74
  },
75
75
  void 0
@@ -111,6 +111,7 @@ const DevPanel = ({ heading, icon, children, preview }) => {
111
111
  /* @__PURE__ */ jsxDEV(
112
112
  "button",
113
113
  {
114
+ type: "button",
114
115
  ref: triggerRef,
115
116
  tabIndex: 0,
116
117
  "aria-haspopup": "dialog",
@@ -121,7 +122,7 @@ const DevPanel = ({ heading, icon, children, preview }) => {
121
122
  icon,
122
123
  /* @__PURE__ */ jsxDEV("span", { className: className("trigger-label-text"), children: preview ?? heading }, void 0, false, {
123
124
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
124
- lineNumber: 137,
125
+ lineNumber: 132,
125
126
  columnNumber: 5
126
127
  }, void 0)
127
128
  ]
@@ -130,7 +131,7 @@ const DevPanel = ({ heading, icon, children, preview }) => {
130
131
  true,
131
132
  {
132
133
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
133
- lineNumber: 128,
134
+ lineNumber: 122,
134
135
  columnNumber: 4
135
136
  },
136
137
  void 0
@@ -139,12 +140,13 @@ const DevPanel = ({ heading, icon, children, preview }) => {
139
140
  /* @__PURE__ */ jsxDEV("div", { className: className("panel-header"), children: [
140
141
  /* @__PURE__ */ jsxDEV("h2", { className: "h4", children: heading }, void 0, false, {
141
142
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
142
- lineNumber: 145,
143
+ lineNumber: 140,
143
144
  columnNumber: 7
144
145
  }, void 0),
145
146
  /* @__PURE__ */ jsxDEV(
146
147
  "button",
147
148
  {
149
+ type: "button",
148
150
  onClick: handleClose,
149
151
  className: className("close-button"),
150
152
  "aria-label": "Close",
@@ -154,33 +156,33 @@ const DevPanel = ({ heading, icon, children, preview }) => {
154
156
  false,
155
157
  {
156
158
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
157
- lineNumber: 146,
159
+ lineNumber: 141,
158
160
  columnNumber: 7
159
161
  },
160
162
  void 0
161
163
  )
162
164
  ] }, void 0, true, {
163
165
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
164
- lineNumber: 144,
166
+ lineNumber: 139,
165
167
  columnNumber: 6
166
168
  }, void 0),
167
169
  /* @__PURE__ */ jsxDEV("div", { className: className("panel-body"), children }, void 0, false, {
168
170
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
169
- lineNumber: 154,
171
+ lineNumber: 150,
170
172
  columnNumber: 6
171
173
  }, void 0)
172
174
  ] }, void 0, true, {
173
175
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
174
- lineNumber: 143,
176
+ lineNumber: 138,
175
177
  columnNumber: 5
176
178
  }, void 0) }, void 0, false, {
177
179
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
178
- lineNumber: 142,
180
+ lineNumber: 137,
179
181
  columnNumber: 4
180
182
  }, void 0)
181
183
  ] }, void 0, true, {
182
184
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevBar/DevBar.tsx",
183
- lineNumber: 127,
185
+ lineNumber: 121,
184
186
  columnNumber: 3
185
187
  }, void 0);
186
188
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DevBar.js","sources":["../../../../../../packages/react-devbar/src/ui/DevBar/DevBar.tsx"],"sourcesContent":["import {\n\tuseId,\n\tuseOnElementClickOutsideCallback,\n\tuseReferentiallyStableCallback,\n\tuseWindowSize,\n} from '@contember/react-utils'\nimport { dataAttribute } from '@contember/utilities'\nimport { PropsWithChildren, ReactNode, useCallback, 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}: PropsWithChildren<{\n\tbreakpoint?: number\n}>) => {\n\tconst [expanded, setExpanded] = useState(false)\n\tconst isSmallScreen = useWindowSize().width < breakpoint\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\thandleToggle()\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}\n\t})\n\n\tconst id = `dev-bar-panel${useId()}`\n\n\treturn (\n\t\t<section\n\t\t\tdata-transparent=\"true\"\n\t\t\tdata-overrides-lucide-icons=\"true\"\n\t\t\tdata-expanded={dataAttribute(expanded)}\n\t\t\tdata-small-screen={dataAttribute(isSmallScreen)}\n\t\t\tclassName={className(null)}\n\t\t>\n\t\t\t<div ref={devBarContentRef} className={className('content')}>\n\t\t\t\t<div\n\t\t\t\t\tdata-expanded={true}\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('panels')}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n\ninterface DevPanelProps {\n\ticon: ReactNode\n\theading: ReactNode\n\tchildren: ReactNode\n\tpreview?: ReactNode\n}\n\nexport const DevPanel = ({ heading, icon, children, preview }: DevPanelProps) => {\n\tconst id = `cui-devBar-panel-${useId()}`\n\tconst dialogRef = useRef<HTMLDialogElement>(null)\n\tconst triggerRef = useRef<HTMLButtonElement>(null)\n\n\tconst handleOpen = useCallback(() => {\n\t\tdialogRef.current?.showModal()\n\t}, [])\n\n\tconst handleClose = useCallback(() => {\n\t\tdialogRef.current?.close()\n\t}, [])\n\n\tuseEffect(() => {\n\t\tconst dialog = dialogRef.current\n\t\tif (!dialog) return\n\n\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\tconst rect = dialog.getBoundingClientRect()\n\t\t\tconst isInDialog = (\n\t\t\t\trect.top <= event.clientY &&\n\t\t\t\tevent.clientY <= rect.top + rect.height &&\n\t\t\t\trect.left <= event.clientX &&\n\t\t\t\tevent.clientX <= rect.left + rect.width\n\t\t\t)\n\n\t\t\tif (!isInDialog) {\n\t\t\t\tdialog.close()\n\t\t\t}\n\t\t}\n\n\t\tdialog.addEventListener('click', handleClickOutside)\n\t\treturn () => dialog.removeEventListener('click', handleClickOutside)\n\t}, [])\n\n\tuseEffect(() => {\n\t\tconst handleEscape = (event: KeyboardEvent) => {\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\thandleClose()\n\t\t\t}\n\t\t}\n\n\t\tdocument.addEventListener('keydown', handleEscape)\n\t\treturn () => document.removeEventListener('keydown', handleEscape)\n\t}, [handleClose])\n\n\treturn (\n\t\t<div className={className('trigger')}>\n\t\t\t<button\n\t\t\t\tref={triggerRef}\n\t\t\t\ttabIndex={0}\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\taria-controls={id}\n\t\t\t\tclassName={className('trigger-label')}\n\t\t\t\tonClick={handleOpen}\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t\t<span className={className('trigger-label-text')}>\n\t\t\t\t\t{preview ?? heading}\n\t\t\t\t</span>\n\t\t\t</button>\n\n\t\t\t<dialog ref={dialogRef} id={id} className={className('panel')}>\n\t\t\t\t<div className={className('panel-content')}>\n\t\t\t\t\t<div className={className('panel-header')}>\n\t\t\t\t\t\t<h2 className=\"h4\">{heading}</h2>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tonClick={handleClose}\n\t\t\t\t\t\t\tclassName={className('close-button')}\n\t\t\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t✕\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className={className('panel-body')}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</dialog>\n\t\t</div>\n\t)\n}\n"],"names":["expanded","this"],"mappings":"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"}
1
+ {"version":3,"file":"DevBar.js","sources":["../../../../../../packages/react-devbar/src/ui/DevBar/DevBar.tsx"],"sourcesContent":["import { useId, useOnElementClickOutsideCallback, useReferentiallyStableCallback, useWindowSize } from '@contember/react-utils'\nimport { dataAttribute } from '@contember/utilities'\nimport { type PropsWithChildren, type ReactNode, useCallback, 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}: PropsWithChildren<{\n\tbreakpoint?: number\n}>) => {\n\tconst [expanded, setExpanded] = useState(false)\n\tconst isSmallScreen = useWindowSize().width < breakpoint\n\n\tconst handleToggle = useReferentiallyStableCallback(() => {\n\t\tsetExpanded(expanded => !expanded)\n\t})\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: intentional\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\thandleToggle()\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}\n\t})\n\n\tconst id = `dev-bar-panel${useId()}`\n\n\treturn (\n\t\t<section\n\t\t\tdata-transparent=\"true\"\n\t\t\tdata-overrides-lucide-icons=\"true\"\n\t\t\tdata-expanded={dataAttribute(expanded)}\n\t\t\tdata-small-screen={dataAttribute(isSmallScreen)}\n\t\t\tclassName={className(null)}\n\t\t>\n\t\t\t<div ref={devBarContentRef} className={className('content')}>\n\t\t\t\t<div\n\t\t\t\t\tdata-expanded={true}\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('panels')}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t)\n}\n\ninterface DevPanelProps {\n\ticon: ReactNode\n\theading: ReactNode\n\tchildren: ReactNode\n\tpreview?: ReactNode\n}\n\nexport const DevPanel = ({ heading, icon, children, preview }: DevPanelProps) => {\n\tconst id = `cui-devBar-panel-${useId()}`\n\tconst dialogRef = useRef<HTMLDialogElement>(null)\n\tconst triggerRef = useRef<HTMLButtonElement>(null)\n\n\tconst handleOpen = useCallback(() => {\n\t\tdialogRef.current?.showModal()\n\t}, [])\n\n\tconst handleClose = useCallback(() => {\n\t\tdialogRef.current?.close()\n\t}, [])\n\n\tuseEffect(() => {\n\t\tconst dialog = dialogRef.current\n\t\tif (!dialog) return\n\n\t\tconst handleClickOutside = (event: MouseEvent) => {\n\t\t\tconst rect = dialog.getBoundingClientRect()\n\t\t\tconst isInDialog = rect.top <= event.clientY\n\t\t\t\t&& event.clientY <= rect.top + rect.height\n\t\t\t\t&& rect.left <= event.clientX\n\t\t\t\t&& event.clientX <= rect.left + rect.width\n\n\t\t\tif (!isInDialog) {\n\t\t\t\tdialog.close()\n\t\t\t}\n\t\t}\n\n\t\tdialog.addEventListener('click', handleClickOutside)\n\t\treturn () => dialog.removeEventListener('click', handleClickOutside)\n\t}, [])\n\n\tuseEffect(() => {\n\t\tconst handleEscape = (event: KeyboardEvent) => {\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\thandleClose()\n\t\t\t}\n\t\t}\n\n\t\tdocument.addEventListener('keydown', handleEscape)\n\t\treturn () => document.removeEventListener('keydown', handleEscape)\n\t}, [handleClose])\n\n\treturn (\n\t\t<div className={className('trigger')}>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tref={triggerRef}\n\t\t\t\ttabIndex={0}\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\taria-controls={id}\n\t\t\t\tclassName={className('trigger-label')}\n\t\t\t\tonClick={handleOpen}\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t\t<span className={className('trigger-label-text')}>\n\t\t\t\t\t{preview ?? heading}\n\t\t\t\t</span>\n\t\t\t</button>\n\n\t\t\t<dialog ref={dialogRef} id={id} className={className('panel')}>\n\t\t\t\t<div className={className('panel-content')}>\n\t\t\t\t\t<div className={className('panel-header')}>\n\t\t\t\t\t\t<h2 className=\"h4\">{heading}</h2>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tonClick={handleClose}\n\t\t\t\t\t\t\tclassName={className('close-button')}\n\t\t\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t✕\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className={className('panel-body')}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</dialog>\n\t\t</div>\n\t)\n}\n"],"names":["expanded","this"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DevError.cjs","sources":["../../../../../../packages/react-devbar/src/ui/DevError/DevError.tsx"],"sourcesContent":["import { DevErrorInner, DevErrorInnerProps } from './DevErrorInner'\n\nexport interface DevErrorProps extends DevErrorInnerProps {\n\tsource: string\n}\n\nconst className = (cls?: string | null) => cls ? `cui-devError-${cls}` : 'cui-devError'\n\nexport function DevError(props: DevErrorProps) {\n\treturn (\n\t\t<div className={className()}>\n\t\t\t<div className={className('in')}>\n\t\t\t\t<div className={className('bar')}>\n\t\t\t\t\t<div className={className('errorSource')}>{props.source}</div>\n\t\t\t\t</div>\n\t\t\t\t<DevErrorInner error={props.error} />\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n"],"names":["jsxDEV","DevErrorInner"],"mappings":";;;;AAMA,MAAM,YAAY,CAAC,QAAwB,MAAM,gBAAgB,GAAG,KAAK;AAElE,SAAS,SAAS,OAAsB;AAE7C,SAAAA,8BAAA,OAAC,OAAI,EAAA,WAAW,UAAU,GACzB,+CAAC,OAAI,EAAA,WAAW,UAAU,IAAI,GAC7B,UAAA;AAAA,IAAAA,qCAAC,OAAI,EAAA,WAAW,UAAU,KAAK,GAC9B,UAAAA,8BAAAA,OAAC,OAAI,EAAA,WAAW,UAAU,aAAa,GAAI,UAAA,MAAM,OAAjD,GAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAAA,IAAwD,EADzD,GAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAEA,GAAA,IAAA;AAAA,IACCA,qCAAAC,cAAAA,eAAA,EAAc,OAAO,MAAM,SAA5B,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAAmC,IAAA;AAAA,EAAA,KAJpC,QAAA,MAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAKA,EAND,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAOA,GAAA,IAAA;AAEF;;"}
1
+ {"version":3,"file":"DevError.cjs","sources":["../../../../../../packages/react-devbar/src/ui/DevError/DevError.tsx"],"sourcesContent":["import { DevErrorInner, DevErrorInnerProps } from './DevErrorInner'\n\nexport interface DevErrorProps extends DevErrorInnerProps {\n\tsource: string\n}\n\nconst className = (cls?: string | null) => cls ? `cui-devError-${cls}` : 'cui-devError'\n\nexport function DevError(props: DevErrorProps) {\n\treturn (\n\t\t<div className={className()}>\n\t\t\t<div className={className('in')}>\n\t\t\t\t<div className={className('bar')}>\n\t\t\t\t\t<div className={className('errorSource')}>{props.source}</div>\n\t\t\t\t</div>\n\t\t\t\t<DevErrorInner error={props.error} />\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n"],"names":["jsxDEV","DevErrorInner"],"mappings":";;;;AAMA,MAAM,YAAY,CAAC,QAAwB,MAAM,gBAAgB,GAAG,KAAK;AAElE,SAAS,SAAS,OAAsB;AAC9C,SACCA,8BAAAA,OAAC,OAAA,EAAI,WAAW,UAAA,GACf,+CAAC,OAAA,EAAI,WAAW,UAAU,IAAI,GAC7B,UAAA;AAAA,IAAAA,qCAAC,OAAA,EAAI,WAAW,UAAU,KAAK,GAC9B,UAAAA,8BAAAA,OAAC,OAAA,EAAI,WAAW,UAAU,aAAa,GAAI,UAAA,MAAM,OAAA,GAAjD,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAAA,IAAwD,EAAA,GADzD,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAAA,IAEA;AAAA,IACAA,8BAAAA,OAACC,cAAAA,eAAA,EAAc,OAAO,MAAM,MAAA,GAA5B,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAAA,IAAmC;AAAA,EAAA,EAAA,GAJpC,QAAA,MAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAKA,EAAA,GAND,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAOA;AAEF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DevError.js","sources":["../../../../../../packages/react-devbar/src/ui/DevError/DevError.tsx"],"sourcesContent":["import { DevErrorInner, DevErrorInnerProps } from './DevErrorInner'\n\nexport interface DevErrorProps extends DevErrorInnerProps {\n\tsource: string\n}\n\nconst className = (cls?: string | null) => cls ? `cui-devError-${cls}` : 'cui-devError'\n\nexport function DevError(props: DevErrorProps) {\n\treturn (\n\t\t<div className={className()}>\n\t\t\t<div className={className('in')}>\n\t\t\t\t<div className={className('bar')}>\n\t\t\t\t\t<div className={className('errorSource')}>{props.source}</div>\n\t\t\t\t</div>\n\t\t\t\t<DevErrorInner error={props.error} />\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n"],"names":[],"mappings":";;AAMA,MAAM,YAAY,CAAC,QAAwB,MAAM,gBAAgB,GAAG,KAAK;AAElE,SAAS,SAAS,OAAsB;AAE7C,SAAA,uBAAC,OAAI,EAAA,WAAW,UAAU,GACzB,iCAAC,OAAI,EAAA,WAAW,UAAU,IAAI,GAC7B,UAAA;AAAA,IAAA,uBAAC,OAAI,EAAA,WAAW,UAAU,KAAK,GAC9B,UAAA,uBAAC,OAAI,EAAA,WAAW,UAAU,aAAa,GAAI,UAAA,MAAM,OAAjD,GAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAAA,IAAwD,EADzD,GAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAEA,GAAA,IAAA;AAAA,IACC,uBAAA,eAAA,EAAc,OAAO,MAAM,SAA5B,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAAmC,IAAA;AAAA,EAAA,KAJpC,QAAA,MAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAKA,EAND,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAOA,GAAA,IAAA;AAEF;"}
1
+ {"version":3,"file":"DevError.js","sources":["../../../../../../packages/react-devbar/src/ui/DevError/DevError.tsx"],"sourcesContent":["import { DevErrorInner, DevErrorInnerProps } from './DevErrorInner'\n\nexport interface DevErrorProps extends DevErrorInnerProps {\n\tsource: string\n}\n\nconst className = (cls?: string | null) => cls ? `cui-devError-${cls}` : 'cui-devError'\n\nexport function DevError(props: DevErrorProps) {\n\treturn (\n\t\t<div className={className()}>\n\t\t\t<div className={className('in')}>\n\t\t\t\t<div className={className('bar')}>\n\t\t\t\t\t<div className={className('errorSource')}>{props.source}</div>\n\t\t\t\t</div>\n\t\t\t\t<DevErrorInner error={props.error} />\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n"],"names":[],"mappings":";;AAMA,MAAM,YAAY,CAAC,QAAwB,MAAM,gBAAgB,GAAG,KAAK;AAElE,SAAS,SAAS,OAAsB;AAC9C,SACC,uBAAC,OAAA,EAAI,WAAW,UAAA,GACf,iCAAC,OAAA,EAAI,WAAW,UAAU,IAAI,GAC7B,UAAA;AAAA,IAAA,uBAAC,OAAA,EAAI,WAAW,UAAU,KAAK,GAC9B,UAAA,uBAAC,OAAA,EAAI,WAAW,UAAU,aAAa,GAAI,UAAA,MAAM,OAAA,GAAjD,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAAA,IAAwD,EAAA,GADzD,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAAA,IAEA;AAAA,IACA,uBAAC,eAAA,EAAc,OAAO,MAAM,MAAA,GAA5B,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAAA,IAAmC;AAAA,EAAA,EAAA,GAJpC,QAAA,MAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAKA,EAAA,GAND,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAOA;AAEF;"}
@@ -9,11 +9,11 @@ function DevErrorBadge({ errorCount, onOpen, onClear }) {
9
9
  errorCount > 1 ? "errors" : "error"
10
10
  ] }, void 0, true, {
11
11
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorBadge.tsx",
12
- lineNumber: 13,
12
+ lineNumber: 12,
13
13
  columnNumber: 4
14
14
  }, this) }, void 0, false, {
15
15
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorBadge.tsx",
16
- lineNumber: 12,
16
+ lineNumber: 11,
17
17
  columnNumber: 3
18
18
  }, this);
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DevErrorBadge.cjs","sources":["../../../../../../packages/react-devbar/src/ui/DevError/DevErrorBadge.tsx"],"sourcesContent":["export interface DevErrorBadgeProps {\n\tonOpen: () => void\n\tonClear: () => void\n\terrorCount: number\n}\n\n\nconst className = (cls?: string | null) => cls ? `cui-devErrorBadge-${cls}` : 'cui-devErrorBadge'\n\nexport function DevErrorBadge({ errorCount, onOpen, onClear }: DevErrorBadgeProps) {\n\treturn (\n\t\t<div className={className()}>\n\t\t\t<a className={className('button')} onClick={onOpen}>\n\t\t\t\t{errorCount} {errorCount > 1 ? 'errors' : 'error'}\n\t\t\t</a>\n\t\t</div>\n\t)\n}\n"],"names":["jsxDEV"],"mappings":";;;AAOA,MAAM,YAAY,CAAC,QAAwB,MAAM,qBAAqB,GAAG,KAAK;AAEvE,SAAS,cAAc,EAAE,YAAY,QAAQ,WAA+B;AAClF,SACEA,8BAAAA,OAAA,OAAA,EAAI,WAAW,UAAA,GACf,UAAAA,8BAAA,OAAC,KAAE,EAAA,WAAW,UAAU,QAAQ,GAAG,SAAS,QAC1C,UAAA;AAAA,IAAA;AAAA,IAAW;AAAA,IAAE,aAAa,IAAI,WAAW;AAAA,EAAA,KAD3C,QAAA,MAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAEA,EAHD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAIA,GAAA,IAAA;AAEF;;"}
1
+ {"version":3,"file":"DevErrorBadge.cjs","sources":["../../../../../../packages/react-devbar/src/ui/DevError/DevErrorBadge.tsx"],"sourcesContent":["export interface DevErrorBadgeProps {\n\tonOpen: () => void\n\tonClear: () => void\n\terrorCount: number\n}\n\nconst className = (cls?: string | null) => cls ? `cui-devErrorBadge-${cls}` : 'cui-devErrorBadge'\n\nexport function DevErrorBadge({ errorCount, onOpen, onClear }: DevErrorBadgeProps) {\n\treturn (\n\t\t<div className={className()}>\n\t\t\t<a className={className('button')} onClick={onOpen}>\n\t\t\t\t{errorCount} {errorCount > 1 ? 'errors' : 'error'}\n\t\t\t</a>\n\t\t</div>\n\t)\n}\n"],"names":["jsxDEV"],"mappings":";;;AAMA,MAAM,YAAY,CAAC,QAAwB,MAAM,qBAAqB,GAAG,KAAK;AAEvE,SAAS,cAAc,EAAE,YAAY,QAAQ,WAA+B;AAClF,SACCA,8BAAAA,OAAC,OAAA,EAAI,WAAW,UAAA,GACf,UAAAA,8BAAAA,OAAC,KAAA,EAAE,WAAW,UAAU,QAAQ,GAAG,SAAS,QAC1C,UAAA;AAAA,IAAA;AAAA,IAAW;AAAA,IAAE,aAAa,IAAI,WAAW;AAAA,EAAA,EAAA,GAD3C,QAAA,MAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAEA,EAAA,GAHD,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAIA;AAEF;;"}
@@ -7,11 +7,11 @@ function DevErrorBadge({ errorCount, onOpen, onClear }) {
7
7
  errorCount > 1 ? "errors" : "error"
8
8
  ] }, void 0, true, {
9
9
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorBadge.tsx",
10
- lineNumber: 13,
10
+ lineNumber: 12,
11
11
  columnNumber: 4
12
12
  }, this) }, void 0, false, {
13
13
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorBadge.tsx",
14
- lineNumber: 12,
14
+ lineNumber: 11,
15
15
  columnNumber: 3
16
16
  }, this);
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DevErrorBadge.js","sources":["../../../../../../packages/react-devbar/src/ui/DevError/DevErrorBadge.tsx"],"sourcesContent":["export interface DevErrorBadgeProps {\n\tonOpen: () => void\n\tonClear: () => void\n\terrorCount: number\n}\n\n\nconst className = (cls?: string | null) => cls ? `cui-devErrorBadge-${cls}` : 'cui-devErrorBadge'\n\nexport function DevErrorBadge({ errorCount, onOpen, onClear }: DevErrorBadgeProps) {\n\treturn (\n\t\t<div className={className()}>\n\t\t\t<a className={className('button')} onClick={onOpen}>\n\t\t\t\t{errorCount} {errorCount > 1 ? 'errors' : 'error'}\n\t\t\t</a>\n\t\t</div>\n\t)\n}\n"],"names":[],"mappings":";AAOA,MAAM,YAAY,CAAC,QAAwB,MAAM,qBAAqB,GAAG,KAAK;AAEvE,SAAS,cAAc,EAAE,YAAY,QAAQ,WAA+B;AAClF,SACE,uBAAA,OAAA,EAAI,WAAW,UAAA,GACf,UAAA,uBAAC,KAAE,EAAA,WAAW,UAAU,QAAQ,GAAG,SAAS,QAC1C,UAAA;AAAA,IAAA;AAAA,IAAW;AAAA,IAAE,aAAa,IAAI,WAAW;AAAA,EAAA,KAD3C,QAAA,MAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAEA,EAHD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAIA,GAAA,IAAA;AAEF;"}
1
+ {"version":3,"file":"DevErrorBadge.js","sources":["../../../../../../packages/react-devbar/src/ui/DevError/DevErrorBadge.tsx"],"sourcesContent":["export interface DevErrorBadgeProps {\n\tonOpen: () => void\n\tonClear: () => void\n\terrorCount: number\n}\n\nconst className = (cls?: string | null) => cls ? `cui-devErrorBadge-${cls}` : 'cui-devErrorBadge'\n\nexport function DevErrorBadge({ errorCount, onOpen, onClear }: DevErrorBadgeProps) {\n\treturn (\n\t\t<div className={className()}>\n\t\t\t<a className={className('button')} onClick={onOpen}>\n\t\t\t\t{errorCount} {errorCount > 1 ? 'errors' : 'error'}\n\t\t\t</a>\n\t\t</div>\n\t)\n}\n"],"names":[],"mappings":";AAMA,MAAM,YAAY,CAAC,QAAwB,MAAM,qBAAqB,GAAG,KAAK;AAEvE,SAAS,cAAc,EAAE,YAAY,QAAQ,WAA+B;AAClF,SACC,uBAAC,OAAA,EAAI,WAAW,UAAA,GACf,UAAA,uBAAC,KAAA,EAAE,WAAW,UAAU,QAAQ,GAAG,SAAS,QAC1C,UAAA;AAAA,IAAA;AAAA,IAAW;AAAA,IAAE,aAAa,IAAI,WAAW;AAAA,EAAA,EAAA,GAD3C,QAAA,MAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAEA,EAAA,GAHD,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAA,IAIA;AAEF;"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxDevRuntime = require("react/jsx-dev-runtime");
4
+ const useCopyErrorMarkdown = require("../../hooks/useCopyErrorMarkdown.cjs");
5
+ const DevErrorCopy = ({ currentError, currentErrorSource }) => {
6
+ const { copyStatus, handleCopyMarkdown, isClipboardSupported } = useCopyErrorMarkdown.useCopyErrorMarkdown({ currentError, currentErrorSource });
7
+ if (!isClipboardSupported) {
8
+ return null;
9
+ }
10
+ return /* @__PURE__ */ jsxDevRuntime.jsxDEV(
11
+ "button",
12
+ {
13
+ type: "button",
14
+ className: "cui-devError-copyButton",
15
+ onClick: handleCopyMarkdown,
16
+ disabled: copyStatus === "copying",
17
+ title: "Copy current error as Markdown",
18
+ children: {
19
+ success: "Copied!",
20
+ copying: "Copying...",
21
+ error: "❌ Copy Failed",
22
+ idle: "Copy as Markdown"
23
+ }[copyStatus]
24
+ },
25
+ void 0,
26
+ false,
27
+ {
28
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorCopy.tsx",
29
+ lineNumber: 15,
30
+ columnNumber: 3
31
+ },
32
+ void 0
33
+ );
34
+ };
35
+ exports.DevErrorCopy = DevErrorCopy;
36
+ //# sourceMappingURL=DevErrorCopy.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevErrorCopy.cjs","sources":["../../../../../../packages/react-devbar/src/ui/DevError/DevErrorCopy.tsx"],"sourcesContent":["import { useCopyErrorMarkdown } from '../../hooks/useCopyErrorMarkdown'\nimport { ProcessedError } from './types'\n\nexport const DevErrorCopy = ({ currentError, currentErrorSource }: {\n\tcurrentError: ProcessedError\n\tcurrentErrorSource: string\n}) => {\n\tconst { copyStatus, handleCopyMarkdown, isClipboardSupported } = useCopyErrorMarkdown({ currentError, currentErrorSource })\n\n\tif (!isClipboardSupported) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclassName=\"cui-devError-copyButton\"\n\t\t\tonClick={handleCopyMarkdown}\n\t\t\tdisabled={copyStatus === 'copying'}\n\t\t\ttitle=\"Copy current error as Markdown\"\n\t\t>\n\t\t\t{{\n\t\t\t\tsuccess: 'Copied!',\n\t\t\t\tcopying: 'Copying...',\n\t\t\t\terror: '❌ Copy Failed',\n\t\t\t\tidle: 'Copy as Markdown',\n\t\t\t}[copyStatus]}\n\t\t</button>\n\t)\n}\n"],"names":["useCopyErrorMarkdown","jsxDEV","this"],"mappings":";;;;AAGO,MAAM,eAAe,CAAC,EAAE,cAAc,yBAGvC;AACL,QAAM,EAAE,YAAY,oBAAoB,qBAAA,IAAyBA,qBAAAA,qBAAqB,EAAE,cAAc,oBAAoB;AAE1H,MAAI,CAAC,sBAAsB;AAC1B,WAAO;AAAA,EACR;AAEA,SACCC,8BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACA,MAAK;AAAA,MACL,WAAU;AAAA,MACV,SAAS;AAAA,MACT,UAAU,eAAe;AAAA,MACzB,OAAM;AAAA,MAEL,UAAA;AAAA,QACA,SAAS;AAAA,QACT,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,MAAA,EACL,UAAU;AAAA,IAAA;AAAA,IAZb;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAC;AAAAA,EAAA;AAeF;;"}
@@ -0,0 +1,36 @@
1
+ import { jsxDEV } from "react/jsx-dev-runtime";
2
+ import { useCopyErrorMarkdown } from "../../hooks/useCopyErrorMarkdown.js";
3
+ const DevErrorCopy = ({ currentError, currentErrorSource }) => {
4
+ const { copyStatus, handleCopyMarkdown, isClipboardSupported } = useCopyErrorMarkdown({ currentError, currentErrorSource });
5
+ if (!isClipboardSupported) {
6
+ return null;
7
+ }
8
+ return /* @__PURE__ */ jsxDEV(
9
+ "button",
10
+ {
11
+ type: "button",
12
+ className: "cui-devError-copyButton",
13
+ onClick: handleCopyMarkdown,
14
+ disabled: copyStatus === "copying",
15
+ title: "Copy current error as Markdown",
16
+ children: {
17
+ success: "Copied!",
18
+ copying: "Copying...",
19
+ error: "❌ Copy Failed",
20
+ idle: "Copy as Markdown"
21
+ }[copyStatus]
22
+ },
23
+ void 0,
24
+ false,
25
+ {
26
+ fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorCopy.tsx",
27
+ lineNumber: 15,
28
+ columnNumber: 3
29
+ },
30
+ void 0
31
+ );
32
+ };
33
+ export {
34
+ DevErrorCopy
35
+ };
36
+ //# sourceMappingURL=DevErrorCopy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevErrorCopy.js","sources":["../../../../../../packages/react-devbar/src/ui/DevError/DevErrorCopy.tsx"],"sourcesContent":["import { useCopyErrorMarkdown } from '../../hooks/useCopyErrorMarkdown'\nimport { ProcessedError } from './types'\n\nexport const DevErrorCopy = ({ currentError, currentErrorSource }: {\n\tcurrentError: ProcessedError\n\tcurrentErrorSource: string\n}) => {\n\tconst { copyStatus, handleCopyMarkdown, isClipboardSupported } = useCopyErrorMarkdown({ currentError, currentErrorSource })\n\n\tif (!isClipboardSupported) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclassName=\"cui-devError-copyButton\"\n\t\t\tonClick={handleCopyMarkdown}\n\t\t\tdisabled={copyStatus === 'copying'}\n\t\t\ttitle=\"Copy current error as Markdown\"\n\t\t>\n\t\t\t{{\n\t\t\t\tsuccess: 'Copied!',\n\t\t\t\tcopying: 'Copying...',\n\t\t\t\terror: '❌ Copy Failed',\n\t\t\t\tidle: 'Copy as Markdown',\n\t\t\t}[copyStatus]}\n\t\t</button>\n\t)\n}\n"],"names":["this"],"mappings":";;AAGO,MAAM,eAAe,CAAC,EAAE,cAAc,yBAGvC;AACL,QAAM,EAAE,YAAY,oBAAoB,qBAAA,IAAyB,qBAAqB,EAAE,cAAc,oBAAoB;AAE1H,MAAI,CAAC,sBAAsB;AAC1B,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,MAAK;AAAA,MACL,WAAU;AAAA,MACV,SAAS;AAAA,MACT,UAAU,eAAe;AAAA,MACzB,OAAM;AAAA,MAEL,UAAA;AAAA,QACA,SAAS;AAAA,QACT,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,MAAA,EACL,UAAU;AAAA,IAAA;AAAA,IAZb;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAA;AAAAA,EAAA;AAeF;"}
@@ -9,69 +9,69 @@ function DevErrorInner({ error, level = 1 }) {
9
9
  /* @__PURE__ */ jsxDevRuntime.jsxDEV("div", { className: className("header"), children: errorObject ? /* @__PURE__ */ jsxDevRuntime.jsxDEV(jsxDevRuntime.Fragment, { children: [
10
10
  /* @__PURE__ */ jsxDevRuntime.jsxDEV("h1", { className: className("errorName"), children: errorObject.name }, void 0, false, {
11
11
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
12
- lineNumber: 21,
13
- columnNumber: 7
12
+ lineNumber: 20,
13
+ columnNumber: 8
14
14
  }, this),
15
15
  error.cause && /* @__PURE__ */ jsxDevRuntime.jsxDEV("a", { href: `#error-${level}`, className: className("causeLink"), children: "caused by >" }, void 0, false, {
16
16
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
17
- lineNumber: 22,
18
- columnNumber: 23
17
+ lineNumber: 21,
18
+ columnNumber: 24
19
19
  }, this),
20
20
  errorObject.message && /* @__PURE__ */ jsxDevRuntime.jsxDEV("h2", { className: className("errorMessage"), children: errorObject.message }, void 0, false, {
21
21
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
22
- lineNumber: 23,
23
- columnNumber: 31
22
+ lineNumber: 22,
23
+ columnNumber: 32
24
24
  }, this),
25
25
  "details" in errorObject && /* @__PURE__ */ jsxDevRuntime.jsxDEV("div", { className: className("errorDetails"), children: errorObject.details }, void 0, false, {
26
26
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
27
- lineNumber: 24,
28
- columnNumber: 36
27
+ lineNumber: 23,
28
+ columnNumber: 37
29
29
  }, this)
30
30
  ] }, void 0, true, {
31
31
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
32
- lineNumber: 20,
33
- columnNumber: 6
32
+ lineNumber: 19,
33
+ columnNumber: 7
34
34
  }, this) : /* @__PURE__ */ jsxDevRuntime.jsxDEV("h1", { className: className("errorName"), children: "Unknown error" }, void 0, false, {
35
35
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
36
- lineNumber: 27,
37
- columnNumber: 6
36
+ lineNumber: 26,
37
+ columnNumber: 8
38
38
  }, this) }, void 0, false, {
39
39
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
40
- lineNumber: 18,
40
+ lineNumber: 16,
41
41
  columnNumber: 4
42
42
  }, this),
43
43
  error.parsedStackStrace ? /* @__PURE__ */ jsxDevRuntime.jsxDEV(StackTrace.StackTrace, { stackTrace: error.parsedStackStrace }, void 0, false, {
44
44
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
45
- lineNumber: 31,
46
- columnNumber: 5
45
+ lineNumber: 28,
46
+ columnNumber: 31
47
47
  }, this) : errorObject?.stack ? /* @__PURE__ */ jsxDevRuntime.jsxDEV("div", { className: className("stack"), children: /* @__PURE__ */ jsxDevRuntime.jsxDEV("div", { className: className("stack-dump"), children: errorObject.stack }, void 0, false, {
48
48
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
49
- lineNumber: 34,
50
- columnNumber: 6
49
+ lineNumber: 31,
50
+ columnNumber: 7
51
51
  }, this) }, void 0, false, {
52
52
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
53
- lineNumber: 33,
54
- columnNumber: 5
53
+ lineNumber: 30,
54
+ columnNumber: 6
55
55
  }, this) : null,
56
56
  error.cause ? /* @__PURE__ */ jsxDevRuntime.jsxDEV(jsxDevRuntime.Fragment, { children: [
57
57
  /* @__PURE__ */ jsxDevRuntime.jsxDEV("div", { className: className("causedBy"), id: `error-${level}`, children: "Caused by" }, void 0, false, {
58
58
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
59
- lineNumber: 39,
60
- columnNumber: 6
59
+ lineNumber: 38,
60
+ columnNumber: 7
61
61
  }, this),
62
62
  /* @__PURE__ */ jsxDevRuntime.jsxDEV(DevErrorInner, { error: error.cause, level: level + 1 }, void 0, false, {
63
63
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
64
- lineNumber: 42,
65
- columnNumber: 6
64
+ lineNumber: 41,
65
+ columnNumber: 7
66
66
  }, this)
67
67
  ] }, void 0, true, {
68
68
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
69
- lineNumber: 38,
70
- columnNumber: 5
69
+ lineNumber: 37,
70
+ columnNumber: 6
71
71
  }, this) : null
72
72
  ] }, void 0, true, {
73
73
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
74
- lineNumber: 17,
74
+ lineNumber: 15,
75
75
  columnNumber: 3
76
76
  }, this);
77
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DevErrorInner.cjs","sources":["../../../../../../packages/react-devbar/src/ui/DevError/DevErrorInner.tsx"],"sourcesContent":["import { StackTrace } from './StackTrace'\nimport type { ProcessedError } from './types'\n\nexport interface DevErrorInnerProps {\n\terror: ProcessedError\n\tlevel?: number\n}\n\n\nconst className = (cls?: string | null) => cls ? `cui-devError-${cls}` : 'cui-devError'\n\nexport function DevErrorInner({ error, level = 1 }: DevErrorInnerProps) {\n\n\tlet errorObject: Error | undefined = error.error instanceof Error ? error.error : undefined\n\n\treturn (\n\t\t<>\n\t\t\t<div className={className('header')}>\n\t\t\t\t{errorObject ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<h1 className={className('errorName')}>{errorObject.name}</h1>\n\t\t\t\t\t\t{error.cause && <a href={`#error-${level}`} className={className('causeLink')}>caused by &gt;</a>}\n\t\t\t\t\t\t{errorObject.message && <h2 className={className('errorMessage')}>{errorObject.message}</h2>}\n\t\t\t\t\t\t{'details' in errorObject && <div className={className('errorDetails')}>{(errorObject as any).details}</div>}\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\t<h1 className={className('errorName')}>Unknown error</h1>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{error.parsedStackStrace ? (\n\t\t\t\t<StackTrace stackTrace={error.parsedStackStrace} />\n\t\t\t) : errorObject?.stack ? (\n\t\t\t\t<div className={className('stack')}>\n\t\t\t\t\t<div className={className('stack-dump')}>{errorObject.stack}</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t\t{error.cause ? (\n\t\t\t\t<>\n\t\t\t\t\t<div className={className('causedBy')} id={`error-${level}`}>\n\t\t\t\t\t\tCaused by\n\t\t\t\t\t</div>\n\t\t\t\t\t<DevErrorInner error={error.cause} level={level + 1} />\n\t\t\t\t</>\n\t\t\t) : null}\n\t\t</>\n\t)\n}\n"],"names":["jsxDEV","Fragment","StackTrace"],"mappings":"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"}
1
+ {"version":3,"file":"DevErrorInner.cjs","sources":["../../../../../../packages/react-devbar/src/ui/DevError/DevErrorInner.tsx"],"sourcesContent":["import { StackTrace } from './StackTrace'\nimport type { ProcessedError } from './types'\n\nexport interface DevErrorInnerProps {\n\terror: ProcessedError\n\tlevel?: number\n}\n\nconst className = (cls?: string | null) => cls ? `cui-devError-${cls}` : 'cui-devError'\n\nexport function DevErrorInner({ error, level = 1 }: DevErrorInnerProps) {\n\tlet errorObject: Error | undefined = error.error instanceof Error ? error.error : undefined\n\n\treturn (\n\t\t<>\n\t\t\t<div className={className('header')}>\n\t\t\t\t{errorObject\n\t\t\t\t\t? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h1 className={className('errorName')}>{errorObject.name}</h1>\n\t\t\t\t\t\t\t{error.cause && <a href={`#error-${level}`} className={className('causeLink')}>caused by &gt;</a>}\n\t\t\t\t\t\t\t{errorObject.message && <h2 className={className('errorMessage')}>{errorObject.message}</h2>}\n\t\t\t\t\t\t\t{'details' in errorObject && <div className={className('errorDetails')}>{(errorObject as any).details}</div>}\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\t\t: <h1 className={className('errorName')}>Unknown error</h1>}\n\t\t\t</div>\n\t\t\t{error.parsedStackStrace ? <StackTrace stackTrace={error.parsedStackStrace} /> : errorObject?.stack\n\t\t\t\t? (\n\t\t\t\t\t<div className={className('stack')}>\n\t\t\t\t\t\t<div className={className('stack-dump')}>{errorObject.stack}</div>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t\t: null}\n\t\t\t{error.cause\n\t\t\t\t? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div className={className('causedBy')} id={`error-${level}`}>\n\t\t\t\t\t\t\tCaused by\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<DevErrorInner error={error.cause} level={level + 1} />\n\t\t\t\t\t</>\n\t\t\t\t)\n\t\t\t\t: null}\n\t\t</>\n\t)\n}\n"],"names":["jsxDEV","Fragment","StackTrace"],"mappings":"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"}
@@ -7,69 +7,69 @@ function DevErrorInner({ error, level = 1 }) {
7
7
  /* @__PURE__ */ jsxDEV("div", { className: className("header"), children: errorObject ? /* @__PURE__ */ jsxDEV(Fragment, { children: [
8
8
  /* @__PURE__ */ jsxDEV("h1", { className: className("errorName"), children: errorObject.name }, void 0, false, {
9
9
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
10
- lineNumber: 21,
11
- columnNumber: 7
10
+ lineNumber: 20,
11
+ columnNumber: 8
12
12
  }, this),
13
13
  error.cause && /* @__PURE__ */ jsxDEV("a", { href: `#error-${level}`, className: className("causeLink"), children: "caused by >" }, void 0, false, {
14
14
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
15
- lineNumber: 22,
16
- columnNumber: 23
15
+ lineNumber: 21,
16
+ columnNumber: 24
17
17
  }, this),
18
18
  errorObject.message && /* @__PURE__ */ jsxDEV("h2", { className: className("errorMessage"), children: errorObject.message }, void 0, false, {
19
19
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
20
- lineNumber: 23,
21
- columnNumber: 31
20
+ lineNumber: 22,
21
+ columnNumber: 32
22
22
  }, this),
23
23
  "details" in errorObject && /* @__PURE__ */ jsxDEV("div", { className: className("errorDetails"), children: errorObject.details }, void 0, false, {
24
24
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
25
- lineNumber: 24,
26
- columnNumber: 36
25
+ lineNumber: 23,
26
+ columnNumber: 37
27
27
  }, this)
28
28
  ] }, void 0, true, {
29
29
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
30
- lineNumber: 20,
31
- columnNumber: 6
30
+ lineNumber: 19,
31
+ columnNumber: 7
32
32
  }, this) : /* @__PURE__ */ jsxDEV("h1", { className: className("errorName"), children: "Unknown error" }, void 0, false, {
33
33
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
34
- lineNumber: 27,
35
- columnNumber: 6
34
+ lineNumber: 26,
35
+ columnNumber: 8
36
36
  }, this) }, void 0, false, {
37
37
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
38
- lineNumber: 18,
38
+ lineNumber: 16,
39
39
  columnNumber: 4
40
40
  }, this),
41
41
  error.parsedStackStrace ? /* @__PURE__ */ jsxDEV(StackTrace, { stackTrace: error.parsedStackStrace }, void 0, false, {
42
42
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
43
- lineNumber: 31,
44
- columnNumber: 5
43
+ lineNumber: 28,
44
+ columnNumber: 31
45
45
  }, this) : errorObject?.stack ? /* @__PURE__ */ jsxDEV("div", { className: className("stack"), children: /* @__PURE__ */ jsxDEV("div", { className: className("stack-dump"), children: errorObject.stack }, void 0, false, {
46
46
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
47
- lineNumber: 34,
48
- columnNumber: 6
47
+ lineNumber: 31,
48
+ columnNumber: 7
49
49
  }, this) }, void 0, false, {
50
50
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
51
- lineNumber: 33,
52
- columnNumber: 5
51
+ lineNumber: 30,
52
+ columnNumber: 6
53
53
  }, this) : null,
54
54
  error.cause ? /* @__PURE__ */ jsxDEV(Fragment, { children: [
55
55
  /* @__PURE__ */ jsxDEV("div", { className: className("causedBy"), id: `error-${level}`, children: "Caused by" }, void 0, false, {
56
56
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
57
- lineNumber: 39,
58
- columnNumber: 6
57
+ lineNumber: 38,
58
+ columnNumber: 7
59
59
  }, this),
60
60
  /* @__PURE__ */ jsxDEV(DevErrorInner, { error: error.cause, level: level + 1 }, void 0, false, {
61
61
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
62
- lineNumber: 42,
63
- columnNumber: 6
62
+ lineNumber: 41,
63
+ columnNumber: 7
64
64
  }, this)
65
65
  ] }, void 0, true, {
66
66
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
67
- lineNumber: 38,
68
- columnNumber: 5
67
+ lineNumber: 37,
68
+ columnNumber: 6
69
69
  }, this) : null
70
70
  ] }, void 0, true, {
71
71
  fileName: "/home/runner/work/contember/contember/packages/react-devbar/src/ui/DevError/DevErrorInner.tsx",
72
- lineNumber: 17,
72
+ lineNumber: 15,
73
73
  columnNumber: 3
74
74
  }, this);
75
75
  }