@carto/ps-react-ui 4.3.0-widgets.0 → 5.0.0-widgets.2

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 (277) hide show
  1. package/dist/components.js +25 -23
  2. package/dist/components.js.map +1 -1
  3. package/dist/error-zHOU_QIB.js +38 -0
  4. package/dist/error-zHOU_QIB.js.map +1 -0
  5. package/dist/exports-Cr43OCul.js +51 -0
  6. package/dist/exports-Cr43OCul.js.map +1 -0
  7. package/dist/{lasso-tool-BC-rsMMW.js → lasso-tool-CYn3ivf-.js} +165 -183
  8. package/dist/lasso-tool-CYn3ivf-.js.map +1 -0
  9. package/dist/no-data-Cz80hEWj.js +61 -0
  10. package/dist/no-data-Cz80hEWj.js.map +1 -0
  11. package/dist/options-D9wflre6.js +49 -0
  12. package/dist/options-D9wflre6.js.map +1 -0
  13. package/dist/row-C_m1ovHv.js +35 -0
  14. package/dist/row-C_m1ovHv.js.map +1 -0
  15. package/dist/series-6xp-KQ0S.js +91 -0
  16. package/dist/series-6xp-KQ0S.js.map +1 -0
  17. package/dist/{smart-tooltip-BSlcAkBM.js → smart-tooltip-BEtBaIdz.js} +2 -2
  18. package/dist/{smart-tooltip-BSlcAkBM.js.map → smart-tooltip-BEtBaIdz.js.map} +1 -1
  19. package/dist/styles-dOu_pRNb.js +77 -0
  20. package/dist/styles-dOu_pRNb.js.map +1 -0
  21. package/dist/tooltip-BDnrRKrp.js +25 -0
  22. package/dist/tooltip-BDnrRKrp.js.map +1 -0
  23. package/dist/types/hooks/index.d.ts +2 -0
  24. package/dist/types/hooks/use-debounce.d.ts +19 -0
  25. package/dist/types/hooks/use-widget-ref.d.ts +17 -0
  26. package/dist/types/widgets/_shared/chart-config/config-factory.d.ts +5 -11
  27. package/dist/types/widgets/_shared/chart-config/option-builders.d.ts +3 -8
  28. package/dist/types/widgets/actions/change-column/change-column-icon.d.ts +1 -0
  29. package/dist/types/widgets/actions/change-column/change-column.d.ts +16 -0
  30. package/dist/types/widgets/actions/change-column/sortable-column-item.d.ts +9 -0
  31. package/dist/types/widgets/actions/change-column/types.d.ts +19 -0
  32. package/dist/types/widgets/actions/download/download.d.ts +1 -1
  33. package/dist/types/widgets/actions/download/exports.d.ts +1 -1
  34. package/dist/types/widgets/actions/download/types.d.ts +3 -11
  35. package/dist/types/widgets/actions/fullscreen/fullscreen.d.ts +1 -1
  36. package/dist/types/widgets/actions/fullscreen/styles.d.ts +6 -0
  37. package/dist/types/widgets/actions/fullscreen/types.d.ts +8 -9
  38. package/dist/types/widgets/actions/index.d.ts +14 -1
  39. package/dist/types/widgets/actions/lock-selection/lock-selection.d.ts +19 -0
  40. package/dist/types/widgets/actions/lock-selection/types.d.ts +38 -0
  41. package/dist/types/widgets/actions/relative-data/relative-data.d.ts +18 -0
  42. package/dist/types/widgets/actions/relative-data/style.d.ts +8 -0
  43. package/dist/types/widgets/actions/relative-data/types.d.ts +27 -0
  44. package/dist/types/widgets/actions/relative-data/utils.d.ts +9 -0
  45. package/dist/types/widgets/actions/relative-data/utils.test.d.ts +1 -0
  46. package/dist/types/widgets/actions/searcher/searcher-toggle.d.ts +18 -0
  47. package/dist/types/widgets/actions/searcher/searcher.d.ts +21 -0
  48. package/dist/types/widgets/actions/searcher/types.d.ts +64 -0
  49. package/dist/types/widgets/actions/shared/styles.d.ts +11 -0
  50. package/dist/types/widgets/actions/stack-toggle/grouped-bar-chart-icon.d.ts +1 -0
  51. package/dist/types/widgets/actions/stack-toggle/stack-toggle.d.ts +16 -0
  52. package/dist/types/widgets/actions/stack-toggle/types.d.ts +25 -0
  53. package/dist/types/widgets/actions/zoom-toggle/index.d.ts +2 -0
  54. package/dist/types/widgets/actions/zoom-toggle/style.d.ts +13 -0
  55. package/dist/types/widgets/actions/zoom-toggle/types.d.ts +41 -0
  56. package/dist/types/widgets/actions/zoom-toggle/zoom-toggle.d.ts +18 -0
  57. package/dist/types/widgets/bar/config.d.ts +5 -4
  58. package/dist/types/widgets/bar/index.d.ts +2 -2
  59. package/dist/types/widgets/bar/types.d.ts +6 -12
  60. package/dist/types/widgets/category/category-ui.d.ts +2 -0
  61. package/dist/types/widgets/category/components/category-bar.d.ts +7 -0
  62. package/dist/types/widgets/category/components/category-legend.d.ts +6 -0
  63. package/dist/types/widgets/category/components/category-row-multi.d.ts +11 -0
  64. package/dist/types/widgets/category/components/category-row-other.d.ts +6 -0
  65. package/dist/types/widgets/category/components/category-row-single.d.ts +11 -0
  66. package/dist/types/widgets/category/components/index.d.ts +10 -0
  67. package/dist/types/widgets/category/config.d.ts +15 -0
  68. package/dist/types/widgets/category/index.d.ts +6 -0
  69. package/dist/types/widgets/category/skeleton.d.ts +1 -0
  70. package/dist/types/widgets/category/style.d.ts +121 -0
  71. package/dist/types/widgets/category/types.d.ts +33 -0
  72. package/dist/types/widgets/echart/echart-ui.d.ts +1 -1
  73. package/dist/types/widgets/echart/index.d.ts +2 -2
  74. package/dist/types/widgets/echart/options.d.ts +2 -3
  75. package/dist/types/widgets/echart/types.d.ts +11 -10
  76. package/dist/types/widgets/echart/utils.d.ts +22 -16
  77. package/dist/types/widgets/error/error.d.ts +2 -0
  78. package/dist/types/widgets/error/index.d.ts +2 -0
  79. package/dist/types/widgets/error/types.d.ts +12 -0
  80. package/dist/types/widgets/formula/components/row.d.ts +1 -1
  81. package/dist/types/widgets/formula/config.d.ts +4 -2
  82. package/dist/types/widgets/formula/index.d.ts +2 -1
  83. package/dist/types/widgets/formula/types.d.ts +6 -18
  84. package/dist/types/widgets/histogram/config.d.ts +5 -4
  85. package/dist/types/widgets/histogram/index.d.ts +2 -2
  86. package/dist/types/widgets/histogram/types.d.ts +6 -12
  87. package/dist/types/widgets/index.d.ts +6 -4
  88. package/dist/types/widgets/markdown/config.d.ts +4 -2
  89. package/dist/types/widgets/markdown/index.d.ts +2 -2
  90. package/dist/types/widgets/markdown/markdown-ui.d.ts +1 -1
  91. package/dist/types/widgets/markdown/types.d.ts +6 -16
  92. package/dist/types/widgets/no-data/index.d.ts +2 -0
  93. package/dist/types/widgets/no-data/no-data.d.ts +35 -0
  94. package/dist/types/widgets/no-data/style.d.ts +6 -0
  95. package/dist/types/widgets/no-data/types.d.ts +67 -0
  96. package/dist/types/widgets/note/note.d.ts +1 -1
  97. package/dist/types/widgets/note/style.d.ts +12 -1
  98. package/dist/types/widgets/note/types.d.ts +4 -3
  99. package/dist/types/widgets/pie/config.d.ts +5 -4
  100. package/dist/types/widgets/pie/index.d.ts +2 -2
  101. package/dist/types/widgets/pie/types.d.ts +6 -12
  102. package/dist/types/widgets/range/config.d.ts +6 -2
  103. package/dist/types/widgets/range/index.d.ts +2 -1
  104. package/dist/types/widgets/range/types.d.ts +6 -17
  105. package/dist/types/widgets/root/index.d.ts +2 -1
  106. package/dist/types/widgets/root/root.d.ts +1 -1
  107. package/dist/types/widgets/root/types.d.ts +6 -12
  108. package/dist/types/widgets/root/utils.d.ts +1 -0
  109. package/dist/types/widgets/scatterplot/config.d.ts +5 -4
  110. package/dist/types/widgets/scatterplot/index.d.ts +2 -2
  111. package/dist/types/widgets/scatterplot/types.d.ts +6 -12
  112. package/dist/types/widgets/selection-summary/index.d.ts +2 -0
  113. package/dist/types/widgets/selection-summary/selection-summary.d.ts +2 -0
  114. package/dist/types/widgets/selection-summary/style.d.ts +9 -0
  115. package/dist/types/widgets/selection-summary/types.d.ts +13 -0
  116. package/dist/types/widgets/spread/config.d.ts +10 -2
  117. package/dist/types/widgets/spread/index.d.ts +2 -1
  118. package/dist/types/widgets/spread/types.d.ts +6 -18
  119. package/dist/types/widgets/stores/index.d.ts +2 -0
  120. package/dist/types/widgets/stores/types.d.ts +179 -12
  121. package/dist/types/widgets/stores/widget-store.d.ts +2 -27
  122. package/dist/types/widgets/subheader/index.d.ts +2 -0
  123. package/dist/types/widgets/subheader/style.d.ts +19 -0
  124. package/dist/types/widgets/subheader/subheader.d.ts +2 -0
  125. package/dist/types/widgets/subheader/types.d.ts +10 -0
  126. package/dist/types/widgets/table/components/cell-header.d.ts +5 -0
  127. package/dist/types/widgets/table/components/cell.d.ts +16 -0
  128. package/dist/types/widgets/table/components/index.d.ts +4 -0
  129. package/dist/types/widgets/table/components/pagination-actions.d.ts +5 -0
  130. package/dist/types/widgets/table/components/pagination.d.ts +5 -0
  131. package/dist/types/widgets/table/components/row.d.ts +5 -0
  132. package/dist/types/widgets/table/config.d.ts +11 -0
  133. package/dist/types/widgets/table/helpers.d.ts +38 -0
  134. package/dist/types/widgets/table/helpers.test.d.ts +1 -0
  135. package/dist/types/widgets/table/hooks/index.d.ts +6 -0
  136. package/dist/types/widgets/table/hooks/use-pagination.d.ts +45 -0
  137. package/dist/types/widgets/table/hooks/use-pagination.test.d.ts +1 -0
  138. package/dist/types/widgets/table/hooks/use-selection.d.ts +32 -0
  139. package/dist/types/widgets/table/hooks/use-selection.test.d.ts +1 -0
  140. package/dist/types/widgets/table/hooks/use-sort.d.ts +29 -0
  141. package/dist/types/widgets/table/hooks/use-sort.test.d.ts +1 -0
  142. package/dist/types/widgets/table/index.d.ts +13 -0
  143. package/dist/types/widgets/table/serializer.d.ts +16 -0
  144. package/dist/types/widgets/table/skeleton.d.ts +10 -0
  145. package/dist/types/widgets/table/style.d.ts +33 -0
  146. package/dist/types/widgets/table/table-ui.d.ts +32 -0
  147. package/dist/types/widgets/table/types.d.ts +201 -0
  148. package/dist/types/widgets/timeseries/config.d.ts +5 -4
  149. package/dist/types/widgets/timeseries/index.d.ts +2 -2
  150. package/dist/types/widgets/timeseries/types.d.ts +6 -12
  151. package/dist/types/widgets/toolbar-actions/index.d.ts +2 -0
  152. package/dist/types/widgets/toolbar-actions/styles.d.ts +37 -0
  153. package/dist/types/widgets/toolbar-actions/toolbar-actions.d.ts +8 -0
  154. package/dist/types/widgets/toolbar-actions/types.d.ts +45 -0
  155. package/dist/types/widgets/wrapper/index.d.ts +2 -2
  156. package/dist/types/widgets/wrapper/styles.d.ts +6 -0
  157. package/dist/types/widgets/wrapper/types.d.ts +7 -5
  158. package/dist/types/widgets/wrapper/wrapper-ui.d.ts +1 -1
  159. package/dist/types/widgets/wrapper/wrapper.d.ts +1 -1
  160. package/dist/utils-Dv5Z47UQ.js +144 -0
  161. package/dist/utils-Dv5Z47UQ.js.map +1 -0
  162. package/dist/widget-store-DNyVElxd.js +190 -0
  163. package/dist/widget-store-DNyVElxd.js.map +1 -0
  164. package/dist/widgets/actions.js +826 -6
  165. package/dist/widgets/actions.js.map +1 -1
  166. package/dist/widgets/bar.js +189 -4
  167. package/dist/widgets/bar.js.map +1 -1
  168. package/dist/widgets/category.js +460 -0
  169. package/dist/widgets/category.js.map +1 -0
  170. package/dist/widgets/echart.js +120 -8
  171. package/dist/widgets/echart.js.map +1 -1
  172. package/dist/widgets/error.js +5 -0
  173. package/dist/widgets/error.js.map +1 -0
  174. package/dist/widgets/formula.js +117 -20
  175. package/dist/widgets/formula.js.map +1 -1
  176. package/dist/widgets/histogram.js +172 -4
  177. package/dist/widgets/histogram.js.map +1 -1
  178. package/dist/widgets/markdown.js +127 -0
  179. package/dist/widgets/markdown.js.map +1 -0
  180. package/dist/widgets/no-data.js +5 -0
  181. package/dist/widgets/no-data.js.map +1 -0
  182. package/dist/widgets/note.js +121 -2
  183. package/dist/widgets/note.js.map +1 -1
  184. package/dist/widgets/pie.js +213 -4
  185. package/dist/widgets/pie.js.map +1 -1
  186. package/dist/widgets/range.js +210 -12
  187. package/dist/widgets/range.js.map +1 -1
  188. package/dist/widgets/root.js +65 -2
  189. package/dist/widgets/root.js.map +1 -1
  190. package/dist/widgets/scatterplot.js +219 -4
  191. package/dist/widgets/scatterplot.js.map +1 -1
  192. package/dist/widgets/selection-summary.js +40 -0
  193. package/dist/widgets/selection-summary.js.map +1 -0
  194. package/dist/widgets/skeleton-loader.js +21 -2
  195. package/dist/widgets/skeleton-loader.js.map +1 -1
  196. package/dist/widgets/spread.js +162 -17
  197. package/dist/widgets/spread.js.map +1 -1
  198. package/dist/widgets/stores.js +5 -0
  199. package/dist/widgets/stores.js.map +1 -0
  200. package/dist/widgets/subheader.js +52 -0
  201. package/dist/widgets/subheader.js.map +1 -0
  202. package/dist/widgets/table.js +691 -0
  203. package/dist/widgets/table.js.map +1 -0
  204. package/dist/widgets/timeseries.js +171 -4
  205. package/dist/widgets/timeseries.js.map +1 -1
  206. package/dist/widgets/toolbar-actions.js +6106 -0
  207. package/dist/widgets/toolbar-actions.js.map +1 -0
  208. package/dist/widgets/wrapper.js +292 -6
  209. package/dist/widgets/wrapper.js.map +1 -1
  210. package/dist/widgets.js +6 -83
  211. package/dist/widgets.js.map +1 -1
  212. package/package.json +46 -6
  213. package/dist/const-BLV7Tvte.js +0 -758
  214. package/dist/const-BLV7Tvte.js.map +0 -1
  215. package/dist/download-KroQ0SWg.js +0 -195
  216. package/dist/download-KroQ0SWg.js.map +0 -1
  217. package/dist/echart-CqfROFu3.js +0 -214
  218. package/dist/echart-CqfROFu3.js.map +0 -1
  219. package/dist/formula-ui-ChzvMEOG.js +0 -52
  220. package/dist/formula-ui-ChzvMEOG.js.map +0 -1
  221. package/dist/lasso-tool-BC-rsMMW.js.map +0 -1
  222. package/dist/markdown-n_tOtoiT.js +0 -27
  223. package/dist/markdown-n_tOtoiT.js.map +0 -1
  224. package/dist/markdown-ui-BBrzzd7Y.js +0 -62
  225. package/dist/markdown-ui-BBrzzd7Y.js.map +0 -1
  226. package/dist/note-DF-n70TX.js +0 -101
  227. package/dist/note-DF-n70TX.js.map +0 -1
  228. package/dist/range-ui-CtUX11Xm.js +0 -146
  229. package/dist/range-ui-CtUX11Xm.js.map +0 -1
  230. package/dist/root-L_WZnJY5.js +0 -46
  231. package/dist/root-L_WZnJY5.js.map +0 -1
  232. package/dist/row-DQaSxmDV.js +0 -18
  233. package/dist/row-DQaSxmDV.js.map +0 -1
  234. package/dist/series-CsyEPq-X.js +0 -83
  235. package/dist/series-CsyEPq-X.js.map +0 -1
  236. package/dist/skeleton-BSPcEvfq.js +0 -27
  237. package/dist/skeleton-BSPcEvfq.js.map +0 -1
  238. package/dist/skeleton-C4rOYTy-.js +0 -78
  239. package/dist/skeleton-C4rOYTy-.js.map +0 -1
  240. package/dist/skeleton-C9Jqc241.js +0 -82
  241. package/dist/skeleton-C9Jqc241.js.map +0 -1
  242. package/dist/skeleton-D-zHBBIw.js +0 -64
  243. package/dist/skeleton-D-zHBBIw.js.map +0 -1
  244. package/dist/skeleton-DMP-IwaJ.js +0 -109
  245. package/dist/skeleton-DMP-IwaJ.js.map +0 -1
  246. package/dist/skeleton-DRorqowB.js +0 -22
  247. package/dist/skeleton-DRorqowB.js.map +0 -1
  248. package/dist/skeleton-DsZhv-AH.js +0 -89
  249. package/dist/skeleton-DsZhv-AH.js.map +0 -1
  250. package/dist/skeleton-Dx3FCer0.js +0 -13
  251. package/dist/skeleton-Dx3FCer0.js.map +0 -1
  252. package/dist/skeleton-QVDdb1c2.js +0 -21
  253. package/dist/skeleton-QVDdb1c2.js.map +0 -1
  254. package/dist/skeleton-loader-DWC1-EAx.js +0 -23
  255. package/dist/skeleton-loader-DWC1-EAx.js.map +0 -1
  256. package/dist/spread-ui-BjzH190y.js +0 -82
  257. package/dist/spread-ui-BjzH190y.js.map +0 -1
  258. package/dist/style-BGeCtQkP.js +0 -19
  259. package/dist/style-BGeCtQkP.js.map +0 -1
  260. package/dist/style-C7v1iwqD.js +0 -34
  261. package/dist/style-C7v1iwqD.js.map +0 -1
  262. package/dist/styles-cohnxh9F.js +0 -23
  263. package/dist/styles-cohnxh9F.js.map +0 -1
  264. package/dist/types/widgets/config-loader/index.d.ts +0 -2
  265. package/dist/types/widgets/config-loader/types.d.ts +0 -12
  266. package/dist/types/widgets/config-loader/use-config.d.ts +0 -5
  267. package/dist/types/widgets/widget/const.d.ts +0 -2
  268. package/dist/types/widgets/widget/types.d.ts +0 -47
  269. package/dist/types/widgets/widget/widget.d.ts +0 -2
  270. package/dist/use-config-BYEOiIcu.js +0 -43
  271. package/dist/use-config-BYEOiIcu.js.map +0 -1
  272. package/dist/widget-store-yDO2ul8g.js +0 -44
  273. package/dist/widget-store-yDO2ul8g.js.map +0 -1
  274. package/dist/widgets/config-loader.js +0 -5
  275. package/dist/widgets/config-loader.js.map +0 -1
  276. package/dist/wrapper-57csMybC.js +0 -265
  277. package/dist/wrapper-57csMybC.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lasso-tool-CYn3ivf-.js","sources":["../src/components/lasso-tool/icons.tsx","../src/components/lasso-tool/const.tsx","../src/components/lasso-tool/styles.ts","../src/components/lasso-tool/chip.tsx","../src/components/lasso-tool/lasso-tool.tsx"],"sourcesContent":["import type { SVGProps } from 'react'\n\nexport function DrawPolygonIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 24 24'\n {...props}\n >\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n 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'\n fill='currentColor'\n />\n </svg>\n )\n}\n\nexport function DrawSquareIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 24 24'\n {...props}\n >\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n 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'\n fill='currentColor'\n />\n </svg>\n )\n}\n\nexport function DrawCircleIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 24 24'\n {...props}\n >\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n 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'\n fill='currentColor'\n />\n </svg>\n )\n}\n\nexport function DrawLassoIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 24 24'\n {...props}\n >\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n 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'\n fill='currentColor'\n />\n </svg>\n )\n}\n\nexport function SelectToolIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 24 24'\n {...props}\n >\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n 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'\n fill='currentColor'\n />\n </svg>\n )\n}\n","import type { LassoToolsMode, LassoToolsModesMapping } from '../types'\nimport {\n DrawPolygonIcon,\n DrawSquareIcon,\n DrawCircleIcon,\n DrawLassoIcon,\n SelectToolIcon,\n} from './icons'\nimport type { LassoToolsComponentProps } from './types'\nimport type { RequiredDeep } from 'type-fest'\n\nexport const LASSO_TOOLS_LABELS: NonNullable<\n RequiredDeep<LassoToolsComponentProps['labels']>\n> = {\n action: {\n tooltip: {\n active: 'Click on the map to draw your spatial filter',\n inactive: 'Click on the map to draw your spatial filter',\n },\n },\n chip: {\n tooltip: {\n active: 'Hide drawing',\n inactive: 'Show drawing',\n },\n },\n options: {\n mode: {\n title: 'Choose a drawing tool',\n options: {\n circle: 'Circle',\n lasso: 'Lasso tool',\n polygon: 'Polygon',\n rectangle: 'Rectangle',\n edit: 'Edit feature',\n },\n },\n },\n noData: {\n title: 'Spatial filter not applied',\n description:\n 'Select a drawing or editing tool and click on the map to define your spatial filter',\n },\n actions: {\n toggleAll: {\n active: 'Hide all',\n inactive: 'Show all',\n },\n deleteAll: 'Remove all',\n },\n} as const\n\nexport const DEFAULT_LASSO_TOOLS_MODES_MAPPING: LassoToolsModesMapping<LassoToolsMode> =\n {\n polygon: {\n icon: DrawPolygonIcon,\n },\n rectangle: {\n icon: DrawSquareIcon,\n },\n circle: {\n icon: DrawCircleIcon,\n },\n lasso: {\n icon: DrawLassoIcon,\n },\n edit: {\n icon: SelectToolIcon,\n },\n } as const\n","import { alpha, type SxProps, type Theme } from '@mui/material'\n\nexport const styles = {\n container: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-start',\n overflow: 'hidden',\n\n '&.inline': {\n flexDirection: 'column',\n alignItems: 'flex-start',\n gap: ({ spacing }) => spacing(1),\n },\n },\n actions: {\n icon: {\n width: ({ spacing }) => spacing(4),\n height: ({ spacing }) => spacing(4),\n borderRadius: 0,\n '.MuiTouchRipple-ripple .MuiTouchRipple-child': {\n borderRadius: 0,\n },\n },\n },\n options: {\n menu: {\n paddingTop: ({ spacing }) => spacing(1),\n '&.inline': {\n boxShadow: 'none',\n backgroundColor: 'transparent',\n borderRadius: ({ spacing }) => spacing(0.5),\n\n '& .MuiDivider-root': {\n height: ({ spacing }) => spacing(4),\n\n '&.MuiToggleButtonGroup-groupedHorizontal': {\n height: ({ spacing }) => spacing(4),\n },\n '&.MuiToggleButtonGroup-groupedVertical': {\n height: 'auto',\n width: ({ spacing }) => spacing(4),\n margin: ({ spacing }) => `${spacing(0.5, 0, 1)} !important`,\n borderRadius: '0 !important',\n },\n },\n\n '& .MuiToggleButton-sizeSmall': {\n margin: 0,\n\n '&.MuiToggleButtonGroup-grouped:not(.MuiDivider-root)': {\n margin: 0,\n },\n '& + .MuiDivider-root.MuiToggleButtonGroup-groupedHorizontal': {\n height: ({ spacing }) => spacing(3),\n },\n '& + .MuiDivider-root.MuiToggleButtonGroup-groupedVertical': {\n height: 'auto',\n width: ({ spacing }) => spacing(3),\n },\n },\n\n '.MuiToggleButtonGroup-grouped:not(.MuiDivider-root)': {\n margin: 0,\n\n '&:first-of-type': {\n marginLeft: 0,\n },\n '&:not(:last-of-type)': {\n marginRight: ({ spacing }) => spacing(0.5),\n },\n },\n '&.MuiToggleButtonGroup-horizontal:not(.MuiDivider-root)': {\n '.MuiToggleButtonGroup-grouped': {\n margin: ({ spacing }) => spacing(0, 0.5),\n },\n },\n '&.MuiToggleButtonGroup-vertical:not(.MuiDivider-root)': {\n '.MuiToggleButtonGroup-grouped': {\n margin: ({ spacing }) => spacing(0, 0, 0.5),\n\n '&:not(:last-of-type)': {\n marginRight: 0,\n },\n '&:last-of-type': {\n marginBottom: 0,\n },\n },\n },\n },\n },\n icon: {\n borderRadius: 0,\n width: ({ spacing }) => spacing(3),\n },\n title: {\n paddingX: ({ spacing }) => spacing(2),\n paddingBottom: ({ spacing }) => spacing(0.5),\n\n '&.inline': {\n paddingX: 0,\n paddingBottom: 0,\n },\n },\n icons: {\n color: ({ palette }) => palette.text.primary,\n },\n tag: {\n borderRadius: ({ spacing }) => spacing(0.25),\n border: '1px solid',\n borderColor: ({ palette }) => palette.primary.main,\n paddingX: ({ spacing }) => spacing(0.5),\n color: ({ palette }) => palette.primary.main,\n backgroundColor: ({ palette }) => alpha(palette.primary.main, 0.08),\n },\n more: {\n width: ({ spacing }) => spacing(4),\n },\n },\n chip: {\n container: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(0.5),\n overflowX: 'auto',\n scrollbarWidth: 'none',\n paddingX: ({ spacing }) => spacing(1),\n\n '&.inline': {\n overflowX: 'visible',\n flexWrap: 'wrap',\n },\n },\n chip: {\n marginRight: ({ spacing }) => spacing(0.5),\n },\n disabled: {\n opacity: ({ palette }) => palette.action.disabledOpacity,\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Chip } from '@mui/material'\nimport type { PickDeep } from 'type-fest'\nimport { LASSO_TOOLS_LABELS } from './const'\nimport { styles } from './styles'\nimport type { LassoToolsComponentProps, LassoToolsData } from './types'\nimport { Tooltip } from '../tooltip/tooltip'\n\nexport function LassoToolsUIChip({\n chipProps,\n value,\n labels,\n onChipToggle,\n onDelete,\n}: Pick<LassoToolsComponentProps, 'chipProps' | 'onDelete' | 'onChipToggle'> & {\n value: LassoToolsData\n labels?: PickDeep<LassoToolsComponentProps['labels'], 'chip'>['chip']\n}) {\n const chipState = value.visible ? 'active' : 'inactive'\n const chipLabel =\n labels?.tooltip?.[chipState] ?? LASSO_TOOLS_LABELS.chip.tooltip[chipState]\n\n return (\n <Tooltip title={chipLabel} placement='bottom' {...chipProps?.TooltipProps}>\n <Chip\n sx={{\n ...styles.chip.chip,\n }}\n color={value.visible ? 'secondary' : 'default'}\n size='small'\n onDelete={() => onDelete(value.id)}\n label={value.label}\n onClick={() => onChipToggle(value.id, !value.visible)}\n {...chipProps?.ChipsProps}\n />\n </Tooltip>\n )\n}\n","import { ArrowDropDown, MoreVertOutlined } from '@mui/icons-material'\nimport {\n Box,\n Divider,\n IconButton,\n ListItemIcon,\n ListItemText,\n Menu,\n MenuItem,\n Paper,\n SvgIcon,\n ToggleButton,\n Typography,\n type SxProps,\n type Theme,\n} from '@mui/material'\nimport deepmerge from 'deepmerge'\nimport {\n useMemo,\n useState,\n type ComponentProps,\n type JSX,\n type MouseEvent,\n type PropsWithChildren,\n type ReactNode,\n} from 'react'\nimport type { PickDeep } from 'type-fest'\nimport { Tooltip } from '../tooltip/tooltip'\nimport type { LassoToolsModes } from '../types'\nimport { LassoToolsUIChip } from './chip'\nimport { LASSO_TOOLS_LABELS } from './const'\nimport { styles } from './styles'\nimport type { LassoToolsComponentProps, OptionsChildrenProps } from './types'\n\nexport function LassoToolsUI({\n enabled,\n values = [],\n actionProps,\n chipProps,\n labels,\n modes,\n modesMapping,\n modeSelected,\n PaperProps: { sx, ...PaperProps } = {},\n onActionToggle,\n onChipToggle,\n onDelete,\n onChangeMode,\n onAllChipToggle,\n onAllDelete,\n ChipsSlot = LassoToolsUI.Chips,\n ActionSlot = LassoToolsUI.Action,\n SecondaryActionsSlot = LassoToolsUI.SecondaryActions,\n OptionsSlot = LassoToolsUI.Options,\n}: LassoToolsComponentProps): JSX.Element {\n const slotArgs = {\n enabled,\n values,\n actionProps,\n chipProps,\n labels,\n modes,\n modesMapping,\n modeSelected,\n PaperProps,\n onActionToggle,\n onChipToggle,\n onDelete,\n onChangeMode,\n onAllChipToggle,\n onAllDelete,\n }\n return (\n <Paper\n sx={{\n ...styles.container,\n ...sx,\n }}\n {...PaperProps}\n >\n {!!ActionSlot && <ActionSlot {...slotArgs} />}\n {!!OptionsSlot && (\n <Options>\n {(props) => {\n return <OptionsSlot {...slotArgs} {...props} />\n }}\n </Options>\n )}\n {!!ChipsSlot && <ChipsSlot {...slotArgs} />}\n {!!SecondaryActionsSlot && <SecondaryActionsSlot {...slotArgs} />}\n </Paper>\n )\n}\n\nfunction LassoToolsUIAction({\n actionProps,\n labels,\n enabled,\n children,\n onActionToggle,\n}: PropsWithChildren<\n Pick<\n LassoToolsComponentProps,\n 'actionProps' | 'enabled' | 'onActionToggle'\n > & {\n labels?: PickDeep<LassoToolsComponentProps['labels'], 'action'>['action']\n }\n>) {\n const actionState = enabled ? 'active' : 'inactive'\n const actionLabel =\n labels?.tooltip?.[actionState] ??\n LASSO_TOOLS_LABELS.action.tooltip[actionState]\n\n return (\n <Tooltip\n title={actionLabel}\n placement='right'\n {...actionProps?.TooltipProps}\n >\n <ToggleButton\n value='toggle'\n sx={styles.actions.icon}\n onClick={() => onActionToggle(!enabled)}\n aria-label={actionLabel}\n selected={enabled}\n >\n {children}\n </ToggleButton>\n </Tooltip>\n )\n}\n\nfunction Options({\n TriggerProps: { Icon = <ArrowDropDown />, sx } = {},\n MenuProps,\n children,\n}: {\n TriggerProps?: {\n Icon?: ReactNode\n sx?: SxProps<Theme>\n }\n MenuProps?: Partial<ComponentProps<typeof Menu>>\n children: (props: OptionsChildrenProps) => JSX.Element\n}) {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n\n const open = Boolean(anchorEl)\n\n const handleToggle = (event: MouseEvent<HTMLButtonElement>) => {\n setAnchorEl(event.currentTarget)\n }\n\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n return (\n <>\n <IconButton\n sx={{\n ...styles.options.icon,\n ...sx,\n }}\n onClick={handleToggle}\n >\n {Icon}\n </IconButton>\n <Menu\n id='lasso-menu'\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n MenuListProps={{\n 'aria-labelledby': 'lasso-button',\n sx: styles.options.menu,\n }}\n {...MenuProps}\n >\n <div>\n {children({\n onClose: handleClose,\n })}\n </div>\n </Menu>\n </>\n )\n}\n\nfunction ModeList({\n data,\n labels,\n children,\n}: {\n labels?: PickDeep<LassoToolsComponentProps['labels'], 'options'>['options']\n data: LassoToolsComponentProps['modes'][keyof LassoToolsModes][]\n children: ReactNode\n}) {\n if (data.length <= 1) {\n return null\n }\n\n const modeTitle = labels?.mode?.title ?? LASSO_TOOLS_LABELS.options.mode.title\n\n return (\n <>\n <Typography\n variant='subtitle2'\n color='text.secondary'\n sx={styles.options.title}\n >\n {modeTitle}\n </Typography>\n {children}\n </>\n )\n}\n\nfunction OptionsList({\n data,\n modeSelected,\n labels,\n onChangeMode,\n onClose,\n}: Required<Pick<LassoToolsComponentProps, 'modeSelected' | 'onChangeMode'>> & {\n labels?: PickDeep<LassoToolsComponentProps['labels'], 'options'>['options']\n data: (LassoToolsComponentProps['modes'] &\n LassoToolsComponentProps['modesMapping'])[keyof LassoToolsModes][]\n onClose: OptionsChildrenProps['onClose']\n}) {\n const handleClick = (\n e: MouseEvent<HTMLLIElement>,\n value: (typeof data)[number]['value'],\n ) => {\n e.preventDefault()\n onChangeMode?.(value)\n onClose()\n }\n\n return data.map((mode) => {\n const options =\n labels?.mode?.options ?? LASSO_TOOLS_LABELS.options.mode.options\n const label = options[mode.value]\n\n return (\n <MenuItem\n key={mode.value}\n disabled={!!mode.disabled}\n onClick={(e) => handleClick(e, mode.value)}\n selected={mode.value === modeSelected}\n >\n <ListItemIcon sx={styles.options.icons}>\n <SvgIcon>\n <mode.icon />\n </SvgIcon>\n </ListItemIcon>\n <ListItemText>{label}</ListItemText>\n </MenuItem>\n )\n })\n}\n\nfunction SecondaryActionsWrapper({\n values,\n labels,\n onAllChipToggle,\n onAllDelete,\n}: Partial<\n Omit<\n LassoToolsComponentProps,\n 'ChipsSlot' | 'ActionsSlot' | 'OptionsSlot' | 'SecondaryActionsSlot'\n >\n>) {\n if (!values?.length || values.length <= 1) {\n return null\n }\n\n const hasVisible = values?.some((value) => value.visible)\n\n const toggleAllLabel = hasVisible\n ? (labels?.actions?.toggleAll?.active ??\n LASSO_TOOLS_LABELS.actions.toggleAll.active)\n : (labels?.actions?.toggleAll?.inactive ??\n LASSO_TOOLS_LABELS.actions.toggleAll.inactive)\n\n const deleteAllLabel =\n labels?.actions?.deleteAll ?? LASSO_TOOLS_LABELS.actions.deleteAll\n\n return (\n <>\n <Divider orientation='vertical' flexItem />\n <Options\n TriggerProps={{ Icon: <MoreVertOutlined />, sx: styles.options.more }}\n MenuProps={{\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'right',\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'right',\n },\n }}\n >\n {(props) => {\n return (\n <>\n <MenuItem\n color='inherit'\n onClick={() => {\n onAllChipToggle?.()\n props.onClose()\n }}\n >\n {toggleAllLabel}\n </MenuItem>\n <Divider />\n <MenuItem\n color='error'\n onClick={() => {\n onAllDelete?.()\n props.onClose()\n }}\n >\n <Typography variant='body2' color='error'>\n {deleteAllLabel}\n </Typography>\n </MenuItem>\n </>\n )\n }}\n </Options>\n </>\n )\n}\n\nLassoToolsUI.Action = function ActionsWrapper({\n modes,\n modesMapping,\n modeSelected,\n actionProps,\n enabled,\n labels,\n onActionToggle,\n}: Partial<\n Omit<\n LassoToolsComponentProps,\n 'ChipsSlot' | 'ActionsSlot' | 'OptionsSlot' | 'SecondaryActionsSlot'\n >\n> & {\n labels?: PickDeep<LassoToolsComponentProps['labels'], 'actions'>['actions']\n}) {\n const data = useMemo(() => {\n return deepmerge(modes ?? {}, modesMapping ?? {})\n }, [modes, modesMapping])\n\n const handleToggle: LassoToolsComponentProps['onActionToggle'] = (data) => {\n return onActionToggle?.(data)\n }\n\n const modeExists = modeSelected ? modeSelected in (modes ?? {}) : false\n\n const mode = (\n modeExists ? modeSelected : Object.keys(data)[0]\n ) as keyof typeof data\n\n const modeSelectedValue = data[mode]\n\n return (\n <LassoToolsUIAction\n actionProps={actionProps}\n labels={labels?.action}\n enabled={enabled ?? false}\n onActionToggle={handleToggle}\n >\n {modeSelectedValue?.icon && <modeSelectedValue.icon />}\n </LassoToolsUIAction>\n )\n}\n\nLassoToolsUI.Chips = function ChipsWrapper({\n values,\n labels,\n chipProps,\n onDelete,\n onChipToggle,\n onActionToggle,\n}: Partial<\n Omit<\n LassoToolsComponentProps,\n 'ChipsSlot' | 'ActionsSlot' | 'OptionsSlot' | 'SecondaryActionsSlot'\n >\n>) {\n const handleDelete: LassoToolsComponentProps['onDelete'] = (valueId) => {\n onActionToggle?.(false)\n return onDelete?.(valueId)\n }\n\n return (\n !!values?.length && (\n <Box sx={styles.chip.container}>\n {values?.map((value) => (\n <LassoToolsUIChip\n key={value.id}\n value={value}\n labels={labels?.chip}\n chipProps={chipProps}\n onDelete={handleDelete}\n onChipToggle={(id, data) => onChipToggle?.(id, data)}\n />\n ))}\n </Box>\n )\n )\n}\n\nLassoToolsUI.SecondaryActions = SecondaryActionsWrapper\n\nLassoToolsUI.Options = function OptionsWrapper({\n values,\n modes,\n modesMapping,\n modeSelected,\n labels,\n onChangeMode,\n ...props\n}: Partial<\n Omit<\n LassoToolsComponentProps,\n 'ChipsSlot' | 'ActionsSlot' | 'OptionsSlot' | 'SecondaryActionsSlot'\n >\n> &\n OptionsChildrenProps) {\n const data = useMemo(() => {\n return deepmerge(modes ?? {}, modesMapping ?? {})\n }, [modes, modesMapping])\n\n const { edit, ..._modes } = data\n\n const modeExists = modeSelected ? modeSelected in (modes ?? {}) : false\n\n const mode = (\n modeExists ? modeSelected : Object.keys(data)[0]\n ) as keyof typeof data\n\n const modesValues = Object.values(_modes)\n\n const handleChangeMode: LassoToolsComponentProps['onChangeMode'] = (data) => {\n return onChangeMode?.(data)\n }\n\n return (\n <>\n <ModeList data={modesValues} labels={labels?.options}>\n <OptionsList\n {...props}\n labels={labels?.options}\n data={modesValues}\n modeSelected={mode}\n onChangeMode={handleChangeMode}\n />\n </ModeList>\n {!!edit && (\n <>\n <Divider />\n <OptionsList\n {...props}\n labels={labels?.options}\n data={[\n {\n ...edit,\n disabled: !values?.length,\n },\n ]}\n modeSelected={mode}\n onChangeMode={handleChangeMode}\n />\n </>\n )}\n </>\n )\n}\n"],"names":["DrawPolygonIcon","props","$","_c","t0","Symbol","for","t1","jsx","DrawSquareIcon","DrawCircleIcon","DrawLassoIcon","SelectToolIcon","LASSO_TOOLS_LABELS","action","tooltip","active","inactive","chip","options","mode","title","circle","lasso","polygon","rectangle","edit","noData","description","actions","toggleAll","deleteAll","DEFAULT_LASSO_TOOLS_MODES_MAPPING","icon","styles","container","display","flexDirection","alignItems","justifyContent","overflow","gap","spacing","width","height","borderRadius","menu","paddingTop","boxShadow","backgroundColor","margin","marginLeft","marginRight","marginBottom","paddingX","paddingBottom","icons","color","palette","text","primary","more","overflowX","scrollbarWidth","flexWrap","LassoToolsUIChip","chipProps","value","labels","onChipToggle","onDelete","chipState","visible","chipLabel","TooltipProps","t2","t3","t4","id","t5","t6","ChipsProps","t7","label","Chip","t8","Tooltip","LassoToolsUI","enabled","values","actionProps","modes","modesMapping","modeSelected","PaperProps","onActionToggle","onChangeMode","onAllChipToggle","onAllDelete","ChipsSlot","ActionSlot","SecondaryActionsSlot","OptionsSlot","undefined","sx","Chips","Action","SecondaryActions","Options","t9","slotArgs","t10","t11","t12","t13","t14","t15","jsxs","Paper","LassoToolsUIAction","children","actionState","actionLabel","ToggleButton","TriggerProps","Icon","ArrowDropDown","MenuProps","anchorEl","setAnchorEl","useState","open","Boolean","handleToggle","event","currentTarget","handleClose","Fragment","IconButton","Menu","onClose","ModeList","data","length","modeTitle","Typography","OptionsList","handleClick","e","preventDefault","map","MenuItem","disabled","ListItemIcon","SvgIcon","ListItemText","SecondaryActionsWrapper","toggleAllLabel","some","_temp","deleteAllLabel","Divider","MoreVertOutlined","anchorOrigin","vertical","horizontal","transformOrigin","useMemo","deepmerge","Object","keys","modeSelectedValue","handleDelete","valueId","Box","_modes","modesValues","handleChangeMode"],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { jsx as y, jsxs as h } from "react/jsx-runtime";
2
+ import { c as x } from "react/compiler-runtime";
3
+ import { Typography as g, Box as v } from "@mui/material";
4
+ import { useShallow as w } from "zustand/shallow";
5
+ import { u as b } from "./widget-store-DNyVElxd.js";
6
+ const j = {
7
+ root: {
8
+ display: "flex",
9
+ flexDirection: "column",
10
+ gap: 1,
11
+ // 8px
12
+ paddingTop: 1,
13
+ // 8px
14
+ paddingBottom: 2,
15
+ // 16px
16
+ paddingX: 2,
17
+ // 16px
18
+ width: "100%",
19
+ minHeight: "100%"
20
+ }
21
+ };
22
+ function k(r) {
23
+ const t = x(9), {
24
+ id: s,
25
+ children: c,
26
+ title: f,
27
+ description: p,
28
+ isEmpty: u
29
+ } = r, a = f === void 0 ? "No data available" : f, l = p === void 0 ? "There are no results for the combination of filters applied to your data. Try tweaking your filters, or zoom and pan the map to adjust filters" : p, m = u === void 0 ? A : u;
30
+ let o;
31
+ t[0] !== s ? (o = (i) => {
32
+ const e = i.widgets[s];
33
+ return {
34
+ isLoading: e?.isLoading,
35
+ isFetching: e?.isFetching,
36
+ data: e?.data
37
+ };
38
+ }, t[0] = s, t[1] = o) : o = t[1];
39
+ const d = b(w(o));
40
+ if (d?.isLoading || d?.isFetching)
41
+ return c;
42
+ if (m(d?.data)) {
43
+ let i;
44
+ t[2] !== a ? (i = /* @__PURE__ */ y(g, { variant: "body2", color: "text.primary", children: a }), t[2] = a, t[3] = i) : i = t[3];
45
+ let e;
46
+ t[4] !== l ? (e = /* @__PURE__ */ y(g, { variant: "caption", color: "text.secondary", children: l }), t[4] = l, t[5] = e) : e = t[5];
47
+ let n;
48
+ return t[6] !== i || t[7] !== e ? (n = /* @__PURE__ */ h(v, { sx: j.root, children: [
49
+ i,
50
+ e
51
+ ] }), t[6] = i, t[7] = e, t[8] = n) : n = t[8], n;
52
+ }
53
+ return c;
54
+ }
55
+ function A(r) {
56
+ return r == null ? !0 : Array.isArray(r) ? !!(r.length === 0 || r.every((t) => Array.isArray(t) && t.length === 0)) : typeof r == "object" ? Object.keys(r).length === 0 : !1;
57
+ }
58
+ export {
59
+ k as N
60
+ };
61
+ //# sourceMappingURL=no-data-Cz80hEWj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-data-Cz80hEWj.js","sources":["../src/widgets/no-data/style.ts","../src/widgets/no-data/no-data.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material'\n\n/**\n * Styles for NoData component matching Figma design specifications\n * Design reference: node 5781-11028\n */\nexport const styles: Record<string, SxProps<Theme>> = {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: 1, // 8px\n paddingTop: 1, // 8px\n paddingBottom: 2, // 16px\n paddingX: 2, // 16px\n width: '100%',\n minHeight: '100%',\n },\n}\n","import { Box, Typography } from '@mui/material'\nimport { useShallow } from 'zustand/shallow'\nimport { useWidgetStore } from '../stores/widget-store'\nimport type { NoDataProps } from './types'\nimport { styles } from './style'\n\n/**\n * NoData wrapper component that displays empty state UI when widget has no data\n *\n * Integrates with widget store to check loading/fetching state and data availability.\n * Works in conjunction with SkeletonLoader for complete loading/empty state handling.\n *\n * @example Basic usage\n * ```tsx\n * <NoData id=\"my-widget\">\n * <WidgetContent id=\"my-widget\" />\n * </NoData>\n * ```\n *\n * @example With SkeletonLoader\n * ```tsx\n * <SkeletonLoader id=\"my-widget\" Skeleton={MySkeleton}>\n * <NoData id=\"my-widget\">\n * <WidgetContent id=\"my-widget\" />\n * </NoData>\n * </SkeletonLoader>\n * ```\n *\n * @example With custom messages\n * ```tsx\n * <NoData\n * id=\"my-widget\"\n * title=\"No results found\"\n * description=\"Try adjusting your filters\"\n * >\n * <WidgetContent id=\"my-widget\" />\n * </NoData>\n * ```\n */\nexport function NoData({\n id,\n children,\n title = 'No data available',\n description = 'There are no results for the combination of filters applied to your data. Try tweaking your filters, or zoom and pan the map to adjust filters',\n isEmpty = defaultIsEmpty,\n}: NoDataProps) {\n // Subscribe to widget store with selective subscription for optimal performance\n const widget = useWidgetStore(\n useShallow((state) => {\n const w = state.widgets[id]\n return {\n isLoading: w?.isLoading,\n isFetching: w?.isFetching,\n data: w?.data,\n }\n }),\n )\n\n // If loading or fetching, show children\n // SkeletonLoader handles loading state, this allows proper composition\n if (widget?.isLoading || widget?.isFetching) {\n return children\n }\n\n // Check if data is empty\n if (isEmpty(widget?.data)) {\n return (\n <Box sx={styles.root}>\n <Typography variant='body2' color='text.primary'>\n {title}\n </Typography>\n <Typography variant='caption' color='text.secondary'>\n {description}\n </Typography>\n </Box>\n )\n }\n\n // Data exists, render children\n return children\n}\n\n/**\n * Default function to determine if data is empty\n * Handles various data structures commonly used in widgets\n */\nfunction defaultIsEmpty(data: unknown): boolean {\n // Null or undefined\n if (data == null) {\n return true\n }\n\n // Arrays (most common case)\n if (Array.isArray(data)) {\n // Empty array\n if (data.length === 0) {\n return true\n }\n\n // Array of arrays (CategoryWidget pattern: [[],[]])\n // Check if all inner arrays are empty\n if (data.every((item) => Array.isArray(item) && item.length === 0)) {\n return true\n }\n\n return false\n }\n\n // Objects\n if (typeof data === 'object') {\n return Object.keys(data).length === 0\n }\n\n // Primitives (numbers, strings, booleans) are considered valid data\n return false\n}\n"],"names":["styles","root","display","flexDirection","gap","paddingTop","paddingBottom","paddingX","width","minHeight","NoData","t0","$","_c","id","children","title","t1","description","t2","isEmpty","t3","undefined","defaultIsEmpty","t4","state","w","widgets","isLoading","isFetching","data","widget","useWidgetStore","useShallow","t5","Typography","t6","t7","Box","Array","isArray","length","every","item","Object","keys"],"mappings":";;;;;AAMO,MAAMA,IAAyC;AAAA,EACpDC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTC,eAAe;AAAA,IACfC,KAAK;AAAA;AAAA,IACLC,YAAY;AAAA;AAAA,IACZC,eAAe;AAAA;AAAA,IACfC,UAAU;AAAA;AAAA,IACVC,OAAO;AAAA,IACPC,WAAW;AAAA,EAAA;AAEf;ACsBO,SAAAC,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAAgB;AAAA,IAAAC,IAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,OAAAC;AAAAA,IAAAC,aAAAC;AAAAA,IAAAC,SAAAC;AAAAA,EAAAA,IAAAV,GAGrBK,IAAAC,MAAAK,SAAA,sBAAAL,GACAC,IAAAC,MAAAG,SAAA,mJAAAH,GACAC,IAAAC,MAAAC,SAAAC,IAAAF;AAAwB,MAAAG;AAAA,EAAAZ,SAAAE,KAIXU,IAAAC,CAAAA,MAAA;AACT,UAAAC,IAAUD,EAAKE,QAASb,CAAE;AAAC,WACpB;AAAA,MAAAc,WACMF,GAACE;AAAAA,MAAWC,YACXH,GAACG;AAAAA,MAAYC,MACnBJ,GAACI;AAAAA,IAAAA;AAAAA,EACR,GACFlB,OAAAE,GAAAF,OAAAY,KAAAA,IAAAZ,EAAA,CAAA;AARH,QAAAmB,IAAeC,EACbC,EAAWT,CAOV,CACH;AAIA,MAAIO,GAAMH,aAAeG,GAAMF;AAAY,WAClCd;AAIT,MAAIK,EAAQW,GAAMD,IAAM,GAAC;AAAA,QAAAI;AAAA,IAAAtB,SAAAI,KAGnBkB,sBAACC,GAAA,EAAmB,SAAA,SAAc,OAAA,gBAC/BnB,UAAAA,GACH,GAAaJ,OAAAI,GAAAJ,OAAAsB,KAAAA,IAAAtB,EAAA,CAAA;AAAA,QAAAwB;AAAA,IAAAxB,SAAAM,KACbkB,sBAACD,GAAA,EAAmB,SAAA,WAAgB,OAAA,kBACjCjB,UAAAA,GACH,GAAaN,OAAAM,GAAAN,OAAAwB,KAAAA,IAAAxB,EAAA,CAAA;AAAA,QAAAyB;AAAA,WAAAzB,EAAA,CAAA,MAAAsB,KAAAtB,SAAAwB,KANfC,sBAACC,GAAA,EAAQ,IAAAtC,EAAMC,MACbiC,UAAAA;AAAAA,MAAAA;AAAAA,MAGAE;AAAAA,IAAAA,GAGF,GAAMxB,OAAAsB,GAAAtB,OAAAwB,GAAAxB,OAAAyB,KAAAA,IAAAzB,EAAA,CAAA,GAPNyB;AAAAA,EAOM;AAET,SAGMtB;AAAQ;AAOjB,SAASQ,EAAeO,GAAwB;AAE9C,SAAIA,KAAQ,OACH,KAILS,MAAMC,QAAQV,CAAI,IAEhBA,GAAAA,EAAKW,WAAW,KAMhBX,EAAKY,MAAOC,CAAAA,MAASJ,MAAMC,QAAQG,CAAI,KAAKA,EAAKF,WAAW,CAAC,KAQ/D,OAAOX,KAAS,WACXc,OAAOC,KAAKf,CAAI,EAAEW,WAAW,IAI/B;AACT;"}
@@ -0,0 +1,49 @@
1
+ function t({
2
+ theme: o
3
+ }) {
4
+ return {
5
+ grid: {
6
+ left: parseInt(o.spacing(1)),
7
+ top: parseInt(o.spacing(3)),
8
+ right: parseInt(o.spacing(1)),
9
+ bottom: parseInt(o.spacing(4)),
10
+ containLabel: !0
11
+ },
12
+ toolbox: {
13
+ show: !1
14
+ },
15
+ tooltip: {
16
+ axisPointer: {
17
+ type: "shadow",
18
+ shadowStyle: {
19
+ color: "rgba(44,48,50, 0.08)"
20
+ }
21
+ },
22
+ backgroundColor: o.palette.grey[900],
23
+ borderWidth: 0,
24
+ padding: [parseInt(o.spacing(1)), parseInt(o.spacing(1))],
25
+ textStyle: {
26
+ color: o.palette.common.white,
27
+ fontSize: 11,
28
+ fontFamily: o.typography.caption.fontFamily
29
+ },
30
+ trigger: "axis"
31
+ },
32
+ legend: {
33
+ type: "scroll",
34
+ bottom: 0
35
+ },
36
+ axisPointer: {
37
+ lineStyle: {
38
+ color: o.palette.grey[400]
39
+ }
40
+ },
41
+ xAxis: {},
42
+ yAxis: {},
43
+ color: [o.palette.secondary.main, ...Object.values(o.palette.qualitative?.bold ?? {})]
44
+ };
45
+ }
46
+ export {
47
+ t as g
48
+ };
49
+ //# sourceMappingURL=options-D9wflre6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options-D9wflre6.js","sources":["../src/widgets/echart/options.ts"],"sourcesContent":["import type { EchartOptionsProps, EchartWidgetOptionProps } from './types'\n\nexport function getCommonOptions({\n theme,\n}: EchartWidgetOptionProps<unknown>): EchartOptionsProps {\n return {\n grid: {\n left: parseInt(theme.spacing(1)),\n top: parseInt(theme.spacing(3)),\n right: parseInt(theme.spacing(1)),\n bottom: parseInt(theme.spacing(4)),\n containLabel: true,\n },\n toolbox: {\n show: false,\n },\n tooltip: {\n axisPointer: {\n type: 'shadow',\n shadowStyle: {\n color: 'rgba(44,48,50, 0.08)',\n },\n },\n backgroundColor: theme.palette.grey[900],\n borderWidth: 0,\n padding: [parseInt(theme.spacing(1)), parseInt(theme.spacing(1))],\n textStyle: {\n color: theme.palette.common.white,\n fontSize: 11,\n fontFamily: theme.typography.caption.fontFamily,\n },\n trigger: 'axis',\n },\n legend: {\n type: 'scroll',\n bottom: 0,\n },\n axisPointer: {\n lineStyle: {\n color: theme.palette.grey[400],\n },\n },\n xAxis: {},\n yAxis: {},\n color: [\n theme.palette.secondary.main,\n ...Object.values(\n (theme.palette as { qualitative?: { bold?: Record<string, string> } })\n .qualitative?.bold ?? {},\n ),\n ],\n }\n}\n"],"names":["getCommonOptions","theme","grid","left","parseInt","spacing","top","right","bottom","containLabel","toolbox","show","tooltip","axisPointer","type","shadowStyle","color","backgroundColor","palette","grey","borderWidth","padding","textStyle","common","white","fontSize","fontFamily","typography","caption","trigger","legend","lineStyle","xAxis","yAxis","secondary","main","Object","values","qualitative","bold"],"mappings":"AAEO,SAASA,EAAiB;AAAA,EAC/BC,OAAAA;AACgC,GAAuB;AACvD,SAAO;AAAA,IACLC,MAAM;AAAA,MACJC,MAAMC,SAASH,EAAMI,QAAQ,CAAC,CAAC;AAAA,MAC/BC,KAAKF,SAASH,EAAMI,QAAQ,CAAC,CAAC;AAAA,MAC9BE,OAAOH,SAASH,EAAMI,QAAQ,CAAC,CAAC;AAAA,MAChCG,QAAQJ,SAASH,EAAMI,QAAQ,CAAC,CAAC;AAAA,MACjCI,cAAc;AAAA,IAAA;AAAA,IAEhBC,SAAS;AAAA,MACPC,MAAM;AAAA,IAAA;AAAA,IAERC,SAAS;AAAA,MACPC,aAAa;AAAA,QACXC,MAAM;AAAA,QACNC,aAAa;AAAA,UACXC,OAAO;AAAA,QAAA;AAAA,MACT;AAAA,MAEFC,iBAAiBhB,EAAMiB,QAAQC,KAAK,GAAG;AAAA,MACvCC,aAAa;AAAA,MACbC,SAAS,CAACjB,SAASH,EAAMI,QAAQ,CAAC,CAAC,GAAGD,SAASH,EAAMI,QAAQ,CAAC,CAAC,CAAC;AAAA,MAChEiB,WAAW;AAAA,QACTN,OAAOf,EAAMiB,QAAQK,OAAOC;AAAAA,QAC5BC,UAAU;AAAA,QACVC,YAAYzB,EAAM0B,WAAWC,QAAQF;AAAAA,MAAAA;AAAAA,MAEvCG,SAAS;AAAA,IAAA;AAAA,IAEXC,QAAQ;AAAA,MACNhB,MAAM;AAAA,MACNN,QAAQ;AAAA,IAAA;AAAA,IAEVK,aAAa;AAAA,MACXkB,WAAW;AAAA,QACTf,OAAOf,EAAMiB,QAAQC,KAAK,GAAG;AAAA,MAAA;AAAA,IAC/B;AAAA,IAEFa,OAAO,CAAA;AAAA,IACPC,OAAO,CAAA;AAAA,IACPjB,OAAO,CACLf,EAAMiB,QAAQgB,UAAUC,MACxB,GAAGC,OAAOC,OACPpC,EAAMiB,QACJoB,aAAaC,QAAQ,CAAA,CAC1B,CAAC;AAAA,EAAA;AAGP;"}
@@ -0,0 +1,35 @@
1
+ import { jsx as d } from "react/jsx-runtime";
2
+ import { c as n } from "react/compiler-runtime";
3
+ import { Box as c } from "@mui/material";
4
+ import { u as m } from "./widget-store-DNyVElxd.js";
5
+ import { useShallow as s } from "zustand/shallow";
6
+ const f = {
7
+ item: {
8
+ '&[data-disabled="true"]': {
9
+ color: (t) => t.palette.text.disabled
10
+ }
11
+ },
12
+ row: {
13
+ display: "flex",
14
+ alignItems: "center",
15
+ gap: (t) => t.spacing(1),
16
+ "& + &": {
17
+ marginTop: (t) => t.spacing(1)
18
+ }
19
+ }
20
+ };
21
+ function y(t) {
22
+ const e = n(5);
23
+ let i;
24
+ e[0] !== t.id ? (i = (l) => l.getWidget(t.id)?.data, e[0] = t.id, e[1] = i) : i = e[1];
25
+ const o = m(s(i));
26
+ let a;
27
+ return e[2] !== o || e[3] !== t ? (a = o?.map((l, r) => /* @__PURE__ */ d(c, { sx: f.row, children: typeof t.children == "function" ? t.children({
28
+ index: r
29
+ }) : t.children }, r)), e[2] = o, e[3] = t, e[4] = a) : a = e[4], a;
30
+ }
31
+ export {
32
+ y as R,
33
+ f as s
34
+ };
35
+ //# sourceMappingURL=row-C_m1ovHv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"row-C_m1ovHv.js","sources":["../src/widgets/formula/style.ts","../src/widgets/formula/components/row.tsx"],"sourcesContent":["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(1),\n\n '& + &': {\n marginTop: (theme: Theme) => theme.spacing(1),\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { Box } from '@mui/material'\nimport { styles } from '../style'\nimport type { FormulaWidgetState, RowProps } from '../types'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport { useShallow } from 'zustand/shallow'\n\nexport function Row(props: RowProps) {\n const data = useWidgetStore(\n useShallow((state) => state.getWidget<FormulaWidgetState>(props.id)?.data),\n )\n\n return data?.map((_, index) => {\n return (\n <Box sx={styles.row} key={index}>\n {typeof props.children === 'function'\n ? props.children({ index })\n : props.children}\n </Box>\n )\n })\n}\n"],"names":["styles","item","color","theme","palette","text","disabled","row","display","alignItems","gap","spacing","marginTop","Row","props","$","_c","t0","id","state","getWidget","data","useWidgetStore","useShallow","t1","map","_","index","jsx","Box","children"],"mappings":";;;;;AAEO,MAAMA,IAAS;AAAA,EAMpBC,MAAM;AAAA,IACJ,2BAA2B;AAAA,MACzBC,OAAOA,CAACC,MAAiBA,EAAMC,QAAQC,KAAKC;AAAAA,IAAAA;AAAAA,EAC9C;AAAA,EAEFC,KAAK;AAAA,IACHC,SAAS;AAAA,IACTC,YAAY;AAAA,IACZC,KAAKA,CAACP,MAAiBA,EAAMQ,QAAQ,CAAC;AAAA,IAEtC,SAAS;AAAA,MACPC,WAAWA,CAACT,MAAiBA,EAAMQ,QAAQ,CAAC;AAAA,IAAA;AAAA,EAC9C;AAEJ;AChBO,SAAAE,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA;AAAA,MAAAC;AAAA,EAAAF,EAAA,CAAA,MAAAD,EAAAI,MAEQD,IAAAE,CAAAA,MAAWA,EAAKC,UAA+BN,EAAKI,EAAS,GAACG,MAAAN,EAAA,CAAA,IAAAD,EAAAI,IAAAH,OAAAE,KAAAA,IAAAF,EAAA,CAAA;AAD3E,QAAAM,IAAaC,EACXC,EAAWN,CAA8D,CAC3E;AAAC,MAAAO;AAAA,SAAAT,EAAA,CAAA,MAAAM,KAAAN,SAAAD,KAEMU,IAAAH,GAAII,IAAM,CAAAC,GAAAC,MAEb,gBAAAC,EAACC,GAAA,EAAQ,IAAA7B,EAAMO,KACZ,UAAA,OAAOO,EAAKgB,YAAc,aACvBhB,EAAKgB,SAAU;AAAA,IAAAH,OAAAA;AAAAA,EAAAA,CACF,IAAbb,EAAKgB,SAAAA,GAHeH,CAI1B,CAEH,GAACZ,OAAAM,GAAAN,OAAAD,GAAAC,OAAAS,KAAAA,IAAAT,EAAA,CAAA,GARKS;AAQL;"}
@@ -0,0 +1,91 @@
1
+ import { jsx as m } from "react/jsx-runtime";
2
+ import { c as h } from "react/compiler-runtime";
3
+ import { u as g } from "./widget-store-DNyVElxd.js";
4
+ import { useShallow as p } from "zustand/shallow";
5
+ import { Typography as S, Avatar as b } from "@mui/material";
6
+ import { s as P } from "./row-C_m1ovHv.js";
7
+ function y(i) {
8
+ const e = h(4);
9
+ let t;
10
+ return e[0] !== i.TypographyProps || e[1] !== i.children || e[2] !== i.disabled ? (t = /* @__PURE__ */ m(S, { sx: P.item, variant: "h5", fontWeight: "medium", "data-disabled": i.disabled, color: "default", ...i.TypographyProps, children: i.children }), e[0] = i.TypographyProps, e[1] = i.children, e[2] = i.disabled, e[3] = t) : t = e[3], t;
11
+ }
12
+ function C(i) {
13
+ const e = h(10);
14
+ let t, r, o;
15
+ e[0] !== i ? ({
16
+ id: t,
17
+ index: o,
18
+ ...r
19
+ } = i, e[0] = i, e[1] = t, e[2] = r, e[3] = o) : (t = e[1], r = e[2], o = e[3]);
20
+ const f = o === void 0 ? 0 : o;
21
+ let d;
22
+ e[4] !== t || e[5] !== f ? (d = (s) => s.getWidget(t)?.data?.[f]?.prefix, e[4] = t, e[5] = f, e[6] = d) : d = e[6];
23
+ const n = g(p(d));
24
+ if (!n)
25
+ return null;
26
+ let l;
27
+ return e[7] !== n || e[8] !== r ? (l = /* @__PURE__ */ m(y, { ...r, children: n }), e[7] = n, e[8] = r, e[9] = l) : l = e[9], l;
28
+ }
29
+ function I(i) {
30
+ const e = h(11);
31
+ let t, r, o;
32
+ e[0] !== i ? ({
33
+ id: t,
34
+ index: o,
35
+ ...r
36
+ } = i, e[0] = i, e[1] = t, e[2] = r, e[3] = o) : (t = e[1], r = e[2], o = e[3]);
37
+ const f = o === void 0 ? 0 : o;
38
+ let d;
39
+ e[4] !== t || e[5] !== f ? (d = (a) => a.getWidget(t)?.data?.[f]?.suffix, e[4] = t, e[5] = f, e[6] = d) : d = e[6];
40
+ const n = g(p(d));
41
+ if (!n)
42
+ return null;
43
+ let l;
44
+ e[7] === Symbol.for("react.memo_cache_sentinel") ? (l = {
45
+ color: T
46
+ }, e[7] = l) : l = e[7];
47
+ let s;
48
+ return e[8] !== r || e[9] !== n ? (s = /* @__PURE__ */ m(y, { TypographyProps: l, ...r, children: n }), e[8] = r, e[9] = n, e[10] = s) : s = e[10], s;
49
+ }
50
+ function T(i) {
51
+ return i.palette.text.secondary;
52
+ }
53
+ function j(i) {
54
+ const e = h(13), {
55
+ id: t,
56
+ index: r
57
+ } = i, o = r === void 0 ? 0 : r;
58
+ let f;
59
+ e[0] !== t || e[1] !== o ? (f = (x) => x.getWidget(t)?.series?.[o], e[0] = t, e[1] = o, e[2] = f) : f = e[2];
60
+ const d = g(p(f));
61
+ if (!d)
62
+ return null;
63
+ const {
64
+ name: n,
65
+ color: l
66
+ } = d;
67
+ let s;
68
+ e[3] !== l ? (s = l && {
69
+ color: (x) => x.palette.getContrastText(l)
70
+ }, e[3] = l, e[4] = s) : s = e[4];
71
+ let a;
72
+ e[5] !== l || e[6] !== s ? (a = {
73
+ bgcolor: l,
74
+ width: 32,
75
+ height: 32,
76
+ fontSize: "0.875rem",
77
+ fontWeight: "medium",
78
+ ...s
79
+ }, e[5] = l, e[6] = s, e[7] = a) : a = e[7];
80
+ let c;
81
+ e[8] !== n ? (c = n.charAt(0).toUpperCase(), e[8] = n, e[9] = c) : c = e[9];
82
+ let u;
83
+ return e[10] !== a || e[11] !== c ? (u = /* @__PURE__ */ m(b, { sx: a, children: c }), e[10] = a, e[11] = c, e[12] = u) : u = e[12], u;
84
+ }
85
+ export {
86
+ y as I,
87
+ C as P,
88
+ j as S,
89
+ I as a
90
+ };
91
+ //# sourceMappingURL=series-6xp-KQ0S.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"series-6xp-KQ0S.js","sources":["../src/widgets/formula/components/item.tsx","../src/widgets/formula/components/prefix.tsx","../src/widgets/formula/components/suffix.tsx","../src/widgets/formula/components/series.tsx"],"sourcesContent":["import { Typography } from '@mui/material'\nimport type { ItemProps } from '../types'\nimport { styles } from '../style'\n\nexport function Item(props: ItemProps) {\n return (\n <Typography\n sx={styles.item}\n variant='h5'\n fontWeight='medium'\n data-disabled={props.disabled}\n color='default'\n {...props.TypographyProps}\n >\n {props.children}\n </Typography>\n )\n}\n","import { type FormulaWidgetState, type ValueProps } from '../types'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport { Item } from './item'\nimport { useShallow } from 'zustand/shallow'\n\nexport function Prefix({ id, index = 0, ...props }: ValueProps) {\n const prefix = useWidgetStore(\n useShallow(\n (state) => state.getWidget<FormulaWidgetState>(id)?.data?.[index]?.prefix,\n ),\n )\n\n if (!prefix) {\n return null\n }\n\n return <Item {...props}>{prefix}</Item>\n}\n","import { type FormulaWidgetState, type ValueProps } from '../types'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport { Item } from './item'\nimport type { Theme } from '@mui/material'\nimport { useShallow } from 'zustand/shallow'\n\nexport function Suffix({ id, index = 0, ...props }: ValueProps) {\n const suffix = useWidgetStore(\n useShallow(\n (state) => state.getWidget<FormulaWidgetState>(id)?.data?.[index]?.suffix,\n ),\n )\n\n if (!suffix) {\n return null\n }\n\n return (\n <Item\n TypographyProps={{\n color: (theme: Theme) => theme.palette.text.secondary,\n }}\n {...props}\n >\n {suffix}\n </Item>\n )\n}\n","import { Avatar } from '@mui/material'\nimport type { FormulaWidgetState, ValueProps } from '../types'\nimport { useWidgetStore } from '../../stores/widget-store'\nimport { useShallow } from 'zustand/shallow'\n\nexport function Series({ id, index = 0 }: Pick<ValueProps, 'id' | 'index'>) {\n const serie = useWidgetStore(\n useShallow(\n (state) => state.getWidget<FormulaWidgetState>(id)?.series?.[index],\n ),\n )\n if (!serie) {\n return null\n }\n\n const { name, color } = serie\n\n return (\n <Avatar\n sx={{\n bgcolor: color,\n width: 32,\n height: 32,\n fontSize: '0.875rem',\n fontWeight: 'medium',\n ...(color && {\n color: (theme) => theme.palette.getContrastText(color),\n }),\n }}\n >\n {name.charAt(0).toUpperCase()}\n </Avatar>\n )\n}\n"],"names":["Item","props","$","_c","t0","TypographyProps","children","disabled","Typography","styles","item","Prefix","id","t1","index","undefined","t2","state","getWidget","data","prefix","useWidgetStore","useShallow","t3","jsx","Suffix","suffix","Symbol","for","color","_temp","t4","theme","palette","text","secondary","Series","series","serie","name","getContrastText","bgcolor","width","height","fontSize","fontWeight","t5","charAt","toUpperCase","t6","Avatar"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as O } from "react/jsx-runtime";
2
2
  import { c as S } from "react/compiler-runtime";
3
3
  import { useRef as x, useState as H, useLayoutEffect as I } from "react";
4
- import { T as W } from "./lasso-tool-BC-rsMMW.js";
4
+ import { T as W } from "./tooltip-BDnrRKrp.js";
5
5
  function P(a) {
6
6
  const t = S(13), {
7
7
  title: h,
@@ -36,4 +36,4 @@ function P(a) {
36
36
  export {
37
37
  P as S
38
38
  };
39
- //# sourceMappingURL=smart-tooltip-BSlcAkBM.js.map
39
+ //# sourceMappingURL=smart-tooltip-BEtBaIdz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"smart-tooltip-BSlcAkBM.js","sources":["../src/components/smart-tooltip/smart-tooltip.tsx"],"sourcesContent":["import type { TooltipProps } from '@mui/material'\nimport { useLayoutEffect, useRef, useState, type JSX, type Ref } from 'react'\nimport { Tooltip } from '../tooltip/tooltip'\n\nexport function SmartTooltip<T extends HTMLElement>({\n title,\n dependencies = [],\n timeout = 500,\n TooltipProps,\n children,\n}: {\n title: string | undefined\n dependencies?: unknown[]\n timeout?: number\n children: (props: { ref: Ref<T> }) => JSX.Element\n TooltipProps?: Partial<TooltipProps>\n}) {\n const ref = useRef<T>(null)\n const [isOverflowing, setIsOverflowing] = useState(false)\n\n useLayoutEffect(() => {\n const timerId = setTimeout(() => {\n if (ref.current) {\n const isOverflowing =\n ref.current.scrollWidth > ref.current.clientWidth ||\n ref.current.scrollHeight > ref.current.clientHeight\n\n setIsOverflowing(isOverflowing)\n }\n }, timeout)\n\n return () => clearTimeout(timerId)\n }, [dependencies, timeout])\n\n return (\n <Tooltip title={isOverflowing && title} {...TooltipProps}>\n {children({ ref })}\n </Tooltip>\n )\n}\n"],"names":["SmartTooltip","t0","$","_c","title","dependencies","t1","timeout","t2","TooltipProps","children","t3","undefined","ref","useRef","isOverflowing","setIsOverflowing","useState","t4","timerId","setTimeout","current","isOverflowing_0","scrollWidth","clientWidth","scrollHeight","clientHeight","clearTimeout","t5","useLayoutEffect","t6","t7","t8","Tooltip"],"mappings":";;;;AAIO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAA6C;AAAA,IAAAC,OAAAA;AAAAA,IAAAC,cAAAC;AAAAA,IAAAC,SAAAC;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,UAAAA;AAAAA,EAAAA,IAAAT;AAYnD,MAAAU;AAAA,EAAAT,SAAAI,KAVCK,IAAAL,MAAAM,SAAA,CAAA,IAAAN,GAAiBJ,OAAAI,GAAAJ,OAAAS,KAAAA,IAAAT,EAAA,CAAA;AAAjB,QAAAG,IAAAM,GACAJ,IAAAC,MAAAI,SAAA,MAAAJ,GAUAK,IAAYC,EAAU,IAAI,GAC1B,CAAAC,GAAAC,CAAA,IAA0CC,EAAS,EAAK;AAAC,MAAAC;AAAA,EAAAhB,SAAAK,KAEzCW,IAAAA,MAAA;AACd,UAAAC,IAAgBC,WAAW,MAAA;AACzB,UAAIP,EAAGQ,SAAQ;AACb,cAAAC,IACET,EAAGQ,QAAQE,cAAeV,EAAGQ,QAAQG,eACrCX,EAAGQ,QAAQI,eAAgBZ,EAAGQ,QAAQK;AAExCV,QAAAA,EAAiBD,CAAa;AAAA,MAAC;AAAA,IAChC,GACAR,CAAO;AAAC,WAEJ,MAAMoB,aAAaR,CAAO;AAAA,EAAC,GACnCjB,OAAAK,GAAAL,OAAAgB,KAAAA,IAAAhB,EAAA,CAAA;AAAA,MAAA0B;AAAA,EAAA1B,EAAA,CAAA,MAAAG,KAAAH,SAAAK,KAAEqB,IAAA,CAACvB,GAAcE,CAAO,GAACL,OAAAG,GAAAH,OAAAK,GAAAL,OAAA0B,KAAAA,IAAA1B,EAAA,CAAA,GAZ1B2B,EAAgBX,GAYbU,CAAuB;AAGR,QAAAE,IAAAf,KAAAX;AAAsB,MAAA2B;AAAA,EAAA7B,SAAAQ,KACnCqB,IAAArB,EAAS;AAAA,IAAAG,KAAAA;AAAAA,EAAAA,CAAO,GAACX,OAAAQ,GAAAR,OAAA6B,KAAAA,IAAA7B,EAAA,CAAA;AAAA,MAAA8B;AAAA,SAAA9B,EAAA,CAAA,MAAAO,KAAAP,UAAA4B,KAAA5B,EAAA,EAAA,MAAA6B,KADpBC,sBAACC,GAAA,EAAe,OAAAH,GAAsB,GAAMrB,GACzCsB,UAAAA,GACH,GAAU7B,OAAAO,GAAAP,QAAA4B,GAAA5B,QAAA6B,GAAA7B,QAAA8B,KAAAA,IAAA9B,EAAA,EAAA,GAFV8B;AAEU;"}
1
+ {"version":3,"file":"smart-tooltip-BEtBaIdz.js","sources":["../src/components/smart-tooltip/smart-tooltip.tsx"],"sourcesContent":["import type { TooltipProps } from '@mui/material'\nimport { useLayoutEffect, useRef, useState, type JSX, type Ref } from 'react'\nimport { Tooltip } from '../tooltip/tooltip'\n\nexport function SmartTooltip<T extends HTMLElement>({\n title,\n dependencies = [],\n timeout = 500,\n TooltipProps,\n children,\n}: {\n title: string | undefined\n dependencies?: unknown[]\n timeout?: number\n children: (props: { ref: Ref<T> }) => JSX.Element\n TooltipProps?: Partial<TooltipProps>\n}) {\n const ref = useRef<T>(null)\n const [isOverflowing, setIsOverflowing] = useState(false)\n\n useLayoutEffect(() => {\n const timerId = setTimeout(() => {\n if (ref.current) {\n const isOverflowing =\n ref.current.scrollWidth > ref.current.clientWidth ||\n ref.current.scrollHeight > ref.current.clientHeight\n\n setIsOverflowing(isOverflowing)\n }\n }, timeout)\n\n return () => clearTimeout(timerId)\n }, [dependencies, timeout])\n\n return (\n <Tooltip title={isOverflowing && title} {...TooltipProps}>\n {children({ ref })}\n </Tooltip>\n )\n}\n"],"names":["SmartTooltip","t0","$","_c","title","dependencies","t1","timeout","t2","TooltipProps","children","t3","undefined","ref","useRef","isOverflowing","setIsOverflowing","useState","t4","timerId","setTimeout","current","isOverflowing_0","scrollWidth","clientWidth","scrollHeight","clientHeight","clearTimeout","t5","useLayoutEffect","t6","t7","t8","Tooltip"],"mappings":";;;;AAIO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAA6C;AAAA,IAAAC,OAAAA;AAAAA,IAAAC,cAAAC;AAAAA,IAAAC,SAAAC;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,UAAAA;AAAAA,EAAAA,IAAAT;AAYnD,MAAAU;AAAA,EAAAT,SAAAI,KAVCK,IAAAL,MAAAM,SAAA,CAAA,IAAAN,GAAiBJ,OAAAI,GAAAJ,OAAAS,KAAAA,IAAAT,EAAA,CAAA;AAAjB,QAAAG,IAAAM,GACAJ,IAAAC,MAAAI,SAAA,MAAAJ,GAUAK,IAAYC,EAAU,IAAI,GAC1B,CAAAC,GAAAC,CAAA,IAA0CC,EAAS,EAAK;AAAC,MAAAC;AAAA,EAAAhB,SAAAK,KAEzCW,IAAAA,MAAA;AACd,UAAAC,IAAgBC,WAAW,MAAA;AACzB,UAAIP,EAAGQ,SAAQ;AACb,cAAAC,IACET,EAAGQ,QAAQE,cAAeV,EAAGQ,QAAQG,eACrCX,EAAGQ,QAAQI,eAAgBZ,EAAGQ,QAAQK;AAExCV,QAAAA,EAAiBD,CAAa;AAAA,MAAC;AAAA,IAChC,GACAR,CAAO;AAAC,WAEJ,MAAMoB,aAAaR,CAAO;AAAA,EAAC,GACnCjB,OAAAK,GAAAL,OAAAgB,KAAAA,IAAAhB,EAAA,CAAA;AAAA,MAAA0B;AAAA,EAAA1B,EAAA,CAAA,MAAAG,KAAAH,SAAAK,KAAEqB,IAAA,CAACvB,GAAcE,CAAO,GAACL,OAAAG,GAAAH,OAAAK,GAAAL,OAAA0B,KAAAA,IAAA1B,EAAA,CAAA,GAZ1B2B,EAAgBX,GAYbU,CAAuB;AAGR,QAAAE,IAAAf,KAAAX;AAAsB,MAAA2B;AAAA,EAAA7B,SAAAQ,KACnCqB,IAAArB,EAAS;AAAA,IAAAG,KAAAA;AAAAA,EAAAA,CAAO,GAACX,OAAAQ,GAAAR,OAAA6B,KAAAA,IAAA7B,EAAA,CAAA;AAAA,MAAA8B;AAAA,SAAA9B,EAAA,CAAA,MAAAO,KAAAP,UAAA4B,KAAA5B,EAAA,EAAA,MAAA6B,KADpBC,sBAACC,GAAA,EAAe,OAAAH,GAAsB,GAAMrB,GACzCsB,UAAAA,GACH,GAAU7B,OAAAO,GAAAP,QAAA4B,GAAA5B,QAAA6B,GAAA7B,QAAA8B,KAAAA,IAAA9B,EAAA,EAAA,GAFV8B;AAEU;"}
@@ -0,0 +1,77 @@
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
@@ -0,0 +1 @@
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;"}
@@ -0,0 +1,25 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { c as f } from "react/compiler-runtime";
3
+ import { Tooltip as c } from "@mui/material";
4
+ let s = 500;
5
+ function y(i) {
6
+ const t = f(10);
7
+ let e, o, r, l;
8
+ t[0] !== i ? ({
9
+ children: e,
10
+ title: l,
11
+ enterNextDelay: r,
12
+ ...o
13
+ } = i, t[0] = i, t[1] = e, t[2] = o, t[3] = r, t[4] = l) : (e = t[1], o = t[2], r = t[3], l = t[4]);
14
+ const p = r === void 0 ? s : r;
15
+ let n;
16
+ return t[5] !== e || t[6] !== p || t[7] !== o || t[8] !== l ? (n = /* @__PURE__ */ a(c, { title: l, enterNextDelay: p, ...o, children: e }), t[5] = e, t[6] = p, t[7] = o, t[8] = l, t[9] = n) : n = t[9], n;
17
+ }
18
+ function D(i) {
19
+ s = i;
20
+ }
21
+ export {
22
+ y as T,
23
+ D as s
24
+ };
25
+ //# sourceMappingURL=tooltip-BDnrRKrp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip-BDnrRKrp.js","sources":["../src/components/tooltip/tooltip.tsx"],"sourcesContent":["import { Tooltip as MuiTooltip, type TooltipProps } from '@mui/material'\n\nlet tooltipEnterDelay = 500\n\n/**\n * A wrapper around MUI's Tooltip component with enterNextDelay set to 1000ms by default.\n *\n * This component ensures consistent tooltip behavior across the application.\n *\n * @example\n * <Tooltip title=\"This is a tooltip\">\n * <Button>Hover me</Button>\n * </Tooltip>\n */\nexport function Tooltip({\n children,\n title,\n enterNextDelay = tooltipEnterDelay,\n ...props\n}: TooltipProps) {\n return (\n <MuiTooltip title={title} enterNextDelay={enterNextDelay} {...props}>\n {children}\n </MuiTooltip>\n )\n}\n\nexport function setTooltipEnterDelay(delay: number) {\n tooltipEnterDelay = delay\n}\n"],"names":["tooltipEnterDelay","Tooltip","t0","$","_c","children","props","t1","title","enterNextDelay","undefined","t2","MuiTooltip","setTooltipEnterDelay","delay"],"mappings":";;;AAEA,IAAIA,IAAoB;AAYjB,SAAAC,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA;AAAA,MAAAC,GAAAC,GAAAC,GAAAC;AAAA,EAAAL,SAAAD,KAAiB;AAAA,IAAAG,UAAAA;AAAAA,IAAAG,OAAAA;AAAAA,IAAAC,gBAAAF;AAAAA,IAAA,GAAAD;AAAAA,EAAAA,IAAAJ,GAKTC,OAAAD,GAAAC,OAAAE,GAAAF,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAK,MAAAH,IAAAF,EAAA,CAAA,GAAAG,IAAAH,EAAA,CAAA,GAAAI,IAAAJ,EAAA,CAAA,GAAAK,IAAAL,EAAA,CAAA;AAFb,QAAAM,IAAAF,MAAAG,SAAAV,IAAAO;AAAkC,MAAAI;AAAA,SAAAR,EAAA,CAAA,MAAAE,KAAAF,EAAA,CAAA,MAAAM,KAAAN,EAAA,CAAA,MAAAG,KAAAH,SAAAK,KAIhCG,sBAACC,GAAA,EAAkBJ,OAAAA,GAAuBC,gBAAAA,MAAoBH,gBAE9D,GAAaH,OAAAE,GAAAF,OAAAM,GAAAN,OAAAG,GAAAH,OAAAK,GAAAL,OAAAQ,KAAAA,IAAAR,EAAA,CAAA,GAFbQ;AAEa;AAIV,SAASE,EAAqBC,GAAe;AAClDd,EAAAA,IAAoBc;AACtB;"}
@@ -0,0 +1,2 @@
1
+ export { useDebounce } from './use-debounce';
2
+ export { useWidgetRef } from './use-widget-ref';
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Custom hook for debouncing a callback function.
3
+ *
4
+ * @param callback - The function to debounce
5
+ * @param delay - The delay in milliseconds (default: 300ms)
6
+ * @returns A debounced version of the callback
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * const debouncedSearch = useDebounce((searchText: string) => {
11
+ * // Perform search
12
+ * console.log('Searching for:', searchText)
13
+ * }, 300)
14
+ *
15
+ * // Call it anywhere
16
+ * debouncedSearch('react')
17
+ * ```
18
+ */
19
+ export declare function useDebounce<TArgs extends unknown[], TReturn = void>(callback: (...args: TArgs) => TReturn, delay?: number): (...args: TArgs) => void;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Custom hook for registering a DOM element ref with the widget store.
3
+ * This allows other parts of the application to access the widget's DOM element.
4
+ *
5
+ * @param widgetId - The widget ID to register the ref under
6
+ * @returns A ref object to attach to the DOM element
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * function MyWidget({ id }: { id: string }) {
11
+ * const ref = useWidgetRef<HTMLDivElement>(id)
12
+ *
13
+ * return <div ref={ref}>Widget content</div>
14
+ * }
15
+ * ```
16
+ */
17
+ export declare function useWidgetRef<T extends HTMLElement = HTMLElement>(widgetId: string): import('react').RefObject<T | null>;