@carto/ps-react-ui 4.11.2 → 4.12.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 (82) hide show
  1. package/dist/chat.js +962 -733
  2. package/dist/chat.js.map +1 -1
  3. package/dist/csv-item-hH_Gt7ur.js +32 -0
  4. package/dist/csv-item-hH_Gt7ur.js.map +1 -0
  5. package/dist/png-item-9dNbB37T.js +57 -0
  6. package/dist/png-item-9dNbB37T.js.map +1 -0
  7. package/dist/table-B3ZWWhJt.js +383 -0
  8. package/dist/table-B3ZWWhJt.js.map +1 -0
  9. package/dist/types/chat/containers/chat-footer.d.ts +1 -1
  10. package/dist/types/chat/containers/styles.d.ts +79 -12
  11. package/dist/types/chat/index.d.ts +1 -1
  12. package/dist/types/chat/types.d.ts +21 -0
  13. package/dist/types/chat/use-typewriter.d.ts +5 -3
  14. package/dist/types/widgets-v2/actions/download/constants.d.ts +12 -0
  15. package/dist/types/widgets-v2/actions/download/csv-item.d.ts +38 -0
  16. package/dist/types/widgets-v2/actions/download/icons.d.ts +6 -0
  17. package/dist/types/widgets-v2/actions/download/index.d.ts +3 -1
  18. package/dist/types/widgets-v2/actions/index.d.ts +1 -1
  19. package/dist/types/widgets-v2/wrapper/style.d.ts +5 -12
  20. package/dist/widgets-v2/actions.js +40 -36
  21. package/dist/widgets-v2/actions.js.map +1 -1
  22. package/dist/widgets-v2/bar.js +77 -84
  23. package/dist/widgets-v2/bar.js.map +1 -1
  24. package/dist/widgets-v2/category.js +50 -55
  25. package/dist/widgets-v2/category.js.map +1 -1
  26. package/dist/widgets-v2/formula.js +37 -43
  27. package/dist/widgets-v2/formula.js.map +1 -1
  28. package/dist/widgets-v2/histogram.js +138 -144
  29. package/dist/widgets-v2/histogram.js.map +1 -1
  30. package/dist/widgets-v2/markdown.js +18 -17
  31. package/dist/widgets-v2/markdown.js.map +1 -1
  32. package/dist/widgets-v2/pie.js +67 -73
  33. package/dist/widgets-v2/pie.js.map +1 -1
  34. package/dist/widgets-v2/scatterplot.js +75 -81
  35. package/dist/widgets-v2/scatterplot.js.map +1 -1
  36. package/dist/widgets-v2/spread.js +36 -41
  37. package/dist/widgets-v2/spread.js.map +1 -1
  38. package/dist/widgets-v2/table.js +46 -55
  39. package/dist/widgets-v2/table.js.map +1 -1
  40. package/dist/widgets-v2/timeseries.js +81 -87
  41. package/dist/widgets-v2/timeseries.js.map +1 -1
  42. package/dist/widgets-v2.js +247 -243
  43. package/dist/widgets-v2.js.map +1 -1
  44. package/package.json +3 -3
  45. package/src/chat/bubbles/styles.ts +5 -1
  46. package/src/chat/containers/chat-content.tsx +4 -1
  47. package/src/chat/containers/chat-footer.test.tsx +59 -0
  48. package/src/chat/containers/chat-footer.tsx +124 -36
  49. package/src/chat/containers/styles.ts +107 -16
  50. package/src/chat/feedback/styles.ts +11 -4
  51. package/src/chat/index.ts +1 -0
  52. package/src/chat/types.ts +22 -0
  53. package/src/chat/use-typewriter.ts +32 -24
  54. package/src/widgets-v2/actions/download/constants.ts +14 -0
  55. package/src/widgets-v2/actions/download/csv-item.test.tsx +77 -0
  56. package/src/widgets-v2/actions/download/csv-item.tsx +71 -0
  57. package/src/widgets-v2/actions/download/icons.tsx +10 -1
  58. package/src/widgets-v2/actions/download/index.ts +3 -1
  59. package/src/widgets-v2/actions/download/png-item.tsx +2 -1
  60. package/src/widgets-v2/actions/index.ts +5 -0
  61. package/src/widgets-v2/bar/download.tsx +16 -22
  62. package/src/widgets-v2/category/download.test.ts +9 -0
  63. package/src/widgets-v2/category/download.ts +16 -20
  64. package/src/widgets-v2/formula/download.tsx +23 -29
  65. package/src/widgets-v2/histogram/download.ts +22 -26
  66. package/src/widgets-v2/markdown/{download.ts → download.tsx} +5 -2
  67. package/src/widgets-v2/pie/download.ts +16 -20
  68. package/src/widgets-v2/scatterplot/download.ts +16 -20
  69. package/src/widgets-v2/spread/download.ts +23 -27
  70. package/src/widgets-v2/table/download.test.ts +10 -0
  71. package/src/widgets-v2/table/download.ts +11 -15
  72. package/src/widgets-v2/table/helpers.test.ts +19 -0
  73. package/src/widgets-v2/table/helpers.ts +7 -12
  74. package/src/widgets-v2/timeseries/download.ts +36 -40
  75. package/src/widgets-v2/wrapper/style.ts +13 -18
  76. package/src/widgets-v2/wrapper/widget-wrapper.test.tsx +66 -0
  77. package/src/widgets-v2/wrapper/widget-wrapper.tsx +7 -4
  78. package/dist/png-item-BE9uEqlD.js +0 -45
  79. package/dist/png-item-BE9uEqlD.js.map +0 -1
  80. package/dist/table-C9IMbTr0.js +0 -385
  81. package/dist/table-C9IMbTr0.js.map +0 -1
  82. package/dist/types/chat/feedback/styles.d.ts +0 -211
