@carto/ps-react-ui 4.14.1 → 4.15.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 (37) hide show
  1. package/dist/chat.js +494 -466
  2. package/dist/chat.js.map +1 -1
  3. package/dist/components.js +434 -408
  4. package/dist/components.js.map +1 -1
  5. package/dist/markdown-DdqANCiN.js +102 -0
  6. package/dist/markdown-DdqANCiN.js.map +1 -0
  7. package/dist/markdown-content-Dk2DSgbf.js +10287 -0
  8. package/dist/markdown-content-Dk2DSgbf.js.map +1 -0
  9. package/dist/types/chat/bubbles/chat-agent-message-markdown.d.ts +12 -0
  10. package/dist/types/chat/bubbles/chat-agent-message.d.ts +9 -0
  11. package/dist/types/chat/bubbles/index.d.ts +1 -0
  12. package/dist/types/chat/index.d.ts +2 -1
  13. package/dist/types/chat/types.d.ts +9 -0
  14. package/dist/types/components/index.d.ts +2 -1
  15. package/dist/types/components/lasso-tool/message.d.ts +7 -0
  16. package/dist/types/components/lasso-tool/types.d.ts +17 -2
  17. package/dist/types/widgets-v2/markdown/markdown-content.d.ts +7 -1
  18. package/dist/widgets-v2/markdown.js +9 -8
  19. package/dist/widgets-v2/markdown.js.map +1 -1
  20. package/dist/widgets-v2.js +23 -22
  21. package/dist/widgets-v2.js.map +1 -1
  22. package/package.json +3 -2
  23. package/src/chat/bubbles/chat-agent-message-markdown.test.tsx +38 -0
  24. package/src/chat/bubbles/chat-agent-message-markdown.tsx +34 -0
  25. package/src/chat/bubbles/chat-agent-message.test.tsx +12 -0
  26. package/src/chat/bubbles/chat-agent-message.tsx +21 -1
  27. package/src/chat/bubbles/index.ts +1 -0
  28. package/src/chat/index.ts +2 -0
  29. package/src/chat/types.ts +10 -0
  30. package/src/components/index.ts +2 -0
  31. package/src/components/lasso-tool/message.tsx +36 -0
  32. package/src/components/lasso-tool/types.ts +20 -1
  33. package/src/widgets-v2/markdown/markdown-content.test.tsx +10 -0
  34. package/src/widgets-v2/markdown/markdown-content.tsx +9 -0
  35. package/src/widgets-v2/wrapper/widget-wrapper.tsx +4 -1
  36. package/dist/markdown-BD1jcknS.js +0 -8326
  37. package/dist/markdown-BD1jcknS.js.map +0 -1
