@dudousxd/nestjs-telescope-ui 3.3.0 → 4.1.0

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 (32) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/client/telescope-client.d.ts +8 -0
  3. package/dist/client/telescope-client.d.ts.map +1 -1
  4. package/dist/client/telescope-client.js +14 -0
  5. package/dist/client/telescope-client.js.map +1 -1
  6. package/dist/client/types.d.ts +37 -17
  7. package/dist/client/types.d.ts.map +1 -1
  8. package/dist/react/components/charts/bar-chart-card.d.ts +1 -7
  9. package/dist/react/components/charts/bar-chart-card.d.ts.map +1 -1
  10. package/dist/react/components/charts/bar-chart-card.js +2 -3
  11. package/dist/react/components/charts/bar-chart-card.js.map +1 -1
  12. package/dist/react/components/charts/chart-theme.d.ts +0 -46
  13. package/dist/react/components/charts/chart-theme.d.ts.map +1 -1
  14. package/dist/react/components/charts/chart-theme.js +0 -46
  15. package/dist/react/components/charts/chart-theme.js.map +1 -1
  16. package/dist/react/components/entry-insights.js +3 -3
  17. package/dist/react/components/entry-insights.js.map +1 -1
  18. package/dist/react/components/extensions/panel-actions.d.ts +22 -0
  19. package/dist/react/components/extensions/panel-actions.d.ts.map +1 -0
  20. package/dist/react/components/extensions/panel-actions.js +91 -0
  21. package/dist/react/components/extensions/panel-actions.js.map +1 -0
  22. package/dist/react/components/extensions/table-columns.d.ts.map +1 -1
  23. package/dist/react/components/extensions/table-columns.js +6 -4
  24. package/dist/react/components/extensions/table-columns.js.map +1 -1
  25. package/dist/react/telescope-context.d.ts +2 -0
  26. package/dist/react/telescope-context.d.ts.map +1 -1
  27. package/dist/react/telescope-context.js +4 -0
  28. package/dist/react/telescope-context.js.map +1 -1
  29. package/dist/spa/assets/index-BXt80gfq.js +159 -0
  30. package/dist/spa/index.html +1 -1
  31. package/package.json +5 -5
  32. package/dist/spa/assets/index-Qq58kyyp.js +0 -159
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel-actions.d.ts","sourceRoot":"","sources":["../../../../src/react/components/extensions/panel-actions.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,SAAS,EAAuC,MAAM,OAAO,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,0BAA0B,CAAC;AAKlF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAWpD,0FAA0F;AAC1F,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CAEnE;AAED,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAK3E;AAWD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,GAAG,EACH,QAAQ,GACT,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,GAAG,CAAC,OAAO,CAwFd;AAED,sGAAsG;AACtG,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,GAAG,GACJ,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;IACrB,GAAG,EAAE,QAAQ,CAAC;CACf,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAcrB"}
@@ -0,0 +1,91 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useQueryClient } from '@tanstack/react-query';
3
+ import { createContext, useContext, useState } from 'react';
4
+ import { useOptionalTelescopeClient } from '../../telescope-context.js';
5
+ import { Button } from '../../ui/button.js';
6
+ import { Dialog, DialogContent, DialogDescription, DialogTitle } from '../../ui/dialog.js';
7
+ import { useMeta } from '../../use-telescope-queries.js';
8
+ const PanelActionsContext = createContext(null);
9
+ /** Fills `{key}` placeholders from the row. Plain text: never parsed as HTML or a URL. */
10
+ export function fillFromRow(template, row) {
11
+ return template.replace(/\{(\w+)\}/g, (_m, key) => String(row[key] ?? ''));
12
+ }
13
+ /** Whether the row matches the action's `showWhen` (every listed field holds one of its values). */
14
+ export function actionShownFor(action, row) {
15
+ if (!action.showWhen)
16
+ return true;
17
+ return Object.entries(action.showWhen).every(([key, values]) => values.some((value) => value === row[key]));
18
+ }
19
+ /**
20
+ * Lets the tables of one extension's dashboard run that extension's actions. Buttons appear only
21
+ * when the server has mutations on and lists the action; each run is confirmed in a dialog, then
22
+ * every panel of the dashboard refetches so the change shows.
23
+ */
24
+ export function PanelActionsProvider({ ext, children, }) {
25
+ const client = useOptionalTelescopeClient();
26
+ const queryClient = useQueryClient();
27
+ const meta = useMeta();
28
+ const [pending, setPending] = useState(null);
29
+ const [running, setRunning] = useState(false);
30
+ const [outcome, setOutcome] = useState(null);
31
+ const declared = (meta.data?.actions ?? []).filter((a) => a.ext === ext);
32
+ const enabled = meta.data?.mutations === true && client?.extAction !== undefined;
33
+ const value = enabled
34
+ ? {
35
+ info: (action) => declared.find((a) => a.name === action.name),
36
+ request(action, row) {
37
+ const info = declared.find((a) => a.name === action.name);
38
+ if (!info)
39
+ return;
40
+ const label = action.label ?? info.label ?? info.name;
41
+ const confirm = action.confirm ?? info.confirm ?? `${label}?`;
42
+ const input = {};
43
+ for (const [key, template] of Object.entries(action.input ?? {})) {
44
+ input[key] = fillFromRow(template, row);
45
+ }
46
+ setOutcome(null);
47
+ setPending({
48
+ ext,
49
+ name: info.name,
50
+ label,
51
+ question: fillFromRow(confirm, row),
52
+ destructive: action.destructive ?? info.destructive ?? false,
53
+ input,
54
+ });
55
+ },
56
+ }
57
+ : null;
58
+ async function run() {
59
+ if (!pending || !client?.extAction)
60
+ return;
61
+ setRunning(true);
62
+ try {
63
+ await client.extAction(pending.ext, pending.name, pending.input);
64
+ setOutcome({ ok: true, text: `${pending.label}: done.` });
65
+ await queryClient.invalidateQueries({ queryKey: ['telescope', 'ext-data', pending.ext] });
66
+ }
67
+ catch (error) {
68
+ setOutcome({
69
+ ok: false,
70
+ text: `${pending.label} failed: ${error instanceof Error ? error.message : String(error)}`,
71
+ });
72
+ }
73
+ finally {
74
+ setRunning(false);
75
+ setPending(null);
76
+ }
77
+ }
78
+ return (_jsxs(PanelActionsContext.Provider, { value: value, children: [outcome && (_jsx("output", { className: `mb-3 block rounded border px-3 py-1.5 text-xs ${outcome.ok ? 'tint-good' : 'tint-bad'}`, children: outcome.text })), children, _jsx(Dialog, { open: pending !== null, onOpenChange: (open) => {
79
+ if (!open && !running)
80
+ setPending(null);
81
+ }, children: _jsxs(DialogContent, { "aria-label": "Confirm action", className: "space-y-3 p-4", children: [_jsx(DialogTitle, { children: pending?.label }), _jsx(DialogDescription, { children: pending?.question }), _jsxs("div", { className: "flex justify-end gap-2", children: [_jsx(Button, { variant: "ghost", disabled: running, onClick: () => setPending(null), children: "Cancel" }), _jsx(Button, { variant: pending?.destructive ? 'bad' : 'solid', disabled: running, onClick: () => void run(), children: pending?.label })] })] }) })] }));
82
+ }
83
+ /** A table cell's action button; nothing outside a {@link PanelActionsProvider} with mutations on. */
84
+ export function RowActionButton({ action, row, }) {
85
+ const actions = useContext(PanelActionsContext);
86
+ const info = actions?.info(action);
87
+ if (actions === null || info === undefined || !actionShownFor(action, row))
88
+ return null;
89
+ return (_jsx(Button, { size: "xs", variant: (action.destructive ?? info.destructive) ? 'bad' : 'outline', className: "ml-2", onClick: () => actions.request(action, row), children: action.label ?? info.label ?? info.name }));
90
+ }
91
+ //# sourceMappingURL=panel-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel-actions.js","sourceRoot":"","sources":["../../../../src/react/components/extensions/panel-actions.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"table-columns.d.ts","sourceRoot":"","sources":["../../../../src/react/components/extensions/table-columns.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpE;mEACmE;AACnE,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnF;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CAIhE;AAoBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,cAAc,EAAE,CAY5E"}
1
+ {"version":3,"file":"table-columns.d.ts","sourceRoot":"","sources":["../../../../src/react/components/extensions/table-columns.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpE;mEACmE;AACnE,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnF;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,CAIhE;AA4BD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,cAAc,EAAE,CAY5E"}
@@ -1,4 +1,5 @@
1
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { RowActionButton } from './panel-actions.js';
2
3
  /**
3
4
  * Fills a `{key}` link template from a row.
4
5
  *
@@ -18,9 +19,10 @@ export function fillTemplate(href, row) {
18
19
  * instance around it. */
19
20
  function CellContent({ spec, row }) {
20
21
  const text = String(row[spec.key] ?? '');
21
- if (!spec.link)
22
- return _jsx(_Fragment, { children: text });
23
- return (_jsx("a", { className: "text-sky-400 hover:underline", href: fillTemplate(spec.link.href, row), ...(spec.link.external ? { target: '_blank', rel: 'noreferrer' } : {}), children: text }));
22
+ const value = spec.link ? (_jsx("a", { className: "text-sky-400 hover:underline", href: fillTemplate(spec.link.href, row), ...(spec.link.external ? { target: '_blank', rel: 'noreferrer' } : {}), children: text })) : (text);
23
+ if (!spec.action)
24
+ return _jsx(_Fragment, { children: value });
25
+ return (_jsxs(_Fragment, { children: [value, _jsx(RowActionButton, { action: spec.action, row: row })] }));
24
26
  }
25
27
  /**
26
28
  * Translates a panel's declared columns into TanStack column definitions.
@@ -1 +1 @@
1
- {"version":3,"file":"table-columns.js","sourceRoot":"","sources":["../../../../src/react/components/extensions/table-columns.tsx"],"names":[],"mappings":";AAQA;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,GAAa;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACnF,IAAI,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,GAAG,CAAC;IAChE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;0BAG0B;AAC1B,SAAS,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAA4C;IAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,4BAAG,IAAI,GAAI,CAAC;IACnC,OAAO,CACL,YACE,SAAS,EAAC,8BAA8B,EACxC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,KACnC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAEtE,IAAI,GACH,CACL,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAwB;IACxD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1B,EAAE,EAAE,IAAI,CAAC,GAAG;QACZ,UAAU,EAAE,CAAC,GAAa,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;QAC5C,MAAM,EAAE,IAAI,CAAC,KAAK;QAClB,aAAa,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI;QACrC,kBAAkB,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI;QAC5C,YAAY,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI;QACpC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAmC,EAAE,EAAE,CAAC,CAClD,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,GAAI,CAC/C;KACF,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"table-columns.js","sourceRoot":"","sources":["../../../../src/react/components/extensions/table-columns.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAOrD;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,GAAa;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACnF,IAAI,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,GAAG,CAAC;IAChE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;0BAG0B;AAC1B,SAAS,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAA4C;IAC1E,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,YACE,SAAS,EAAC,8BAA8B,EACxC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,KACnC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAEtE,IAAI,GACH,CACL,CAAC,CAAC,CAAC,CACF,IAAI,CACL,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,4BAAG,KAAK,GAAI,CAAC;IACtC,OAAO,CACL,8BACG,KAAK,EACN,KAAC,eAAe,IAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,GAAI,IACjD,CACJ,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAwB;IACxD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1B,EAAE,EAAE,IAAI,CAAC,GAAG;QACZ,UAAU,EAAE,CAAC,GAAa,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;QAC5C,MAAM,EAAE,IAAI,CAAC,KAAK;QAClB,aAAa,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI;QACrC,kBAAkB,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI;QAC5C,YAAY,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI;QACpC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAmC,EAAE,EAAE,CAAC,CAClD,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,GAAI,CAC/C;KACF,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -8,6 +8,8 @@ export declare function TelescopeProvider({ client, children, }: {
8
8
  children: React.ReactNode;
9
9
  }): JSX.Element;
10
10
  export declare function useTelescopeClient(): TelescopeClient;
11
+ /** The client, or `null` outside a {@link TelescopeProvider}. */
12
+ export declare function useOptionalTelescopeClient(): TelescopeClient | null;
11
13
  export declare function useLiveTail(): LiveTailValue;
12
14
  export declare function usePaused(): boolean;
13
15
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"telescope-context.d.ts","sourceRoot":"","sources":["../../src/react/telescope-context.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,oBAAoB,CAAC;AAIjF,UAAU,aAAa;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AAID,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,GACT,EAAE;IAAE,MAAM,CAAC,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CASvE;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAIpD;AAED,wBAAgB,WAAW,IAAI,aAAa,CAI3C;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC"}
1
+ {"version":3,"file":"telescope-context.d.ts","sourceRoot":"","sources":["../../src/react/telescope-context.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,oBAAoB,CAAC;AAIjF,UAAU,aAAa;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AAID,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,GACT,EAAE;IAAE,MAAM,CAAC,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CASvE;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAIpD;AAED,iEAAiE;AACjE,wBAAgB,0BAA0B,IAAI,eAAe,GAAG,IAAI,CAEnE;AAED,wBAAgB,WAAW,IAAI,aAAa,CAI3C;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC"}
@@ -15,6 +15,10 @@ export function useTelescopeClient() {
15
15
  throw new Error('useTelescopeClient must be used within a TelescopeProvider');
16
16
  return client;
17
17
  }
18
+ /** The client, or `null` outside a {@link TelescopeProvider}. */
19
+ export function useOptionalTelescopeClient() {
20
+ return useContext(TelescopeContext);
21
+ }
18
22
  export function useLiveTail() {
19
23
  const liveTail = useContext(LiveTailContext);
20
24
  if (!liveTail)
@@ -1 +1 @@
1
- {"version":3,"file":"telescope-context.js","sourceRoot":"","sources":["../../src/react/telescope-context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,EAAwB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,MAAM,gBAAgB,GAAG,aAAa,CAAyB,IAAI,CAAC,CAAC;AAOrE,MAAM,eAAe,GAAG,aAAa,CAAuB,IAAI,CAAC,CAAC;AAElE,MAAM,UAAU,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,GACgD;IACxD,MAAM,KAAK,GAAG,MAAM,IAAI,qBAAqB,EAAE,CAAC;IAChD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAgB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACjF,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACrC,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YAAG,QAAQ,GAA4B,GACtD,CAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,MAAM,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC3F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACtF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,WAAW,EAAE,CAAC,MAAM,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"telescope-context.js","sourceRoot":"","sources":["../../src/react/telescope-context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrE,OAAO,EAAwB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,MAAM,gBAAgB,GAAG,aAAa,CAAyB,IAAI,CAAC,CAAC;AAOrE,MAAM,eAAe,GAAG,aAAa,CAAuB,IAAI,CAAC,CAAC;AAElE,MAAM,UAAU,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,GACgD;IACxD,MAAM,KAAK,GAAG,MAAM,IAAI,qBAAqB,EAAE,CAAC;IAChD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAgB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACjF,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACrC,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YAAG,QAAQ,GAA4B,GACtD,CAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,MAAM,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC3F,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,0BAA0B;IACxC,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,QAAQ,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACtF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,WAAW,EAAE,CAAC,MAAM,CAAC;AAC9B,CAAC"}