@carto/ps-react-ui 4.4.2 → 4.5.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.
- package/dist/download-config-DemuQ3Jm.js +56 -0
- package/dist/download-config-DemuQ3Jm.js.map +1 -0
- package/dist/error-Cj8eUMrl.js +40 -0
- package/dist/error-Cj8eUMrl.js.map +1 -0
- package/dist/formatter-B9Bxn1k7.js +6 -0
- package/dist/formatter-B9Bxn1k7.js.map +1 -0
- package/dist/no-data-DkIt7Qt1.js +61 -0
- package/dist/no-data-DkIt7Qt1.js.map +1 -0
- package/dist/row-D4VOhcNI.js +34 -0
- package/dist/row-D4VOhcNI.js.map +1 -0
- package/dist/series-Bola3CmD.js +90 -0
- package/dist/series-Bola3CmD.js.map +1 -0
- package/dist/styles-Y8q7Jff3.js +118 -0
- package/dist/styles-Y8q7Jff3.js.map +1 -0
- package/dist/types/widgets/actions/brush-toggle/types.d.ts +8 -2
- package/dist/types/widgets/category/components/category-row-multi.d.ts +2 -1
- package/dist/types/widgets/category/components/category-row-single.d.ts +2 -1
- package/dist/types/widgets/category/types.d.ts +1 -0
- package/dist/types/widgets/echart/shared-resize-observer.d.ts +12 -0
- package/dist/types/widgets/echart/types.d.ts +2 -0
- package/dist/types/widgets/histogram/config.d.ts +15 -3
- package/dist/types/widgets/histogram/index.d.ts +2 -1
- package/dist/types/widgets/histogram/types.d.ts +6 -3
- package/dist/types/widgets/stores/index.d.ts +2 -1
- package/dist/types/widgets/stores/types.d.ts +2 -0
- package/dist/types/widgets/stores/use-widget-selector.d.ts +35 -0
- package/dist/types/widgets/stores/widget-store-performance.test.d.ts +1 -0
- package/dist/types/widgets/stores/widget-store.d.ts +49 -27
- package/dist/types/widgets/table/types.d.ts +1 -1
- package/dist/types/widgets/utils/chart-config/index.d.ts +1 -1
- package/dist/types/widgets/utils/chart-config/option-builders.d.ts +13 -8
- package/dist/types/widgets/utils/formatter.d.ts +1 -0
- package/dist/types/widgets/utils/index.d.ts +1 -1
- package/dist/use-widget-ref-BFazQvJK.js +22 -0
- package/dist/use-widget-ref-BFazQvJK.js.map +1 -0
- package/dist/use-widget-selector-DqRmWQ1K.js +12 -0
- package/dist/use-widget-selector-DqRmWQ1K.js.map +1 -0
- package/dist/widget-store-CIrb9RKP.js +263 -0
- package/dist/widget-store-CIrb9RKP.js.map +1 -0
- package/dist/widgets/actions.js +799 -817
- package/dist/widgets/actions.js.map +1 -1
- package/dist/widgets/bar.js +53 -47
- package/dist/widgets/bar.js.map +1 -1
- package/dist/widgets/category.js +261 -255
- package/dist/widgets/category.js.map +1 -1
- package/dist/widgets/echart.js +109 -99
- package/dist/widgets/echart.js.map +1 -1
- package/dist/widgets/error.js +1 -1
- package/dist/widgets/formula.js +71 -63
- package/dist/widgets/formula.js.map +1 -1
- package/dist/widgets/histogram.js +119 -80
- package/dist/widgets/histogram.js.map +1 -1
- package/dist/widgets/loader.js +53 -60
- package/dist/widgets/loader.js.map +1 -1
- package/dist/widgets/markdown.js +51 -50
- package/dist/widgets/markdown.js.map +1 -1
- package/dist/widgets/no-data.js +1 -1
- package/dist/widgets/pie.js +111 -99
- package/dist/widgets/pie.js.map +1 -1
- package/dist/widgets/range.js +146 -144
- package/dist/widgets/range.js.map +1 -1
- package/dist/widgets/scatterplot.js +50 -44
- package/dist/widgets/scatterplot.js.map +1 -1
- package/dist/widgets/skeleton-loader.js +18 -17
- package/dist/widgets/skeleton-loader.js.map +1 -1
- package/dist/widgets/spread.js +110 -94
- package/dist/widgets/spread.js.map +1 -1
- package/dist/widgets/stores.js +5 -2
- package/dist/widgets/stores.js.map +1 -1
- package/dist/widgets/table.js +422 -436
- package/dist/widgets/table.js.map +1 -1
- package/dist/widgets/timeseries.js +52 -46
- package/dist/widgets/timeseries.js.map +1 -1
- package/dist/widgets/toolbar-actions.js +101 -6693
- package/dist/widgets/toolbar-actions.js.map +1 -1
- package/dist/widgets/utils.js +16 -14
- package/dist/widgets/utils.js.map +1 -1
- package/dist/widgets/wrapper.js +156 -158
- package/dist/widgets/wrapper.js.map +1 -1
- package/dist/widgets.js +4 -4
- package/package.json +5 -4
- package/src/hooks/use-widget-ref.ts +3 -4
- package/src/widgets/README.md +3 -3
- package/src/widgets/actions/brush-toggle/brush-toggle.tsx +60 -79
- package/src/widgets/actions/brush-toggle/types.ts +8 -2
- package/src/widgets/actions/change-column/change-column.tsx +15 -15
- package/src/widgets/actions/change-column/sortable-column-item.tsx +3 -1
- package/src/widgets/actions/download/download.tsx +4 -3
- package/src/widgets/actions/fullscreen/fullscreen.tsx +7 -11
- package/src/widgets/actions/lock-selection/lock-selection.tsx +12 -15
- package/src/widgets/actions/relative-data/relative-data.tsx +22 -26
- package/src/widgets/actions/searcher/searcher-toggle.tsx +11 -12
- package/src/widgets/actions/searcher/searcher.tsx +20 -21
- package/src/widgets/actions/stack-toggle/stack-toggle.tsx +15 -21
- package/src/widgets/actions/zoom-toggle/zoom-toggle.tsx +27 -43
- package/src/widgets/bar/config.ts +22 -14
- package/src/widgets/category/category-ui.tsx +31 -27
- package/src/widgets/category/components/category-row-multi.tsx +6 -2
- package/src/widgets/category/components/category-row-single.tsx +5 -1
- package/src/widgets/category/types.ts +1 -0
- package/src/widgets/echart/echart-ui.test.tsx +20 -16
- package/src/widgets/echart/echart-ui.tsx +6 -12
- package/src/widgets/echart/echart.tsx +13 -27
- package/src/widgets/echart/shared-resize-observer.ts +45 -0
- package/src/widgets/echart/types.ts +2 -0
- package/src/widgets/error/error.tsx +7 -9
- package/src/widgets/formula/components/prefix.tsx +4 -6
- package/src/widgets/formula/components/row.tsx +4 -4
- package/src/widgets/formula/components/series.tsx +4 -6
- package/src/widgets/formula/components/suffix.tsx +4 -6
- package/src/widgets/formula/components/value.tsx +9 -16
- package/src/widgets/histogram/config.ts +101 -20
- package/src/widgets/histogram/index.ts +6 -1
- package/src/widgets/histogram/types.ts +9 -3
- package/src/widgets/loader/loader.tsx +31 -44
- package/src/widgets/markdown/markdown.tsx +4 -7
- package/src/widgets/no-data/no-data.tsx +7 -10
- package/src/widgets/pie/config.ts +17 -5
- package/src/widgets/range/components/range-item.tsx +20 -18
- package/src/widgets/scatterplot/config.ts +8 -3
- package/src/widgets/skeleton-loader/skeleton-loader.tsx +2 -5
- package/src/widgets/spread/components/max-value.tsx +14 -16
- package/src/widgets/spread/components/min-value.tsx +14 -16
- package/src/widgets/stores/index.ts +2 -1
- package/src/widgets/stores/types.ts +2 -0
- package/src/widgets/stores/use-widget-selector.ts +47 -0
- package/src/widgets/stores/widget-store-performance.test.ts +750 -0
- package/src/widgets/stores/widget-store.test.ts +81 -0
- package/src/widgets/stores/widget-store.ts +225 -44
- package/src/widgets/table/config.ts +0 -1
- package/src/widgets/table/hooks/use-pagination.ts +28 -52
- package/src/widgets/table/hooks/use-selection.ts +20 -24
- package/src/widgets/table/hooks/use-sort.ts +22 -39
- package/src/widgets/table/types.ts +1 -1
- package/src/widgets/timeseries/config.ts +21 -13
- package/src/widgets/utils/chart-config/index.ts +1 -1
- package/src/widgets/utils/chart-config/option-builders.ts +22 -12
- package/src/widgets/utils/formatter.ts +2 -1
- package/src/widgets/utils/index.ts +1 -1
- package/src/widgets/wrapper/wrapper-ui.tsx +12 -13
- package/src/widgets/wrapper/wrapper.tsx +4 -6
- package/dist/error-CEkRPccv.js +0 -39
- package/dist/error-CEkRPccv.js.map +0 -1
- package/dist/formatter-B1Xh8XDH.js +0 -5
- package/dist/formatter-B1Xh8XDH.js.map +0 -1
- package/dist/no-data-hR3KcJ-_.js +0 -60
- package/dist/no-data-hR3KcJ-_.js.map +0 -1
- package/dist/row-DTCV0Ocm.js +0 -35
- package/dist/row-DTCV0Ocm.js.map +0 -1
- package/dist/series-CYNOu2Ju.js +0 -91
- package/dist/series-CYNOu2Ju.js.map +0 -1
- package/dist/styles-C_8vOEep.js +0 -167
- package/dist/styles-C_8vOEep.js.map +0 -1
- package/dist/use-widget-ref-wtFLDFCD.js +0 -25
- package/dist/use-widget-ref-wtFLDFCD.js.map +0 -1
- package/dist/widget-store-CzDt8oSK.js +0 -163
- package/dist/widget-store-CzDt8oSK.js.map +0 -1
|
@@ -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 createTooltipFormatter,\n createChartDownloadConfig,\n applyYAxisFormatter,\n} from '../utils/chart-config'\n\nexport const scatterplotDownloadConfig =\n createChartDownloadConfig<ScatterplotWidgetData>(scatterplotDataToCSV)\n\n/**\n * Generates ECharts configuration for X-Y scatter plot widgets with value axes, legend support, and CARTO qualitative color palette.\n *\n * @param props - Scatterplot configuration including data points and theme.\n * @returns Widget config with ECharts option object.\n */\nexport function scatterplotConfig(\n props: ScatterplotConfig,\n): ScatterplotWidgetConfig {\n return {\n type: 'scatterplot',\n option: mergeEchartWidgetConfig(getCommonOptions(props), getOption(props)),\n formatter: props.formatter,\n }\n}\n\nfunction getOption({\n data = [],\n theme,\n formatter,\n}: ScatterplotConfig): EchartOptionsProps {\n const hasLegend = data.length > 1\n\n const xAxis = {\n type: 'value' as const,\n axisLine: { show: false },\n axisTick: { show: false },\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\n const yAxis = {\n type: 'value' as const,\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\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 yAxis: applyYAxisFormatter(yAxis, formatter),\n tooltip: {\n trigger: 'item',\n // position: createTooltipPositioner(theme),\n formatter: createTooltipFormatter((item) => {\n const value = item.value as Record<string, string | number>\n const index = item.encode?.y?.at(0)\n const _value = value[index ?? '']\n\n const formattedValue =\n typeof _value === 'number' && formatter\n ? formatter(_value)\n : (_value ?? '')\n const marker = typeof item.marker === 'string' ? item.marker : ''\n const name = item.seriesName ?? ''\n\n return { name, seriesName: '', marker, value: formattedValue }\n }),\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 '../utils/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={`skeleton-point-${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={`skeleton-${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","createChartDownloadConfig","scatterplotDataToCSV","scatterplotConfig","props","type","option","mergeEchartWidgetConfig","getCommonOptions","getOption","formatter","data","theme","hasLegend","length","xAxis","axisLine","show","axisTick","axisLabel","fontSize","typography","overlineDelicate","fontFamily","showMinLabel","showMaxLabel","hideOverlap","padding","parseInt","spacing","color","palette","black","splitLine","lineStyle","yAxis","inside","margin","align","verticalAlign","legend","buildLegendConfig","grid","bottom","applyYAxisFormatter","tooltip","trigger","createTooltipFormatter","item","value","index","encode","y","at","_value","formattedValue","marker","name","seriesName","Object","values","qualitative","bold","series","map","_","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
|
+
{"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 createTooltipFormatter,\n createChartDownloadConfig,\n applyYAxisFormatter,\n applyXAxisFormatter,\n} from '../utils/chart-config'\n\nexport const scatterplotDownloadConfig =\n createChartDownloadConfig<ScatterplotWidgetData>(scatterplotDataToCSV)\n\n/**\n * Generates ECharts configuration for X-Y scatter plot widgets with value axes, legend support, and CARTO qualitative color palette.\n *\n * @param props - Scatterplot configuration including data points and theme.\n * @returns Widget config with ECharts option object.\n */\nexport function scatterplotConfig(\n props: ScatterplotConfig,\n): ScatterplotWidgetConfig {\n return {\n type: 'scatterplot',\n option: mergeEchartWidgetConfig(getCommonOptions(props), getOption(props)),\n formatter: props.formatter,\n labelFormatter: props.labelFormatter,\n }\n}\n\nfunction getOption({\n data = [],\n theme,\n formatter,\n labelFormatter,\n}: ScatterplotConfig): EchartOptionsProps {\n const hasLegend = data.length > 1\n\n const xAxis = {\n type: 'value' as const,\n axisLine: { show: false },\n axisTick: { show: false },\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\n const yAxis = {\n type: 'value' as const,\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\n return {\n legend: buildLegendConfig({ hasLegend, labelFormatter }),\n grid: {\n ...(!hasLegend && { bottom: parseInt(theme.spacing(1)) }),\n ...(hasLegend && { bottom: parseInt(theme.spacing(10)) }),\n },\n xAxis: applyXAxisFormatter(xAxis, labelFormatter),\n yAxis: applyYAxisFormatter(yAxis, formatter),\n tooltip: {\n trigger: 'item',\n // position: createTooltipPositioner(theme),\n formatter: createTooltipFormatter((item) => {\n const value = item.value as Record<string, string | number>\n const index = item.encode?.y?.at(0)\n const _value = value[index ?? '']\n\n const formattedValue =\n typeof _value === 'number' && formatter\n ? formatter(_value)\n : (_value ?? '')\n const marker = typeof item.marker === 'string' ? item.marker : ''\n const name = labelFormatter\n ? String(labelFormatter(item.seriesName ?? ''))\n : (item.seriesName ?? '')\n\n return { name, seriesName: '', marker, value: formattedValue }\n }),\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 '../utils/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={`skeleton-point-${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={`skeleton-${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","createChartDownloadConfig","scatterplotDataToCSV","scatterplotConfig","props","type","option","mergeEchartWidgetConfig","getCommonOptions","getOption","formatter","labelFormatter","data","theme","hasLegend","length","xAxis","axisLine","show","axisTick","axisLabel","fontSize","typography","overlineDelicate","fontFamily","showMinLabel","showMaxLabel","hideOverlap","padding","parseInt","spacing","color","palette","black","splitLine","lineStyle","yAxis","inside","margin","align","verticalAlign","legend","buildLegendConfig","grid","bottom","applyXAxisFormatter","applyYAxisFormatter","tooltip","trigger","createTooltipFormatter","item","value","index","encode","y","at","_value","formattedValue","marker","name","String","seriesName","Object","values","qualitative","bold","series","map","_","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":";;;;;;;;;;;AAmBO,MAAMA,IACXC,EAAiDC,CAAoB;AAQhE,SAASC,EACdC,GACyB;AACzB,SAAO;AAAA,IACLC,MAAM;AAAA,IACNC,QAAQC,EAAwBC,EAAiBJ,CAAK,GAAGK,EAAUL,CAAK,CAAC;AAAA,IACzEM,WAAWN,EAAMM;AAAAA,IACjBC,gBAAgBP,EAAMO;AAAAA,EAAAA;AAE1B;AAEA,SAASF,EAAU;AAAA,EACjBG,MAAAA,IAAO,CAAA;AAAA,EACPC,OAAAA;AAAAA,EACAH,WAAAA;AAAAA,EACAC,gBAAAA;AACiB,GAAuB;AACxC,QAAMG,IAAYF,EAAKG,SAAS,GAE1BC,IAAQ;AAAA,IACZX,MAAM;AAAA,IACNY,UAAU;AAAA,MAAEC,MAAM;AAAA,IAAA;AAAA,IAClBC,UAAU;AAAA,MAAED,MAAM;AAAA,IAAA;AAAA,IAClBE,WAAW;AAAA,MACTC,UAAUR,EAAMS,WAAWC,iBAAiBF;AAAAA,MAC5CG,YAAYX,EAAMS,WAAWC,iBAAiBC;AAAAA,MAC9CC,cAAc;AAAA,MACdC,cAAc;AAAA,MACdC,aAAa;AAAA,MACbC,SAAS,CACPC,SAAShB,EAAMiB,QAAQ,GAAG,CAAC,GAC3BD,SAAShB,EAAMiB,QAAQ,GAAG,CAAC,GAC3B,GACAD,SAAShB,EAAMiB,QAAQ,GAAG,CAAC,CAAC;AAAA,MAE9BC,OAAOlB,EAAMmB,QAAQC,MAAM,EAAE;AAAA,IAAA;AAAA,IAE/BC,WAAW;AAAA,MACThB,MAAM;AAAA,MACNiB,WAAW;AAAA,QAAEJ,OAAOlB,EAAMmB,QAAQC,MAAM,CAAC;AAAA,MAAA;AAAA,IAAE;AAAA,EAC7C,GAGIG,IAAQ;AAAA,IACZ/B,MAAM;AAAA,IACNe,WAAW;AAAA,MACTC,UAAUR,EAAMS,WAAWC,iBAAiBF;AAAAA,MAC5CG,YAAYX,EAAMS,WAAWC,iBAAiBC;AAAAA,MAC9Ca,QAAQ;AAAA,MACRT,SAAS,CACP,GACA,GACAC,SAAShB,EAAMiB,QAAQ,IAAI,CAAC,GAC5BD,SAAShB,EAAMiB,QAAQ,IAAI,CAAC,CAAC;AAAA,MAE/BQ,QAAQ;AAAA,MACRpB,MAAM;AAAA,MACNQ,cAAc;AAAA,MACdD,cAAc;AAAA,MACdc,OAAO;AAAA,MACPC,eAAe;AAAA,IAAA;AAAA,IAEjBvB,UAAU;AAAA,MAAEC,MAAM;AAAA,IAAA;AAAA,IAClBC,UAAU;AAAA,MAAED,MAAM;AAAA,IAAA;AAAA,IAClBgB,WAAW;AAAA,MACThB,MAAM;AAAA,MACNiB,WAAW;AAAA,QAAEJ,OAAOlB,EAAMmB,QAAQC,MAAM,CAAC;AAAA,MAAA;AAAA,IAAE;AAAA,EAC7C;AAGF,SAAO;AAAA,IACLQ,QAAQC,EAAkB;AAAA,MAAE5B,WAAAA;AAAAA,MAAWH,gBAAAA;AAAAA,IAAAA,CAAgB;AAAA,IACvDgC,MAAM;AAAA,MACJ,GAAI,CAAC7B,KAAa;AAAA,QAAE8B,QAAQf,SAAShB,EAAMiB,QAAQ,CAAC,CAAC;AAAA,MAAA;AAAA,MACrD,GAAIhB,KAAa;AAAA,QAAE8B,QAAQf,SAAShB,EAAMiB,QAAQ,EAAE,CAAC;AAAA,MAAA;AAAA,IAAE;AAAA,IAEzDd,OAAO6B,EAAoB7B,GAAOL,CAAc;AAAA,IAChDyB,OAAOU,EAAoBV,GAAO1B,CAAS;AAAA,IAC3CqC,SAAS;AAAA,MACPC,SAAS;AAAA;AAAA,MAETtC,WAAWuC,EAAwBC,CAAAA,MAAS;AAC1C,cAAMC,IAAQD,EAAKC,OACbC,IAAQF,EAAKG,QAAQC,GAAGC,GAAG,CAAC,GAC5BC,IAASL,EAAMC,KAAS,EAAE,GAE1BK,IACJ,OAAOD,KAAW,YAAY9C,IAC1BA,EAAU8C,CAAM,IACfA,KAAU,IACXE,IAAS,OAAOR,EAAKQ,UAAW,WAAWR,EAAKQ,SAAS;AAK/D,eAAO;AAAA,UAAEC,MAJIhD,IACTiD,OAAOjD,EAAeuC,EAAKW,cAAc,EAAE,CAAC,IAC3CX,EAAKW,cAAc;AAAA,UAETA,YAAY;AAAA,UAAIH,QAAAA;AAAAA,UAAQP,OAAOM;AAAAA,QAAAA;AAAAA,MAChD,CAAC;AAAA,IAAA;AAAA,IAEH1B,OAAO+B,OAAOC,OAAOlD,EAAMmB,QAAQgC,YAAYC,IAAI;AAAA,IACnDC,QAAQtD,EAAKuD,IAAI,CAACC,GAAYhB,OAAmB;AAAA,MAC/CiB,cAAcjB;AAAAA,MACd/C,MAAM;AAAA,MACNiE,YAAY;AAAA,IAAA,EACZ;AAAA,EAAA;AAEN;AClIO,MAAMC,IAAS;AAAA,EACpBC,UAAU;AAAA,IACRC,OAAO;AAAA,MACLC,WAAW;AAAA,QACT,GAAGC,EAAmBF,MAAMC;AAAAA,QAC5BE,UAAU;AAAA,MAAA;AAAA,IACZ;AAAA,IAEFnC,QAAQ;AAAA,MACNoC,SAAS;AAAA,MACTC,YAAY;AAAA,MACZC,KAAKA,CAAC;AAAA,QAAEjD,SAAAA;AAAAA,MAAAA,MAAcA,EAAQ,CAAC;AAAA,MAC/BkD,QAAQA,CAAC;AAAA,QAAElD,SAAAA;AAAAA,MAAAA,MAAcA,EAAQ,CAAC;AAAA,MAClC8C,UAAU;AAAA,MACVhC,QAAQ;AAAA,IAAA;AAAA,EACV;AAEJ,GCjBMqC,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,uBAAAC,IAAA,2BAAA,KAGAF,IAAAN,EAAcd,IAAKuB,CAanB,GAACL,OAAAE,KAAAA,IAAAF,EAAA,CAAA;AAAA,MAAAM;AAAA,SAAAN,EAAA,CAAA,MAAAG,uBAAAC,IAAA,2BAAA,KAdJE,sBAACC,GAAA,EAAQ,IAAArB,EAAMC,SAASC,MAAMC,WAC3Ba,UAAAA;AAAAA,IAAAA;AAAAA,IAeD,gBAAAM,EAACD,GAAA,EAAQ,IAAArB,EAAMC,SAAS/B,QACrBqD,UAAAA,MAAM,CAAC,EAACC,KACD,CAAC,EAAC5B,IACH6B,CAYJ,EAAA,CACL;AAAA,EAAA,GACF,GAAMX,OAAAM,KAAAA,IAAAN,EAAA,CAAA,GAjCNM;AAiCM;AAnCH,SAAAK,EAAA5B,GAAA6B,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,GARzB,YAAYH,CAAC,EASpB;AAAM;AAhCX,SAAAE,EAAAZ,GAAA;AA2Be,QAAA;AAAA,IAAAzD,SAAAA;AAAAA,EAAAA,IAAAyD;AAAW,SAAKzD,EAAQ,GAAG;AAAC;AA3B3C,SAAA4D,EAAAW,GAAAjD,GAAA;AAAA,SAIC,gBAAAyC,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,EACb,qBATuBlD,CAAK,EAS3B;AACD;"}
|
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { c as
|
|
3
|
-
import { u
|
|
4
|
-
import { Suspense as
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if (e[0] !== r ? (i = (o) => o.widgets[r]?.isLoading, e[0] = r, e[1] = i) : i = e[1], m(d(i))) {
|
|
14
|
-
if (!t)
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { c as s } from "react/compiler-runtime";
|
|
3
|
+
import { u } from "../use-widget-selector-DqRmWQ1K.js";
|
|
4
|
+
import { Suspense as c } from "react";
|
|
5
|
+
function L(r) {
|
|
6
|
+
const e = s(2), {
|
|
7
|
+
id: i,
|
|
8
|
+
children: l,
|
|
9
|
+
Skeleton: n
|
|
10
|
+
} = r;
|
|
11
|
+
if (u(i, f)) {
|
|
12
|
+
if (!n)
|
|
15
13
|
return null;
|
|
16
14
|
let o;
|
|
17
|
-
return e[
|
|
15
|
+
return e[0] !== n ? (o = /* @__PURE__ */ t(c, { fallback: null, children: /* @__PURE__ */ t(n, {}) }), e[0] = n, e[1] = o) : o = e[1], o;
|
|
18
16
|
}
|
|
19
|
-
return
|
|
17
|
+
return l;
|
|
18
|
+
}
|
|
19
|
+
function f(r) {
|
|
20
|
+
return r?.isLoading;
|
|
20
21
|
}
|
|
21
22
|
export {
|
|
22
|
-
|
|
23
|
+
L as SkeletonLoader
|
|
23
24
|
};
|
|
24
25
|
//# sourceMappingURL=skeleton-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton-loader.js","sources":["../../src/widgets/skeleton-loader/skeleton-loader.tsx"],"sourcesContent":["import type { SkeletonLoaderProps } from './types'\nimport {
|
|
1
|
+
{"version":3,"file":"skeleton-loader.js","sources":["../../src/widgets/skeleton-loader/skeleton-loader.tsx"],"sourcesContent":["import type { SkeletonLoaderProps } from './types'\nimport { useWidgetSelector } from '../stores/use-widget-selector'\nimport { Suspense } from 'react'\n\n/**\n * Displays a skeleton loading placeholder while widget data is loading. Subscribes to widget loading state in the store and renders the provided Skeleton component or children accordingly.\n *\n * @example\n * ```tsx\n * <SkeletonLoader id=\"sales-chart\" Skeleton={BarSkeleton}>\n * <Bar id=\"sales-chart\" />\n * </SkeletonLoader>\n * ```\n */\nexport function SkeletonLoader({\n id,\n children,\n Skeleton,\n}: SkeletonLoaderProps) {\n const isLoading = useWidgetSelector(id, (w) => w?.isLoading)\n\n if (isLoading) {\n if (!Skeleton) {\n return null\n }\n\n return (\n <Suspense fallback={null}>\n <Skeleton />\n </Suspense>\n )\n }\n\n return children\n}\n"],"names":["SkeletonLoader","t0","$","_c","id","children","Skeleton","useWidgetSelector","_temp","t1","Suspense","jsx","w","isLoading"],"mappings":";;;;AAcO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAAwB;AAAA,IAAAC,IAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,UAAAA;AAAAA,EAAAA,IAAAL;AAO7B,MAFkBM,EAAkBH,GAAII,CAAmB,GAE9C;AACX,QAAI,CAACF;AAAQ,aACJ;AACR,QAAAG;AAAA,WAAAP,SAAAI,KAGCG,sBAACC,GAAA,EAAmB,UAAA,MAClB,UAAA,gBAAAC,EAACL,KAAQ,GACX,GAAWJ,OAAAI,GAAAJ,OAAAO,KAAAA,IAAAP,EAAA,CAAA,GAFXO;AAAAA,EAEW;AAEd,SAEMJ;AAAQ;AAnBV,SAAAG,EAAAI,GAAA;AAAA,SAK0CA,GAACC;AAAW;"}
|
package/dist/widgets/spread.js
CHANGED
|
@@ -1,146 +1,162 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { c as
|
|
3
|
-
import { I as
|
|
4
|
-
import { u as
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import
|
|
1
|
+
import { jsx as s, jsxs as M, Fragment as _ } from "react/jsx-runtime";
|
|
2
|
+
import { c as g } from "react/compiler-runtime";
|
|
3
|
+
import { I as w, S as k, P as C, a as R } from "../series-Bola3CmD.js";
|
|
4
|
+
import { u as T } from "../use-widget-selector-DqRmWQ1K.js";
|
|
5
|
+
import { d as $ } from "../formatter-B9Bxn1k7.js";
|
|
6
|
+
import { Box as I, Skeleton as V } from "@mui/material";
|
|
7
|
+
import "../widget-store-CIrb9RKP.js";
|
|
8
|
+
import "zustand/shallow";
|
|
9
|
+
import { R as b } from "../row-D4VOhcNI.js";
|
|
9
10
|
import "@mui/icons-material";
|
|
10
11
|
import "react";
|
|
11
|
-
import { u as j } from "../use-widget-ref-wtFLDFCD.js";
|
|
12
|
-
import "react-markdown";
|
|
13
12
|
import "html2canvas";
|
|
14
13
|
import "../lasso-tool-BYbxrJ-7.js";
|
|
15
14
|
import "../cjs-D4KH3azB.js";
|
|
16
15
|
import "@dnd-kit/core";
|
|
17
16
|
import "@dnd-kit/sortable";
|
|
18
17
|
import "@dnd-kit/utilities";
|
|
19
|
-
import {
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
import { u as j } from "../use-widget-ref-BFazQvJK.js";
|
|
19
|
+
import { d as y, a as P } from "../exports-Cr43OCul.js";
|
|
20
|
+
function v(e) {
|
|
21
|
+
const t = g(2);
|
|
22
22
|
let i;
|
|
23
|
-
return
|
|
23
|
+
return t[0] !== e ? (i = /* @__PURE__ */ s(w, { ...e, children: "-" }), t[0] = e, t[1] = i) : i = t[1], i;
|
|
24
24
|
}
|
|
25
|
-
function F(
|
|
26
|
-
const
|
|
27
|
-
let i,
|
|
28
|
-
|
|
25
|
+
function F(e) {
|
|
26
|
+
const t = g(15);
|
|
27
|
+
let i, r, o;
|
|
28
|
+
t[0] !== e ? ({
|
|
29
29
|
id: i,
|
|
30
|
-
index:
|
|
31
|
-
...
|
|
32
|
-
} =
|
|
33
|
-
const n =
|
|
34
|
-
let s;
|
|
35
|
-
e[4] !== i || e[5] !== n ? (s = (f) => f.getWidget(i)?.data[n]?.min, e[4] = i, e[5] = n, e[6] = s) : s = e[6];
|
|
36
|
-
const m = h(S(s));
|
|
37
|
-
let c;
|
|
38
|
-
e[7] !== i || e[8] !== n ? (c = (f) => f.getWidget(i)?.data[n]?.color, e[7] = i, e[8] = n, e[9] = c) : c = e[9];
|
|
39
|
-
const u = h(S(c)), p = h(S((f) => f.getWidget(i)?.formatter)) ?? T;
|
|
40
|
-
let l;
|
|
41
|
-
e[10] !== u ? (l = {
|
|
42
|
-
color: u
|
|
43
|
-
}, e[10] = u, e[11] = l) : l = e[11];
|
|
44
|
-
const x = m ?? 0;
|
|
30
|
+
index: o,
|
|
31
|
+
...r
|
|
32
|
+
} = e, t[0] = e, t[1] = i, t[2] = r, t[3] = o) : (i = t[1], r = t[2], o = t[3]);
|
|
33
|
+
const n = o === void 0 ? 0 : o;
|
|
45
34
|
let d;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
35
|
+
t[4] !== n ? (d = (S) => {
|
|
36
|
+
const p = S;
|
|
37
|
+
return {
|
|
38
|
+
min: p?.data[n]?.min,
|
|
39
|
+
color: p?.data[n]?.color,
|
|
40
|
+
formatter: p?.formatter
|
|
41
|
+
};
|
|
42
|
+
}, t[4] = n, t[5] = d) : d = t[5];
|
|
43
|
+
const {
|
|
44
|
+
min: m,
|
|
45
|
+
color: c,
|
|
46
|
+
formatter: h
|
|
47
|
+
} = T(i, d), u = h ?? $;
|
|
48
|
+
let a;
|
|
49
|
+
t[6] !== c ? (a = {
|
|
50
|
+
color: c
|
|
51
|
+
}, t[6] = c, t[7] = a) : a = t[7];
|
|
52
|
+
const x = m ?? 0;
|
|
53
|
+
let l;
|
|
54
|
+
t[8] !== u || t[9] !== x ? (l = u(x), t[8] = u, t[9] = x, t[10] = l) : l = t[10];
|
|
55
|
+
let f;
|
|
56
|
+
return t[11] !== r || t[12] !== a || t[13] !== l ? (f = /* @__PURE__ */ s(w, { TypographyProps: a, ...r, children: l }), t[11] = r, t[12] = a, t[13] = l, t[14] = f) : f = t[14], f;
|
|
49
57
|
}
|
|
50
|
-
function
|
|
51
|
-
const
|
|
52
|
-
let i,
|
|
53
|
-
|
|
58
|
+
function W(e) {
|
|
59
|
+
const t = g(15);
|
|
60
|
+
let i, r, o;
|
|
61
|
+
t[0] !== e ? ({
|
|
54
62
|
id: i,
|
|
55
|
-
index:
|
|
56
|
-
...
|
|
57
|
-
} =
|
|
58
|
-
const n =
|
|
59
|
-
let s;
|
|
60
|
-
e[4] !== i || e[5] !== n ? (s = (f) => f.getWidget(i)?.data[n]?.max, e[4] = i, e[5] = n, e[6] = s) : s = e[6];
|
|
61
|
-
const m = h(S(s));
|
|
62
|
-
let c;
|
|
63
|
-
e[7] !== i || e[8] !== n ? (c = (f) => f.getWidget(i)?.data[n]?.color, e[7] = i, e[8] = n, e[9] = c) : c = e[9];
|
|
64
|
-
const u = h(S(c)), p = h(S((f) => f.getWidget(i)?.formatter)) ?? T;
|
|
65
|
-
let l;
|
|
66
|
-
e[10] !== u ? (l = {
|
|
67
|
-
color: u
|
|
68
|
-
}, e[10] = u, e[11] = l) : l = e[11];
|
|
69
|
-
const x = m ?? 0;
|
|
63
|
+
index: o,
|
|
64
|
+
...r
|
|
65
|
+
} = e, t[0] = e, t[1] = i, t[2] = r, t[3] = o) : (i = t[1], r = t[2], o = t[3]);
|
|
66
|
+
const n = o === void 0 ? 0 : o;
|
|
70
67
|
let d;
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
68
|
+
t[4] !== n ? (d = (S) => {
|
|
69
|
+
const p = S;
|
|
70
|
+
return {
|
|
71
|
+
max: p?.data[n]?.max,
|
|
72
|
+
color: p?.data[n]?.color,
|
|
73
|
+
formatter: p?.formatter
|
|
74
|
+
};
|
|
75
|
+
}, t[4] = n, t[5] = d) : d = t[5];
|
|
76
|
+
const {
|
|
77
|
+
max: m,
|
|
78
|
+
color: c,
|
|
79
|
+
formatter: h
|
|
80
|
+
} = T(i, d), u = h ?? $;
|
|
81
|
+
let a;
|
|
82
|
+
t[6] !== c ? (a = {
|
|
83
|
+
color: c
|
|
84
|
+
}, t[6] = c, t[7] = a) : a = t[7];
|
|
85
|
+
const x = m ?? 0;
|
|
86
|
+
let l;
|
|
87
|
+
t[8] !== u || t[9] !== x ? (l = u(x), t[8] = u, t[9] = x, t[10] = l) : l = t[10];
|
|
88
|
+
let f;
|
|
89
|
+
return t[11] !== r || t[12] !== a || t[13] !== l ? (f = /* @__PURE__ */ s(w, { TypographyProps: a, ...r, children: l }), t[11] = r, t[12] = a, t[13] = l, t[14] = f) : f = t[14], f;
|
|
74
90
|
}
|
|
75
|
-
function
|
|
76
|
-
const
|
|
91
|
+
function rt(e) {
|
|
92
|
+
const t = g(8), {
|
|
77
93
|
ref: i
|
|
78
|
-
} = j(
|
|
79
|
-
let
|
|
80
|
-
|
|
94
|
+
} = j(e.id);
|
|
95
|
+
let r;
|
|
96
|
+
t[0] !== e.id ? (r = (d) => {
|
|
81
97
|
const {
|
|
82
98
|
index: m
|
|
83
|
-
} =
|
|
84
|
-
return /* @__PURE__ */
|
|
85
|
-
/* @__PURE__ */
|
|
86
|
-
/* @__PURE__ */
|
|
87
|
-
/* @__PURE__ */
|
|
88
|
-
/* @__PURE__ */
|
|
89
|
-
/* @__PURE__ */
|
|
90
|
-
/* @__PURE__ */
|
|
99
|
+
} = d;
|
|
100
|
+
return /* @__PURE__ */ M(_, { children: [
|
|
101
|
+
/* @__PURE__ */ s(k, { id: e.id, index: m }),
|
|
102
|
+
/* @__PURE__ */ s(C, { id: e.id, index: m }),
|
|
103
|
+
/* @__PURE__ */ s(F, { id: e.id, index: m }),
|
|
104
|
+
/* @__PURE__ */ s(v, {}),
|
|
105
|
+
/* @__PURE__ */ s(W, { id: e.id, index: m }),
|
|
106
|
+
/* @__PURE__ */ s(R, { id: e.id, index: m })
|
|
91
107
|
] });
|
|
92
|
-
},
|
|
93
|
-
let
|
|
94
|
-
|
|
108
|
+
}, t[0] = e.id, t[1] = r) : r = t[1];
|
|
109
|
+
let o;
|
|
110
|
+
t[2] !== e.id || t[3] !== r ? (o = /* @__PURE__ */ s(b, { id: e.id, children: r }), t[2] = e.id, t[3] = r, t[4] = o) : o = t[4];
|
|
95
111
|
let n;
|
|
96
|
-
return
|
|
112
|
+
return t[5] !== i || t[6] !== o ? (n = /* @__PURE__ */ s(I, { ref: i, children: o }), t[5] = i, t[6] = o, t[7] = n) : n = t[7], n;
|
|
97
113
|
}
|
|
98
114
|
const B = {
|
|
99
115
|
row: {
|
|
100
116
|
display: "flex",
|
|
101
117
|
alignItems: "center",
|
|
102
|
-
gap: (
|
|
118
|
+
gap: (e) => e.spacing(0.25),
|
|
103
119
|
"& + &": {
|
|
104
|
-
marginTop: (
|
|
120
|
+
marginTop: (e) => e.spacing(1)
|
|
105
121
|
}
|
|
106
122
|
}
|
|
107
123
|
};
|
|
108
|
-
function
|
|
109
|
-
const
|
|
110
|
-
let
|
|
111
|
-
return
|
|
124
|
+
function it() {
|
|
125
|
+
const e = g(1);
|
|
126
|
+
let t;
|
|
127
|
+
return e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ s(I, { sx: B.row, "aria-label": "Spread skeleton", children: /* @__PURE__ */ s(V, { width: 120, height: 32 }) }), e[0] = t) : t = e[0], t;
|
|
112
128
|
}
|
|
113
|
-
function
|
|
114
|
-
refUI:
|
|
129
|
+
function ot({
|
|
130
|
+
refUI: e
|
|
115
131
|
}) {
|
|
116
132
|
return [{
|
|
117
|
-
...
|
|
118
|
-
modifier: () =>
|
|
133
|
+
...y,
|
|
134
|
+
modifier: () => y.modifier(e)
|
|
119
135
|
}, {
|
|
120
136
|
...P,
|
|
121
|
-
modifier: async (
|
|
122
|
-
const i =
|
|
137
|
+
modifier: async (t) => {
|
|
138
|
+
const i = t.map((r) => [r.min, r.max]);
|
|
123
139
|
return P.modifier([["Min", "Max"], ...i]);
|
|
124
140
|
}
|
|
125
141
|
}];
|
|
126
142
|
}
|
|
127
|
-
function
|
|
143
|
+
function nt() {
|
|
128
144
|
return {
|
|
129
145
|
series: []
|
|
130
146
|
};
|
|
131
147
|
}
|
|
132
148
|
export {
|
|
133
|
-
|
|
134
|
-
|
|
149
|
+
w as Item,
|
|
150
|
+
W as MaxValue,
|
|
135
151
|
F as MinValue,
|
|
136
152
|
C as Prefix,
|
|
137
153
|
b as Row,
|
|
138
154
|
v as Separator,
|
|
139
155
|
k as Series,
|
|
140
|
-
|
|
141
|
-
|
|
156
|
+
it as SpreadSkeleton,
|
|
157
|
+
rt as SpreadUI,
|
|
142
158
|
R as Suffix,
|
|
143
|
-
|
|
144
|
-
|
|
159
|
+
nt as spreadConfig,
|
|
160
|
+
ot as spreadDownloadConfig
|
|
145
161
|
};
|
|
146
162
|
//# 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\n/**\n * Renders a dash separator between the min and max values in a spread widget.\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'\nimport { defaultFormatter } from '../../utils/formatter'\n\n/**\n * Displays the formatted minimum value for a spread widget data item.\n */\nexport function MinValue({ id, index = 0, ...props }: ValueProps) {\n const min = useWidgetStore(\n useShallow(\n (state) => state.getWidget<SpreadWidgetState>(id)?.data[index]?.min,\n ),\n )\n const color = useWidgetStore(\n useShallow(\n (state) => state.getWidget<SpreadWidgetState>(id)?.data[index]?.color,\n ),\n )\n const formatter =\n useWidgetStore(\n useShallow((state) => state.getWidget<SpreadWidgetState>(id)?.formatter),\n ) ?? defaultFormatter\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'\nimport { defaultFormatter } from '../../utils/formatter'\n\n/**\n * Displays the formatted maximum value for a spread widget data item.\n */\nexport function MaxValue({ id, index = 0, ...props }: ValueProps) {\n const max = useWidgetStore(\n useShallow(\n (state) => state.getWidget<SpreadWidgetState>(id)?.data[index]?.max,\n ),\n )\n const color = useWidgetStore(\n useShallow(\n (state) => state.getWidget<SpreadWidgetState>(id)?.data[index]?.color,\n ),\n )\n const formatter =\n useWidgetStore(\n useShallow((state) => state.getWidget<SpreadWidgetState>(id)?.formatter),\n ) ?? defaultFormatter\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 { useWidgetRef } from '../../hooks'\nimport { Box } from '@mui/material'\n\n/**\n * Renders a spread widget displaying min-max value pairs with optional prefixes, suffixes, and series indicators.\n */\nexport function SpreadUI(props: SpreadUIProps) {\n const { ref } = useWidgetRef(props.id)\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 '../loader/types'\nimport type { SpreadWidgetConfig, SpreadWidgetData } from './types'\n\n/**\n * Creates download configuration for spread widgets, supporting PNG (screenshot) and CSV (min/max data) exports.\n *\n * @param props - Configuration with `refUI` reference for PNG export.\n * @returns Array of download items for use with the Download action.\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\n/**\n * Returns the default configuration for spread (min/max value range) widgets.\n *\n * @returns Default spread widget config with empty series.\n */\nexport function spreadConfig(): SpreadWidgetConfig {\n return {\n series: [],\n }\n}\n"],"names":["Separator","props","$","_c","t0","jsx","Item","MinValue","id","t1","index","undefined","t2","state","getWidget","data","min","useWidgetStore","useShallow","t3","state_0","color","formatter","state_1","defaultFormatter","t4","t5","t6","t7","MaxValue","max","SpreadUI","ref","useWidgetRef","jsxs","Fragment","Series","Prefix","Suffix","Row","Box","styles","row","display","alignItems","gap","theme","spacing","marginTop","SpreadSkeleton","Symbol","for","Skeleton","spreadDownloadConfig","refUI","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\n/**\n * Renders a dash separator between the min and max values in a spread widget.\n */\nexport function Separator(props: Omit<ItemProps, 'children'>) {\n return <Item {...props}>-</Item>\n}\n","import { type SpreadWidgetState, type ValueProps } from '../types'\nimport { useWidgetSelector } from '../../stores/use-widget-selector'\nimport { Item } from '../../formula/components/item'\nimport { defaultFormatter } from '../../utils/formatter'\n\n/**\n * Displays the formatted minimum value for a spread widget data item.\n */\nexport function MinValue({ id, index = 0, ...props }: ValueProps) {\n const {\n min,\n color,\n formatter: _formatter,\n } = useWidgetSelector(id, (w) => {\n const sw = w as SpreadWidgetState | undefined\n return {\n min: sw?.data[index]?.min,\n color: sw?.data[index]?.color,\n formatter: sw?.formatter,\n }\n })\n const formatter = _formatter ?? defaultFormatter\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 { useWidgetSelector } from '../../stores/use-widget-selector'\nimport { Item } from '../../formula/components/item'\nimport { defaultFormatter } from '../../utils/formatter'\n\n/**\n * Displays the formatted maximum value for a spread widget data item.\n */\nexport function MaxValue({ id, index = 0, ...props }: ValueProps) {\n const {\n max,\n color,\n formatter: _formatter,\n } = useWidgetSelector(id, (w) => {\n const sw = w as SpreadWidgetState | undefined\n return {\n max: sw?.data[index]?.max,\n color: sw?.data[index]?.color,\n formatter: sw?.formatter,\n }\n })\n const formatter = _formatter ?? defaultFormatter\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 { useWidgetRef } from '../../hooks'\nimport { Box } from '@mui/material'\n\n/**\n * Renders a spread widget displaying min-max value pairs with optional prefixes, suffixes, and series indicators.\n */\nexport function SpreadUI(props: SpreadUIProps) {\n const { ref } = useWidgetRef(props.id)\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 '../loader/types'\nimport type { SpreadWidgetConfig, SpreadWidgetData } from './types'\n\n/**\n * Creates download configuration for spread widgets, supporting PNG (screenshot) and CSV (min/max data) exports.\n *\n * @param props - Configuration with `refUI` reference for PNG export.\n * @returns Array of download items for use with the Download action.\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\n/**\n * Returns the default configuration for spread (min/max value range) widgets.\n *\n * @returns Default spread widget config with empty series.\n */\nexport function spreadConfig(): SpreadWidgetConfig {\n return {\n series: [],\n }\n}\n"],"names":["Separator","props","$","_c","t0","jsx","Item","MinValue","id","t1","index","undefined","t2","w","sw","min","data","color","formatter","_formatter","useWidgetSelector","defaultFormatter","t3","t4","t5","t6","MaxValue","max","SpreadUI","ref","useWidgetRef","jsxs","Fragment","Series","Prefix","Suffix","Row","Box","styles","row","display","alignItems","gap","theme","spacing","marginTop","SpreadSkeleton","Symbol","for","Skeleton","spreadDownloadConfig","refUI","downloadToPNG","modifier","downloadToCSV","rows","map","item","spreadConfig","series"],"mappings":"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"}
|
package/dist/widgets/stores.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import { u as r } from "../widget-store-
|
|
1
|
+
import { u as o, w as r } from "../widget-store-CIrb9RKP.js";
|
|
2
|
+
import { u as i } from "../use-widget-selector-DqRmWQ1K.js";
|
|
2
3
|
export {
|
|
3
|
-
|
|
4
|
+
i as useWidgetSelector,
|
|
5
|
+
o as useWidgetStore,
|
|
6
|
+
r as widgetStoreActions
|
|
4
7
|
};
|
|
5
8
|
//# sourceMappingURL=stores.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stores.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stores.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|