@carto/ps-react-ui 5.0.0-widgets.3 → 5.0.0-widgets.5

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 (40) hide show
  1. package/dist/note-Clng2ej6.js +124 -0
  2. package/dist/note-Clng2ej6.js.map +1 -0
  3. package/dist/types/widgets/echart/types.d.ts +1 -0
  4. package/dist/types/widgets/index.d.ts +2 -0
  5. package/dist/types/widgets/note/index.d.ts +2 -2
  6. package/dist/types/widgets/note/note.d.ts +2 -2
  7. package/dist/types/widgets/note/types.d.ts +1 -1
  8. package/dist/types/widgets/selection-summary/index.d.ts +2 -2
  9. package/dist/types/widgets/selection-summary/selection-summary.d.ts +2 -2
  10. package/dist/types/widgets/selection-summary/types.d.ts +1 -1
  11. package/dist/types/widgets/subheader/index.d.ts +2 -2
  12. package/dist/types/widgets/subheader/subheader.d.ts +2 -2
  13. package/dist/types/widgets/subheader/types.d.ts +1 -1
  14. package/dist/widgets/actions.js +22 -21
  15. package/dist/widgets/actions.js.map +1 -1
  16. package/dist/widgets/bar.js +7 -6
  17. package/dist/widgets/bar.js.map +1 -1
  18. package/dist/widgets/category.js +9 -8
  19. package/dist/widgets/category.js.map +1 -1
  20. package/dist/widgets/formula.js +16 -15
  21. package/dist/widgets/formula.js.map +1 -1
  22. package/dist/widgets/histogram.js +53 -52
  23. package/dist/widgets/histogram.js.map +1 -1
  24. package/dist/widgets/note.js +2 -121
  25. package/dist/widgets/note.js.map +1 -1
  26. package/dist/widgets/pie.js +7 -6
  27. package/dist/widgets/pie.js.map +1 -1
  28. package/dist/widgets/scatterplot.js +7 -6
  29. package/dist/widgets/scatterplot.js.map +1 -1
  30. package/dist/widgets/selection-summary.js +3 -3
  31. package/dist/widgets/selection-summary.js.map +1 -1
  32. package/dist/widgets/spread.js +18 -17
  33. package/dist/widgets/spread.js.map +1 -1
  34. package/dist/widgets/subheader.js +6 -6
  35. package/dist/widgets/subheader.js.map +1 -1
  36. package/dist/widgets/timeseries.js +7 -6
  37. package/dist/widgets/timeseries.js.map +1 -1
  38. package/dist/widgets.js +4 -2
  39. package/dist/widgets.js.map +1 -1
  40. package/package.json +1 -1
@@ -1,124 +1,5 @@
1
- import { jsx as d, jsxs as N } from "react/jsx-runtime";
2
- import { c as W } from "react/compiler-runtime";
3
- import { useState as _, useRef as j, useEffectEvent as z, useEffect as M } from "react";
4
- import { Button as F, Box as C, Link as H, Typography as P } from "@mui/material";
5
- import U from "react-markdown";
6
- const L = {
7
- root: {
8
- typography: "caption",
9
- color: (n) => n.palette.text.secondary,
10
- marginBlockStart: ({
11
- spacing: n
12
- }) => n(1)
13
- },
14
- clamped: {
15
- display: "-webkit-box",
16
- WebkitLineClamp: 3,
17
- WebkitBoxOrient: "vertical",
18
- overflow: "hidden"
19
- },
20
- expanded: {
21
- display: "block"
22
- },
23
- linkButton: {
24
- padding: 0,
25
- minWidth: "auto",
26
- textTransform: "none",
27
- typography: "caption",
28
- fontWeight: 500,
29
- textDecoration: "none",
30
- "&:hover": {
31
- backgroundColor: "transparent"
32
- }
33
- }
34
- }, R = {
35
- showMore: "Show More",
36
- showLess: "Show Less"
37
- }, l = (n) => {
38
- const e = W(2), {
39
- children: t
40
- } = n;
41
- let r;
42
- return e[0] !== t ? (r = /* @__PURE__ */ d(P, { paragraph: !0, color: "inherit", variant: "caption", children: t }), e[0] = t, e[1] = r) : r = e[1], r;
43
- }, $ = {
44
- h1: l,
45
- h2: l,
46
- h3: l,
47
- p: l,
48
- a: ({
49
- children: n,
50
- href: e,
51
- target: t = "_blank",
52
- rel: r = "noopener noreferrer"
53
- }) => /* @__PURE__ */ d(H, { href: e, target: t, rel: r, color: "text.primary", underline: "always", children: n }),
54
- img: () => null,
55
- ul: l,
56
- ol: l,
57
- li: l
58
- };
59
- function Q(n) {
60
- const e = W(27), {
61
- children: t,
62
- labels: r
63
- } = n, S = r === void 0 ? R : r, [o, A] = _(!1), [E, D] = _(!1), p = j(null);
64
- let m;
65
- e[0] === Symbol.for("react.memo_cache_sentinel") ? (m = () => {
66
- if (p.current) {
67
- const v = p.current.scrollHeight > p.current.clientHeight;
68
- D(v);
69
- }
70
- }, e[0] = m) : m = e[0];
71
- const s = z(m);
72
- let u;
73
- e[1] !== s ? (u = () => {
74
- s();
75
- }, e[1] = s, e[2] = u) : u = e[2];
76
- let g;
77
- e[3] !== t ? (g = [t], e[3] = t, e[4] = g) : g = e[4], M(u, g);
78
- let x;
79
- e[5] !== s ? (x = () => {
80
- const v = p.current;
81
- if (!v)
82
- return;
83
- const O = new ResizeObserver(() => {
84
- s();
85
- });
86
- return O.observe(v), () => {
87
- O.disconnect();
88
- };
89
- }, e[5] = s, e[6] = x) : x = e[6];
90
- let w;
91
- if (e[7] === Symbol.for("react.memo_cache_sentinel") ? (w = [], e[7] = w) : w = e[7], M(x, w), !t)
92
- return null;
93
- let b;
94
- e[8] !== o ? (b = () => {
95
- A(!o);
96
- }, e[8] = o, e[9] = b) : b = e[9];
97
- const T = b;
98
- let y;
99
- e[10] !== S ? (y = {
100
- ...R,
101
- ...S
102
- }, e[10] = S, e[11] = y) : y = e[11];
103
- const i = y, B = o ? L.expanded : L.clamped;
104
- let c;
105
- e[12] !== B ? (c = {
106
- ...L.root,
107
- ...B
108
- }, e[12] = B, e[13] = c) : c = e[13];
109
- let a;
110
- e[14] !== t ? (a = /* @__PURE__ */ d(U, { components: $, children: t }), e[14] = t, e[15] = a) : a = e[15];
111
- let f;
112
- e[16] !== c || e[17] !== a ? (f = /* @__PURE__ */ d(C, { ref: p, sx: c, children: a }), e[16] = c, e[17] = a, e[18] = f) : f = e[18];
113
- let h;
114
- e[19] !== T || e[20] !== o || e[21] !== i || e[22] !== E ? (h = (E || o) && /* @__PURE__ */ d(F, { onClick: T, variant: "text", color: "primary", sx: L.linkButton, "aria-expanded": o, "aria-label": o ? i.showLess : i.showMore, "aria-controls": "note-content", children: o ? i.showLess : i.showMore }), e[19] = T, e[20] = o, e[21] = i, e[22] = E, e[23] = h) : h = e[23];
115
- let k;
116
- return e[24] !== f || e[25] !== h ? (k = /* @__PURE__ */ N(C, { children: [
117
- f,
118
- h
119
- ] }), e[24] = f, e[25] = h, e[26] = k) : k = e[26], k;
120
- }
1
+ import { W as t } from "../note-Clng2ej6.js";
121
2
  export {
122
- Q as Note
3
+ t as WidgetNote
123
4
  };
124
5
  //# sourceMappingURL=note.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"note.js","sources":["../../src/widgets/note/style.ts","../../src/widgets/note/note.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n typography: 'caption',\n color: (theme: Theme) => theme.palette.text.secondary,\n marginBlockStart: ({ spacing }) => spacing(1),\n },\n clamped: {\n display: '-webkit-box',\n WebkitLineClamp: 3,\n WebkitBoxOrient: 'vertical',\n overflow: 'hidden',\n },\n expanded: {\n display: 'block',\n },\n linkButton: {\n padding: 0,\n minWidth: 'auto',\n textTransform: 'none',\n typography: 'caption',\n fontWeight: 500,\n textDecoration: 'none',\n '&:hover': {\n backgroundColor: 'transparent',\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { useState, useEffect, useRef, useEffectEvent } from 'react'\nimport { Box, Button, Link, Typography } from '@mui/material'\nimport type { NoteProps } from './types'\nimport { styles } from './style'\nimport ReactMarkdown, { type Components } from 'react-markdown'\n\nconst DEFAULT_LABELS = {\n showMore: 'Show More',\n showLess: 'Show Less',\n} as const\n\nconst DEFAULT_P = ({ children }: { children?: React.ReactNode }) => (\n <Typography paragraph color='inherit' variant='caption'>\n {children}\n </Typography>\n)\n\nconst COMPONENTS: Components = {\n h1: DEFAULT_P,\n h2: DEFAULT_P,\n h3: DEFAULT_P,\n p: DEFAULT_P,\n a: ({ children, href, target = '_blank', rel = 'noopener noreferrer' }) => (\n <Link\n href={href}\n target={target}\n rel={rel}\n color='text.primary'\n underline='always'\n >\n {children}\n </Link>\n ),\n img: () => null,\n ul: DEFAULT_P,\n ol: DEFAULT_P,\n li: DEFAULT_P,\n}\n\nexport function Note({ children, labels = DEFAULT_LABELS }: NoteProps) {\n const [isExpanded, setIsExpanded] = useState(false)\n const [shouldShowToggle, setShouldShowToggle] = useState(false)\n const contentRef = useRef<HTMLDivElement>(null)\n\n const checkOverflow = useEffectEvent(() => {\n if (contentRef.current) {\n // Check if content overflows 3 lines\n const isOverflowing =\n contentRef.current.scrollHeight > contentRef.current.clientHeight\n setShouldShowToggle(isOverflowing)\n }\n })\n\n useEffect(() => {\n checkOverflow()\n }, [children])\n\n useEffect(() => {\n const element = contentRef.current\n if (!element) return\n\n const resizeObserver = new ResizeObserver(() => {\n checkOverflow()\n })\n\n resizeObserver.observe(element)\n\n return () => {\n resizeObserver.disconnect()\n }\n }, [])\n\n if (!children) {\n return null\n }\n\n const handleToggle = () => {\n setIsExpanded(!isExpanded)\n }\n\n const mergedLabels = { ...DEFAULT_LABELS, ...labels }\n\n return (\n <Box>\n <Box\n ref={contentRef}\n sx={{\n ...styles.root,\n ...(isExpanded ? styles.expanded : styles.clamped),\n }}\n >\n <ReactMarkdown components={COMPONENTS}>{children}</ReactMarkdown>\n </Box>\n {(shouldShowToggle || isExpanded) && (\n <Button\n onClick={handleToggle}\n variant='text'\n color='primary'\n sx={styles.linkButton}\n aria-expanded={isExpanded}\n aria-label={\n isExpanded ? mergedLabels.showLess : mergedLabels.showMore\n }\n aria-controls='note-content'\n >\n {isExpanded ? mergedLabels.showLess : mergedLabels.showMore}\n </Button>\n )}\n </Box>\n )\n}\n"],"names":["styles","root","typography","color","theme","palette","text","secondary","marginBlockStart","spacing","clamped","display","WebkitLineClamp","WebkitBoxOrient","overflow","expanded","linkButton","padding","minWidth","textTransform","fontWeight","textDecoration","backgroundColor","DEFAULT_LABELS","showMore","showLess","DEFAULT_P","t0","$","_c","children","t1","jsx","Typography","COMPONENTS","h1","h2","h3","p","a","href","target","rel","Link","img","ul","ol","li","Note","labels","undefined","isExpanded","setIsExpanded","useState","shouldShowToggle","setShouldShowToggle","contentRef","useRef","t2","Symbol","for","current","isOverflowing","scrollHeight","clientHeight","checkOverflow","useEffectEvent","t3","t4","useEffect","t5","element","resizeObserver","ResizeObserver","observe","disconnect","t6","t7","handleToggle","t8","mergedLabels","t9","t10","t11","ReactMarkdown","t12","Box","t13","Button","t14"],"mappings":"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"}
