@carto/ps-react-ui 4.21.1 → 4.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/actions-D7LB9DvT.js +1161 -0
  2. package/dist/actions-D7LB9DvT.js.map +1 -0
  3. package/dist/category-Ca5XDx0N.js +839 -0
  4. package/dist/category-Ca5XDx0N.js.map +1 -0
  5. package/dist/{download-C7he8mSh.js → download--wRRnf19.js} +81 -80
  6. package/dist/download--wRRnf19.js.map +1 -0
  7. package/dist/{echart-DSz2Tu0z.js → echart-CgOQw9XB.js} +29 -29
  8. package/dist/echart-CgOQw9XB.js.map +1 -0
  9. package/dist/{formula-Cqj84ZGX.js → formula-DRuMIVo8.js} +6 -6
  10. package/dist/formula-DRuMIVo8.js.map +1 -0
  11. package/dist/{markdown-CV_KP-at.js → markdown-C3OX9jyy.js} +6 -6
  12. package/dist/markdown-C3OX9jyy.js.map +1 -0
  13. package/dist/{spread-C8T12Nfh.js → spread-BT07rCJw.js} +7 -7
  14. package/dist/spread-BT07rCJw.js.map +1 -0
  15. package/dist/{table-CNQijNNB.js → table-CRG9eOs9.js} +3 -3
  16. package/dist/table-CRG9eOs9.js.map +1 -0
  17. package/dist/types/widgets-v2/actions/download/csv-item.d.ts +3 -3
  18. package/dist/types/widgets-v2/actions/download/index.d.ts +1 -1
  19. package/dist/types/widgets-v2/actions/download/png-item.d.ts +2 -2
  20. package/dist/types/widgets-v2/actions/download/types.d.ts +12 -1
  21. package/dist/types/widgets-v2/actions/fullscreen/fullscreen.d.ts +42 -16
  22. package/dist/types/widgets-v2/actions/fullscreen/style.d.ts +9 -0
  23. package/dist/types/widgets-v2/actions/index.d.ts +1 -1
  24. package/dist/types/widgets-v2/bar/download.d.ts +3 -3
  25. package/dist/types/widgets-v2/category/category-ui.d.ts +9 -1
  26. package/dist/types/widgets-v2/category/download.d.ts +3 -3
  27. package/dist/types/widgets-v2/echart/echart-ui.d.ts +2 -2
  28. package/dist/types/widgets-v2/echart/echart.d.ts +9 -1
  29. package/dist/types/widgets-v2/echart/style.d.ts +2 -0
  30. package/dist/types/widgets-v2/formula/download.d.ts +3 -3
  31. package/dist/types/widgets-v2/histogram/download.d.ts +3 -3
  32. package/dist/types/widgets-v2/index.d.ts +2 -2
  33. package/dist/types/widgets-v2/markdown/download.d.ts +3 -3
  34. package/dist/types/widgets-v2/pie/download.d.ts +3 -3
  35. package/dist/types/widgets-v2/scatterplot/download.d.ts +3 -3
  36. package/dist/types/widgets-v2/spread/download.d.ts +3 -3
  37. package/dist/types/widgets-v2/table/download.d.ts +3 -3
  38. package/dist/types/widgets-v2/timeseries/download.d.ts +3 -3
  39. package/dist/types/widgets-v2/toolbox/toolbox.d.ts +1 -1
  40. package/dist/widgets-v2/actions.js +2 -2
  41. package/dist/widgets-v2/bar.js +7 -7
  42. package/dist/widgets-v2/bar.js.map +1 -1
  43. package/dist/widgets-v2/category.js +1 -1
  44. package/dist/widgets-v2/echart.js +1 -1
  45. package/dist/widgets-v2/formula.js +1 -1
  46. package/dist/widgets-v2/histogram.js +10 -10
  47. package/dist/widgets-v2/histogram.js.map +1 -1
  48. package/dist/widgets-v2/markdown.js +1 -1
  49. package/dist/widgets-v2/pie.js +10 -11
  50. package/dist/widgets-v2/pie.js.map +1 -1
  51. package/dist/widgets-v2/scatterplot.js +9 -9
  52. package/dist/widgets-v2/scatterplot.js.map +1 -1
  53. package/dist/widgets-v2/spread.js +1 -1
  54. package/dist/widgets-v2/table.js +1 -1
  55. package/dist/widgets-v2/timeseries.js +12 -12
  56. package/dist/widgets-v2/timeseries.js.map +1 -1
  57. package/dist/widgets-v2.js +274 -333
  58. package/dist/widgets-v2.js.map +1 -1
  59. package/package.json +3 -3
  60. package/src/widgets-v2/actions/download/csv-item.test.tsx +3 -3
  61. package/src/widgets-v2/actions/download/csv-item.tsx +6 -6
  62. package/src/widgets-v2/actions/download/download.tsx +5 -3
  63. package/src/widgets-v2/actions/download/index.ts +1 -1
  64. package/src/widgets-v2/actions/download/png-item.test.tsx +5 -3
  65. package/src/widgets-v2/actions/download/png-item.tsx +4 -4
  66. package/src/widgets-v2/actions/download/types.ts +15 -1
  67. package/src/widgets-v2/actions/fullscreen/fullscreen-store.test.tsx +155 -0
  68. package/src/widgets-v2/actions/fullscreen/fullscreen.test.tsx +93 -33
  69. package/src/widgets-v2/actions/fullscreen/fullscreen.tsx +272 -86
  70. package/src/widgets-v2/actions/fullscreen/style.ts +31 -4
  71. package/src/widgets-v2/actions/index.ts +1 -0
  72. package/src/widgets-v2/actions/searcher/searcher.tsx +17 -2
  73. package/src/widgets-v2/bar/download.test.tsx +5 -3
  74. package/src/widgets-v2/bar/download.tsx +5 -4
  75. package/src/widgets-v2/category/category-ui.tsx +20 -9
  76. package/src/widgets-v2/category/category.tsx +37 -2
  77. package/src/widgets-v2/category/download.test.ts +4 -2
  78. package/src/widgets-v2/category/download.ts +5 -4
  79. package/src/widgets-v2/echart/echart-ui.test.tsx +6 -3
  80. package/src/widgets-v2/echart/echart-ui.tsx +6 -2
  81. package/src/widgets-v2/echart/echart.test.tsx +1 -1
  82. package/src/widgets-v2/echart/echart.tsx +10 -0
  83. package/src/widgets-v2/echart/style.ts +16 -1
  84. package/src/widgets-v2/formula/download.test.tsx +3 -1
  85. package/src/widgets-v2/formula/download.tsx +5 -4
  86. package/src/widgets-v2/histogram/download.test.ts +6 -4
  87. package/src/widgets-v2/histogram/download.ts +5 -4
  88. package/src/widgets-v2/index.ts +1 -0
  89. package/src/widgets-v2/markdown/download.test.ts +2 -2
  90. package/src/widgets-v2/markdown/download.tsx +5 -4
  91. package/src/widgets-v2/pie/download.test.ts +7 -3
  92. package/src/widgets-v2/pie/download.ts +5 -4
  93. package/src/widgets-v2/pie/options.test.ts +8 -0
  94. package/src/widgets-v2/pie/options.ts +3 -8
  95. package/src/widgets-v2/scatterplot/download.test.ts +4 -2
  96. package/src/widgets-v2/scatterplot/download.ts +5 -4
  97. package/src/widgets-v2/spread/download.test.ts +3 -1
  98. package/src/widgets-v2/spread/download.ts +5 -4
  99. package/src/widgets-v2/table/download.test.ts +5 -3
  100. package/src/widgets-v2/table/download.ts +4 -3
  101. package/src/widgets-v2/timeseries/download.test.ts +6 -4
  102. package/src/widgets-v2/timeseries/download.ts +5 -4
  103. package/src/widgets-v2/toolbox/toolbox.tsx +1 -1
  104. package/dist/actions-C7ZAO0FG.js +0 -1004
  105. package/dist/actions-C7ZAO0FG.js.map +0 -1
  106. package/dist/category-DZt6yiST.js +0 -826
  107. package/dist/category-DZt6yiST.js.map +0 -1
  108. package/dist/download-C7he8mSh.js.map +0 -1
  109. package/dist/echart-DSz2Tu0z.js.map +0 -1
  110. package/dist/formula-Cqj84ZGX.js.map +0 -1
  111. package/dist/markdown-CV_KP-at.js.map +0 -1
  112. package/dist/spread-C8T12Nfh.js.map +0 -1
  113. package/dist/table-CNQijNNB.js.map +0 -1
