@carto/ps-react-ui 4.2.7 → 5.0.0-widgets.1

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 (248) hide show
  1. package/dist/cjs-D9ro6BXv.js +85 -0
  2. package/dist/cjs-D9ro6BXv.js.map +1 -0
  3. package/dist/components.js +760 -1398
  4. package/dist/components.js.map +1 -1
  5. package/dist/exports-Cr43OCul.js +51 -0
  6. package/dist/exports-Cr43OCul.js.map +1 -0
  7. package/dist/lasso-tool-CYn3ivf-.js +534 -0
  8. package/dist/lasso-tool-CYn3ivf-.js.map +1 -0
  9. package/dist/options-D9wflre6.js +49 -0
  10. package/dist/options-D9wflre6.js.map +1 -0
  11. package/dist/row-C_m1ovHv.js +35 -0
  12. package/dist/row-C_m1ovHv.js.map +1 -0
  13. package/dist/series-6xp-KQ0S.js +91 -0
  14. package/dist/series-6xp-KQ0S.js.map +1 -0
  15. package/dist/smart-tooltip-BEtBaIdz.js +39 -0
  16. package/dist/smart-tooltip-BEtBaIdz.js.map +1 -0
  17. package/dist/styles-dOu_pRNb.js +77 -0
  18. package/dist/styles-dOu_pRNb.js.map +1 -0
  19. package/dist/tooltip-BDnrRKrp.js +25 -0
  20. package/dist/tooltip-BDnrRKrp.js.map +1 -0
  21. package/dist/types/hooks/index.d.ts +2 -0
  22. package/dist/types/hooks/use-debounce.d.ts +19 -0
  23. package/dist/types/hooks/use-widget-ref.d.ts +17 -0
  24. package/dist/types/widgets/_shared/chart-config/config-factory.d.ts +38 -0
  25. package/dist/types/widgets/_shared/chart-config/csv-modifiers.d.ts +19 -0
  26. package/dist/types/widgets/_shared/chart-config/index.d.ts +7 -0
  27. package/dist/types/widgets/_shared/chart-config/option-builders.d.ts +34 -0
  28. package/dist/types/widgets/_shared/skeleton/index.d.ts +4 -0
  29. package/dist/types/widgets/_shared/skeleton/styles.d.ts +19 -0
  30. package/dist/types/widgets/actions/change-column/change-column-icon.d.ts +1 -0
  31. package/dist/types/widgets/actions/change-column/change-column.d.ts +16 -0
  32. package/dist/types/widgets/actions/change-column/sortable-column-item.d.ts +9 -0
  33. package/dist/types/widgets/actions/change-column/types.d.ts +19 -0
  34. package/dist/types/widgets/actions/download/download.d.ts +2 -0
  35. package/dist/types/widgets/actions/download/exports.d.ts +6 -0
  36. package/dist/types/widgets/actions/download/types.d.ts +21 -0
  37. package/dist/types/widgets/actions/fullscreen/fullscreen.d.ts +2 -0
  38. package/dist/types/widgets/actions/fullscreen/styles.d.ts +16 -0
  39. package/dist/types/widgets/actions/fullscreen/types.d.ts +20 -0
  40. package/dist/types/widgets/actions/index.d.ts +18 -0
  41. package/dist/types/widgets/actions/lock-selection/lock-selection.d.ts +19 -0
  42. package/dist/types/widgets/actions/lock-selection/types.d.ts +38 -0
  43. package/dist/types/widgets/actions/relative-data/relative-data.d.ts +18 -0
  44. package/dist/types/widgets/actions/relative-data/style.d.ts +8 -0
  45. package/dist/types/widgets/actions/relative-data/types.d.ts +27 -0
  46. package/dist/types/widgets/actions/relative-data/utils.d.ts +9 -0
  47. package/dist/types/widgets/actions/relative-data/utils.test.d.ts +1 -0
  48. package/dist/types/widgets/actions/searcher/searcher-toggle.d.ts +18 -0
  49. package/dist/types/widgets/actions/searcher/searcher.d.ts +21 -0
  50. package/dist/types/widgets/actions/searcher/types.d.ts +62 -0
  51. package/dist/types/widgets/actions/shared/styles.d.ts +11 -0
  52. package/dist/types/widgets/actions/stack-toggle/grouped-bar-chart-icon.d.ts +1 -0
  53. package/dist/types/widgets/actions/stack-toggle/stack-toggle.d.ts +16 -0
  54. package/dist/types/widgets/actions/stack-toggle/types.d.ts +25 -0
  55. package/dist/types/widgets/actions/zoom-toggle/index.d.ts +2 -0
  56. package/dist/types/widgets/actions/zoom-toggle/style.d.ts +13 -0
  57. package/dist/types/widgets/actions/zoom-toggle/types.d.ts +41 -0
  58. package/dist/types/widgets/actions/zoom-toggle/zoom-toggle.d.ts +18 -0
  59. package/dist/types/widgets/bar/config.d.ts +5 -0
  60. package/dist/types/widgets/bar/index.d.ts +3 -0
  61. package/dist/types/widgets/bar/skeleton.d.ts +1 -0
  62. package/dist/types/widgets/bar/style.d.ts +37 -0
  63. package/dist/types/widgets/bar/types.d.ts +9 -0
  64. package/dist/types/widgets/category/category-ui.d.ts +2 -0
  65. package/dist/types/widgets/category/components/category-bar.d.ts +7 -0
  66. package/dist/types/widgets/category/components/category-legend.d.ts +6 -0
  67. package/dist/types/widgets/category/components/category-row-multi.d.ts +11 -0
  68. package/dist/types/widgets/category/components/category-row-other.d.ts +6 -0
  69. package/dist/types/widgets/category/components/category-row-single.d.ts +11 -0
  70. package/dist/types/widgets/category/components/index.d.ts +10 -0
  71. package/dist/types/widgets/category/config.d.ts +15 -0
  72. package/dist/types/widgets/category/index.d.ts +6 -0
  73. package/dist/types/widgets/category/skeleton.d.ts +1 -0
  74. package/dist/types/widgets/category/style.d.ts +121 -0
  75. package/dist/types/widgets/category/types.d.ts +33 -0
  76. package/dist/types/widgets/echart/const.d.ts +1 -0
  77. package/dist/types/widgets/echart/echart-ui.d.ts +2 -0
  78. package/dist/types/widgets/echart/echart.d.ts +2 -0
  79. package/dist/types/widgets/echart/index.d.ts +5 -0
  80. package/dist/types/widgets/echart/options.d.ts +2 -0
  81. package/dist/types/widgets/echart/types.d.ts +32 -0
  82. package/dist/types/widgets/echart/utils.d.ts +80 -0
  83. package/dist/types/widgets/formula/components/item.d.ts +2 -0
  84. package/dist/types/widgets/formula/components/prefix.d.ts +2 -0
  85. package/dist/types/widgets/formula/components/row.d.ts +2 -0
  86. package/dist/types/widgets/formula/components/series.d.ts +2 -0
  87. package/dist/types/widgets/formula/components/suffix.d.ts +2 -0
  88. package/dist/types/widgets/formula/components/value.d.ts +2 -0
  89. package/dist/types/widgets/formula/config.d.ts +4 -0
  90. package/dist/types/widgets/formula/formula-ui.d.ts +2 -0
  91. package/dist/types/widgets/formula/index.d.ts +11 -0
  92. package/dist/types/widgets/formula/serializer.d.ts +16 -0
  93. package/dist/types/widgets/formula/skeleton.d.ts +1 -0
  94. package/dist/types/widgets/formula/style.d.ts +21 -0
  95. package/dist/types/widgets/formula/types.d.ts +42 -0
  96. package/dist/types/widgets/histogram/config.d.ts +5 -0
  97. package/dist/types/widgets/histogram/index.d.ts +3 -0
  98. package/dist/types/widgets/histogram/skeleton.d.ts +1 -0
  99. package/dist/types/widgets/histogram/style.d.ts +15 -0
  100. package/dist/types/widgets/histogram/types.d.ts +9 -0
  101. package/dist/types/widgets/index.d.ts +2 -1
  102. package/dist/types/widgets/markdown/config.d.ts +4 -0
  103. package/dist/types/widgets/markdown/index.d.ts +5 -0
  104. package/dist/types/widgets/markdown/markdown-ui.d.ts +2 -0
  105. package/dist/types/widgets/markdown/markdown.d.ts +2 -0
  106. package/dist/types/widgets/markdown/skeleton.d.ts +1 -0
  107. package/dist/types/widgets/markdown/style.d.ts +2 -0
  108. package/dist/types/widgets/markdown/types.d.ts +18 -0
  109. package/dist/types/widgets/note/index.d.ts +2 -0
  110. package/dist/types/widgets/note/note.d.ts +2 -0
  111. package/dist/types/widgets/note/style.d.ts +28 -0
  112. package/dist/types/widgets/note/types.d.ts +8 -0
  113. package/dist/types/widgets/pie/config.d.ts +5 -0
  114. package/dist/types/widgets/pie/index.d.ts +3 -0
  115. package/dist/types/widgets/pie/skeleton.d.ts +1 -0
  116. package/dist/types/widgets/pie/style.d.ts +15 -0
  117. package/dist/types/widgets/pie/types.d.ts +9 -0
  118. package/dist/types/widgets/range/components/range-item.d.ts +2 -0
  119. package/dist/types/widgets/range/config.d.ts +6 -0
  120. package/dist/types/widgets/range/index.d.ts +6 -0
  121. package/dist/types/widgets/range/range-ui.d.ts +2 -0
  122. package/dist/types/widgets/range/serializer.d.ts +16 -0
  123. package/dist/types/widgets/range/serializer.test.d.ts +1 -0
  124. package/dist/types/widgets/range/skeleton.d.ts +1 -0
  125. package/dist/types/widgets/range/style.d.ts +2 -0
  126. package/dist/types/widgets/range/types.d.ts +33 -0
  127. package/dist/types/widgets/root/index.d.ts +3 -0
  128. package/dist/types/widgets/root/root.d.ts +2 -0
  129. package/dist/types/widgets/root/style.d.ts +8 -0
  130. package/dist/types/widgets/root/types.d.ts +9 -0
  131. package/dist/types/widgets/root/utils.d.ts +1 -0
  132. package/dist/types/widgets/scatterplot/config.d.ts +5 -0
  133. package/dist/types/widgets/scatterplot/index.d.ts +3 -0
  134. package/dist/types/widgets/scatterplot/skeleton.d.ts +1 -0
  135. package/dist/types/widgets/scatterplot/style.d.ts +24 -0
  136. package/dist/types/widgets/scatterplot/types.d.ts +9 -0
  137. package/dist/types/widgets/selection-summary/index.d.ts +2 -0
  138. package/dist/types/widgets/selection-summary/selection-summary.d.ts +2 -0
  139. package/dist/types/widgets/selection-summary/style.d.ts +9 -0
  140. package/dist/types/widgets/selection-summary/types.d.ts +13 -0
  141. package/dist/types/widgets/skeleton-loader/index.d.ts +2 -0
  142. package/dist/types/widgets/skeleton-loader/skeleton-loader.d.ts +2 -0
  143. package/dist/types/widgets/skeleton-loader/types.d.ts +7 -0
  144. package/dist/types/widgets/spread/components/max-value.d.ts +2 -0
  145. package/dist/types/widgets/spread/components/min-value.d.ts +2 -0
  146. package/dist/types/widgets/spread/components/separator.d.ts +2 -0
  147. package/dist/types/widgets/spread/config.d.ts +10 -0
  148. package/dist/types/widgets/spread/index.d.ts +9 -0
  149. package/dist/types/widgets/spread/skeleton.d.ts +1 -0
  150. package/dist/types/widgets/spread/spread-ui.d.ts +2 -0
  151. package/dist/types/widgets/spread/style.d.ts +21 -0
  152. package/dist/types/widgets/spread/types.d.ts +40 -0
  153. package/dist/types/widgets/stores/index.d.ts +2 -0
  154. package/dist/types/widgets/stores/types.d.ts +233 -0
  155. package/dist/types/widgets/stores/widget-store.d.ts +39 -0
  156. package/dist/types/widgets/stores/widget-store.test.d.ts +1 -0
  157. package/dist/types/widgets/subheader/index.d.ts +2 -0
  158. package/dist/types/widgets/subheader/style.d.ts +19 -0
  159. package/dist/types/widgets/subheader/subheader.d.ts +2 -0
  160. package/dist/types/widgets/subheader/types.d.ts +10 -0
  161. package/dist/types/widgets/table/components/cell-header.d.ts +5 -0
  162. package/dist/types/widgets/table/components/cell.d.ts +16 -0
  163. package/dist/types/widgets/table/components/index.d.ts +4 -0
  164. package/dist/types/widgets/table/components/pagination-actions.d.ts +5 -0
  165. package/dist/types/widgets/table/components/pagination.d.ts +5 -0
  166. package/dist/types/widgets/table/components/row.d.ts +5 -0
  167. package/dist/types/widgets/table/config.d.ts +11 -0
  168. package/dist/types/widgets/table/helpers.d.ts +38 -0
  169. package/dist/types/widgets/table/helpers.test.d.ts +1 -0
  170. package/dist/types/widgets/table/hooks/index.d.ts +6 -0
  171. package/dist/types/widgets/table/hooks/use-pagination.d.ts +45 -0
  172. package/dist/types/widgets/table/hooks/use-pagination.test.d.ts +1 -0
  173. package/dist/types/widgets/table/hooks/use-selection.d.ts +32 -0
  174. package/dist/types/widgets/table/hooks/use-selection.test.d.ts +1 -0
  175. package/dist/types/widgets/table/hooks/use-sort.d.ts +29 -0
  176. package/dist/types/widgets/table/hooks/use-sort.test.d.ts +1 -0
  177. package/dist/types/widgets/table/index.d.ts +13 -0
  178. package/dist/types/widgets/table/serializer.d.ts +16 -0
  179. package/dist/types/widgets/table/skeleton.d.ts +10 -0
  180. package/dist/types/widgets/table/style.d.ts +33 -0
  181. package/dist/types/widgets/table/table-ui.d.ts +32 -0
  182. package/dist/types/widgets/table/types.d.ts +201 -0
  183. package/dist/types/widgets/timeseries/config.d.ts +5 -0
  184. package/dist/types/widgets/timeseries/index.d.ts +3 -0
  185. package/dist/types/widgets/timeseries/skeleton.d.ts +1 -0
  186. package/dist/types/widgets/timeseries/style.d.ts +38 -0
  187. package/dist/types/widgets/timeseries/types.d.ts +9 -0
  188. package/dist/types/widgets/toolbar-actions/index.d.ts +2 -0
  189. package/dist/types/widgets/toolbar-actions/styles.d.ts +37 -0
  190. package/dist/types/widgets/toolbar-actions/toolbar-actions.d.ts +8 -0
  191. package/dist/types/widgets/toolbar-actions/types.d.ts +45 -0
  192. package/dist/types/widgets/wrapper/components/actions.d.ts +2 -0
  193. package/dist/types/widgets/wrapper/components/options.d.ts +2 -0
  194. package/dist/types/widgets/wrapper/components/title.d.ts +6 -0
  195. package/dist/types/widgets/wrapper/index.d.ts +6 -0
  196. package/dist/types/widgets/wrapper/styles.d.ts +89 -0
  197. package/dist/types/widgets/wrapper/types.d.ts +37 -0
  198. package/dist/types/widgets/wrapper/wrapper-ui.d.ts +2 -0
  199. package/dist/types/widgets/wrapper/wrapper.d.ts +2 -0
  200. package/dist/utils-Dv5Z47UQ.js +144 -0
  201. package/dist/utils-Dv5Z47UQ.js.map +1 -0
  202. package/dist/widget-store-DNyVElxd.js +190 -0
  203. package/dist/widget-store-DNyVElxd.js.map +1 -0
  204. package/dist/widgets/actions.js +828 -0
  205. package/dist/widgets/actions.js.map +1 -0
  206. package/dist/widgets/bar.js +192 -0
  207. package/dist/widgets/bar.js.map +1 -0
  208. package/dist/widgets/category.js +460 -0
  209. package/dist/widgets/category.js.map +1 -0
  210. package/dist/widgets/echart.js +123 -0
  211. package/dist/widgets/echart.js.map +1 -0
  212. package/dist/widgets/formula.js +124 -0
  213. package/dist/widgets/formula.js.map +1 -0
  214. package/dist/widgets/histogram.js +175 -0
  215. package/dist/widgets/histogram.js.map +1 -0
  216. package/dist/widgets/markdown.js +127 -0
  217. package/dist/widgets/markdown.js.map +1 -0
  218. package/dist/widgets/note.js +124 -0
  219. package/dist/widgets/note.js.map +1 -0
  220. package/dist/widgets/pie.js +216 -0
  221. package/dist/widgets/pie.js.map +1 -0
  222. package/dist/widgets/range.js +217 -0
  223. package/dist/widgets/range.js.map +1 -0
  224. package/dist/widgets/root.js +68 -0
  225. package/dist/widgets/root.js.map +1 -0
  226. package/dist/widgets/scatterplot.js +222 -0
  227. package/dist/widgets/scatterplot.js.map +1 -0
  228. package/dist/widgets/selection-summary.js +40 -0
  229. package/dist/widgets/selection-summary.js.map +1 -0
  230. package/dist/widgets/skeleton-loader.js +24 -0
  231. package/dist/widgets/skeleton-loader.js.map +1 -0
  232. package/dist/widgets/spread.js +166 -0
  233. package/dist/widgets/spread.js.map +1 -0
  234. package/dist/widgets/stores.js +5 -0
  235. package/dist/widgets/stores.js.map +1 -0
  236. package/dist/widgets/subheader.js +52 -0
  237. package/dist/widgets/subheader.js.map +1 -0
  238. package/dist/widgets/table.js +691 -0
  239. package/dist/widgets/table.js.map +1 -0
  240. package/dist/widgets/timeseries.js +174 -0
  241. package/dist/widgets/timeseries.js.map +1 -0
  242. package/dist/widgets/toolbar-actions.js +6106 -0
  243. package/dist/widgets/toolbar-actions.js.map +1 -0
  244. package/dist/widgets/wrapper.js +295 -0
  245. package/dist/widgets/wrapper.js.map +1 -0
  246. package/dist/widgets.js +4 -1
  247. package/dist/widgets.js.map +1 -1
  248. package/package.json +105 -3
