@carto/ps-react-ui 5.0.0-widgets.9 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1418) hide show
  1. package/dist/actions-BjPfCLG9.js +1024 -0
  2. package/dist/actions-BjPfCLG9.js.map +1 -0
  3. package/dist/actions-CGJD6q0t.js +1318 -0
  4. package/dist/actions-CGJD6q0t.js.map +1 -0
  5. package/dist/category-DGUDabsi.js +829 -0
  6. package/dist/category-DGUDabsi.js.map +1 -0
  7. package/dist/chart-config-B_fdIcD3.js +108 -0
  8. package/dist/chart-config-B_fdIcD3.js.map +1 -0
  9. package/dist/chat.js +1642 -0
  10. package/dist/chat.js.map +1 -0
  11. package/dist/cjs-CBrZjPCj.js +75 -0
  12. package/dist/cjs-CBrZjPCj.js.map +1 -0
  13. package/dist/components-FED-ArwH.js +4053 -0
  14. package/dist/components-FED-ArwH.js.map +1 -0
  15. package/dist/components.js +5 -1351
  16. package/dist/copy-button-TTlZONkX.js +34 -0
  17. package/dist/copy-button-TTlZONkX.js.map +1 -0
  18. package/dist/csv-modifiers-D6HGC24b.js +26 -0
  19. package/dist/csv-modifiers-D6HGC24b.js.map +1 -0
  20. package/dist/download-DdaK3qgC.js +232 -0
  21. package/dist/download-DdaK3qgC.js.map +1 -0
  22. package/dist/echart-BkaV3V5G.js +133 -0
  23. package/dist/echart-BkaV3V5G.js.map +1 -0
  24. package/dist/echart-CRihbmRv.js +249 -0
  25. package/dist/echart-CRihbmRv.js.map +1 -0
  26. package/dist/formatter-wVO81tYk.js +6 -0
  27. package/dist/formatter-wVO81tYk.js.map +1 -0
  28. package/dist/formula-YfZmmuYX.js +190 -0
  29. package/dist/formula-YfZmmuYX.js.map +1 -0
  30. package/dist/formula-noJzQwKo.js +285 -0
  31. package/dist/formula-noJzQwKo.js.map +1 -0
  32. package/dist/hooks-zf5gKZYq.js +22 -0
  33. package/dist/hooks-zf5gKZYq.js.map +1 -0
  34. package/dist/legend/stores.js +2 -0
  35. package/dist/legend.js +2284 -0
  36. package/dist/legend.js.map +1 -0
  37. package/dist/markdown-2dfL6Cmb.js +165 -0
  38. package/dist/markdown-2dfL6Cmb.js.map +1 -0
  39. package/dist/markdown-content-BWUqwx9F.js +8776 -0
  40. package/dist/markdown-content-BWUqwx9F.js.map +1 -0
  41. package/dist/range-BCMAl5xf.js +277 -0
  42. package/dist/range-BCMAl5xf.js.map +1 -0
  43. package/dist/rolldown-runtime-B0aSnxlc.js +20 -0
  44. package/dist/row-CvVGBuy_.js +35 -0
  45. package/dist/row-CvVGBuy_.js.map +1 -0
  46. package/dist/shared-resize-observer-BEiP2rQt.js +157 -0
  47. package/dist/shared-resize-observer-BEiP2rQt.js.map +1 -0
  48. package/dist/smart-tooltip-CwGHCqab.js +34 -0
  49. package/dist/smart-tooltip-CwGHCqab.js.map +1 -0
  50. package/dist/spread-Ccpg9fi0.js +149 -0
  51. package/dist/spread-Ccpg9fi0.js.map +1 -0
  52. package/dist/stores-mad-9yFn.js +369 -0
  53. package/dist/stores-mad-9yFn.js.map +1 -0
  54. package/dist/stores-tiFePP0A.js +243 -0
  55. package/dist/stores-tiFePP0A.js.map +1 -0
  56. package/dist/styles-Y-qGBELO.js +13 -0
  57. package/dist/styles-Y-qGBELO.js.map +1 -0
  58. package/dist/table-Bx9Uj3U0.js +440 -0
  59. package/dist/table-Bx9Uj3U0.js.map +1 -0
  60. package/dist/tooltip-DJUGNZxY.js +23 -0
  61. package/dist/tooltip-DJUGNZxY.js.map +1 -0
  62. package/dist/types/chat/bubbles/chat-agent-message-markdown.d.ts +12 -0
  63. package/dist/types/chat/bubbles/chat-agent-message.d.ts +9 -0
  64. package/dist/types/chat/bubbles/chat-error-message.d.ts +2 -0
  65. package/dist/types/chat/bubbles/chat-suggestion-button.d.ts +2 -0
  66. package/dist/types/chat/bubbles/chat-user-message.d.ts +2 -0
  67. package/dist/types/chat/bubbles/index.d.ts +5 -0
  68. package/dist/types/chat/bubbles/styles.d.ts +88 -0
  69. package/dist/types/chat/const.d.ts +4 -0
  70. package/dist/types/chat/containers/chat-content.d.ts +2 -0
  71. package/dist/types/chat/containers/chat-footer.d.ts +2 -0
  72. package/dist/types/chat/containers/chat-header.d.ts +2 -0
  73. package/dist/types/chat/containers/chat-starter.d.ts +2 -0
  74. package/dist/types/chat/containers/index.d.ts +4 -0
  75. package/dist/types/chat/containers/styles.d.ts +160 -0
  76. package/dist/types/chat/feedback/chat-actions-container.d.ts +3 -0
  77. package/dist/types/chat/feedback/chat-loader.d.ts +2 -0
  78. package/dist/types/chat/feedback/chat-rating-action.d.ts +2 -0
  79. package/dist/types/chat/feedback/chat-thinking.d.ts +2 -0
  80. package/dist/types/chat/feedback/chat-tool-code-area.d.ts +2 -0
  81. package/dist/types/chat/feedback/chat-tool-full-view-dialog.d.ts +2 -0
  82. package/dist/types/chat/feedback/chat-tool-group.d.ts +2 -0
  83. package/dist/types/chat/feedback/chat-tool-trace.d.ts +3 -0
  84. package/dist/types/chat/feedback/get-tool-label.d.ts +2 -0
  85. package/dist/types/chat/feedback/index.d.ts +8 -0
  86. package/dist/types/chat/feedback/styles.d.ts +212 -0
  87. package/dist/types/chat/index.d.ts +21 -0
  88. package/dist/types/chat/types.d.ts +214 -0
  89. package/dist/types/chat/use-typewriter.d.ts +32 -0
  90. package/dist/types/components/basemaps/basemaps.d.ts +21 -1
  91. package/dist/types/components/basemaps/const.d.ts +1 -1
  92. package/dist/types/components/basemaps/group-wrapper.d.ts +1 -1
  93. package/dist/types/components/basemaps/group.d.ts +2 -2
  94. package/dist/types/components/basemaps/header.d.ts +2 -2
  95. package/dist/types/components/common-types.d.ts +49 -0
  96. package/dist/types/components/copy-button/copy-button.d.ts +2 -0
  97. package/dist/types/components/copy-button/types.d.ts +6 -0
  98. package/dist/types/components/geolocation-controls/geolocation-controls.d.ts +12 -1
  99. package/dist/types/components/index.d.ts +37 -20
  100. package/dist/types/components/lasso-tool/chip.d.ts +2 -2
  101. package/dist/types/components/lasso-tool/const.d.ts +2 -2
  102. package/dist/types/components/lasso-tool/edit-confirm-toolbar.d.ts +26 -0
  103. package/dist/types/components/lasso-tool/geometry-toolbar.d.ts +49 -0
  104. package/dist/types/components/lasso-tool/icons.d.ts +22 -5
  105. package/dist/types/components/lasso-tool/lasso-tool-inline.d.ts +36 -3
  106. package/dist/types/components/lasso-tool/lasso-tool.d.ts +34 -9
  107. package/dist/types/components/lasso-tool/layer-filters.d.ts +10 -0
  108. package/dist/types/components/lasso-tool/message.d.ts +7 -0
  109. package/dist/types/components/lasso-tool/options-sections.d.ts +28 -0
  110. package/dist/types/components/lasso-tool/styles.d.ts +24 -2
  111. package/dist/types/components/lasso-tool/toolbar/actions/accept-action.d.ts +13 -0
  112. package/dist/types/components/lasso-tool/toolbar/actions/action-menu.d.ts +28 -0
  113. package/dist/types/components/lasso-tool/toolbar/actions/cancel-action.d.ts +13 -0
  114. package/dist/types/components/lasso-tool/toolbar/actions/color-action.d.ts +44 -0
  115. package/dist/types/components/lasso-tool/toolbar/actions/delete-action.d.ts +11 -0
  116. package/dist/types/components/lasso-tool/toolbar/actions/duplicate-action.d.ts +11 -0
  117. package/dist/types/components/lasso-tool/toolbar/actions/edit-geometry-action.d.ts +13 -0
  118. package/dist/types/components/lasso-tool/toolbar/actions/edit-properties-action.d.ts +60 -0
  119. package/dist/types/components/lasso-tool/toolbar/actions/fill-action.d.ts +26 -0
  120. package/dist/types/components/lasso-tool/toolbar/actions/intersect-action.d.ts +14 -0
  121. package/dist/types/components/lasso-tool/toolbar/actions/label-action.d.ts +69 -0
  122. package/dist/types/components/lasso-tool/toolbar/actions/lock-action.d.ts +17 -0
  123. package/dist/types/components/lasso-tool/toolbar/actions/redo-action.d.ts +14 -0
  124. package/dist/types/components/lasso-tool/toolbar/actions/split-action.d.ts +14 -0
  125. package/dist/types/components/lasso-tool/toolbar/actions/stroke-action.d.ts +27 -0
  126. package/dist/types/components/lasso-tool/toolbar/actions/subtract-action.d.ts +14 -0
  127. package/dist/types/components/lasso-tool/toolbar/actions/toggle-type-action.d.ts +19 -0
  128. package/dist/types/components/lasso-tool/toolbar/actions/undo-action.d.ts +14 -0
  129. package/dist/types/components/lasso-tool/toolbar/actions/union-action.d.ts +14 -0
  130. package/dist/types/components/lasso-tool/toolbar/button.d.ts +24 -0
  131. package/dist/types/components/lasso-tool/toolbar/connected.d.ts +55 -0
  132. package/dist/types/components/lasso-tool/toolbar/context.d.ts +31 -0
  133. package/dist/types/components/lasso-tool/toolbar/index.d.ts +41 -0
  134. package/dist/types/components/lasso-tool/toolbar/styles.d.ts +26 -0
  135. package/dist/types/components/lasso-tool/toolbar/toolbar.d.ts +30 -0
  136. package/dist/types/components/lasso-tool/tools-context.d.ts +12 -0
  137. package/dist/types/components/lasso-tool/types.d.ts +284 -10
  138. package/dist/types/components/lasso-tool/undo-redo.d.ts +25 -0
  139. package/dist/types/components/list-data/list-data-skeleton.d.ts +1 -1
  140. package/dist/types/components/list-data/list-data.d.ts +17 -1
  141. package/dist/types/components/measurement-tools/const.d.ts +2 -2
  142. package/dist/types/components/measurement-tools/icons.d.ts +3 -3
  143. package/dist/types/components/measurement-tools/measurement-tools.d.ts +21 -1
  144. package/dist/types/components/measurement-tools/styles.d.ts +14 -4
  145. package/dist/types/components/measurement-tools/types.d.ts +1 -1
  146. package/dist/types/components/no-data-alert/no-data-alert.d.ts +1 -1
  147. package/dist/types/components/responsive-drawer/responsive-drawer.d.ts +38 -6
  148. package/dist/types/components/smart-tooltip/smart-tooltip.d.ts +18 -1
  149. package/dist/types/components/tooltip/tooltip.d.ts +14 -1
  150. package/dist/types/components/types.d.ts +1 -1
  151. package/dist/types/components/zoom-controls/zoom-controls.d.ts +17 -1
  152. package/dist/types/hooks/index.d.ts +1 -2
  153. package/dist/types/hooks/use-widget-ref.d.ts +10 -6
  154. package/dist/types/legend/components/a11y.d.ts +6 -0
  155. package/dist/types/legend/components/contexts.d.ts +38 -0
  156. package/dist/types/legend/components/icons.d.ts +12 -0
  157. package/dist/types/legend/components/index.d.ts +26 -0
  158. package/dist/types/legend/components/legend-actions/legend-actions.d.ts +25 -0
  159. package/dist/types/legend/components/legend-actions/styles.d.ts +7 -0
  160. package/dist/types/legend/components/legend-category/legend-category-ui.d.ts +13 -0
  161. package/dist/types/legend/components/legend-category/styles.d.ts +52 -0
  162. package/dist/types/legend/components/legend-config-select/legend-config-select.d.ts +14 -0
  163. package/dist/types/legend/components/legend-config-select/styles.d.ts +44 -0
  164. package/dist/types/legend/components/legend-group/legend-group.d.ts +12 -0
  165. package/dist/types/legend/components/legend-group/styles.d.ts +129 -0
  166. package/dist/types/legend/components/legend-group-menu/legend-group-menu-items.d.ts +28 -0
  167. package/dist/types/legend/components/legend-group-menu/legend-group-menu.d.ts +11 -0
  168. package/dist/types/legend/components/legend-icon/legend-icon-ui.d.ts +10 -0
  169. package/dist/types/legend/components/legend-icon/styles.d.ts +52 -0
  170. package/dist/types/legend/components/legend-item/legend-item-ui.d.ts +14 -0
  171. package/dist/types/legend/components/legend-item/legend-item.d.ts +10 -0
  172. package/dist/types/{widgets/root/style.d.ts → legend/components/legend-item/styles.d.ts} +2 -3
  173. package/dist/types/legend/components/legend-opacity/legend-opacity.d.ts +22 -0
  174. package/dist/types/legend/components/legend-opacity/styles.d.ts +28 -0
  175. package/dist/types/legend/components/legend-overflow-menu/legend-overflow-menu.d.ts +12 -0
  176. package/dist/types/legend/components/legend-panel-menu/legend-panel-menu.d.ts +11 -0
  177. package/dist/types/legend/components/legend-proportion/legend-proportion-ui.d.ts +16 -0
  178. package/dist/types/legend/components/legend-proportion/styles.d.ts +37 -0
  179. package/dist/types/legend/components/legend-ramp/legend-ramp-ui.d.ts +20 -0
  180. package/dist/types/legend/components/legend-ramp/styles.d.ts +53 -0
  181. package/dist/types/legend/components/legend-row/legend-row.d.ts +16 -0
  182. package/dist/types/legend/components/legend-row/styles.d.ts +149 -0
  183. package/dist/types/legend/components/legend-row-menu/legend-row-menu-items.d.ts +12 -0
  184. package/dist/types/legend/components/legend-row-menu/legend-row-menu.d.ts +12 -0
  185. package/dist/types/legend/components/legend-row-menu/legend-zoom-to.d.ts +10 -0
  186. package/dist/types/legend/components/legend-sortable/contexts.d.ts +7 -0
  187. package/dist/types/legend/components/legend-sortable/legend-sortable.d.ts +11 -0
  188. package/dist/types/legend/components/legend-sortable/sortable-entity.d.ts +27 -0
  189. package/dist/types/legend/components/legend-sortable/sortable-ids.d.ts +6 -0
  190. package/dist/types/legend/components/legend-sortable/styles.d.ts +55 -0
  191. package/dist/types/legend/components/legend-swatch/legend-swatch.d.ts +26 -0
  192. package/dist/types/legend/components/legend-visibility-toggle/legend-visibility-toggle.d.ts +35 -0
  193. package/dist/types/legend/components/legend-visible-layers/legend-visible-layers.d.ts +7 -0
  194. package/dist/types/legend/components/legend-visible-layers/styles.d.ts +48 -0
  195. package/dist/types/legend/components/run-async-menu-action.d.ts +7 -0
  196. package/dist/types/legend/index.d.ts +135 -0
  197. package/dist/types/legend/provider/index.d.ts +6 -0
  198. package/dist/types/legend/provider/labels.d.ts +48 -0
  199. package/dist/types/legend/provider/legend-config-context.d.ts +7 -0
  200. package/dist/types/legend/provider/legend-provider.d.ts +38 -0
  201. package/dist/types/legend/stores/index.d.ts +5 -0
  202. package/dist/types/legend/stores/legend-context.d.ts +4 -0
  203. package/dist/types/legend/stores/legend-store-registry.d.ts +39 -0
  204. package/dist/types/legend/stores/selectors.d.ts +64 -0
  205. package/dist/types/legend/stores/types.d.ts +294 -0
  206. package/dist/types/widgets/actions/brush-toggle/brush-overlay.d.ts +24 -0
  207. package/dist/types/widgets/actions/brush-toggle/brush-toggle.d.ts +29 -0
  208. package/dist/types/widgets/actions/brush-toggle/hit-test.d.ts +19 -0
  209. package/dist/types/widgets/actions/brush-toggle/style.d.ts +21 -0
  210. package/dist/types/widgets/actions/brush-toggle/types.d.ts +73 -0
  211. package/dist/types/widgets/actions/change-column/change-column-icon.d.ts +1 -1
  212. package/dist/types/widgets/actions/change-column/change-column.d.ts +6 -2
  213. package/dist/types/widgets/actions/change-column/sortable-column-item.d.ts +2 -2
  214. package/dist/types/widgets/actions/download/download.d.ts +13 -2
  215. package/dist/types/widgets/actions/download/exports.d.ts +16 -1
  216. package/dist/types/widgets/actions/download/types.d.ts +1 -1
  217. package/dist/types/widgets/actions/fullscreen/fullscreen.d.ts +15 -2
  218. package/dist/types/widgets/actions/fullscreen/types.d.ts +3 -2
  219. package/dist/types/widgets/actions/index.d.ts +20 -18
  220. package/dist/types/widgets/actions/lock-selection/lock-selection.d.ts +2 -2
  221. package/dist/types/widgets/actions/lock-selection/types.d.ts +10 -10
  222. package/dist/types/widgets/actions/relative-data/relative-data.d.ts +10 -4
  223. package/dist/types/widgets/actions/relative-data/types.d.ts +3 -1
  224. package/dist/types/widgets/actions/relative-data/utils.d.ts +1 -1
  225. package/dist/types/widgets/actions/searcher/searcher-toggle.d.ts +2 -2
  226. package/dist/types/widgets/actions/searcher/searcher.d.ts +2 -2
  227. package/dist/types/widgets/actions/searcher/types.d.ts +2 -2
  228. package/dist/types/widgets/actions/stack-toggle/grouped-bar-chart-icon.d.ts +1 -1
  229. package/dist/types/widgets/actions/stack-toggle/stack-toggle.d.ts +5 -4
  230. package/dist/types/widgets/actions/stack-toggle/types.d.ts +1 -1
  231. package/dist/types/widgets/actions/zoom-toggle/types.d.ts +1 -1
  232. package/dist/types/widgets/actions/zoom-toggle/zoom-toggle.d.ts +10 -2
  233. package/dist/types/widgets/bar/config.d.ts +8 -4
  234. package/dist/types/widgets/bar/index.d.ts +3 -3
  235. package/dist/types/widgets/bar/skeleton.d.ts +1 -1
  236. package/dist/types/widgets/bar/types.d.ts +3 -3
  237. package/dist/types/widgets/category/category-ui.d.ts +5 -2
  238. package/dist/types/widgets/category/components/category-bar.d.ts +4 -1
  239. package/dist/types/widgets/category/components/category-legend.d.ts +5 -2
  240. package/dist/types/widgets/category/components/category-row-multi.d.ts +6 -2
  241. package/dist/types/widgets/category/components/category-row-other.d.ts +4 -1
  242. package/dist/types/widgets/category/components/category-row-single.d.ts +6 -2
  243. package/dist/types/widgets/category/config.d.ts +16 -12
  244. package/dist/types/widgets/category/index.d.ts +14 -6
  245. package/dist/types/widgets/category/skeleton.d.ts +1 -1
  246. package/dist/types/widgets/category/style.d.ts +1 -1
  247. package/dist/types/widgets/category/types.d.ts +4 -3
  248. package/dist/types/widgets/echart/echart-ui.d.ts +9 -2
  249. package/dist/types/widgets/echart/echart.d.ts +8 -2
  250. package/dist/types/widgets/echart/index.d.ts +5 -5
  251. package/dist/types/widgets/echart/options.d.ts +8 -1
  252. package/dist/types/widgets/echart/shared-resize-observer.d.ts +12 -0
  253. package/dist/types/widgets/echart/types.d.ts +7 -2
  254. package/dist/types/widgets/echart/utils.d.ts +57 -9
  255. package/dist/types/widgets/error/error.d.ts +12 -2
  256. package/dist/types/widgets/error/index.d.ts +2 -2
  257. package/dist/types/widgets/error/types.d.ts +9 -1
  258. package/dist/types/widgets/formula/components/item.d.ts +5 -2
  259. package/dist/types/widgets/formula/components/prefix.d.ts +5 -2
  260. package/dist/types/widgets/formula/components/row.d.ts +5 -2
  261. package/dist/types/widgets/formula/components/series.d.ts +5 -2
  262. package/dist/types/widgets/formula/components/suffix.d.ts +5 -2
  263. package/dist/types/widgets/formula/components/value.d.ts +5 -2
  264. package/dist/types/widgets/formula/config.d.ts +13 -2
  265. package/dist/types/widgets/formula/formula-ui.d.ts +5 -2
  266. package/dist/types/widgets/formula/index.d.ts +11 -11
  267. package/dist/types/widgets/formula/serializer.d.ts +1 -1
  268. package/dist/types/widgets/formula/skeleton.d.ts +1 -1
  269. package/dist/types/widgets/formula/types.d.ts +3 -3
  270. package/dist/types/widgets/histogram/config.d.ts +20 -4
  271. package/dist/types/widgets/histogram/index.d.ts +4 -3
  272. package/dist/types/widgets/histogram/skeleton.d.ts +1 -1
  273. package/dist/types/widgets/histogram/types.d.ts +8 -5
  274. package/dist/types/widgets/loader/index.d.ts +3 -0
  275. package/dist/types/widgets/loader/loader.d.ts +24 -0
  276. package/dist/types/widgets/loader/types.d.ts +9 -0
  277. package/dist/types/widgets/loader/utils.d.ts +35 -0
  278. package/dist/types/widgets/markdown/config.d.ts +12 -2
  279. package/dist/types/widgets/markdown/index.d.ts +5 -5
  280. package/dist/types/widgets/markdown/markdown-ui.d.ts +9 -2
  281. package/dist/types/widgets/markdown/markdown.d.ts +5 -2
  282. package/dist/types/widgets/markdown/skeleton.d.ts +1 -1
  283. package/dist/types/widgets/markdown/types.d.ts +3 -3
  284. package/dist/types/widgets/no-data/index.d.ts +2 -2
  285. package/dist/types/widgets/no-data/no-data.d.ts +5 -4
  286. package/dist/types/widgets/no-data/types.d.ts +6 -2
  287. package/dist/types/widgets/note/index.d.ts +2 -2
  288. package/dist/types/widgets/note/note.d.ts +12 -2
  289. package/dist/types/widgets/note/types.d.ts +1 -1
  290. package/dist/types/widgets/pie/config.d.ts +8 -4
  291. package/dist/types/widgets/pie/index.d.ts +3 -3
  292. package/dist/types/widgets/pie/skeleton.d.ts +1 -1
  293. package/dist/types/widgets/pie/types.d.ts +3 -3
  294. package/dist/types/widgets/range/components/range-item.d.ts +5 -2
  295. package/dist/types/widgets/range/config.d.ts +6 -5
  296. package/dist/types/widgets/range/index.d.ts +6 -6
  297. package/dist/types/widgets/range/range-ui.d.ts +5 -2
  298. package/dist/types/widgets/range/serializer.d.ts +1 -1
  299. package/dist/types/widgets/range/skeleton.d.ts +1 -1
  300. package/dist/types/widgets/range/types.d.ts +3 -3
  301. package/dist/types/widgets/scatterplot/config.d.ts +8 -4
  302. package/dist/types/widgets/scatterplot/index.d.ts +3 -3
  303. package/dist/types/widgets/scatterplot/skeleton.d.ts +1 -1
  304. package/dist/types/widgets/scatterplot/types.d.ts +3 -3
  305. package/dist/types/widgets/selection-summary/index.d.ts +2 -2
  306. package/dist/types/widgets/selection-summary/selection-summary.d.ts +13 -2
  307. package/dist/types/widgets/skeleton-loader/index.d.ts +2 -2
  308. package/dist/types/widgets/skeleton-loader/skeleton-loader.d.ts +12 -2
  309. package/dist/types/widgets/skeleton-loader/types.d.ts +1 -1
  310. package/dist/types/widgets/spread/components/max-value.d.ts +5 -2
  311. package/dist/types/widgets/spread/components/min-value.d.ts +5 -2
  312. package/dist/types/widgets/spread/components/separator.d.ts +5 -2
  313. package/dist/types/widgets/spread/config.d.ts +14 -8
  314. package/dist/types/widgets/spread/index.d.ts +9 -9
  315. package/dist/types/widgets/spread/skeleton.d.ts +1 -1
  316. package/dist/types/widgets/spread/spread-ui.d.ts +5 -2
  317. package/dist/types/widgets/spread/types.d.ts +4 -4
  318. package/dist/types/widgets/stores/index.d.ts +3 -2
  319. package/dist/types/widgets/stores/types.d.ts +31 -10
  320. package/dist/types/widgets/stores/use-widget-selector.d.ts +35 -0
  321. package/dist/types/widgets/stores/widget-store.d.ts +48 -27
  322. package/dist/types/widgets/subheader/index.d.ts +2 -2
  323. package/dist/types/widgets/subheader/subheader.d.ts +13 -2
  324. package/dist/types/widgets/table/components/cell-header.d.ts +2 -2
  325. package/dist/types/widgets/table/components/cell.d.ts +4 -2
  326. package/dist/types/widgets/table/components/pagination-actions.d.ts +2 -2
  327. package/dist/types/widgets/table/components/pagination.d.ts +2 -2
  328. package/dist/types/widgets/table/components/row.d.ts +2 -2
  329. package/dist/types/widgets/table/config.d.ts +10 -6
  330. package/dist/types/widgets/table/hooks/use-pagination.d.ts +12 -4
  331. package/dist/types/widgets/table/hooks/use-selection.d.ts +12 -3
  332. package/dist/types/widgets/table/hooks/use-sort.d.ts +12 -4
  333. package/dist/types/widgets/table/index.d.ts +17 -13
  334. package/dist/types/widgets/table/serializer.d.ts +1 -1
  335. package/dist/types/widgets/table/skeleton.d.ts +1 -1
  336. package/dist/types/widgets/table/table-ui.d.ts +8 -8
  337. package/dist/types/widgets/table/types.d.ts +5 -5
  338. package/dist/types/widgets/timeseries/config.d.ts +8 -4
  339. package/dist/types/widgets/timeseries/index.d.ts +3 -3
  340. package/dist/types/widgets/timeseries/skeleton.d.ts +1 -1
  341. package/dist/types/widgets/timeseries/types.d.ts +3 -3
  342. package/dist/types/widgets/toolbar-actions/index.d.ts +2 -2
  343. package/dist/types/widgets/toolbar-actions/toolbar-actions.d.ts +13 -4
  344. package/dist/types/widgets/toolbar-actions/types.d.ts +10 -3
  345. package/dist/types/widgets/{_shared → utils}/chart-config/config-factory.d.ts +1 -1
  346. package/dist/types/widgets/utils/chart-config/download-config.d.ts +3 -0
  347. package/dist/types/widgets/utils/chart-config/index.d.ts +9 -0
  348. package/dist/types/widgets/utils/chart-config/option-builders.d.ts +142 -0
  349. package/dist/types/widgets/utils/formatter.d.ts +2 -0
  350. package/dist/types/widgets/utils/index.d.ts +7 -0
  351. package/dist/types/widgets/utils/skeleton/index.d.ts +4 -0
  352. package/dist/types/widgets/wrapper/components/actions.d.ts +5 -2
  353. package/dist/types/widgets/wrapper/components/options.d.ts +5 -2
  354. package/dist/types/widgets/wrapper/components/title.d.ts +5 -2
  355. package/dist/types/widgets/wrapper/index.d.ts +6 -6
  356. package/dist/types/widgets/wrapper/types.d.ts +1 -1
  357. package/dist/types/widgets/wrapper/wrapper-ui.d.ts +16 -2
  358. package/dist/types/widgets/wrapper/wrapper.d.ts +16 -2
  359. package/dist/types/widgets-v2/actions/brush-toggle/brush-toggle.d.ts +56 -0
  360. package/dist/types/widgets-v2/actions/brush-toggle/index.d.ts +3 -0
  361. package/dist/types/widgets-v2/actions/brush-toggle/labels.d.ts +5 -0
  362. package/dist/types/widgets-v2/actions/brush-toggle/style.d.ts +12 -0
  363. package/dist/types/widgets-v2/actions/brush-toggle/transforms.d.ts +11 -0
  364. package/dist/types/widgets-v2/actions/change-column/change-column-icon.d.ts +2 -0
  365. package/dist/types/widgets-v2/actions/change-column/change-column.d.ts +29 -0
  366. package/dist/types/widgets-v2/actions/change-column/index.d.ts +3 -0
  367. package/dist/types/widgets-v2/actions/change-column/labels.d.ts +6 -0
  368. package/dist/types/widgets-v2/actions/change-column/sortable-column-item.d.ts +14 -0
  369. package/dist/types/widgets-v2/actions/change-column/style.d.ts +59 -0
  370. package/dist/types/widgets-v2/actions/change-column/types.d.ts +10 -0
  371. package/dist/types/widgets-v2/actions/download/constants.d.ts +12 -0
  372. package/dist/types/widgets-v2/actions/download/csv-item.d.ts +38 -0
  373. package/dist/types/widgets-v2/actions/download/download.d.ts +18 -0
  374. package/dist/types/widgets-v2/actions/download/exports.d.ts +37 -0
  375. package/dist/types/widgets-v2/actions/download/icons.d.ts +18 -0
  376. package/dist/types/widgets-v2/actions/download/index.d.ts +8 -0
  377. package/dist/types/widgets-v2/actions/download/labels.d.ts +11 -0
  378. package/dist/types/widgets-v2/actions/download/png-item.d.ts +24 -0
  379. package/dist/types/widgets-v2/actions/download/style.d.ts +1 -0
  380. package/dist/types/widgets-v2/actions/download/types.d.ts +35 -0
  381. package/dist/types/widgets-v2/actions/fullscreen/fullscreen.d.ts +78 -0
  382. package/dist/types/widgets-v2/actions/fullscreen/index.d.ts +3 -0
  383. package/dist/types/widgets-v2/actions/fullscreen/labels.d.ts +5 -0
  384. package/dist/types/widgets-v2/actions/fullscreen/style.d.ts +57 -0
  385. package/dist/types/widgets-v2/actions/fullscreen/types.d.ts +14 -0
  386. package/dist/types/widgets-v2/actions/index.d.ts +10 -0
  387. package/dist/types/widgets-v2/actions/lock-selection/index.d.ts +3 -0
  388. package/dist/types/widgets-v2/actions/lock-selection/labels.d.ts +6 -0
  389. package/dist/types/widgets-v2/actions/lock-selection/lock-selection.d.ts +57 -0
  390. package/dist/types/widgets-v2/actions/lock-selection/style.d.ts +12 -0
  391. package/dist/types/widgets-v2/actions/lock-selection/transforms.d.ts +6 -0
  392. package/dist/types/widgets-v2/actions/relative-data/index.d.ts +3 -0
  393. package/dist/types/widgets-v2/actions/relative-data/labels.d.ts +5 -0
  394. package/dist/types/widgets-v2/actions/relative-data/relative-data.d.ts +39 -0
  395. package/dist/types/widgets-v2/actions/relative-data/style.d.ts +12 -0
  396. package/dist/types/widgets-v2/actions/relative-data/transforms.d.ts +30 -0
  397. package/dist/types/widgets-v2/actions/searcher/filter.d.ts +6 -0
  398. package/dist/types/widgets-v2/actions/searcher/index.d.ts +4 -0
  399. package/dist/types/widgets-v2/actions/searcher/labels.d.ts +7 -0
  400. package/dist/types/widgets-v2/actions/searcher/searcher-toggle.d.ts +23 -0
  401. package/dist/types/widgets-v2/actions/searcher/searcher.d.ts +11 -0
  402. package/dist/types/widgets-v2/actions/searcher/style.d.ts +16 -0
  403. package/dist/types/widgets-v2/actions/show-all/index.d.ts +2 -0
  404. package/dist/types/widgets-v2/actions/show-all/labels.d.ts +5 -0
  405. package/dist/types/widgets-v2/actions/show-all/show-all.d.ts +33 -0
  406. package/dist/types/widgets-v2/actions/show-all/style.d.ts +8 -0
  407. package/dist/types/widgets-v2/actions/stack-toggle/index.d.ts +3 -0
  408. package/dist/types/widgets-v2/actions/stack-toggle/labels.d.ts +5 -0
  409. package/dist/types/widgets-v2/actions/stack-toggle/stack-toggle.d.ts +10 -0
  410. package/dist/types/widgets-v2/actions/stack-toggle/style.d.ts +12 -0
  411. package/dist/types/widgets-v2/actions/stack-toggle/transforms.d.ts +13 -0
  412. package/dist/types/widgets-v2/actions/zoom-toggle/index.d.ts +3 -0
  413. package/dist/types/widgets-v2/actions/zoom-toggle/labels.d.ts +5 -0
  414. package/dist/types/widgets-v2/actions/zoom-toggle/style.d.ts +12 -0
  415. package/dist/types/widgets-v2/actions/zoom-toggle/transforms.d.ts +51 -0
  416. package/dist/types/widgets-v2/actions/zoom-toggle/zoom-toggle.d.ts +35 -0
  417. package/dist/types/widgets-v2/bar/download.d.ts +24 -0
  418. package/dist/types/widgets-v2/bar/index.d.ts +4 -0
  419. package/dist/types/widgets-v2/bar/options.d.ts +43 -0
  420. package/dist/types/widgets-v2/bar/skeleton.d.ts +6 -0
  421. package/dist/types/widgets-v2/bar/types.d.ts +46 -0
  422. package/dist/types/widgets-v2/category/category-ui.d.ts +88 -0
  423. package/dist/types/widgets-v2/category/category.d.ts +55 -0
  424. package/dist/types/widgets-v2/category/components/category-bar-stacked.d.ts +28 -0
  425. package/dist/types/widgets-v2/category/components/category-bar.d.ts +23 -0
  426. package/dist/types/widgets-v2/category/components/category-legend.d.ts +34 -0
  427. package/dist/types/widgets-v2/category/components/category-row-multi.d.ts +31 -0
  428. package/dist/types/widgets-v2/category/components/category-row-other.d.ts +26 -0
  429. package/dist/types/widgets-v2/category/components/category-row-single.d.ts +28 -0
  430. package/dist/types/widgets-v2/category/components/category-row-stacked.d.ts +43 -0
  431. package/dist/types/widgets-v2/category/download.d.ts +16 -0
  432. package/dist/types/widgets-v2/category/index.d.ts +10 -0
  433. package/dist/types/widgets-v2/category/skeleton.d.ts +11 -0
  434. package/dist/types/widgets-v2/category/style.d.ts +193 -0
  435. package/dist/types/widgets-v2/category/types.d.ts +55 -0
  436. package/dist/types/widgets-v2/echart/echart-ui.d.ts +44 -0
  437. package/dist/types/widgets-v2/echart/echart.d.ts +83 -0
  438. package/dist/types/widgets-v2/echart/edge-label-clamp.d.ts +57 -0
  439. package/dist/types/widgets-v2/echart/index.d.ts +4 -0
  440. package/dist/types/widgets-v2/echart/shared-resize-observer.d.ts +5 -0
  441. package/dist/types/widgets-v2/echart/style.d.ts +7 -0
  442. package/dist/types/widgets-v2/echart/use-chart-selection.d.ts +57 -0
  443. package/dist/types/widgets-v2/formula/delta.d.ts +22 -0
  444. package/dist/types/widgets-v2/formula/download.d.ts +20 -0
  445. package/dist/types/widgets-v2/formula/formula-ui.d.ts +20 -0
  446. package/dist/types/widgets-v2/formula/formula.d.ts +8 -0
  447. package/dist/types/widgets-v2/formula/index.d.ts +11 -0
  448. package/dist/types/widgets-v2/formula/note.d.ts +11 -0
  449. package/dist/types/widgets-v2/formula/prefix.d.ts +12 -0
  450. package/dist/types/widgets-v2/formula/series.d.ts +16 -0
  451. package/dist/types/widgets-v2/formula/skeleton.d.ts +4 -0
  452. package/dist/types/widgets-v2/formula/style.d.ts +29 -0
  453. package/dist/types/widgets-v2/formula/suffix.d.ts +12 -0
  454. package/dist/types/widgets-v2/formula/types.d.ts +43 -0
  455. package/dist/types/widgets-v2/formula/value.d.ts +14 -0
  456. package/dist/types/widgets-v2/histogram/download.d.ts +17 -0
  457. package/dist/types/widgets-v2/histogram/index.d.ts +5 -0
  458. package/dist/types/widgets-v2/histogram/options.d.ts +42 -0
  459. package/dist/types/widgets-v2/histogram/skeleton.d.ts +9 -0
  460. package/dist/types/widgets-v2/histogram/transforms.d.ts +28 -0
  461. package/dist/types/widgets-v2/histogram/types.d.ts +60 -0
  462. package/dist/types/widgets-v2/index.d.ts +109 -0
  463. package/dist/types/widgets-v2/markdown/download.d.ts +16 -0
  464. package/dist/types/widgets-v2/markdown/index.d.ts +6 -0
  465. package/dist/types/widgets-v2/markdown/markdown-content.d.ts +40 -0
  466. package/dist/types/widgets-v2/markdown/markdown-ui.d.ts +12 -0
  467. package/dist/types/widgets-v2/markdown/markdown.d.ts +6 -0
  468. package/dist/types/widgets-v2/markdown/skeleton.d.ts +4 -0
  469. package/dist/types/widgets-v2/markdown/style.d.ts +61 -0
  470. package/dist/types/widgets-v2/markdown/types.d.ts +4 -0
  471. package/dist/types/widgets-v2/note/labels.d.ts +5 -0
  472. package/dist/types/widgets-v2/note/style.d.ts +26 -0
  473. package/dist/types/widgets-v2/note/widget-note.d.ts +46 -0
  474. package/dist/types/widgets-v2/pie/download.d.ts +17 -0
  475. package/dist/types/widgets-v2/pie/index.d.ts +4 -0
  476. package/dist/types/widgets-v2/pie/options.d.ts +35 -0
  477. package/dist/types/widgets-v2/pie/skeleton.d.ts +13 -0
  478. package/dist/types/widgets-v2/pie/types.d.ts +57 -0
  479. package/dist/types/widgets-v2/provider/widget-provider.d.ts +32 -0
  480. package/dist/types/widgets-v2/range/index.d.ts +4 -0
  481. package/dist/types/widgets-v2/range/range-ui.d.ts +27 -0
  482. package/dist/types/widgets-v2/range/range.d.ts +24 -0
  483. package/dist/types/widgets-v2/range/skeleton.d.ts +9 -0
  484. package/dist/types/widgets-v2/range/style.d.ts +40 -0
  485. package/dist/types/widgets-v2/range/types.d.ts +37 -0
  486. package/dist/types/widgets-v2/scatterplot/download.d.ts +16 -0
  487. package/dist/types/widgets-v2/scatterplot/index.d.ts +5 -0
  488. package/dist/types/widgets-v2/scatterplot/options.d.ts +42 -0
  489. package/dist/types/widgets-v2/scatterplot/skeleton.d.ts +12 -0
  490. package/dist/types/widgets-v2/scatterplot/transforms.d.ts +26 -0
  491. package/dist/types/widgets-v2/scatterplot/types.d.ts +54 -0
  492. package/dist/types/widgets-v2/selection-summary/labels.d.ts +11 -0
  493. package/dist/types/widgets-v2/selection-summary/selection-summary.d.ts +29 -0
  494. package/dist/types/widgets-v2/selection-summary/style.d.ts +38 -0
  495. package/dist/types/widgets-v2/spread/band.d.ts +37 -0
  496. package/dist/types/widgets-v2/spread/download.d.ts +15 -0
  497. package/dist/types/widgets-v2/spread/index.d.ts +7 -0
  498. package/dist/types/widgets-v2/spread/separator.d.ts +7 -0
  499. package/dist/types/widgets-v2/spread/skeleton.d.ts +9 -0
  500. package/dist/types/widgets-v2/spread/spread-ui.d.ts +18 -0
  501. package/dist/types/widgets-v2/spread/spread.d.ts +5 -0
  502. package/dist/types/widgets-v2/spread/types.d.ts +25 -0
  503. package/dist/types/widgets-v2/state/labels.d.ts +7 -0
  504. package/dist/types/widgets-v2/state/style.d.ts +19 -0
  505. package/dist/types/widgets-v2/state/widget-state.d.ts +19 -0
  506. package/dist/types/widgets-v2/stores/index.d.ts +8 -0
  507. package/dist/types/widgets-v2/stores/pipeline-middleware.d.ts +5 -0
  508. package/dist/types/widgets-v2/stores/transforms.d.ts +4 -0
  509. package/dist/types/widgets-v2/stores/types.d.ts +55 -0
  510. package/dist/types/widgets-v2/stores/use-echart-instance.d.ts +15 -0
  511. package/dist/types/widgets-v2/stores/use-transform-enabled.d.ts +17 -0
  512. package/dist/types/widgets-v2/stores/use-transform.d.ts +12 -0
  513. package/dist/types/widgets-v2/stores/widget-context.d.ts +2 -0
  514. package/dist/types/widgets-v2/stores/widget-store-registry.d.ts +74 -0
  515. package/dist/types/widgets-v2/subheader/style.d.ts +10 -0
  516. package/dist/types/widgets-v2/subheader/subheader.d.ts +11 -0
  517. package/dist/types/widgets-v2/table/download.d.ts +18 -0
  518. package/dist/types/widgets-v2/table/helpers.d.ts +32 -0
  519. package/dist/types/widgets-v2/table/index.d.ts +8 -0
  520. package/dist/types/widgets-v2/table/labels.d.ts +22 -0
  521. package/dist/types/widgets-v2/table/skeleton.d.ts +22 -0
  522. package/dist/types/widgets-v2/table/style.d.ts +40 -0
  523. package/dist/types/widgets-v2/table/table-ui.d.ts +44 -0
  524. package/dist/types/widgets-v2/table/table.d.ts +50 -0
  525. package/dist/types/widgets-v2/table/transforms.d.ts +15 -0
  526. package/dist/types/widgets-v2/table/types.d.ts +48 -0
  527. package/dist/types/widgets-v2/timeseries/download.d.ts +17 -0
  528. package/dist/types/widgets-v2/timeseries/index.d.ts +5 -0
  529. package/dist/types/widgets-v2/timeseries/options.d.ts +39 -0
  530. package/dist/types/widgets-v2/timeseries/skeleton.d.ts +8 -0
  531. package/dist/types/widgets-v2/timeseries/transforms.d.ts +10 -0
  532. package/dist/types/widgets-v2/timeseries/types.d.ts +60 -0
  533. package/dist/types/widgets-v2/toolbox/labels.d.ts +5 -0
  534. package/dist/types/widgets-v2/toolbox/style.d.ts +30 -0
  535. package/dist/types/widgets-v2/toolbox/toolbox.d.ts +49 -0
  536. package/dist/types/widgets-v2/types.d.ts +25 -0
  537. package/dist/types/widgets-v2/utils/data-zoom-layout.d.ts +11 -0
  538. package/dist/types/widgets-v2/utils/index.d.ts +3 -0
  539. package/dist/types/widgets-v2/utils/merge-options.d.ts +12 -0
  540. package/dist/types/widgets-v2/utils/resolve-theme-color.d.ts +18 -0
  541. package/dist/types/widgets-v2/wrapper/index.d.ts +4 -0
  542. package/dist/types/widgets-v2/wrapper/labels.d.ts +6 -0
  543. package/dist/types/widgets-v2/wrapper/style.d.ts +103 -0
  544. package/dist/types/widgets-v2/wrapper/widget-actions.d.ts +22 -0
  545. package/dist/types/widgets-v2/wrapper/widget-content.d.ts +12 -0
  546. package/dist/types/widgets-v2/wrapper/widget-wrapper.d.ts +56 -0
  547. package/dist/use-widget-selector-VSPhfhNm.js +12 -0
  548. package/dist/use-widget-selector-VSPhfhNm.js.map +1 -0
  549. package/dist/utils-Dr6gf3vD.js +58 -0
  550. package/dist/utils-Dr6gf3vD.js.map +1 -0
  551. package/dist/widget-store-BFPKYm4R.js +187 -0
  552. package/dist/widget-store-BFPKYm4R.js.map +1 -0
  553. package/dist/widgets/actions.js +2 -837
  554. package/dist/widgets/bar.js +183 -186
  555. package/dist/widgets/bar.js.map +1 -1
  556. package/dist/widgets/category.js +438 -455
  557. package/dist/widgets/category.js.map +1 -1
  558. package/dist/widgets/echart.js +3 -123
  559. package/dist/widgets/error.js +30 -5
  560. package/dist/widgets/error.js.map +1 -1
  561. package/dist/widgets/formula.js +3 -125
  562. package/dist/widgets/histogram.js +185 -167
  563. package/dist/widgets/histogram.js.map +1 -1
  564. package/dist/widgets/loader.js +66 -0
  565. package/dist/widgets/loader.js.map +1 -0
  566. package/dist/widgets/markdown.js +142 -121
  567. package/dist/widgets/markdown.js.map +1 -1
  568. package/dist/widgets/no-data.js +55 -5
  569. package/dist/widgets/no-data.js.map +1 -1
  570. package/dist/widgets/note.js +126 -4
  571. package/dist/widgets/note.js.map +1 -1
  572. package/dist/widgets/pie.js +244 -208
  573. package/dist/widgets/pie.js.map +1 -1
  574. package/dist/widgets/range.js +226 -210
  575. package/dist/widgets/range.js.map +1 -1
  576. package/dist/widgets/scatterplot.js +219 -216
  577. package/dist/widgets/scatterplot.js.map +1 -1
  578. package/dist/widgets/selection-summary.js +39 -38
  579. package/dist/widgets/selection-summary.js.map +1 -1
  580. package/dist/widgets/skeleton-loader.js +23 -23
  581. package/dist/widgets/skeleton-loader.js.map +1 -1
  582. package/dist/widgets/spread.js +150 -159
  583. package/dist/widgets/spread.js.map +1 -1
  584. package/dist/widgets/stores.js +3 -5
  585. package/dist/widgets/subheader.js +49 -50
  586. package/dist/widgets/subheader.js.map +1 -1
  587. package/dist/widgets/table.js +573 -653
  588. package/dist/widgets/table.js.map +1 -1
  589. package/dist/widgets/timeseries.js +175 -170
  590. package/dist/widgets/timeseries.js.map +1 -1
  591. package/dist/widgets/toolbar-actions.js +144 -6105
  592. package/dist/widgets/toolbar-actions.js.map +1 -1
  593. package/dist/widgets/utils.js +18 -0
  594. package/dist/widgets/utils.js.map +1 -0
  595. package/dist/widgets/wrapper.js +265 -287
  596. package/dist/widgets/wrapper.js.map +1 -1
  597. package/dist/widgets-v2/actions.js +4 -0
  598. package/dist/widgets-v2/bar.js +260 -0
  599. package/dist/widgets-v2/bar.js.map +1 -0
  600. package/dist/widgets-v2/category.js +2 -0
  601. package/dist/widgets-v2/echart.js +2 -0
  602. package/dist/widgets-v2/formula.js +2 -0
  603. package/dist/widgets-v2/histogram.js +297 -0
  604. package/dist/widgets-v2/histogram.js.map +1 -0
  605. package/dist/widgets-v2/markdown.js +3 -0
  606. package/dist/widgets-v2/pie.js +373 -0
  607. package/dist/widgets-v2/pie.js.map +1 -0
  608. package/dist/widgets-v2/range.js +2 -0
  609. package/dist/widgets-v2/scatterplot.js +330 -0
  610. package/dist/widgets-v2/scatterplot.js.map +1 -0
  611. package/dist/widgets-v2/spread.js +2 -0
  612. package/dist/widgets-v2/stores.js +2 -0
  613. package/dist/widgets-v2/table.js +2 -0
  614. package/dist/widgets-v2/timeseries.js +294 -0
  615. package/dist/widgets-v2/timeseries.js.map +1 -0
  616. package/dist/widgets-v2/utils.js +2 -0
  617. package/dist/widgets-v2.js +964 -0
  618. package/dist/widgets-v2.js.map +1 -0
  619. package/dist/zoom-toggle-IsF8BnAp.js +163 -0
  620. package/dist/zoom-toggle-IsF8BnAp.js.map +1 -0
  621. package/package.json +109 -17
  622. package/src/chat/bubbles/chat-agent-message-markdown.test.tsx +38 -0
  623. package/src/chat/bubbles/chat-agent-message-markdown.tsx +34 -0
  624. package/src/chat/bubbles/chat-agent-message.test.tsx +42 -0
  625. package/src/chat/bubbles/chat-agent-message.tsx +31 -0
  626. package/src/chat/bubbles/chat-error-message.test.tsx +40 -0
  627. package/src/chat/bubbles/chat-error-message.tsx +47 -0
  628. package/src/chat/bubbles/chat-suggestion-button.test.tsx +24 -0
  629. package/src/chat/bubbles/chat-suggestion-button.tsx +27 -0
  630. package/src/chat/bubbles/chat-user-message.test.tsx +27 -0
  631. package/src/chat/bubbles/chat-user-message.tsx +27 -0
  632. package/src/chat/bubbles/index.ts +5 -0
  633. package/src/chat/bubbles/styles.ts +171 -0
  634. package/src/chat/const.ts +4 -0
  635. package/src/chat/containers/chat-content.test.tsx +269 -0
  636. package/src/chat/containers/chat-content.tsx +145 -0
  637. package/src/chat/containers/chat-footer.test.tsx +93 -0
  638. package/src/chat/containers/chat-footer.tsx +166 -0
  639. package/src/chat/containers/chat-header.test.tsx +28 -0
  640. package/src/chat/containers/chat-header.tsx +29 -0
  641. package/src/chat/containers/chat-starter.test.tsx +32 -0
  642. package/src/chat/containers/chat-starter.tsx +75 -0
  643. package/src/chat/containers/index.ts +4 -0
  644. package/src/chat/containers/styles.ts +187 -0
  645. package/src/chat/feedback/chat-actions-container.test.tsx +64 -0
  646. package/src/chat/feedback/chat-actions-container.tsx +10 -0
  647. package/src/chat/feedback/chat-loader.test.tsx +10 -0
  648. package/src/chat/feedback/chat-loader.tsx +31 -0
  649. package/src/chat/feedback/chat-rating-action.tsx +43 -0
  650. package/src/chat/feedback/chat-thinking.test.tsx +15 -0
  651. package/src/chat/feedback/chat-thinking.tsx +23 -0
  652. package/src/chat/feedback/chat-tool-code-area.test.tsx +23 -0
  653. package/src/chat/feedback/chat-tool-code-area.tsx +71 -0
  654. package/src/chat/feedback/chat-tool-full-view-dialog.test.tsx +39 -0
  655. package/src/chat/feedback/chat-tool-full-view-dialog.tsx +121 -0
  656. package/src/chat/feedback/chat-tool-group.test.tsx +84 -0
  657. package/src/chat/feedback/chat-tool-group.tsx +156 -0
  658. package/src/chat/feedback/chat-tool-trace.test.tsx +81 -0
  659. package/src/chat/feedback/chat-tool-trace.tsx +192 -0
  660. package/src/chat/feedback/get-tool-label.test.tsx +91 -0
  661. package/src/chat/feedback/get-tool-label.ts +13 -0
  662. package/src/chat/feedback/index.ts +8 -0
  663. package/src/chat/feedback/styles.ts +239 -0
  664. package/src/chat/index.ts +62 -0
  665. package/src/chat/types.ts +247 -0
  666. package/src/chat/use-typewriter.test.tsx +38 -0
  667. package/src/chat/use-typewriter.ts +90 -0
  668. package/src/components/basemaps/basemaps.test.tsx +196 -0
  669. package/src/components/basemaps/basemaps.tsx +150 -0
  670. package/src/components/basemaps/const.ts +13 -0
  671. package/src/components/basemaps/group-wrapper.test.tsx +38 -0
  672. package/src/components/basemaps/group-wrapper.tsx +28 -0
  673. package/src/components/basemaps/group.test.tsx +52 -0
  674. package/src/components/basemaps/group.tsx +42 -0
  675. package/src/components/basemaps/header.test.tsx +54 -0
  676. package/src/components/basemaps/header.tsx +36 -0
  677. package/src/components/basemaps/styles.ts +76 -0
  678. package/src/components/basemaps/types.ts +30 -0
  679. package/src/components/common-types.ts +1 -0
  680. package/src/components/copy-button/copy-button.test.tsx +41 -0
  681. package/src/components/copy-button/copy-button.tsx +31 -0
  682. package/src/components/copy-button/types.ts +10 -0
  683. package/src/components/geolocation-controls/const.ts +6 -0
  684. package/src/components/geolocation-controls/geolocation-controls.test.tsx +148 -0
  685. package/src/components/geolocation-controls/geolocation-controls.tsx +126 -0
  686. package/src/components/geolocation-controls/types.ts +17 -0
  687. package/src/components/index.ts +163 -0
  688. package/src/components/lasso-tool/chip.test.tsx +257 -0
  689. package/src/components/lasso-tool/chip.tsx +66 -0
  690. package/src/components/lasso-tool/const.tsx +94 -0
  691. package/src/components/lasso-tool/edit-confirm-toolbar.test.tsx +67 -0
  692. package/src/components/lasso-tool/edit-confirm-toolbar.tsx +48 -0
  693. package/src/components/lasso-tool/geometry-toolbar.test.tsx +804 -0
  694. package/src/components/lasso-tool/geometry-toolbar.tsx +158 -0
  695. package/src/components/lasso-tool/icons.tsx +193 -0
  696. package/src/components/lasso-tool/lasso-tool-inline.test.tsx +759 -0
  697. package/src/components/lasso-tool/lasso-tool-inline.tsx +508 -0
  698. package/src/components/lasso-tool/lasso-tool.test.tsx +700 -0
  699. package/src/components/lasso-tool/lasso-tool.tsx +673 -0
  700. package/src/components/lasso-tool/layer-filters.test.tsx +103 -0
  701. package/src/components/lasso-tool/layer-filters.tsx +242 -0
  702. package/src/components/lasso-tool/message.tsx +36 -0
  703. package/src/components/lasso-tool/options-sections.test.tsx +101 -0
  704. package/src/components/lasso-tool/options-sections.tsx +104 -0
  705. package/src/components/lasso-tool/styles.test.ts +26 -0
  706. package/src/components/lasso-tool/styles.ts +190 -0
  707. package/src/components/lasso-tool/toolbar/actions/accept-action.tsx +34 -0
  708. package/src/components/lasso-tool/toolbar/actions/action-menu.tsx +103 -0
  709. package/src/components/lasso-tool/toolbar/actions/cancel-action.tsx +34 -0
  710. package/src/components/lasso-tool/toolbar/actions/color-action.tsx +201 -0
  711. package/src/components/lasso-tool/toolbar/actions/delete-action.tsx +31 -0
  712. package/src/components/lasso-tool/toolbar/actions/duplicate-action.tsx +30 -0
  713. package/src/components/lasso-tool/toolbar/actions/edit-geometry-action.tsx +44 -0
  714. package/src/components/lasso-tool/toolbar/actions/edit-properties-action.tsx +487 -0
  715. package/src/components/lasso-tool/toolbar/actions/fill-action.tsx +55 -0
  716. package/src/components/lasso-tool/toolbar/actions/intersect-action.tsx +33 -0
  717. package/src/components/lasso-tool/toolbar/actions/label-action.tsx +292 -0
  718. package/src/components/lasso-tool/toolbar/actions/lock-action.tsx +40 -0
  719. package/src/components/lasso-tool/toolbar/actions/redo-action.tsx +35 -0
  720. package/src/components/lasso-tool/toolbar/actions/split-action.tsx +33 -0
  721. package/src/components/lasso-tool/toolbar/actions/stroke-action.tsx +57 -0
  722. package/src/components/lasso-tool/toolbar/actions/style-actions.test.tsx +212 -0
  723. package/src/components/lasso-tool/toolbar/actions/subtract-action.tsx +33 -0
  724. package/src/components/lasso-tool/toolbar/actions/toggle-type-action.tsx +50 -0
  725. package/src/components/lasso-tool/toolbar/actions/undo-action.tsx +35 -0
  726. package/src/components/lasso-tool/toolbar/actions/union-action.tsx +40 -0
  727. package/src/components/lasso-tool/toolbar/button.tsx +62 -0
  728. package/src/components/lasso-tool/toolbar/connected.tsx +383 -0
  729. package/src/components/lasso-tool/toolbar/context.tsx +65 -0
  730. package/src/components/lasso-tool/toolbar/index.ts +70 -0
  731. package/src/components/lasso-tool/toolbar/styles.ts +42 -0
  732. package/src/components/lasso-tool/toolbar/toolbar.test.tsx +77 -0
  733. package/src/components/lasso-tool/toolbar/toolbar.tsx +50 -0
  734. package/src/components/lasso-tool/tools-context.tsx +47 -0
  735. package/src/components/lasso-tool/types.ts +384 -0
  736. package/src/components/lasso-tool/undo-redo.test.tsx +162 -0
  737. package/src/components/lasso-tool/undo-redo.tsx +55 -0
  738. package/src/components/list-data/list-data-skeleton.test.tsx +10 -0
  739. package/src/components/list-data/list-data-skeleton.tsx +40 -0
  740. package/src/components/list-data/list-data.test.tsx +167 -0
  741. package/src/components/list-data/list-data.tsx +124 -0
  742. package/src/components/list-data/styles.ts +37 -0
  743. package/src/components/list-data/types.ts +25 -0
  744. package/src/components/measurement-tools/const.tsx +108 -0
  745. package/src/components/measurement-tools/icons.tsx +54 -0
  746. package/src/components/measurement-tools/measurement-tools.test.tsx +165 -0
  747. package/src/components/measurement-tools/measurement-tools.tsx +467 -0
  748. package/src/components/measurement-tools/styles.ts +92 -0
  749. package/src/components/measurement-tools/types.ts +77 -0
  750. package/src/components/no-data-alert/no-data-alert.test.tsx +69 -0
  751. package/src/components/no-data-alert/no-data-alert.tsx +59 -0
  752. package/src/components/responsive-drawer/responsive-drawer.test.tsx +415 -0
  753. package/src/components/responsive-drawer/responsive-drawer.tsx +219 -0
  754. package/src/components/smart-tooltip/smart-tooltip.test.tsx +168 -0
  755. package/src/components/smart-tooltip/smart-tooltip.tsx +74 -0
  756. package/src/components/tooltip/tooltip.test.tsx +86 -0
  757. package/src/components/tooltip/tooltip.tsx +43 -0
  758. package/src/components/types.ts +1 -0
  759. package/src/components/zoom-controls/styles.ts +27 -0
  760. package/src/components/zoom-controls/types.ts +19 -0
  761. package/src/components/zoom-controls/zoom-controls.test.tsx +101 -0
  762. package/src/components/zoom-controls/zoom-controls.tsx +130 -0
  763. package/src/hooks/index.ts +1 -0
  764. package/src/hooks/use-skeleton.test.tsx +32 -0
  765. package/src/hooks/use-skeleton.ts +19 -0
  766. package/src/hooks/use-widget-ref.ts +34 -0
  767. package/src/legend/components/a11y.ts +14 -0
  768. package/src/legend/components/contexts.ts +57 -0
  769. package/src/legend/components/icons.tsx +22 -0
  770. package/src/legend/components/index.ts +38 -0
  771. package/src/legend/components/legend-actions/legend-actions.tsx +58 -0
  772. package/src/legend/components/legend-actions/styles.ts +9 -0
  773. package/src/legend/components/legend-category/legend-category-ui.tsx +91 -0
  774. package/src/legend/components/legend-category/styles.ts +61 -0
  775. package/src/legend/components/legend-config-select/legend-config-select.tsx +96 -0
  776. package/src/legend/components/legend-config-select/styles.ts +48 -0
  777. package/src/legend/components/legend-group/legend-group.test.tsx +297 -0
  778. package/src/legend/components/legend-group/legend-group.tsx +126 -0
  779. package/src/legend/components/legend-group/styles.ts +184 -0
  780. package/src/legend/components/legend-group-menu/legend-group-menu-items.tsx +132 -0
  781. package/src/legend/components/legend-group-menu/legend-group-menu.tsx +25 -0
  782. package/src/legend/components/legend-icon/legend-icon-ui.tsx +56 -0
  783. package/src/legend/components/legend-icon/styles.ts +56 -0
  784. package/src/legend/components/legend-item/legend-item-ui.test.tsx +362 -0
  785. package/src/legend/components/legend-item/legend-item-ui.tsx +43 -0
  786. package/src/legend/components/legend-item/legend-item.tsx +34 -0
  787. package/src/legend/components/legend-item/styles.ts +11 -0
  788. package/src/legend/components/legend-opacity/legend-opacity.tsx +152 -0
  789. package/src/legend/components/legend-opacity/styles.ts +33 -0
  790. package/src/legend/components/legend-overflow-menu/legend-overflow-menu.tsx +84 -0
  791. package/src/legend/components/legend-panel-menu/legend-panel-menu.tsx +23 -0
  792. package/src/legend/components/legend-proportion/legend-proportion-ui.tsx +122 -0
  793. package/src/legend/components/legend-proportion/styles.ts +43 -0
  794. package/src/legend/components/legend-ramp/legend-ramp-ui.tsx +160 -0
  795. package/src/legend/components/legend-ramp/styles.ts +62 -0
  796. package/src/legend/components/legend-row/legend-row.test.tsx +736 -0
  797. package/src/legend/components/legend-row/legend-row.tsx +170 -0
  798. package/src/legend/components/legend-row/styles.ts +219 -0
  799. package/src/legend/components/legend-row-menu/legend-row-menu-items.tsx +57 -0
  800. package/src/legend/components/legend-row-menu/legend-row-menu.tsx +30 -0
  801. package/src/legend/components/legend-row-menu/legend-zoom-to.tsx +43 -0
  802. package/src/legend/components/legend-sortable/contexts.ts +12 -0
  803. package/src/legend/components/legend-sortable/legend-sortable.test.tsx +144 -0
  804. package/src/legend/components/legend-sortable/legend-sortable.tsx +195 -0
  805. package/src/legend/components/legend-sortable/sortable-entity.tsx +91 -0
  806. package/src/legend/components/legend-sortable/sortable-ids.ts +17 -0
  807. package/src/legend/components/legend-sortable/styles.ts +65 -0
  808. package/src/legend/components/legend-swatch/legend-swatch.test.tsx +109 -0
  809. package/src/legend/components/legend-swatch/legend-swatch.tsx +237 -0
  810. package/src/legend/components/legend-visibility-toggle/legend-visibility-toggle.tsx +133 -0
  811. package/src/legend/components/legend-visible-layers/legend-visible-layers.test.tsx +86 -0
  812. package/src/legend/components/legend-visible-layers/legend-visible-layers.tsx +135 -0
  813. package/src/legend/components/legend-visible-layers/styles.ts +60 -0
  814. package/src/legend/components/run-async-menu-action.ts +20 -0
  815. package/src/legend/index.ts +176 -0
  816. package/src/legend/provider/index.ts +6 -0
  817. package/src/legend/provider/labels.ts +101 -0
  818. package/src/legend/provider/legend-config-context.ts +15 -0
  819. package/src/legend/provider/legend-provider.tsx +102 -0
  820. package/src/legend/stores/index.ts +50 -0
  821. package/src/legend/stores/legend-context.ts +17 -0
  822. package/src/legend/stores/legend-store-registry.ts +745 -0
  823. package/src/legend/stores/legend-store.test.ts +701 -0
  824. package/src/legend/stores/selectors.ts +127 -0
  825. package/src/legend/stores/types.ts +359 -0
  826. package/src/widgets/README.md +277 -0
  827. package/src/widgets/actions/brush-toggle/brush-overlay.test.tsx +465 -0
  828. package/src/widgets/actions/brush-toggle/brush-overlay.tsx +408 -0
  829. package/src/widgets/actions/brush-toggle/brush-toggle.test.tsx +208 -0
  830. package/src/widgets/actions/brush-toggle/brush-toggle.tsx +133 -0
  831. package/src/widgets/actions/brush-toggle/hit-test.test.ts +65 -0
  832. package/src/widgets/actions/brush-toggle/hit-test.ts +45 -0
  833. package/src/widgets/actions/brush-toggle/style.ts +46 -0
  834. package/src/widgets/actions/brush-toggle/types.ts +78 -0
  835. package/src/widgets/actions/change-column/change-column-dnd.test.tsx +193 -0
  836. package/src/widgets/actions/change-column/change-column-icon.tsx +10 -0
  837. package/src/widgets/actions/change-column/change-column.test.tsx +290 -0
  838. package/src/widgets/actions/change-column/change-column.tsx +218 -0
  839. package/src/widgets/actions/change-column/sortable-column-item.test.tsx +124 -0
  840. package/src/widgets/actions/change-column/sortable-column-item.tsx +51 -0
  841. package/src/widgets/actions/change-column/types.ts +20 -0
  842. package/src/widgets/actions/download/download.test.tsx +326 -0
  843. package/src/widgets/actions/download/download.tsx +132 -0
  844. package/src/widgets/actions/download/exports.test.tsx +288 -0
  845. package/src/widgets/actions/download/exports.tsx +118 -0
  846. package/src/widgets/actions/download/types.ts +21 -0
  847. package/src/widgets/actions/fullscreen/fullscreen.test.tsx +269 -0
  848. package/src/widgets/actions/fullscreen/fullscreen.tsx +98 -0
  849. package/src/widgets/actions/fullscreen/styles.ts +17 -0
  850. package/src/widgets/actions/fullscreen/types.ts +32 -0
  851. package/src/widgets/actions/index.ts +73 -0
  852. package/src/widgets/actions/lock-selection/lock-selection.test.tsx +198 -0
  853. package/src/widgets/actions/lock-selection/lock-selection.tsx +128 -0
  854. package/src/widgets/actions/lock-selection/types.ts +43 -0
  855. package/src/widgets/actions/relative-data/relative-data.test.tsx +542 -0
  856. package/src/widgets/actions/relative-data/relative-data.tsx +188 -0
  857. package/src/widgets/actions/relative-data/types.ts +33 -0
  858. package/src/widgets/actions/relative-data/utils.test.ts +223 -0
  859. package/src/widgets/actions/relative-data/utils.ts +58 -0
  860. package/src/widgets/actions/searcher/searcher-toggle.test.tsx +354 -0
  861. package/src/widgets/actions/searcher/searcher-toggle.tsx +72 -0
  862. package/src/widgets/actions/searcher/searcher.tsx +196 -0
  863. package/src/widgets/actions/searcher/types.ts +72 -0
  864. package/src/widgets/actions/shared/styles.ts +12 -0
  865. package/src/widgets/actions/stack-toggle/grouped-bar-chart-icon.tsx +14 -0
  866. package/src/widgets/actions/stack-toggle/stack-toggle.test.tsx +414 -0
  867. package/src/widgets/actions/stack-toggle/stack-toggle.tsx +129 -0
  868. package/src/widgets/actions/stack-toggle/types.ts +29 -0
  869. package/src/widgets/actions/zoom-toggle/style.ts +14 -0
  870. package/src/widgets/actions/zoom-toggle/types.ts +44 -0
  871. package/src/widgets/actions/zoom-toggle/zoom-toggle.test.tsx +322 -0
  872. package/src/widgets/actions/zoom-toggle/zoom-toggle.tsx +218 -0
  873. package/src/widgets/bar/config.ts +140 -0
  874. package/src/widgets/bar/index.ts +9 -0
  875. package/src/widgets/bar/skeleton.tsx +60 -0
  876. package/src/widgets/bar/style.ts +33 -0
  877. package/src/widgets/bar/types.ts +16 -0
  878. package/src/widgets/category/category-ui.test.tsx +399 -0
  879. package/src/widgets/category/category-ui.tsx +166 -0
  880. package/src/widgets/category/components/category-bar.tsx +31 -0
  881. package/src/widgets/category/components/category-legend.tsx +33 -0
  882. package/src/widgets/category/components/category-row-multi.tsx +57 -0
  883. package/src/widgets/category/components/category-row-other.tsx +26 -0
  884. package/src/widgets/category/components/category-row-single.tsx +54 -0
  885. package/src/widgets/category/components/category-rows.test.tsx +213 -0
  886. package/src/widgets/category/config.ts +86 -0
  887. package/src/widgets/category/index.ts +29 -0
  888. package/src/widgets/category/skeleton.tsx +24 -0
  889. package/src/widgets/category/style.ts +134 -0
  890. package/src/widgets/category/types.ts +41 -0
  891. package/src/widgets/echart/const.ts +1 -0
  892. package/src/widgets/echart/echart-ui.test.tsx +526 -0
  893. package/src/widgets/echart/echart-ui.tsx +78 -0
  894. package/src/widgets/echart/echart.test.tsx +546 -0
  895. package/src/widgets/echart/echart.tsx +66 -0
  896. package/src/widgets/echart/index.ts +16 -0
  897. package/src/widgets/echart/options.ts +57 -0
  898. package/src/widgets/echart/shared-resize-observer.ts +45 -0
  899. package/src/widgets/echart/types.ts +45 -0
  900. package/src/widgets/echart/utils.test.ts +277 -0
  901. package/src/widgets/echart/utils.ts +244 -0
  902. package/src/widgets/error/error.test.tsx +331 -0
  903. package/src/widgets/error/error.tsx +51 -0
  904. package/src/widgets/error/index.ts +2 -0
  905. package/src/widgets/error/types.ts +24 -0
  906. package/src/widgets/formula/components/item.test.tsx +249 -0
  907. package/src/widgets/formula/components/item.tsx +21 -0
  908. package/src/widgets/formula/components/prefix.test.tsx +341 -0
  909. package/src/widgets/formula/components/prefix.tsx +19 -0
  910. package/src/widgets/formula/components/row.test.tsx +364 -0
  911. package/src/widgets/formula/components/row.tsx +24 -0
  912. package/src/widgets/formula/components/series.tsx +35 -0
  913. package/src/widgets/formula/components/suffix.test.tsx +383 -0
  914. package/src/widgets/formula/components/suffix.tsx +29 -0
  915. package/src/widgets/formula/components/value.test.tsx +329 -0
  916. package/src/widgets/formula/components/value.tsx +24 -0
  917. package/src/widgets/formula/config.test.ts +37 -0
  918. package/src/widgets/formula/config.ts +38 -0
  919. package/src/widgets/formula/formula-ui.test.tsx +399 -0
  920. package/src/widgets/formula/formula-ui.tsx +30 -0
  921. package/src/widgets/formula/index.ts +24 -0
  922. package/src/widgets/formula/serializer.test.tsx +144 -0
  923. package/src/widgets/formula/serializer.ts +28 -0
  924. package/src/widgets/formula/skeleton.tsx +10 -0
  925. package/src/widgets/formula/style.ts +23 -0
  926. package/src/widgets/formula/types.ts +50 -0
  927. package/src/widgets/histogram/config.ts +230 -0
  928. package/src/widgets/histogram/index.ts +13 -0
  929. package/src/widgets/histogram/skeleton.tsx +52 -0
  930. package/src/widgets/histogram/style.ts +8 -0
  931. package/src/widgets/histogram/types.ts +23 -0
  932. package/src/widgets/loader/index.ts +4 -0
  933. package/src/widgets/loader/loader.tsx +92 -0
  934. package/src/widgets/loader/types.ts +13 -0
  935. package/src/widgets/loader/utils.test.ts +112 -0
  936. package/src/widgets/loader/utils.ts +57 -0
  937. package/src/widgets/markdown/config.ts +28 -0
  938. package/src/widgets/markdown/index.ts +14 -0
  939. package/src/widgets/markdown/markdown-ui.test.tsx +341 -0
  940. package/src/widgets/markdown/markdown-ui.tsx +59 -0
  941. package/src/widgets/markdown/markdown.tsx +20 -0
  942. package/src/widgets/markdown/skeleton.tsx +12 -0
  943. package/src/widgets/markdown/style.ts +28 -0
  944. package/src/widgets/markdown/types.ts +28 -0
  945. package/src/widgets/no-data/index.ts +2 -0
  946. package/src/widgets/no-data/no-data.test.tsx +497 -0
  947. package/src/widgets/no-data/no-data.tsx +112 -0
  948. package/src/widgets/no-data/style.ts +18 -0
  949. package/src/widgets/no-data/types.ts +76 -0
  950. package/src/widgets/note/index.ts +2 -0
  951. package/src/widgets/note/note.test.tsx +391 -0
  952. package/src/widgets/note/note.tsx +124 -0
  953. package/src/widgets/note/style.ts +29 -0
  954. package/src/widgets/note/types.ts +9 -0
  955. package/src/widgets/pie/config.ts +245 -0
  956. package/src/widgets/pie/index.ts +8 -0
  957. package/src/widgets/pie/skeleton.tsx +70 -0
  958. package/src/widgets/pie/style.ts +8 -0
  959. package/src/widgets/pie/types.ts +16 -0
  960. package/src/widgets/range/components/range-item.test.tsx +243 -0
  961. package/src/widgets/range/components/range-item.tsx +214 -0
  962. package/src/widgets/range/config.ts +10 -0
  963. package/src/widgets/range/index.ts +16 -0
  964. package/src/widgets/range/range-ui.test.tsx +203 -0
  965. package/src/widgets/range/range-ui.tsx +14 -0
  966. package/src/widgets/range/serializer.test.ts +70 -0
  967. package/src/widgets/range/serializer.ts +27 -0
  968. package/src/widgets/range/skeleton.tsx +14 -0
  969. package/src/widgets/range/style.ts +37 -0
  970. package/src/widgets/range/types.ts +39 -0
  971. package/src/widgets/scatterplot/config.ts +136 -0
  972. package/src/widgets/scatterplot/index.ts +8 -0
  973. package/src/widgets/scatterplot/skeleton.tsx +59 -0
  974. package/src/widgets/scatterplot/style.ts +21 -0
  975. package/src/widgets/scatterplot/types.ts +17 -0
  976. package/src/widgets/selection-summary/index.ts +6 -0
  977. package/src/widgets/selection-summary/selection-summary.tsx +57 -0
  978. package/src/widgets/selection-summary/style.ts +10 -0
  979. package/src/widgets/selection-summary/types.ts +14 -0
  980. package/src/widgets/skeleton-loader/index.ts +2 -0
  981. package/src/widgets/skeleton-loader/skeleton-loader.test.tsx +139 -0
  982. package/src/widgets/skeleton-loader/skeleton-loader.tsx +35 -0
  983. package/src/widgets/skeleton-loader/types.ts +8 -0
  984. package/src/widgets/spread/components/max-value.tsx +29 -0
  985. package/src/widgets/spread/components/min-value.tsx +29 -0
  986. package/src/widgets/spread/components/separator.tsx +9 -0
  987. package/src/widgets/spread/config.ts +39 -0
  988. package/src/widgets/spread/index.ts +23 -0
  989. package/src/widgets/spread/skeleton.tsx +10 -0
  990. package/src/widgets/spread/spread-ui.test.tsx +368 -0
  991. package/src/widgets/spread/spread-ui.tsx +32 -0
  992. package/src/widgets/spread/style.ts +22 -0
  993. package/src/widgets/spread/types.ts +47 -0
  994. package/src/widgets/stores/index.ts +13 -0
  995. package/src/widgets/stores/types.ts +203 -0
  996. package/src/widgets/stores/use-widget-selector.ts +47 -0
  997. package/src/widgets/stores/widget-store-branches.test.ts +275 -0
  998. package/src/widgets/stores/widget-store-performance.test.ts +750 -0
  999. package/src/widgets/stores/widget-store.test.ts +942 -0
  1000. package/src/widgets/stores/widget-store.ts +484 -0
  1001. package/src/widgets/subheader/index.ts +3 -0
  1002. package/src/widgets/subheader/style.ts +20 -0
  1003. package/src/widgets/subheader/subheader.test.tsx +45 -0
  1004. package/src/widgets/subheader/subheader.tsx +35 -0
  1005. package/src/widgets/subheader/types.ts +11 -0
  1006. package/src/widgets/table/components/cell-header.tsx +58 -0
  1007. package/src/widgets/table/components/cell.tsx +82 -0
  1008. package/src/widgets/table/components/pagination-actions.tsx +67 -0
  1009. package/src/widgets/table/components/pagination.tsx +41 -0
  1010. package/src/widgets/table/components/row.tsx +65 -0
  1011. package/src/widgets/table/config.test.ts +65 -0
  1012. package/src/widgets/table/config.ts +75 -0
  1013. package/src/widgets/table/helpers.test.ts +244 -0
  1014. package/src/widgets/table/helpers.ts +107 -0
  1015. package/src/widgets/table/hooks/use-pagination.test.ts +294 -0
  1016. package/src/widgets/table/hooks/use-pagination.ts +148 -0
  1017. package/src/widgets/table/hooks/use-selection.test.ts +504 -0
  1018. package/src/widgets/table/hooks/use-selection.ts +194 -0
  1019. package/src/widgets/table/hooks/use-sort.test.ts +296 -0
  1020. package/src/widgets/table/hooks/use-sort.ts +131 -0
  1021. package/src/widgets/table/index.ts +55 -0
  1022. package/src/widgets/table/serializer.ts +54 -0
  1023. package/src/widgets/table/skeleton.tsx +48 -0
  1024. package/src/widgets/table/style.ts +34 -0
  1025. package/src/widgets/table/table-ui.tsx +64 -0
  1026. package/src/widgets/table/types.ts +223 -0
  1027. package/src/widgets/timeseries/config.ts +136 -0
  1028. package/src/widgets/timeseries/index.ts +8 -0
  1029. package/src/widgets/timeseries/skeleton.tsx +55 -0
  1030. package/src/widgets/timeseries/style.ts +36 -0
  1031. package/src/widgets/timeseries/types.ts +17 -0
  1032. package/src/widgets/toolbar-actions/index.ts +6 -0
  1033. package/src/widgets/toolbar-actions/styles.ts +38 -0
  1034. package/src/widgets/toolbar-actions/toolbar-actions.test.tsx +691 -0
  1035. package/src/widgets/toolbar-actions/toolbar-actions.tsx +145 -0
  1036. package/src/widgets/toolbar-actions/types.ts +60 -0
  1037. package/src/widgets/utils/chart-config/config-factory.ts +67 -0
  1038. package/src/widgets/utils/chart-config/csv-modifiers.ts +56 -0
  1039. package/src/widgets/utils/chart-config/download-config.ts +22 -0
  1040. package/src/widgets/utils/chart-config/index.ts +29 -0
  1041. package/src/widgets/utils/chart-config/option-builders.test.ts +366 -0
  1042. package/src/widgets/utils/chart-config/option-builders.ts +308 -0
  1043. package/src/widgets/utils/formatter.ts +2 -0
  1044. package/src/widgets/utils/index.ts +26 -0
  1045. package/{dist/types/widgets/_shared/skeleton/index.d.ts → src/widgets/utils/skeleton/index.ts} +2 -1
  1046. package/src/widgets/utils/skeleton/styles.ts +20 -0
  1047. package/src/widgets/wrapper/components/actions.test.tsx +105 -0
  1048. package/src/widgets/wrapper/components/actions.tsx +35 -0
  1049. package/src/widgets/wrapper/components/options.test.tsx +331 -0
  1050. package/src/widgets/wrapper/components/options.tsx +81 -0
  1051. package/src/widgets/wrapper/components/title.test.tsx +126 -0
  1052. package/src/widgets/wrapper/components/title.tsx +35 -0
  1053. package/src/widgets/wrapper/index.ts +16 -0
  1054. package/src/widgets/wrapper/styles.ts +98 -0
  1055. package/src/widgets/wrapper/types.ts +55 -0
  1056. package/src/widgets/wrapper/wrapper-ui.test.tsx +232 -0
  1057. package/src/widgets/wrapper/wrapper-ui.tsx +72 -0
  1058. package/src/widgets/wrapper/wrapper.test.tsx +365 -0
  1059. package/src/widgets/wrapper/wrapper.tsx +60 -0
  1060. package/src/widgets-v2/PERFORMANCE.md +189 -0
  1061. package/src/widgets-v2/actions/brush-toggle/brush-toggle.test.tsx +180 -0
  1062. package/src/widgets-v2/actions/brush-toggle/brush-toggle.tsx +154 -0
  1063. package/src/widgets-v2/actions/brush-toggle/index.ts +3 -0
  1064. package/src/widgets-v2/actions/brush-toggle/labels.ts +9 -0
  1065. package/src/widgets-v2/actions/brush-toggle/style.ts +11 -0
  1066. package/src/widgets-v2/actions/brush-toggle/transforms.test.ts +47 -0
  1067. package/src/widgets-v2/actions/brush-toggle/transforms.ts +31 -0
  1068. package/src/widgets-v2/actions/change-column/change-column-icon.tsx +14 -0
  1069. package/src/widgets-v2/actions/change-column/change-column.test.tsx +59 -0
  1070. package/src/widgets-v2/actions/change-column/change-column.tsx +189 -0
  1071. package/src/widgets-v2/actions/change-column/index.ts +7 -0
  1072. package/src/widgets-v2/actions/change-column/labels.ts +11 -0
  1073. package/src/widgets-v2/actions/change-column/sortable-column-item.tsx +63 -0
  1074. package/src/widgets-v2/actions/change-column/style.ts +58 -0
  1075. package/src/widgets-v2/actions/change-column/types.ts +11 -0
  1076. package/src/widgets-v2/actions/download/constants.ts +14 -0
  1077. package/src/widgets-v2/actions/download/csv-item.test.tsx +77 -0
  1078. package/src/widgets-v2/actions/download/csv-item.tsx +71 -0
  1079. package/src/widgets-v2/actions/download/download.test.tsx +327 -0
  1080. package/src/widgets-v2/actions/download/download.tsx +144 -0
  1081. package/src/widgets-v2/actions/download/exports.test.tsx +198 -0
  1082. package/src/widgets-v2/actions/download/exports.ts +115 -0
  1083. package/src/widgets-v2/actions/download/icons.tsx +35 -0
  1084. package/src/widgets-v2/actions/download/index.ts +15 -0
  1085. package/src/widgets-v2/actions/download/labels.ts +16 -0
  1086. package/src/widgets-v2/actions/download/png-item.test.tsx +72 -0
  1087. package/src/widgets-v2/actions/download/png-item.tsx +53 -0
  1088. package/src/widgets-v2/actions/download/style.ts +3 -0
  1089. package/src/widgets-v2/actions/download/types.ts +32 -0
  1090. package/src/widgets-v2/actions/fullscreen/fullscreen.test.tsx +212 -0
  1091. package/src/widgets-v2/actions/fullscreen/fullscreen.tsx +301 -0
  1092. package/src/widgets-v2/actions/fullscreen/index.ts +7 -0
  1093. package/src/widgets-v2/actions/fullscreen/labels.ts +9 -0
  1094. package/src/widgets-v2/actions/fullscreen/style.ts +86 -0
  1095. package/src/widgets-v2/actions/fullscreen/types.ts +15 -0
  1096. package/src/widgets-v2/actions/index.ts +95 -0
  1097. package/src/widgets-v2/actions/lock-selection/index.ts +10 -0
  1098. package/src/widgets-v2/actions/lock-selection/labels.ts +11 -0
  1099. package/src/widgets-v2/actions/lock-selection/lock-selection.test.tsx +301 -0
  1100. package/src/widgets-v2/actions/lock-selection/lock-selection.tsx +188 -0
  1101. package/src/widgets-v2/actions/lock-selection/style.ts +11 -0
  1102. package/src/widgets-v2/actions/lock-selection/transforms.ts +27 -0
  1103. package/src/widgets-v2/actions/relative-data/index.ts +3 -0
  1104. package/src/widgets-v2/actions/relative-data/labels.ts +9 -0
  1105. package/src/widgets-v2/actions/relative-data/relative-data.test.tsx +71 -0
  1106. package/src/widgets-v2/actions/relative-data/relative-data.tsx +107 -0
  1107. package/src/widgets-v2/actions/relative-data/style.ts +11 -0
  1108. package/src/widgets-v2/actions/relative-data/transforms.test.ts +151 -0
  1109. package/src/widgets-v2/actions/relative-data/transforms.ts +70 -0
  1110. package/src/widgets-v2/actions/searcher/filter.ts +28 -0
  1111. package/src/widgets-v2/actions/searcher/index.ts +8 -0
  1112. package/src/widgets-v2/actions/searcher/labels.ts +13 -0
  1113. package/src/widgets-v2/actions/searcher/searcher-toggle.tsx +91 -0
  1114. package/src/widgets-v2/actions/searcher/searcher.test.tsx +92 -0
  1115. package/src/widgets-v2/actions/searcher/searcher.tsx +111 -0
  1116. package/src/widgets-v2/actions/searcher/style.ts +15 -0
  1117. package/src/widgets-v2/actions/show-all/index.ts +7 -0
  1118. package/src/widgets-v2/actions/show-all/labels.ts +8 -0
  1119. package/src/widgets-v2/actions/show-all/show-all.test.tsx +50 -0
  1120. package/src/widgets-v2/actions/show-all/show-all.tsx +72 -0
  1121. package/src/widgets-v2/actions/show-all/style.ts +8 -0
  1122. package/src/widgets-v2/actions/stack-toggle/index.ts +3 -0
  1123. package/src/widgets-v2/actions/stack-toggle/labels.ts +9 -0
  1124. package/src/widgets-v2/actions/stack-toggle/stack-toggle.test.tsx +61 -0
  1125. package/src/widgets-v2/actions/stack-toggle/stack-toggle.tsx +54 -0
  1126. package/src/widgets-v2/actions/stack-toggle/style.ts +11 -0
  1127. package/src/widgets-v2/actions/stack-toggle/transforms.test.ts +43 -0
  1128. package/src/widgets-v2/actions/stack-toggle/transforms.ts +25 -0
  1129. package/src/widgets-v2/actions/zoom-toggle/index.ts +9 -0
  1130. package/src/widgets-v2/actions/zoom-toggle/labels.ts +9 -0
  1131. package/src/widgets-v2/actions/zoom-toggle/style.ts +11 -0
  1132. package/src/widgets-v2/actions/zoom-toggle/transforms.test.ts +148 -0
  1133. package/src/widgets-v2/actions/zoom-toggle/transforms.ts +171 -0
  1134. package/src/widgets-v2/actions/zoom-toggle/zoom-toggle.test.tsx +107 -0
  1135. package/src/widgets-v2/actions/zoom-toggle/zoom-toggle.tsx +106 -0
  1136. package/src/widgets-v2/bar/download.test.tsx +91 -0
  1137. package/src/widgets-v2/bar/download.tsx +60 -0
  1138. package/src/widgets-v2/bar/index.ts +10 -0
  1139. package/src/widgets-v2/bar/options.test.ts +361 -0
  1140. package/src/widgets-v2/bar/options.ts +333 -0
  1141. package/src/widgets-v2/bar/skeleton.test.tsx +19 -0
  1142. package/src/widgets-v2/bar/skeleton.tsx +69 -0
  1143. package/src/widgets-v2/bar/types.ts +51 -0
  1144. package/src/widgets-v2/category/category-ui.test.tsx +909 -0
  1145. package/src/widgets-v2/category/category-ui.tsx +479 -0
  1146. package/src/widgets-v2/category/category.relative-data.test.tsx +107 -0
  1147. package/src/widgets-v2/category/category.stack-toggle.test.tsx +85 -0
  1148. package/src/widgets-v2/category/category.test.tsx +305 -0
  1149. package/src/widgets-v2/category/category.tsx +130 -0
  1150. package/src/widgets-v2/category/components/category-bar-stacked.test.tsx +121 -0
  1151. package/src/widgets-v2/category/components/category-bar-stacked.tsx +73 -0
  1152. package/src/widgets-v2/category/components/category-bar.test.tsx +64 -0
  1153. package/src/widgets-v2/category/components/category-bar.tsx +49 -0
  1154. package/src/widgets-v2/category/components/category-legend.test.tsx +102 -0
  1155. package/src/widgets-v2/category/components/category-legend.tsx +82 -0
  1156. package/src/widgets-v2/category/components/category-row-multi.tsx +86 -0
  1157. package/src/widgets-v2/category/components/category-row-other.test.tsx +57 -0
  1158. package/src/widgets-v2/category/components/category-row-other.tsx +84 -0
  1159. package/src/widgets-v2/category/components/category-row-single.tsx +76 -0
  1160. package/src/widgets-v2/category/components/category-row-stacked.test.tsx +248 -0
  1161. package/src/widgets-v2/category/components/category-row-stacked.tsx +104 -0
  1162. package/src/widgets-v2/category/download.test.ts +80 -0
  1163. package/src/widgets-v2/category/download.ts +50 -0
  1164. package/src/widgets-v2/category/index.ts +32 -0
  1165. package/src/widgets-v2/category/skeleton.test.tsx +26 -0
  1166. package/src/widgets-v2/category/skeleton.tsx +74 -0
  1167. package/src/widgets-v2/category/style.ts +329 -0
  1168. package/src/widgets-v2/category/types.ts +61 -0
  1169. package/src/widgets-v2/echart/echart-ui.test.tsx +330 -0
  1170. package/src/widgets-v2/echart/echart-ui.tsx +236 -0
  1171. package/src/widgets-v2/echart/echart.test.tsx +229 -0
  1172. package/src/widgets-v2/echart/echart.tsx +209 -0
  1173. package/src/widgets-v2/echart/edge-label-clamp.test.ts +198 -0
  1174. package/src/widgets-v2/echart/edge-label-clamp.ts +217 -0
  1175. package/src/widgets-v2/echart/index.ts +22 -0
  1176. package/src/widgets-v2/echart/shared-resize-observer.test.ts +91 -0
  1177. package/src/widgets-v2/echart/shared-resize-observer.ts +56 -0
  1178. package/src/widgets-v2/echart/style.ts +17 -0
  1179. package/src/widgets-v2/echart/use-chart-selection.test.tsx +120 -0
  1180. package/src/widgets-v2/echart/use-chart-selection.ts +121 -0
  1181. package/src/widgets-v2/formula/delta.tsx +61 -0
  1182. package/src/widgets-v2/formula/download.test.tsx +65 -0
  1183. package/src/widgets-v2/formula/download.tsx +63 -0
  1184. package/src/widgets-v2/formula/formula-ui.test.tsx +91 -0
  1185. package/src/widgets-v2/formula/formula-ui.tsx +66 -0
  1186. package/src/widgets-v2/formula/formula.test.tsx +50 -0
  1187. package/src/widgets-v2/formula/formula.tsx +34 -0
  1188. package/src/widgets-v2/formula/index.ts +17 -0
  1189. package/src/widgets-v2/formula/note.tsx +25 -0
  1190. package/src/widgets-v2/formula/prefix.tsx +25 -0
  1191. package/src/widgets-v2/formula/series.tsx +67 -0
  1192. package/src/widgets-v2/formula/skeleton.test.tsx +21 -0
  1193. package/src/widgets-v2/formula/skeleton.tsx +27 -0
  1194. package/src/widgets-v2/formula/style.ts +31 -0
  1195. package/src/widgets-v2/formula/subcomponents.test.tsx +107 -0
  1196. package/src/widgets-v2/formula/suffix.tsx +25 -0
  1197. package/src/widgets-v2/formula/types.ts +48 -0
  1198. package/src/widgets-v2/formula/value.tsx +31 -0
  1199. package/src/widgets-v2/histogram/download.test.ts +94 -0
  1200. package/src/widgets-v2/histogram/download.ts +56 -0
  1201. package/src/widgets-v2/histogram/index.ts +13 -0
  1202. package/src/widgets-v2/histogram/options.test.ts +411 -0
  1203. package/src/widgets-v2/histogram/options.ts +390 -0
  1204. package/src/widgets-v2/histogram/skeleton.test.tsx +16 -0
  1205. package/src/widgets-v2/histogram/skeleton.tsx +70 -0
  1206. package/src/widgets-v2/histogram/transforms.test.ts +81 -0
  1207. package/src/widgets-v2/histogram/transforms.ts +53 -0
  1208. package/src/widgets-v2/histogram/types.ts +64 -0
  1209. package/src/widgets-v2/index.ts +212 -0
  1210. package/src/widgets-v2/markdown/download.test.ts +66 -0
  1211. package/src/widgets-v2/markdown/download.tsx +56 -0
  1212. package/src/widgets-v2/markdown/index.ts +6 -0
  1213. package/src/widgets-v2/markdown/markdown-content.test.tsx +165 -0
  1214. package/src/widgets-v2/markdown/markdown-content.tsx +81 -0
  1215. package/src/widgets-v2/markdown/markdown-ui.test.tsx +75 -0
  1216. package/src/widgets-v2/markdown/markdown-ui.tsx +55 -0
  1217. package/src/widgets-v2/markdown/markdown.test.tsx +39 -0
  1218. package/src/widgets-v2/markdown/markdown.tsx +17 -0
  1219. package/src/widgets-v2/markdown/skeleton.test.tsx +15 -0
  1220. package/src/widgets-v2/markdown/skeleton.tsx +32 -0
  1221. package/src/widgets-v2/markdown/style.ts +53 -0
  1222. package/src/widgets-v2/markdown/types.ts +4 -0
  1223. package/src/widgets-v2/note/labels.ts +9 -0
  1224. package/src/widgets-v2/note/style.ts +26 -0
  1225. package/src/widgets-v2/note/widget-note.test.tsx +158 -0
  1226. package/src/widgets-v2/note/widget-note.tsx +172 -0
  1227. package/src/widgets-v2/pie/download.test.ts +78 -0
  1228. package/src/widgets-v2/pie/download.ts +51 -0
  1229. package/src/widgets-v2/pie/index.ts +10 -0
  1230. package/src/widgets-v2/pie/options.test.ts +938 -0
  1231. package/src/widgets-v2/pie/options.ts +606 -0
  1232. package/src/widgets-v2/pie/skeleton.test.tsx +20 -0
  1233. package/src/widgets-v2/pie/skeleton.tsx +94 -0
  1234. package/src/widgets-v2/pie/types.ts +62 -0
  1235. package/src/widgets-v2/provider/widget-provider.test.tsx +119 -0
  1236. package/src/widgets-v2/provider/widget-provider.tsx +111 -0
  1237. package/src/widgets-v2/range/index.ts +4 -0
  1238. package/src/widgets-v2/range/range-ui.test.tsx +136 -0
  1239. package/src/widgets-v2/range/range-ui.tsx +278 -0
  1240. package/src/widgets-v2/range/range.test.tsx +68 -0
  1241. package/src/widgets-v2/range/range.tsx +52 -0
  1242. package/src/widgets-v2/range/skeleton.test.tsx +17 -0
  1243. package/src/widgets-v2/range/skeleton.tsx +47 -0
  1244. package/src/widgets-v2/range/style.ts +41 -0
  1245. package/src/widgets-v2/range/types.ts +37 -0
  1246. package/src/widgets-v2/scatterplot/download.test.ts +71 -0
  1247. package/src/widgets-v2/scatterplot/download.ts +50 -0
  1248. package/src/widgets-v2/scatterplot/index.ts +14 -0
  1249. package/src/widgets-v2/scatterplot/options.test.ts +411 -0
  1250. package/src/widgets-v2/scatterplot/options.ts +422 -0
  1251. package/src/widgets-v2/scatterplot/skeleton.test.tsx +17 -0
  1252. package/src/widgets-v2/scatterplot/skeleton.tsx +84 -0
  1253. package/src/widgets-v2/scatterplot/transforms.test.ts +134 -0
  1254. package/src/widgets-v2/scatterplot/transforms.ts +61 -0
  1255. package/src/widgets-v2/scatterplot/types.ts +59 -0
  1256. package/src/widgets-v2/selection-summary/labels.ts +15 -0
  1257. package/src/widgets-v2/selection-summary/selection-summary.test.tsx +59 -0
  1258. package/src/widgets-v2/selection-summary/selection-summary.tsx +82 -0
  1259. package/src/widgets-v2/selection-summary/style.ts +38 -0
  1260. package/src/widgets-v2/spread/band.test.ts +46 -0
  1261. package/src/widgets-v2/spread/band.ts +47 -0
  1262. package/src/widgets-v2/spread/download.test.ts +64 -0
  1263. package/src/widgets-v2/spread/download.ts +55 -0
  1264. package/src/widgets-v2/spread/index.ts +11 -0
  1265. package/src/widgets-v2/spread/separator.tsx +11 -0
  1266. package/src/widgets-v2/spread/skeleton.test.tsx +17 -0
  1267. package/src/widgets-v2/spread/skeleton.tsx +38 -0
  1268. package/src/widgets-v2/spread/spread-ui.test.tsx +108 -0
  1269. package/src/widgets-v2/spread/spread-ui.tsx +52 -0
  1270. package/src/widgets-v2/spread/spread.test.tsx +50 -0
  1271. package/src/widgets-v2/spread/spread.tsx +31 -0
  1272. package/src/widgets-v2/spread/types.ts +27 -0
  1273. package/src/widgets-v2/state/labels.test.ts +33 -0
  1274. package/src/widgets-v2/state/labels.ts +20 -0
  1275. package/src/widgets-v2/state/style.ts +25 -0
  1276. package/src/widgets-v2/state/widget-state.test.tsx +294 -0
  1277. package/src/widgets-v2/state/widget-state.tsx +184 -0
  1278. package/src/widgets-v2/stores/index.ts +49 -0
  1279. package/src/widgets-v2/stores/pipeline-middleware.test.ts +187 -0
  1280. package/src/widgets-v2/stores/pipeline-middleware.ts +91 -0
  1281. package/src/widgets-v2/stores/transforms.test.ts +162 -0
  1282. package/src/widgets-v2/stores/transforms.ts +70 -0
  1283. package/src/widgets-v2/stores/types.ts +64 -0
  1284. package/src/widgets-v2/stores/use-echart-instance.test.tsx +91 -0
  1285. package/src/widgets-v2/stores/use-echart-instance.ts +29 -0
  1286. package/src/widgets-v2/stores/use-transform-enabled.test.tsx +127 -0
  1287. package/src/widgets-v2/stores/use-transform-enabled.ts +25 -0
  1288. package/src/widgets-v2/stores/use-transform.test.tsx +262 -0
  1289. package/src/widgets-v2/stores/use-transform.ts +158 -0
  1290. package/src/widgets-v2/stores/widget-context.test.tsx +58 -0
  1291. package/src/widgets-v2/stores/widget-context.ts +15 -0
  1292. package/src/widgets-v2/stores/widget-store-registry.test.ts +292 -0
  1293. package/src/widgets-v2/stores/widget-store-registry.ts +239 -0
  1294. package/src/widgets-v2/subheader/style.ts +12 -0
  1295. package/src/widgets-v2/subheader/subheader.test.tsx +30 -0
  1296. package/src/widgets-v2/subheader/subheader.tsx +16 -0
  1297. package/src/widgets-v2/table/download.test.ts +85 -0
  1298. package/src/widgets-v2/table/download.ts +43 -0
  1299. package/src/widgets-v2/table/helpers.test.ts +233 -0
  1300. package/src/widgets-v2/table/helpers.ts +131 -0
  1301. package/src/widgets-v2/table/index.ts +24 -0
  1302. package/src/widgets-v2/table/labels.tsx +41 -0
  1303. package/src/widgets-v2/table/skeleton.test.tsx +26 -0
  1304. package/src/widgets-v2/table/skeleton.tsx +65 -0
  1305. package/src/widgets-v2/table/style.ts +43 -0
  1306. package/src/widgets-v2/table/table-ui.test.tsx +200 -0
  1307. package/src/widgets-v2/table/table-ui.tsx +364 -0
  1308. package/src/widgets-v2/table/table.test.tsx +119 -0
  1309. package/src/widgets-v2/table/table.tsx +179 -0
  1310. package/src/widgets-v2/table/transforms.test.ts +40 -0
  1311. package/src/widgets-v2/table/transforms.ts +28 -0
  1312. package/src/widgets-v2/table/types.ts +55 -0
  1313. package/src/widgets-v2/test-utils.ts +107 -0
  1314. package/src/widgets-v2/timeseries/download.test.ts +95 -0
  1315. package/src/widgets-v2/timeseries/download.ts +82 -0
  1316. package/src/widgets-v2/timeseries/index.ts +11 -0
  1317. package/src/widgets-v2/timeseries/options.test.ts +399 -0
  1318. package/src/widgets-v2/timeseries/options.ts +342 -0
  1319. package/src/widgets-v2/timeseries/skeleton.test.tsx +13 -0
  1320. package/src/widgets-v2/timeseries/skeleton.tsx +76 -0
  1321. package/src/widgets-v2/timeseries/transforms.test.ts +49 -0
  1322. package/src/widgets-v2/timeseries/transforms.ts +31 -0
  1323. package/src/widgets-v2/timeseries/types.ts +65 -0
  1324. package/src/widgets-v2/toolbox/labels.ts +9 -0
  1325. package/src/widgets-v2/toolbox/style.ts +33 -0
  1326. package/src/widgets-v2/toolbox/toolbox.test.tsx +200 -0
  1327. package/src/widgets-v2/toolbox/toolbox.tsx +309 -0
  1328. package/src/widgets-v2/types.ts +25 -0
  1329. package/src/widgets-v2/utils/data-zoom-layout.ts +26 -0
  1330. package/src/widgets-v2/utils/index.ts +3 -0
  1331. package/src/widgets-v2/utils/merge-options.test.ts +52 -0
  1332. package/src/widgets-v2/utils/merge-options.ts +50 -0
  1333. package/src/widgets-v2/utils/resolve-theme-color.test.ts +43 -0
  1334. package/src/widgets-v2/utils/resolve-theme-color.ts +34 -0
  1335. package/src/widgets-v2/wrapper/index.ts +14 -0
  1336. package/src/widgets-v2/wrapper/labels.ts +11 -0
  1337. package/src/widgets-v2/wrapper/style.ts +128 -0
  1338. package/src/widgets-v2/wrapper/widget-actions.test.tsx +52 -0
  1339. package/src/widgets-v2/wrapper/widget-actions.tsx +43 -0
  1340. package/src/widgets-v2/wrapper/widget-content.test.tsx +27 -0
  1341. package/src/widgets-v2/wrapper/widget-content.tsx +29 -0
  1342. package/src/widgets-v2/wrapper/widget-wrapper.test.tsx +255 -0
  1343. package/src/widgets-v2/wrapper/widget-wrapper.tsx +194 -0
  1344. package/dist/cjs-D9ro6BXv.js +0 -85
  1345. package/dist/cjs-D9ro6BXv.js.map +0 -1
  1346. package/dist/components.js.map +0 -1
  1347. package/dist/error-B2IJ9d2h.js +0 -38
  1348. package/dist/error-B2IJ9d2h.js.map +0 -1
  1349. package/dist/exports-Cr43OCul.js +0 -51
  1350. package/dist/exports-Cr43OCul.js.map +0 -1
  1351. package/dist/lasso-tool-CYn3ivf-.js +0 -534
  1352. package/dist/lasso-tool-CYn3ivf-.js.map +0 -1
  1353. package/dist/markdown-ui-CpNYUPqC.js +0 -68
  1354. package/dist/markdown-ui-CpNYUPqC.js.map +0 -1
  1355. package/dist/no-data-C54XJt13.js +0 -61
  1356. package/dist/no-data-C54XJt13.js.map +0 -1
  1357. package/dist/note-Clng2ej6.js +0 -124
  1358. package/dist/note-Clng2ej6.js.map +0 -1
  1359. package/dist/options-D9wflre6.js +0 -49
  1360. package/dist/options-D9wflre6.js.map +0 -1
  1361. package/dist/row-DLKZN5aF.js +0 -33
  1362. package/dist/row-DLKZN5aF.js.map +0 -1
  1363. package/dist/row-DrHwXNvF.js +0 -35
  1364. package/dist/row-DrHwXNvF.js.map +0 -1
  1365. package/dist/series-Cf1QPZHV.js +0 -83
  1366. package/dist/series-Cf1QPZHV.js.map +0 -1
  1367. package/dist/series-Do02NQUF.js +0 -91
  1368. package/dist/series-Do02NQUF.js.map +0 -1
  1369. package/dist/smart-tooltip-BEtBaIdz.js +0 -39
  1370. package/dist/smart-tooltip-BEtBaIdz.js.map +0 -1
  1371. package/dist/styles-CcC5L2cr.js +0 -77
  1372. package/dist/styles-CcC5L2cr.js.map +0 -1
  1373. package/dist/styles-dOu_pRNb.js +0 -77
  1374. package/dist/styles-dOu_pRNb.js.map +0 -1
  1375. package/dist/tooltip-BDnrRKrp.js +0 -25
  1376. package/dist/tooltip-BDnrRKrp.js.map +0 -1
  1377. package/dist/types/common/common.d.ts +0 -3
  1378. package/dist/types/common/index.d.ts +0 -26
  1379. package/dist/types/common/lasso-tools.d.ts +0 -36
  1380. package/dist/types/common/measurement-tools.d.ts +0 -65
  1381. package/dist/types/hooks/use-debounce.d.ts +0 -19
  1382. package/dist/types/widgets/_shared/chart-config/index.d.ts +0 -7
  1383. package/dist/types/widgets/_shared/chart-config/option-builders.d.ts +0 -34
  1384. package/dist/types/widgets/actions/relative-data/style.d.ts +0 -8
  1385. package/dist/types/widgets/actions/relative-data/utils.test.d.ts +0 -1
  1386. package/dist/types/widgets/actions/zoom-toggle/index.d.ts +0 -2
  1387. package/dist/types/widgets/category/components/index.d.ts +0 -10
  1388. package/dist/types/widgets/index.d.ts +0 -8
  1389. package/dist/types/widgets/range/serializer.test.d.ts +0 -1
  1390. package/dist/types/widgets/root/index.d.ts +0 -3
  1391. package/dist/types/widgets/root/root.d.ts +0 -2
  1392. package/dist/types/widgets/root/types.d.ts +0 -9
  1393. package/dist/types/widgets/root/utils.d.ts +0 -1
  1394. package/dist/types/widgets/stores/widget-store.test.d.ts +0 -1
  1395. package/dist/types/widgets/table/components/index.d.ts +0 -4
  1396. package/dist/types/widgets/table/helpers.test.d.ts +0 -1
  1397. package/dist/types/widgets/table/hooks/index.d.ts +0 -6
  1398. package/dist/types/widgets/table/hooks/use-pagination.test.d.ts +0 -1
  1399. package/dist/types/widgets/table/hooks/use-selection.test.d.ts +0 -1
  1400. package/dist/types/widgets/table/hooks/use-sort.test.d.ts +0 -1
  1401. package/dist/utils-DNtU8q7E.js +0 -144
  1402. package/dist/utils-DNtU8q7E.js.map +0 -1
  1403. package/dist/utils-Dv5Z47UQ.js +0 -144
  1404. package/dist/utils-Dv5Z47UQ.js.map +0 -1
  1405. package/dist/widget-store-CB6Trp_0.js +0 -131
  1406. package/dist/widget-store-CB6Trp_0.js.map +0 -1
  1407. package/dist/widget-store-yDO2ul8g.js +0 -44
  1408. package/dist/widget-store-yDO2ul8g.js.map +0 -1
  1409. package/dist/widgets/actions.js.map +0 -1
  1410. package/dist/widgets/echart.js.map +0 -1
  1411. package/dist/widgets/formula.js.map +0 -1
  1412. package/dist/widgets/root.js +0 -68
  1413. package/dist/widgets/root.js.map +0 -1
  1414. package/dist/widgets/stores.js.map +0 -1
  1415. package/dist/widgets.js +0 -11
  1416. package/dist/widgets.js.map +0 -1
  1417. /package/dist/types/widgets/{_shared → utils}/chart-config/csv-modifiers.d.ts +0 -0
  1418. /package/dist/types/widgets/{_shared → utils}/skeleton/styles.d.ts +0 -0
