@carto/ps-react-ui 5.0.0-widgets.12 → 5.0.0-widgets.14

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 (54) hide show
  1. package/dist/{cjs-D9ro6BXv.js → cjs-D4KH3azB.js} +2 -2
  2. package/dist/{cjs-D9ro6BXv.js.map → cjs-D4KH3azB.js.map} +1 -1
  3. package/dist/components.js +26 -26
  4. package/dist/components.js.map +1 -1
  5. package/dist/{lasso-tool-CYn3ivf-.js → lasso-tool-BwRzEW7k.js} +10 -10
  6. package/dist/{lasso-tool-CYn3ivf-.js.map → lasso-tool-BwRzEW7k.js.map} +1 -1
  7. package/dist/{note-Clng2ej6.js → note-t51drNe0.js} +3 -3
  8. package/dist/{note-Clng2ej6.js.map → note-t51drNe0.js.map} +1 -1
  9. package/dist/{series-Do02NQUF.js → series-D3Pc-kYX.js} +2 -2
  10. package/dist/{series-Do02NQUF.js.map → series-D3Pc-kYX.js.map} +1 -1
  11. package/dist/styles-CCZnY17y.js +117 -0
  12. package/dist/styles-CCZnY17y.js.map +1 -0
  13. package/dist/types/widgets/_shared/chart-config/index.d.ts +1 -1
  14. package/dist/types/widgets/_shared/chart-config/option-builders.d.ts +51 -0
  15. package/dist/types/widgets/echart/types.d.ts +1 -0
  16. package/dist/types/widgets/stores/types.d.ts +4 -0
  17. package/dist/{utils-Dv5Z47UQ.js → utils-D3-eQyDR.js} +2 -2
  18. package/dist/{utils-Dv5Z47UQ.js.map → utils-D3-eQyDR.js.map} +1 -1
  19. package/dist/widgets/actions.js +556 -531
  20. package/dist/widgets/actions.js.map +1 -1
  21. package/dist/widgets/bar.js +86 -91
  22. package/dist/widgets/bar.js.map +1 -1
  23. package/dist/widgets/category.js +6 -6
  24. package/dist/widgets/category.js.map +1 -1
  25. package/dist/widgets/echart.js +3 -3
  26. package/dist/widgets/echart.js.map +1 -1
  27. package/dist/widgets/formula.js +4 -4
  28. package/dist/widgets/formula.js.map +1 -1
  29. package/dist/widgets/histogram.js +108 -98
  30. package/dist/widgets/histogram.js.map +1 -1
  31. package/dist/widgets/loader.js +1 -1
  32. package/dist/widgets/markdown.js +5 -5
  33. package/dist/widgets/markdown.js.map +1 -1
  34. package/dist/widgets/note.js +1 -1
  35. package/dist/widgets/pie.js +84 -71
  36. package/dist/widgets/pie.js.map +1 -1
  37. package/dist/widgets/range.js +6 -6
  38. package/dist/widgets/range.js.map +1 -1
  39. package/dist/widgets/scatterplot.js +106 -96
  40. package/dist/widgets/scatterplot.js.map +1 -1
  41. package/dist/widgets/spread.js +4 -4
  42. package/dist/widgets/spread.js.map +1 -1
  43. package/dist/widgets/table.js +8 -8
  44. package/dist/widgets/table.js.map +1 -1
  45. package/dist/widgets/timeseries.js +79 -67
  46. package/dist/widgets/timeseries.js.map +1 -1
  47. package/dist/widgets/toolbar-actions.js +1866 -1465
  48. package/dist/widgets/toolbar-actions.js.map +1 -1
  49. package/dist/widgets/wrapper.js +7 -7
  50. package/dist/widgets/wrapper.js.map +1 -1
  51. package/dist/widgets.js +1 -1
  52. package/package.json +4 -4
  53. package/dist/styles-dOu_pRNb.js +0 -77
  54. package/dist/styles-dOu_pRNb.js.map +0 -1
@@ -3,8 +3,8 @@ import { c as _ } from "react/compiler-runtime";
3
3
  import { Box as O, IconButton as L, MenuItem as P, ListItemIcon as j, ListItemText as z, Menu as D, Typography as H, LinearProgress as N, AccordionSummary as G, AccordionDetails as U, Accordion as V } from "@mui/material";
4
4
  import { MoreVert as q } from "@mui/icons-material";
5
5
  import { useState as J, useEffect as K } from "react";
6
- import "../lasso-tool-CYn3ivf-.js";
7
- import "../cjs-D9ro6BXv.js";
6
+ import "../lasso-tool-BwRzEW7k.js";
7
+ import "../cjs-D4KH3azB.js";
8
8
  import { S as Q } from "../smart-tooltip-BEtBaIdz.js";
9
9
  import { u as T } from "../widget-store-CB6Trp_0.js";
10
10
  import { useShallow as R } from "zustand/shallow";
