@gooddata/sdk-ui-geo 11.11.0-alpha.2 → 11.11.0-alpha.3

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 (209) hide show
  1. package/esm/next/GeoAreaChart.d.ts +33 -0
  2. package/esm/next/GeoAreaChart.d.ts.map +1 -0
  3. package/esm/next/GeoAreaChart.js +65 -0
  4. package/esm/next/GeoAreaChart.js.map +1 -0
  5. package/esm/next/GeoPushpinChartNext.js +2 -2
  6. package/esm/next/GeoPushpinChartNext.js.map +1 -1
  7. package/esm/next/RenderGeoAreaChart.d.ts +15 -0
  8. package/esm/next/RenderGeoAreaChart.d.ts.map +1 -0
  9. package/esm/next/RenderGeoAreaChart.js +104 -0
  10. package/esm/next/RenderGeoAreaChart.js.map +1 -0
  11. package/esm/next/RenderGeoPushpinChart.d.ts.map +1 -1
  12. package/esm/next/RenderGeoPushpinChart.js.map +1 -1
  13. package/esm/next/components/legends/Legend.js +1 -1
  14. package/esm/next/components/legends/Legend.js.map +1 -1
  15. package/esm/next/components/legends/types.d.ts +2 -2
  16. package/esm/next/components/legends/types.d.ts.map +1 -1
  17. package/esm/next/context/GeoAreaCollectionContext.d.ts +24 -0
  18. package/esm/next/context/GeoAreaCollectionContext.d.ts.map +1 -0
  19. package/esm/next/context/GeoAreaCollectionContext.js +39 -0
  20. package/esm/next/context/GeoAreaCollectionContext.js.map +1 -0
  21. package/esm/next/context/GeoAreaDataContext.d.ts +69 -0
  22. package/esm/next/context/GeoAreaDataContext.d.ts.map +1 -0
  23. package/esm/next/context/GeoAreaDataContext.js +87 -0
  24. package/esm/next/context/GeoAreaDataContext.js.map +1 -0
  25. package/esm/next/context/GeoAreaPropsContext.d.ts +47 -0
  26. package/esm/next/context/GeoAreaPropsContext.d.ts.map +1 -0
  27. package/esm/next/context/GeoAreaPropsContext.js +84 -0
  28. package/esm/next/context/GeoAreaPropsContext.js.map +1 -0
  29. package/esm/next/context/GeoDataContext.d.ts +13 -19
  30. package/esm/next/context/GeoDataContext.d.ts.map +1 -1
  31. package/esm/next/context/GeoDataContext.js +7 -53
  32. package/esm/next/context/GeoDataContext.js.map +1 -1
  33. package/esm/next/context/GeoPushpinDataContext.d.ts +14 -0
  34. package/esm/next/context/GeoPushpinDataContext.d.ts.map +1 -0
  35. package/esm/next/context/GeoPushpinDataContext.js +51 -0
  36. package/esm/next/context/GeoPushpinDataContext.js.map +1 -0
  37. package/esm/next/features/clustering/clustering.d.ts +2 -2
  38. package/esm/next/features/clustering/clustering.d.ts.map +1 -1
  39. package/esm/next/features/clustering/clustering.js.map +1 -1
  40. package/esm/next/features/coloring/areaColorStrategy.d.ts +22 -0
  41. package/esm/next/features/coloring/areaColorStrategy.d.ts.map +1 -0
  42. package/esm/next/features/coloring/areaColorStrategy.js +83 -0
  43. package/esm/next/features/coloring/areaColorStrategy.js.map +1 -0
  44. package/esm/next/features/coloring/areaPalette.d.ts +28 -0
  45. package/esm/next/features/coloring/areaPalette.d.ts.map +1 -0
  46. package/esm/next/features/coloring/areaPalette.js +41 -0
  47. package/esm/next/features/coloring/areaPalette.js.map +1 -0
  48. package/esm/next/features/coloring/colorStrategy.d.ts +2 -2
  49. package/esm/next/features/coloring/colorStrategy.d.ts.map +1 -1
  50. package/esm/next/features/coloring/colorStrategy.js +2 -2
  51. package/esm/next/features/coloring/colorStrategy.js.map +1 -1
  52. package/esm/next/features/data/areaTransformation.d.ts +60 -0
  53. package/esm/next/features/data/areaTransformation.d.ts.map +1 -0
  54. package/esm/next/features/data/areaTransformation.js +248 -0
  55. package/esm/next/features/data/areaTransformation.js.map +1 -0
  56. package/esm/next/features/data/dataSourceManagement.d.ts +2 -2
  57. package/esm/next/features/data/dataSourceManagement.d.ts.map +1 -1
  58. package/esm/next/features/data/dataSourceManagement.js.map +1 -1
  59. package/esm/next/features/data/pushpinTransformation.d.ts +72 -0
  60. package/esm/next/features/data/pushpinTransformation.d.ts.map +1 -0
  61. package/esm/next/features/data/{transformation.js → pushpinTransformation.js} +21 -70
  62. package/esm/next/features/data/pushpinTransformation.js.map +1 -0
  63. package/esm/next/features/data/transformationCommon.d.ts +21 -0
  64. package/esm/next/features/data/transformationCommon.d.ts.map +1 -0
  65. package/esm/next/features/data/transformationCommon.js +52 -0
  66. package/esm/next/features/data/transformationCommon.js.map +1 -0
  67. package/esm/next/features/map/areaLayerManagement.d.ts +51 -0
  68. package/esm/next/features/map/areaLayerManagement.d.ts.map +1 -0
  69. package/esm/next/features/map/areaLayerManagement.js +81 -0
  70. package/esm/next/features/map/areaLayerManagement.js.map +1 -0
  71. package/esm/next/features/map/layerManagement.d.ts +3 -3
  72. package/esm/next/features/map/layerManagement.d.ts.map +1 -1
  73. package/esm/next/features/map/layerManagement.js.map +1 -1
  74. package/esm/next/features/map/viewportManagement.d.ts +13 -0
  75. package/esm/next/features/map/viewportManagement.d.ts.map +1 -1
  76. package/esm/next/features/map/viewportManagement.js +30 -0
  77. package/esm/next/features/map/viewportManagement.js.map +1 -1
  78. package/esm/next/features/tooltip/tooltipManagement.d.ts +1 -1
  79. package/esm/next/features/tooltip/tooltipManagement.d.ts.map +1 -1
  80. package/esm/next/features/tooltip/tooltipManagement.js +11 -7
  81. package/esm/next/features/tooltip/tooltipManagement.js.map +1 -1
  82. package/esm/next/helpers/areaAttributeResolver.d.ts +10 -0
  83. package/esm/next/helpers/areaAttributeResolver.d.ts.map +1 -0
  84. package/esm/next/helpers/areaAttributeResolver.js +26 -0
  85. package/esm/next/helpers/areaAttributeResolver.js.map +1 -0
  86. package/esm/next/hooks/init/useInitExecution.d.ts +5 -2
  87. package/esm/next/hooks/init/useInitExecution.d.ts.map +1 -1
  88. package/esm/next/hooks/init/useInitExecution.js +32 -16
  89. package/esm/next/hooks/init/useInitExecution.js.map +1 -1
  90. package/esm/next/hooks/legend/useAreaLegendItems.d.ts +27 -0
  91. package/esm/next/hooks/legend/useAreaLegendItems.d.ts.map +1 -0
  92. package/esm/next/hooks/legend/useAreaLegendItems.js +33 -0
  93. package/esm/next/hooks/legend/useAreaLegendItems.js.map +1 -0
  94. package/esm/next/hooks/legend/useLegendDetails.d.ts +2 -2
  95. package/esm/next/hooks/legend/useLegendDetails.d.ts.map +1 -1
  96. package/esm/next/hooks/legend/useLegendDetails.js.map +1 -1
  97. package/esm/next/hooks/legend/useLegendProps.d.ts +2 -2
  98. package/esm/next/hooks/legend/useLegendProps.d.ts.map +1 -1
  99. package/esm/next/hooks/legend/useLegendProps.js.map +1 -1
  100. package/esm/next/hooks/legend/{useLegendItems.d.ts → usePushpinLegendItems.d.ts} +3 -3
  101. package/esm/next/hooks/legend/usePushpinLegendItems.d.ts.map +1 -0
  102. package/esm/next/hooks/legend/usePushpinLegendItems.js +33 -0
  103. package/esm/next/hooks/legend/usePushpinLegendItems.js.map +1 -0
  104. package/esm/next/hooks/map/useAreaMapDataSync.d.ts +9 -0
  105. package/esm/next/hooks/map/useAreaMapDataSync.d.ts.map +1 -0
  106. package/esm/next/hooks/map/useAreaMapDataSync.js +71 -0
  107. package/esm/next/hooks/map/useAreaMapDataSync.js.map +1 -0
  108. package/esm/next/hooks/map/useMapDataSync.d.ts +2 -2
  109. package/esm/next/hooks/map/useMapDataSync.d.ts.map +1 -1
  110. package/esm/next/hooks/map/useMapDataSync.js.map +1 -1
  111. package/esm/next/hooks/map/useTooltipHandlers.d.ts +1 -1
  112. package/esm/next/hooks/map/useTooltipHandlers.d.ts.map +1 -1
  113. package/esm/next/hooks/map/useTooltipHandlers.js +3 -3
  114. package/esm/next/hooks/map/useTooltipHandlers.js.map +1 -1
  115. package/esm/next/hooks/shared/geoCollectionBoundingBox.d.ts +17 -0
  116. package/esm/next/hooks/shared/geoCollectionBoundingBox.d.ts.map +1 -0
  117. package/esm/next/hooks/shared/geoCollectionBoundingBox.js +86 -0
  118. package/esm/next/hooks/shared/geoCollectionBoundingBox.js.map +1 -0
  119. package/esm/next/hooks/shared/useAreaCollectionFeatures.d.ts +43 -0
  120. package/esm/next/hooks/shared/useAreaCollectionFeatures.d.ts.map +1 -0
  121. package/esm/next/hooks/shared/useAreaCollectionFeatures.js +213 -0
  122. package/esm/next/hooks/shared/useAreaCollectionFeatures.js.map +1 -0
  123. package/esm/next/hooks/shared/useAreaDataTransformation.d.ts +21 -0
  124. package/esm/next/hooks/shared/useAreaDataTransformation.d.ts.map +1 -0
  125. package/esm/next/hooks/shared/useAreaDataTransformation.js +25 -0
  126. package/esm/next/hooks/shared/useAreaDataTransformation.js.map +1 -0
  127. package/esm/next/hooks/shared/useAreaPushData.d.ts +11 -0
  128. package/esm/next/hooks/shared/useAreaPushData.d.ts.map +1 -0
  129. package/esm/next/hooks/shared/useAreaPushData.js +20 -0
  130. package/esm/next/hooks/shared/useAreaPushData.js.map +1 -0
  131. package/esm/next/hooks/shared/useGeoDataTransformation.d.ts +4 -18
  132. package/esm/next/hooks/shared/useGeoDataTransformation.d.ts.map +1 -1
  133. package/esm/next/hooks/shared/useGeoDataTransformation.js +5 -22
  134. package/esm/next/hooks/shared/useGeoDataTransformation.js.map +1 -1
  135. package/esm/next/hooks/shared/useGeoPushData.d.ts +20 -0
  136. package/esm/next/hooks/shared/useGeoPushData.d.ts.map +1 -0
  137. package/esm/next/hooks/shared/useGeoPushData.js +36 -0
  138. package/esm/next/hooks/shared/useGeoPushData.js.map +1 -0
  139. package/esm/next/hooks/shared/usePushData.d.ts.map +1 -1
  140. package/esm/next/hooks/shared/usePushData.js +5 -26
  141. package/esm/next/hooks/shared/usePushData.js.map +1 -1
  142. package/esm/next/hooks/shared/usePushpinDataTransformation.d.ts +23 -0
  143. package/esm/next/hooks/shared/usePushpinDataTransformation.d.ts.map +1 -0
  144. package/esm/next/hooks/shared/usePushpinDataTransformation.js +27 -0
  145. package/esm/next/hooks/shared/usePushpinDataTransformation.js.map +1 -0
  146. package/esm/next/hooks/shared/useResolvedAreaProps.d.ts +16 -0
  147. package/esm/next/hooks/shared/useResolvedAreaProps.d.ts.map +1 -0
  148. package/esm/next/hooks/shared/useResolvedAreaProps.js +36 -0
  149. package/esm/next/hooks/shared/useResolvedAreaProps.js.map +1 -0
  150. package/esm/next/hooks/shared/useResolvedPlaceholderValues.d.ts +8 -0
  151. package/esm/next/hooks/shared/useResolvedPlaceholderValues.d.ts.map +1 -0
  152. package/esm/next/hooks/shared/useResolvedPlaceholderValues.js +11 -0
  153. package/esm/next/hooks/shared/useResolvedPlaceholderValues.js.map +1 -0
  154. package/esm/next/hooks/shared/useResolvedProps.d.ts.map +1 -1
  155. package/esm/next/hooks/shared/useResolvedProps.js +3 -3
  156. package/esm/next/hooks/shared/useResolvedProps.js.map +1 -1
  157. package/esm/next/hooks/shared/useSegmentLegendItems.d.ts +17 -0
  158. package/esm/next/hooks/shared/useSegmentLegendItems.d.ts.map +1 -0
  159. package/esm/next/hooks/shared/useSegmentLegendItems.js +33 -0
  160. package/esm/next/hooks/shared/useSegmentLegendItems.js.map +1 -0
  161. package/esm/next/index.d.ts +4 -0
  162. package/esm/next/index.d.ts.map +1 -1
  163. package/esm/next/index.js +1 -0
  164. package/esm/next/index.js.map +1 -1
  165. package/esm/next/providers/maplibre/maplibreDataLayers.d.ts +2 -2
  166. package/esm/next/providers/maplibre/maplibreDataLayers.d.ts.map +1 -1
  167. package/esm/next/providers/maplibre/maplibreDataLayers.js.map +1 -1
  168. package/esm/next/providers/maplibre/maplibreDataLayersArea.d.ts +41 -0
  169. package/esm/next/providers/maplibre/maplibreDataLayersArea.d.ts.map +1 -0
  170. package/esm/next/providers/maplibre/maplibreDataLayersArea.js +83 -0
  171. package/esm/next/providers/maplibre/maplibreDataLayersArea.js.map +1 -0
  172. package/esm/next/providers/maplibre/maplibreDataSource.d.ts +2 -2
  173. package/esm/next/providers/maplibre/maplibreDataSource.d.ts.map +1 -1
  174. package/esm/next/providers/maplibre/maplibreDataSourceArea.d.ts +34 -0
  175. package/esm/next/providers/maplibre/maplibreDataSourceArea.d.ts.map +1 -0
  176. package/esm/next/providers/maplibre/maplibreDataSourceArea.js +209 -0
  177. package/esm/next/providers/maplibre/maplibreDataSourceArea.js.map +1 -0
  178. package/esm/next/providers/maplibre/maplibreTooltip.d.ts.map +1 -1
  179. package/esm/next/providers/maplibre/maplibreTooltip.js +20 -4
  180. package/esm/next/providers/maplibre/maplibreTooltip.js.map +1 -1
  181. package/esm/next/types/areaConfig.d.ts +68 -0
  182. package/esm/next/types/areaConfig.d.ts.map +1 -0
  183. package/esm/next/types/areaConfig.js +3 -0
  184. package/esm/next/types/areaConfig.js.map +1 -0
  185. package/esm/next/types/areaInternal.d.ts +13 -0
  186. package/esm/next/types/areaInternal.d.ts.map +1 -0
  187. package/esm/next/types/areaInternal.js +3 -0
  188. package/esm/next/types/areaInternal.js.map +1 -0
  189. package/esm/next/types/areaPublic.d.ts +68 -0
  190. package/esm/next/types/areaPublic.d.ts.map +1 -0
  191. package/esm/next/types/areaPublic.js +3 -0
  192. package/esm/next/types/areaPublic.js.map +1 -0
  193. package/esm/next/types/shared.d.ts +57 -21
  194. package/esm/next/types/shared.d.ts.map +1 -1
  195. package/esm/next/utils/geoCollection.d.ts +40 -0
  196. package/esm/next/utils/geoCollection.d.ts.map +1 -0
  197. package/esm/next/utils/geoCollection.js +102 -0
  198. package/esm/next/utils/geoCollection.js.map +1 -0
  199. package/package.json +10 -9
  200. package/styles/css/main.css +18 -0
  201. package/styles/css/main.css.map +1 -1
  202. package/styles/scss/geo-area-next.scss +24 -0
  203. package/styles/scss/main.scss +1 -0
  204. package/esm/next/features/data/transformation.d.ts +0 -99
  205. package/esm/next/features/data/transformation.d.ts.map +0 -1
  206. package/esm/next/features/data/transformation.js.map +0 -1
  207. package/esm/next/hooks/legend/useLegendItems.d.ts.map +0 -1
  208. package/esm/next/hooks/legend/useLegendItems.js +0 -54
  209. package/esm/next/hooks/legend/useLegendItems.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  // (C) 2025 GoodData Corporation