1
+ {"version":3,"file":"note.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -9,13 +9,14 @@ import { m as _ } from "../utils-Dv5Z47UQ.js";
9
9
  import { f as S, b as w, a as I, d as v } from "../styles-dOu_pRNb.js";
10
10
  import { Box as l, Skeleton as a } from "@mui/material";
11
11
  import "@mui/icons-material";
12
+ import "react-markdown";
12
13
  import { d as f, a as g } from "../exports-Cr43OCul.js";
13
14
  import "../lasso-tool-CYn3ivf-.js";
14
15
  import "../cjs-D9ro6BXv.js";
15
16
  import "@dnd-kit/core";
16
17
  import "@dnd-kit/sortable";
17
18
  import "@dnd-kit/utilities";
18
- function X({
19
+ function Y({
19
20
  refUI: e
20
21
  }) {
21
22
  return [{
@@ -29,7 +30,7 @@ function X({
29
30
  }
30
31
  }];
31
32
  }
32
- function Y(e) {
33
+ function ee(e) {
33
34
  return {
34
35
  type: "pie",
35
36
  option: _(y(e), C(e))
@@ -132,7 +133,7 @@ const j = {
132
133
  graph: v.graph
133
134
  }
134
135
  }, h = 32, m = 294 - h, u = m - h;
135
- function ee() {
136
+ function te() {
136
137
  const e = x(5);
137
138
  let t, o;
138
139
  e[0] === Symbol.for("react.memo_cache_sentinel") ? (t = {
@@ -209,8 +210,8 @@ function T(e) {
209
210
  return t(1);
210
211
  }
211
212
  export {
212
- ee as PieSkeleton,
213
- Y as pieConfig,
214
- X as pieDownloadConfig
213
+ te as PieSkeleton,
214
+ ee as pieConfig,
215
+ Y as pieDownloadConfig
215
216
  };
216
217
  //# sourceMappingURL=pie.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pie.js","sources":["../../src/widgets/pie/config.ts","../../src/widgets/pie/style.ts","../../src/widgets/pie/skeleton.tsx"],"sourcesContent":["import {\n getCommonOptions,\n mergeEchartWidgetConfig,\n type EchartOptionsProps,\n} from '../echart'\nimport type { PieConfig, PieWidgetConfig, PieWidgetData } from './types'\nimport {\n buildGridConfig,\n buildLegendConfig,\n flattenObjectArrayToCSV,\n} from '../_shared/chart-config'\nimport { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../root/types'\n\nexport function pieDownloadConfig({\n refUI,\n}: ConfigProps): DownloadItem<PieWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const rows = flattenObjectArrayToCSV(data)\n return downloadToCSV.modifier(rows)\n },\n },\n ]\n}\n\nexport function pieConfig(props: PieConfig): PieWidgetConfig {\n return {\n type: 'pie',\n option: mergeEchartWidgetConfig(getCommonOptions(props), getOption(props)),\n }\n}\n\nfunction getOption({ data = [], theme }: PieConfig): EchartOptionsProps {\n const multiSeries = (data?.length ?? 0) > 1\n\n if (multiSeries) {\n return {\n xAxis: {\n type: 'value',\n show: true,\n },\n yAxis: {\n type: 'category',\n show: true,\n },\n legend: {\n show: true,\n bottom: 0,\n },\n grid: {\n bottom: parseInt(theme.spacing(4)),\n right: parseInt(theme.spacing(4)),\n },\n series: data.map((_: unknown, index: number) => ({\n datasetIndex: index,\n type: 'bar',\n barMaxWidth: 100,\n emphasis: {\n focus: 'series',\n },\n })),\n }\n }\n\n const hasLegend = true\n\n return {\n legend: buildLegendConfig(hasLegend),\n grid: {\n ...buildGridConfig(hasLegend, theme),\n left: 0,\n top: 0,\n right: 0,\n },\n xAxis: {\n show: false,\n },\n yAxis: {\n show: false,\n },\n tooltip: {\n trigger: 'item',\n },\n color: Object.values(theme.palette.qualitative.bold),\n series: data.map((_: unknown, index: number) => ({\n datasetIndex: index,\n type: 'pie',\n colorBy: 'data',\n radius: ['74%', '90%'],\n avoidLabelOverlap: true,\n selectedOffset: 0,\n bottom: parseInt(theme.spacing(4)),\n\n label: {\n show: true,\n position: 'center',\n formatter: (params) => {\n const { name } = params\n const encodeIndex = params.encode?.value?.[0]\n if (encodeIndex === undefined) {\n return ''\n }\n\n const value = Object.values(params.data ?? {}).at(encodeIndex) as\n | number\n | string\n\n const formattedValue = value ?? ''\n\n const nameFormatted = name\n\n return `{c|${formattedValue}}\\n\\n{b|${nameFormatted}}`\n },\n rich: {\n b: {\n fontSize: 16,\n fontWeight: 'normal',\n lineHeight: 20,\n },\n c: {\n fontSize: 28,\n fontWeight: 'bold',\n lineHeight: 27,\n },\n },\n },\n emphasis: {\n disabled: true,\n },\n itemStyle: {\n borderColor: theme.palette.background.paper,\n borderWidth: 1,\n },\n })),\n } as EchartOptionsProps\n}\n","import type { SxProps, Theme } from '@mui/material'\nimport { baseSkeletonStyles } from '../_shared/skeleton'\n\nexport const styles = {\n skeleton: {\n graph: baseSkeletonStyles.graph,\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nconst GUTTER = 32\nconst SIZE = 294 - GUTTER\nconst INNER_SIZE = SIZE - GUTTER\n\nexport function PieSkeleton() {\n return (\n <Box sx={styles.skeleton.graph.container}>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n }}\n >\n <Skeleton variant='circular' width={SIZE} height={SIZE} />\n <Skeleton\n sx={{\n position: 'absolute',\n zIndex: 1,\n }}\n variant='circular'\n width={INNER_SIZE}\n height={INNER_SIZE}\n />\n <Box\n sx={{\n position: 'absolute',\n zIndex: 2,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n gap: ({ spacing }) => spacing(1),\n }}\n >\n <Skeleton height={24} width={72} />\n <Skeleton height={8} width={48} />\n </Box>\n </Box>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(2),\n height: ({ spacing }) => spacing(5),\n }}\n >\n {Array(2)\n .fill(0)\n .map((_, i) => (\n <Box\n key={i}\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1.5),\n }}\n >\n <Skeleton variant='circular' width={8} height={8} />\n <Skeleton width={48} height={8} />\n </Box>\n ))}\n </Box>\n </Box>\n )\n}\n"],"names":["pieDownloadConfig","refUI","downloadToPNG","modifier","downloadToCSV","data","rows","flattenObjectArrayToCSV","pieConfig","props","type","option","mergeEchartWidgetConfig","getCommonOptions","getOption","theme","length","xAxis","show","yAxis","legend","bottom","grid","parseInt","spacing","right","series","map","_","index","datasetIndex","barMaxWidth","emphasis","focus","hasLegend","buildLegendConfig","buildGridConfig","left","top","tooltip","trigger","color","Object","values","palette","qualitative","bold","colorBy","radius","avoidLabelOverlap","selectedOffset","label","position","formatter","params","name","encodeIndex","encode","value","undefined","at","rich","b","fontSize","fontWeight","lineHeight","c","disabled","itemStyle","borderColor","background","paper","borderWidth","styles","skeleton","graph","baseSkeletonStyles","GUTTER","SIZE","INNER_SIZE","PieSkeleton","$","_c","t0","t1","Symbol","for","display","alignItems","justifyContent","Skeleton","t2","jsx","zIndex","t3","Box","jsxs","flexDirection","gap","_temp","t4","container","_temp2","height","_temp3","Array","fill","_temp5","i","_temp4","spacing_2","spacing_1","spacing_0"],"mappings":"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"}
1
+ {"version":3,"file":"pie.js","sources":["../../src/widgets/pie/config.ts","../../src/widgets/pie/style.ts","../../src/widgets/pie/skeleton.tsx"],"sourcesContent":["import {\n getCommonOptions,\n mergeEchartWidgetConfig,\n type EchartOptionsProps,\n} from '../echart'\nimport type { PieConfig, PieWidgetConfig, PieWidgetData } from './types'\nimport {\n buildGridConfig,\n buildLegendConfig,\n flattenObjectArrayToCSV,\n} from '../_shared/chart-config'\nimport { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../root/types'\n\nexport function pieDownloadConfig({\n refUI,\n}: ConfigProps): DownloadItem<PieWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const rows = flattenObjectArrayToCSV(data)\n return downloadToCSV.modifier(rows)\n },\n },\n ]\n}\n\nexport function pieConfig(props: PieConfig): PieWidgetConfig {\n return {\n type: 'pie',\n option: mergeEchartWidgetConfig(getCommonOptions(props), getOption(props)),\n }\n}\n\nfunction getOption({ data = [], theme }: PieConfig): EchartOptionsProps {\n const multiSeries = (data?.length ?? 0) > 1\n\n if (multiSeries) {\n return {\n xAxis: {\n type: 'value',\n show: true,\n },\n yAxis: {\n type: 'category',\n show: true,\n },\n legend: {\n show: true,\n bottom: 0,\n },\n grid: {\n bottom: parseInt(theme.spacing(4)),\n right: parseInt(theme.spacing(4)),\n },\n series: data.map((_: unknown, index: number) => ({\n datasetIndex: index,\n type: 'bar',\n barMaxWidth: 100,\n emphasis: {\n focus: 'series',\n },\n })),\n }\n }\n\n const hasLegend = true\n\n return {\n legend: buildLegendConfig(hasLegend),\n grid: {\n ...buildGridConfig(hasLegend, theme),\n left: 0,\n top: 0,\n right: 0,\n },\n xAxis: {\n show: false,\n },\n yAxis: {\n show: false,\n },\n tooltip: {\n trigger: 'item',\n },\n color: Object.values(theme.palette.qualitative.bold),\n series: data.map((_: unknown, index: number) => ({\n datasetIndex: index,\n type: 'pie',\n colorBy: 'data',\n radius: ['74%', '90%'],\n avoidLabelOverlap: true,\n selectedOffset: 0,\n bottom: parseInt(theme.spacing(4)),\n\n label: {\n show: true,\n position: 'center',\n formatter: (params) => {\n const { name } = params\n const encodeIndex = params.encode?.value?.[0]\n if (encodeIndex === undefined) {\n return ''\n }\n\n const value = Object.values(params.data ?? {}).at(encodeIndex) as\n | number\n | string\n\n const formattedValue = value ?? ''\n\n const nameFormatted = name\n\n return `{c|${formattedValue}}\\n\\n{b|${nameFormatted}}`\n },\n rich: {\n b: {\n fontSize: 16,\n fontWeight: 'normal',\n lineHeight: 20,\n },\n c: {\n fontSize: 28,\n fontWeight: 'bold',\n lineHeight: 27,\n },\n },\n },\n emphasis: {\n disabled: true,\n },\n itemStyle: {\n borderColor: theme.palette.background.paper,\n borderWidth: 1,\n },\n })),\n } as EchartOptionsProps\n}\n","import type { SxProps, Theme } from '@mui/material'\nimport { baseSkeletonStyles } from '../_shared/skeleton'\n\nexport const styles = {\n skeleton: {\n graph: baseSkeletonStyles.graph,\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nconst GUTTER = 32\nconst SIZE = 294 - GUTTER\nconst INNER_SIZE = SIZE - GUTTER\n\nexport function PieSkeleton() {\n return (\n <Box sx={styles.skeleton.graph.container}>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n }}\n >\n <Skeleton variant='circular' width={SIZE} height={SIZE} />\n <Skeleton\n sx={{\n position: 'absolute',\n zIndex: 1,\n }}\n variant='circular'\n width={INNER_SIZE}\n height={INNER_SIZE}\n />\n <Box\n sx={{\n position: 'absolute',\n zIndex: 2,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n gap: ({ spacing }) => spacing(1),\n }}\n >\n <Skeleton height={24} width={72} />\n <Skeleton height={8} width={48} />\n </Box>\n </Box>\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(2),\n height: ({ spacing }) => spacing(5),\n }}\n >\n {Array(2)\n .fill(0)\n .map((_, i) => (\n <Box\n key={i}\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1.5),\n }}\n >\n <Skeleton variant='circular' width={8} height={8} />\n <Skeleton width={48} height={8} />\n </Box>\n ))}\n </Box>\n </Box>\n )\n}\n"],"names":["pieDownloadConfig","refUI","downloadToPNG","modifier","downloadToCSV","data","rows","flattenObjectArrayToCSV","pieConfig","props","type","option","mergeEchartWidgetConfig","getCommonOptions","getOption","theme","length","xAxis","show","yAxis","legend","bottom","grid","parseInt","spacing","right","series","map","_","index","datasetIndex","barMaxWidth","emphasis","focus","hasLegend","buildLegendConfig","buildGridConfig","left","top","tooltip","trigger","color","Object","values","palette","qualitative","bold","colorBy","radius","avoidLabelOverlap","selectedOffset","label","position","formatter","params","name","encodeIndex","encode","value","undefined","at","rich","b","fontSize","fontWeight","lineHeight","c","disabled","itemStyle","borderColor","background","paper","borderWidth","styles","skeleton","graph","baseSkeletonStyles","GUTTER","SIZE","INNER_SIZE","PieSkeleton","$","_c","t0","t1","Symbol","for","display","alignItems","justifyContent","Skeleton","t2","jsx","zIndex","t3","Box","jsxs","flexDirection","gap","_temp","t4","container","_temp2","height","_temp3","Array","fill","_temp5","i","_temp4","spacing_2","spacing_1","spacing_0"],"mappings":";;;;;;;;;;;;;;;;;;AAcO,SAASA,EAAkB;AAAA,EAChCC,OAAAA;AACW,GAAkC;AAC7C,SAAO,CACL;AAAA,IACE,GAAGC;AAAAA,IACHC,UAAUA,MAAMD,EAAcC,SAASF,CAAK;AAAA,EAAA,GAE9C;AAAA,IACE,GAAGG;AAAAA,IACHD,UAAU,OAAOE,MAAS;AACxB,YAAMC,IAAOC,EAAwBF,CAAI;AACzC,aAAOD,EAAcD,SAASG,CAAI;AAAA,IACpC;AAAA,EAAA,CACD;AAEL;AAEO,SAASE,GAAUC,GAAmC;AAC3D,SAAO;AAAA,IACLC,MAAM;AAAA,IACNC,QAAQC,EAAwBC,EAAiBJ,CAAK,GAAGK,EAAUL,CAAK,CAAC;AAAA,EAAA;AAE7E;AAEA,SAASK,EAAU;AAAA,EAAET,MAAAA,IAAO,CAAA;AAAA,EAAIU,OAAAA;AAAiB,GAAuB;AAGtE,OAFqBV,GAAMW,UAAU,KAAK;AAGxC,WAAO;AAAA,MACLC,OAAO;AAAA,QACLP,MAAM;AAAA,QACNQ,MAAM;AAAA,MAAA;AAAA,MAERC,OAAO;AAAA,QACLT,MAAM;AAAA,QACNQ,MAAM;AAAA,MAAA;AAAA,MAERE,QAAQ;AAAA,QACNF,MAAM;AAAA,QACNG,QAAQ;AAAA,MAAA;AAAA,MAEVC,MAAM;AAAA,QACJD,QAAQE,SAASR,EAAMS,QAAQ,CAAC,CAAC;AAAA,QACjCC,OAAOF,SAASR,EAAMS,QAAQ,CAAC,CAAC;AAAA,MAAA;AAAA,MAElCE,QAAQrB,EAAKsB,IAAI,CAACC,GAAYC,OAAmB;AAAA,QAC/CC,cAAcD;AAAAA,QACdnB,MAAM;AAAA,QACNqB,aAAa;AAAA,QACbC,UAAU;AAAA,UACRC,OAAO;AAAA,QAAA;AAAA,MACT,EACA;AAAA,IAAA;AAIN,QAAMC,IAAY;AAElB,SAAO;AAAA,IACLd,QAAQe,EAAkBD,CAAS;AAAA,IACnCZ,MAAM;AAAA,MACJ,GAAGc,EAAgBF,GAAWnB,CAAK;AAAA,MACnCsB,MAAM;AAAA,MACNC,KAAK;AAAA,MACLb,OAAO;AAAA,IAAA;AAAA,IAETR,OAAO;AAAA,MACLC,MAAM;AAAA,IAAA;AAAA,IAERC,OAAO;AAAA,MACLD,MAAM;AAAA,IAAA;AAAA,IAERqB,SAAS;AAAA,MACPC,SAAS;AAAA,IAAA;AAAA,IAEXC,OAAOC,OAAOC,OAAO5B,EAAM6B,QAAQC,YAAYC,IAAI;AAAA,IACnDpB,QAAQrB,EAAKsB,IAAI,CAACC,GAAYC,OAAmB;AAAA,MAC/CC,cAAcD;AAAAA,MACdnB,MAAM;AAAA,MACNqC,SAAS;AAAA,MACTC,QAAQ,CAAC,OAAO,KAAK;AAAA,MACrBC,mBAAmB;AAAA,MACnBC,gBAAgB;AAAA,MAChB7B,QAAQE,SAASR,EAAMS,QAAQ,CAAC,CAAC;AAAA,MAEjC2B,OAAO;AAAA,QACLjC,MAAM;AAAA,QACNkC,UAAU;AAAA,QACVC,WAAYC,CAAAA,MAAW;AACrB,gBAAM;AAAA,YAAEC,MAAAA;AAAAA,UAAAA,IAASD,GACXE,IAAcF,EAAOG,QAAQC,QAAQ,CAAC;AAC5C,iBAAIF,MAAgBG,SACX,KAWF,MAROjB,OAAOC,OAAOW,EAAOjD,QAAQ,CAAA,CAAE,EAAEuD,GAAGJ,CAAW,KAI7B,EAIL;AAAA;AAAA,KAFLD,CAE6B;AAAA,QACrD;AAAA,QACAM,MAAM;AAAA,UACJC,GAAG;AAAA,YACDC,UAAU;AAAA,YACVC,YAAY;AAAA,YACZC,YAAY;AAAA,UAAA;AAAA,UAEdC,GAAG;AAAA,YACDH,UAAU;AAAA,YACVC,YAAY;AAAA,YACZC,YAAY;AAAA,UAAA;AAAA,QACd;AAAA,MACF;AAAA,MAEFjC,UAAU;AAAA,QACRmC,UAAU;AAAA,MAAA;AAAA,MAEZC,WAAW;AAAA,QACTC,aAAatD,EAAM6B,QAAQ0B,WAAWC;AAAAA,QACtCC,aAAa;AAAA,MAAA;AAAA,IACf,EACA;AAAA,EAAA;AAEN;AC3IO,MAAMC,IAAS;AAAA,EACpBC,UAAU;AAAA,IACRC,OAAOC,EAAmBD;AAAAA,EAAAA;AAE9B,GCJME,IAAS,IACTC,IAAO,MAAMD,GACbE,IAAaD,IAAOD;AAEnB,SAAAG,KAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA;AAAA,MAAAC,GAAAC;AAAA,EAAAH,EAAA,CAAA,MAAAI,OAAAC,IAAA,2BAAA,KAIKH,IAAA;AAAA,IAAAI,SACO;AAAA,IAAMC,YACH;AAAA,IAAQC,gBACJ;AAAA,IAAQrC,UACd;AAAA,EAAA,GAGZgC,sBAACM,GAAA,EAAiB,SAAA,YAAkBZ,OAAAA,GAAcA,QAAAA,GAAI,GAAIG,OAAAE,GAAAF,OAAAG,MAAAD,IAAAF,EAAA,CAAA,GAAAG,IAAAH,EAAA,CAAA;AAAA,MAAAU;AAAA,EAAAV,EAAA,CAAA,MAAAI,OAAAC,IAAA,2BAAA,KAC1DK,IAAA,gBAAAC,EAACF,KACK,IAAA;AAAA,IAAAtC,UACQ;AAAA,IAAUyC,QACZ;AAAA,EAAA,GAEF,SAAA,YACDd,OAAAA,GACCA,QAAAA,GAAU,GAClBE,OAAAU,KAAAA,IAAAV,EAAA,CAAA;AAAA,MAAAa;AAAA,EAAAb,EAAA,CAAA,MAAAI,OAAAC,IAAA,2BAAA,KAjBJQ,sBAACC,GAAA,EACK,IAAAZ,GAOJC,UAAAA;AAAAA,IAAAA;AAAAA,IACAO;AAAAA,IASA,gBAAAK,EAACD,KACK,IAAA;AAAA,MAAA3C,UACQ;AAAA,MAAUyC,QACZ;AAAA,MAACN,SACA;AAAA,MAAMU,eACA;AAAA,MAAQT,YACX;AAAA,MAAQC,gBACJ;AAAA,MAAQS,KACnBC;AAAAA,IAAAA,GAGP,UAAA;AAAA,MAAA,gBAAAP,EAACF,GAAA,EAAiB,QAAA,IAAW,OAAA,IAAE;AAAA,MAC/B,gBAAAE,EAACF,GAAA,EAAiB,QAAA,GAAU,OAAA,GAAA,CAAE;AAAA,IAAA,EAAA,CAChC;AAAA,EAAA,GACF,GAAMT,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AAAA,MAAAmB;AAAA,SAAAnB,EAAA,CAAA,MAAAI,OAAAC,IAAA,2BAAA,KAjCRc,sBAACL,GAAA,EAAQ,IAAAtB,EAAMC,SAASC,MAAM0B,WAC5BP,UAAAA;AAAAA,IAAAA;AAAAA,IAiCA,gBAAAF,EAACG,KACK,IAAA;AAAA,MAAAR,SACO;AAAA,MAAMC,YACH;AAAA,MAAQU,KACfI;AAAAA,MAA2BC,QACxBC;AAAAA,IAAAA,GAGTC,gBAAM,CAAC,EAACC,KACD,CAAC,EAAC/E,IACHgF,CAYJ,EAAA,CACL;AAAA,EAAA,GACF,GAAM1B,OAAAmB,KAAAA,IAAAnB,EAAA,CAAA,GA1DNmB;AA0DM;AA5DH,SAAAO,EAAA/E,GAAAgF,GAAA;AAAA,SA+CK,gBAAAZ,EAACD,KAEK,IAAA;AAAA,IAAAR,SACO;AAAA,IAAMC,YACH;AAAA,IAAQU,KACfW;AAAAA,EAAAA,GAGP,UAAA;AAAA,IAAA,gBAAAjB,EAACF,KAAiB,SAAA,YAAkB,OAAA,GAAW,QAAA,GAAC;AAAA,IAChD,gBAAAE,EAACF,GAAA,EAAgB,OAAA,IAAY,QAAA,EAAA,CAAC;AAAA,EAAA,EAAA,GARzBkB,CASP;AAAM;AAzDX,SAAAC,EAAA1B,GAAA;AAoDe,QAAA;AAAA,IAAA3D,SAAAsF;AAAAA,EAAAA,IAAA3B;AAAW,SAAK3D,EAAQ,GAAG;AAAC;AApD3C,SAAAgF,EAAArB,GAAA;AAyCY,QAAA;AAAA,IAAA3D,SAAAuF;AAAAA,EAAAA,IAAA5B;AAAW,SAAK3D,EAAQ,CAAC;AAAC;AAzCtC,SAAA8E,EAAAnB,GAAA;AAwCS,QAAA;AAAA,IAAA3D,SAAAwF;AAAAA,EAAAA,IAAA7B;AAAW,SAAK3D,EAAQ,CAAC;AAAC;AAxCnC,SAAA2E,EAAAhB,GAAA;AA6BW,QAAA;AAAA,IAAA3D,SAAAA;AAAAA,EAAAA,IAAA2D;AAAW,SAAK3D,EAAQ,CAAC;AAAC;"}
@@ -9,13 +9,14 @@ import { m } from "../utils-Dv5Z47UQ.js";
9
9
  import { s as d, a as u, d as y } from "../styles-dOu_pRNb.js";
10
10
  import { Box as a, Skeleton as n } from "@mui/material";
11
11
  import "@mui/icons-material";
12
+ import "react-markdown";
12
13
  import { d as l, a as r } from "../exports-Cr43OCul.js";
13
14
  import "../lasso-tool-CYn3ivf-.js";
14
15
  import "../cjs-D9ro6BXv.js";
15
16
  import "@dnd-kit/core";
16
17
  import "@dnd-kit/sortable";
17
18
  import "@dnd-kit/utilities";
18
- function q({
19
+ function B({
19
20
  refUI: e
20
21
  }) {
21
22
  return [{
@@ -29,7 +30,7 @@ function q({
29
30
  }
30
31
  }];
31
32
  }
32
- function B(e) {
33
+ function G(e) {
33
34
  return {
34
35
  type: "scatterplot",
35
36
  option: m(g(e), h(e))
@@ -180,7 +181,7 @@ const s = {
180
181
  left: "40%",
181
182
  top: "40%"
182
183
  }];
183
- function G() {
184
+ function R() {
184
185
  const e = f(2);
185
186
  let t;
186
187
  e[0] === Symbol.for("react.memo_cache_sentinel") ? (t = b.map(S), e[0] = t) : t = e[0];
@@ -215,8 +216,8 @@ function S(e, t) {
215
216
  } }, t);
216
217
  }
217
218
  export {
218
- G as ScatterplotSkeleton,
219
- B as scatterplotConfig,
220
- q as scatterplotDownloadConfig
219
+ R as ScatterplotSkeleton,
220
+ G as scatterplotConfig,
221
+ B as scatterplotDownloadConfig
221
222
  };
222
223
  //# sourceMappingURL=scatterplot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scatterplot.js","sources":["../../src/widgets/scatterplot/config.ts","../../src/widgets/scatterplot/style.ts","../../src/widgets/scatterplot/skeleton.tsx"],"sourcesContent":["import {\n getCommonOptions,\n mergeEchartWidgetConfig,\n type EchartOptionsProps,\n} from '../echart'\nimport type {\n ScatterplotConfig,\n ScatterplotWidgetConfig,\n ScatterplotWidgetData,\n} from './types'\nimport {\n scatterplotDataToCSV,\n buildLegendConfig,\n} from '../_shared/chart-config'\nimport { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../root/types'\n\nexport function scatterplotDownloadConfig({\n refUI,\n}: ConfigProps): DownloadItem<ScatterplotWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const rows = scatterplotDataToCSV(data)\n return downloadToCSV.modifier(rows)\n },\n },\n ]\n}\n\nexport function scatterplotConfig(\n props: ScatterplotConfig,\n): ScatterplotWidgetConfig {\n return {\n type: 'scatterplot',\n option: mergeEchartWidgetConfig(getCommonOptions(props), getOption(props)),\n }\n}\n\nfunction getOption({\n data = [],\n theme,\n}: ScatterplotConfig): EchartOptionsProps {\n const hasLegend = data.length > 1\n return {\n legend: buildLegendConfig(hasLegend),\n grid: {\n ...(!hasLegend && { bottom: parseInt(theme.spacing(1)) }),\n ...(hasLegend && { bottom: parseInt(theme.spacing(10)) }),\n },\n xAxis: {\n type: 'value',\n axisLine: { show: false },\n axisTick: { show: false },\n\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n showMinLabel: true,\n showMaxLabel: true,\n hideOverlap: true,\n padding: [\n parseInt(theme.spacing(0.5)),\n parseInt(theme.spacing(0.5)),\n 0,\n parseInt(theme.spacing(0.5)),\n ],\n color: theme.palette.black[60],\n },\n splitLine: {\n show: true,\n lineStyle: { color: theme.palette.black[4] },\n },\n },\n yAxis: {\n type: 'value',\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n inside: false,\n padding: [\n 0,\n 0,\n parseInt(theme.spacing(1.25)),\n parseInt(theme.spacing(3.25)),\n ],\n margin: 0,\n show: true,\n showMaxLabel: true,\n showMinLabel: false,\n align: 'right',\n verticalAlign: 'bottom',\n },\n axisLine: { show: false },\n axisTick: { show: false },\n splitLine: {\n show: true,\n lineStyle: { color: theme.palette.black[4] },\n },\n },\n tooltip: {\n trigger: 'item',\n // position: createTooltipPositioner(theme),\n },\n color: Object.values(theme.palette.qualitative.bold),\n series: data.map((_: unknown, index: number) => ({\n datasetIndex: index,\n type: 'scatter',\n symbolSize: 8,\n })),\n } as EchartOptionsProps\n}\n","import type { SxProps, Theme } from '@mui/material'\nimport { baseSkeletonStyles } from '../_shared/skeleton'\n\nexport const styles = {\n skeleton: {\n graph: {\n container: {\n ...baseSkeletonStyles.graph.container,\n position: 'relative',\n },\n },\n legend: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(2),\n height: ({ spacing }) => spacing(5),\n position: 'absolute',\n bottom: 0,\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nconst SCATTER_POINTS = [\n { left: '20%', top: '62%' },\n { left: '26%', top: '70%' },\n { left: '29%', top: '73%' },\n { left: '38%', top: '63%' },\n { left: '41%', top: '68%' },\n { left: '47%', top: '62%' },\n { left: '53%', top: '49%' },\n { left: '56%', top: '55%' },\n { left: '65%', top: '37%' },\n { left: '68%', top: '43%' },\n { left: '77%', top: '59%' },\n { left: '25%', top: '30%' },\n { left: '60%', top: '70%' },\n { left: '10%', top: '55%' },\n { left: '40%', top: '40%' },\n]\n\nexport function ScatterplotSkeleton() {\n return (\n <Box sx={styles.skeleton.graph.container}>\n {SCATTER_POINTS.map((point, index) => (\n <Skeleton\n key={index}\n variant='circular'\n width={12}\n height={12}\n sx={{\n position: 'absolute',\n top: point.top,\n left: point.left,\n transform: 'translate(-50%, -50%)',\n }}\n />\n ))}\n {/* Legend */}\n <Box sx={styles.skeleton.legend}>\n {Array(2)\n .fill(0)\n .map((_, i) => (\n <Box\n key={i}\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1.5),\n }}\n >\n <Skeleton variant='circular' width={8} height={8} />\n <Skeleton width={48} height={8} />\n </Box>\n ))}\n </Box>\n </Box>\n )\n}\n"],"names":["scatterplotDownloadConfig","refUI","downloadToPNG","modifier","downloadToCSV","data","rows","scatterplotDataToCSV","scatterplotConfig","props","type","option","mergeEchartWidgetConfig","getCommonOptions","getOption","theme","hasLegend","length","legend","buildLegendConfig","grid","bottom","parseInt","spacing","xAxis","axisLine","show","axisTick","axisLabel","fontSize","typography","overlineDelicate","fontFamily","showMinLabel","showMaxLabel","hideOverlap","padding","color","palette","black","splitLine","lineStyle","yAxis","inside","margin","align","verticalAlign","tooltip","trigger","Object","values","qualitative","bold","series","map","_","index","datasetIndex","symbolSize","styles","skeleton","graph","container","baseSkeletonStyles","position","display","alignItems","gap","height","SCATTER_POINTS","left","top","ScatterplotSkeleton","$","_c","t0","Symbol","for","_temp","t1","Box","jsx","Array","fill","_temp3","i","jsxs","_temp2","Skeleton","point","transform"],"mappings":";;;;;;;;;;;;;;;;;AAiBO,SAASA,EAA0B;AAAA,EACxCC,OAAAA;AACW,GAA0C;AACrD,SAAO,CACL;AAAA,IACE,GAAGC;AAAAA,IACHC,UAAUA,MAAMD,EAAcC,SAASF,CAAK;AAAA,EAAA,GAE9C;AAAA,IACE,GAAGG;AAAAA,IACHD,UAAU,OAAOE,MAAS;AACxB,YAAMC,IAAOC,EAAqBF,CAAI;AACtC,aAAOD,EAAcD,SAASG,CAAI;AAAA,IACpC;AAAA,EAAA,CACD;AAEL;AAEO,SAASE,EACdC,GACyB;AACzB,SAAO;AAAA,IACLC,MAAM;AAAA,IACNC,QAAQC,EAAwBC,EAAiBJ,CAAK,GAAGK,EAAUL,CAAK,CAAC;AAAA,EAAA;AAE7E;AAEA,SAASK,EAAU;AAAA,EACjBT,MAAAA,IAAO,CAAA;AAAA,EACPU,OAAAA;AACiB,GAAuB;AACxC,QAAMC,IAAYX,EAAKY,SAAS;AAChC,SAAO;AAAA,IACLC,QAAQC,EAAkBH,CAAS;AAAA,IACnCI,MAAM;AAAA,MACJ,GAAI,CAACJ,KAAa;AAAA,QAAEK,QAAQC,SAASP,EAAMQ,QAAQ,CAAC,CAAC;AAAA,MAAA;AAAA,MACrD,GAAIP,KAAa;AAAA,QAAEK,QAAQC,SAASP,EAAMQ,QAAQ,EAAE,CAAC;AAAA,MAAA;AAAA,IAAE;AAAA,IAEzDC,OAAO;AAAA,MACLd,MAAM;AAAA,MACNe,UAAU;AAAA,QAAEC,MAAM;AAAA,MAAA;AAAA,MAClBC,UAAU;AAAA,QAAED,MAAM;AAAA,MAAA;AAAA,MAElBE,WAAW;AAAA,QACTC,UAAUd,EAAMe,WAAWC,iBAAiBF;AAAAA,QAC5CG,YAAYjB,EAAMe,WAAWC,iBAAiBC;AAAAA,QAC9CC,cAAc;AAAA,QACdC,cAAc;AAAA,QACdC,aAAa;AAAA,QACbC,SAAS,CACPd,SAASP,EAAMQ,QAAQ,GAAG,CAAC,GAC3BD,SAASP,EAAMQ,QAAQ,GAAG,CAAC,GAC3B,GACAD,SAASP,EAAMQ,QAAQ,GAAG,CAAC,CAAC;AAAA,QAE9Bc,OAAOtB,EAAMuB,QAAQC,MAAM,EAAE;AAAA,MAAA;AAAA,MAE/BC,WAAW;AAAA,QACTd,MAAM;AAAA,QACNe,WAAW;AAAA,UAAEJ,OAAOtB,EAAMuB,QAAQC,MAAM,CAAC;AAAA,QAAA;AAAA,MAAE;AAAA,IAC7C;AAAA,IAEFG,OAAO;AAAA,MACLhC,MAAM;AAAA,MACNkB,WAAW;AAAA,QACTC,UAAUd,EAAMe,WAAWC,iBAAiBF;AAAAA,QAC5CG,YAAYjB,EAAMe,WAAWC,iBAAiBC;AAAAA,QAC9CW,QAAQ;AAAA,QACRP,SAAS,CACP,GACA,GACAd,SAASP,EAAMQ,QAAQ,IAAI,CAAC,GAC5BD,SAASP,EAAMQ,QAAQ,IAAI,CAAC,CAAC;AAAA,QAE/BqB,QAAQ;AAAA,QACRlB,MAAM;AAAA,QACNQ,cAAc;AAAA,QACdD,cAAc;AAAA,QACdY,OAAO;AAAA,QACPC,eAAe;AAAA,MAAA;AAAA,MAEjBrB,UAAU;AAAA,QAAEC,MAAM;AAAA,MAAA;AAAA,MAClBC,UAAU;AAAA,QAAED,MAAM;AAAA,MAAA;AAAA,MAClBc,WAAW;AAAA,QACTd,MAAM;AAAA,QACNe,WAAW;AAAA,UAAEJ,OAAOtB,EAAMuB,QAAQC,MAAM,CAAC;AAAA,QAAA;AAAA,MAAE;AAAA,IAC7C;AAAA,IAEFQ,SAAS;AAAA,MACPC,SAAS;AAAA;AAAA,IAAA;AAAA,IAGXX,OAAOY,OAAOC,OAAOnC,EAAMuB,QAAQa,YAAYC,IAAI;AAAA,IACnDC,QAAQhD,EAAKiD,IAAI,CAACC,GAAYC,OAAmB;AAAA,MAC/CC,cAAcD;AAAAA,MACd9C,MAAM;AAAA,MACNgD,YAAY;AAAA,IAAA,EACZ;AAAA,EAAA;AAEN;ACjHO,MAAMC,IAAS;AAAA,EACpBC,UAAU;AAAA,IACRC,OAAO;AAAA,MACLC,WAAW;AAAA,QACT,GAAGC,EAAmBF,MAAMC;AAAAA,QAC5BE,UAAU;AAAA,MAAA;AAAA,IACZ;AAAA,IAEF9C,QAAQ;AAAA,MACN+C,SAAS;AAAA,MACTC,YAAY;AAAA,MACZC,KAAKA,CAAC;AAAA,QAAE5C,SAAAA;AAAAA,MAAAA,MAAcA,EAAQ,CAAC;AAAA,MAC/B6C,QAAQA,CAAC;AAAA,QAAE7C,SAAAA;AAAAA,MAAAA,MAAcA,EAAQ,CAAC;AAAA,MAClCyC,UAAU;AAAA,MACV3C,QAAQ;AAAA,IAAA;AAAA,EACV;AAEJ,GCjBMgD,IAAiB,CACrB;AAAA,EAAEC,MAAM;AAAA,EAAOC,KAAK;AAAM,GAC1B;AAAA,EAAED,MAAM;AAAA,EAAOC,KAAK;AAAM,GAC1B;AAAA,EAAED,MAAM;AAAA,EAAOC,KAAK;AAAM,GAC1B;AAAA,EAAED,MAAM;AAAA,EAAOC,KAAK;AAAM,GAC1B;AAAA,EAAED,MAAM;AAAA,EAAOC,KAAK;AAAM,GAC1B;AAAA,EAAED,MAAM;AAAA,EAAOC,KAAK;AAAM,GAC1B;AAAA,EAAED,MAAM;AAAA,EAAOC,KAAK;AAAM,GAC1B;AAAA,EAAED,MAAM;AAAA,EAAOC,KAAK;AAAM,GAC1B;AAAA,EAAED,MAAM;AAAA,EAAOC,KAAK;AAAM,GAC1B;AAAA,EAAED,MAAM;AAAA,EAAOC,KAAK;AAAM,GAC1B;AAAA,EAAED,MAAM;AAAA,EAAOC,KAAK;AAAM,GAC1B;AAAA,EAAED,MAAM;AAAA,EAAOC,KAAK;AAAM,GAC1B;AAAA,EAAED,MAAM;AAAA,EAAOC,KAAK;AAAM,GAC1B;AAAA,EAAED,MAAM;AAAA,EAAOC,KAAK;AAAM,GAC1B;AAAA,EAAED,MAAM;AAAA,EAAOC,KAAK;AAAM,CAAC;AAGtB,SAAAC,IAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA;AAAA,MAAAC;AAAA,EAAAF,EAAA,CAAA,MAAAG,OAAAC,IAAA,2BAAA,KAGAF,IAAAN,EAAcf,IAAKwB,CAanB,GAACL,OAAAE,KAAAA,IAAAF,EAAA,CAAA;AAAA,MAAAM;AAAA,SAAAN,EAAA,CAAA,MAAAG,OAAAC,IAAA,2BAAA,KAdJE,sBAACC,GAAA,EAAQ,IAAArB,EAAMC,SAASC,MAAMC,WAC3Ba,UAAAA;AAAAA,IAAAA;AAAAA,IAeD,gBAAAM,EAACD,GAAA,EAAQ,IAAArB,EAAMC,SAAS1C,QACrBgE,UAAAA,MAAM,CAAC,EAACC,KACD,CAAC,EAAC7B,IACH8B,CAYJ,EAAA,CACL;AAAA,EAAA,GACF,GAAMX,OAAAM,KAAAA,IAAAN,EAAA,CAAA,GAjCNM;AAiCM;AAnCH,SAAAK,EAAA7B,GAAA8B,GAAA;AAAA,SAsBK,gBAAAC,EAACN,KAEK,IAAA;AAAA,IAAAf,SACO;AAAA,IAAMC,YACH;AAAA,IAAQC,KACfoB;AAAAA,EAAAA,GAGP,UAAA;AAAA,IAAA,gBAAAN,EAACO,KAAiB,SAAA,YAAkB,OAAA,GAAW,QAAA,GAAC;AAAA,IAChD,gBAAAP,EAACO,GAAA,EAAgB,OAAA,IAAY,QAAA,EAAA,CAAC;AAAA,EAAA,EAAA,GARzBH,CASP;AAAM;AAhCX,SAAAE,EAAAZ,GAAA;AA2Be,QAAA;AAAA,IAAApD,SAAAA;AAAAA,EAAAA,IAAAoD;AAAW,SAAKpD,EAAQ,GAAG;AAAC;AA3B3C,SAAAuD,EAAAW,GAAAjC,GAAA;AAAA,SAIC,gBAAAyB,EAACO,KAES,SAAA,YACD,OAAA,IACC,QAAA,IACJ,IAAA;AAAA,IAAAxB,UACQ;AAAA,IAAUO,KACfkB,EAAKlB;AAAAA,IAAID,MACRmB,EAAKnB;AAAAA,IAAKoB,WACL;AAAA,EAAA,KARRlC,CASJ;AACD;"}
1
+ {"version":3,"file":"scatterplot.js","sources":["../../src/widgets/scatterplot/config.ts","../../src/widgets/scatterplot/style.ts","../../src/widgets/scatterplot/skeleton.tsx"],"sourcesContent":["import {\n getCommonOptions,\n mergeEchartWidgetConfig,\n type EchartOptionsProps,\n} from '../echart'\nimport type {\n ScatterplotConfig,\n ScatterplotWidgetConfig,\n ScatterplotWidgetData,\n} from './types'\nimport {\n scatterplotDataToCSV,\n buildLegendConfig,\n} from '../_shared/chart-config'\nimport { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../root/types'\n\nexport function scatterplotDownloadConfig({\n refUI,\n}: ConfigProps): DownloadItem<ScatterplotWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const rows = scatterplotDataToCSV(data)\n return downloadToCSV.modifier(rows)\n },\n },\n ]\n}\n\nexport function scatterplotConfig(\n props: ScatterplotConfig,\n): ScatterplotWidgetConfig {\n return {\n type: 'scatterplot',\n option: mergeEchartWidgetConfig(getCommonOptions(props), getOption(props)),\n }\n}\n\nfunction getOption({\n data = [],\n theme,\n}: ScatterplotConfig): EchartOptionsProps {\n const hasLegend = data.length > 1\n return {\n legend: buildLegendConfig(hasLegend),\n grid: {\n ...(!hasLegend && { bottom: parseInt(theme.spacing(1)) }),\n ...(hasLegend && { bottom: parseInt(theme.spacing(10)) }),\n },\n xAxis: {\n type: 'value',\n axisLine: { show: false },\n axisTick: { show: false },\n\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n showMinLabel: true,\n showMaxLabel: true,\n hideOverlap: true,\n padding: [\n parseInt(theme.spacing(0.5)),\n parseInt(theme.spacing(0.5)),\n 0,\n parseInt(theme.spacing(0.5)),\n ],\n color: theme.palette.black[60],\n },\n splitLine: {\n show: true,\n lineStyle: { color: theme.palette.black[4] },\n },\n },\n yAxis: {\n type: 'value',\n axisLabel: {\n fontSize: theme.typography.overlineDelicate.fontSize,\n fontFamily: theme.typography.overlineDelicate.fontFamily,\n inside: false,\n padding: [\n 0,\n 0,\n parseInt(theme.spacing(1.25)),\n parseInt(theme.spacing(3.25)),\n ],\n margin: 0,\n show: true,\n showMaxLabel: true,\n showMinLabel: false,\n align: 'right',\n verticalAlign: 'bottom',\n },\n axisLine: { show: false },\n axisTick: { show: false },\n splitLine: {\n show: true,\n lineStyle: { color: theme.palette.black[4] },\n },\n },\n tooltip: {\n trigger: 'item',\n // position: createTooltipPositioner(theme),\n },\n color: Object.values(theme.palette.qualitative.bold),\n series: data.map((_: unknown, index: number) => ({\n datasetIndex: index,\n type: 'scatter',\n symbolSize: 8,\n })),\n } as EchartOptionsProps\n}\n","import type { SxProps, Theme } from '@mui/material'\nimport { baseSkeletonStyles } from '../_shared/skeleton'\n\nexport const styles = {\n skeleton: {\n graph: {\n container: {\n ...baseSkeletonStyles.graph.container,\n position: 'relative',\n },\n },\n legend: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(2),\n height: ({ spacing }) => spacing(5),\n position: 'absolute',\n bottom: 0,\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nconst SCATTER_POINTS = [\n { left: '20%', top: '62%' },\n { left: '26%', top: '70%' },\n { left: '29%', top: '73%' },\n { left: '38%', top: '63%' },\n { left: '41%', top: '68%' },\n { left: '47%', top: '62%' },\n { left: '53%', top: '49%' },\n { left: '56%', top: '55%' },\n { left: '65%', top: '37%' },\n { left: '68%', top: '43%' },\n { left: '77%', top: '59%' },\n { left: '25%', top: '30%' },\n { left: '60%', top: '70%' },\n { left: '10%', top: '55%' },\n { left: '40%', top: '40%' },\n]\n\nexport function ScatterplotSkeleton() {\n return (\n <Box sx={styles.skeleton.graph.container}>\n {SCATTER_POINTS.map((point, index) => (\n <Skeleton\n key={index}\n variant='circular'\n width={12}\n height={12}\n sx={{\n position: 'absolute',\n top: point.top,\n left: point.left,\n transform: 'translate(-50%, -50%)',\n }}\n />\n ))}\n {/* Legend */}\n <Box sx={styles.skeleton.legend}>\n {Array(2)\n .fill(0)\n .map((_, i) => (\n <Box\n key={i}\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1.5),\n }}\n >\n <Skeleton variant='circular' width={8} height={8} />\n <Skeleton width={48} height={8} />\n </Box>\n ))}\n </Box>\n </Box>\n )\n}\n"],"names":["scatterplotDownloadConfig","refUI","downloadToPNG","modifier","downloadToCSV","data","rows","scatterplotDataToCSV","scatterplotConfig","props","type","option","mergeEchartWidgetConfig","getCommonOptions","getOption","theme","hasLegend","length","legend","buildLegendConfig","grid","bottom","parseInt","spacing","xAxis","axisLine","show","axisTick","axisLabel","fontSize","typography","overlineDelicate","fontFamily","showMinLabel","showMaxLabel","hideOverlap","padding","color","palette","black","splitLine","lineStyle","yAxis","inside","margin","align","verticalAlign","tooltip","trigger","Object","values","qualitative","bold","series","map","_","index","datasetIndex","symbolSize","styles","skeleton","graph","container","baseSkeletonStyles","position","display","alignItems","gap","height","SCATTER_POINTS","left","top","ScatterplotSkeleton","$","_c","t0","Symbol","for","_temp","t1","Box","jsx","Array","fill","_temp3","i","jsxs","_temp2","Skeleton","point","transform"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as S, jsxs as L } from "react/jsx-runtime";
2
2
  import { c as y } from "react/compiler-runtime";
3
3
  import { Typography as h, Button as u, Box as b } from "@mui/material";
4
- const C = {
4
+ const g = {
5
5
  root: {
6
6
  display: "flex",
7
7
  alignItems: "center",
@@ -29,12 +29,12 @@ function A(o) {
29
29
  let t;
30
30
  e[6] !== f || e[7] !== c || e[8] !== p ? (t = p && /* @__PURE__ */ S(u, { size: "small", variant: "text", onClick: c, children: f }), e[6] = f, e[7] = c, e[8] = p, e[9] = t) : t = e[9];
31
31
  let a;
32
- return e[10] !== l || e[11] !== t ? (a = /* @__PURE__ */ L(b, { sx: C.root, children: [
32
+ return e[10] !== l || e[11] !== t ? (a = /* @__PURE__ */ L(b, { sx: g.root, children: [
33
33
  l,
34
34
  t
35
35
  ] }), e[10] = l, e[11] = t, e[12] = a) : a = e[12], a;
36
36
  }
37
37
  export {
38
- A as SelectionSummary
38
+ A as WidgetSelectionSummary
39
39
  };
40
40
  //# sourceMappingURL=selection-summary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selection-summary.js","sources":["../../src/widgets/selection-summary/style.ts","../../src/widgets/selection-summary/selection-summary.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n alignItems: 'center',\n flex: '0 0 auto',\n gap: ({ spacing }) => spacing(0.5),\n },\n} satisfies Record<string, SxProps<Theme>>\n","/* Selection Summary Component */\n\nimport { Box, Button, Typography } from '@mui/material'\nimport type { SelectedProps, SelectionSummaryLabels } from './types'\nimport { styles } from './style'\n\nconst DEFAULT_SELECTION_LABELS: SelectionSummaryLabels = {\n allSelected: 'All selected',\n selections: (count: number) => `${count} selected`,\n clear: 'Clear',\n}\n\nexport function SelectionSummary({\n selections,\n onClear,\n labels,\n}: SelectedProps) {\n const allSelectedLabel =\n labels?.allSelected ?? DEFAULT_SELECTION_LABELS.allSelected\n\n const selectionsLabel =\n labels?.selections ?? DEFAULT_SELECTION_LABELS.selections\n\n const clearLabel = labels?.clear ?? DEFAULT_SELECTION_LABELS.clear\n\n const displayLabel =\n selections > 0 ? selectionsLabel(selections) : allSelectedLabel\n\n const showClearButton = selections > 0 && onClear\n\n return (\n <Box sx={styles.root}>\n <Typography variant='caption' color='textSecondary' fontWeight={500}>\n {displayLabel}\n </Typography>\n {showClearButton && (\n <Button size='small' variant='text' onClick={onClear}>\n {clearLabel}\n </Button>\n )}\n </Box>\n )\n}\n"],"names":["styles","root","display","alignItems","flex","gap","spacing","DEFAULT_SELECTION_LABELS","allSelected","selections","count","clear","SelectionSummary","t0","$","_c","onClear","labels","allSelectedLabel","selectionsLabel","clearLabel","t1","displayLabel","showClearButton","t2","jsx","Typography","t3","Button","t4","Box"],"mappings":";;;AAEO,MAAMA,IAAS;AAAA,EACpBC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTC,YAAY;AAAA,IACZC,MAAM;AAAA,IACNC,KAAKA,CAAC;AAAA,MAAEC,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,GAAG;AAAA,EAAA;AAErC,GCHMC,IAAmD;AAAA,EACvDC,aAAa;AAAA,EACbC,YAAYA,CAACC,MAAkB,GAAGA,CAAK;AAAA,EACvCC,OAAO;AACT;AAEO,SAAAC,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAA0B;AAAA,IAAAN,YAAAA;AAAAA,IAAAO,SAAAA;AAAAA,IAAAC,QAAAA;AAAAA,EAAAA,IAAAJ,GAK/BK,IACED,GAAMT,eAAiBD,EAAwBC,aAEjDW,IACEF,GAAMR,cAAgBF,EAAwBE,YAEhDW,IAAmBH,GAAMN,SAAWJ,EAAwBI;AAAM,MAAAU;AAAA,EAAAP,EAAA,CAAA,MAAAI,KAAAJ,SAAAL,KAAAK,EAAA,CAAA,MAAAK,KAGhEE,IAAAZ,IAAa,IAAIU,EAAgBV,CAA6B,IAA9DS,GAA+DJ,OAAAI,GAAAJ,OAAAL,GAAAK,OAAAK,GAAAL,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AADjE,QAAAQ,IACED,GAEFE,IAAwBd,IAAa,KAAbO;AAAyB,MAAAQ;AAAA,EAAAV,SAAAQ,KAI7CE,IAAA,gBAAAC,EAACC,KAAmB,SAAA,WAAgB,OAAA,iBAA4B,8BAEhE,GAAaZ,OAAAQ,GAAAR,OAAAU,KAAAA,IAAAV,EAAA,CAAA;AAAA,MAAAa;AAAA,EAAAb,EAAA,CAAA,MAAAM,KAAAN,SAAAE,KAAAF,EAAA,CAAA,MAAAS,KACZI,IAAAJ,uBACEK,GAAA,EAAY,MAAA,SAAgB,SAAA,QAAgBZ,SAAAA,GAC1CI,UAAAA,EAAAA,CACH,GACDN,OAAAM,GAAAN,OAAAE,GAAAF,OAAAS,GAAAT,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AAAA,MAAAe;AAAA,SAAAf,EAAA,EAAA,MAAAU,KAAAV,UAAAa,KARHE,sBAACC,GAAA,EAAQ,IAAA9B,EAAMC,MACbuB,UAAAA;AAAAA,IAAAA;AAAAA,IAGCG;AAAAA,EAAAA,GAKH,GAAMb,QAAAU,GAAAV,QAAAa,GAAAb,QAAAe,KAAAA,IAAAf,EAAA,EAAA,GATNe;AASM;"}
1
+ {"version":3,"file":"selection-summary.js","sources":["../../src/widgets/selection-summary/style.ts","../../src/widgets/selection-summary/selection-summary.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n alignItems: 'center',\n flex: '0 0 auto',\n gap: ({ spacing }) => spacing(0.5),\n },\n} satisfies Record<string, SxProps<Theme>>\n","/* Selection Summary Component */\n\nimport { Box, Button, Typography } from '@mui/material'\nimport type {\n WidgetSelectionSummaryProps,\n SelectionSummaryLabels,\n} from './types'\nimport { styles } from './style'\n\nconst DEFAULT_SELECTION_LABELS: SelectionSummaryLabels = {\n allSelected: 'All selected',\n selections: (count: number) => `${count} selected`,\n clear: 'Clear',\n}\n\nexport function WidgetSelectionSummary({\n selections,\n onClear,\n labels,\n}: WidgetSelectionSummaryProps) {\n const allSelectedLabel =\n labels?.allSelected ?? DEFAULT_SELECTION_LABELS.allSelected\n\n const selectionsLabel =\n labels?.selections ?? DEFAULT_SELECTION_LABELS.selections\n\n const clearLabel = labels?.clear ?? DEFAULT_SELECTION_LABELS.clear\n\n const displayLabel =\n selections > 0 ? selectionsLabel(selections) : allSelectedLabel\n\n const showClearButton = selections > 0 && onClear\n\n return (\n <Box sx={styles.root}>\n <Typography variant='caption' color='textSecondary' fontWeight={500}>\n {displayLabel}\n </Typography>\n {showClearButton && (\n <Button size='small' variant='text' onClick={onClear}>\n {clearLabel}\n </Button>\n )}\n </Box>\n )\n}\n"],"names":["styles","root","display","alignItems","flex","gap","spacing","DEFAULT_SELECTION_LABELS","allSelected","selections","count","clear","WidgetSelectionSummary","t0","$","_c","onClear","labels","allSelectedLabel","selectionsLabel","clearLabel","t1","displayLabel","showClearButton","t2","jsx","Typography","t3","Button","t4","Box"],"mappings":";;;AAEO,MAAMA,IAAS;AAAA,EACpBC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTC,YAAY;AAAA,IACZC,MAAM;AAAA,IACNC,KAAKA,CAAC;AAAA,MAAEC,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,GAAG;AAAA,EAAA;AAErC,GCAMC,IAAmD;AAAA,EACvDC,aAAa;AAAA,EACbC,YAAYA,CAACC,MAAkB,GAAGA,CAAK;AAAA,EACvCC,OAAO;AACT;AAEO,SAAAC,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAgC;AAAA,IAAAN,YAAAA;AAAAA,IAAAO,SAAAA;AAAAA,IAAAC,QAAAA;AAAAA,EAAAA,IAAAJ,GAKrCK,IACED,GAAMT,eAAiBD,EAAwBC,aAEjDW,IACEF,GAAMR,cAAgBF,EAAwBE,YAEhDW,IAAmBH,GAAMN,SAAWJ,EAAwBI;AAAM,MAAAU;AAAA,EAAAP,EAAA,CAAA,MAAAI,KAAAJ,SAAAL,KAAAK,EAAA,CAAA,MAAAK,KAGhEE,IAAAZ,IAAa,IAAIU,EAAgBV,CAA6B,IAA9DS,GAA+DJ,OAAAI,GAAAJ,OAAAL,GAAAK,OAAAK,GAAAL,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AADjE,QAAAQ,IACED,GAEFE,IAAwBd,IAAa,KAAbO;AAAyB,MAAAQ;AAAA,EAAAV,SAAAQ,KAI7CE,IAAA,gBAAAC,EAACC,KAAmB,SAAA,WAAgB,OAAA,iBAA4B,8BAEhE,GAAaZ,OAAAQ,GAAAR,OAAAU,KAAAA,IAAAV,EAAA,CAAA;AAAA,MAAAa;AAAA,EAAAb,EAAA,CAAA,MAAAM,KAAAN,SAAAE,KAAAF,EAAA,CAAA,MAAAS,KACZI,IAAAJ,uBACEK,GAAA,EAAY,MAAA,SAAgB,SAAA,QAAgBZ,SAAAA,GAC1CI,UAAAA,EAAAA,CACH,GACDN,OAAAM,GAAAN,OAAAE,GAAAF,OAAAS,GAAAT,OAAAa,KAAAA,IAAAb,EAAA,CAAA;AAAA,MAAAe;AAAA,SAAAf,EAAA,EAAA,MAAAU,KAAAV,UAAAa,KARHE,sBAACC,GAAA,EAAQ,IAAA9B,EAAMC,MACbuB,UAAAA;AAAAA,IAAAA;AAAAA,IAGCG;AAAAA,EAAAA,GAKH,GAAMb,QAAAU,GAAAV,QAAAa,GAAAb,QAAAe,KAAAA,IAAAf,EAAA,EAAA,GATNe;AASM;"}
@@ -1,12 +1,13 @@
1
1
  import { jsx as f, jsxs as W, Fragment as v } from "react/jsx-runtime";
2
2
  import { c as h } from "react/compiler-runtime";
3
- import { I as p, S as M, P as k, a as C } from "../series-6xp-KQ0S.js";
3
+ import { I as w, S as M, P as k, a as C } from "../series-6xp-KQ0S.js";
4
4
  import { u as y } from "../widget-store-DNyVElxd.js";
5
5
  import { useShallow as P } from "zustand/shallow";
6
6
  import { Box as T, Skeleton as F } from "@mui/material";
7
7
  import { R } from "../row-C_m1ovHv.js";
8
8
  import "@mui/icons-material";
9
9
  import { useRef as V, useEffect as _ } from "react";
10
+ import "react-markdown";
10
11
  import "html2canvas";
11
12
  import "../lasso-tool-CYn3ivf-.js";
12
13
  import "../cjs-D9ro6BXv.js";
@@ -17,7 +18,7 @@ import { d as $, a as I } from "../exports-Cr43OCul.js";
17
18
  function b(e) {
18
19
  const t = h(2);
19
20
  let i;
20
- return t[0] !== e ? (i = /* @__PURE__ */ f(p, { ...e, children: "-" }), t[0] = e, t[1] = i) : i = t[1], i;
21
+ return t[0] !== e ? (i = /* @__PURE__ */ f(w, { ...e, children: "-" }), t[0] = e, t[1] = i) : i = t[1], i;
21
22
  }
22
23
  const j = (e) => e.toString();
23
24
  function U(e) {
@@ -30,8 +31,8 @@ function U(e) {
30
31
  } = e, t[0] = e, t[1] = i, t[2] = o, t[3] = r) : (i = t[1], o = t[2], r = t[3]);
31
32
  const l = r === void 0 ? 0 : r;
32
33
  let n;
33
- t[4] !== i || t[5] !== l ? (n = (w) => {
34
- const S = w.getWidget(i);
34
+ t[4] !== i || t[5] !== l ? (n = (p) => {
35
+ const S = p.getWidget(i);
35
36
  return {
36
37
  min: S?.data[l]?.min,
37
38
  color: S?.data[l]?.color,
@@ -51,7 +52,7 @@ function U(e) {
51
52
  let a;
52
53
  t[9] !== g || t[10] !== x ? (a = g(x), t[9] = g, t[10] = x, t[11] = a) : a = t[11];
53
54
  let c;
54
- return t[12] !== o || t[13] !== d || t[14] !== a ? (c = /* @__PURE__ */ f(p, { TypographyProps: d, ...o, children: a }), t[12] = o, t[13] = d, t[14] = a, t[15] = c) : c = t[15], c;
55
+ return t[12] !== o || t[13] !== d || t[14] !== a ? (c = /* @__PURE__ */ f(w, { TypographyProps: d, ...o, children: a }), t[12] = o, t[13] = d, t[14] = a, t[15] = c) : c = t[15], c;
55
56
  }
56
57
  const B = (e) => e.toString();
57
58
  function D(e) {
@@ -64,8 +65,8 @@ function D(e) {
64
65
  } = e, t[0] = e, t[1] = i, t[2] = o, t[3] = r) : (i = t[1], o = t[2], r = t[3]);
65
66
  const l = r === void 0 ? 0 : r;
66
67
  let n;
67
- t[4] !== i || t[5] !== l ? (n = (w) => {
68
- const S = w.getWidget(i);
68
+ t[4] !== i || t[5] !== l ? (n = (p) => {
69
+ const S = p.getWidget(i);
69
70
  return {
70
71
  max: S?.data[l]?.max,
71
72
  color: S?.data[l]?.color,
@@ -85,9 +86,9 @@ function D(e) {
85
86
  let a;
86
87
  t[9] !== g || t[10] !== x ? (a = g(x), t[9] = g, t[10] = x, t[11] = a) : a = t[11];
87
88
  let c;
88
- return t[12] !== o || t[13] !== d || t[14] !== a ? (c = /* @__PURE__ */ f(p, { TypographyProps: d, ...o, children: a }), t[12] = o, t[13] = d, t[14] = a, t[15] = c) : c = t[15], c;
89
+ return t[12] !== o || t[13] !== d || t[14] !== a ? (c = /* @__PURE__ */ f(w, { TypographyProps: d, ...o, children: a }), t[12] = o, t[13] = d, t[14] = a, t[15] = c) : c = t[15], c;
89
90
  }
90
- function ot(e) {
91
+ function rt(e) {
91
92
  const t = h(9), i = V(null), o = y(E);
92
93
  let r, l;
93
94
  t[0] !== e.id || t[1] !== o ? (r = () => {
@@ -125,12 +126,12 @@ const G = {
125
126
  }
126
127
  }
127
128
  };
128
- function rt() {
129
+ function nt() {
129
130
  const e = h(1);
130
131
  let t;
131
132
  return e[0] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ f(T, { sx: G.row, "aria-label": "Spread skeleton", children: /* @__PURE__ */ f(F, { width: 120, height: 32 }) }), e[0] = t) : t = e[0], t;
132
133
  }
133
- function nt({
134
+ function lt({
134
135
  refUI: e
135
136
  }) {
136
137
  return [{
@@ -144,23 +145,23 @@ function nt({
144
145
  }
145
146
  }];
146
147
  }
147
- function lt() {
148
+ function dt() {
148
149
  return {
149
150
  series: []
150
151
  };
151
152
  }
152
153
  export {
153
- p as Item,
154
+ w as Item,
154
155
  D as MaxValue,
155
156
  U as MinValue,
156
157
  k as Prefix,
157
158
  R as Row,
158
159
  b as Separator,
159
160
  M as Series,
160
- rt as SpreadSkeleton,
161
- ot as SpreadUI,
161
+ nt as SpreadSkeleton,
162
+ rt as SpreadUI,
162
163
  C as Suffix,
163
- lt as spreadConfig,
164
- nt as spreadDownloadConfig
164
+ dt as spreadConfig,
165
+ lt as spreadDownloadConfig
165
166
  };
166
167
  //# sourceMappingURL=spread.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spread.js","sources":["../../src/widgets/spread/components/separator.tsx","../../src/widgets/spread/components/min-value.tsx","../../src/widgets/spread/components/max-value.tsx","../../src/widgets/spread/spread-ui.tsx","../../src/widgets/spread/style.ts","../../src/widgets/spread/skeleton.tsx","../../src/widgets/spread/config.ts"],"sourcesContent":["import { Item } from '../../formula/components/item'\nimport type { ItemProps } from '../../formula/types'\n\nexport function Separator(props: Omit<ItemProps, 'children'>) {\n return <Item {...props}>-</Item>\n}\n","import { type SpreadWidgetState, type ValueProps } from '../types'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport { Item } from '../../formula/components/item'\nimport { useShallow } from 'zustand/shallow'\n\nconst defaultFormatter = (value: number) => value.toString()\n\nexport function MinValue({ id, index = 0, ...props }: ValueProps) {\n const {\n min,\n color,\n formatter = defaultFormatter,\n } = useWidgetStore(\n useShallow((state) => {\n const widget = state.getWidget<SpreadWidgetState>(id)\n return {\n min: widget?.data[index]?.min,\n color: widget?.data[index]?.color,\n formatter: widget?.formatter,\n }\n }),\n )\n\n return (\n <Item TypographyProps={{ color }} {...props}>\n {formatter(min ?? 0)}\n </Item>\n )\n}\n","import { type SpreadWidgetState, type ValueProps } from '../types'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport { Item } from '../../formula/components/item'\nimport { useShallow } from 'zustand/shallow'\n\nconst defaultFormatter = (value: number) => value.toString()\n\nexport function MaxValue({ id, index = 0, ...props }: ValueProps) {\n const {\n max,\n color,\n formatter = defaultFormatter,\n } = useWidgetStore(\n useShallow((state) => {\n const widget = state.getWidget<SpreadWidgetState>(id)\n return {\n max: widget?.data[index]?.max,\n color: widget?.data[index]?.color,\n formatter: widget?.formatter,\n }\n }),\n )\n\n return (\n <Item TypographyProps={{ color }} {...props}>\n {formatter(max ?? 0)}\n </Item>\n )\n}\n","import type { SpreadUIProps } from './types'\n\nimport { Separator } from './components/separator'\nimport { MinValue } from './components/min-value'\nimport { MaxValue } from './components/max-value'\nimport { Prefix, Row, Suffix, Series } from '../formula'\nimport { useEffect, useRef } from 'react'\nimport { useWidgetStore } from '../stores'\nimport { Box } from '@mui/material'\n\nexport function SpreadUI(props: SpreadUIProps) {\n const ref = useRef<HTMLElement | null>(null)\n const setWidget = useWidgetStore((store) => store.setWidget)\n\n useEffect(() => {\n if (ref.current) {\n setWidget(props.id, { refUI: ref })\n }\n }, [props.id, setWidget])\n\n return (\n <Box ref={ref}>\n <Row id={props.id}>\n {({ index }) => (\n <>\n <Series id={props.id} index={index} />\n <Prefix id={props.id} index={index} />\n <MinValue id={props.id} index={index} />\n <Separator />\n <MaxValue id={props.id} index={index} />\n <Suffix id={props.id} index={index} />\n </>\n )}\n </Row>\n </Box>\n )\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(2),\n },\n item: {\n '&[data-disabled=\"true\"]': {\n color: (theme: Theme) => theme.palette.text.disabled,\n },\n },\n row: {\n display: 'flex',\n alignItems: 'center',\n gap: (theme: Theme) => theme.spacing(0.25),\n '& + &': {\n marginTop: (theme: Theme) => theme.spacing(1),\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nexport function SpreadSkeleton() {\n return (\n <Box sx={styles.row} aria-label='Spread skeleton'>\n <Skeleton width={120} height={32} />\n </Box>\n )\n}\n","import { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../root/types'\nimport type { SpreadWidgetConfig, SpreadWidgetData } from './types'\nimport type { SeriesConfig } from '../formula/types'\n\nexport interface SpreadConfigProps {\n formatter?: (value: number) => string\n series?: SeriesConfig[]\n}\n\nexport function spreadDownloadConfig({\n refUI,\n}: ConfigProps): DownloadItem<SpreadWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const rows = data.map((item) => [item.min, item.max])\n\n return downloadToCSV.modifier([['Min', 'Max'], ...rows])\n },\n },\n ]\n}\n\nexport function spreadConfig(): SpreadWidgetConfig {\n return {\n series: [],\n }\n}\n"],"names":["Separator","props","$","_c","t0","jsx","Item","defaultFormatter","value","toString","MinValue","id","t1","index","undefined","t2","state","widget","getWidget","min","data","color","formatter","t3","useWidgetStore","useShallow","t4","t5","t6","t7","MaxValue","max","SpreadUI","ref","useRef","setWidget","_temp","current","refUI","useEffect","jsxs","Fragment","Series","Prefix","Suffix","Box","Row","store","styles","row","display","alignItems","gap","theme","spacing","marginTop","SpreadSkeleton","Symbol","for","Skeleton","spreadDownloadConfig","downloadToPNG","modifier","downloadToCSV","rows","map","item","spreadConfig","series"],"mappings":"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"}
1
+ {"version":3,"file":"spread.js","sources":["../../src/widgets/spread/components/separator.tsx","../../src/widgets/spread/components/min-value.tsx","../../src/widgets/spread/components/max-value.tsx","../../src/widgets/spread/spread-ui.tsx","../../src/widgets/spread/style.ts","../../src/widgets/spread/skeleton.tsx","../../src/widgets/spread/config.ts"],"sourcesContent":["import { Item } from '../../formula/components/item'\nimport type { ItemProps } from '../../formula/types'\n\nexport function Separator(props: Omit<ItemProps, 'children'>) {\n return <Item {...props}>-</Item>\n}\n","import { type SpreadWidgetState, type ValueProps } from '../types'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport { Item } from '../../formula/components/item'\nimport { useShallow } from 'zustand/shallow'\n\nconst defaultFormatter = (value: number) => value.toString()\n\nexport function MinValue({ id, index = 0, ...props }: ValueProps) {\n const {\n min,\n color,\n formatter = defaultFormatter,\n } = useWidgetStore(\n useShallow((state) => {\n const widget = state.getWidget<SpreadWidgetState>(id)\n return {\n min: widget?.data[index]?.min,\n color: widget?.data[index]?.color,\n formatter: widget?.formatter,\n }\n }),\n )\n\n return (\n <Item TypographyProps={{ color }} {...props}>\n {formatter(min ?? 0)}\n </Item>\n )\n}\n","import { type SpreadWidgetState, type ValueProps } from '../types'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport { Item } from '../../formula/components/item'\nimport { useShallow } from 'zustand/shallow'\n\nconst defaultFormatter = (value: number) => value.toString()\n\nexport function MaxValue({ id, index = 0, ...props }: ValueProps) {\n const {\n max,\n color,\n formatter = defaultFormatter,\n } = useWidgetStore(\n useShallow((state) => {\n const widget = state.getWidget<SpreadWidgetState>(id)\n return {\n max: widget?.data[index]?.max,\n color: widget?.data[index]?.color,\n formatter: widget?.formatter,\n }\n }),\n )\n\n return (\n <Item TypographyProps={{ color }} {...props}>\n {formatter(max ?? 0)}\n </Item>\n )\n}\n","import type { SpreadUIProps } from './types'\n\nimport { Separator } from './components/separator'\nimport { MinValue } from './components/min-value'\nimport { MaxValue } from './components/max-value'\nimport { Prefix, Row, Suffix, Series } from '../formula'\nimport { useEffect, useRef } from 'react'\nimport { useWidgetStore } from '../stores'\nimport { Box } from '@mui/material'\n\nexport function SpreadUI(props: SpreadUIProps) {\n const ref = useRef<HTMLElement | null>(null)\n const setWidget = useWidgetStore((store) => store.setWidget)\n\n useEffect(() => {\n if (ref.current) {\n setWidget(props.id, { refUI: ref })\n }\n }, [props.id, setWidget])\n\n return (\n <Box ref={ref}>\n <Row id={props.id}>\n {({ index }) => (\n <>\n <Series id={props.id} index={index} />\n <Prefix id={props.id} index={index} />\n <MinValue id={props.id} index={index} />\n <Separator />\n <MaxValue id={props.id} index={index} />\n <Suffix id={props.id} index={index} />\n </>\n )}\n </Row>\n </Box>\n )\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: (theme: Theme) => theme.spacing(2),\n },\n item: {\n '&[data-disabled=\"true\"]': {\n color: (theme: Theme) => theme.palette.text.disabled,\n },\n },\n row: {\n display: 'flex',\n alignItems: 'center',\n gap: (theme: Theme) => theme.spacing(0.25),\n '& + &': {\n marginTop: (theme: Theme) => theme.spacing(1),\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box, Skeleton } from '@mui/material'\nimport { styles } from './style'\n\nexport function SpreadSkeleton() {\n return (\n <Box sx={styles.row} aria-label='Spread skeleton'>\n <Skeleton width={120} height={32} />\n </Box>\n )\n}\n","import { downloadToCSV, downloadToPNG, type DownloadItem } from '../actions'\nimport type { ConfigProps } from '../root/types'\nimport type { SpreadWidgetConfig, SpreadWidgetData } from './types'\nimport type { SeriesConfig } from '../formula/types'\n\nexport interface SpreadConfigProps {\n formatter?: (value: number) => string\n series?: SeriesConfig[]\n}\n\nexport function spreadDownloadConfig({\n refUI,\n}: ConfigProps): DownloadItem<SpreadWidgetData>[] {\n return [\n {\n ...downloadToPNG,\n modifier: () => downloadToPNG.modifier(refUI),\n },\n {\n ...downloadToCSV,\n modifier: async (data) => {\n const rows = data.map((item) => [item.min, item.max])\n\n return downloadToCSV.modifier([['Min', 'Max'], ...rows])\n },\n },\n ]\n}\n\nexport function spreadConfig(): SpreadWidgetConfig {\n return {\n series: [],\n }\n}\n"],"names":["Separator","props","$","_c","t0","jsx","Item","defaultFormatter","value","toString","MinValue","id","t1","index","undefined","t2","state","widget","getWidget","min","data","color","formatter","t3","useWidgetStore","useShallow","t4","t5","t6","t7","MaxValue","max","SpreadUI","ref","useRef","setWidget","_temp","current","refUI","useEffect","jsxs","Fragment","Series","Prefix","Suffix","Box","Row","store","styles","row","display","alignItems","gap","theme","spacing","marginTop","SpreadSkeleton","Symbol","for","Skeleton","spreadDownloadConfig","downloadToPNG","modifier","downloadToCSV","rows","map","item","spreadConfig","series"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { jsx as h, jsxs as m } from "react/jsx-runtime";
2
- import { c as g } from "react/compiler-runtime";
1
+ import { jsx as g, jsxs as m } from "react/jsx-runtime";
2
+ import { c as d } from "react/compiler-runtime";
3
3
  import { Box as x } from "@mui/material";
4
4
  const c = {
5
5
  root: {
@@ -26,7 +26,7 @@ const c = {
26
26
  }
27
27
  };
28
28
  function u(e) {
29
- const t = g(10), {
29
+ const t = d(10), {
30
30
  slotLeft: i,
31
31
  slotRight: n,
32
32
  sx: f
@@ -37,9 +37,9 @@ function u(e) {
37
37
  ...f
38
38
  }, t[0] = f, t[1] = l) : l = t[1];
39
39
  let s;
40
- t[2] !== i ? (s = i && /* @__PURE__ */ h(x, { sx: c.slotLeft, children: i }), t[2] = i, t[3] = s) : s = t[3];
40
+ t[2] !== i ? (s = i && /* @__PURE__ */ g(x, { sx: c.slotLeft, children: i }), t[2] = i, t[3] = s) : s = t[3];
41
41
  let o;
42
- t[4] !== n ? (o = /* @__PURE__ */ h(x, { sx: c.slotRight, children: n }), t[4] = n, t[5] = o) : o = t[5];
42
+ t[4] !== n ? (o = /* @__PURE__ */ g(x, { sx: c.slotRight, children: n }), t[4] = n, t[5] = o) : o = t[5];
43
43
  let r;
44
44
  return t[6] !== l || t[7] !== s || t[8] !== o ? (r = /* @__PURE__ */ m(x, { sx: l, children: [
45
45
  s,
@@ -47,6 +47,6 @@ function u(e) {
47
47
  ] }), t[6] = l, t[7] = s, t[8] = o, t[9] = r) : r = t[9], r;
48
48
  }
49
49
  export {
50
- u as Subheader
50
+ u as WidgetSubHeader
51
51
  };
52
52
  //# sourceMappingURL=subheader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subheader.js","sources":["../../src/widgets/subheader/style.ts","../../src/widgets/subheader/subheader.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1),\n minHeight: ({ spacing }) => spacing(3),\n },\n slotLeft: {\n flexShrink: 0,\n },\n slotRight: {\n flexGrow: 1,\n display: 'flex',\n justifyContent: 'flex-end',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1),\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box } from '@mui/material'\nimport { styles } from './style'\nimport type { SubheaderComponentProps } from './types'\n\nexport function Subheader({\n slotLeft,\n slotRight,\n sx,\n}: SubheaderComponentProps) {\n return (\n <Box sx={{ ...styles.root, ...sx }}>\n {slotLeft && <Box sx={styles.slotLeft}>{slotLeft}</Box>}\n <Box sx={styles.slotRight}>{slotRight}</Box>\n </Box>\n )\n}\n"],"names":["styles","root","display","alignItems","gap","spacing","minHeight","slotLeft","flexShrink","slotRight","flexGrow","justifyContent","Subheader","t0","$","_c","sx","t1","t2","jsx","Box","t3","t4"],"mappings":";;;AAEO,MAAMA,IAAS;AAAA,EACpBC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTC,YAAY;AAAA,IACZC,KAAKA,CAAC;AAAA,MAAEC,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,IAC/BC,WAAWA,CAAC;AAAA,MAAED,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,EAAA;AAAA,EAEvCE,UAAU;AAAA,IACRC,YAAY;AAAA,EAAA;AAAA,EAEdC,WAAW;AAAA,IACTC,UAAU;AAAA,IACVR,SAAS;AAAA,IACTS,gBAAgB;AAAA,IAChBR,YAAY;AAAA,IACZC,KAAKA,CAAC;AAAA,MAAEC,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,EAAA;AAEnC;ACfO,SAAAO,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAmB;AAAA,IAAAR,UAAAA;AAAAA,IAAAE,WAAAA;AAAAA,IAAAO,IAAAA;AAAAA,EAAAA,IAAAH;AAIA,MAAAI;AAAA,EAAAH,SAAAE,KAEbC,IAAA;AAAA,IAAA,GAAKjB,EAAMC;AAAAA,IAAK,GAAKe;AAAAA,EAAAA,GAAIF,OAAAE,GAAAF,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAAA,MAAAI;AAAA,EAAAJ,SAAAP,KAC/BW,IAAAX,KAAY,gBAAAY,EAACC,GAAA,EAAQ,IAAApB,EAAMO,uBAAqB,GAAMO,OAAAP,GAAAO,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAAA,MAAAO;AAAA,EAAAP,SAAAL,KACvDY,IAAA,gBAAAF,EAACC,GAAA,EAAQ,IAAApB,EAAMS,WAAaA,UAAAA,GAAU,GAAMK,OAAAL,GAAAK,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAA,MAAAQ;AAAA,SAAAR,EAAA,CAAA,MAAAG,KAAAH,SAAAI,KAAAJ,EAAA,CAAA,MAAAO,KAF9CC,sBAACF,GAAA,EAAQ,IAAAH,GACNC,UAAAA;AAAAA,IAAAA;AAAAA,IACDG;AAAAA,EAAAA,GACF,GAAMP,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAO,GAAAP,OAAAQ,KAAAA,IAAAR,EAAA,CAAA,GAHNQ;AAGM;"}
1
+ {"version":3,"file":"subheader.js","sources":["../../src/widgets/subheader/style.ts","../../src/widgets/subheader/subheader.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n display: 'flex',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1),\n minHeight: ({ spacing }) => spacing(3),\n },\n slotLeft: {\n flexShrink: 0,\n },\n slotRight: {\n flexGrow: 1,\n display: 'flex',\n justifyContent: 'flex-end',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(1),\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box } from '@mui/material'\nimport { styles } from './style'\nimport type { WidgetSubHeaderProps } from './types'\n\nexport function WidgetSubHeader({\n slotLeft,\n slotRight,\n sx,\n}: WidgetSubHeaderProps) {\n return (\n <Box sx={{ ...styles.root, ...sx }}>\n {slotLeft && <Box sx={styles.slotLeft}>{slotLeft}</Box>}\n <Box sx={styles.slotRight}>{slotRight}</Box>\n </Box>\n )\n}\n"],"names":["styles","root","display","alignItems","gap","spacing","minHeight","slotLeft","flexShrink","slotRight","flexGrow","justifyContent","WidgetSubHeader","t0","$","_c","sx","t1","t2","jsx","Box","t3","t4"],"mappings":";;;AAEO,MAAMA,IAAS;AAAA,EACpBC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTC,YAAY;AAAA,IACZC,KAAKA,CAAC;AAAA,MAAEC,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,IAC/BC,WAAWA,CAAC;AAAA,MAAED,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,EAAA;AAAA,EAEvCE,UAAU;AAAA,IACRC,YAAY;AAAA,EAAA;AAAA,EAEdC,WAAW;AAAA,IACTC,UAAU;AAAA,IACVR,SAAS;AAAA,IACTS,gBAAgB;AAAA,IAChBR,YAAY;AAAA,IACZC,KAAKA,CAAC;AAAA,MAAEC,SAAAA;AAAAA,IAAAA,MAAcA,EAAQ,CAAC;AAAA,EAAA;AAEnC;ACfO,SAAAO,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAyB;AAAA,IAAAR,UAAAA;AAAAA,IAAAE,WAAAA;AAAAA,IAAAO,IAAAA;AAAAA,EAAAA,IAAAH;AAIT,MAAAI;AAAA,EAAAH,SAAAE,KAEVC,IAAA;AAAA,IAAA,GAAKjB,EAAMC;AAAAA,IAAK,GAAKe;AAAAA,EAAAA,GAAIF,OAAAE,GAAAF,OAAAG,KAAAA,IAAAH,EAAA,CAAA;AAAA,MAAAI;AAAA,EAAAJ,SAAAP,KAC/BW,IAAAX,KAAY,gBAAAY,EAACC,GAAA,EAAQ,IAAApB,EAAMO,uBAAqB,GAAMO,OAAAP,GAAAO,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAAA,MAAAO;AAAA,EAAAP,SAAAL,KACvDY,IAAA,gBAAAF,EAACC,GAAA,EAAQ,IAAApB,EAAMS,WAAaA,UAAAA,GAAU,GAAMK,OAAAL,GAAAK,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAA,MAAAQ;AAAA,SAAAR,EAAA,CAAA,MAAAG,KAAAH,SAAAI,KAAAJ,EAAA,CAAA,MAAAO,KAF9CC,sBAACF,GAAA,EAAQ,IAAAH,GACNC,UAAAA;AAAAA,IAAAA;AAAAA,IACDG;AAAAA,EAAAA,GACF,GAAMP,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAO,GAAAP,OAAAQ,KAAAA,IAAAR,EAAA,CAAA,GAHNQ;AAGM;"}