@@ -56,7 +56,9 @@ describe('createTableDownloadConfig', () => {
56
56
  getData: () => data,
57
57
  columns,
58
58
  })
59
- const handle = await items.find((i) => i.id === 'csv')!.resolve()
59
+ const handle = await items
60
+ .find((i) => i.id === 'csv')!
61
+ .resolve({ id: null })
60
62
  expect(handle.filename).toBe('t.csv')
61
63
  expect(csvText).toBe('Name,Score\nAlpha,10\nBeta,20')
62
64
  })
@@ -67,7 +69,7 @@ describe('createTableDownloadConfig', () => {
67
69
  getData: () => [{ id: 1, name: '=HYPERLINK("x")', score: 1 }],
68
70
  columns,
69
71
  })
70
- await items.find((i) => i.id === 'csv')!.resolve()
72
+ await items.find((i) => i.id === 'csv')!.resolve({ id: null })
71
73
  expect(csvText).toBe('Name,Score\n"\'=HYPERLINK(""x"")",1')
72
74
  })
73
75
 
@@ -79,7 +81,7 @@ describe('createTableDownloadConfig', () => {
79
81
  columns,
80
82
  })
81
83
  snapshot = [{ id: 9, name: 'Gamma', score: 99 }]
82
- await items.find((i) => i.id === 'csv')!.resolve()
84
+ await items.find((i) => i.id === 'csv')!.resolve({ id: null })
83
85
  expect(csvText).toBe('Name,Score\nGamma,99')
84
86
  })