@@ -0,0 +1,12 @@
1
+ import { ChatAgentMessageMarkdownProps } from '../types';
2
+ /**
3
+ * Agent reply bubble that renders its (string) children as GitHub-Flavored
4
+ * Markdown through the library's sanitized renderer — raw HTML is skipped and
5
+ * images are stripped, since the content is model output; tables / task lists /
6
+ * strikethrough pick up the bubble's element styling. Composition over
7
+ * `ChatAgentMessage`, which stays a plain styles container.
8
+ */
9
+ export declare function ChatAgentMessageMarkdown({ children, ...props }: ChatAgentMessageMarkdownProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare namespace ChatAgentMessageMarkdown {
11
+ var displayName: string;
12
+ }
@@ -0,0 +1,9 @@
1
+ import { ChatAgentMessageProps } from '../types';
2
+ /**
3
+ * Agent reply bubble. A styles container that positions the reply and its
4
+ * composed pieces (text, loaders, tool traces, …); it renders `children`
5
+ * verbatim and forwards its `ref` to the underlying element. For Markdown
6
+ * replies, compose `ChatAgentMessageMarkdown` instead of teaching this
7
+ * container about the markdown engine.
8
+ */
9
+ export declare const ChatAgentMessage: import('react').ForwardRefExoticComponent<ChatAgentMessageProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -1,4 +1,5 @@
1
1
  export { ChatUserMessage } from './chat-user-message';
2
2
  export { ChatAgentMessage } from './chat-agent-message';
3
+ export { ChatAgentMessageMarkdown } from './chat-agent-message-markdown';
3
4
  export { ChatErrorMessage } from './chat-error-message';
4
5
  export { ChatSuggestionButton } from './chat-suggestion-button';
@@ -1,8 +1,9 @@
1
- export type { ChatSxProps, ChatErrorAction, ChatUserMessageProps, ChatAgentMessageProps, ChatErrorMessageProps, ChatSuggestionButtonProps, ChatThinkingProps, ChatLoaderProps, ChatContentProps, ChatContentRef, ChatHeaderProps, ChatFooterProps, ChatModelOption, ChatStarterItem, ChatStarterProps, ChatRatingActionProps, ChatToolItem, ChatToolTraceProps, ChatToolCodeAreaProps, ChatToolFullViewDialogProps, ChatToolGroupProps, } from './types';
1
+ export type { ChatSxProps, ChatErrorAction, ChatUserMessageProps, ChatAgentMessageProps, ChatAgentMessageMarkdownProps, ChatErrorMessageProps, ChatSuggestionButtonProps, ChatThinkingProps, ChatLoaderProps, ChatContentProps, ChatContentRef, ChatHeaderProps, ChatFooterProps, ChatModelOption, ChatStarterItem, ChatStarterProps, ChatRatingActionProps, ChatToolItem, ChatToolTraceProps, ChatToolCodeAreaProps, ChatToolFullViewDialogProps, ChatToolGroupProps, } from './types';
2
2
  export { CHAT_MAX_WIDTH, CHAT_SCROLL_DELAY, CHAT_DIVIDER_DELAY, CHAT_TOOL_CODE_AREA_MAX_HEIGHT, } from './const';
3
3
  export { useTypewriter } from './use-typewriter';
4
4
  export { ChatUserMessage } from './bubbles/chat-user-message';
5
5
  export { ChatAgentMessage } from './bubbles/chat-agent-message';
6
+ export { ChatAgentMessageMarkdown } from './bubbles/chat-agent-message-markdown';
6
7
  export { ChatErrorMessage } from './bubbles/chat-error-message';
7
8
  export { ChatSuggestionButton } from './bubbles/chat-suggestion-button';
8
9
  export { ChatMessageOverflow } from './bubbles/styles';
@@ -17,6 +17,15 @@ export interface ChatUserMessageProps extends ChatSxProps {
17
17
  export interface ChatAgentMessageProps extends ChatSxProps {
18
18
  children: ReactNode;
19
19
  }
20
+ export interface ChatAgentMessageMarkdownProps extends ChatSxProps {
21
+ /**
22
+ * Markdown source — rendered as GitHub-Flavored Markdown (tables, task lists,
23
+ * strikethrough) through the library's sanitized renderer, inside a
24
+ * `ChatAgentMessage`. Raw HTML is skipped and images are stripped, since the
25
+ * content is model output.
26
+ */
27
+ children: string;
28
+ }
20
29
  export interface ChatErrorMessageProps extends ChatSxProps {
21
30
  errors: string[];
22
31
  icon?: ReactNode;
@@ -1,9 +1,10 @@
1
1
  export type { CustomMeasureMode, MeasurementMode, MeasurementModeOption, MeasurementModes, MeasurementModesMapping, MeasurementOptionsMode, MeasurementOptionsUnit, MeasurementSystem, MeasurementUnit, MeasurementUnitImperialDistance, MeasurementUnitMetricDistance, MeasurementUnitOption, MeasurementUnits, LassoToolsMode, LassoToolsModeOption, LassoToolsModes, LassoToolOptionsMode, LassoToolsModesMapping, } from './types';
2
- export type { LassoToolsComponentProps, LassoToolsInlineComponentProps, LassoGeometryToolbarUIProps, LassoGeometryType, LassoLayerFiltersUIProps, LassoLayerFilterItem, } from './lasso-tool/types';
2
+ export type { LassoToolsComponentProps, LassoToolsInlineComponentProps, LassoGeometryToolbarUIProps, LassoGeometryType, LassoLayerFiltersUIProps, LassoLayerFilterItem, LassoMessageUIProps, } from './lasso-tool/types';
3
3
  export { LassoToolsUI } from './lasso-tool/lasso-tool';
4
4
  export { LassoToolsInlineUI } from './lasso-tool/lasso-tool-inline';
5
5
  export { LassoGeometryToolbarUI } from './lasso-tool/geometry-toolbar';
6
6
  export { LassoLayerFiltersUI } from './lasso-tool/layer-filters';
7
+ export { LassoMessageUI } from './lasso-tool/message';
7
8
  export { DEFAULT_LASSO_TOOLS_MODES_MAPPING, LASSO_TOOLS_LABELS, } from './lasso-tool/const';
8
9
  export { DrawCircleIcon, DrawLassoIcon, DrawPolygonIcon, DrawSquareIcon, SelectToolIcon, SpatialMaskIcon, TextAaIcon, } from './lasso-tool/icons';
9
10
  export type { MeasurementToolsComponentProps } from './measurement-tools/types';
@@ -0,0 +1,7 @@
1
+ import { LassoMessageUIProps } from './types';
2
+ /**
3
+ * Presentational counterpart of `LassoTools.Message` (`@carto/ps-react-maps`),
4
+ * positioned by that render-props component. Auto-hides after 5 seconds via
5
+ * MUI `Snackbar` (calls `onDismiss`, which removes the message from the store).
6
+ */
7
+ export declare function LassoMessageUI({ message, onDismiss, AlertProps, SnackbarProps, }: LassoMessageUIProps): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
- import { Box, ChipProps, DialogProps, Paper, TooltipProps } from '@mui/material';
2
- import { ComponentProps, ComponentType } from 'react';
1
+ import { AlertColor, AlertProps, Box, ChipProps, DialogProps, Paper, SnackbarProps, TooltipProps } from '@mui/material';
2
+ import { ComponentProps, ComponentType, ReactNode } from 'react';
3
3
  import { LassoToolsMode, LassoToolsModes, LassoToolOptionsMode, LassoToolsModesMapping } from '../types';
4
4
  export interface LassoToolsData {
5
5
  id: string;
@@ -107,6 +107,21 @@ export interface LassoGeometryToolbarUIProps {
107
107
  };
108
108
  PaperProps?: ComponentProps<typeof Paper>;
109
109
  }
110
+ export interface LassoMessageUIProps {
111
+ /** Message from the lasso tools store (`LassoToolsMessage` in `@carto/ps-react-maps`). */
112
+ message: {
113
+ id: string;
114
+ title: string;
115
+ /** Body rendered under the title. */
116
+ content?: ReactNode;
117
+ /** @default 'info' */
118
+ severity?: AlertColor;
119
+ action?: ReactNode;
120
+ };
121
+ onDismiss: () => void;
122
+ AlertProps?: Omit<AlertProps, 'severity' | 'onClose' | 'children' | 'action'>;
123
+ SnackbarProps?: Omit<SnackbarProps, 'open' | 'onClose' | 'children'>;
124
+ }
110
125
  export interface LassoLayerFilterItem {
111
126
  id: string;
112
127
  label: string;
@@ -18,6 +18,12 @@ export interface MarkdownContentProps {
18
18
  * Defaults to `false` so caption slots stay text-only by default.
19
19
  */
20
20
  allowImages?: boolean;
21
+ /**
22
+ * When `true`, enables GitHub Flavored Markdown (tables, strikethrough,
23
+ * task lists, autolinks) via `remark-gfm`. Defaults to `false` so existing
24
+ * consumers keep CommonMark-only parsing.
25
+ */
26
+ gfm?: boolean;
21
27
  }
22
28
  /**
23
29
  * Low-level Markdown rendering primitive. Wraps `react-markdown` with two
@@ -31,4 +37,4 @@ export interface MarkdownContentProps {
31
37
  * tree. `safeUrlTransform` is always applied as a second layer for markdown
32
38
  * links/images on the `allowHtml=false` path.
33
39
  */
34
- export declare function MarkdownContent({ content, components, allowHtml, allowImages, }: MarkdownContentProps): import("react/jsx-runtime").JSX.Element;
40
+ export declare function MarkdownContent({ content, components, allowHtml, allowImages, gfm, }: MarkdownContentProps): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,8 @@
1
- import { M as E, a as O, b as S } from "../markdown-BD1jcknS.js";
1
+ import { M as E, a as O } from "../markdown-DdqANCiN.js";
2
+ import { MarkdownContent as j } from "../markdown-content-Dk2DSgbf.js";
2
3
  import { jsx as i } from "react/jsx-runtime";
3
- import { c as s } from "react/compiler-runtime";
4
- import { Box as c, Skeleton as p } from "@mui/material";
4
+ import { c } from "react/compiler-runtime";
5
+ import { Box as p, Skeleton as s } from "@mui/material";
5
6
  import "react";
6
7
  import "@mui/icons-material";
7
8
  import "../lasso-tool-YLFRgb-S.js";
@@ -22,15 +23,15 @@ const m = {
22
23
  })
23
24
  };
24
25
  function y(o) {
25
- const e = s(2), {
26
+ const e = c(2), {
26
27
  lines: r
27
28
  } = o, n = r === void 0 ? 5 : r;
28
29
  let t;
29
30
  if (e[0] !== n) {
30
31
  const l = ["100%", "95%", "90%", "85%", "70%"];
31
- t = /* @__PURE__ */ i(c, { sx: m.root, children: Array.from({
32
+ t = /* @__PURE__ */ i(p, { sx: m.root, children: Array.from({
32
33
  length: n
33
- }).map((k, a) => /* @__PURE__ */ i(p, { variant: "rectangular", sx: m.line(l[a % l.length] ?? "85%") }, `line-${a}`)) }), e[0] = n, e[1] = t;
34
+ }).map((k, a) => /* @__PURE__ */ i(s, { variant: "rectangular", sx: m.line(l[a % l.length] ?? "85%") }, `line-${a}`)) }), e[0] = n, e[1] = t;
34
35
  } else
35
36
  t = e[1];
36
37
  return t;
@@ -60,9 +61,9 @@ function I(o) {
60
61
  }
61
62
  export {
62
63
  E as Markdown,
63
- O as MarkdownContent,
64
+ j as MarkdownContent,
64
65
  y as MarkdownSkeleton,
65
- S as MarkdownUI,
66
+ O as MarkdownUI,
66
67
  I as createMarkdownDownloadConfig
67
68
  };
68
69
  //# sourceMappingURL=markdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sources":["../../src/widgets-v2/markdown/skeleton.tsx","../../src/widgets-v2/markdown/download.tsx"],"sourcesContent":["import { Box, Skeleton } from '@mui/material'\nimport type { SxProps, Theme } from '@mui/material'\n\nconst styles = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n py: 1,\n },\n line: (width: string): SxProps<Theme> => ({ width, height: 18 }),\n} as const\n\nexport interface MarkdownSkeletonProps {\n lines?: number\n}\n\nexport function MarkdownSkeleton({ lines = 5 }: MarkdownSkeletonProps) {\n // Vary widths to mimic prose.\n const widths = ['100%', '95%', '90%', '85%', '70%']\n return (\n <Box sx={styles.root}>\n {Array.from({ length: lines }).map((_, i) => (\n <Skeleton\n key={`line-${i}`}\n variant='rectangular'\n sx={styles.line(widths[i % widths.length] ?? '85%')}\n />\n ))}\n </Box>\n )\n}\n","import {\n DOWNLOAD_ITEM_IDS,\n MarkdownIcon,\n buildPngDownloadItem,\n toCsvString,\n triggerLinkDownload,\n type DownloadItem,\n} from '../actions/download'\nimport type { MarkdownWidgetData } from './types'\n\n/**\n * Download menu items for the Markdown widget. Always includes a `.md`\n * item that saves the markdown source verbatim. When `getCaptureEl` is\n * supplied, prepends a PNG item that rasterises the captured element via\n * `html2canvas`.\n */\nexport function createMarkdownDownloadConfig(args: {\n filename: string\n getData: () => MarkdownWidgetData\n getCaptureEl?: () => HTMLElement | null\n pngPixelRatio?: number\n pngBackgroundColor?: string | null\n}): DownloadItem[] {\n const items: DownloadItem[] = []\n if (args.getCaptureEl) {\n items.push(\n buildPngDownloadItem({\n filename: args.filename,\n getCaptureEl: args.getCaptureEl,\n pixelRatio: args.pngPixelRatio,\n backgroundColor: args.pngBackgroundColor,\n }),\n )\n }\n items.push({\n id: DOWNLOAD_ITEM_IDS.markdown,\n label: 'Markdown',\n icon: <MarkdownIcon fontSize='small' />,\n resolve: () => {\n const data = args.getData()\n const blob = new Blob([data.content ?? ''], {\n type: 'text/markdown;charset=utf-8;',\n })\n const url = URL.createObjectURL(blob)\n return Promise.resolve({\n url,\n filename: `${args.filename}.md`,\n revoke: () => URL.revokeObjectURL(url),\n })\n },\n })\n return items\n}\n\n// Re-export pure helpers consumers may want when building a custom Download item.\nexport { toCsvString, triggerLinkDownload }\n"],"names":["styles","root","display","flexDirection","gap","py","line","width","height","MarkdownSkeleton","t0","$","_c","lines","t1","undefined","t2","widths","Box","Array","from","length","map","_","i","jsx","Skeleton","createMarkdownDownloadConfig","args","items","getCaptureEl","push","buildPngDownloadItem","filename","pixelRatio","pngPixelRatio","backgroundColor","pngBackgroundColor","id","DOWNLOAD_ITEM_IDS","markdown","label","icon","MarkdownIcon","resolve","data","getData","blob","Blob","content","type","url","URL","createObjectURL","Promise","revoke","revokeObjectURL"],"mappings":";;;;;;;;;;;AAGA,MAAMA,IAAS;AAAA,EACbC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTC,eAAe;AAAA,IACfC,KAAK;AAAA,IACLC,IAAI;AAAA,EAAA;AAAA,EAENC,MAAMA,CAACC,OAAmC;AAAA,IAAEA,OAAAA;AAAAA,IAAOC,QAAQ;AAAA,EAAA;AAC7D;AAMO,SAAAC,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAA0B;AAAA,IAAAC,OAAAC;AAAAA,EAAAA,IAAAJ,GAAEG,IAAAC,MAAAC,SAAA,IAAAD;AAAS,MAAAE;AAAA,MAAAL,SAAAE,GAAA;AAE1C,UAAAI,IAAe,CAAC,QAAQ,OAAO,OAAO,OAAO,KAAK;AAEhDD,IAAAA,sBAACE,GAAA,EAAQ,IAAAlB,EAAMC,MACZkB,gBAAKC,KAAM;AAAA,MAAAC,QAAUR;AAAAA,IAAAA,CAAO,EAACS,IAAK,CAAAC,GAAAC,MACjC,gBAAAC,EAACC,GAAA,EAES,SAAA,eACJ,IAAA1B,EAAMM,KAAMW,EAAOO,IAAIP,EAAMI,MAAO,KAAxB,KAAkC,KAF7C,QAAQG,CAAC,EAEqC,CAEtD,EAAA,CACH,GAAMb,OAAAE,GAAAF,OAAAK;AAAAA,EAAA;AAAAA,IAAAA,IAAAL,EAAA,CAAA;AAAA,SARNK;AAQM;ACbH,SAASW,EAA6BC,GAM1B;AACjB,QAAMC,IAAwB,CAAA;AAC9B,SAAID,EAAKE,gBACPD,EAAME,KACJC,EAAqB;AAAA,IACnBC,UAAUL,EAAKK;AAAAA,IACfH,cAAcF,EAAKE;AAAAA,IACnBI,YAAYN,EAAKO;AAAAA,IACjBC,iBAAiBR,EAAKS;AAAAA,EAAAA,CACvB,CACH,GAEFR,EAAME,KAAK;AAAA,IACTO,IAAIC,EAAkBC;AAAAA,IACtBC,OAAO;AAAA,IACPC,MAAM,gBAAAjB,EAACkB,GAAA,EAAa,UAAS,QAAA,CAAO;AAAA,IACpCC,SAASA,MAAM;AACb,YAAMC,IAAOjB,EAAKkB,QAAAA,GACZC,IAAO,IAAIC,KAAK,CAACH,EAAKI,WAAW,EAAE,GAAG;AAAA,QAC1CC,MAAM;AAAA,MAAA,CACP,GACKC,IAAMC,IAAIC,gBAAgBN,CAAI;AACpC,aAAOO,QAAQV,QAAQ;AAAA,QACrBO,KAAAA;AAAAA,QACAlB,UAAU,GAAGL,EAAKK,QAAQ;AAAA,QAC1BsB,QAAQA,MAAMH,IAAII,gBAAgBL,CAAG;AAAA,MAAA,CACtC;AAAA,IACH;AAAA,EAAA,CACD,GACMtB;AACT;"}
1
+ {"version":3,"file":"markdown.js","sources":["../../src/widgets-v2/markdown/skeleton.tsx","../../src/widgets-v2/markdown/download.tsx"],"sourcesContent":["import { Box, Skeleton } from '@mui/material'\nimport type { SxProps, Theme } from '@mui/material'\n\nconst styles = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n py: 1,\n },\n line: (width: string): SxProps<Theme> => ({ width, height: 18 }),\n} as const\n\nexport interface MarkdownSkeletonProps {\n lines?: number\n}\n\nexport function MarkdownSkeleton({ lines = 5 }: MarkdownSkeletonProps) {\n // Vary widths to mimic prose.\n const widths = ['100%', '95%', '90%', '85%', '70%']\n return (\n <Box sx={styles.root}>\n {Array.from({ length: lines }).map((_, i) => (\n <Skeleton\n key={`line-${i}`}\n variant='rectangular'\n sx={styles.line(widths[i % widths.length] ?? '85%')}\n />\n ))}\n </Box>\n )\n}\n","import {\n DOWNLOAD_ITEM_IDS,\n MarkdownIcon,\n buildPngDownloadItem,\n toCsvString,\n triggerLinkDownload,\n type DownloadItem,\n} from '../actions/download'\nimport type { MarkdownWidgetData } from './types'\n\n/**\n * Download menu items for the Markdown widget. Always includes a `.md`\n * item that saves the markdown source verbatim. When `getCaptureEl` is\n * supplied, prepends a PNG item that rasterises the captured element via\n * `html2canvas`.\n */\nexport function createMarkdownDownloadConfig(args: {\n filename: string\n getData: () => MarkdownWidgetData\n getCaptureEl?: () => HTMLElement | null\n pngPixelRatio?: number\n pngBackgroundColor?: string | null\n}): DownloadItem[] {\n const items: DownloadItem[] = []\n if (args.getCaptureEl) {\n items.push(\n buildPngDownloadItem({\n filename: args.filename,\n getCaptureEl: args.getCaptureEl,\n pixelRatio: args.pngPixelRatio,\n backgroundColor: args.pngBackgroundColor,\n }),\n )\n }\n items.push({\n id: DOWNLOAD_ITEM_IDS.markdown,\n label: 'Markdown',\n icon: <MarkdownIcon fontSize='small' />,\n resolve: () => {\n const data = args.getData()\n const blob = new Blob([data.content ?? ''], {\n type: 'text/markdown;charset=utf-8;',\n })\n const url = URL.createObjectURL(blob)\n return Promise.resolve({\n url,\n filename: `${args.filename}.md`,\n revoke: () => URL.revokeObjectURL(url),\n })\n },\n })\n return items\n}\n\n// Re-export pure helpers consumers may want when building a custom Download item.\nexport { toCsvString, triggerLinkDownload }\n"],"names":["styles","root","display","flexDirection","gap","py","line","width","height","MarkdownSkeleton","t0","$","_c","lines","t1","undefined","t2","widths","Box","Array","from","length","map","_","i","jsx","Skeleton","createMarkdownDownloadConfig","args","items","getCaptureEl","push","buildPngDownloadItem","filename","pixelRatio","pngPixelRatio","backgroundColor","pngBackgroundColor","id","DOWNLOAD_ITEM_IDS","markdown","label","icon","MarkdownIcon","resolve","data","getData","blob","Blob","content","type","url","URL","createObjectURL","Promise","revoke","revokeObjectURL"],"mappings":";;;;;;;;;;;;AAGA,MAAMA,IAAS;AAAA,EACbC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTC,eAAe;AAAA,IACfC,KAAK;AAAA,IACLC,IAAI;AAAA,EAAA;AAAA,EAENC,MAAMA,CAACC,OAAmC;AAAA,IAAEA,OAAAA;AAAAA,IAAOC,QAAQ;AAAA,EAAA;AAC7D;AAMO,SAAAC,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAA0B;AAAA,IAAAC,OAAAC;AAAAA,EAAAA,IAAAJ,GAAEG,IAAAC,MAAAC,SAAA,IAAAD;AAAS,MAAAE;AAAA,MAAAL,SAAAE,GAAA;AAE1C,UAAAI,IAAe,CAAC,QAAQ,OAAO,OAAO,OAAO,KAAK;AAEhDD,IAAAA,sBAACE,GAAA,EAAQ,IAAAlB,EAAMC,MACZkB,gBAAKC,KAAM;AAAA,MAAAC,QAAUR;AAAAA,IAAAA,CAAO,EAACS,IAAK,CAAAC,GAAAC,MACjC,gBAAAC,EAACC,GAAA,EAES,SAAA,eACJ,IAAA1B,EAAMM,KAAMW,EAAOO,IAAIP,EAAMI,MAAO,KAAxB,KAAkC,KAF7C,QAAQG,CAAC,EAEqC,CAEtD,EAAA,CACH,GAAMb,OAAAE,GAAAF,OAAAK;AAAAA,EAAA;AAAAA,IAAAA,IAAAL,EAAA,CAAA;AAAA,SARNK;AAQM;ACbH,SAASW,EAA6BC,GAM1B;AACjB,QAAMC,IAAwB,CAAA;AAC9B,SAAID,EAAKE,gBACPD,EAAME,KACJC,EAAqB;AAAA,IACnBC,UAAUL,EAAKK;AAAAA,IACfH,cAAcF,EAAKE;AAAAA,IACnBI,YAAYN,EAAKO;AAAAA,IACjBC,iBAAiBR,EAAKS;AAAAA,EAAAA,CACvB,CACH,GAEFR,EAAME,KAAK;AAAA,IACTO,IAAIC,EAAkBC;AAAAA,IACtBC,OAAO;AAAA,IACPC,MAAM,gBAAAjB,EAACkB,GAAA,EAAa,UAAS,QAAA,CAAO;AAAA,IACpCC,SAASA,MAAM;AACb,YAAMC,IAAOjB,EAAKkB,QAAAA,GACZC,IAAO,IAAIC,KAAK,CAACH,EAAKI,WAAW,EAAE,GAAG;AAAA,QAC1CC,MAAM;AAAA,MAAA,CACP,GACKC,IAAMC,IAAIC,gBAAgBN,CAAI;AACpC,aAAOO,QAAQV,QAAQ;AAAA,QACrBO,KAAAA;AAAAA,QACAlB,UAAU,GAAGL,EAAKK,QAAQ;AAAA,QAC1BsB,QAAQA,MAAMH,IAAII,gBAAgBL,CAAG;AAAA,MAAA,CACtC;AAAA,IACH;AAAA,EAAA,CACD,GACMtB;AACT;"}
@@ -14,11 +14,12 @@ import "./cjs-D4KH3azB.js";
14
14
  import { T as Xe } from "./tooltip-BDnrRKrp.js";
15
15
  import "@carto/ps-utils";
16
16
  import { o as Ze, a as Ke, E as Ye } from "./echart-Bdvbfx9s.js";
17
- import { D as Wn } from "./echart-Bdvbfx9s.js";
18
- import { a as Je, b as Qe, M as et } from "./markdown-BD1jcknS.js";
19
- import { C as tt, L as nt, F as ot, j as rt, R as it, B as lt, Z as st, m as at, n as ct, l as dt, k as ft } from "./change-column-CiVAjOUB.js";
17
+ import { D as $n } from "./echart-Bdvbfx9s.js";
18
+ import { MarkdownContent as Je } from "./markdown-content-Dk2DSgbf.js";
19
+ import { C as Qe, L as et, F as tt, j as nt, R as ot, B as rt, Z as it, m as lt, n as st, l as at, k as ct } from "./change-column-CiVAjOUB.js";
20
20
  import "html2canvas";
21
- import { a as pt, F as mt } from "./formula-DuC0NQLH.js";
21
+ import { a as dt, F as ft } from "./formula-DuC0NQLH.js";
22
+ import { a as pt, M as mt } from "./markdown-DdqANCiN.js";
22
23
  import "react-markdown";
23
24
  import { b as ut, a as gt } from "./spread-4MYPOntd.js";
24
25
  import { a as ht, R as yt } from "./range-l4fNHLEg.js";
@@ -902,7 +903,7 @@ function ye(t) {
902
903
  function tn(t) {
903
904
  return !t;
904
905
  }
905
- const In = {
906
+ const Ln = {
906
907
  // Composition shell
907
908
  Provider: wt,
908
909
  Wrapper: kt,
@@ -919,25 +920,25 @@ const In = {
919
920
  Echart: Ye,
920
921
  EchartUI: Ke,
921
922
  // Actions
922
- Searcher: ft,
923
- SearcherToggle: dt,
924
- StackToggle: ct,
925
- ShowAllToggle: at,
926
- ZoomToggle: st,
927
- BrushToggle: lt,
928
- RelativeData: it,
929
- Download: rt,
930
- FullScreen: ot,
931
- LockSelection: nt,
932
- ChangeColumn: tt,
923
+ Searcher: ct,
924
+ SearcherToggle: at,
925
+ StackToggle: st,
926
+ ShowAllToggle: lt,
927
+ ZoomToggle: it,
928
+ BrushToggle: rt,
929
+ RelativeData: ot,
930
+ Download: nt,
931
+ FullScreen: tt,
932
+ LockSelection: et,
933
+ ChangeColumn: Qe,
933
934
  // Widget primitives (renderer bridges + pure UI). Pre-composed widget
934
935
  // modules (Bar, FormulaWidget, TableWidget, etc.) are application-level
935
936
  // compositions of these primitives and live outside the library —
936
937
  // see `apps/storybook/stories/modules/widgets/` for canonical examples.
937
- Formula: mt,
938
- FormulaUI: pt,
939
- Markdown: et,
940
- MarkdownUI: Qe,
938
+ Formula: ft,
939
+ FormulaUI: dt,
940
+ Markdown: mt,
941
+ MarkdownUI: pt,
941
942
  Spread: gt,
942
943
  SpreadUI: ut,
943
944
  Range: yt,
@@ -948,12 +949,12 @@ const In = {
948
949
  TableUI: vt
949
950
  };
950
951
  export {
951
- Wn as DEFAULT_INIT_OPTS,
952
+ $n as DEFAULT_INIT_OPTS,
952
953
  Kt as DEFAULT_NOTE_LABELS,
953
954
  Nt as DEFAULT_SELECTION_SUMMARY_LABELS,
954
955
  Dt as DEFAULT_STATE_LABELS,
955
956
  zt as DEFAULT_TOOLBOX_LABELS,
956
957
  Tt as DEFAULT_WRAPPER_LABELS,
957
- In as Widget
958
+ Ln as Widget
958
959
  };
959
960
  //# sourceMappingURL=widgets-v2.js.map