@@ -18,24 +18,91 @@ export declare const styles: {
18
18
  };
19
19
  footerWrapper: {
20
20
  padding: ({ spacing }: Theme) => string;
21
- position: "relative";
22
- };
23
- footerCorner: {
24
- position: "absolute";
25
- bottom: string;
26
- right: string;
27
- margin: string;
28
21
  };
29
- footer: {
22
+ /**
23
+ * Rounded input box, matching the reference ChatFooter. A two-column grid:
24
+ * main column (input + optional slots) | send button, bottom-aligned so it
25
+ * stays at the end as the input grows. NO vertical padding — the textarea's own
26
+ * padding sets the ~32px single-line height, so the box hugs the input.
27
+ */
28
+ footerBox: {
30
29
  maxWidth: number;
30
+ width: string;
31
31
  margin: string;
32
- '&.MuiFilledInput-root.MuiInputBase-multiline.MuiInputBase-sizeSmall textarea': {
32
+ display: "grid";
33
+ gridTemplateColumns: string;
34
+ alignItems: "end";
35
+ columnGap: ({ spacing }: Theme) => string;
36
+ backgroundColor: ({ palette }: Theme) => string;
37
+ borderRadius: ({ spacing }: Theme) => string;
38
+ paddingInline: ({ spacing }: Theme) => string;
39
+ };
40
+ /** Main grid area: input stacked above the (optional) slots row. */
41
+ footerMain: {
42
+ minWidth: number;
43
+ display: "flex";
44
+ flexDirection: "column";
45
+ gap: ({ spacing }: Theme) => string;
46
+ };
47
+ /**
48
+ * Send-button grid area, bottom-aligned (matches the reference flex-end row) so
49
+ * the button stays at the bottom as the input grows. The small bottom padding
50
+ * keeps it off the box edge — in the single-line state it reads as vertically
51
+ * centered (4px top / 4px bottom around the 24px button in the 32px row).
52
+ */
53
+ footerSend: {
54
+ alignSelf: "end";
55
+ paddingBottom: ({ spacing }: Theme) => string;
56
+ '& .MuiIconButton-root': {
57
+ padding: ({ spacing }: Theme) => string;
58
+ };
59
+ };
60
+ /** The chrome-less multiline input (no underline / no filled affordance). */
61
+ footerInput: {
62
+ width: string;
63
+ typography: string;
64
+ minHeight: string;
65
+ '& textarea': {
66
+ fontSize: ({ typography }: Theme) => string;
67
+ lineHeight: ({ typography }: Theme) => string;
68
+ letterSpacing: ({ typography }: Theme) => string;
69
+ };
70
+ '& textarea:not([aria-hidden])': {
33
71
  resize: "none";
34
- maxHeight: string;
35
- overflowY: "auto !important";
36
- paddingRight: ({ spacing }: Theme) => string;
72
+ padding: ({ spacing }: Theme) => string;
37
73
  };
38
74
  };
75
+ /**
76
+ * Slots row under the input: start slot + model selector + end slot. The left
77
+ * padding lines the row's content up with the input text above it: the input
78
+ * text is inset ~12px from the box edge (InputBase root padding + the textarea's
79
+ * 10px left padding) while the model-selector text button only insets ~8px, so a
80
+ * 4px indent here makes the slot label share the placeholder's left edge instead
81
+ * of sitting further out.
82
+ */
83
+ footerSlots: {
84
+ display: "flex";
85
+ alignItems: "center";
86
+ gap: ({ spacing }: Theme) => string;
87
+ minWidth: number;
88
+ flexWrap: "wrap";
89
+ paddingLeft: ({ spacing }: Theme) => string;
90
+ paddingBottom: ({ spacing }: Theme) => string;
91
+ };
92
+ modelSelector: {
93
+ textTransform: "none";
94
+ color: ({ palette }: Theme) => string;
95
+ maxWidth: string;
96
+ minWidth: number;
97
+ '& .MuiButton-endIcon': {
98
+ marginLeft: ({ spacing }: Theme) => string;
99
+ };
100
+ };
101
+ modelSelectorLabel: {
102
+ overflow: "hidden";
103
+ textOverflow: "ellipsis";
104
+ whiteSpace: "nowrap";
105
+ };
39
106
  footerCaption: {
40
107
  textAlign: "center";
41
108
  };
@@ -1,4 +1,4 @@
1
- export type { ChatSxProps, ChatErrorAction, ChatUserMessageProps, ChatAgentMessageProps, ChatErrorMessageProps, ChatSuggestionButtonProps, ChatThinkingProps, ChatLoaderProps, ChatContentProps, ChatContentRef, ChatHeaderProps, ChatFooterProps, ChatStarterItem, ChatStarterProps, ChatRatingActionProps, ChatToolItem, ChatToolTraceProps, ChatToolCodeAreaProps, ChatToolFullViewDialogProps, ChatToolGroupProps, } from './types';
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';
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';
@@ -91,9 +91,30 @@ export interface ChatFooterProps extends ChatSxProps {
91
91
  send?: string;
92
92
  /** Defaults to `'Stop'`. */
93
93
  stop?: string;
94
+ /** `aria-label` for the model-selector trigger. Defaults to `'Select model'`. */
95
+ model?: string;
94
96
  };
95
97
  /** Helper text rendered under the input. Defaults to an AI disclaimer; pass `null` to hide. */
96
98
  caption?: ReactNode;
99
+ /**
100
+ * Selectable models for the in-toolbar model selector. The selector is only
101
+ * rendered when this is a non-empty array; the component is otherwise
102
+ * model-agnostic (the host owns the list, selection, and default).
103
+ */
104
+ models?: ChatModelOption[];
105
+ /** Currently selected model `value`. Controlled — the host owns the state. */
106
+ selectedModel?: string;
107
+ /** Called with the picked model `value` when the user selects one. */
108
+ onModelChange?: (value: string) => void;
109
+ /** Extra controls rendered at the start (left) of the toolbar, before the model selector. */
110
+ startToolbarSlot?: ReactNode;
111
+ /** Extra controls rendered at the end (right) of the toolbar, before the send/stop button. */
112
+ endToolbarSlot?: ReactNode;
113
+ }
114
+ /** An option for the `ChatFooter` model selector. */
115
+ export interface ChatModelOption {
116
+ value: string;
117
+ label: string;
97
118
  }
98
119
  export interface ChatStarterItem {
99
120
  label: string;
@@ -1,7 +1,7 @@
1
1
  interface UseTypewriterOptions {
2
2
  /** Characters revealed per second (default: `500`). */
3
3
  speed?: number;
4
- /** When true on mount, skip the animation and reveal the full text immediately. */
4
+ /** When true, reveal the full text immediately (and snap to it if it grows). */
5
5
  skipAnimation?: boolean;
6
6
  }
7
7
  interface UseTypewriterResult {
@@ -12,8 +12,10 @@ interface UseTypewriterResult {
12
12
  }
13
13
  /**
14
14
  * Reveals a string character-by-character at a steady rate via
15
- * `requestAnimationFrame`. Useful for smoothing out bursty WebSocket-streamed
16
- * agent message text pair it with `ChatAgentMessage`.
15
+ * `requestAnimationFrame`. Designed for bursty, streamed agent text: as
16
+ * `fullText` grows the reveal keeps chasing the new end, and flipping
17
+ * `skipAnimation` to `true` (e.g. once generation finishes) snaps to the full
18
+ * text. Pair it with `ChatAgentMessage`.
17
19
  *
18
20
  * @example
19
21
  * ```tsx
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Canonical `DownloadItem.id`s for the built-in download formats. Centralised
3
+ * so the per-format builders — and anything that keys off the id (menu logic,
4
+ * tests) — reference one source of truth instead of re-typing string literals.
5
+ * The Markdown format keeps the short `'md'` id to match its `.md` extension.
6
+ */
7
+ export declare const DOWNLOAD_ITEM_IDS: {
8
+ readonly png: "png";
9
+ readonly csv: "csv";
10
+ readonly markdown: "md";
11
+ };
12
+ export type DownloadItemId = (typeof DOWNLOAD_ITEM_IDS)[keyof typeof DOWNLOAD_ITEM_IDS];
@@ -0,0 +1,38 @@
1
+ import { DownloadItem } from './types';
2
+ interface BuildCsvDownloadItemBase {
3
+ /** Base filename (without extension). The item appends `.csv`. */
4
+ filename: string;
5
+ /** Override the menu label. Default `'CSV'`. */
6
+ label?: string;
7
+ }
8
+ /**
9
+ * Args for {@link buildCsvDownloadItem}. A discriminated union: a caller must
10
+ * supply exactly one content source — `getRows` (rows serialised through the
11
+ * shared `toCsvString`) or `getCsv` (a pre-built CSV string). The `?: never`
12
+ * arms make passing both — or neither — a compile-time error.
13
+ */
14
+ export type BuildCsvDownloadItemArgs = (BuildCsvDownloadItemBase & {
15
+ /**
16
+ * Builds the CSV rows at click time. Used by most widgets — rows are run
17
+ * through `toCsvString` so escaping (incl. the spreadsheet
18
+ * formula-injection guard) stays consistent across widgets.
19
+ */
20
+ getRows: () => readonly (readonly unknown[])[];
21
+ getCsv?: never;
22
+ }) | (BuildCsvDownloadItemBase & {
23
+ /**
24
+ * Returns a pre-built CSV string at click time. Escape hatch for widgets
25
+ * (e.g. Table) that already serialise their own CSV with bespoke
26
+ * header/cell handling.
27
+ */
28
+ getCsv: () => string;
29
+ getRows?: never;
30
+ });
31
+ /**
32
+ * Builds the standard CSV `DownloadItem` used by every per-widget download
33
+ * config. Centralised so the menu label, icon, and `.csv` filename suffix stay
34
+ * consistent across widgets — mirrors {@link buildPngDownloadItem} so neither
35
+ * format can drift again.
36
+ */
37
+ export declare function buildCsvDownloadItem(args: BuildCsvDownloadItemArgs): DownloadItem;
38
+ export {};
@@ -5,6 +5,12 @@ import { SvgIconProps } from '@mui/material';
5
5
  * config's `icon` override without pulling MUI directly.
6
6
  */
7
7
  export declare function PNGIcon(props: SvgIconProps): import("react/jsx-runtime").JSX.Element;
8
+ /**
9
+ * Generic "document" glyph used for the Markdown download item. Wraps MUI's
10
+ * `ArticleOutlined`, mirroring {@link PNGIcon}, so the Markdown menu item
11
+ * carries an icon consistent with the other download formats.
12
+ */
13
+ export declare function MarkdownIcon(props: SvgIconProps): import("react/jsx-runtime").JSX.Element;
8
14
  /**
9
15
  * "CSV" rectangle with the letters spelled inside — matches v1 visual and is
10
16
  * easier to recognise in a download menu than a generic table glyph.
@@ -1,6 +1,8 @@
1
1
  export { Download, type DownloadProps } from './download';
2
2
  export { downloadToCSV, downloadDOMToPNG, toCsvString, triggerLinkDownload, type DownloadHandle, type DownloadDOMToPNGOptions, } from './exports';
3
- export { CSVIcon, PNGIcon } from './icons';
3
+ export { CSVIcon, PNGIcon, MarkdownIcon } from './icons';
4
4
  export { buildPngDownloadItem, type BuildPngDownloadItemArgs } from './png-item';
5
+ export { buildCsvDownloadItem, type BuildCsvDownloadItemArgs } from './csv-item';
6
+ export { DOWNLOAD_ITEM_IDS, type DownloadItemId } from './constants';
5
7
  export type { DownloadItem } from './types';
6
8
  export { DEFAULT_DOWNLOAD_LABELS, type DownloadLabels } from './labels';
@@ -4,7 +4,7 @@ export { ShowAllToggle, setShowAll, SHOW_ALL_ID, DEFAULT_SHOW_ALL_LABELS, type S
4
4
  export { ZoomToggle, addZoom, createAddZoom, ZOOM_LAYOUT, DEFAULT_ZOOM_TOGGLE_LABELS, type ZoomToggleProps, type ZoomToggleLabels, } from './zoom-toggle';
5
5
  export { BrushToggle, addBrush, DEFAULT_BRUSH_TOGGLE_LABELS, type BrushToggleProps, type BrushToggleLabels, } from './brush-toggle';
6
6
  export { RelativeData, toRelativeData, createPercentFormatter, DEFAULT_RELATIVE_DATA_LABELS, type RelativeDataProps, type RelativeDataLabels, } from './relative-data';
7
- export { Download, downloadToCSV, downloadDOMToPNG, toCsvString, triggerLinkDownload, buildPngDownloadItem, CSVIcon, PNGIcon, DEFAULT_DOWNLOAD_LABELS, type DownloadProps, type DownloadItem, type DownloadHandle, type DownloadDOMToPNGOptions, type BuildPngDownloadItemArgs, type DownloadLabels, } from './download';
7
+ export { Download, downloadToCSV, downloadDOMToPNG, toCsvString, triggerLinkDownload, buildPngDownloadItem, buildCsvDownloadItem, CSVIcon, PNGIcon, MarkdownIcon, DEFAULT_DOWNLOAD_LABELS, DOWNLOAD_ITEM_IDS, type DownloadProps, type DownloadItem, type DownloadItemId, type DownloadHandle, type DownloadDOMToPNGOptions, type BuildPngDownloadItemArgs, type BuildCsvDownloadItemArgs, type DownloadLabels, } from './download';
8
8
  export { FullScreen, DEFAULT_FULLSCREEN_LABELS, type FullScreenTriggerProps, type FullScreenSlotProps, type FullScreenLabels, type FullScreenWidgetState, } from './fullscreen';
9
9
  export { LockSelection, filterByLockedItems, DEFAULT_LOCK_SELECTION_LABELS, type LockSelectionProps, type LockSelectionKey, type LockSelectionLabels, } from './lock-selection';
10
10
  export { ChangeColumn, DEFAULT_CHANGE_COLUMN_LABELS, type ChangeColumnProps, type ChangeColumnItem, type ChangeColumnLabels, type ChangeColumnWidgetState, } from './change-column';
@@ -31,18 +31,6 @@ export declare const styles: {
31
31
  opacity: number;
32
32
  };
33
33
  };
34
- '&.Mui-disabled': {
35
- pointerEvents: "none";
36
- bgcolor: "background.paper";
37
- '& .MuiAccordionSummary-root.Mui-disabled': {
38
- opacity: number;
39
- color: "inherit";
40
- backgroundColor: "transparent";
41
- };
42
- '& .MuiAccordionSummary-expandIconWrapper': {
43
- display: "none";
44
- };
45
- };
46
34
  };
47
35
  loading: {
48
36
  position: "absolute";
@@ -60,6 +48,11 @@ export declare const styles: {
60
48
  alignItems: "center";
61
49
  };
62
50
  };
51
+ summaryDisabled: {
52
+ '&, &:hover:not(.Mui-disabled)': {
53
+ cursor: "default";
54
+ };
55
+ };
63
56
  titleCell: {
64
57
  flexGrow: number;
65
58
  flexShrink: number;
@@ -1,47 +1,51 @@
1
- import { B as s, C as e, D as o, a as A, b as E, c as S, d as t, e as _, f as r, g as T, h as l, i as D, j as d, F as c, L as g, R as n, S as B, k as O, l as C, m as F, n as U, Z as m, o as h, p as i, q as G, r as R, s as f, t as w, u as I, v as N } from "../change-column-DjjwoPt1.js";
2
- import { Z as k, a as u, c as x } from "../transforms-Cdx4fkU5.js";
3
- import { d as H, a as P, t as b, b as v } from "../exports-Cx-f6m6U.js";
4
- import { C as V, P as W, b as y } from "../png-item-BE9uEqlD.js";
1
+ import { B as L, C as o, D as e, a as A, b as E, c as r, d as t, e as S, f as _, g as T, h as l, i as D, j as d, F as n, L as c, R as O, S as g, k as B, l as C, m, n as F, Z as U, o as i, p as I, q as h, r as w, s as G, t as f, u as N, v as R } from "../change-column-DjjwoPt1.js";
2
+ import { Z as u, a as x, c as M } from "../transforms-Cdx4fkU5.js";
3
+ import { d as b, a as p, t as v, b as H } from "../exports-Cx-f6m6U.js";
4
+ import { C as W, D as V, M as y, P as K, b as j } from "../png-item-9dNbB37T.js";
5
+ import { b as Y } from "../csv-item-hH_Gt7ur.js";
5
6
  export {
6
- s as BrushToggle,
7
- V as CSVIcon,
8
- e as ChangeColumn,
9
- o as DEFAULT_BRUSH_TOGGLE_LABELS,
7
+ L as BrushToggle,
8
+ W as CSVIcon,
9
+ o as ChangeColumn,
10
+ e as DEFAULT_BRUSH_TOGGLE_LABELS,
10
11
  A as DEFAULT_CHANGE_COLUMN_LABELS,
11
12
  E as DEFAULT_DOWNLOAD_LABELS,
12
- S as DEFAULT_FULLSCREEN_LABELS,
13
+ r as DEFAULT_FULLSCREEN_LABELS,
13
14
  t as DEFAULT_LOCK_SELECTION_LABELS,
14
- _ as DEFAULT_RELATIVE_DATA_LABELS,
15
- r as DEFAULT_SEARCHER_LABELS,
15
+ S as DEFAULT_RELATIVE_DATA_LABELS,
16
+ _ as DEFAULT_SEARCHER_LABELS,
16
17
  T as DEFAULT_SHOW_ALL_LABELS,
17
18
  l as DEFAULT_STACK_TOGGLE_LABELS,
18
19
  D as DEFAULT_ZOOM_TOGGLE_LABELS,
20
+ V as DOWNLOAD_ITEM_IDS,
19
21
  d as Download,
20
- c as FullScreen,
21
- g as LockSelection,
22
- W as PNGIcon,
23
- n as RelativeData,
24
- B as SHOW_ALL_ID,
25
- O as Searcher,
22
+ n as FullScreen,
23
+ c as LockSelection,
24
+ y as MarkdownIcon,
25
+ K as PNGIcon,
26
+ O as RelativeData,
27
+ g as SHOW_ALL_ID,
28
+ B as Searcher,
26
29
  C as SearcherToggle,
27
- F as ShowAllToggle,
28
- U as StackToggle,
29
- k as ZOOM_LAYOUT,
30
- m as ZoomToggle,
31
- h as addBrush,
32
- i as addStack,
33
- u as addZoom,
34
- y as buildPngDownloadItem,
35
- x as createAddZoom,
36
- G as createPercentFormatter,
37
- H as downloadDOMToPNG,
38
- P as downloadToCSV,
39
- R as filterByLockedItems,
40
- f as filterBySearchText,
41
- w as setSearcherText,
42
- I as setShowAll,
43
- b as toCsvString,
44
- N as toRelativeData,
45
- v as triggerLinkDownload
30
+ m as ShowAllToggle,
31
+ F as StackToggle,
32
+ u as ZOOM_LAYOUT,
33
+ U as ZoomToggle,
34
+ i as addBrush,
35
+ I as addStack,
36
+ x as addZoom,
37
+ Y as buildCsvDownloadItem,
38
+ j as buildPngDownloadItem,
39
+ M as createAddZoom,
40
+ h as createPercentFormatter,
41
+ b as downloadDOMToPNG,
42
+ p as downloadToCSV,
43
+ w as filterByLockedItems,
44
+ G as filterBySearchText,
45
+ f as setSearcherText,
46
+ N as setShowAll,
47
+ v as toCsvString,
48
+ R as toRelativeData,
49
+ H as triggerLinkDownload
46
50
  };
47
51
  //# sourceMappingURL=actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"actions.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}