85
87
  })
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  buildCsvDownloadItem,
3
3
  buildPngDownloadItem,
4
+ type DownloadContext,
4
5
  type DownloadItem,
5
6
  } from '../actions/download'
6
7
  import { tableDataToCsv } from './helpers'
@@ -16,9 +17,9 @@ import type { TableColumn, TableWidgetData } from './types'
16
17
  */
17
18
  export function createTableDownloadConfig(opts: {
18
19
  filename: string
19
- getData: () => TableWidgetData
20
+ getData: (ctx: DownloadContext) => TableWidgetData
20
21
  columns: readonly TableColumn[]
21
- getCaptureEl?: () => HTMLElement | null
22
+ getCaptureEl?: (ctx: DownloadContext) => HTMLElement | null
22
23
  pngPixelRatio?: number
23
24
  pngBackgroundColor?: string | null
24
25
  }): DownloadItem[] {
@@ -36,7 +37,7 @@ export function createTableDownloadConfig(opts: {
36
37
  items.push(
37
38
  buildCsvDownloadItem({
38
39
  filename: opts.filename,
39
- getCsv: () => tableDataToCsv(opts.getData(), opts.columns),
40
+ getCsv: (ctx) => tableDataToCsv(opts.getData(ctx), opts.columns),
40
41
  }),
41
42
  )
42
43
  return items
@@ -53,7 +53,9 @@ describe('createTimeseriesDownloadConfig', () => {
53
53
  filename: 't',
54
54
  getData: () => data,
55
55
  })
56
- const handle = await items.find((i) => i.id === 'csv')!.resolve()
56
+ const handle = await items
57
+ .find((i) => i.id === 'csv')!
58
+ .resolve({ id: null })
57
59
  expect(handle.filename).toBe('t.csv')
58
60
  expect(csvText).toBe(
59
61
  'time,series_1,series_2\n' +
@@ -69,7 +71,7 @@ describe('createTimeseriesDownloadConfig', () => {
69
71
  filename: 't',
70
72
  getData: () => data,
71
73
  })
72
- await items.find((i) => i.id === 'csv')!.resolve()
74
+ await items.find((i) => i.id === 'csv')!.resolve({ id: null })
73
75
  expect(csvText).toContain('2024-01-01T00:00:00.000Z,7')
74
76
  })
75
77
 
@@ -79,7 +81,7 @@ describe('createTimeseriesDownloadConfig', () => {
79
81
  filename: 't',
80
82
  getData: () => data,
81
83
  })
82
- await items.find((i) => i.id === 'csv')!.resolve()
84
+ await items.find((i) => i.id === 'csv')!.resolve({ id: null })
83
85
  expect(csvText).toContain('2024-Q1,1')
84
86
  })
85
87
 
@@ -89,7 +91,7 @@ describe('createTimeseriesDownloadConfig', () => {
89
91
  getData: () => [[{ name: '2024', value: 1 }]],
90
92
  seriesNames: ['revenue'],
91
93
  })
92
- await items.find((i) => i.id === 'csv')!.resolve()
94
+ await items.find((i) => i.id === 'csv')!.resolve({ id: null })
93
95
  expect(csvText.split('\n')[0]).toBe('time,revenue')
94
96
  })
95
97
  })
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  buildCsvDownloadItem,
3
3
  buildPngDownloadItem,
4
+ type DownloadContext,
4
5
  type DownloadItem,
5
6
  } from '../actions/download'
6
7
  import type { TimeseriesWidgetData } from './types'
@@ -14,9 +15,9 @@ import type { TimeseriesWidgetData } from './types'
14
15
  */
15
16
  export function createTimeseriesDownloadConfig(args: {
16
17
  filename: string
17
- getData: () => TimeseriesWidgetData
18
+ getData: (ctx: DownloadContext) => TimeseriesWidgetData
18
19
  seriesNames?: readonly string[]
19
- getCaptureEl?: () => HTMLElement | null
20
+ getCaptureEl?: (ctx: DownloadContext) => HTMLElement | null
20
21
  pngPixelRatio?: number
21
22
  pngBackgroundColor?: string | null
22
23
  }): DownloadItem[] {
@@ -34,8 +35,8 @@ export function createTimeseriesDownloadConfig(args: {
34
35
  items.push(
35
36
  buildCsvDownloadItem({
36
37
  filename: args.filename,
37
- getRows: () => {
38
- const data = args.getData()
38
+ getRows: (ctx) => {
39
+ const data = args.getData(ctx)
39
40
  const seriesCount = data.length
40
41
 
41
42
  // Collect every unique time, preserving insertion order.
@@ -56,7 +56,7 @@ export interface ToolboxProps {
56
56
  * Smart overflow toolbar with **single-mount** items. Children mount once
57
57
  * into a stable, hidden host element and are *physically reparented* via
58
58
  * `appendChild` between the inline preview area and the overflow `<Paper>`
59
- * as the popper opens / closes — same pattern as `Widget.FullScreen.Slot`.
59
+ * as the popper opens / closes.
60
60
  * Items with no inline space when closed are kept mounted but visually
61
61
  * hidden via `display: none`.
62
62
  *