@@ -0,0 +1,51 @@
1
+ import { jsx as c } from "react/jsx-runtime";
2
+ import a from "html2canvas";
3
+ import { ImageOutlined as l } from "@mui/icons-material";
4
+ import { SvgIcon as s } from "@mui/material";
5
+ function d(e) {
6
+ const t = e == null ? "" : typeof e == "object" ? JSON.stringify(e) : String(e);
7
+ return /[",\n]/.test(t) ? `"${t.replace(/"/g, '""')}"` : t;
8
+ }
9
+ async function h(e) {
10
+ const t = e.map((n) => n.map(d).join(",")).join(`
11
+ `), o = new Blob([t], {
12
+ type: "text/csv;charset=utf-8;"
13
+ });
14
+ return Promise.resolve(URL.createObjectURL(o));
15
+ }
16
+ const g = {
17
+ id: "csv",
18
+ label: "CSV",
19
+ icon: /* @__PURE__ */ c(s, { children: /* @__PURE__ */ c("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", fill: "none", viewBox: "0 0 18 18", children: /* @__PURE__ */ c("path", { fill: "currentColor", d: "M4.313 11.25h2.25v-1.125H4.688v-2.25h1.875V6.75h-2.25a.726.726 0 0 0-.535.216.726.726 0 0 0-.216.534v3c0 .213.072.39.216.534a.726.726 0 0 0 .534.216Zm2.925 0h2.25c.212 0 .39-.072.534-.216a.726.726 0 0 0 .216-.534V9.375a.931.931 0 0 0-.216-.59.658.658 0 0 0-.534-.273H8.363v-.637h1.875V6.75h-2.25a.726.726 0 0 0-.535.216.726.726 0 0 0-.216.534v1.125c0 .213.072.403.216.572a.675.675 0 0 0 .534.253h1.126v.675H7.238v1.125Zm4.95 0h1.124l1.313-4.5H13.5l-.75 2.588L12 6.75h-1.125l1.313 4.5ZM3 15c-.413 0-.766-.147-1.06-.44a1.445 1.445 0 0 1-.44-1.06v-9c0-.412.147-.766.44-1.06C2.235 3.148 2.588 3 3 3h12c.412 0 .766.147 1.06.44.293.294.44.648.44 1.06v9c0 .412-.147.766-.44 1.06-.294.293-.647.44-1.06.44H3Zm0-1.5h12v-9H3v9Z" }) }) }),
20
+ modifier: h,
21
+ callback: (e) => {
22
+ URL.revokeObjectURL(e);
23
+ }
24
+ };
25
+ async function m(e) {
26
+ if (!e || typeof e == "function" || !e.current) {
27
+ console.warn("[CARTO downloadFileToPNG] Invalid ref passed to downloadFileToPNG. Expected a React ref object with a .current property pointing to an HTMLElement. Download aborted.");
28
+ return;
29
+ }
30
+ const o = e.current.cloneNode(!0);
31
+ o.querySelector(".widget-toolbar-container")?.remove(), o.querySelector(".widget-wrapper-actions")?.remove(), document.body.appendChild(o);
32
+ const n = o.getBoundingClientRect(), r = {
33
+ useCORS: !0,
34
+ scale: 2,
35
+ backgroundColor: "#fff",
36
+ width: n.width,
37
+ height: n.height
38
+ }, i = (await a(o, r)).toDataURL("image/png");
39
+ return document.body.removeChild(o), Promise.resolve(i);
40
+ }
41
+ const b = {
42
+ id: "png",
43
+ label: "PNG",
44
+ icon: /* @__PURE__ */ c(l, {}),
45
+ modifier: m
46
+ };
47
+ export {
48
+ g as a,
49
+ b as d
50
+ };
51
+ //# sourceMappingURL=exports-Cr43OCul.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exports-Cr43OCul.js","sources":["../src/widgets/actions/download/exports.tsx"],"sourcesContent":["import type { Ref } from 'react'\nimport type { DownloadItem } from './types'\nimport html2canvas from 'html2canvas'\nimport { ImageOutlined } from '@mui/icons-material'\nimport { SvgIcon } from '@mui/material'\n\n// Helper to escape CSV cell values\nfunction escapeCSVCell<D>(value: D): string {\n const str =\n value == null\n ? ''\n : typeof value === 'object'\n ? JSON.stringify(value)\n : String(value)\n\n // If the value contains a comma, quote, or newline, wrap in quotes and escape quotes\n if (/[\",\\n]/.test(str)) {\n return `\"${str.replace(/\"/g, '\"\"')}\"`\n }\n return str\n}\n\nasync function downloadFileToCSV<D>(data: D[][]) {\n const csvContent = data\n .map((row) => row.map(escapeCSVCell<D>).join(','))\n .join('\\n')\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' })\n return Promise.resolve(URL.createObjectURL(blob))\n}\n\nexport const downloadToCSV: DownloadItem<unknown[][]> = {\n id: 'csv',\n label: 'CSV',\n icon: (\n <SvgIcon>\n <svg\n xmlns='http://www.w3.org/2000/svg'\n width='18'\n height='18'\n fill='none'\n viewBox='0 0 18 18'\n >\n <path\n fill='currentColor'\n d='M4.313 11.25h2.25v-1.125H4.688v-2.25h1.875V6.75h-2.25a.726.726 0 0 0-.535.216.726.726 0 0 0-.216.534v3c0 .213.072.39.216.534a.726.726 0 0 0 .534.216Zm2.925 0h2.25c.212 0 .39-.072.534-.216a.726.726 0 0 0 .216-.534V9.375a.931.931 0 0 0-.216-.59.658.658 0 0 0-.534-.273H8.363v-.637h1.875V6.75h-2.25a.726.726 0 0 0-.535.216.726.726 0 0 0-.216.534v1.125c0 .213.072.403.216.572a.675.675 0 0 0 .534.253h1.126v.675H7.238v1.125Zm4.95 0h1.124l1.313-4.5H13.5l-.75 2.588L12 6.75h-1.125l1.313 4.5ZM3 15c-.413 0-.766-.147-1.06-.44a1.445 1.445 0 0 1-.44-1.06v-9c0-.412.147-.766.44-1.06C2.235 3.148 2.588 3 3 3h12c.412 0 .766.147 1.06.44.293.294.44.648.44 1.06v9c0 .412-.147.766-.44 1.06-.294.293-.647.44-1.06.44H3Zm0-1.5h12v-9H3v9Z'\n />\n </svg>\n </SvgIcon>\n ),\n modifier: downloadFileToCSV,\n callback: (data) => {\n URL.revokeObjectURL(data)\n },\n}\n\nasync function downloadFileToPNG(ref: Ref<HTMLElement | null> | undefined) {\n if (!ref || typeof ref === 'function' || !ref.current) {\n // eslint-disable-next-line no-console\n console.warn(\n '[CARTO downloadFileToPNG] Invalid ref passed to downloadFileToPNG. ' +\n 'Expected a React ref object with a .current property pointing to an HTMLElement. ' +\n 'Download aborted.',\n )\n return\n }\n\n const element = ref.current\n const clone = element.cloneNode(true) as HTMLElement\n\n clone.querySelector('.widget-toolbar-container')?.remove()\n clone.querySelector('.widget-wrapper-actions')?.remove()\n\n document.body.appendChild(clone)\n\n const rect = clone.getBoundingClientRect()\n\n const opts = {\n useCORS: true,\n scale: 2,\n backgroundColor: '#fff',\n width: rect.width,\n height: rect.height,\n }\n\n const canvasResult: HTMLCanvasElement = await html2canvas(clone, opts)\n\n const result = canvasResult.toDataURL('image/png')\n\n document.body.removeChild(clone)\n\n return Promise.resolve(result)\n}\n\nexport const downloadToPNG: Omit<DownloadItem, 'modifier'> & {\n modifier: (\n ref: Ref<HTMLElement | null> | undefined,\n ) => Promise<string | undefined>\n} = {\n id: 'png',\n label: 'PNG',\n icon: <ImageOutlined />,\n modifier: downloadFileToPNG,\n}\n"],"names":["escapeCSVCell","value","str","JSON","stringify","String","test","replace","downloadFileToCSV","data","csvContent","map","row","join","blob","Blob","type","Promise","resolve","URL","createObjectURL","downloadToCSV","id","label","icon","SvgIcon","jsx","modifier","callback","revokeObjectURL","downloadFileToPNG","ref","current","console","warn","clone","cloneNode","querySelector","remove","document","body","appendChild","rect","getBoundingClientRect","opts","useCORS","scale","backgroundColor","width","height","result","html2canvas","toDataURL","removeChild","downloadToPNG","ImageOutlined"],"mappings":";;;;AAOA,SAASA,EAAiBC,GAAkB;AAC1C,QAAMC,IACJD,KAAS,OACL,KACA,OAAOA,KAAU,WACfE,KAAKC,UAAUH,CAAK,IACpBI,OAAOJ,CAAK;AAGpB,SAAI,SAASK,KAAKJ,CAAG,IACZ,IAAIA,EAAIK,QAAQ,MAAM,IAAI,CAAC,MAE7BL;AACT;AAEA,eAAeM,EAAqBC,GAAa;AAC/C,QAAMC,IAAaD,EAChBE,IAAKC,CAAAA,MAAQA,EAAID,IAAIX,CAAgB,EAAEa,KAAK,GAAG,CAAC,EAChDA,KAAK;AAAA,CAAI,GACNC,IAAO,IAAIC,KAAK,CAACL,CAAU,GAAG;AAAA,IAAEM,MAAM;AAAA,EAAA,CAA2B;AACvE,SAAOC,QAAQC,QAAQC,IAAIC,gBAAgBN,CAAI,CAAC;AAClD;AAEO,MAAMO,IAA2C;AAAA,EACtDC,IAAI;AAAA,EACJC,OAAO;AAAA,EACPC,wBACGC,GAAA,EACC,UAAA,gBAAAC,EAAC,SACC,OAAM,8BACN,OAAM,MACN,QAAO,MACP,MAAK,QACL,SAAQ,aAER,UAAA,gBAAAA,EAAC,QAAA,EACC,MAAK,gBACL,GAAE,+sBAAA,CAA8sB,EAAA,CAEptB,EAAA,CACF;AAAA,EAEFC,UAAUnB;AAAAA,EACVoB,UAAWnB,CAAAA,MAAS;AAClBU,QAAIU,gBAAgBpB,CAAI;AAAA,EAC1B;AACF;AAEA,eAAeqB,EAAkBC,GAA0C;AACzE,MAAI,CAACA,KAAO,OAAOA,KAAQ,cAAc,CAACA,EAAIC,SAAS;AAErDC,YAAQC,KACN,uKAGF;AACA;AAAA,EACF;AAGA,QAAMC,IADUJ,EAAIC,QACEI,UAAU,EAAI;AAEpCD,EAAAA,EAAME,cAAc,2BAA2B,GAAGC,OAAAA,GAClDH,EAAME,cAAc,yBAAyB,GAAGC,OAAAA,GAEhDC,SAASC,KAAKC,YAAYN,CAAK;AAE/B,QAAMO,IAAOP,EAAMQ,sBAAAA,GAEbC,IAAO;AAAA,IACXC,SAAS;AAAA,IACTC,OAAO;AAAA,IACPC,iBAAiB;AAAA,IACjBC,OAAON,EAAKM;AAAAA,IACZC,QAAQP,EAAKO;AAAAA,EAAAA,GAKTC,KAFkC,MAAMC,EAAYhB,GAAOS,CAAI,GAEzCQ,UAAU,WAAW;AAEjDb,kBAASC,KAAKa,YAAYlB,CAAK,GAExBlB,QAAQC,QAAQgC,CAAM;AAC/B;AAEO,MAAMI,IAIT;AAAA,EACFhC,IAAI;AAAA,EACJC,OAAO;AAAA,EACPC,wBAAO+B,GAAA,EAAa;AAAA,EACpB5B,UAAUG;AACZ;"}
@@ -0,0 +1,534 @@
1
+ import { jsx as i, jsxs as T, Fragment as R } from "react/jsx-runtime";
2
+ import { c as b } from "react/compiler-runtime";
3
+ import { ArrowDropDown as ee, MoreVertOutlined as te } from "@mui/icons-material";
4
+ import { Chip as oe, Paper as le, IconButton as ie, Menu as ne, Box as re, Divider as H, MenuItem as z, ListItemIcon as ae, SvgIcon as ce, ListItemText as se, ToggleButton as de, Typography as q } from "@mui/material";
5
+ import { d as N } from "./cjs-D9ro6BXv.js";
6
+ import { useState as ue, useMemo as J } from "react";
7
+ import { T as K } from "./tooltip-BDnrRKrp.js";
8
+ function ge(t) {
9
+ const e = b(3);
10
+ let l;
11
+ e[0] === Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ i("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4 18a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm16 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm-2.829 1a2.996 2.996 0 0 0 0 2H6.829a2.995 2.995 0 0 0 0-2h10.342Zm-2.463-5.707 3.998 4a3.013 3.013 0 0 0-1.414 1.414l-4-3.999a3.014 3.014 0 0 0 1.31-1.214l.106-.201ZM2.998 6.829a2.995 2.995 0 0 0 2.002 0v10.342a2.993 2.993 0 0 0-2.002 0V6.83ZM12 10a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm1.84-3.919c.464.483 1.09.81 1.79.896l-1.47 2.94a2.992 2.992 0 0 0-1.79-.894l1.47-2.942ZM16 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4ZM4 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm9.171.998a2.994 2.994 0 0 0 0 2.002H6.829a2.995 2.995 0 0 0 0-2.002h6.342Z", fill: "currentColor" }), e[0] = l) : l = e[0];
12
+ let o;
13
+ return e[1] !== t ? (o = /* @__PURE__ */ i("svg", { fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", ...t, children: l }), e[1] = t, e[2] = o) : o = e[2], o;
14
+ }
15
+ function pe(t) {
16
+ const e = b(3);
17
+ let l;
18
+ e[0] === Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ i("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4 18a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm16 0a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm-2.829 1a2.993 2.993 0 0 0-.17.974l-.001.052.007.183a3 3 0 0 0 .164.79H6.829a2.995 2.995 0 0 0 0-2h10.342ZM2.998 6.828a2.995 2.995 0 0 0 2.002 0V17.17a2.993 2.993 0 0 0-2.002 0V6.83Zm16.001 0a2.995 2.995 0 0 0 2 0V17.17a2.993 2.993 0 0 0-2 0V6.829ZM20 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4ZM4 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm13.171.998a2.991 2.991 0 0 0-.17.976L17 4.026l.007.183a3 3 0 0 0 .164.79H6.829a2.995 2.995 0 0 0 0-2H17.17Z", fill: "currentColor" }), e[0] = l) : l = e[0];
19
+ let o;
20
+ return e[1] !== t ? (o = /* @__PURE__ */ i("svg", { fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", ...t, children: l }), e[1] = t, e[2] = o) : o = e[2], o;
21
+ }
22
+ function he(t) {
23
+ const e = b(3);
24
+ let l;
25
+ e[0] === Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ i("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2Zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm0 6a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z", fill: "currentColor" }), e[0] = l) : l = e[0];
26
+ let o;
27
+ return e[1] !== t ? (o = /* @__PURE__ */ i("svg", { fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", ...t, children: l }), e[1] = t, e[2] = o) : o = e[2], o;
28
+ }
29
+ function fe(t) {
30
+ const e = b(3);
31
+ let l;
32
+ e[0] === Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ i("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M12 3c4.935 0 9 3.736 9 9l-.002.343-.012.668c-.012.438-.033.86-.062 1.266l-.05.597C20.498 18.767 19.267 21 17 21c-1.192 0-1.971-.341-2.988-1.122l-.472-.375c-.401-.319-.64-.473-.888-.566a4.938 4.938 0 0 0-.415-.13l-.34-.085-.398-.086-.456-.086-.66-.111-1.708-.273a9.112 9.112 0 0 1-.952-.206C5.46 17.301 3 14.954 3 12.015c0-1.508.485-2.995 1.436-4.458.355.585.906 1.04 1.562 1.272C5.328 9.916 5 10.977 5 12.015c0 1.889 1.78 3.588 3.282 4.025l.085.023.345.076.517.092 1.619.257.583.1.518.098.237.05.433.103c.272.07.512.143.73.224.434.161.783.373 1.235.718l.457.362c.806.646 1.24.857 1.959.857.893 0 1.63-1.518 1.895-4.45l.045-.585c.013-.2.024-.407.033-.62l.02-.655c.005-.224.007-.454.007-.69 0-4.12-3.133-7-7-7a1 1 0 1 1 0-2ZM7 4a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z", fill: "currentColor" }), e[0] = l) : l = e[0];
33
+ let o;
34
+ return e[1] !== t ? (o = /* @__PURE__ */ i("svg", { fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", ...t, children: l }), e[1] = t, e[2] = o) : o = e[2], o;
35
+ }
36
+ function me(t) {
37
+ const e = b(3);
38
+ let l;
39
+ e[0] === Symbol.for("react.memo_cache_sentinel") ? (l = /* @__PURE__ */ i("path", { fillRule: "evenodd", clipRule: "evenodd", d: "m10.083 19.394.057.113a1 1 0 0 0 1.72.007l2.869-4.786 4.786-2.87a1 1 0 0 0-.121-1.777l-14-6c-.83-.356-1.669.483-1.313 1.313l6.002 14ZM6.905 6.904l9.903 4.244-3.322 1.995-.102.069a1 1 0 0 0-.242.274l-1.992 3.321-4.245-9.903Z", fill: "currentColor" }), e[0] = l) : l = e[0];
40
+ let o;
41
+ return e[1] !== t ? (o = /* @__PURE__ */ i("svg", { fill: "none", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", ...t, children: l }), e[1] = t, e[2] = o) : o = e[2], o;
42
+ }
43
+ const x = {
44
+ action: {
45
+ tooltip: {
46
+ active: "Click on the map to draw your spatial filter",
47
+ inactive: "Click on the map to draw your spatial filter"
48
+ }
49
+ },
50
+ chip: {
51
+ tooltip: {
52
+ active: "Hide drawing",
53
+ inactive: "Show drawing"
54
+ }
55
+ },
56
+ options: {
57
+ mode: {
58
+ title: "Choose a drawing tool",
59
+ options: {
60
+ circle: "Circle",
61
+ lasso: "Lasso tool",
62
+ polygon: "Polygon",
63
+ rectangle: "Rectangle",
64
+ edit: "Edit feature"
65
+ }
66
+ }
67
+ },
68
+ noData: {
69
+ title: "Spatial filter not applied",
70
+ description: "Select a drawing or editing tool and click on the map to define your spatial filter"
71
+ },
72
+ actions: {
73
+ toggleAll: {
74
+ active: "Hide all",
75
+ inactive: "Show all"
76
+ },
77
+ deleteAll: "Remove all"
78
+ }
79
+ }, Be = {
80
+ polygon: {
81
+ icon: ge
82
+ },
83
+ rectangle: {
84
+ icon: pe
85
+ },
86
+ circle: {
87
+ icon: he
88
+ },
89
+ lasso: {
90
+ icon: fe
91
+ },
92
+ edit: {
93
+ icon: me
94
+ }
95
+ }, M = {
96
+ container: {
97
+ display: "flex",
98
+ flexDirection: "row",
99
+ alignItems: "center",
100
+ justifyContent: "flex-start",
101
+ overflow: "hidden",
102
+ "&.inline": {
103
+ flexDirection: "column",
104
+ alignItems: "flex-start",
105
+ gap: ({
106
+ spacing: t
107
+ }) => t(1)
108
+ }
109
+ },
110
+ actions: {
111
+ icon: {
112
+ width: ({
113
+ spacing: t
114
+ }) => t(4),
115
+ height: ({
116
+ spacing: t
117
+ }) => t(4),
118
+ borderRadius: 0,
119
+ ".MuiTouchRipple-ripple .MuiTouchRipple-child": {
120
+ borderRadius: 0
121
+ }
122
+ }
123
+ },
124
+ options: {
125
+ menu: {
126
+ paddingTop: ({
127
+ spacing: t
128
+ }) => t(1),
129
+ "&.inline": {
130
+ boxShadow: "none",
131
+ backgroundColor: "transparent",
132
+ borderRadius: ({
133
+ spacing: t
134
+ }) => t(0.5),
135
+ "& .MuiDivider-root": {
136
+ height: ({
137
+ spacing: t
138
+ }) => t(4),
139
+ "&.MuiToggleButtonGroup-groupedHorizontal": {
140
+ height: ({
141
+ spacing: t
142
+ }) => t(4)
143
+ },
144
+ "&.MuiToggleButtonGroup-groupedVertical": {
145
+ height: "auto",
146
+ width: ({
147
+ spacing: t
148
+ }) => t(4),
149
+ margin: ({
150
+ spacing: t
151
+ }) => `${t(0.5, 0, 1)} !important`,
152
+ borderRadius: "0 !important"
153
+ }
154
+ },
155
+ "& .MuiToggleButton-sizeSmall": {
156
+ margin: 0,
157
+ "&.MuiToggleButtonGroup-grouped:not(.MuiDivider-root)": {
158
+ margin: 0
159
+ },
160
+ "& + .MuiDivider-root.MuiToggleButtonGroup-groupedHorizontal": {
161
+ height: ({
162
+ spacing: t
163
+ }) => t(3)
164
+ },
165
+ "& + .MuiDivider-root.MuiToggleButtonGroup-groupedVertical": {
166
+ height: "auto",
167
+ width: ({
168
+ spacing: t
169
+ }) => t(3)
170
+ }
171
+ },
172
+ ".MuiToggleButtonGroup-grouped:not(.MuiDivider-root)": {
173
+ margin: 0,
174
+ "&:first-of-type": {
175
+ marginLeft: 0
176
+ },
177
+ "&:not(:last-of-type)": {
178
+ marginRight: ({
179
+ spacing: t
180
+ }) => t(0.5)
181
+ }
182
+ },
183
+ "&.MuiToggleButtonGroup-horizontal:not(.MuiDivider-root)": {
184
+ ".MuiToggleButtonGroup-grouped": {
185
+ margin: ({
186
+ spacing: t
187
+ }) => t(0, 0.5)
188
+ }
189
+ },
190
+ "&.MuiToggleButtonGroup-vertical:not(.MuiDivider-root)": {
191
+ ".MuiToggleButtonGroup-grouped": {
192
+ margin: ({
193
+ spacing: t
194
+ }) => t(0, 0, 0.5),
195
+ "&:not(:last-of-type)": {
196
+ marginRight: 0
197
+ },
198
+ "&:last-of-type": {
199
+ marginBottom: 0
200
+ }
201
+ }
202
+ }
203
+ }
204
+ },
205
+ icon: {
206
+ borderRadius: 0,
207
+ width: ({
208
+ spacing: t
209
+ }) => t(3)
210
+ },
211
+ title: {
212
+ paddingX: ({
213
+ spacing: t
214
+ }) => t(2),
215
+ paddingBottom: ({
216
+ spacing: t
217
+ }) => t(0.5),
218
+ "&.inline": {
219
+ paddingX: 0,
220
+ paddingBottom: 0
221
+ }
222
+ },
223
+ icons: {
224
+ color: ({
225
+ palette: t
226
+ }) => t.text.primary
227
+ },
228
+ more: {
229
+ width: ({
230
+ spacing: t
231
+ }) => t(4)
232
+ }
233
+ },
234
+ chip: {
235
+ container: {
236
+ display: "flex",
237
+ flexDirection: "row",
238
+ alignItems: "center",
239
+ gap: ({
240
+ spacing: t
241
+ }) => t(0.5),
242
+ overflowX: "auto",
243
+ scrollbarWidth: "none",
244
+ paddingX: ({
245
+ spacing: t
246
+ }) => t(1),
247
+ "&.inline": {
248
+ overflowX: "visible",
249
+ flexWrap: "wrap"
250
+ }
251
+ },
252
+ chip: {
253
+ marginRight: ({
254
+ spacing: t
255
+ }) => t(0.5)
256
+ }
257
+ }
258
+ };
259
+ function ve(t) {
260
+ const e = b(18), {
261
+ chipProps: l,
262
+ value: o,
263
+ labels: r,
264
+ onChipToggle: c,
265
+ onDelete: n
266
+ } = t, s = o.visible ? "active" : "inactive", a = r?.tooltip?.[s] ?? x.chip.tooltip[s], d = l?.TooltipProps;
267
+ let u;
268
+ e[0] === Symbol.for("react.memo_cache_sentinel") ? (u = {
269
+ ...M.chip.chip
270
+ }, e[0] = u) : u = e[0];
271
+ const p = o.visible ? "secondary" : "default";
272
+ let g;
273
+ e[1] !== n || e[2] !== o.id ? (g = () => n(o.id), e[1] = n, e[2] = o.id, e[3] = g) : g = e[3];
274
+ let h;
275
+ e[4] !== c || e[5] !== o.id || e[6] !== o.visible ? (h = () => c(o.id, !o.visible), e[4] = c, e[5] = o.id, e[6] = o.visible, e[7] = h) : h = e[7];
276
+ const v = l?.ChipsProps;
277
+ let f;
278
+ e[8] !== p || e[9] !== g || e[10] !== h || e[11] !== v || e[12] !== o.label ? (f = /* @__PURE__ */ i(oe, { sx: u, color: p, size: "small", onDelete: g, label: o.label, onClick: h, ...v }), e[8] = p, e[9] = g, e[10] = h, e[11] = v, e[12] = o.label, e[13] = f) : f = e[13];
279
+ let C;
280
+ return e[14] !== a || e[15] !== d || e[16] !== f ? (C = /* @__PURE__ */ i(K, { title: a, placement: "bottom", ...d, children: f }), e[14] = a, e[15] = d, e[16] = f, e[17] = C) : C = e[17], C;
281
+ }
282
+ function S(t) {
283
+ const e = b(44), {
284
+ enabled: l,
285
+ values: o,
286
+ actionProps: r,
287
+ chipProps: c,
288
+ labels: n,
289
+ modes: s,
290
+ modesMapping: a,
291
+ modeSelected: d,
292
+ PaperProps: u,
293
+ onActionToggle: p,
294
+ onChipToggle: g,
295
+ onDelete: h,
296
+ onChangeMode: v,
297
+ onAllChipToggle: f,
298
+ onAllDelete: C,
299
+ ChipsSlot: j,
300
+ ActionSlot: W,
301
+ SecondaryActionsSlot: X,
302
+ OptionsSlot: U
303
+ } = t;
304
+ let I;
305
+ e[0] !== o ? (I = o === void 0 ? [] : o, e[0] = o, e[1] = I) : I = e[1];
306
+ const E = I;
307
+ let y;
308
+ e[2] !== u ? (y = u === void 0 ? {} : u, e[2] = u, e[3] = y) : y = e[3];
309
+ let w, A;
310
+ e[4] !== y ? ({
311
+ sx: A,
312
+ ...w
313
+ } = y, e[4] = y, e[5] = w, e[6] = A) : (w = e[5], A = e[6]);
314
+ const O = j === void 0 ? S.Chips : j, P = W === void 0 ? S.Action : W, k = X === void 0 ? S.SecondaryActions : X, V = U === void 0 ? S.Options : U;
315
+ let G;
316
+ e[7] !== w || e[8] !== r || e[9] !== c || e[10] !== l || e[11] !== n || e[12] !== d || e[13] !== s || e[14] !== a || e[15] !== p || e[16] !== f || e[17] !== C || e[18] !== v || e[19] !== g || e[20] !== h || e[21] !== E ? (G = {
317
+ enabled: l,
318
+ values: E,
319
+ actionProps: r,
320
+ chipProps: c,
321
+ labels: n,
322
+ modes: s,
323
+ modesMapping: a,
324
+ modeSelected: d,
325
+ PaperProps: w,
326
+ onActionToggle: p,
327
+ onChipToggle: g,
328
+ onDelete: h,
329
+ onChangeMode: v,
330
+ onAllChipToggle: f,
331
+ onAllDelete: C
332
+ }, e[7] = w, e[8] = r, e[9] = c, e[10] = l, e[11] = n, e[12] = d, e[13] = s, e[14] = a, e[15] = p, e[16] = f, e[17] = C, e[18] = v, e[19] = g, e[20] = h, e[21] = E, e[22] = G) : G = e[22];
333
+ const m = G;
334
+ let D;
335
+ e[23] !== A ? (D = {
336
+ ...M.container,
337
+ ...A
338
+ }, e[23] = A, e[24] = D) : D = e[24];
339
+ let Z;
340
+ e[25] !== P || e[26] !== m ? (Z = !!P && /* @__PURE__ */ i(P, { ...m }), e[25] = P, e[26] = m, e[27] = Z) : Z = e[27];
341
+ let B;
342
+ e[28] !== V || e[29] !== m ? (B = !!V && /* @__PURE__ */ i(Q, { children: (Y) => /* @__PURE__ */ i(V, { ...m, ...Y }) }), e[28] = V, e[29] = m, e[30] = B) : B = e[30];
343
+ let L;
344
+ e[31] !== O || e[32] !== m ? (L = !!O && /* @__PURE__ */ i(O, { ...m }), e[31] = O, e[32] = m, e[33] = L) : L = e[33];
345
+ let _;
346
+ e[34] !== k || e[35] !== m ? (_ = !!k && /* @__PURE__ */ i(k, { ...m }), e[34] = k, e[35] = m, e[36] = _) : _ = e[36];
347
+ let $;
348
+ return e[37] !== w || e[38] !== D || e[39] !== Z || e[40] !== B || e[41] !== L || e[42] !== _ ? ($ = /* @__PURE__ */ T(le, { sx: D, ...w, children: [
349
+ Z,
350
+ B,
351
+ L,
352
+ _
353
+ ] }), e[37] = w, e[38] = D, e[39] = Z, e[40] = B, e[41] = L, e[42] = _, e[43] = $) : $ = e[43], $;
354
+ }
355
+ function be(t) {
356
+ const e = b(12), {
357
+ actionProps: l,
358
+ labels: o,
359
+ enabled: r,
360
+ children: c,
361
+ onActionToggle: n
362
+ } = t, s = r ? "active" : "inactive", a = o?.tooltip?.[s] ?? x.action.tooltip[s], d = l?.TooltipProps;
363
+ let u;
364
+ e[0] !== r || e[1] !== n ? (u = () => n(!r), e[0] = r, e[1] = n, e[2] = u) : u = e[2];
365
+ let p;
366
+ e[3] !== a || e[4] !== c || e[5] !== r || e[6] !== u ? (p = /* @__PURE__ */ i(de, { value: "toggle", sx: M.actions.icon, onClick: u, "aria-label": a, selected: r, children: c }), e[3] = a, e[4] = c, e[5] = r, e[6] = u, e[7] = p) : p = e[7];
367
+ let g;
368
+ return e[8] !== a || e[9] !== d || e[10] !== p ? (g = /* @__PURE__ */ i(K, { title: a, placement: "right", ...d, children: p }), e[8] = a, e[9] = d, e[10] = p, e[11] = g) : g = e[11], g;
369
+ }
370
+ function Q({
371
+ TriggerProps: {
372
+ Icon: t = /* @__PURE__ */ i(ee, {}),
373
+ sx: e
374
+ } = {},
375
+ MenuProps: l,
376
+ children: o
377
+ }) {
378
+ const [r, c] = ue(null), n = !!r, s = (d) => {
379
+ c(d.currentTarget);
380
+ }, a = () => {
381
+ c(null);
382
+ };
383
+ return /* @__PURE__ */ T(R, { children: [
384
+ /* @__PURE__ */ i(ie, { sx: {
385
+ ...M.options.icon,
386
+ ...e
387
+ }, onClick: s, children: t }),
388
+ /* @__PURE__ */ i(ne, { id: "lasso-menu", anchorEl: r, open: n, onClose: a, MenuListProps: {
389
+ "aria-labelledby": "lasso-button",
390
+ sx: M.options.menu
391
+ }, ...l, children: /* @__PURE__ */ i("div", { children: o({
392
+ onClose: a
393
+ }) }) })
394
+ ] });
395
+ }
396
+ function we(t) {
397
+ const e = b(5), {
398
+ data: l,
399
+ labels: o,
400
+ children: r
401
+ } = t;
402
+ if (l.length <= 1)
403
+ return null;
404
+ const c = o?.mode?.title ?? x.options.mode.title;
405
+ let n;
406
+ e[0] !== c ? (n = /* @__PURE__ */ i(q, { variant: "subtitle2", color: "text.secondary", sx: M.options.title, children: c }), e[0] = c, e[1] = n) : n = e[1];
407
+ let s;
408
+ return e[2] !== r || e[3] !== n ? (s = /* @__PURE__ */ T(R, { children: [
409
+ n,
410
+ r
411
+ ] }), e[2] = r, e[3] = n, e[4] = s) : s = e[4], s;
412
+ }
413
+ function F({
414
+ data: t,
415
+ modeSelected: e,
416
+ labels: l,
417
+ onChangeMode: o,
418
+ onClose: r
419
+ }) {
420
+ const c = (n, s) => {
421
+ n.preventDefault(), o?.(s), r();
422
+ };
423
+ return t.map((n) => {
424
+ const a = (l?.mode?.options ?? x.options.mode.options)[n.value];
425
+ return /* @__PURE__ */ T(z, { disabled: !!n.disabled, onClick: (d) => c(d, n.value), selected: n.value === e, children: [
426
+ /* @__PURE__ */ i(ae, { sx: M.options.icons, children: /* @__PURE__ */ i(ce, { children: /* @__PURE__ */ i(n.icon, {}) }) }),
427
+ /* @__PURE__ */ i(se, { children: a })
428
+ ] }, n.value);
429
+ });
430
+ }
431
+ function Me(t) {
432
+ const e = b(8), {
433
+ values: l,
434
+ labels: o,
435
+ onAllChipToggle: r,
436
+ onAllDelete: c
437
+ } = t;
438
+ if (!l?.length || l.length <= 1)
439
+ return null;
440
+ const s = l?.some(Ce) ? o?.actions?.toggleAll?.active ?? x.actions.toggleAll.active : o?.actions?.toggleAll?.inactive ?? x.actions.toggleAll.inactive, a = o?.actions?.deleteAll ?? x.actions.deleteAll;
441
+ let d;
442
+ e[0] === Symbol.for("react.memo_cache_sentinel") ? (d = /* @__PURE__ */ i(H, { orientation: "vertical", flexItem: !0 }), e[0] = d) : d = e[0];
443
+ let u, p;
444
+ e[1] === Symbol.for("react.memo_cache_sentinel") ? (u = {
445
+ Icon: /* @__PURE__ */ i(te, {}),
446
+ sx: M.options.more
447
+ }, p = {
448
+ anchorOrigin: {
449
+ vertical: "bottom",
450
+ horizontal: "right"
451
+ },
452
+ transformOrigin: {
453
+ vertical: "top",
454
+ horizontal: "right"
455
+ }
456
+ }, e[1] = u, e[2] = p) : (u = e[1], p = e[2]);
457
+ let g;
458
+ return e[3] !== a || e[4] !== r || e[5] !== c || e[6] !== s ? (g = /* @__PURE__ */ T(R, { children: [
459
+ d,
460
+ /* @__PURE__ */ i(Q, { TriggerProps: u, MenuProps: p, children: (h) => /* @__PURE__ */ T(R, { children: [
461
+ /* @__PURE__ */ i(z, { color: "inherit", onClick: () => {
462
+ r?.(), h.onClose();
463
+ }, children: s }),
464
+ /* @__PURE__ */ i(H, {}),
465
+ /* @__PURE__ */ i(z, { color: "error", onClick: () => {
466
+ c?.(), h.onClose();
467
+ }, children: /* @__PURE__ */ i(q, { variant: "body2", color: "error", children: a }) })
468
+ ] }) })
469
+ ] }), e[3] = a, e[4] = r, e[5] = c, e[6] = s, e[7] = g) : g = e[7], g;
470
+ }
471
+ function Ce(t) {
472
+ return t.visible;
473
+ }
474
+ S.Action = function({
475
+ modes: e,
476
+ modesMapping: l,
477
+ modeSelected: o,
478
+ actionProps: r,
479
+ enabled: c,
480
+ labels: n,
481
+ onActionToggle: s
482
+ }) {
483
+ const a = J(() => N(e ?? {}, l ?? {}), [e, l]), d = (h) => s?.(h), p = (o ? o in (e ?? {}) : !1) ? o : Object.keys(a)[0], g = a[p];
484
+ return /* @__PURE__ */ i(be, { actionProps: r, labels: n?.action, enabled: c ?? !1, onActionToggle: d, children: g?.icon && /* @__PURE__ */ i(g.icon, {}) });
485
+ };
486
+ S.Chips = function({
487
+ values: e,
488
+ labels: l,
489
+ chipProps: o,
490
+ onDelete: r,
491
+ onChipToggle: c,
492
+ onActionToggle: n
493
+ }) {
494
+ const s = (a) => (n?.(!1), r?.(a));
495
+ return !!e?.length && /* @__PURE__ */ i(re, { sx: M.chip.container, children: e?.map((a) => /* @__PURE__ */ i(ve, { value: a, labels: l?.chip, chipProps: o, onDelete: s, onChipToggle: (d, u) => c?.(d, u) }, a.id)) });
496
+ };
497
+ S.SecondaryActions = Me;
498
+ S.Options = function({
499
+ values: e,
500
+ modes: l,
501
+ modesMapping: o,
502
+ modeSelected: r,
503
+ labels: c,
504
+ onChangeMode: n,
505
+ ...s
506
+ }) {
507
+ const a = J(() => N(l ?? {}, o ?? {}), [l, o]), {
508
+ edit: d,
509
+ ...u
510
+ } = a, g = (r ? r in (l ?? {}) : !1) ? r : Object.keys(a)[0], h = Object.values(u), v = (f) => n?.(f);
511
+ return /* @__PURE__ */ T(R, { children: [
512
+ /* @__PURE__ */ i(we, { data: h, labels: c?.options, children: /* @__PURE__ */ i(F, { ...s, labels: c?.options, data: h, modeSelected: g, onChangeMode: v }) }),
513
+ !!d && /* @__PURE__ */ T(R, { children: [
514
+ /* @__PURE__ */ i(H, {}),
515
+ /* @__PURE__ */ i(F, { ...s, labels: c?.options, data: [{
516
+ ...d,
517
+ disabled: !e?.length
518
+ }], modeSelected: g, onChangeMode: v })
519
+ ] })
520
+ ] });
521
+ };
522
+ export {
523
+ Be as D,
524
+ ve as L,
525
+ me as S,
526
+ x as a,
527
+ S as b,
528
+ he as c,
529
+ fe as d,
530
+ ge as e,
531
+ pe as f,
532
+ M as s
533
+ };
534
+ //# sourceMappingURL=lasso-tool-CYn3ivf-.js.map