@@ -0,0 +1,194 @@
1
+ import {
2
+ Children,
3
+ isValidElement,
4
+ useCallback,
5
+ useState,
6
+ type ComponentType,
7
+ type ReactElement,
8
+ type ReactNode,
9
+ } from 'react'
10
+ import {
11
+ Accordion,
12
+ AccordionDetails,
13
+ AccordionSummary,
14
+ Box,
15
+ LinearProgress,
16
+ Typography,
17
+ type SvgIconProps,
18
+ type SxProps,
19
+ type Theme,
20
+ } from '@mui/material'
21
+ import { ExpandMore as ExpandMoreIcon } from '@mui/icons-material'
22
+ import { SmartTooltip } from '../../components/smart-tooltip/smart-tooltip'
23
+ import { useWidget, useWidgetId } from '../stores'
24
+ import { Actions, Options } from './widget-actions'
25
+ import { styles } from './style'
26
+ import { DEFAULT_WRAPPER_LABELS, type WrapperLabels } from './labels'
27
+
28
+ export interface WrapperProps {
29
+ title: string
30
+ /**
31
+ * Controlled collapsed state. When supplied, the wrapper is fully
32
+ * controlled — the consumer is responsible for updating it via
33
+ * `onCollapseChange`. Leave undefined to use the uncontrolled mode,
34
+ * which seeds internal state from `defaultCollapsed`.
35
+ */
36
+ collapsed?: boolean
37
+ /**
38
+ * Fires whenever the user interacts to toggle the wrapper, with the
39
+ * NEXT collapsed value. Called for both controlled and uncontrolled
40
+ * usage — consumers can subscribe to user-driven toggles even when
41
+ * letting the wrapper manage its own state.
42
+ */
43
+ onCollapseChange?: (collapsed: boolean) => void
44
+ /**
45
+ * Initial collapsed state when the wrapper is uncontrolled (i.e.
46
+ * `collapsed` is undefined). Ignored when `collapsed` is supplied.
47
+ */
48
+ defaultCollapsed?: boolean
49
+ disabled?: boolean
50
+ /**
51
+ * Visual variant. `'elevation'` (default) renders a borderless shell;
52
+ * `'outlined'` adds a 1px divider border around the card.
53
+ */
54
+ variant?: 'outlined' | 'elevation'
55
+ labels?: Partial<WrapperLabels>
56
+ /**
57
+ * Icon shown at the right edge of the summary row. Accordion rotates it
58
+ * 180° automatically when the wrapper expands. Default: `ExpandMoreIcon`.
59
+ */
60
+ expandIcon?: ComponentType<SvgIconProps>
61
+ iconProps?: SvgIconProps
62
+ sx?: SxProps<Theme>
63
+ children: ReactNode
64
+ }
65
+
66
+ /**
67
+ * Widget shell — title + collapsible body, built on MUI `<Accordion>` for
68
+ * native click-to-toggle on the summary header and a smooth open/close
69
+ * transition. UX matches v1 `<WrapperUI>`:
70
+ *
71
+ * • hover-fade action buttons (always visible on coarse-pointer devices)
72
+ * • multi-line title clamp (`WebkitLineClamp: 2`, word-break) + SmartTooltip
73
+ * when the text overflows
74
+ * • top-edge `<LinearProgress>` driven by the widget store's `isFetching`
75
+ * • chevron at the right end (rotated by Accordion based on expanded state)
76
+ *
77
+ * Children are partitioned by component identity: `<Actions>` and `<Options>`
78
+ * render inside the summary row; everything else (`<Content>`, `<Footer>`,
79
+ * loose nodes) renders inside the details panel.
80
+ */
81
+ export function Wrapper({
82
+ title,
83
+ collapsed,
84
+ onCollapseChange,
85
+ defaultCollapsed = false,
86
+ disabled = false,
87
+ variant = 'elevation',
88
+ labels,
89
+ expandIcon: ExpandIcon = ExpandMoreIcon,
90
+ iconProps,
91
+ sx,
92
+ children,
93
+ }: WrapperProps) {
94
+ const id = useWidgetId()
95
+ const isFetching = useWidget(id, (s) => s.isFetching)
96
+ // Controlled vs uncontrolled: when the consumer passes `collapsed`, they
97
+ // own the state; otherwise we keep an internal copy seeded from
98
+ // `defaultCollapsed`. `internalCollapsed` is still tracked in controlled
99
+ // mode so a consumer can drop the controlled prop later without losing
100
+ // the last-known position.
101
+ const isControlled = collapsed !== undefined
102
+ const [internalCollapsed, setInternalCollapsed] = useState(defaultCollapsed)
103
+ const effectiveCollapsed = isControlled ? collapsed : internalCollapsed
104
+ const handleAccordionToggle = useCallback(
105
+ (_: unknown, expanded: boolean) => {
106
+ if (disabled) return
107
+ const next = !expanded
108
+ onCollapseChange?.(next)
109
+ setInternalCollapsed(next)
110
+ },
111
+ [disabled, onCollapseChange],
112
+ )
113
+ const _labels = { ...DEFAULT_WRAPPER_LABELS, ...labels }
114
+
115
+ const { summary: summarySlots, details: detailsSlots } =
116
+ partitionChildren(children)
117
+
118
+ const ariaLabel = effectiveCollapsed ? _labels.expand : _labels.collapse
119
+
120
+ return (
121
+ <Accordion
122
+ data-collapsed={effectiveCollapsed ? 'true' : undefined}
123
+ expanded={!effectiveCollapsed}
124
+ onChange={handleAccordionToggle}
125
+ disableGutters
126
+ elevation={0}
127
+ variant={variant}
128
+ square
129
+ sx={{
130
+ ...styles.root,
131
+ ...sx,
132
+ }}
133
+ >
134
+ {isFetching ? (
135
+ <LinearProgress sx={styles.loading} color='primary' />
136
+ ) : null}
137
+
138
+ <AccordionSummary
139
+ expandIcon={
140
+ disabled ? null : <ExpandIcon fontSize='small' {...iconProps} />
141
+ }
142
+ aria-label={ariaLabel}
143
+ aria-disabled={disabled || undefined}
144
+ sx={{
145
+ ...styles.summary,
146
+ ...(disabled ? styles.summaryDisabled : null),
147
+ }}
148
+ >
149
+ <SmartTooltip title={title}>
150
+ {({ ref }) => (
151
+ <Box sx={styles.titleCell}>
152
+ <Typography
153
+ ref={ref}
154
+ variant='subtitle1'
155
+ sx={styles.titleText}
156
+ textTransform='none'
157
+ >
158
+ {title}
159
+ </Typography>
160
+ </Box>
161
+ )}
162
+ </SmartTooltip>
163
+ {summarySlots}
164
+ </AccordionSummary>
165
+ <AccordionDetails sx={styles.detail}>{detailsSlots}</AccordionDetails>
166
+ </Accordion>
167
+ )
168
+ }
169
+
170
+ /**
171
+ * Splits children by component identity: `<Actions>` and `<Options>` belong
172
+ * in the summary row, everything else in the details panel. Identity
173
+ * comparison works because both slot components are imported from the same
174
+ * module that consumers use.
175
+ */
176
+ function partitionChildren(children: ReactNode): {
177
+ summary: ReactNode[]
178
+ details: ReactNode[]
179
+ } {
180
+ const summary: ReactNode[] = []
181
+ const details: ReactNode[] = []
182
+ for (const child of Children.toArray(children)) {
183
+ if (isSlot(child, Actions) || isSlot(child, Options)) {
184
+ summary.push(child)
185
+ } else {
186
+ details.push(child)
187
+ }
188
+ }
189
+ return { summary, details }
190
+ }
191
+
192
+ function isSlot(node: ReactNode, type: unknown): node is ReactElement {
193
+ return isValidElement(node) && node.type === type
194
+ }
@@ -1,85 +0,0 @@
1
- function w(a) {
2
- return a && a.__esModule && Object.prototype.hasOwnProperty.call(a, "default") ? a.default : a;
3
- }
4
- var l, o;
5
- function v() {
6
- if (o) return l;
7
- o = 1;
8
- var a = function(r) {
9
- return s(r) && !y(r);
10
- };
11
- function s(e) {
12
- return !!e && typeof e == "object";
13
- }
14
- function y(e) {
15
- var r = Object.prototype.toString.call(e);
16
- return r === "[object RegExp]" || r === "[object Date]" || m(e);
17
- }
18
- var j = typeof Symbol == "function" && Symbol.for, O = j ? Symbol.for("react.element") : 60103;
19
- function m(e) {
20
- return e.$$typeof === O;
21
- }
22
- function g(e) {
23
- return Array.isArray(e) ? [] : {};
24
- }
25
- function f(e, r) {
26
- return r.clone !== !1 && r.isMergeableObject(e) ? u(g(e), e, r) : e;
27
- }
28
- function M(e, r, t) {
29
- return e.concat(r).map(function(c) {
30
- return f(c, t);
31
- });
32
- }
33
- function p(e, r) {
34
- if (!r.customMerge)
35
- return u;
36
- var t = r.customMerge(e);
37
- return typeof t == "function" ? t : u;
38
- }
39
- function d(e) {
40
- return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(e).filter(function(r) {
41
- return Object.propertyIsEnumerable.call(e, r);
42
- }) : [];
43
- }
44
- function i(e) {
45
- return Object.keys(e).concat(d(e));
46
- }
47
- function b(e, r) {
48
- try {
49
- return r in e;
50
- } catch {
51
- return !1;
52
- }
53
- }
54
- function E(e, r) {
55
- return b(e, r) && !(Object.hasOwnProperty.call(e, r) && Object.propertyIsEnumerable.call(e, r));
56
- }
57
- function A(e, r, t) {
58
- var c = {};
59
- return t.isMergeableObject(e) && i(e).forEach(function(n) {
60
- c[n] = f(e[n], t);
61
- }), i(r).forEach(function(n) {
62
- E(e, n) || (b(e, n) && t.isMergeableObject(r[n]) ? c[n] = p(n, t)(e[n], r[n], t) : c[n] = f(r[n], t));
63
- }), c;
64
- }
65
- function u(e, r, t) {
66
- t = t || {}, t.arrayMerge = t.arrayMerge || M, t.isMergeableObject = t.isMergeableObject || a, t.cloneUnlessOtherwiseSpecified = f;
67
- var c = Array.isArray(r), n = Array.isArray(e), S = c === n;
68
- return S ? c ? t.arrayMerge(e, r, t) : A(e, r, t) : f(r, t);
69
- }
70
- u.all = function(r, t) {
71
- if (!Array.isArray(r))
72
- throw new Error("first argument should be an array");
73
- return r.reduce(function(c, n) {
74
- return u(c, n, t);
75
- }, {});
76
- };
77
- var h = u;
78
- return l = h, l;
79
- }
80
- var I = v();
81
- const P = /* @__PURE__ */ w(I);
82
- export {
83
- P as d
84
- };
85
- //# sourceMappingURL=cjs-D9ro6BXv.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cjs-D9ro6BXv.js","sources":["../../../node_modules/.pnpm/deepmerge@4.3.1/node_modules/deepmerge/dist/cjs.js"],"sourcesContent":["'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n"],"names":["isMergeableObject","value","isNonNullObject","isSpecial","stringValue","isReactElement","canUseSymbol","REACT_ELEMENT_TYPE","emptyTarget","val","cloneUnlessOtherwiseSpecified","options","deepmerge","defaultArrayMerge","target","source","element","getMergeFunction","key","customMerge","getEnumerableOwnPropertySymbols","symbol","getKeys","propertyIsOnObject","object","property","propertyIsUnsafe","mergeObject","destination","sourceIsArray","targetIsArray","sourceAndTargetTypesMatch","array","prev","next","deepmerge_1","cjs"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"components.js","sources":["../src/components/lasso-tool/lasso-tool-inline.tsx","../src/components/measurement-tools/icons.tsx","../src/components/measurement-tools/const.tsx","../src/components/measurement-tools/styles.ts","../src/components/measurement-tools/measurement-tools.tsx","../src/components/geolocation-controls/const.ts","../src/components/geolocation-controls/geolocation-controls.tsx","../src/components/zoom-controls/styles.ts","../src/components/zoom-controls/zoom-controls.tsx","../src/components/list-data/list-data-skeleton.tsx","../src/components/no-data-alert/no-data-alert.tsx","../src/hooks/use-skeleton.ts","../src/components/list-data/styles.ts","../src/components/list-data/list-data.tsx","../src/components/basemaps/styles.ts","../src/components/basemaps/const.ts","../src/components/basemaps/header.tsx","../src/components/basemaps/group-wrapper.tsx","../src/components/basemaps/group.tsx","../src/components/responsive-drawer/responsive-drawer.tsx","../src/components/basemaps/basemaps.tsx"],"sourcesContent":["import {\n Divider,\n Typography,\n SvgIcon,\n ToggleButton,\n Box,\n ToggleButtonGroup,\n Button,\n} from '@mui/material'\nimport { useMemo, type JSX, type MouseEvent, type ReactNode } from 'react'\nimport { styles } from './styles'\nimport type {\n LassoToolsComponentProps,\n LassoToolsInlineComponentProps,\n} from './types'\nimport { LASSO_TOOLS_LABELS } from './const'\nimport type { PickDeep } from 'type-fest'\nimport type { LassoToolsModes } from '../types'\nimport deepmerge from 'deepmerge'\nimport { LassoToolsUIChip } from './chip'\nimport { Tooltip } from '../tooltip/tooltip'\n\nexport function LassoToolsInlineUI({\n enabled,\n values = [],\n chipProps,\n labels,\n modes,\n modesMapping,\n modeSelected,\n BoxProps: { sx, ...BoxProps } = {},\n onChipToggle,\n onDelete,\n onChangeMode,\n onAllChipToggle,\n onAllDelete,\n}: LassoToolsInlineComponentProps): JSX.Element {\n const data = useMemo(() => {\n return deepmerge(modes, modesMapping)\n }, [modes, modesMapping])\n\n const { edit, ..._modes } = data\n\n const handleDelete: LassoToolsComponentProps['onDelete'] = (valueId) => {\n return onDelete(valueId)\n }\n\n const handleClick = (\n evt: MouseEvent<HTMLElement>,\n mode: NonNullable<(typeof modes)[keyof typeof modes]>['value'],\n ) => {\n evt.preventDefault()\n onChangeMode?.(mode)\n }\n\n const modeExists = (modeSelected ?? '') in modes\n\n const mode = (\n modeExists ? modeSelected : Object.keys(data)[0]\n ) as keyof typeof data\n\n const modeSelectedValue = enabled ? data[mode] : null\n\n const modesValues = Object.values(_modes)\n\n return (\n <Box\n sx={{\n ...styles.container,\n ...sx,\n }}\n {...BoxProps}\n className='inline'\n >\n <ModeList data={modesValues} labels={labels?.options}>\n <ToggleButtonGroup\n value={modeSelectedValue?.value}\n exclusive\n className='inline'\n sx={styles.options.menu}\n onChange={handleClick}\n >\n <OptionsList labels={labels?.options} data={modesValues} />\n {!!edit && (\n <>\n <Divider orientation='vertical' />\n <OptionsList\n labels={labels?.options}\n data={[\n {\n ...edit,\n disabled: !values.length,\n },\n ]}\n />\n </>\n )}\n </ToggleButtonGroup>\n </ModeList>\n <Divider flexItem />\n <NoData hasValues={!!values.length} labels={labels?.noData} />\n {!!values.length && (\n <Box sx={styles.chip.container} className='inline'>\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={onChipToggle}\n />\n ))}\n </Box>\n )}\n <Actions\n values={values}\n labels={labels?.actions}\n onAllChipToggle={onAllChipToggle}\n onAllDelete={onAllDelete}\n />\n </Box>\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 className='inline'\n >\n {modeTitle}\n </Typography>\n {children}\n </>\n )\n}\n\nfunction OptionsList({\n data,\n labels,\n}: {\n labels?: PickDeep<LassoToolsComponentProps['labels'], 'options'>['options']\n data: (LassoToolsComponentProps['modes'] &\n LassoToolsComponentProps['modesMapping'])[keyof LassoToolsModes][]\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 <Tooltip key={mode.value} title={label} placement='bottom'>\n <ToggleButton\n disabled={!!mode.disabled}\n value={mode.value}\n aria-label={mode.value}\n >\n <SvgIcon>\n <mode.icon />\n </SvgIcon>\n </ToggleButton>\n </Tooltip>\n )\n })\n}\n\nfunction NoData({\n hasValues,\n labels,\n}: {\n hasValues: boolean\n labels: PickDeep<LassoToolsComponentProps['labels'], 'noData'>['noData']\n}) {\n if (hasValues) {\n return null\n }\n\n const title = labels?.title ?? LASSO_TOOLS_LABELS.noData.title\n const description =\n labels?.description ?? LASSO_TOOLS_LABELS.noData.description\n\n return (\n <>\n <Typography variant='body1' color='textSecondary'>\n {title}\n </Typography>\n <Typography variant='body2' color='textSecondary'>\n {description}\n </Typography>\n </>\n )\n}\n\nfunction Actions({\n values,\n labels,\n onAllChipToggle,\n onAllDelete,\n}: Pick<\n LassoToolsComponentProps,\n 'values' | 'onAllChipToggle' | 'onAllDelete'\n> & {\n labels?: PickDeep<LassoToolsComponentProps['labels'], 'actions'>['actions']\n}) {\n if (values.length <= 1) {\n return null\n }\n\n const hasVisible = values.some((value) => value.visible)\n\n const toggleAllLabel = hasVisible\n ? (labels?.toggleAll?.active ?? LASSO_TOOLS_LABELS.actions.toggleAll.active)\n : (labels?.toggleAll?.inactive ??\n LASSO_TOOLS_LABELS.actions.toggleAll.inactive)\n\n const deleteAllLabel =\n labels?.deleteAll ?? LASSO_TOOLS_LABELS.actions.deleteAll\n\n return (\n <Box>\n <Button color='inherit' onClick={() => onAllChipToggle()}>\n {toggleAllLabel}\n </Button>\n <Button color='error' onClick={() => onAllDelete()}>\n {deleteAllLabel}\n </Button>\n </Box>\n )\n}\n","import type { SVGProps } from 'react'\n\nexport function RulerIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 18 18'\n fill='currentColor'\n {...props}\n >\n <path\n fill='currentColor'\n d='M3 13.5c-.413 0-.766-.147-1.06-.44A1.445 1.445 0 0 1 1.5 12V6c0-.412.147-.766.44-1.06.294-.293.647-.44 1.06-.44h12c.412 0 .766.147 1.06.44.293.294.44.647.44 1.06v6c0 .412-.147.766-.44 1.06-.294.293-.647.44-1.06.44H3ZM3 12h12V6h-2.25v3h-1.5V6h-1.5v3h-1.5V6h-1.5v3h-1.5V6H3v6Z'\n />\n </svg>\n )\n}\n\nexport function BufferIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg\n fill='none'\n xmlns='http://www.w3.org/2000/svg'\n viewBox='0 0 18 18'\n {...props}\n >\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M9 1.5a7.5 7.5 0 1 1 0 15 7.5 7.5 0 0 1 0-15ZM9 3a6 6 0 1 0 0 12A6 6 0 0 0 9 3Zm0 4.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Z'\n clipRule='evenodd'\n />\n </svg>\n )\n}\n\nexport function AreaIcon(props: SVGProps<SVGSVGElement>) {\n return (\n <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M4.5 13.5v-9h9v9h-9Zm.75-8.25h7.5v7.5h-7.5v-7.5Z'\n clipRule='evenodd'\n />\n <path\n fill='#2C3032'\n fillRule='evenodd'\n d='M1.5 3A1.5 1.5 0 0 1 3 1.5h12A1.5 1.5 0 0 1 16.5 3v12a1.5 1.5 0 0 1-1.5 1.5H3A1.5 1.5 0 0 1 1.5 15V3ZM3 3h12v12H3V3Z'\n clipRule='evenodd'\n />\n </svg>\n )\n}\n","import type { RequiredDeep } from 'type-fest'\nimport type {\n MeasurementMode,\n MeasurementModesMapping,\n MeasurementUnitsMapping,\n} from '../types'\nimport type { MeasurementToolsComponentProps } from './types'\nimport { RulerIcon, BufferIcon, AreaIcon } from './icons'\n\nexport const DEFAULT_MEASUREMENT_TOOLS_LABELS: NonNullable<\n RequiredDeep<MeasurementToolsComponentProps['labels']>\n> = {\n action: {\n tooltip: {\n active: 'Click on the map to start measuring',\n inactive: 'Click on the map to start measuring',\n },\n },\n chip: {\n tooltip: {\n active: 'Hide measure',\n inactive: 'Show measure',\n },\n },\n options: {\n mode: {\n title: 'Choose a measuring tool',\n options: {\n distance: 'Measure distance',\n buffer: 'Buffer distance',\n area: 'Area',\n },\n },\n units: {\n title: 'Unit of measurement',\n modal: {\n title: 'Map Measurement Unit',\n subtitle: 'Select the unit of measurement for your measurements',\n apply: 'Save',\n options: {\n metric: {\n title: 'Meters and Kilometers',\n options: {\n 'm-km': 'Auto',\n kilometer: 'Kilometers',\n meter: 'Meter',\n centimeter: 'Centimeter',\n milimeter: 'Milimeter',\n },\n },\n imperial: {\n title: 'Feet and Miles',\n options: {\n 'ft-mi': 'Auto',\n mile: 'Mile',\n feet: 'Feet',\n yard: 'Yard',\n },\n },\n },\n },\n },\n },\n} as const\n\nexport const DEFAULT_MEASUREMENT_TOOLS_UNITS_MAPPING: MeasurementUnitsMapping =\n {\n 'm-km': {\n short: 'm-km',\n },\n kilometer: {\n short: 'km',\n },\n meter: {\n short: 'm',\n },\n centimeter: {\n short: 'cm',\n },\n milimeter: {\n short: 'mm',\n },\n 'ft-mi': {\n short: 'ft-mi',\n },\n mile: {\n short: 'mi',\n },\n yard: {\n short: 'yd',\n },\n feet: {\n short: 'ft',\n },\n } as const\n\nexport const DEFAULT_MEASUREMENT_TOOLS_MODES_MAPPING: MeasurementModesMapping<MeasurementMode> =\n {\n distance: {\n icon: <RulerIcon />,\n },\n buffer: {\n icon: <BufferIcon />,\n },\n area: {\n icon: <AreaIcon />,\n },\n } as const\n","import { alpha, type SxProps, type Theme } from '@mui/material'\nimport type { CSSProperties } from 'react'\n\nexport const styles = {\n container: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-start',\n gap: ({ spacing }) => spacing(1),\n overflow: 'hidden',\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 marginTop: ({ spacing }) => spacing(1),\n },\n icon: {\n width: ({ spacing }) => spacing(3),\n },\n title: {\n paddingX: ({ spacing }) => spacing(2),\n paddingY: ({ spacing }) => spacing(0.5),\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 modal: {\n toggle: {\n boxShadow: 'none',\n backgroundColor: '#F8F9F9',\n padding: ({ spacing }) => spacing(0.5),\n marginTop: ({ spacing }) => spacing(2),\n marginBottom: ({ spacing }) => spacing(1),\n '.MuiToggleButtonGroup-grouped': ({ typography }) =>\n ({\n ...typography.caption,\n fontWeight: 500,\n margin: 0,\n '&:first-of-type:not(.MuiDivider-root)': {\n marginLeft: 0,\n },\n }) as CSSProperties,\n },\n subtitle: ({ typography, palette }) =>\n ({\n ...typography.body2,\n color: palette.text.secondary,\n }) as CSSProperties,\n optionsGroup: {\n marginLeft: ({ spacing }) => spacing(1),\n '.MuiTypography-root': ({ typography }) =>\n ({\n ...typography.body2,\n }) as CSSProperties,\n },\n title: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: ({ spacing }) => spacing(2),\n },\n content: {\n paddingX: ({ spacing }) => spacing(2),\n minWidth: ({ spacing }) => spacing(50),\n },\n actions: {\n paddingX: ({ spacing }) => spacing(2),\n },\n },\n },\n chip: {\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 { ArrowDropDown, Close } from '@mui/icons-material'\nimport {\n Box,\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Divider,\n FormControl,\n FormControlLabel,\n IconButton,\n ListItemIcon,\n ListItemText,\n Menu,\n MenuItem,\n Paper,\n Radio,\n RadioGroup,\n SvgIcon,\n ToggleButton,\n ToggleButtonGroup,\n Typography,\n} from '@mui/material'\nimport {\n useMemo,\n useState,\n type FormEvent,\n type JSX,\n type MouseEvent,\n type PropsWithChildren,\n} from 'react'\nimport { styles } from './styles'\nimport deepmerge from 'deepmerge'\nimport type { MeasurementToolsComponentProps } from './types'\nimport type { PickDeep, ValueOf } from 'type-fest'\nimport {\n DEFAULT_MEASUREMENT_TOOLS_LABELS,\n DEFAULT_MEASUREMENT_TOOLS_UNITS_MAPPING,\n DEFAULT_MEASUREMENT_TOOLS_MODES_MAPPING,\n} from './const'\nimport type {\n MeasurementSystem,\n MeasurementUnit,\n MeasurementUnitImperialDistance,\n MeasurementUnitMetricDistance,\n MeasurementUnitOption,\n MeasureUnitMapping,\n} from '../types'\nimport { Tooltip } from '../tooltip/tooltip'\n\nexport function MeasurementToolsUI({\n enabled,\n actionProps,\n labels = DEFAULT_MEASUREMENT_TOOLS_LABELS,\n modes,\n modesMapping = DEFAULT_MEASUREMENT_TOOLS_MODES_MAPPING,\n unitsMapping = DEFAULT_MEASUREMENT_TOOLS_UNITS_MAPPING,\n modeSelected,\n PaperProps: { sx, ...PaperProps } = {},\n units,\n unitSelected,\n onActionToggle,\n onChangeMode,\n onChangeUnit,\n}: MeasurementToolsComponentProps): JSX.Element {\n const handleToggle: MeasurementToolsComponentProps['onActionToggle'] = (\n data,\n ) => {\n return onActionToggle(!!data)\n }\n\n const data = useMemo(() => {\n return deepmerge(modes, modesMapping)\n }, [modes, modesMapping])\n\n const modeExists = (modeSelected ?? '') in data\n\n const mode = (\n modeExists ? modeSelected : Object.keys(data)[0]\n ) as keyof typeof modes\n\n const modeSelectedValue = data[mode]\n\n const _units = useMemo(() => {\n const option = units[mode]\n const options =\n Object.keys(units).length >= 1 ? units : { [mode]: option.slice(0, 1) }\n return options[mode].map((unit) => {\n return {\n ...unit,\n ...unitsMapping[unit.value],\n }\n })\n }, [mode, units, unitsMapping])\n\n return (\n <Paper\n sx={{\n ...styles.container,\n ...sx,\n }}\n {...PaperProps}\n >\n <Box>\n <MeasurementToolsUIAction\n actionProps={actionProps}\n labels={labels?.action}\n enabled={enabled}\n onActionToggle={handleToggle}\n >\n {modeSelectedValue?.icon}\n </MeasurementToolsUIAction>\n <Options\n labels={labels?.options}\n modes={data}\n modeSelected={mode}\n units={_units}\n unitSelected={unitSelected}\n onChangeMode={onChangeMode}\n onChangeUnit={onChangeUnit}\n />\n </Box>\n </Paper>\n )\n}\n\nfunction MeasurementToolsUIAction({\n actionProps,\n labels,\n enabled,\n children,\n onActionToggle,\n}: PropsWithChildren<\n Pick<\n MeasurementToolsComponentProps,\n 'actionProps' | 'enabled' | 'onActionToggle'\n > & {\n labels?: PickDeep<\n MeasurementToolsComponentProps['labels'],\n 'action'\n >['action']\n }\n>) {\n const actionState = enabled ? 'active' : 'inactive'\n const actionLabel =\n labels?.tooltip?.[actionState] ??\n DEFAULT_MEASUREMENT_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 modes,\n modeSelected,\n units,\n unitSelected,\n labels,\n onChangeMode,\n onChangeUnit,\n}: Required<\n Pick<\n MeasurementToolsComponentProps,\n 'modeSelected' | 'onChangeMode' | 'onChangeUnit'\n >\n> & {\n modes: MeasurementToolsComponentProps['modes'] &\n MeasurementToolsComponentProps['modesMapping']\n units: (MeasurementUnitOption<MeasurementUnit> & MeasureUnitMapping)[]\n unitSelected?: MeasurementToolsComponentProps['unitSelected']\n labels?: PickDeep<\n MeasurementToolsComponentProps['labels'],\n 'options'\n >['options']\n}) {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n const [unitModal, setUnitModal] = useState(false)\n\n const modesAvailable = Object.values(modes)\n const unitsAvailable = Object.values(units)\n\n const hasValues = modesAvailable.length > 1 || unitsAvailable.length > 1\n\n if (!hasValues) {\n return null\n }\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 const handleClick = (\n e: MouseEvent<HTMLLIElement>,\n mode: ValueOf<Required<typeof modes>>,\n ) => {\n e.preventDefault()\n onChangeMode(mode.value)\n handleClose()\n }\n\n const handleClickUnit = () => {\n setUnitModal(true)\n }\n\n const handleCloseModal = () => {\n setUnitModal(false)\n }\n\n const handleApplyModal = (data: string) => {\n handleCloseModal()\n onChangeUnit(data)\n }\n\n const modeTitle =\n labels?.mode?.title ?? DEFAULT_MEASUREMENT_TOOLS_LABELS.options.mode.title\n\n const unitTitle =\n labels?.units?.title ?? DEFAULT_MEASUREMENT_TOOLS_LABELS.options.units.title\n\n const hasDivider = modesAvailable.length > 1 && unitsAvailable.length > 1\n\n const unitSelectedValue = (units.find(\n (unit) => unit.value === unitSelected,\n ) ?? units[0])!\n\n return (\n <>\n <IconButton sx={styles.options.icon} onClick={handleToggle}>\n <ArrowDropDown />\n </IconButton>\n <Menu\n id='measurement-menu'\n anchorEl={anchorEl}\n open={open}\n onClose={handleClose}\n MenuListProps={{\n 'aria-labelledby': 'basic-button',\n sx: styles.options.menu,\n }}\n >\n <div>\n {modesAvailable.length > 1 && (\n <>\n <Typography\n variant='subtitle2'\n color='text.secondary'\n sx={styles.options.title}\n >\n {modeTitle}\n </Typography>\n {modesAvailable.map((mode) => {\n const options =\n labels?.mode?.options ??\n DEFAULT_MEASUREMENT_TOOLS_LABELS.options.mode.options\n const label = options[mode.value]\n\n return (\n <MenuItem\n key={mode.value}\n onClick={(e) => handleClick(e, mode)}\n selected={mode.value === modeSelected}\n >\n <ListItemIcon sx={styles.options.icons}>\n <SvgIcon>{mode.icon}</SvgIcon>\n </ListItemIcon>\n <ListItemText>{label}</ListItemText>\n </MenuItem>\n )\n })}\n </>\n )}\n {hasDivider && <Divider />}\n {unitsAvailable.length > 1 && (\n <>\n <MenuItem onClick={handleClickUnit}>\n <ListItemText>{unitTitle}</ListItemText>\n <Typography\n variant='caption'\n fontWeight={500}\n sx={styles.options.tag}\n >\n {unitSelectedValue.short}\n </Typography>\n </MenuItem>\n <UnitsModal\n open={unitModal}\n labels={labels}\n units={units}\n unitSelectedValue={unitSelectedValue}\n onClose={handleCloseModal}\n onSubmit={handleApplyModal}\n />\n </>\n )}\n </div>\n </Menu>\n </>\n )\n}\n\nfunction UnitsModal({\n open,\n labels,\n units,\n unitSelectedValue,\n onClose,\n onSubmit,\n}: {\n open: boolean\n labels?: PickDeep<\n MeasurementToolsComponentProps['labels'],\n 'options'\n >['options']\n units: MeasurementUnitOption<MeasurementUnit>[]\n unitSelectedValue: MeasurementUnitOption<MeasurementUnit>\n onClose: () => void\n onSubmit: (data: string) => void\n}) {\n const [system, setSystem] = useState<MeasurementSystem>('metric')\n\n const _units = useMemo(() => {\n return units.filter((unit) => unit.system === system)\n }, [system, units])\n\n const handleToggleChange = (\n _: MouseEvent<HTMLElement>,\n value: MeasurementSystem,\n ) => {\n setSystem(value)\n }\n\n const _labels =\n labels?.units?.modal?.options ??\n DEFAULT_MEASUREMENT_TOOLS_LABELS.options.units.modal.options\n\n const labelsBySystem = _labels[system].options\n\n const modalUnitTitle =\n labels?.units?.modal?.title ??\n DEFAULT_MEASUREMENT_TOOLS_LABELS.options.units.modal.title\n const modalUnitSubtitle =\n labels?.units?.modal?.subtitle ??\n DEFAULT_MEASUREMENT_TOOLS_LABELS.options.units.modal.subtitle\n const modalUnitApply =\n labels?.units?.modal?.apply ??\n DEFAULT_MEASUREMENT_TOOLS_LABELS.options.units.modal.apply\n\n const _unitSelectedValue =\n unitSelectedValue.system === system ? unitSelectedValue : _units[0]\n\n return (\n <Dialog\n open={open}\n component={Box}\n onClose={onClose}\n maxWidth='xs'\n PaperProps={{\n component: 'form',\n onSubmit: (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n const formData = new FormData(e.currentTarget)\n onSubmit(formData.get('unit-value') as string)\n },\n }}\n >\n <DialogTitle sx={styles.options.modal.title}>\n {modalUnitTitle}\n <IconButton onClick={onClose}>\n <Close />\n </IconButton>\n </DialogTitle>\n <DialogContent sx={styles.options.modal.content}>\n <Typography sx={styles.options.modal.subtitle}>\n {modalUnitSubtitle}\n </Typography>\n <ToggleButtonGroup\n color='primary'\n value={system}\n exclusive={true}\n fullWidth={true}\n onChange={handleToggleChange}\n aria-label='system'\n sx={styles.options.modal.toggle}\n >\n <ToggleButton value='metric'>{_labels.metric.title}</ToggleButton>\n <ToggleButton value='imperial'>{_labels.imperial.title}</ToggleButton>\n </ToggleButtonGroup>\n <FormControl key={_unitSelectedValue?.value}>\n <RadioGroup\n aria-labelledby='unit-value'\n defaultValue={_unitSelectedValue?.value}\n name='unit-value'\n sx={styles.options.modal.optionsGroup}\n >\n {_units.map((unit) => {\n const label =\n labelsBySystem[\n unit.value as MeasurementUnitMetricDistance &\n MeasurementUnitImperialDistance\n ]\n\n return (\n <FormControlLabel\n key={unit.value}\n value={unit.value}\n control={<Radio />}\n label={label}\n />\n )\n })}\n </RadioGroup>\n </FormControl>\n </DialogContent>\n <DialogActions sx={styles.options.modal.actions}>\n <Button variant='contained' type='submit'>\n {modalUnitApply}\n </Button>\n </DialogActions>\n </Dialog>\n )\n}\n","export const tooltipLabelsDefault = {\n enabled: 'Show your current location',\n disabled: 'Location unavailable',\n}\n\nexport const ariaLabel = 'geolocation'\n","import { Paper, IconButton } from '@mui/material'\nimport {\n MyLocationOutlined,\n LocationDisabledOutlined,\n} from '@mui/icons-material'\nimport type { GeolocationControlProps } from './types'\nimport { useCallback, useEffect, useRef, useState, type JSX } from 'react'\nimport { ariaLabel, tooltipLabelsDefault } from './const'\nimport { Tooltip } from '../tooltip/tooltip'\n\nexport function GeolocationControls({\n disabled,\n labels,\n PaperProps,\n TooltipProps,\n watch,\n onChange,\n onError,\n}: GeolocationControlProps): JSX.Element {\n const watchRef = useRef<number>(null)\n const hasGeolocation = 'geolocation' in navigator\n const [allowed, setAllowed] = useState(hasGeolocation)\n\n useEffect(() => {\n if (hasGeolocation) {\n navigator.permissions\n .query({ name: 'geolocation' })\n .then((result) => {\n setAllowed(result.state === 'granted')\n result.onchange = () => {\n setAllowed(result.state === 'granted')\n }\n })\n .catch((error: Parameters<PositionErrorCallback>[0]) => {\n setAllowed(false)\n onError?.(error)\n })\n }\n\n return () => {\n if (watchRef.current) {\n navigator.geolocation.clearWatch(watchRef.current)\n }\n }\n }, [hasGeolocation, onError])\n\n const success = useCallback(\n (position: Parameters<PositionCallback>[0]) => {\n onChange(position.coords)\n },\n [onChange],\n )\n\n const error = useCallback(\n (error: Parameters<PositionErrorCallback>[0]) => {\n setAllowed(false)\n onError?.(error)\n },\n [onError],\n )\n\n const handleClick = useCallback(() => {\n if (watchRef.current) {\n navigator.geolocation.clearWatch(watchRef.current)\n }\n\n if (watch) {\n watchRef.current = navigator.geolocation.watchPosition(success, error)\n return\n }\n\n navigator.geolocation.getCurrentPosition(success, error)\n }, [watch, success, error])\n\n const tooltipLabels = labels?.tooltip ?? tooltipLabelsDefault\n\n return (\n <Paper {...PaperProps}>\n <Tooltip\n arrow\n placement='right'\n title={tooltipLabels[allowed ? 'enabled' : 'disabled']}\n {...TooltipProps}\n >\n <IconButton\n onClick={handleClick}\n aria-label={labels?.ariaLabel ?? ariaLabel}\n disabled={!hasGeolocation || disabled}\n >\n {allowed ? <MyLocationOutlined /> : <LocationDisabledOutlined />}\n </IconButton>\n </Tooltip>\n </Paper>\n )\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const styles = {\n zoom: {\n position: 'relative',\n height: ({ spacing }) => spacing(4),\n aspectRatio: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n paper: {\n display: 'flex',\n backgroundColor: ({ palette }) => palette.background.paper,\n width: 'auto',\n overflow: 'hidden',\n boxShadow: ({ shadows }) => shadows[1],\n borderRadius: ({ spacing }) => spacing(0.5),\n\n button: {\n borderRadius: 0,\n },\n },\n circularProgress: {\n position: 'absolute',\n },\n} satisfies Record<string, SxProps<Theme>>\n","import {\n IconButton,\n Divider,\n Box,\n Typography,\n CircularProgress,\n Paper,\n} from '@mui/material'\nimport {\n AddOutlined,\n RemoveOutlined,\n CropFreeOutlined,\n} from '@mui/icons-material'\nimport { styles } from './styles'\nimport type { ZoomControlProps } from './types'\nimport { useCallback, type JSX } from 'react'\n\nexport function ZoomControlsUI({\n zoom,\n disabled,\n direction = 'vertical',\n reverse = false,\n isLoading,\n maxZoom = 24,\n minZoom = 0,\n PaperProps,\n ResetViewProps = {\n Icon: CropFreeOutlined,\n },\n showZoom = true,\n onChange,\n onReset,\n}: ZoomControlProps): JSX.Element {\n const increaseZoom = useCallback(() => {\n const newZoom = Math.min(maxZoom, zoom + 1)\n onChange(newZoom)\n }, [maxZoom, onChange, zoom])\n\n const decreaseZoom = useCallback(() => {\n const newZoom = Math.max(minZoom, zoom - 1)\n onChange(newZoom)\n }, [minZoom, onChange, zoom])\n\n const displayZoom = Math.floor(zoom)\n\n const dividerOrientation =\n direction === 'vertical' ? 'horizontal' : 'vertical'\n\n let flexDirection = direction === 'vertical' ? 'column' : 'row'\n\n if (reverse) {\n flexDirection += '-reverse'\n }\n\n return (\n <Paper\n sx={{\n ...styles.paper,\n flexDirection,\n }}\n {...PaperProps}\n >\n {onReset && (\n <>\n <IconButton\n onClick={onReset}\n aria-label='Reset action'\n disabled={disabled}\n >\n <ResetViewProps.Icon />\n </IconButton>\n <Divider orientation={dividerOrientation} flexItem />\n </>\n )}\n <IconButton\n onClick={increaseZoom}\n aria-label='Increase zoom'\n disabled={disabled}\n >\n <AddOutlined />\n </IconButton>\n <Divider orientation={dividerOrientation} flexItem />\n {showZoom && (\n <>\n <Box sx={styles.zoom}>\n <Typography\n display='block'\n align='center'\n color='textSecondary'\n variant='overline'\n >\n {displayZoom}\n </Typography>\n {isLoading && (\n <CircularProgress\n sx={styles.circularProgress}\n variant='indeterminate'\n size={24}\n />\n )}\n </Box>\n <Divider orientation={dividerOrientation} flexItem />\n </>\n )}\n <IconButton\n onClick={decreaseZoom}\n aria-label='Decrease zoom'\n disabled={disabled}\n >\n <RemoveOutlined />\n </IconButton>\n </Paper>\n )\n}\n","import { Box, Grid, Skeleton } from '@mui/material'\n\ninterface ListDataSkeletonProps {\n length?: number\n}\n\nexport function ListDataSkeleton({ length = 5 }: ListDataSkeletonProps) {\n return (\n <Box aria-label='List Data skeleton'>\n {new Array(length).fill(null).map((_, idx) => (\n <Grid key={idx} container spacing={1}>\n <Grid\n container\n item\n direction='row'\n justifyContent='space-between'\n alignItems='center'\n >\n <Skeleton width={isOdd(idx) ? 72 : 48} height={20} />\n <Skeleton width={48} height={8} />\n </Grid>\n\n <Skeleton\n sx={{\n height: ({ spacing }) => spacing(0.5),\n marginTop: ({ spacing }) => spacing(1.25),\n marginBottom: ({ spacing }) => spacing(1.75),\n width: '100%',\n }}\n />\n </Grid>\n ))}\n </Box>\n )\n}\n\n// Aux\nfunction isOdd(num: number) {\n return num % 2 === 1\n}\n","import {\n Alert,\n Box,\n Typography,\n type AlertProps,\n type TypographyProps,\n} from '@mui/material'\n\ninterface NoDataAlertProps {\n title?: string\n body?: string\n severity?: AlertProps['severity']\n}\n\nexport function NoDataAlert({\n title = 'No data available',\n body = '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 the Map View.',\n severity,\n}: NoDataAlertProps) {\n if (severity) {\n return (\n <Alert title={title} severity={severity}>\n <AlertBody>{body}</AlertBody>\n </Alert>\n )\n }\n\n return (\n <Box>\n {title && <Typography variant='body2'>{title}</Typography>}\n <AlertBody color='textSecondary'>{body}</AlertBody>\n </Box>\n )\n}\n\n// Aux\ninterface AlertBodyProps {\n color?: TypographyProps['color']\n children: React.ReactNode\n}\n\nfunction AlertBody({ color, children }: AlertBodyProps) {\n if (children) {\n return (\n <Box mt={0.5}>\n <Typography\n component='div'\n variant='caption'\n color={color ?? 'inherit'}\n style={{ fontWeight: 'normal' }}\n >\n {children}\n </Typography>\n </Box>\n )\n }\n\n return <Box mt={-1} />\n}\n","import { useState } from 'react'\n\nexport function useSkeleton(isLoading: boolean) {\n // Track render phase: 0=never shown, 1=showing now, 2=already shown\n const [phase, setPhase] = useState(() => (isLoading ? 1 : 0))\n\n // Transition from phase 0 to 1 when loading starts\n if (isLoading && phase === 0) {\n setPhase(1)\n }\n\n // Transition from phase 1 to 2 when loading ends (skeleton was shown, now done)\n if (!isLoading && phase === 1) {\n setPhase(2)\n }\n\n // Show skeleton only in phase 1 (first time loading)\n return phase === 1\n}\n","import { type SxProps, type Theme } from '@mui/material'\n\nconst ellipsed = {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n}\n\nexport const styles = {\n label: {\n '& .MuiListItemText-primary': {\n ...ellipsed,\n },\n },\n value: {\n '& .MuiListItemText-primary': {\n ...ellipsed,\n textAlign: 'right',\n },\n },\n clickable: {\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: ({ palette }) => palette.action.hover,\n },\n },\n showDivider: {\n borderBottom: ({ palette }) => `1px solid ${palette.divider}`,\n },\n selected: {\n backgroundColor: ({ palette }) => palette.action.selected,\n },\n disabled: {\n opacity: 0.5,\n pointerEvents: 'none',\n },\n} satisfies Record<string, SxProps<Theme>>\n","import { useState, useMemo, type JSX } from 'react'\nimport { Box, Button, Grid, ListItem, List, ListItemText } from '@mui/material'\nimport { ListDataSkeleton } from './list-data-skeleton'\nimport { NoDataAlert } from '../no-data-alert/no-data-alert'\nimport { useSkeleton } from '../../hooks/use-skeleton'\nimport type { ListDataProps } from './types'\nimport { styles } from './styles'\nimport { SmartTooltip } from '../smart-tooltip/smart-tooltip'\n\nconst DEFAULT_LABELS = {\n showMore: 'Show More',\n showLess: 'Show Less',\n} as const\n\nexport function ListDataUI({\n data = [],\n isLoading = false,\n maxItems = 5,\n labels = DEFAULT_LABELS,\n showDivider = true,\n selectedItemId,\n tooltipProps,\n onExpand,\n onItemClick,\n}: ListDataProps): JSX.Element {\n const [showAll, setShowAll] = useState(false)\n\n const showSkeleton = useSkeleton(isLoading)\n\n const items = useMemo(() => {\n return showAll ? data : data.slice(0, maxItems)\n }, [data, maxItems, showAll])\n\n const handleToggle = () => {\n setShowAll(!showAll)\n onExpand?.(showAll)\n }\n\n if (showSkeleton) {\n return <ListDataSkeleton length={maxItems} />\n }\n\n if (items.length === 0) {\n return <NoDataAlert />\n }\n\n return (\n <>\n <List id='expandable-list' role='list'>\n {items.map((item, idx) => (\n <SmartTooltip<HTMLLIElement>\n // Default tooltip props\n followCursor={false}\n key={`list-item-${idx}`}\n placement='top'\n arrow\n title={item.tooltipTitle}\n enterDelay={10}\n // Custom tooltip props\n {...tooltipProps}\n >\n {({ ref }) => (\n <ListItem\n ref={ref}\n role='listitem'\n sx={{\n ...(showDivider && styles.showDivider),\n ...(onItemClick && styles.clickable),\n ...(selectedItemId === item.id && styles.selected),\n ...(item.disabled && styles.disabled),\n }}\n onClick={() => {\n if (item.disabled) return\n onItemClick?.(item)\n }}\n >\n <Grid container alignItems='center'>\n <Grid item xs={8}>\n <ListItemText primary={item.label} sx={styles.label} />\n </Grid>\n <Grid item xs={4}>\n <ListItemText primary={item.value} sx={styles.value} />\n </Grid>\n </Grid>\n </ListItem>\n )}\n </SmartTooltip>\n ))}\n </List>\n\n {data.length > maxItems && (\n <Box my={2}>\n <Button\n onClick={handleToggle}\n variant='text'\n color='primary'\n aria-expanded={showAll}\n aria-controls='expandable-list'\n >\n {showAll ? labels.showLess : labels.showMore}\n </Button>\n </Box>\n )}\n </>\n )\n}\n","import type { SxProps, Theme } from '@mui/material'\n\nexport const BASEMAPS_WIDTH = 288\n\nexport const styles = {\n root: {\n width: BASEMAPS_WIDTH,\n overflow: 'auto',\n },\n toggle: {\n padding: ({ spacing }) => spacing(0.5),\n\n img: {\n width: '100%',\n aspectRatio: '1 / 1',\n borderRadius: ({ spacing }) => spacing(0.25),\n },\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: ({ spacing }) => spacing(1),\n paddingInlineStart: ({ spacing }) => spacing(2),\n position: 'sticky',\n top: 0,\n zIndex: 2,\n background: ({ palette }) => palette.background.paper,\n },\n groupWrapper: {\n content: {\n paddingInline: ({ spacing }) => spacing(2),\n paddingBlock: ({ spacing }) => spacing(0.5),\n },\n },\n group: {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n alignItems: 'center',\n gap: ({ spacing }) => spacing(2),\n paddingInline: ({ spacing }) => spacing(2),\n paddingBlock: ({ spacing }) => spacing(1),\n },\n item: {\n container: {\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'column',\n gap: ({ spacing }) => spacing(1),\n background: 'transparent',\n border: 'none',\n cursor: 'pointer',\n padding: 0,\n height: ({ spacing }) => spacing(12),\n\n img: {\n maxWidth: ({ spacing }) => spacing(9),\n aspectRatio: '1 / 1',\n borderRadius: ({ spacing }) => spacing(0.5),\n border: `2px solid transparent`,\n\n '&:hover': {\n borderColor: ({ palette }) => palette.action.active,\n },\n\n '&[data-active=\"true\"]': {\n borderColor: ({ palette }) => palette.primary.main,\n },\n },\n },\n selected: {\n color: ({ palette }) => palette.primary.main,\n },\n },\n} satisfies Record<string, SxProps<Theme>>\n","import type { BasemapsUILabels } from './types'\n\nexport const DEFAULT_BASEMAPS_LABELS: BasemapsUILabels = {\n toggle: {\n title: 'Toggle basemaps controls',\n },\n header: {\n title: 'Basemaps',\n actions: {\n close: 'Close',\n },\n },\n}\n","import { Close } from '@mui/icons-material'\nimport { Box, Typography, IconButton } from '@mui/material'\nimport { styles } from './styles'\nimport type { BasemapsUILabels } from './types'\nimport { Tooltip } from '../tooltip/tooltip'\n\nexport function Header({\n isMobile = false,\n labels,\n onChangeCollapsed,\n}: {\n labels: BasemapsUILabels['header']\n isMobile?: boolean\n onChangeCollapsed: () => void\n}) {\n return (\n <Box sx={styles.header}>\n {isMobile && (\n <>\n <Typography variant='caption' flexGrow={1}>\n {labels.title}\n </Typography>\n <Tooltip title={labels.actions.close}>\n <IconButton\n size='small'\n onClick={onChangeCollapsed}\n aria-label={labels.actions.close}\n >\n <Close />\n </IconButton>\n </Tooltip>\n </>\n )}\n </Box>\n )\n}\n","import { Typography } from '@mui/material'\nimport type { ReactNode } from 'react'\nimport { styles } from './styles'\n\nexport function GroupWrapper({\n title,\n children,\n collapsed = false,\n}: {\n title: string\n children: ReactNode\n collapsed?: boolean\n}) {\n if (collapsed) return children\n\n return (\n <>\n <Typography\n variant='caption'\n color='textSecondary'\n sx={styles.groupWrapper.content}\n >\n {title}\n </Typography>\n {children}\n </>\n )\n}\n","import { Box, Typography } from '@mui/material'\nimport { styles } from './styles'\nimport type { BasemapOption } from './types'\n\nexport function Group({\n values,\n selected,\n onChange,\n}: {\n values: Omit<BasemapOption, 'group'>[]\n selected: string | null | undefined\n onChange: (id: string) => void\n}) {\n return (\n <Box sx={styles.group}>\n {values.map((option) => {\n const isSelected = option.id === selected\n return (\n <Box\n key={option.id}\n sx={styles.item.container}\n component='button'\n aria-label={option.label}\n onClick={() => onChange(option.id)}\n >\n <img\n src={option.icon}\n aria-label={option.label + ' icon'}\n data-active={isSelected}\n />\n <Typography\n variant='caption'\n sx={{ ...(isSelected && styles.item.selected) }}\n >\n {option.label}\n </Typography>\n </Box>\n )\n })}\n </Box>\n )\n}\n","import { Drawer, Popover, type PopoverProps } from '@mui/material'\nimport type { ReactNode } from 'react'\n\nexport function ResponsiveDrawer<\n T extends {\n collapsed: boolean\n onChangeCollapsed: (collapsed: boolean) => void\n position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n slotProps?: PopoverProps['slotProps']\n },\n>({\n ref,\n children,\n collapsed,\n isMobile = false,\n position,\n sx,\n slotProps,\n onChangeCollapsed,\n}: Required<Pick<T, 'collapsed' | 'onChangeCollapsed' | 'position'>> &\n Pick<PopoverProps, 'slotProps' | 'sx'> & {\n ref: HTMLElement | null\n isMobile: boolean\n children: ReactNode\n }) {\n if (isMobile) {\n return (\n <Drawer anchor='bottom' open={!collapsed} onClose={onChangeCollapsed}>\n {children}\n </Drawer>\n )\n }\n\n return (\n <Popover\n sx={sx}\n anchorEl={ref}\n open={!collapsed}\n onClose={() => onChangeCollapsed(true)}\n anchorOrigin={{\n vertical: position.startsWith('bottom') ? 'bottom' : 'top',\n horizontal: position.endsWith('right') ? 'left' : 'right',\n }}\n transformOrigin={{\n vertical: position.startsWith('bottom') ? 'bottom' : 'top',\n horizontal: position.endsWith('right') ? 'right' : 'left',\n }}\n slotProps={slotProps}\n >\n {children}\n </Popover>\n )\n}\n","import { IconButton, Paper, useMediaQuery, useTheme } from '@mui/material'\nimport type { BasemapsUIProps } from './types'\nimport { useEffect, useRef, useState, type JSX } from 'react'\nimport { styles } from './styles'\nimport deepmerge from 'deepmerge'\nimport { DEFAULT_BASEMAPS_LABELS } from './const'\nimport { Header } from './header'\nimport { GroupWrapper } from './group-wrapper'\nimport { Group } from './group'\nimport { ResponsiveDrawer } from '../responsive-drawer/responsive-drawer'\nimport { Tooltip } from '../tooltip/tooltip'\n\nexport function BasemapsUI({\n options = [],\n labels: _labels,\n position = 'bottom-right',\n selected = null,\n onChange,\n TooltipProps,\n}: BasemapsUIProps): JSX.Element {\n const [toggleRef, setToggleRef] = useState<HTMLButtonElement | null>(null)\n const [isOpen, setIsOpen] = useState(false)\n const timeoutRef = useRef<NodeJS.Timeout | null>(null)\n const [timer, setTimer] = useState<number | null>(null)\n const theme = useTheme()\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'))\n const labels = deepmerge(DEFAULT_BASEMAPS_LABELS, _labels ?? {})\n\n const optionSelected = options.find((option) => option.id === selected)\n\n const groups = Object.groupBy(options, (option) => option.group ?? 'default')\n\n const groupCount = Object.keys(groups).length\n\n const handleClose = () => {\n setToggleRef(null)\n setIsOpen(false)\n }\n\n useEffect(() => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n\n if (!timer) {\n return\n }\n\n timeoutRef.current = setTimeout(() => {\n handleClose()\n return\n }, timer)\n\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n }\n }, [timer])\n\n const handleMouseOver = () => {\n setTimer(null)\n }\n const handleMouseLeave = () => {\n setTimer(400)\n }\n\n return (\n <Paper>\n <Tooltip title={labels.toggle.title} placement='right' {...TooltipProps}>\n <IconButton\n sx={styles.toggle}\n onClick={(e) => {\n setToggleRef(e.currentTarget as HTMLButtonElement)\n setIsOpen(true)\n }}\n >\n <img\n src={optionSelected?.icon}\n alt={optionSelected?.label ?? 'Basemap'}\n />\n </IconButton>\n </Tooltip>\n\n <ResponsiveDrawer\n ref={toggleRef}\n slotProps={{\n paper: {\n sx: {\n ...styles.root,\n transform: `translate3d(${position.endsWith('right') ? '-8px' : '8px'}, ${\n position.startsWith('bottom') ? '-4px' : '4px'\n }, 0) !important`,\n },\n onMouseOver: handleMouseOver,\n onMouseLeave: handleMouseLeave,\n },\n }}\n collapsed={!isOpen}\n position={position}\n isMobile={isMobile}\n onChangeCollapsed={() => handleClose()}\n >\n <Header\n isMobile={isMobile}\n labels={labels.header}\n onChangeCollapsed={() => handleClose()}\n />\n {Object.entries(groups).map(([group, values]) => (\n <GroupWrapper\n key={group}\n title={group + ' ' + labels.header.title}\n collapsed={groupCount < 2}\n >\n <Group\n values={values!}\n selected={selected}\n onChange={(e) => {\n handleClose()\n onChange(e)\n }}\n />\n </GroupWrapper>\n ))}\n </ResponsiveDrawer>\n </Paper>\n )\n}\n"],"names":["LassoToolsInlineUI","t0","$","_c","enabled","values","t1","chipProps","labels","modes","modesMapping","modeSelected","BoxProps","t2","onChipToggle","onDelete","onChangeMode","onAllChipToggle","onAllDelete","t3","undefined","t4","sx","t5","deepmerge","data","_modes","edit","t6","valueId","handleDelete","t7","evt","mode","preventDefault","handleClick","mode_0","Object","keys","modeSelectedValue","t8","modesValues","t9","styles","container","t10","options","t11","value","t12","t13","jsx","OptionsList","t14","length","jsxs","Fragment","Divider","disabled","t15","ToggleButtonGroup","menu","t16","ModeList","t17","Symbol","for","t18","t19","noData","t20","NoData","t21","chip","Box","map","LassoToolsUIChip","id","t22","actions","t23","Actions","t24","children","modeTitle","title","LASSO_TOOLS_LABELS","Typography","label","Tooltip","ToggleButton","SvgIcon","hasValues","description","toggleAllLabel","some","_temp","toggleAll","active","inactive","deleteAllLabel","deleteAll","Button","visible","RulerIcon","props","BufferIcon","AreaIcon","DEFAULT_MEASUREMENT_TOOLS_LABELS","action","tooltip","distance","buffer","area","units","modal","subtitle","apply","metric","kilometer","meter","centimeter","milimeter","imperial","mile","feet","yard","DEFAULT_MEASUREMENT_TOOLS_UNITS_MAPPING","short","DEFAULT_MEASUREMENT_TOOLS_MODES_MAPPING","icon","display","flexDirection","alignItems","justifyContent","gap","spacing","overflow","width","height","borderRadius","marginTop","paddingX","paddingY","icons","color","palette","text","primary","tag","border","borderColor","main","backgroundColor","alpha","toggle","boxShadow","padding","marginBottom",".MuiToggleButtonGroup-grouped","typography","caption","fontWeight","margin","marginLeft","body2","secondary","optionsGroup",".MuiTypography-root","content","minWidth","MeasurementToolsUI","actionProps","unitsMapping","PaperProps","unitSelected","onActionToggle","onChangeUnit","handleToggle","data_0","modeExists","option","slice","unit","_units","MeasurementToolsUIAction","Options","Paper","actionState","actionLabel","TooltipProps","anchorEl","setAnchorEl","useState","unitModal","setUnitModal","modesAvailable","unitsAvailable","open","Boolean","event","currentTarget","handleClose","e","handleClickUnit","handleCloseModal","handleApplyModal","unitTitle","hasDivider","find","unitSelectedValue","IconButton","ArrowDropDown","MenuItem","e_0","ListItemIcon","ListItemText","UnitsModal","Menu","onClose","onSubmit","system","setSystem","filter","_","handleToggleChange","_labels","labelsBySystem","modalUnitTitle","modalUnitSubtitle","modalUnitApply","_unitSelectedValue","component","formData","FormData","get","Close","DialogTitle","unit_0","FormControlLabel","Radio","RadioGroup","FormControl","DialogContent","DialogActions","Dialog","tooltipLabelsDefault","ariaLabel","GeolocationControls","watch","onChange","onError","watchRef","useRef","hasGeolocation","navigator","allowed","setAllowed","permissions","query","name","then","result","state","onchange","catch","error","current","geolocation","clearWatch","useEffect","position","coords","success","error_0","error_1","watchPosition","getCurrentPosition","MyLocationOutlined","LocationDisabledOutlined","zoom","aspectRatio","paper","background","shadows","button","circularProgress","ZoomControlsUI","direction","reverse","isLoading","maxZoom","minZoom","ResetViewProps","showZoom","onReset","Icon","CropFreeOutlined","newZoom","Math","min","increaseZoom","newZoom_0","max","decreaseZoom","displayZoom","floor","dividerOrientation","AddOutlined","CircularProgress","RemoveOutlined","ListDataSkeleton","Array","fill","_temp4","idx","Grid","Skeleton","isOdd","_temp2","_temp3","spacing_1","spacing_0","num","NoDataAlert","body","severity","AlertBody","Alert","useSkeleton","phase","setPhase","ellipsed","textOverflow","whiteSpace","textAlign","clickable","cursor","hover","showDivider","borderBottom","divider","selected","opacity","pointerEvents","DEFAULT_LABELS","showMore","showLess","ListDataUI","maxItems","selectedItemId","tooltipProps","onExpand","onItemClick","showAll","setShowAll","showSkeleton","items","item","SmartTooltip","tooltipTitle","ref","ListItem","List","BASEMAPS_WIDTH","root","img","header","paddingInlineStart","top","zIndex","groupWrapper","paddingInline","paddingBlock","group","flexWrap","maxWidth","DEFAULT_BASEMAPS_LABELS","close","Header","isMobile","onChangeCollapsed","GroupWrapper","collapsed","Group","isSelected","ResponsiveDrawer","slotProps","Drawer","startsWith","endsWith","vertical","horizontal","Popover","BasemapsUI","toggleRef","setToggleRef","isOpen","setIsOpen","timeoutRef","timer","setTimer","theme","useTheme","breakpoints","down","useMediaQuery","optionSelected","groupBy","groups","groupCount","clearTimeout","setTimeout","handleMouseOver","handleMouseLeave","transform","onMouseOver","onMouseLeave","t25","t26","t27","entries","t28","t29","t30","option_0"],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- import { jsx as d, jsxs as a } from "react/jsx-runtime";
2
- import { c as f } from "react/compiler-runtime";
3
- import { AlertTitle as m, Alert as h } from "@mui/material";
4
- import { u } from "./widget-store-CB6Trp_0.js";
5
- import { useShallow as p } from "zustand/shallow";
6
- function W(g) {
7
- const r = f(7), {
8
- id: l,
9
- children: c
10
- } = g;
11
- let s;
12
- r[0] !== l ? (s = (o) => {
13
- const e = o.widgets[l];
14
- return {
15
- isLoading: e?.isLoading,
16
- isFetching: e?.isFetching,
17
- error: e?.error
18
- };
19
- }, r[0] = l, r[1] = s) : s = r[1];
20
- const i = u(p(s));
21
- if (i?.isLoading || i?.isFetching)
22
- return c;
23
- if (i?.error) {
24
- const o = i.error.title ?? "Error", e = i.error.message ?? "An error occurred while loading the widget. Please try again.";
25
- let t;
26
- r[2] !== o ? (t = /* @__PURE__ */ d(m, { children: o }), r[2] = o, r[3] = t) : t = r[3];
27
- let n;
28
- return r[4] !== e || r[5] !== t ? (n = /* @__PURE__ */ a(h, { severity: "error", children: [
29
- t,
30
- e
31
- ] }), r[4] = e, r[5] = t, r[6] = n) : n = r[6], n;
32
- }
33
- return c;
34
- }
35
- export {
36
- W
37
- };
38
- //# sourceMappingURL=error-B2IJ9d2h.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-B2IJ9d2h.js","sources":["../src/widgets/error/error.tsx"],"sourcesContent":["import { Alert, AlertTitle } from '@mui/material'\nimport { useWidgetStore } from '../stores/widget-store'\nimport { useShallow } from 'zustand/shallow'\nimport type { WidgetErrorProps } from './types'\n\nexport function WidgetError({ id, children }: WidgetErrorProps) {\n const widget = useWidgetStore(\n useShallow((state) => {\n const w = state.widgets[id]\n return {\n isLoading: w?.isLoading,\n isFetching: w?.isFetching,\n error: w?.error,\n }\n }),\n )\n\n // Don't show error during loading/fetching states\n if (widget?.isLoading || widget?.isFetching) {\n return children\n }\n\n // Show error UI if error exists\n if (widget?.error) {\n const errorTitle = widget.error.title ?? 'Error'\n const errorMessage =\n widget.error.message ??\n 'An error occurred while loading the widget. Please try again.'\n\n return (\n <Alert severity='error'>\n <AlertTitle>{errorTitle}</AlertTitle>\n {errorMessage}\n </Alert>\n )\n }\n\n // No error, render children\n return children\n}\n"],"names":["WidgetError","t0","$","_c","id","children","t1","state","w","widgets","isLoading","isFetching","error","widget","useWidgetStore","useShallow","errorTitle","title","errorMessage","message","t2","AlertTitle","t3","jsxs","Alert"],"mappings":";;;;;AAKO,SAAAA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAAqB;AAAA,IAAAC,IAAAA;AAAAA,IAAAC,UAAAA;AAAAA,EAAAA,IAAAJ;AAAkC,MAAAK;AAAA,EAAAJ,SAAAE,KAE/CE,IAAAC,CAAAA,MAAA;AACT,UAAAC,IAAUD,EAAKE,QAASL,CAAE;AAAC,WACpB;AAAA,MAAAM,WACMF,GAACE;AAAAA,MAAWC,YACXH,GAACG;AAAAA,MAAYC,OAClBJ,GAACI;AAAAA,IAAAA;AAAAA,EACT,GACFV,OAAAE,GAAAF,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AARH,QAAAW,IAAeC,EACbC,EAAWT,CAOV,CACH;AAGA,MAAIO,GAAMH,aAAeG,GAAMF;AAAY,WAClCN;AAIT,MAAIQ,GAAMD,OAAO;AACf,UAAAI,IAAmBH,EAAMD,MAAMK,SAAZ,SACnBC,IACEL,EAAMD,MAAMO,WAAZ;AAC+D,QAAAC;AAAA,IAAAlB,SAAAc,KAI7DI,sBAACC,kBAAuB,GAAanB,OAAAc,GAAAd,OAAAkB,KAAAA,IAAAlB,EAAA,CAAA;AAAA,QAAAoB;AAAA,WAAApB,EAAA,CAAA,MAAAgB,KAAAhB,SAAAkB,KADvCE,IAAA,gBAAAC,EAACC,GAAA,EAAe,UAAA,SACdJ,UAAAA;AAAAA,MAAAA;AAAAA,MACCF;AAAAA,IAAAA,GACH,GAAQhB,OAAAgB,GAAAhB,OAAAkB,GAAAlB,OAAAoB,KAAAA,IAAApB,EAAA,CAAA,GAHRoB;AAAAA,EAGQ;AAEX,SAGMjB;AAAQ;"}