2
2
  import { omit } from "lodash-es";
3
3
  import { AttributeColorStrategy, ColorStrategy, getColorFromMapping, isValidMappedColor, } from "@gooddata/sdk-ui-vis-commons";
4
- import { findGeoAttributesInDimension } from "../data/transformation.js";
4
+ import { findPushpinAttributesInDimension, } from "../data/pushpinTransformation.js";
5
5
  /**
6
6
  * Color strategy for GeoPushpinChartNext
7
7
  *
@@ -74,7 +74,7 @@ class GeoChartColorStrategy extends ColorStrategy {
74
74
  * @internal
75
75
  */
76
76
  export function getColorStrategy(colorPalette, colorMapping, geoData, dv) {
77
- const { locationAttribute, segmentByAttribute } = findGeoAttributesInDimension(dv, geoData);
77
+ const { locationAttribute, segmentByAttribute } = findPushpinAttributesInDimension(dv, geoData);
78
78
  const locationAttributeHeader = {
79
79
  attributeHeader: omit(locationAttribute, "items"),
80
80
  };
@@ -1 +1 @@
1
- {"version":3,"file":"colorStrategy.js","sourceRoot":"","sources":["../../../../src/next/features/coloring/colorStrategy.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EACH,sBAAsB,EACtB,aAAa,EAIb,mBAAmB,EACnB,kBAAkB,GACrB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAA6B,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAEpG;;;;;;;;GAQG;AACH,MAAM,qBAAsB,SAAQ,aAAa;IAC7C;;;;;;OAMG;IACO,qBAAqB,CAC3B,YAA2B,EAC3B,YAA6B,EAC7B,iBAAuC,EACvC,kBAA+C,EAC/C,EAAkB;QAElB,oCAAoC;QACpC,IAAI,kBAAkB,EAAE,CAAC;YACrB,OAAO;gBACH,mBAAmB,EAAE,IAAI,CAAC,4BAA4B,CAClD,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,EAAE,CACL;aACJ,CAAC;QACN,CAAC;QAED,mCAAmC;QACnC,OAAO;YACH,mBAAmB,EAAE;gBACjB,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE,CAAC;aACtF;SACJ,CAAC;IACN,CAAC;IAED;;OAEG;IACK,4BAA4B,CAChC,YAA2B,EAC3B,YAA6B,EAC7B,kBAAwC,EACxC,EAAkB;QAElB,MAAM,aAAa,GAAmB,IAAI,sBAAsB,CAC5D,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,kBAAkB,EAClB,EAAE,CACL,CAAC;QAEF,OAAO,aAAa,CAAC,kBAAkB,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,2BAA2B,CAC/B,YAA2B,EAC3B,YAA6B,EAC7B,iBAAuC,EACvC,EAAkB;QAElB,MAAM,WAAW,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAC7E,MAAM,KAAK,GACP,WAAW,KAAK,SAAS,IAAI,kBAAkB,CAAC,WAAW,EAAE,YAAY,CAAC;YACtE,CAAC,CAAC,WAAW;YACb,CAAC,CAAC;gBACI,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;aAC9B,CAAC;QAEZ,OAAO;YACH,UAAU,EAAE,iBAAiB;YAC7B,KAAK;SACR,CAAC;IACN,CAAC;CACJ;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,gBAAgB,CAC5B,YAA2B,EAC3B,YAA6B,EAC7B,OAAiB,EACjB,EAAkB;IAElB,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAA8B,4BAA4B,CACrG,EAAE,EACF,OAAO,CACV,CAAC;IAEF,MAAM,uBAAuB,GAAyB;QAClD,eAAe,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;KACpD,CAAC;IAEF,OAAO,IAAI,qBAAqB,CAC5B,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,kBAAkB,EAClB,EAAE,CACL,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"colorStrategy.js","sourceRoot":"","sources":["../../../../src/next/features/coloring/colorStrategy.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EACH,sBAAsB,EACtB,aAAa,EAIb,mBAAmB,EACnB,kBAAkB,GACrB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAEH,gCAAgC,GACnC,MAAM,kCAAkC,CAAC;AAE1C;;;;;;;;GAQG;AACH,MAAM,qBAAsB,SAAQ,aAAa;IAC7C;;;;;;OAMG;IACO,qBAAqB,CAC3B,YAA2B,EAC3B,YAA6B,EAC7B,iBAAuC,EACvC,kBAA+C,EAC/C,EAAkB;QAElB,oCAAoC;QACpC,IAAI,kBAAkB,EAAE,CAAC;YACrB,OAAO;gBACH,mBAAmB,EAAE,IAAI,CAAC,4BAA4B,CAClD,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,EAAE,CACL;aACJ,CAAC;QACN,CAAC;QAED,mCAAmC;QACnC,OAAO;YACH,mBAAmB,EAAE;gBACjB,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE,CAAC;aACtF;SACJ,CAAC;IACN,CAAC;IAED;;OAEG;IACK,4BAA4B,CAChC,YAA2B,EAC3B,YAA6B,EAC7B,kBAAwC,EACxC,EAAkB;QAElB,MAAM,aAAa,GAAmB,IAAI,sBAAsB,CAC5D,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,kBAAkB,EAClB,EAAE,CACL,CAAC;QAEF,OAAO,aAAa,CAAC,kBAAkB,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,2BAA2B,CAC/B,YAA2B,EAC3B,YAA6B,EAC7B,iBAAuC,EACvC,EAAkB;QAElB,MAAM,WAAW,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAC7E,MAAM,KAAK,GACP,WAAW,KAAK,SAAS,IAAI,kBAAkB,CAAC,WAAW,EAAE,YAAY,CAAC;YACtE,CAAC,CAAC,WAAW;YACb,CAAC,CAAC;gBACI,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;aAC9B,CAAC;QAEZ,OAAO;YACH,UAAU,EAAE,iBAAiB;YAC7B,KAAK;SACR,CAAC;IACN,CAAC;CACJ;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,gBAAgB,CAC5B,YAA2B,EAC3B,YAA6B,EAC7B,OAAwB,EACxB,EAAkB;IAElB,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAC3C,gCAAgC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAElD,MAAM,uBAAuB,GAAyB;QAClD,eAAe,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;KACpD,CAAC;IAEF,OAAO,IAAI,qBAAqB,CAC5B,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,kBAAkB,EAClB,EAAE,CACL,CAAC;AACN,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { IAttributeDescriptor, IResultHeader } from "@gooddata/sdk-model";
2
+ import { DataViewFacade } from "@gooddata/sdk-ui";
3
+ import { IPushpinCategoryLegendItem } from "@gooddata/sdk-ui-vis-commons";
4
+ import { IAreaGeoData, IAvailableLegends } from "../../types/shared.js";
5
+ /**
6
+ * Transforms data view into area geo data structure
7
+ *
8
+ * @remarks
9
+ * This is the main data transformation function for area charts.
10
+ * It extracts geographic area identifiers and color values from the execution result.
11
+ *
12
+ * @param dv - Data view facade
13
+ * @param emptyHeaderString - String to use for empty headers
14
+ * @param nullHeaderString - String to use for null headers
15
+ * @returns Structured area geo data
16
+ *
17
+ * @internal
18
+ */
19
+ export declare function getAreaGeoData(dv: DataViewFacade, emptyHeaderString: string, nullHeaderString: string): IAreaGeoData;
20
+ /**
21
+ * Determines which legends should be available for area based on data
22
+ *
23
+ * @remarks
24
+ * Analyzes area geo data to determine which legend types are applicable:
25
+ * - Category legend: When segments exist
26
+ * - Color legend: When color measure exists with varying values
27
+ * - Size legend: Never for area (always omitted)
28
+ *
29
+ * @param categoryItems - Category legend items
30
+ * @param geoData - Area geo data structure
31
+ * @returns Object indicating which legends are available
32
+ *
33
+ * @internal
34
+ */
35
+ export declare function getAreaAvailableLegends(categoryItems: IPushpinCategoryLegendItem[], geoData: IAreaGeoData): IAvailableLegends;
36
+ /**
37
+ * Attribute information with header items
38
+ */
39
+ export type IAreaAttributeInfo = IAttributeDescriptor["attributeHeader"] & {
40
+ items: IResultHeader[];
41
+ };
42
+ /**
43
+ * Area attributes in dimension
44
+ */
45
+ export interface IAreaAttributesInDimension {
46
+ areaAttribute: IAreaAttributeInfo;
47
+ segmentByAttribute: IAreaAttributeInfo | undefined;
48
+ tooltipTextAttribute: IAreaAttributeInfo | undefined;
49
+ }
50
+ /**
51
+ * Finds area attributes in the data view dimension
52
+ *
53
+ * @param dv - Data view facade
54
+ * @param geoData - Area geo data structure
55
+ * @returns Area attributes information
56
+ *
57
+ * @internal
58
+ */
59
+ export declare function findAreaAttributesInDimension(dv: DataViewFacade, geoData: IAreaGeoData): IAreaAttributesInDimension;
60
+ //# sourceMappingURL=areaTransformation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"areaTransformation.d.ts","sourceRoot":"","sources":["../../../../src/next/features/data/areaTransformation.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,oBAAoB,EAGpB,aAAa,EAOhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAe,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAG1E,OAAO,EACH,YAAY,EACZ,iBAAiB,EAKpB,MAAM,uBAAuB,CAAC;AAuN/B;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC1B,EAAE,EAAE,cAAc,EAClB,iBAAiB,EAAE,MAAM,EACzB,gBAAgB,EAAE,MAAM,GACzB,YAAY,CA6Cd;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACnC,aAAa,EAAE,0BAA0B,EAAE,EAC3C,OAAO,EAAE,YAAY,GACtB,iBAAiB,CAWnB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IACvE,KAAK,EAAE,aAAa,EAAE,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACvC,aAAa,EAAE,kBAAkB,CAAC;IAClC,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACnD,oBAAoB,EAAE,kBAAkB,GAAG,SAAS,CAAC;CACxD;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CACzC,EAAE,EAAE,cAAc,EAClB,OAAO,EAAE,YAAY,GACtB,0BAA0B,CAkC5B"}
@@ -0,0 +1,248 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { attributeLocalId, isAttribute, isMeasure, isResultAttributeHeader, measureLocalId, resultHeaderName, } from "@gooddata/sdk-model";
3
+ import { BucketNames } from "@gooddata/sdk-ui";
4
+ import { dataValueAsFloat } from "./transformationCommon.js";
5
+ import { getMinMax } from "../size/calculations.js";
6
+ /**
7
+ * Gets attribute header items from data view for area data
8
+ *
9
+ * @internal
10
+ */
11
+ function getAreaAttributeHeaderItems(dv, geoData) {
12
+ const { color } = geoData;
13
+ const hasColorMeasure = color !== undefined;
14
+ const attrHeaderItemIndex = hasColorMeasure ? 1 : 0;
15
+ return dv.meta().allHeaders()[attrHeaderItemIndex];
16
+ }
17
+ /**
18
+ * Gets format string from execution response for a measure
19
+ *
20
+ * @internal
21
+ */
22
+ function getFormatFromExecutionResponse(dv, indexMeasure) {
23
+ const measureDescriptors = dv.meta().measureDescriptors();
24
+ return measureDescriptors[indexMeasure].measureHeaderItem.format;
25
+ }
26
+ /**
27
+ * Extracts segment data and URIs from attribute header items
28
+ */
29
+ function getSegmentDataAndUris(attributeHeaderItems, dataIndex, nullHeaderString) {
30
+ const headerItems = attributeHeaderItems[dataIndex];
31
+ return headerItems.reduce((result, headerItem) => {
32
+ if (headerItem && isResultAttributeHeader(headerItem)) {
33
+ const { uri, name } = headerItem.attributeHeaderItem;
34
+ return { uris: [...result.uris, uri], data: [...result.data, name ?? nullHeaderString] };
35
+ }
36
+ return result;
37
+ }, { uris: [], data: [] });
38
+ }
39
+ /**
40
+ * Extracts area data and URIs from attribute header items
41
+ */
42
+ function getAreaDataAndUris(attributeHeaderItems, dataIndex, emptyHeaderString, nullHeaderString) {
43
+ const headerItems = attributeHeaderItems[dataIndex];
44
+ return headerItems.reduce((result, headerItem) => {
45
+ if (headerItem && isResultAttributeHeader(headerItem)) {
46
+ const { uri, name } = headerItem.attributeHeaderItem;
47
+ const displayName = name ?? nullHeaderString;
48
+ const finalName = name === "" ? emptyHeaderString : displayName;
49
+ return { uris: [...result.uris, uri], data: [...result.data, finalName] };
50
+ }
51
+ return result;
52
+ }, { uris: [], data: [] });
53
+ }
54
+ /**
55
+ * Extracts measure data from data view
56
+ */
57
+ function getMeasureData(dv, dataIndex) {
58
+ const twoDimData = dv.rawData().twoDimData();
59
+ const measureValues = twoDimData[dataIndex];
60
+ return measureValues.map(dataValueAsFloat);
61
+ }
62
+ /**
63
+ * Extracts attribute data from attribute header items
64
+ */
65
+ function getAttributeData(attributeHeaderItems, dataIndex, emptyHeaderString, nullHeaderString) {
66
+ const headerItems = attributeHeaderItems[dataIndex];
67
+ return headerItems.map((i) => {
68
+ const name = resultHeaderName(i);
69
+ if (name) {
70
+ return name;
71
+ }
72
+ return name === "" ? emptyHeaderString : nullHeaderString;
73
+ });
74
+ }
75
+ /**
76
+ * Gets bucket item names and data indices from data view for area
77
+ */
78
+ function getBucketItemNameAndDataIndex(dv) {
79
+ const attributeDescriptors = dv.meta().attributeDescriptors();
80
+ const measureDescriptors = dv.meta().measureDescriptors();
81
+ const buckets = dv.def().buckets();
82
+ const result = {};
83
+ const areaInfo = getAttributeBucketInfo(buckets, attributeDescriptors, BucketNames.AREA) ??
84
+ getAttributeBucketInfo(buckets, attributeDescriptors, BucketNames.LOCATION);
85
+ if (areaInfo) {
86
+ result.area = areaInfo;
87
+ }
88
+ const segmentInfo = getAttributeBucketInfo(buckets, attributeDescriptors, BucketNames.SEGMENT);
89
+ if (segmentInfo) {
90
+ result[BucketNames.SEGMENT] = segmentInfo;
91
+ }
92
+ const tooltipInfo = getAttributeBucketInfo(buckets, attributeDescriptors, BucketNames.TOOLTIP_TEXT);
93
+ if (tooltipInfo) {
94
+ result[BucketNames.TOOLTIP_TEXT] = tooltipInfo;
95
+ }
96
+ const colorInfo = getMeasureBucketInfo(buckets, measureDescriptors, BucketNames.COLOR);
97
+ if (colorInfo) {
98
+ result[BucketNames.COLOR] = colorInfo;
99
+ }
100
+ return result;
101
+ }
102
+ function getAttributeBucketInfo(buckets, attributeDescriptors, bucketName) {
103
+ const bucket = buckets.find((item) => item.localIdentifier === bucketName);
104
+ if (!bucket) {
105
+ return undefined;
106
+ }
107
+ const attributeItem = bucket.items.find(isAttribute);
108
+ if (!attributeItem) {
109
+ return undefined;
110
+ }
111
+ const localIdentifier = attributeLocalId(attributeItem);
112
+ const index = attributeDescriptors.findIndex((descriptor) => descriptor.attributeHeader.localIdentifier === localIdentifier);
113
+ if (index === -1) {
114
+ return undefined;
115
+ }
116
+ return {
117
+ index,
118
+ name: attributeDescriptors[index].attributeHeader.formOf.name,
119
+ };
120
+ }
121
+ function getMeasureBucketInfo(buckets, measureDescriptors, bucketName) {
122
+ const bucket = buckets.find((item) => item.localIdentifier === bucketName);
123
+ if (!bucket) {
124
+ return undefined;
125
+ }
126
+ const measureItem = bucket.items.find(isMeasure);
127
+ if (!measureItem) {
128
+ return undefined;
129
+ }
130
+ const localIdentifier = measureLocalId(measureItem);
131
+ const index = measureDescriptors.findIndex((descriptor) => descriptor.measureHeaderItem.localIdentifier === localIdentifier);
132
+ if (index === -1) {
133
+ return undefined;
134
+ }
135
+ return {
136
+ index,
137
+ name: measureDescriptors[index].measureHeaderItem.name,
138
+ };
139
+ }
140
+ /**
141
+ * Transforms data view into area geo data structure
142
+ *
143
+ * @remarks
144
+ * This is the main data transformation function for area charts.
145
+ * It extracts geographic area identifiers and color values from the execution result.
146
+ *
147
+ * @param dv - Data view facade
148
+ * @param emptyHeaderString - String to use for empty headers
149
+ * @param nullHeaderString - String to use for null headers
150
+ * @returns Structured area geo data
151
+ *
152
+ * @internal
153
+ */
154
+ export function getAreaGeoData(dv, emptyHeaderString, nullHeaderString) {
155
+ const geoData = getBucketItemNameAndDataIndex(dv);
156
+ const attributeHeaderItems = getAreaAttributeHeaderItems(dv, geoData);
157
+ const areaIndex = geoData.area?.index;
158
+ const segmentIndex = geoData?.segment?.index;
159
+ const tooltipTextIndex = geoData?.tooltipText?.index;
160
+ const colorIndex = geoData?.color?.index;
161
+ // Process location data (area identifiers with URIs)
162
+ if (areaIndex !== undefined) {
163
+ const { data, uris } = getAreaDataAndUris(attributeHeaderItems, areaIndex, emptyHeaderString, nullHeaderString);
164
+ geoData.area.data = data;
165
+ geoData.area.uris = uris;
166
+ }
167
+ // Process segment data
168
+ if (segmentIndex !== undefined) {
169
+ const { data, uris } = getSegmentDataAndUris(attributeHeaderItems, segmentIndex, nullHeaderString);
170
+ geoData[BucketNames.SEGMENT].data = data;
171
+ geoData[BucketNames.SEGMENT].uris = uris;
172
+ }
173
+ // Process tooltip text data
174
+ if (tooltipTextIndex !== undefined) {
175
+ geoData[BucketNames.TOOLTIP_TEXT].data = getAttributeData(attributeHeaderItems, tooltipTextIndex, emptyHeaderString, nullHeaderString);
176
+ }
177
+ // Process color measure data
178
+ if (colorIndex !== undefined) {
179
+ geoData[BucketNames.COLOR].data = getMeasureData(dv, colorIndex);
180
+ geoData[BucketNames.COLOR].format = getFormatFromExecutionResponse(dv, colorIndex);
181
+ }
182
+ return geoData;
183
+ }
184
+ /**
185
+ * Determines which legends should be available for area based on data
186
+ *
187
+ * @remarks
188
+ * Analyzes area geo data to determine which legend types are applicable:
189
+ * - Category legend: When segments exist
190
+ * - Color legend: When color measure exists with varying values
191
+ * - Size legend: Never for area (always omitted)
192
+ *
193
+ * @param categoryItems - Category legend items
194
+ * @param geoData - Area geo data structure
195
+ * @returns Object indicating which legends are available
196
+ *
197
+ * @internal
198
+ */
199
+ export function getAreaAvailableLegends(categoryItems, geoData) {
200
+ const { color: { data: colorData = [] } = {} } = geoData;
201
+ const { min: minColor, max: maxColor } = getMinMax(colorData);
202
+ const hasCategoryLegend = Boolean(categoryItems?.length);
203
+ const hasColorLegend = Boolean(colorData.length) && minColor !== maxColor && !hasCategoryLegend;
204
+ return {
205
+ hasCategoryLegend,
206
+ hasColorLegend,
207
+ };
208
+ }
209
+ /**
210
+ * Finds area attributes in the data view dimension
211
+ *
212
+ * @param dv - Data view facade
213
+ * @param geoData - Area geo data structure
214
+ * @returns Area attributes information
215
+ *
216
+ * @internal
217
+ */
218
+ export function findAreaAttributesInDimension(dv, geoData) {
219
+ const { color, area, segment, tooltipText } = geoData;
220
+ const areaIndex = area?.index ?? 0;
221
+ const headers = dv.meta().allHeaders();
222
+ const hasMeasure = color !== undefined;
223
+ const attrDimensionIndex = hasMeasure ? 1 : 0;
224
+ const attributeDescriptors = dv.meta().attributeDescriptors();
225
+ const attributeResultHeaderItems = headers[attrDimensionIndex];
226
+ const areaAttribute = {
227
+ ...attributeDescriptors[areaIndex].attributeHeader,
228
+ items: attributeResultHeaderItems[areaIndex],
229
+ };
230
+ const segmentByAttribute = segment?.data.length
231
+ ? {
232
+ ...attributeDescriptors[segment.index].attributeHeader,
233
+ items: attributeResultHeaderItems[segment.index],
234
+ }
235
+ : undefined;
236
+ const tooltipTextAttribute = tooltipText?.data.length
237
+ ? {
238
+ ...attributeDescriptors[tooltipText.index].attributeHeader,
239
+ items: attributeResultHeaderItems[tooltipText.index],
240
+ }
241
+ : undefined;
242
+ return {
243
+ areaAttribute,
244
+ segmentByAttribute,
245
+ tooltipTextAttribute,
246
+ };
247
+ }
248
+ //# sourceMappingURL=areaTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"areaTransformation.js","sourceRoot":"","sources":["../../../../src/next/features/data/areaTransformation.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { IColorStrategy } from "@gooddata/sdk-ui-vis-commons";
2
2
  import { IMapConfig } from "../../types/mapProvider.js";
3
- import { IGeoData } from "../../types/shared.js";
3
+ import { IPushpinGeoData } from "../../types/shared.js";
4
4
  /**
5
5
  * Create GeoJSON data source for map
6
6
  *
@@ -16,5 +16,5 @@ import { IGeoData } from "../../types/shared.js";
16
16
  *
17
17
  * @internal
18
18
  */
19
- export declare function createGeoDataSource(geoData: IGeoData, colorStrategy: IColorStrategy, config: IMapConfig): import("maplibre-gl").GeoJSONSourceSpecification;
19
+ export declare function createGeoDataSource(geoData: IPushpinGeoData, colorStrategy: IColorStrategy, config: IMapConfig): import("maplibre-gl").GeoJSONSourceSpecification;
20
20
  //# sourceMappingURL=dataSourceManagement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataSourceManagement.d.ts","sourceRoot":"","sources":["../../../../src/next/features/data/dataSourceManagement.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,oDAYvG"}
1
+ {"version":3,"file":"dataSourceManagement.d.ts","sourceRoot":"","sources":["../../../../src/next/features/data/dataSourceManagement.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,eAAe,EACxB,aAAa,EAAE,cAAc,EAC7B,MAAM,EAAE,UAAU,oDAarB"}
@@ -1 +1 @@
1
- {"version":3,"file":"dataSourceManagement.js","sourceRoot":"","sources":["../../../../src/next/features/data/dataSourceManagement.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAIhC,OAAO,EAAuB,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAG9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAiB,EAAE,aAA6B,EAAE,MAAkB;IACpG,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;IAChD,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAEtF,MAAM,eAAe,GAAwB;QACzC,OAAO;QACP,MAAM;QACN,aAAa;QACb,aAAa;KAChB,CAAC;IAEF,OAAO,uBAAuB,CAAC,eAAe,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"dataSourceManagement.js","sourceRoot":"","sources":["../../../../src/next/features/data/dataSourceManagement.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAIhC,OAAO,EAAuB,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAG9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAC/B,OAAwB,EACxB,aAA6B,EAC7B,MAAkB;IAElB,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;IAChD,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAEtF,MAAM,eAAe,GAAwB;QACzC,OAAO;QACP,MAAM;QACN,aAAa;QACb,aAAa;KAChB,CAAC;IAEF,OAAO,uBAAuB,CAAC,eAAe,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { IAttributeDescriptor, IResultHeader } from "@gooddata/sdk-model";
2
+ import { DataViewFacade } from "@gooddata/sdk-ui";
3
+ import { IPushpinCategoryLegendItem } from "@gooddata/sdk-ui-vis-commons";
4
+ import { IAvailableLegends, IPushpinGeoData } from "../../types/shared.js";
5
+ /**
6
+ * Transforms data view into pushpin geo data structure
7
+ *
8
+ * @remarks
9
+ * This is the main data transformation function that extracts and structures
10
+ * all geo-related data from the execution result
11
+ *
12
+ * @param dv - Data view facade
13
+ * @param emptyHeaderString - String to use for empty headers
14
+ * @param nullHeaderString - String to use for null headers
15
+ * @returns Structured geo data
16
+ *
17
+ * @internal
18
+ */
19
+ export declare function getPushpinGeoData(dv: DataViewFacade, emptyHeaderString: string, nullHeaderString: string): IPushpinGeoData;
20
+ /**
21
+ * Determines which legends should be available based on pushpin data
22
+ *
23
+ * @remarks
24
+ * Analyzes geo data to determine which legend types are applicable:
25
+ * - Category legend: When segments exist
26
+ * - Color legend: When color measure exists with varying values
27
+ * - Size legend: When size measure exists with varying values
28
+ *
29
+ * @param categoryItems - Category legend items
30
+ * @param geoData - Geo data structure
31
+ * @returns Object indicating which legends are available
32
+ *
33
+ * @internal
34
+ */
35
+ export declare function getPushpinAvailableLegends(categoryItems: IPushpinCategoryLegendItem[], geoData: IPushpinGeoData): IAvailableLegends;
36
+ /**
37
+ * Parses GeoJSON properties from feature
38
+ *
39
+ * @remarks
40
+ * Extracts and parses location, color, size, and segment properties from GeoJSON feature
41
+ *
42
+ * @param properties - GeoJSON properties object
43
+ * @returns Parsed properties object
44
+ *
45
+ * @internal
46
+ */
47
+ export declare function parsePushpinGeoProperties(properties: GeoJSON.GeoJsonProperties): GeoJSON.GeoJsonProperties;
48
+ /**
49
+ * Attribute information with header items
50
+ */
51
+ export type IPushpinAttributeInfo = IAttributeDescriptor["attributeHeader"] & {
52
+ items: IResultHeader[];
53
+ };
54
+ /**
55
+ * Geo attributes in dimension
56
+ */
57
+ export interface IPushpinAttributesInDimension {
58
+ locationAttribute: IPushpinAttributeInfo;
59
+ segmentByAttribute: IPushpinAttributeInfo | undefined;
60
+ tooltipTextAttribute: IPushpinAttributeInfo | undefined;
61
+ }
62
+ /**
63
+ * Finds geo attributes in the data view dimension
64
+ *
65
+ * @param dv - Data view facade
66
+ * @param geoData - Geo data structure
67
+ * @returns Geo attributes information
68
+ *
69
+ * @internal
70
+ */
71
+ export declare function findPushpinAttributesInDimension(dv: DataViewFacade, geoData: IPushpinGeoData): IPushpinAttributesInDimension;
72
+ //# sourceMappingURL=pushpinTransformation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pushpinTransformation.d.ts","sourceRoot":"","sources":["../../../../src/next/features/data/pushpinTransformation.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,oBAAoB,EAGpB,aAAa,EAWhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAe,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAG1E,OAAO,EACH,iBAAiB,EAKjB,eAAe,EAElB,MAAM,uBAAuB,CAAC;AA+N/B;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC7B,EAAE,EAAE,cAAc,EAClB,iBAAiB,EAAE,MAAM,EACzB,gBAAgB,EAAE,MAAM,GACzB,eAAe,CA6EjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CACtC,aAAa,EAAE,0BAA0B,EAAE,EAC3C,OAAO,EAAE,eAAe,GACzB,iBAAiB,CAenB;AAyBD;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAQ1G;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IAC1E,KAAK,EAAE,aAAa,EAAE,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,iBAAiB,EAAE,qBAAqB,CAAC;IACzC,kBAAkB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACtD,oBAAoB,EAAE,qBAAqB,GAAG,SAAS,CAAC;CAC3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAC5C,EAAE,EAAE,cAAc,EAClB,OAAO,EAAE,eAAe,GACzB,6BAA6B,CAkC/B"}
@@ -1,66 +1,8 @@
1
1
  // (C) 2025 GoodData Corporation
2
2
  import { attributeDisplayFormRef, attributeLocalId, isAttribute, isIdentifierRef, isResultAttributeHeader, measureItem, measureLocalId, resultHeaderName, } from "@gooddata/sdk-model";
3
3
  import { BucketNames } from "@gooddata/sdk-ui";
4
+ import { dataValueAsFloat, getLocation, parseCoordinate } from "./transformationCommon.js";
4
5
  import { getMinMax } from "../size/calculations.js";
5
- /**
6
- * Converts a data value to a float
7
- *
8
- * @param value - Data value from execution result
9
- * @returns Parsed float value, or NaN if parsing fails
10
- *
11
- * @internal
12
- */
13
- export function dataValueAsFloat(value) {
14
- if (value === null) {
15
- return NaN;
16
- }
17
- const parsedNumber = typeof value === "string" ? parseFloat(value) : value;
18
- if (isNaN(parsedNumber)) {
19
- console.warn(`SDK: dataValueAsFloat: ${value} is not a number`);
20
- }
21
- return parsedNumber;
22
- }
23
- /**
24
- * Parses a location string in "lat;lng" format into coordinates
25
- *
26
- * @param latlng - Location string in "latitude;longitude" format
27
- * @returns Coordinate object or null if invalid
28
- *
29
- * @internal
30
- */
31
- export function getLocation(latlng) {
32
- if (!latlng) {
33
- return null;
34
- }
35
- const [latitude, longitude] = latlng.split(";").map(dataValueAsFloat);
36
- if (isNaN(latitude) || isNaN(longitude)) {
37
- console.warn("GeoPushpinChartNext: Invalid location format", latlng);
38
- return null;
39
- }
40
- return {
41
- lat: latitude,
42
- lng: longitude,
43
- };
44
- }
45
- /**
46
- * Parses a coordinate string into a number
47
- *
48
- * @param coordinate - Coordinate string
49
- * @returns Parsed number or null if invalid
50
- *
51
- * @internal
52
- */
53
- export function parseCoordinate(coordinate) {
54
- if (!coordinate) {
55
- return null;
56
- }
57
- const numericalCoordinate = dataValueAsFloat(coordinate);
58
- if (isNaN(numericalCoordinate)) {
59
- console.warn("GeoPushpinChartNext: Invalid coordinate", coordinate);
60
- return null;
61
- }
62
- return numericalCoordinate;
63
- }
64
6
  /**
65
7
  * Gets attribute header items from data view for geo data
66
8
  *
@@ -206,7 +148,7 @@ function getBucketItemNameAndDataIndex(dv) {
206
148
  return result;
207
149
  }
208
150
  /**
209
- * Transforms data view into geo data structure
151
+ * Transforms data view into pushpin geo data structure
210
152
  *
211
153
  * @remarks
212
154
  * This is the main data transformation function that extracts and structures
@@ -219,7 +161,7 @@ function getBucketItemNameAndDataIndex(dv) {
219
161
  *
220
162
  * @internal
221
163
  */
222
- export function getGeoData(dv, emptyHeaderString, nullHeaderString) {
164
+ export function getPushpinGeoData(dv, emptyHeaderString, nullHeaderString) {
223
165
  const geoData = getBucketItemNameAndDataIndex(dv);
224
166
  const attributeHeaderItems = getGeoAttributeHeaderItems(dv, geoData);
225
167
  const locationIndex = geoData.location?.index;
@@ -269,7 +211,7 @@ export function getGeoData(dv, emptyHeaderString, nullHeaderString) {
269
211
  return geoData;
270
212
  }
271
213
  /**
272
- * Determines which legends should be available based on data
214
+ * Determines which legends should be available based on pushpin data
273
215
  *
274
216
  * @remarks
275
217
  * Analyzes geo data to determine which legend types are applicable:
@@ -283,7 +225,7 @@ export function getGeoData(dv, emptyHeaderString, nullHeaderString) {
283
225
  *
284
226
  * @internal
285
227
  */
286
- export function getAvailableLegends(categoryItems, geoData) {
228
+ export function getPushpinAvailableLegends(categoryItems, geoData) {
287
229
  const { color: { data: colorData = [] } = {}, size: { data: sizeData = [] } = {} } = geoData;
288
230
  const { min: minColor, max: maxColor } = getMinMax(colorData);
289
231
  const { min: minSize, max: maxSize } = getMinMax(sizeData);
@@ -300,12 +242,21 @@ export function getAvailableLegends(categoryItems, geoData) {
300
242
  * Parses a GeoJSON property item from JSON string
301
243
  */
302
244
  function parseGeoPropertyItem(item) {
303
- try {
304
- return JSON.parse(item);
305
- }
306
- catch {
245
+ if (item === null || item === undefined) {
307
246
  return {};
308
247
  }
248
+ if (typeof item === "string") {
249
+ try {
250
+ return JSON.parse(item);
251
+ }
252
+ catch {
253
+ return {};
254
+ }
255
+ }
256
+ if (typeof item === "object") {
257
+ return item;
258
+ }
259
+ return {};
309
260
  }
310
261
  /**
311
262
  * Parses GeoJSON properties from feature
@@ -318,7 +269,7 @@ function parseGeoPropertyItem(item) {
318
269
  *
319
270
  * @internal
320
271
  */
321
- export function parseGeoProperties(properties) {
272
+ export function parsePushpinGeoProperties(properties) {
322
273
  const { locationName = "{}", color = "{}", size = "{}", segment = "{}" } = properties || {};
323
274
  return {
324
275
  locationName: parseGeoPropertyItem(locationName),
@@ -336,7 +287,7 @@ export function parseGeoProperties(properties) {
336
287
  *
337
288
  * @internal
338
289
  */
339
- export function findGeoAttributesInDimension(dv, geoData) {
290
+ export function findPushpinAttributesInDimension(dv, geoData) {
340
291
  const { color, location, segment, size, tooltipText } = geoData;
341
292
  const locationIndex = location?.index ?? 0;
342
293
  const headers = dv.meta().allHeaders();
@@ -366,4 +317,4 @@ export function findGeoAttributesInDimension(dv, geoData) {
366
317
  tooltipTextAttribute,
367
318
  };
368
319
  }
369
- //# sourceMappingURL=transformation.js.map
320
+ //# sourceMappingURL=pushpinTransformation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pushpinTransformation.js","sourceRoot":"","sources":["../../../../src/next/features/data/pushpinTransformation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { DataValue } from "@gooddata/sdk-model";
2
+ import { IGeoLngLat } from "../../types/shared.js";
3
+ /**
4
+ * Converts a data value to a float.
5
+ *
6
+ * @internal
7
+ */
8
+ export declare function dataValueAsFloat(value: DataValue): number;
9
+ /**
10
+ * Parses a location string in "lat;lng" format into coordinates.
11
+ *
12
+ * @internal
13
+ */
14
+ export declare function getLocation(latlng: string | null): IGeoLngLat | null;
15
+ /**
16
+ * Parses a coordinate string into a number.
17
+ *
18
+ * @internal
19
+ */
20
+ export declare function parseCoordinate(coordinate: string | null): number | null;
21
+ //# sourceMappingURL=transformationCommon.d.ts.map