@@ -137,18 +137,18 @@ function ee(t) {
137
137
  e[0] !== n ? (l = n === void 0 ? [] : n, e[0] = n, e[1] = l) : l = e[1];
138
138
  const i = l, [s, h] = J(null);
139
139
  let g;
140
- e[2] === Symbol.for("react.memo_cache_sentinel") ? (g = (p, f) => {
140
+ e[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (g = (p, f) => {
141
141
  p.stopPropagation(), f.onClick(), h(null);
142
142
  }, e[2] = g) : g = e[2];
143
143
  const C = g, v = o?.title ?? "Options";
144
144
  let y, r;
145
- e[3] === Symbol.for("react.memo_cache_sentinel") ? (y = (p) => {
145
+ e[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (y = (p) => {
146
146
  p.stopPropagation(), h(p.currentTarget);
147
147
  }, r = /* @__PURE__ */ m(q, {}), e[3] = y, e[4] = r) : (y = e[3], r = e[4]);
148
148
  let c;
149
149
  e[5] !== v ? (c = /* @__PURE__ */ m(L, { sx: A.options.trigger, size: "small", "aria-label": v, "aria-controls": "options-menu", "aria-haspopup": "true", onClick: y, children: r }), e[5] = v, e[6] = c) : c = e[6];
150
150
  let a, x;
151
- e[7] === Symbol.for("react.memo_cache_sentinel") ? (a = {
151
+ e[7] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (a = {
152
152
  vertical: "top",
153
153
  horizontal: "right"
154
154
  }, x = {
@@ -157,7 +157,7 @@ function ee(t) {
157
157
  }, e[7] = a, e[8] = x) : (a = e[7], x = e[8]);
158
158
  const u = !!s;
159
159
  let b, k;
160
- e[9] === Symbol.for("react.memo_cache_sentinel") ? (b = () => h(null), k = {
160
+ e[9] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (b = () => h(null), k = {
161
161
  sx: {
162
162
  paddingBottom: 0
163
163
  }
@@ -165,7 +165,7 @@ function ee(t) {
165
165
  let d;
166
166
  if (e[11] !== i) {
167
167
  let p;
168
- e[13] === Symbol.for("react.memo_cache_sentinel") ? (p = (f, I) => /* @__PURE__ */ M(P, { disabled: f.disabled, onClick: (W) => C(W, f), children: [
168
+ e[13] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (p = (f, I) => /* @__PURE__ */ M(P, { disabled: f.disabled, onClick: (W) => C(W, f), children: [
169
169
  f.icon && /* @__PURE__ */ m(j, { children: f.icon }),
170
170
  /* @__PURE__ */ m(z, { children: f.label })
171
171
  ] }, `${f.label}-${I}`), e[13] = p) : p = e[13], d = i.map(p), e[11] = i, e[12] = d;
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.js","sources":["../../src/widgets/wrapper/styles.ts","../../src/widgets/wrapper/components/actions.tsx","../../src/widgets/wrapper/components/options.tsx","../../src/widgets/wrapper/components/title.tsx","../../src/widgets/wrapper/wrapper-ui.tsx","../../src/widgets/wrapper/wrapper.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n '.Mui-disabled .MuiAccordionSummary-expandIconWrapper': {\n display: 'none',\n },\n '.widget-wrapper-actions > *': {\n opacity: 1,\n transition: ({ transitions }) =>\n transitions.create('opacity', {\n duration: transitions.duration.standard,\n easing: transitions.easing.easeInOut,\n }),\n\n '@media (hover: hover)': {\n opacity: 0,\n },\n\n '&:has(.active)': {\n opacity: 1,\n },\n },\n '&:hover': {\n '& .widget-wrapper-actions > *': {\n opacity: 1,\n },\n },\n\n '&.collapsed .widget-wrapper-actions > *': {\n opacity: 0,\n pointerEvents: 'none',\n\n '&:has(.active)': {\n opacity: 1,\n },\n },\n },\n summary: {\n minHeight: ({ spacing }) => spacing(7),\n '& .MuiAccordionSummary-content': {\n gap: ({ spacing }) => spacing(0.5),\n paddingInlineEnd: ({ spacing }) => spacing(0.75),\n },\n },\n loading: {\n height: ({ spacing }) => spacing(0.35),\n left: 0,\n position: 'absolute',\n top: 0,\n width: '100%',\n zIndex: 1,\n },\n title: {\n wrapper: {\n flexGrow: 1,\n flexShrink: 1,\n minWidth: 0,\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column',\n },\n container: {\n display: 'flex',\n alignItems: 'center',\n flexGrow: 1,\n minHeight: ({ spacing }) => spacing(3),\n },\n text: {\n wordBreak: 'break-word',\n overflow: 'hidden',\n display: '-webkit-box',\n WebkitLineClamp: 2,\n WebkitBoxOrient: 'vertical',\n },\n },\n actions: {\n display: 'flex',\n gap: ({ spacing }) => spacing(0.5),\n alignItems: 'center',\n flexShrink: 0,\n justifyContent: 'flex-end',\n '& > div': {\n pointerEvents: 'auto',\n },\n },\n options: {\n trigger: {\n pointerEvents: 'auto',\n },\n },\n detail: {\n display: 'flex',\n flexDirection: 'column',\n gap: ({ spacing }) => spacing(1),\n paddingTop: ({ spacing }) => spacing(0.5),\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box } from '@mui/material'\nimport type { WrapperActionsProps } from '../types'\nimport { styles } from '../styles'\n\nexport function Actions({ actions = [] }: WrapperActionsProps) {\n return (\n <Box sx={styles.actions} className='widget-wrapper-actions'>\n {actions.map((action, index) => {\n // Prefer action.key if present (React elements), else fallback to index\n const key =\n action &&\n typeof action === 'object' &&\n 'key' in action &&\n action.key != null\n ? action.key\n : index\n return (\n <Box\n key={key}\n onClick={(e) => {\n e.stopPropagation()\n }}\n >\n {action}\n </Box>\n )\n })}\n </Box>\n )\n}\n","import { MoreVert } from '@mui/icons-material'\nimport {\n IconButton,\n Menu,\n MenuItem,\n ListItemIcon,\n ListItemText,\n} from '@mui/material'\nimport type { WrapperOptionsProps } from '../types'\nimport { useState } from 'react'\nimport { styles } from '../styles'\n\nexport function Options({ labels, options = [] }: WrapperOptionsProps) {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n\n const handleOptionAction = (\n e: React.MouseEvent<HTMLElement>,\n option: NonNullable<WrapperOptionsProps['options']>[number],\n ) => {\n e.stopPropagation()\n option.onClick()\n setAnchorEl(null)\n }\n\n return (\n <>\n <IconButton\n sx={styles.options.trigger}\n size='small'\n aria-label={labels?.title ?? 'Options'}\n aria-controls='options-menu'\n aria-haspopup='true'\n onClick={(e) => {\n e.stopPropagation()\n setAnchorEl(e.currentTarget)\n }}\n >\n <MoreVert />\n </IconButton>\n <Menu\n variant='menu'\n elevation={8}\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n anchorEl={anchorEl}\n open={Boolean(anchorEl)}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n sx: {\n paddingBottom: 0,\n },\n }}\n >\n {options.map((option, idx) => (\n <MenuItem\n key={`${option.label}-${idx}`}\n disabled={option.disabled}\n onClick={(e) => handleOptionAction(e, option)}\n >\n {option.icon && <ListItemIcon>{option.icon}</ListItemIcon>}\n <ListItemText>{option.label}</ListItemText>\n </MenuItem>\n ))}\n </Menu>\n </>\n )\n}\n","import { Box, Typography } from '@mui/material'\nimport { styles } from '../styles'\nimport { SmartTooltip } from '../../../components'\nimport type { ReactNode } from 'react'\nimport type { WrapperOptionsProps } from '../types'\n\nexport function Title({\n label,\n children,\n}: {\n children: ReactNode\n label?: NonNullable<WrapperOptionsProps['labels']>['title']\n}) {\n return (\n <SmartTooltip\n title={label ?? (typeof children === 'string' ? children : '')}\n >\n {({ ref }) => (\n <Box sx={styles.title.container}>\n <Typography\n sx={styles.title.text}\n ref={ref}\n variant='subtitle1'\n textTransform='none'\n >\n {children}\n </Typography>\n </Box>\n )}\n </SmartTooltip>\n )\n}\n","import {\n Accordion,\n AccordionDetails,\n AccordionSummary,\n LinearProgress,\n} from '@mui/material'\nimport { styles } from './styles'\nimport { Title } from './components/title'\nimport type { WrapperState, WrapperUIProps } from './types'\nimport { Options } from './components/options'\nimport { Actions } from './components/actions'\nimport { useWidgetStore } from '../stores/widget-store'\nimport { useShallow } from 'zustand/shallow'\n\nexport function WrapperUI({\n children,\n id,\n actions = [],\n sx,\n labels,\n options = [],\n onChangeCollapsed,\n}: WrapperUIProps) {\n const widget = useWidgetStore(\n useShallow((state) => {\n const widget = state.getWidget<WrapperState>(id)\n return {\n title: widget?.title,\n collapsed: widget?.collapsed,\n disabled: widget?.disabled,\n isFetching: widget?.isFetching,\n }\n }),\n )\n\n return (\n <Accordion\n className={widget?.collapsed ? 'collapsed' : ''}\n sx={{ ...styles.root, ...sx }}\n expanded={!widget?.collapsed}\n onChange={onChangeCollapsed}\n disabled={widget?.disabled}\n >\n <AccordionSummary sx={styles.summary}>\n {widget?.isFetching && (\n <LinearProgress sx={styles.loading} color='primary' />\n )}\n <Title>{widget?.title}</Title>\n {!!actions.length && <Actions actions={actions} />}\n {!!options.length && (\n <Options labels={labels?.options} options={options} />\n )}\n </AccordionSummary>\n <AccordionDetails sx={styles.detail}>{children}</AccordionDetails>\n </Accordion>\n )\n}\n","import type { WrapperProps, WrapperState } from './types'\nimport { WrapperUI } from './wrapper-ui'\nimport { useWidgetStore } from '../stores/widget-store'\nimport { useEffect } from 'react'\n\nexport function WidgetWrapper({\n id,\n title,\n defaultCollapsed,\n disabled,\n sx,\n actions,\n options,\n labels,\n children,\n onChangeCollapsed,\n}: WrapperProps) {\n const setWidget = useWidgetStore((state) => state.setWidget)\n\n // Consolidated effect: batch all wrapper state updates into a single store update\n // This prevents 3 separate re-render cycles on mount and prop changes\n useEffect(() => {\n setWidget<WrapperState>(id, {\n collapsed: defaultCollapsed,\n disabled,\n title,\n })\n }, [defaultCollapsed, disabled, title, id, setWidget])\n\n const handleChangeCollapsed = (\n event: React.SyntheticEvent<Element, Event>,\n expanded: boolean,\n ) => {\n onChangeCollapsed?.(event, expanded)\n setWidget<WrapperState>(id, { collapsed: !expanded })\n }\n\n return (\n <WrapperUI\n id={id}\n labels={labels}\n actions={actions}\n options={options}\n sx={sx}\n onChangeCollapsed={handleChangeCollapsed}\n >\n {children}\n </WrapperUI>\n )\n}\n"],"names":["styles","root","display","opacity","transition","transitions","create","duration","standard","easing","easeInOut","pointerEvents","summary","minHeight","spacing","gap","paddingInlineEnd","loading","height","left","position","top","width","zIndex","title","container","alignItems","flexGrow","text","wordBreak","overflow","WebkitLineClamp","WebkitBoxOrient","actions","flexShrink","justifyContent","options","trigger","detail","flexDirection","paddingTop","Actions","t0","$","_c","t1","t2","undefined","t3","map","_temp2","t4","Box","action","index","key","jsx","_temp","e","stopPropagation","Options","labels","anchorEl","setAnchorEl","useState","Symbol","for","option","onClick","handleOptionAction","t5","t6","e_0","currentTarget","MoreVert","t7","IconButton","t8","t9","vertical","horizontal","t10","Boolean","t11","t12","sx","paddingBottom","t13","t14","option_0","idx","MenuItem","disabled","e_1","icon","ListItemIcon","ListItemText","label","Menu","t15","Title","children","ref","Typography","SmartTooltip","WrapperUI","id","onChangeCollapsed","state","widget","getWidget","collapsed","isFetching","widget_0","useWidgetStore","useShallow","LinearProgress","length","jsxs","AccordionSummary","t16","AccordionDetails","t17","Accordion","WidgetWrapper","defaultCollapsed","setWidget","useEffect","event","expanded","handleChangeCollapsed"],"mappings":"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"}
1
+ {"version":3,"file":"wrapper.js","sources":["../../src/widgets/wrapper/styles.ts","../../src/widgets/wrapper/components/actions.tsx","../../src/widgets/wrapper/components/options.tsx","../../src/widgets/wrapper/components/title.tsx","../../src/widgets/wrapper/wrapper-ui.tsx","../../src/widgets/wrapper/wrapper.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n root: {\n '.Mui-disabled .MuiAccordionSummary-expandIconWrapper': {\n display: 'none',\n },\n '.widget-wrapper-actions > *': {\n opacity: 1,\n transition: ({ transitions }) =>\n transitions.create('opacity', {\n duration: transitions.duration.standard,\n easing: transitions.easing.easeInOut,\n }),\n\n '@media (hover: hover)': {\n opacity: 0,\n },\n\n '&:has(.active)': {\n opacity: 1,\n },\n },\n '&:hover': {\n '& .widget-wrapper-actions > *': {\n opacity: 1,\n },\n },\n\n '&.collapsed .widget-wrapper-actions > *': {\n opacity: 0,\n pointerEvents: 'none',\n\n '&:has(.active)': {\n opacity: 1,\n },\n },\n },\n summary: {\n minHeight: ({ spacing }) => spacing(7),\n '& .MuiAccordionSummary-content': {\n gap: ({ spacing }) => spacing(0.5),\n paddingInlineEnd: ({ spacing }) => spacing(0.75),\n },\n },\n loading: {\n height: ({ spacing }) => spacing(0.35),\n left: 0,\n position: 'absolute',\n top: 0,\n width: '100%',\n zIndex: 1,\n },\n title: {\n wrapper: {\n flexGrow: 1,\n flexShrink: 1,\n minWidth: 0,\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column',\n },\n container: {\n display: 'flex',\n alignItems: 'center',\n flexGrow: 1,\n minHeight: ({ spacing }) => spacing(3),\n },\n text: {\n wordBreak: 'break-word',\n overflow: 'hidden',\n display: '-webkit-box',\n WebkitLineClamp: 2,\n WebkitBoxOrient: 'vertical',\n },\n },\n actions: {\n display: 'flex',\n gap: ({ spacing }) => spacing(0.5),\n alignItems: 'center',\n flexShrink: 0,\n justifyContent: 'flex-end',\n '& > div': {\n pointerEvents: 'auto',\n },\n },\n options: {\n trigger: {\n pointerEvents: 'auto',\n },\n },\n detail: {\n display: 'flex',\n flexDirection: 'column',\n gap: ({ spacing }) => spacing(1),\n paddingTop: ({ spacing }) => spacing(0.5),\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box } from '@mui/material'\nimport type { WrapperActionsProps } from '../types'\nimport { styles } from '../styles'\n\nexport function Actions({ actions = [] }: WrapperActionsProps) {\n return (\n <Box sx={styles.actions} className='widget-wrapper-actions'>\n {actions.map((action, index) => {\n // Prefer action.key if present (React elements), else fallback to index\n const key =\n action &&\n typeof action === 'object' &&\n 'key' in action &&\n action.key != null\n ? action.key\n : index\n return (\n <Box\n key={key}\n onClick={(e) => {\n e.stopPropagation()\n }}\n >\n {action}\n </Box>\n )\n })}\n </Box>\n )\n}\n","import { MoreVert } from '@mui/icons-material'\nimport {\n IconButton,\n Menu,\n MenuItem,\n ListItemIcon,\n ListItemText,\n} from '@mui/material'\nimport type { WrapperOptionsProps } from '../types'\nimport { useState } from 'react'\nimport { styles } from '../styles'\n\nexport function Options({ labels, options = [] }: WrapperOptionsProps) {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n\n const handleOptionAction = (\n e: React.MouseEvent<HTMLElement>,\n option: NonNullable<WrapperOptionsProps['options']>[number],\n ) => {\n e.stopPropagation()\n option.onClick()\n setAnchorEl(null)\n }\n\n return (\n <>\n <IconButton\n sx={styles.options.trigger}\n size='small'\n aria-label={labels?.title ?? 'Options'}\n aria-controls='options-menu'\n aria-haspopup='true'\n onClick={(e) => {\n e.stopPropagation()\n setAnchorEl(e.currentTarget)\n }}\n >\n <MoreVert />\n </IconButton>\n <Menu\n variant='menu'\n elevation={8}\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n anchorEl={anchorEl}\n open={Boolean(anchorEl)}\n onClose={() => setAnchorEl(null)}\n MenuListProps={{\n sx: {\n paddingBottom: 0,\n },\n }}\n >\n {options.map((option, idx) => (\n <MenuItem\n key={`${option.label}-${idx}`}\n disabled={option.disabled}\n onClick={(e) => handleOptionAction(e, option)}\n >\n {option.icon && <ListItemIcon>{option.icon}</ListItemIcon>}\n <ListItemText>{option.label}</ListItemText>\n </MenuItem>\n ))}\n </Menu>\n </>\n )\n}\n","import { Box, Typography } from '@mui/material'\nimport { styles } from '../styles'\nimport { SmartTooltip } from '../../../components'\nimport type { ReactNode } from 'react'\nimport type { WrapperOptionsProps } from '../types'\n\nexport function Title({\n label,\n children,\n}: {\n children: ReactNode\n label?: NonNullable<WrapperOptionsProps['labels']>['title']\n}) {\n return (\n <SmartTooltip\n title={label ?? (typeof children === 'string' ? children : '')}\n >\n {({ ref }) => (\n <Box sx={styles.title.container}>\n <Typography\n sx={styles.title.text}\n ref={ref}\n variant='subtitle1'\n textTransform='none'\n >\n {children}\n </Typography>\n </Box>\n )}\n </SmartTooltip>\n )\n}\n","import {\n Accordion,\n AccordionDetails,\n AccordionSummary,\n LinearProgress,\n} from '@mui/material'\nimport { styles } from './styles'\nimport { Title } from './components/title'\nimport type { WrapperState, WrapperUIProps } from './types'\nimport { Options } from './components/options'\nimport { Actions } from './components/actions'\nimport { useWidgetStore } from '../stores/widget-store'\nimport { useShallow } from 'zustand/shallow'\n\nexport function WrapperUI({\n children,\n id,\n actions = [],\n sx,\n labels,\n options = [],\n onChangeCollapsed,\n}: WrapperUIProps) {\n const widget = useWidgetStore(\n useShallow((state) => {\n const widget = state.getWidget<WrapperState>(id)\n return {\n title: widget?.title,\n collapsed: widget?.collapsed,\n disabled: widget?.disabled,\n isFetching: widget?.isFetching,\n }\n }),\n )\n\n return (\n <Accordion\n className={widget?.collapsed ? 'collapsed' : ''}\n sx={{ ...styles.root, ...sx }}\n expanded={!widget?.collapsed}\n onChange={onChangeCollapsed}\n disabled={widget?.disabled}\n >\n <AccordionSummary sx={styles.summary}>\n {widget?.isFetching && (\n <LinearProgress sx={styles.loading} color='primary' />\n )}\n <Title>{widget?.title}</Title>\n {!!actions.length && <Actions actions={actions} />}\n {!!options.length && (\n <Options labels={labels?.options} options={options} />\n )}\n </AccordionSummary>\n <AccordionDetails sx={styles.detail}>{children}</AccordionDetails>\n </Accordion>\n )\n}\n","import type { WrapperProps, WrapperState } from './types'\nimport { WrapperUI } from './wrapper-ui'\nimport { useWidgetStore } from '../stores/widget-store'\nimport { useEffect } from 'react'\n\nexport function WidgetWrapper({\n id,\n title,\n defaultCollapsed,\n disabled,\n sx,\n actions,\n options,\n labels,\n children,\n onChangeCollapsed,\n}: WrapperProps) {\n const setWidget = useWidgetStore((state) => state.setWidget)\n\n // Consolidated effect: batch all wrapper state updates into a single store update\n // This prevents 3 separate re-render cycles on mount and prop changes\n useEffect(() => {\n setWidget<WrapperState>(id, {\n collapsed: defaultCollapsed,\n disabled,\n title,\n })\n }, [defaultCollapsed, disabled, title, id, setWidget])\n\n const handleChangeCollapsed = (\n event: React.SyntheticEvent<Element, Event>,\n expanded: boolean,\n ) => {\n onChangeCollapsed?.(event, expanded)\n setWidget<WrapperState>(id, { collapsed: !expanded })\n }\n\n return (\n <WrapperUI\n id={id}\n labels={labels}\n actions={actions}\n options={options}\n sx={sx}\n onChangeCollapsed={handleChangeCollapsed}\n >\n {children}\n </WrapperUI>\n )\n}\n"],"names":["styles","root","display","opacity","transition","transitions","create","duration","standard","easing","easeInOut","pointerEvents","summary","minHeight","spacing","gap","paddingInlineEnd","loading","height","left","position","top","width","zIndex","title","container","alignItems","flexGrow","text","wordBreak","overflow","WebkitLineClamp","WebkitBoxOrient","actions","flexShrink","justifyContent","options","trigger","detail","flexDirection","paddingTop","Actions","t0","$","_c","t1","t2","undefined","t3","map","_temp2","t4","Box","action","index","key","jsx","_temp","e","stopPropagation","Options","labels","anchorEl","setAnchorEl","useState","Symbol","for","option","onClick","handleOptionAction","t5","t6","e_0","currentTarget","MoreVert","t7","IconButton","t8","t9","vertical","horizontal","t10","Boolean","t11","t12","sx","paddingBottom","t13","t14","option_0","idx","MenuItem","disabled","e_1","icon","ListItemIcon","ListItemText","label","Menu","t15","Title","children","ref","Typography","SmartTooltip","WrapperUI","id","onChangeCollapsed","state","widget","getWidget","collapsed","isFetching","widget_0","useWidgetStore","useShallow","LinearProgress","length","jsxs","AccordionSummary","t16","AccordionDetails","t17","Accordion","WidgetWrapper","defaultCollapsed","setWidget","useEffect","event","expanded","handleChangeCollapsed"],"mappings":"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"}
package/dist/widgets.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { u as e } from "./widget-store-CB6Trp_0.js";
2
2
  import { W } from "./no-data-C54XJt13.js";
3
3
  import { W as s } from "./error-B2IJ9d2h.js";
4
- import { W as f } from "./note-Clng2ej6.js";
4
+ import { W as f } from "./note-t51drNe0.js";
5
5
  export {
6
6
  s as WidgetError,
7
7
  W as WidgetNoData,
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@carto/ps-react-ui",
3
- "version": "5.0.0-widgets.12",
3
+ "version": "5.0.0-widgets.14",
4
4
  "description": "CARTO's Professional Service React Material library",
5
5
  "type": "module",
6
6
  "devDependencies": {
7
- "@carto/meridian-ds": "2.6.1",
7
+ "@carto/meridian-ds": "2.9.4",
8
8
  "@dnd-kit/core": "6.3.1",
9
9
  "@dnd-kit/sortable": "10.0.0",
10
10
  "@dnd-kit/utilities": "3.2.2",
@@ -14,14 +14,14 @@
14
14
  "echarts": "6.0.0",
15
15
  "html2canvas": "1.4.1",
16
16
  "react-markdown": "10.1.0",
17
- "zustand": "5.0.8",
17
+ "zustand": "5.0.10",
18
18
  "@carto/ps-utils": "2.0.1"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "@dnd-kit/core": "^6.0.0",
22
22
  "@dnd-kit/sortable": "^10.0.0",
23
23
  "@dnd-kit/utilities": "^3.0.0",
24
- "@emotion/styled": "^11.0.0",
24
+ "@emotion/styled": "^11.14.1",
25
25
  "@mui/icons-material": "^5.0.0",
26
26
  "@mui/material": "^5.0.0",
27
27
  "echarts": "^6.0.0",
@@ -1,77 +0,0 @@
1
- function c(t) {
2
- const n = [];
3
- if (t.length > 0 && (t[0]?.length ?? 0) > 0) {
4
- const o = t?.[0]?.[0] ?? {}, e = Object.keys(o);
5
- n.push(e);
6
- }
7
- return t.forEach((o) => {
8
- o.forEach((e) => {
9
- const i = Object.values(e).map((r) => String(r));
10
- n.push(i);
11
- });
12
- }), n;
13
- }
14
- function a(t) {
15
- const n = [];
16
- return n.push(["x", "y"]), t.forEach((o) => {
17
- o.forEach((e) => {
18
- n.push([String(e[0]), String(e[1])]);
19
- });
20
- }), n;
21
- }
22
- function l(t) {
23
- return {
24
- show: t,
25
- icon: "circle",
26
- left: 0,
27
- bottom: 0,
28
- orient: "horizontal",
29
- type: "scroll"
30
- };
31
- }
32
- function f(t, n) {
33
- return {
34
- ...!t && {
35
- bottom: parseInt(n.spacing(3))
36
- },
37
- ...t && {
38
- bottom: parseInt(n.spacing(7))
39
- }
40
- };
41
- }
42
- function u(t) {
43
- return function(n, o, e, i, r) {
44
- const s = {
45
- top: parseInt(t.spacing(0.5))
46
- };
47
- return r.contentSize[0] < r.viewSize[0] - n[0] ? s.left = n[0] : s.right = r.viewSize[0] - n[0], s;
48
- };
49
- }
50
- const p = {
51
- graph: {
52
- /**
53
- * Common container style for chart widget skeletons
54
- */
55
- container: {
56
- display: "flex",
57
- alignItems: "center",
58
- justifyContent: "space-between",
59
- flexDirection: "column",
60
- gap: ({
61
- spacing: t
62
- }) => t(1),
63
- height: ({
64
- spacing: t
65
- }) => t(38)
66
- }
67
- }
68
- };
69
- export {
70
- l as a,
71
- f as b,
72
- u as c,
73
- p as d,
74
- c as f,
75
- a as s
76
- };
77
- //# sourceMappingURL=styles-dOu_pRNb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles-dOu_pRNb.js","sources":["../src/widgets/_shared/chart-config/csv-modifiers.ts","../src/widgets/_shared/chart-config/option-builders.ts","../src/widgets/_shared/skeleton/styles.ts"],"sourcesContent":["/**\n * Shared CSV export modifiers for chart widgets\n */\n\n/**\n * Flattens object array data into CSV-ready rows.\n * Used by bar, pie, histogram, and timeseries widgets.\n *\n * @param data - Array of series, where each series is an array of data objects\n * @returns CSV rows with headers and values\n */\nexport function flattenObjectArrayToCSV<T extends Record<string, unknown>>(\n data: T[][],\n): string[][] {\n const rows: string[][] = []\n\n // Add headers from first data point if available\n if (data.length > 0 && (data[0]?.length ?? 0) > 0) {\n const firstDataPoint = data?.[0]?.[0] ?? {}\n const headers = Object.keys(firstDataPoint)\n rows.push(headers)\n }\n\n // Add data rows from all series\n data.forEach((series) => {\n series.forEach((dataPoint) => {\n const values = Object.values(dataPoint).map((v) => String(v))\n rows.push(values)\n })\n })\n\n return rows\n}\n\n/**\n * Creates CSV rows for scatterplot data.\n * Scatterplot uses array format [x, y] instead of objects.\n *\n * @param data - Array of series, where each series is an array of [x, y] tuples\n * @returns CSV rows with ['x', 'y'] headers\n */\nexport function scatterplotDataToCSV(data: number[][][]): string[][] {\n const rows: string[][] = []\n\n // Add headers\n rows.push(['x', 'y'])\n\n // Add data rows from all series\n data.forEach((series) => {\n series.forEach((dataPoint) => {\n rows.push([String(dataPoint[0]), String(dataPoint[1])])\n })\n })\n\n return rows\n}\n","import type { Theme } from '@mui/material'\nimport type { LegendComponentOption } from 'echarts'\n\n/**\n * Shared EChart configuration builders for chart widgets\n */\n\n/**\n * Builds standard legend configuration for chart widgets\n *\n * @param hasLegend - Whether to show the legend\n * @returns Legend configuration object\n */\nexport function buildLegendConfig(hasLegend: boolean): LegendComponentOption {\n return {\n show: hasLegend,\n icon: 'circle' as const,\n left: 0,\n bottom: 0,\n orient: 'horizontal',\n type: 'scroll',\n }\n}\n\n/**\n * Builds standard grid configuration with legend-aware spacing\n *\n * @param hasLegend - Whether the chart has a legend\n * @param theme - MUI theme for spacing\n * @param additionalConfig - Additional grid configuration to merge\n * @returns Grid configuration object\n */\nexport function buildGridConfig(hasLegend: boolean, theme: Theme) {\n return {\n ...(!hasLegend && { bottom: parseInt(theme.spacing(3)) }),\n ...(hasLegend && { bottom: parseInt(theme.spacing(7)) }),\n }\n}\n\n/**\n * Creates a tooltip position calculator that handles overflow\n * Used by bar, histogram, and scatterplot widgets\n *\n * @param theme - MUI theme for spacing\n * @returns Tooltip position function\n */\nexport function createTooltipPositioner(theme: Theme) {\n return function (\n point: [number, number],\n _params: unknown,\n _dom: unknown,\n _rect: unknown,\n size: { contentSize: [number, number]; viewSize: [number, number] },\n ) {\n const position = { top: parseInt(theme.spacing(0.5)) } as Record<\n string,\n number\n >\n\n // Position tooltip left or right based on available space\n if (size.contentSize[0] < size.viewSize[0] - point[0]) {\n position.left = point[0]\n } else {\n position.right = size.viewSize[0] - point[0]\n }\n\n return position\n }\n}\n","import type { Theme } from '@mui/material'\n\n/**\n * Base skeleton styles shared across all chart widgets\n */\nexport const baseSkeletonStyles = {\n graph: {\n /**\n * Common container style for chart widget skeletons\n */\n container: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n flexDirection: 'column',\n gap: ({ spacing }: Theme) => spacing(1),\n height: ({ spacing }: Theme) => spacing(38),\n },\n },\n} as const\n"],"names":["flattenObjectArrayToCSV","data","rows","length","firstDataPoint","headers","Object","keys","push","forEach","series","dataPoint","values","map","v","String","scatterplotDataToCSV","buildLegendConfig","hasLegend","show","icon","left","bottom","orient","type","buildGridConfig","theme","parseInt","spacing","createTooltipPositioner","point","_params","_dom","_rect","size","position","top","contentSize","viewSize","right","baseSkeletonStyles","graph","container","display","alignItems","justifyContent","flexDirection","gap","height"],"mappings":"AAWO,SAASA,EACdC,GACY;AACZ,QAAMC,IAAmB,CAAA;AAGzB,MAAID,EAAKE,SAAS,MAAMF,EAAK,CAAC,GAAGE,UAAU,KAAK,GAAG;AACjD,UAAMC,IAAiBH,IAAO,CAAC,IAAI,CAAC,KAAK,CAAA,GACnCI,IAAUC,OAAOC,KAAKH,CAAc;AAC1CF,IAAAA,EAAKM,KAAKH,CAAO;AAAA,EACnB;AAGAJ,SAAAA,EAAKQ,QAASC,CAAAA,MAAW;AACvBA,IAAAA,EAAOD,QAASE,CAAAA,MAAc;AAC5B,YAAMC,IAASN,OAAOM,OAAOD,CAAS,EAAEE,IAAKC,CAAAA,MAAMC,OAAOD,CAAC,CAAC;AAC5DZ,MAAAA,EAAKM,KAAKI,CAAM;AAAA,IAClB,CAAC;AAAA,EACH,CAAC,GAEMV;AACT;AASO,SAASc,EAAqBf,GAAgC;AACnE,QAAMC,IAAmB,CAAA;AAGzBA,SAAAA,EAAKM,KAAK,CAAC,KAAK,GAAG,CAAC,GAGpBP,EAAKQ,QAASC,CAAAA,MAAW;AACvBA,IAAAA,EAAOD,QAASE,CAAAA,MAAc;AAC5BT,MAAAA,EAAKM,KAAK,CAACO,OAAOJ,EAAU,CAAC,CAAC,GAAGI,OAAOJ,EAAU,CAAC,CAAC,CAAC,CAAC;AAAA,IACxD,CAAC;AAAA,EACH,CAAC,GAEMT;AACT;AC1CO,SAASe,EAAkBC,GAA2C;AAC3E,SAAO;AAAA,IACLC,MAAMD;AAAAA,IACNE,MAAM;AAAA,IACNC,MAAM;AAAA,IACNC,QAAQ;AAAA,IACRC,QAAQ;AAAA,IACRC,MAAM;AAAA,EAAA;AAEV;AAUO,SAASC,EAAgBP,GAAoBQ,GAAc;AAChE,SAAO;AAAA,IACL,GAAI,CAACR,KAAa;AAAA,MAAEI,QAAQK,SAASD,EAAME,QAAQ,CAAC,CAAC;AAAA,IAAA;AAAA,IACrD,GAAIV,KAAa;AAAA,MAAEI,QAAQK,SAASD,EAAME,QAAQ,CAAC,CAAC;AAAA,IAAA;AAAA,EAAE;AAE1D;AASO,SAASC,EAAwBH,GAAc;AACpD,SAAO,SACLI,GACAC,GACAC,GACAC,GACAC,GACA;AACA,UAAMC,IAAW;AAAA,MAAEC,KAAKT,SAASD,EAAME,QAAQ,GAAG,CAAC;AAAA,IAAA;AAMnD,WAAIM,EAAKG,YAAY,CAAC,IAAIH,EAAKI,SAAS,CAAC,IAAIR,EAAM,CAAC,IAClDK,EAASd,OAAOS,EAAM,CAAC,IAEvBK,EAASI,QAAQL,EAAKI,SAAS,CAAC,IAAIR,EAAM,CAAC,GAGtCK;AAAAA,EACT;AACF;AC/DO,MAAMK,IAAqB;AAAA,EAChCC,OAAO;AAAA;AAAA;AAAA;AAAA,IAILC,WAAW;AAAA,MACTC,SAAS;AAAA,MACTC,YAAY;AAAA,MACZC,gBAAgB;AAAA,MAChBC,eAAe;AAAA,MACfC,KAAKA,CAAC;AAAA,QAAEnB,SAAAA;AAAAA,MAAAA,MAAqBA,EAAQ,CAAC;AAAA,MACtCoB,QAAQA,CAAC;AAAA,QAAEpB,SAAAA;AAAAA,MAAAA,MAAqBA,EAAQ,EAAE;AAAA,IAAA;AAAA,EAC5C;AAEJ;"}