@lightdash/common 0.2129.1 → 0.2131.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 (189) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/index.d.ts +10 -1
  3. package/dist/cjs/index.d.ts.map +1 -1
  4. package/dist/cjs/index.js +10 -1
  5. package/dist/cjs/index.js.map +1 -1
  6. package/dist/cjs/visualizations/CartesianChartDataModel.d.ts +1 -1
  7. package/dist/cjs/visualizations/CartesianChartDataModel.d.ts.map +1 -1
  8. package/dist/cjs/visualizations/CartesianChartDataModel.js +147 -46
  9. package/dist/cjs/visualizations/CartesianChartDataModel.js.map +1 -1
  10. package/dist/cjs/visualizations/PieChartDataModel.d.ts.map +1 -1
  11. package/dist/cjs/visualizations/PieChartDataModel.js +26 -0
  12. package/dist/cjs/visualizations/PieChartDataModel.js.map +1 -1
  13. package/dist/cjs/visualizations/helpers/styles/axisStyles.d.ts +50 -0
  14. package/dist/cjs/visualizations/helpers/styles/axisStyles.d.ts.map +1 -0
  15. package/dist/cjs/visualizations/helpers/styles/axisStyles.js +59 -0
  16. package/dist/cjs/visualizations/helpers/styles/axisStyles.js.map +1 -0
  17. package/dist/cjs/visualizations/helpers/styles/barChartStyles.d.ts +81 -0
  18. package/dist/cjs/visualizations/helpers/styles/barChartStyles.d.ts.map +1 -0
  19. package/dist/cjs/visualizations/helpers/styles/barChartStyles.js +336 -0
  20. package/dist/cjs/visualizations/helpers/styles/barChartStyles.js.map +1 -0
  21. package/dist/cjs/visualizations/helpers/styles/gridStyles.d.ts +21 -0
  22. package/dist/cjs/visualizations/helpers/styles/gridStyles.d.ts.map +1 -0
  23. package/dist/cjs/visualizations/helpers/styles/gridStyles.js +27 -0
  24. package/dist/cjs/visualizations/helpers/styles/gridStyles.js.map +1 -0
  25. package/dist/cjs/visualizations/helpers/styles/legendStyles.d.ts +49 -0
  26. package/dist/cjs/visualizations/helpers/styles/legendStyles.d.ts.map +1 -0
  27. package/dist/cjs/visualizations/helpers/styles/legendStyles.js +38 -0
  28. package/dist/cjs/visualizations/helpers/styles/legendStyles.js.map +1 -0
  29. package/dist/cjs/visualizations/helpers/styles/pieChartStyles.d.ts +49 -0
  30. package/dist/cjs/visualizations/helpers/styles/pieChartStyles.d.ts.map +1 -0
  31. package/dist/cjs/visualizations/helpers/styles/pieChartStyles.js +58 -0
  32. package/dist/cjs/visualizations/helpers/styles/pieChartStyles.js.map +1 -0
  33. package/dist/cjs/visualizations/helpers/styles/referenceLineStyles.d.ts +31 -0
  34. package/dist/cjs/visualizations/helpers/styles/referenceLineStyles.d.ts.map +1 -0
  35. package/dist/cjs/visualizations/helpers/styles/referenceLineStyles.js +43 -0
  36. package/dist/cjs/visualizations/helpers/styles/referenceLineStyles.js.map +1 -0
  37. package/dist/cjs/visualizations/helpers/styles/themeColors.d.ts +18 -0
  38. package/dist/cjs/visualizations/helpers/styles/themeColors.d.ts.map +1 -0
  39. package/dist/cjs/visualizations/helpers/styles/themeColors.js +23 -0
  40. package/dist/cjs/visualizations/helpers/styles/themeColors.js.map +1 -0
  41. package/dist/cjs/visualizations/helpers/styles/tooltipStyles.d.ts +53 -0
  42. package/dist/cjs/visualizations/helpers/styles/tooltipStyles.d.ts.map +1 -0
  43. package/dist/cjs/visualizations/helpers/styles/tooltipStyles.js +147 -0
  44. package/dist/cjs/visualizations/helpers/styles/tooltipStyles.js.map +1 -0
  45. package/dist/cjs/visualizations/helpers/styles/valueLabelStyles.d.ts +20 -0
  46. package/dist/cjs/visualizations/helpers/styles/valueLabelStyles.d.ts.map +1 -0
  47. package/dist/cjs/visualizations/helpers/styles/valueLabelStyles.js +34 -0
  48. package/dist/cjs/visualizations/helpers/styles/valueLabelStyles.js.map +1 -0
  49. package/dist/cjs/visualizations/{chartTransformations.d.ts → helpers/tooltipFormatter.d.ts} +53 -20
  50. package/dist/cjs/visualizations/helpers/tooltipFormatter.d.ts.map +1 -0
  51. package/dist/cjs/visualizations/helpers/tooltipFormatter.js +510 -0
  52. package/dist/cjs/visualizations/helpers/tooltipFormatter.js.map +1 -0
  53. package/dist/cjs/visualizations/helpers/valueFormatter.d.ts +7 -0
  54. package/dist/cjs/visualizations/helpers/valueFormatter.d.ts.map +1 -0
  55. package/dist/cjs/visualizations/helpers/valueFormatter.js +13 -0
  56. package/dist/cjs/visualizations/helpers/valueFormatter.js.map +1 -0
  57. package/dist/cjs/visualizations/types/index.d.ts +84 -1
  58. package/dist/cjs/visualizations/types/index.d.ts.map +1 -1
  59. package/dist/cjs/visualizations/types/index.js.map +1 -1
  60. package/dist/esm/.tsbuildinfo +1 -1
  61. package/dist/esm/index.d.ts +10 -1
  62. package/dist/esm/index.d.ts.map +1 -1
  63. package/dist/esm/index.js +10 -1
  64. package/dist/esm/index.js.map +1 -1
  65. package/dist/esm/visualizations/CartesianChartDataModel.d.ts +1 -1
  66. package/dist/esm/visualizations/CartesianChartDataModel.d.ts.map +1 -1
  67. package/dist/esm/visualizations/CartesianChartDataModel.js +146 -45
  68. package/dist/esm/visualizations/CartesianChartDataModel.js.map +1 -1
  69. package/dist/esm/visualizations/PieChartDataModel.d.ts.map +1 -1
  70. package/dist/esm/visualizations/PieChartDataModel.js +26 -0
  71. package/dist/esm/visualizations/PieChartDataModel.js.map +1 -1
  72. package/dist/esm/visualizations/helpers/styles/axisStyles.d.ts +50 -0
  73. package/dist/esm/visualizations/helpers/styles/axisStyles.d.ts.map +1 -0
  74. package/dist/esm/visualizations/helpers/styles/axisStyles.js +51 -0
  75. package/dist/esm/visualizations/helpers/styles/axisStyles.js.map +1 -0
  76. package/dist/esm/visualizations/helpers/styles/barChartStyles.d.ts +81 -0
  77. package/dist/esm/visualizations/helpers/styles/barChartStyles.d.ts.map +1 -0
  78. package/dist/esm/visualizations/helpers/styles/barChartStyles.js +326 -0
  79. package/dist/esm/visualizations/helpers/styles/barChartStyles.js.map +1 -0
  80. package/dist/esm/visualizations/helpers/styles/gridStyles.d.ts +21 -0
  81. package/dist/esm/visualizations/helpers/styles/gridStyles.d.ts.map +1 -0
  82. package/dist/esm/visualizations/helpers/styles/gridStyles.js +22 -0
  83. package/dist/esm/visualizations/helpers/styles/gridStyles.js.map +1 -0
  84. package/dist/esm/visualizations/helpers/styles/legendStyles.d.ts +49 -0
  85. package/dist/esm/visualizations/helpers/styles/legendStyles.d.ts.map +1 -0
  86. package/dist/esm/visualizations/helpers/styles/legendStyles.js +34 -0
  87. package/dist/esm/visualizations/helpers/styles/legendStyles.js.map +1 -0
  88. package/dist/esm/visualizations/helpers/styles/pieChartStyles.d.ts +49 -0
  89. package/dist/esm/visualizations/helpers/styles/pieChartStyles.d.ts.map +1 -0
  90. package/dist/esm/visualizations/helpers/styles/pieChartStyles.js +51 -0
  91. package/dist/esm/visualizations/helpers/styles/pieChartStyles.js.map +1 -0
  92. package/dist/esm/visualizations/helpers/styles/referenceLineStyles.d.ts +31 -0
  93. package/dist/esm/visualizations/helpers/styles/referenceLineStyles.d.ts.map +1 -0
  94. package/dist/esm/visualizations/helpers/styles/referenceLineStyles.js +39 -0
  95. package/dist/esm/visualizations/helpers/styles/referenceLineStyles.js.map +1 -0
  96. package/dist/esm/visualizations/helpers/styles/themeColors.d.ts +18 -0
  97. package/dist/esm/visualizations/helpers/styles/themeColors.d.ts.map +1 -0
  98. package/dist/esm/visualizations/helpers/styles/themeColors.js +20 -0
  99. package/dist/esm/visualizations/helpers/styles/themeColors.js.map +1 -0
  100. package/dist/esm/visualizations/helpers/styles/tooltipStyles.d.ts +53 -0
  101. package/dist/esm/visualizations/helpers/styles/tooltipStyles.d.ts.map +1 -0
  102. package/dist/esm/visualizations/helpers/styles/tooltipStyles.js +136 -0
  103. package/dist/esm/visualizations/helpers/styles/tooltipStyles.js.map +1 -0
  104. package/dist/esm/visualizations/helpers/styles/valueLabelStyles.d.ts +20 -0
  105. package/dist/esm/visualizations/helpers/styles/valueLabelStyles.d.ts.map +1 -0
  106. package/dist/esm/visualizations/helpers/styles/valueLabelStyles.js +30 -0
  107. package/dist/esm/visualizations/helpers/styles/valueLabelStyles.js.map +1 -0
  108. package/dist/esm/visualizations/{chartTransformations.d.ts → helpers/tooltipFormatter.d.ts} +53 -20
  109. package/dist/esm/visualizations/helpers/tooltipFormatter.d.ts.map +1 -0
  110. package/dist/esm/visualizations/helpers/tooltipFormatter.js +502 -0
  111. package/dist/esm/visualizations/helpers/tooltipFormatter.js.map +1 -0
  112. package/dist/esm/visualizations/helpers/valueFormatter.d.ts +7 -0
  113. package/dist/esm/visualizations/helpers/valueFormatter.d.ts.map +1 -0
  114. package/dist/esm/visualizations/helpers/valueFormatter.js +8 -0
  115. package/dist/esm/visualizations/helpers/valueFormatter.js.map +1 -0
  116. package/dist/esm/visualizations/types/index.d.ts +84 -1
  117. package/dist/esm/visualizations/types/index.d.ts.map +1 -1
  118. package/dist/esm/visualizations/types/index.js +1 -1
  119. package/dist/esm/visualizations/types/index.js.map +1 -1
  120. package/dist/types/.tsbuildinfo +1 -1
  121. package/dist/types/index.d.ts +10 -1
  122. package/dist/types/index.d.ts.map +1 -1
  123. package/dist/types/index.js +10 -1
  124. package/dist/types/index.js.map +1 -1
  125. package/dist/types/visualizations/CartesianChartDataModel.d.ts +1 -1
  126. package/dist/types/visualizations/CartesianChartDataModel.d.ts.map +1 -1
  127. package/dist/types/visualizations/CartesianChartDataModel.js +146 -45
  128. package/dist/types/visualizations/CartesianChartDataModel.js.map +1 -1
  129. package/dist/types/visualizations/PieChartDataModel.d.ts.map +1 -1
  130. package/dist/types/visualizations/PieChartDataModel.js +26 -0
  131. package/dist/types/visualizations/PieChartDataModel.js.map +1 -1
  132. package/dist/types/visualizations/helpers/styles/axisStyles.d.ts +50 -0
  133. package/dist/types/visualizations/helpers/styles/axisStyles.d.ts.map +1 -0
  134. package/dist/types/visualizations/helpers/styles/axisStyles.js +51 -0
  135. package/dist/types/visualizations/helpers/styles/axisStyles.js.map +1 -0
  136. package/dist/types/visualizations/helpers/styles/barChartStyles.d.ts +81 -0
  137. package/dist/types/visualizations/helpers/styles/barChartStyles.d.ts.map +1 -0
  138. package/dist/types/visualizations/helpers/styles/barChartStyles.js +326 -0
  139. package/dist/types/visualizations/helpers/styles/barChartStyles.js.map +1 -0
  140. package/dist/types/visualizations/helpers/styles/gridStyles.d.ts +21 -0
  141. package/dist/types/visualizations/helpers/styles/gridStyles.d.ts.map +1 -0
  142. package/dist/types/visualizations/helpers/styles/gridStyles.js +22 -0
  143. package/dist/types/visualizations/helpers/styles/gridStyles.js.map +1 -0
  144. package/dist/types/visualizations/helpers/styles/legendStyles.d.ts +49 -0
  145. package/dist/types/visualizations/helpers/styles/legendStyles.d.ts.map +1 -0
  146. package/dist/types/visualizations/helpers/styles/legendStyles.js +34 -0
  147. package/dist/types/visualizations/helpers/styles/legendStyles.js.map +1 -0
  148. package/dist/types/visualizations/helpers/styles/pieChartStyles.d.ts +49 -0
  149. package/dist/types/visualizations/helpers/styles/pieChartStyles.d.ts.map +1 -0
  150. package/dist/types/visualizations/helpers/styles/pieChartStyles.js +51 -0
  151. package/dist/types/visualizations/helpers/styles/pieChartStyles.js.map +1 -0
  152. package/dist/types/visualizations/helpers/styles/referenceLineStyles.d.ts +31 -0
  153. package/dist/types/visualizations/helpers/styles/referenceLineStyles.d.ts.map +1 -0
  154. package/dist/types/visualizations/helpers/styles/referenceLineStyles.js +39 -0
  155. package/dist/types/visualizations/helpers/styles/referenceLineStyles.js.map +1 -0
  156. package/dist/types/visualizations/helpers/styles/themeColors.d.ts +18 -0
  157. package/dist/types/visualizations/helpers/styles/themeColors.d.ts.map +1 -0
  158. package/dist/types/visualizations/helpers/styles/themeColors.js +20 -0
  159. package/dist/types/visualizations/helpers/styles/themeColors.js.map +1 -0
  160. package/dist/types/visualizations/helpers/styles/tooltipStyles.d.ts +53 -0
  161. package/dist/types/visualizations/helpers/styles/tooltipStyles.d.ts.map +1 -0
  162. package/dist/types/visualizations/helpers/styles/tooltipStyles.js +136 -0
  163. package/dist/types/visualizations/helpers/styles/tooltipStyles.js.map +1 -0
  164. package/dist/types/visualizations/helpers/styles/valueLabelStyles.d.ts +20 -0
  165. package/dist/types/visualizations/helpers/styles/valueLabelStyles.d.ts.map +1 -0
  166. package/dist/types/visualizations/helpers/styles/valueLabelStyles.js +30 -0
  167. package/dist/types/visualizations/helpers/styles/valueLabelStyles.js.map +1 -0
  168. package/dist/types/visualizations/{chartTransformations.d.ts → helpers/tooltipFormatter.d.ts} +53 -20
  169. package/dist/types/visualizations/helpers/tooltipFormatter.d.ts.map +1 -0
  170. package/dist/types/visualizations/helpers/tooltipFormatter.js +502 -0
  171. package/dist/types/visualizations/helpers/tooltipFormatter.js.map +1 -0
  172. package/dist/types/visualizations/helpers/valueFormatter.d.ts +7 -0
  173. package/dist/types/visualizations/helpers/valueFormatter.d.ts.map +1 -0
  174. package/dist/types/visualizations/helpers/valueFormatter.js +8 -0
  175. package/dist/types/visualizations/helpers/valueFormatter.js.map +1 -0
  176. package/dist/types/visualizations/types/index.d.ts +84 -1
  177. package/dist/types/visualizations/types/index.d.ts.map +1 -1
  178. package/dist/types/visualizations/types/index.js +1 -1
  179. package/dist/types/visualizations/types/index.js.map +1 -1
  180. package/package.json +1 -1
  181. package/dist/cjs/visualizations/chartTransformations.d.ts.map +0 -1
  182. package/dist/cjs/visualizations/chartTransformations.js +0 -112
  183. package/dist/cjs/visualizations/chartTransformations.js.map +0 -1
  184. package/dist/esm/visualizations/chartTransformations.d.ts.map +0 -1
  185. package/dist/esm/visualizations/chartTransformations.js +0 -107
  186. package/dist/esm/visualizations/chartTransformations.js.map +0 -1
  187. package/dist/types/visualizations/chartTransformations.d.ts.map +0 -1
  188. package/dist/types/visualizations/chartTransformations.js +0 -107
  189. package/dist/types/visualizations/chartTransformations.js.map +0 -1
@@ -3,6 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PieChartDataModel = void 0;
4
4
  const utils_1 = require("../pivot/utils");
5
5
  const field_1 = require("../types/field");
6
+ const savedCharts_1 = require("../types/savedCharts");
7
+ const formatting_1 = require("../utils/formatting");
8
+ const legendStyles_1 = require("./helpers/styles/legendStyles");
9
+ const tooltipStyles_1 = require("./helpers/styles/tooltipStyles");
6
10
  const types_1 = require("./types");
7
11
  const defaultFieldConfig = {
8
12
  x: {
@@ -230,9 +234,28 @@ class PieChartDataModel {
230
234
  left: 'center',
231
235
  top: 'top',
232
236
  align: 'auto',
237
+ ...(0, legendStyles_1.getLegendStyle)('square'),
233
238
  },
234
239
  tooltip: {
235
240
  trigger: 'item',
241
+ ...(0, tooltipStyles_1.getTooltipStyle)(),
242
+ formatter: (params) => {
243
+ // Safely extract properties from params
244
+ const { color, name: nameValue, value, percent } = params;
245
+ const formattedValue = typeof value === 'number'
246
+ ? (0, formatting_1.applyCustomFormat)(value, undefined)
247
+ : String(value ?? '');
248
+ // Truncate long names
249
+ const nameStr = String(nameValue ?? '');
250
+ const truncatedName = nameStr.length > savedCharts_1.PieChartTooltipLabelMaxLength
251
+ ? `${nameStr.slice(0, savedCharts_1.PieChartTooltipLabelMaxLength)}...`
252
+ : nameStr;
253
+ const colorIndicator = (0, tooltipStyles_1.formatColorIndicator)(typeof color === 'string' ? color : '#000');
254
+ const label = (0, tooltipStyles_1.formatTooltipLabel)(truncatedName);
255
+ const valueWithPercent = `${percent}% - ${formattedValue}`;
256
+ const valuePill = (0, tooltipStyles_1.formatTooltipValue)(valueWithPercent);
257
+ return (0, tooltipStyles_1.formatTooltipRow)(colorIndicator, label, valuePill);
258
+ },
236
259
  },
237
260
  series: [
238
261
  {
@@ -254,6 +277,9 @@ class PieChartDataModel {
254
277
  }),
255
278
  },
256
279
  ],
280
+ textStyle: {
281
+ fontFamily: 'Inter, sans-serif',
282
+ },
257
283
  };
258
284
  return spec;
259
285
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PieChartDataModel.js","sourceRoot":"","sources":["../../../src/visualizations/PieChartDataModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PieChartDataModel.js","sourceRoot":"","sources":["../../../src/visualizations/PieChartDataModel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Get axis label styling (for values like "Jan", "Feb", "Mar")
3
+ */
4
+ export declare const getAxisLabelStyle: () => {
5
+ color: string;
6
+ fontWeight: string;
7
+ fontSize: number;
8
+ };
9
+ /**
10
+ * Get axis title styling (for titles like "Month", "Amount")
11
+ */
12
+ export declare const getAxisTitleStyle: () => {
13
+ color: string;
14
+ fontWeight: string;
15
+ fontSize: number;
16
+ };
17
+ /**
18
+ * Get axis line styling (the main axis line)
19
+ */
20
+ export declare const getAxisLineStyle: () => {
21
+ show: boolean;
22
+ lineStyle: {
23
+ color: string;
24
+ type: "solid";
25
+ };
26
+ };
27
+ /**
28
+ * Get tick line styling (small marks on axis)
29
+ */
30
+ export declare const getAxisTickStyle: () => {
31
+ show: boolean;
32
+ lineStyle: {
33
+ color: string;
34
+ type: "solid";
35
+ };
36
+ };
37
+ /**
38
+ * Get axis pointer styling (for highlighting when hovering over series)
39
+ */
40
+ export declare const getAxisPointerStyle: () => {
41
+ type: "shadow";
42
+ label: {
43
+ show: boolean;
44
+ fontWeight: number;
45
+ fontSize: number;
46
+ color: string;
47
+ backgroundColor: string;
48
+ };
49
+ };
50
+ //# sourceMappingURL=axisStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"axisStyles.d.ts","sourceRoot":"","sources":["../../../../../src/visualizations/helpers/styles/axisStyles.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;CAI5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;CAI5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;CAM3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;CAM3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;CAS9B,CAAC"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAxisPointerStyle = exports.getAxisTickStyle = exports.getAxisLineStyle = exports.getAxisTitleStyle = exports.getAxisLabelStyle = void 0;
4
+ const themeColors_1 = require("./themeColors");
5
+ /**
6
+ * Get axis label styling (for values like "Jan", "Feb", "Mar")
7
+ */
8
+ const getAxisLabelStyle = () => ({
9
+ color: themeColors_1.GRAY_7,
10
+ fontWeight: '500',
11
+ fontSize: 11.5,
12
+ });
13
+ exports.getAxisLabelStyle = getAxisLabelStyle;
14
+ /**
15
+ * Get axis title styling (for titles like "Month", "Amount")
16
+ */
17
+ const getAxisTitleStyle = () => ({
18
+ color: themeColors_1.AXIS_TITLE_COLOR,
19
+ fontWeight: '500',
20
+ fontSize: 12,
21
+ });
22
+ exports.getAxisTitleStyle = getAxisTitleStyle;
23
+ /**
24
+ * Get axis line styling (the main axis line)
25
+ */
26
+ const getAxisLineStyle = () => ({
27
+ show: true,
28
+ lineStyle: {
29
+ color: themeColors_1.GRAY_4,
30
+ type: 'solid',
31
+ },
32
+ });
33
+ exports.getAxisLineStyle = getAxisLineStyle;
34
+ /**
35
+ * Get tick line styling (small marks on axis)
36
+ */
37
+ const getAxisTickStyle = () => ({
38
+ show: true,
39
+ lineStyle: {
40
+ color: themeColors_1.GRAY_4,
41
+ type: 'solid',
42
+ },
43
+ });
44
+ exports.getAxisTickStyle = getAxisTickStyle;
45
+ /**
46
+ * Get axis pointer styling (for highlighting when hovering over series)
47
+ */
48
+ const getAxisPointerStyle = () => ({
49
+ type: 'shadow',
50
+ label: {
51
+ show: true,
52
+ fontWeight: 500,
53
+ fontSize: 11,
54
+ color: themeColors_1.WHITE,
55
+ backgroundColor: themeColors_1.GRAY_7,
56
+ },
57
+ });
58
+ exports.getAxisPointerStyle = getAxisPointerStyle;
59
+ //# sourceMappingURL=axisStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"axisStyles.js","sourceRoot":"","sources":["../../../../../src/visualizations/helpers/styles/axisStyles.ts"],"names":[],"mappings":";;;AAAA,+CAAwE;AAExE;;GAEG;AACI,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,CAAC;IACpC,KAAK,EAAE,oBAAM;IACb,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,IAAI;CACjB,CAAC,CAAC;AAJU,QAAA,iBAAiB,qBAI3B;AAEH;;GAEG;AACI,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,CAAC;IACpC,KAAK,EAAE,8BAAgB;IACvB,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,EAAE;CACf,CAAC,CAAC;AAJU,QAAA,iBAAiB,qBAI3B;AAEH;;GAEG;AACI,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC;IACnC,IAAI,EAAE,IAAI;IACV,SAAS,EAAE;QACP,KAAK,EAAE,oBAAM;QACb,IAAI,EAAE,OAAgB;KACzB;CACJ,CAAC,CAAC;AANU,QAAA,gBAAgB,oBAM1B;AAEH;;GAEG;AACI,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,CAAC;IACnC,IAAI,EAAE,IAAI;IACV,SAAS,EAAE;QACP,KAAK,EAAE,oBAAM;QACb,IAAI,EAAE,OAAgB;KACzB;CACJ,CAAC,CAAC;AANU,QAAA,gBAAgB,oBAM1B;AAEH;;GAEG;AACI,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAAC;IACtC,IAAI,EAAE,QAAiB;IACvB,KAAK,EAAE;QACH,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,mBAAK;QACZ,eAAe,EAAE,oBAAM;KAC1B;CACJ,CAAC,CAAC;AATU,QAAA,mBAAmB,uBAS7B"}
@@ -0,0 +1,81 @@
1
+ import { type RawResultRow, type ResultRow } from '../../../types/results';
2
+ import { type EChartsSeries, type SqlRunnerEChartsSeries } from '../../types';
3
+ /**
4
+ * Calculate dynamic border radius based on estimated bar width
5
+ * @param dataPointCount - Number of data points (categories) in the chart
6
+ * @param seriesCount - Number of bar series (non-stacked bars in same category)
7
+ * @param isStacked - Whether bars are stacked
8
+ * @returns Appropriate border radius (max 4px, scales down for thin bars)
9
+ */
10
+ export declare const calculateDynamicBorderRadius: (dataPointCount: number, seriesCount: number, isStacked: boolean) => number;
11
+ /**
12
+ * Get border radius array for a bar chart data point
13
+ * @param isHorizontal - Whether the bar chart is horizontal (flipAxes)
14
+ * @param isStackEnd - Whether this data point is at the end (top/right) of the stack
15
+ * @param radius - The border radius value to apply
16
+ */
17
+ export declare const getBarBorderRadius: (isHorizontal: boolean, isStackEnd: boolean, radius?: number) => number | number[];
18
+ /**
19
+ * Get base bar styling configuration for cartesian charts
20
+ */
21
+ export declare const getBarStyle: () => {
22
+ barCategoryGap: string;
23
+ };
24
+ /**
25
+ * Get bar total label styling (values above/beside stacked bars)
26
+ * This is specifically for stack totals, not individual bar labels
27
+ */
28
+ export declare const getBarTotalLabelStyle: () => {
29
+ color: string;
30
+ fontWeight: string;
31
+ fontSize: number;
32
+ };
33
+ /**
34
+ * Resolve the tuple index for x/y given encode + dimensions
35
+ * @param enc - The encode object
36
+ * @param dimNames - The dimension names
37
+ * @param which - The axis to resolve the index for
38
+ * @returns The index of the axis
39
+ */
40
+ export declare const getIndexFromEncode: (enc: EChartsSeries["encode"] | SqlRunnerEChartsSeries["encode"], dimNames: string[] | undefined, which: "x" | "y") => number | undefined;
41
+ type LegendValues = {
42
+ [name: string]: boolean;
43
+ } | undefined;
44
+ /**
45
+ * Apply rounded corners to stacked bars for SQL Runner (flat data format)
46
+ * SQL Runner data is flat: { field: value } instead of { field: { value: { raw: value } } }
47
+ */
48
+ export declare const applyRoundedCornersToSqlRunnerStackData: (series: SqlRunnerEChartsSeries[], rows: RawResultRow[], { radius, isHorizontal, legendSelected, }?: {
49
+ radius?: number;
50
+ isHorizontal?: boolean;
51
+ legendSelected?: {
52
+ [name: string]: boolean;
53
+ } | undefined;
54
+ }) => SqlRunnerEChartsSeries[];
55
+ /**
56
+ * Apply rounded corners to the visible end-segments of stacked bar series.
57
+ * Ref: https://github.com/apache/echarts/issues/12319#issuecomment-1341387601
58
+ *
59
+ * Process:
60
+ * - For each stack and each category (row), finds which segment is visually at the end of the stack
61
+ * (top-most for positive values, bottom-most for negative values).
62
+ * - Annotates only those segments with `itemStyle.borderRadius`, considering chart orientation
63
+ * and legend visibility.
64
+ * - We scan from top to bottom of the stack using an index-based loop so the first visible segment
65
+ * per category "wins" without extra allocations.
66
+ *
67
+ * @param series ECharts series produced for a cartesian chart
68
+ * @param rows Result rows aligned with the chart categories (Explorer format with nested values)
69
+ * @param options.radius Corner radius in px (default: 4)
70
+ * @param options.isHorizontal Whether the chart is horizontal (flipAxes)
71
+ * @param options.legendSelected Map of legend selection states used to ignore hidden series
72
+ * @returns New series array with `itemStyle.borderRadius` applied to end segments only
73
+ *
74
+ */
75
+ export declare const applyRoundedCornersToStackData: (series: EChartsSeries[], rows: ResultRow[], { radius, isHorizontal, legendSelected, }?: {
76
+ radius?: number;
77
+ isHorizontal?: boolean;
78
+ legendSelected?: LegendValues;
79
+ }) => EChartsSeries[];
80
+ export {};
81
+ //# sourceMappingURL=barChartStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"barChartStyles.d.ts","sourceRoot":"","sources":["../../../../../src/visualizations/helpers/styles/barChartStyles.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE3E,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAG9E;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,mBACrB,MAAM,eACT,MAAM,aACR,OAAO,KACnB,MAmBF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,iBACb,OAAO,cACT,OAAO,WACX,MAAM,KACf,MAAM,GAAG,MAAM,EAQjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW;;CAEtB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;CAIhC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,QACtB,aAAa,CAAC,QAAQ,CAAC,GAAG,sBAAsB,CAAC,QAAQ,CAAC,YACrD,MAAM,EAAE,GAAG,SAAS,SACvB,GAAG,GAAG,GAAG,KACjB,MAAM,GAAG,SASX,CAAC;AAEF,KAAK,YAAY,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,SAAS,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,uCAAuC,WACxC,sBAAsB,EAAE,QAC1B,YAAY,EAAE,8CAKjB;IACC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;CAC5D,KACF,sBAAsB,EAuHxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,8BAA8B,WAC/B,aAAa,EAAE,QACjB,SAAS,EAAE,8CAKd;IACC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,YAAY,CAAC;CACjC,KACF,aAAa,EA2Hf,CAAC"}
@@ -0,0 +1,336 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyRoundedCornersToStackData = exports.applyRoundedCornersToSqlRunnerStackData = exports.getIndexFromEncode = exports.getBarTotalLabelStyle = exports.getBarStyle = exports.getBarBorderRadius = exports.calculateDynamicBorderRadius = void 0;
4
+ const savedCharts_1 = require("../../../types/savedCharts");
5
+ const themeColors_1 = require("./themeColors");
6
+ /**
7
+ * Calculate dynamic border radius based on estimated bar width
8
+ * @param dataPointCount - Number of data points (categories) in the chart
9
+ * @param seriesCount - Number of bar series (non-stacked bars in same category)
10
+ * @param isStacked - Whether bars are stacked
11
+ * @returns Appropriate border radius (max 4px, scales down for thin bars)
12
+ */
13
+ const calculateDynamicBorderRadius = (dataPointCount, seriesCount, isStacked) => {
14
+ // Estimate relative bar width based on number of categories and series
15
+ // Assumptions: typical chart is ~600px wide, barCategoryGap is 25%
16
+ const estimatedChartWidth = 600;
17
+ const barCategoryGap = 0.25;
18
+ // Width available per category
19
+ const categoryWidth = estimatedChartWidth / dataPointCount;
20
+ // Width for bars (after gap)
21
+ const barGroupWidth = categoryWidth * (1 - barCategoryGap);
22
+ // Individual bar width (stacked bars share width, non-stacked split it)
23
+ const barWidth = isStacked ? barGroupWidth : barGroupWidth / seriesCount;
24
+ // Calculate radius as percentage of bar width (15%), capped at 4px minimum 2px
25
+ const dynamicRadius = Math.max(1, Math.min(4, barWidth * 0.15));
26
+ return Math.round(dynamicRadius);
27
+ };
28
+ exports.calculateDynamicBorderRadius = calculateDynamicBorderRadius;
29
+ /**
30
+ * Get border radius array for a bar chart data point
31
+ * @param isHorizontal - Whether the bar chart is horizontal (flipAxes)
32
+ * @param isStackEnd - Whether this data point is at the end (top/right) of the stack
33
+ * @param radius - The border radius value to apply
34
+ */
35
+ const getBarBorderRadius = (isHorizontal, isStackEnd, radius = 4) => {
36
+ if (!isStackEnd) {
37
+ return 0;
38
+ }
39
+ // Horizontal (flipAxes): round right side [top-right, bottom-right, bottom-left, top-left]
40
+ // Vertical: round top side [top-left, top-right, bottom-right, bottom-left]
41
+ return isHorizontal ? [0, radius, radius, 0] : [radius, radius, 0, 0];
42
+ };
43
+ exports.getBarBorderRadius = getBarBorderRadius;
44
+ /**
45
+ * Get base bar styling configuration for cartesian charts
46
+ */
47
+ const getBarStyle = () => ({
48
+ barCategoryGap: '25%', // Gap between bars: width is 3x the gap (75% / 25% = 3)
49
+ });
50
+ exports.getBarStyle = getBarStyle;
51
+ /**
52
+ * Get bar total label styling (values above/beside stacked bars)
53
+ * This is specifically for stack totals, not individual bar labels
54
+ */
55
+ const getBarTotalLabelStyle = () => ({
56
+ color: themeColors_1.GRAY_9,
57
+ fontWeight: '500',
58
+ fontSize: 11,
59
+ });
60
+ exports.getBarTotalLabelStyle = getBarTotalLabelStyle;
61
+ /**
62
+ * Resolve the tuple index for x/y given encode + dimensions
63
+ * @param enc - The encode object
64
+ * @param dimNames - The dimension names
65
+ * @param which - The axis to resolve the index for
66
+ * @returns The index of the axis
67
+ */
68
+ const getIndexFromEncode = (enc, dimNames, which) => {
69
+ const e = enc?.[which];
70
+ if (typeof e === 'number')
71
+ return e;
72
+ if (Array.isArray(e))
73
+ return typeof e[0] === 'number' ? e[0] : undefined;
74
+ if (typeof e === 'string') {
75
+ const idx = dimNames ? dimNames.indexOf(e) : undefined;
76
+ return idx != null && idx >= 0 ? idx : undefined;
77
+ }
78
+ return undefined;
79
+ };
80
+ exports.getIndexFromEncode = getIndexFromEncode;
81
+ /**
82
+ * Apply rounded corners to stacked bars for SQL Runner (flat data format)
83
+ * SQL Runner data is flat: { field: value } instead of { field: { value: { raw: value } } }
84
+ */
85
+ const applyRoundedCornersToSqlRunnerStackData = (series, rows, { radius = 4, isHorizontal = false, legendSelected, } = {}) => {
86
+ const out = series.map((s) => ({ ...s }));
87
+ const indexMap = new Map();
88
+ series.forEach((s, i) => indexMap.set(s, i));
89
+ const isVisible = (s) => {
90
+ if (!legendSelected)
91
+ return true;
92
+ const name = s.name || (Array.isArray(s.dimensions) ? s.dimensions[1] : '');
93
+ if (!name)
94
+ return true;
95
+ return legendSelected[name] ?? true;
96
+ };
97
+ const getDimNames = (s) => (s.dimensions || []).filter(Boolean);
98
+ const getHashFromEncode = (s, which) => s.encode?.[which] || undefined;
99
+ // Only stacked BAR series
100
+ const stacks = {};
101
+ series.forEach((s) => {
102
+ var _a;
103
+ if (s.type === 'bar' && s.stack) {
104
+ (stacks[_a = s.stack] || (stacks[_a] = [])).push(s);
105
+ }
106
+ });
107
+ Object.values(stacks).forEach((group) => {
108
+ if (!group.length)
109
+ return;
110
+ const topPosAt = rows.map(() => -1);
111
+ const topNegAt = rows.map(() => -1);
112
+ // Determine which series sits at the visible end for each category index
113
+ for (let i = group.length - 1; i >= 0; i--) {
114
+ const s = group[i];
115
+ if (!isVisible(s))
116
+ continue;
117
+ const valHash = isHorizontal
118
+ ? getHashFromEncode(s, 'x')
119
+ : getHashFromEncode(s, 'y');
120
+ for (let r = 0; r < rows.length; r++) {
121
+ // SQL Runner uses flat format: row[field] directly
122
+ const raw = valHash ? rows[r]?.[valHash] : undefined;
123
+ let v = null;
124
+ if (typeof raw === 'number') {
125
+ v = raw;
126
+ }
127
+ else if (Number.isFinite(Number(raw))) {
128
+ v = Number(raw);
129
+ }
130
+ if (v == null || v === 0)
131
+ continue;
132
+ if (v > 0 && topPosAt[r] === -1)
133
+ topPosAt[r] = i;
134
+ if (v < 0 && topNegAt[r] === -1)
135
+ topNegAt[r] = i;
136
+ }
137
+ }
138
+ // Build data with tuple indices aligned to encode+dimensions
139
+ group.forEach((s, gi) => {
140
+ const outIdx = indexMap.get(s);
141
+ if (outIdx === undefined)
142
+ return;
143
+ const dimNames = getDimNames(s);
144
+ const xIdx = (0, exports.getIndexFromEncode)(s.encode, dimNames, 'x') ?? 0;
145
+ const yIdx = (0, exports.getIndexFromEncode)(s.encode, dimNames, 'y') ?? 1;
146
+ const xHash = getHashFromEncode(s, 'x');
147
+ const yHash = getHashFromEncode(s, 'y');
148
+ const data = rows.map((row, r) => {
149
+ const catHash = isHorizontal ? yHash : xHash;
150
+ const valHash = isHorizontal ? xHash : yHash;
151
+ // SQL Runner uses flat format
152
+ const cat = catHash ? row[catHash] : undefined;
153
+ const raw = valHash ? row[valHash] : undefined;
154
+ let v = null;
155
+ if (typeof raw === 'number') {
156
+ v = raw;
157
+ }
158
+ else if (Number.isFinite(Number(raw))) {
159
+ v = Number(raw);
160
+ }
161
+ const value = [];
162
+ if (isHorizontal) {
163
+ value[xIdx] = v;
164
+ value[yIdx] = cat;
165
+ }
166
+ else {
167
+ value[xIdx] = cat;
168
+ value[yIdx] = v;
169
+ }
170
+ if (v == null)
171
+ return { value };
172
+ const isTopPos = v > 0 && topPosAt[r] === gi;
173
+ const isTopNeg = v < 0 && topNegAt[r] === gi;
174
+ if (!isTopPos && !isTopNeg)
175
+ return { value };
176
+ let borderRadius = 0;
177
+ if (isHorizontal) {
178
+ borderRadius = isTopPos
179
+ ? [0, radius, radius, 0]
180
+ : [radius, 0, 0, radius];
181
+ }
182
+ else {
183
+ borderRadius = isTopPos
184
+ ? [radius, radius, 0, 0]
185
+ : [0, 0, radius, radius];
186
+ }
187
+ return {
188
+ value,
189
+ itemStyle: { ...(s.itemStyle || {}), borderRadius },
190
+ };
191
+ });
192
+ out[outIdx] = { ...out[outIdx], data };
193
+ });
194
+ });
195
+ return out;
196
+ };
197
+ exports.applyRoundedCornersToSqlRunnerStackData = applyRoundedCornersToSqlRunnerStackData;
198
+ /**
199
+ * Apply rounded corners to the visible end-segments of stacked bar series.
200
+ * Ref: https://github.com/apache/echarts/issues/12319#issuecomment-1341387601
201
+ *
202
+ * Process:
203
+ * - For each stack and each category (row), finds which segment is visually at the end of the stack
204
+ * (top-most for positive values, bottom-most for negative values).
205
+ * - Annotates only those segments with `itemStyle.borderRadius`, considering chart orientation
206
+ * and legend visibility.
207
+ * - We scan from top to bottom of the stack using an index-based loop so the first visible segment
208
+ * per category "wins" without extra allocations.
209
+ *
210
+ * @param series ECharts series produced for a cartesian chart
211
+ * @param rows Result rows aligned with the chart categories (Explorer format with nested values)
212
+ * @param options.radius Corner radius in px (default: 4)
213
+ * @param options.isHorizontal Whether the chart is horizontal (flipAxes)
214
+ * @param options.legendSelected Map of legend selection states used to ignore hidden series
215
+ * @returns New series array with `itemStyle.borderRadius` applied to end segments only
216
+ *
217
+ */
218
+ const applyRoundedCornersToStackData = (series, rows, { radius = 4, isHorizontal = false, legendSelected, } = {}) => {
219
+ const out = series.map((s) => ({ ...s }));
220
+ const indexMap = new Map();
221
+ series.forEach((s, i) => indexMap.set(s, i));
222
+ const isVisible = (s) => {
223
+ if (!legendSelected)
224
+ return true;
225
+ const name = s.name || s.dimensions?.[1]?.displayName || '';
226
+ if (!name)
227
+ return true;
228
+ return legendSelected[name] ?? true;
229
+ };
230
+ const getDimNames = (s) => (s.dimensions || [])
231
+ .map((d) => (typeof d === 'string' ? d : d?.name))
232
+ .filter(Boolean);
233
+ const getHashFromEncode = (s, which) => s.encode?.[which] || undefined;
234
+ // Only stacked BAR series
235
+ const stacks = {};
236
+ series.forEach((s) => {
237
+ var _a;
238
+ if (s.type === savedCharts_1.CartesianSeriesType.BAR && s.stack) {
239
+ (stacks[_a = s.stack] || (stacks[_a] = [])).push(s);
240
+ }
241
+ });
242
+ Object.values(stacks).forEach((group) => {
243
+ if (!group.length)
244
+ return;
245
+ const topPosAt = rows.map(() => -1);
246
+ const topNegAt = rows.map(() => -1);
247
+ // Determine which series sits at the visible end for each category index
248
+ for (let i = group.length - 1; i >= 0; i--) {
249
+ const s = group[i];
250
+ if (!isVisible(s))
251
+ continue;
252
+ // Get the hash of the value field - if the chart is horizontal, it's the x field, otherwise it's the y field
253
+ const valHash = isHorizontal
254
+ ? getHashFromEncode(s, 'x')
255
+ : getHashFromEncode(s, 'y');
256
+ for (let r = 0; r < rows.length; r++) {
257
+ const raw = valHash
258
+ ? rows[r]?.[valHash]?.value?.raw
259
+ : undefined;
260
+ let v = null;
261
+ if (typeof raw === 'number') {
262
+ v = raw;
263
+ }
264
+ else if (Number.isFinite(Number(raw))) {
265
+ v = Number(raw);
266
+ }
267
+ if (v == null || v === 0)
268
+ continue;
269
+ // Track the index of the series that is at the top of the stack for each category
270
+ if (v > 0 && topPosAt[r] === -1)
271
+ topPosAt[r] = i;
272
+ if (v < 0 && topNegAt[r] === -1)
273
+ topNegAt[r] = i;
274
+ }
275
+ }
276
+ // Build data with tuple indices aligned to encode+dimensions
277
+ group.forEach((s, gi) => {
278
+ const outIdx = indexMap.get(s);
279
+ if (outIdx === undefined)
280
+ return;
281
+ const dimNames = getDimNames(s);
282
+ const xIdx = (0, exports.getIndexFromEncode)(s.encode, dimNames, 'x') ?? 0;
283
+ const yIdx = (0, exports.getIndexFromEncode)(s.encode, dimNames, 'y') ?? 1;
284
+ const xHash = getHashFromEncode(s, 'x');
285
+ const yHash = getHashFromEncode(s, 'y');
286
+ const data = rows.map((row, r) => {
287
+ const catHash = isHorizontal ? yHash : xHash; // category field in data
288
+ const valHash = isHorizontal ? xHash : yHash; // numeric field in data
289
+ const cat = catHash ? row[catHash]?.value?.raw : undefined;
290
+ const raw = valHash ? row[valHash]?.value?.raw : undefined;
291
+ let v = null;
292
+ if (typeof raw === 'number') {
293
+ v = raw;
294
+ }
295
+ else if (Number.isFinite(Number(raw))) {
296
+ v = Number(raw);
297
+ }
298
+ // Place values at the correct tuple indices
299
+ const value = [];
300
+ if (isHorizontal) {
301
+ value[xIdx] = v;
302
+ value[yIdx] = cat;
303
+ }
304
+ else {
305
+ value[xIdx] = cat;
306
+ value[yIdx] = v;
307
+ }
308
+ if (v == null)
309
+ return { value };
310
+ const isTopPos = v > 0 && topPosAt[r] === gi;
311
+ const isTopNeg = v < 0 && topNegAt[r] === gi;
312
+ if (!isTopPos && !isTopNeg)
313
+ return { value };
314
+ let borderRadius = 0;
315
+ if (isHorizontal) {
316
+ borderRadius = isTopPos
317
+ ? [0, radius, radius, 0] // round right side for +X
318
+ : [radius, 0, 0, radius]; // round left side for -X
319
+ }
320
+ else {
321
+ borderRadius = isTopPos
322
+ ? [radius, radius, 0, 0] // round top for +Y
323
+ : [0, 0, radius, radius]; // round bottom for -Y
324
+ }
325
+ return {
326
+ value,
327
+ itemStyle: { ...(s.itemStyle || {}), borderRadius },
328
+ };
329
+ });
330
+ out[outIdx] = { ...out[outIdx], data };
331
+ });
332
+ });
333
+ return out;
334
+ };
335
+ exports.applyRoundedCornersToStackData = applyRoundedCornersToStackData;
336
+ //# sourceMappingURL=barChartStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"barChartStyles.js","sourceRoot":"","sources":["../../../../../src/visualizations/helpers/styles/barChartStyles.ts"],"names":[],"mappings":";;;AAIA,4DAAiE;AAEjE,+CAAuC;AAEvC;;;;;;GAMG;AACI,MAAM,4BAA4B,GAAG,CACxC,cAAsB,EACtB,WAAmB,EACnB,SAAkB,EACZ,EAAE;IACR,uEAAuE;IACvE,mEAAmE;IACnE,MAAM,mBAAmB,GAAG,GAAG,CAAC;IAChC,MAAM,cAAc,GAAG,IAAI,CAAC;IAE5B,+BAA+B;IAC/B,MAAM,aAAa,GAAG,mBAAmB,GAAG,cAAc,CAAC;IAE3D,6BAA6B;IAC7B,MAAM,aAAa,GAAG,aAAa,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;IAE3D,wEAAwE;IACxE,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,GAAG,WAAW,CAAC;IAEzE,+EAA+E;IAC/E,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;IAEhE,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AACrC,CAAC,CAAC;AAvBW,QAAA,4BAA4B,gCAuBvC;AAEF;;;;;GAKG;AACI,MAAM,kBAAkB,GAAG,CAC9B,YAAqB,EACrB,UAAmB,EACnB,SAAiB,CAAC,EACD,EAAE;IACnB,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,CAAC,CAAC;IACb,CAAC;IAED,2FAA2F;IAC3F,4EAA4E;IAC5E,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC;AAZW,QAAA,kBAAkB,sBAY7B;AAEF;;GAEG;AACI,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CAAC;IAC9B,cAAc,EAAE,KAAK,EAAE,wDAAwD;CAClF,CAAC,CAAC;AAFU,QAAA,WAAW,eAErB;AAEH;;;GAGG;AACI,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,CAAC;IACxC,KAAK,EAAE,oBAAM;IACb,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,EAAE;CACf,CAAC,CAAC;AAJU,QAAA,qBAAqB,yBAI/B;AAEH;;;;;;GAMG;AACI,MAAM,kBAAkB,GAAG,CAC9B,GAA+D,EAC/D,QAA8B,EAC9B,KAAgB,EACE,EAAE;IACpB,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACvB,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvD,OAAO,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAbW,QAAA,kBAAkB,sBAa7B;AAIF;;;GAGG;AACI,MAAM,uCAAuC,GAAG,CACnD,MAAgC,EAChC,IAAoB,EACpB,EACI,MAAM,GAAG,CAAC,EACV,YAAY,GAAG,KAAK,EACpB,cAAc,MAKd,EAAE,EACkB,EAAE;IAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC3D,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C,MAAM,SAAS,GAAG,CAAC,CAAyB,EAAE,EAAE;QAC5C,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QACjC,MAAM,IAAI,GACN,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACxC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,CAAyB,EAAE,EAAE,CAC9C,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;IAErD,MAAM,iBAAiB,GAAG,CAAC,CAAyB,EAAE,KAAgB,EAAE,EAAE,CACrE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAwB,IAAI,SAAS,CAAC;IAE3D,0BAA0B;IAC1B,MAAM,MAAM,GAA6C,EAAE,CAAC;IAC5D,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;;QACjB,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC,MAAM,MAAC,CAAC,CAAC,KAAK,MAAd,MAAM,OAAc,EAAE,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACpC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAE1B,MAAM,QAAQ,GAAa,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAa,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9C,yEAAyE;QACzE,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAAE,SAAS;YAE5B,MAAM,OAAO,GAAG,YAAY;gBACxB,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC3B,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,mDAAmD;gBACnD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACrD,IAAI,CAAC,GAAkB,IAAI,CAAC;gBAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC1B,CAAC,GAAG,GAAG,CAAC;gBACZ,CAAC;qBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACtC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;gBACD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;oBAAE,SAAS;gBACnC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;QAED,6DAA6D;QAC7D,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO;YAEjC,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,IAAA,0BAAkB,EAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,IAAA,0BAAkB,EAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAE9D,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAExC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;gBAE7C,8BAA8B;gBAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/C,IAAI,CAAC,GAAkB,IAAI,CAAC;gBAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC1B,CAAC,GAAG,GAAG,CAAC;gBACZ,CAAC;qBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACtC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;gBAED,MAAM,KAAK,GAAc,EAAE,CAAC;gBAC5B,IAAI,YAAY,EAAE,CAAC;oBACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;oBAClB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;gBAED,IAAI,CAAC,IAAI,IAAI;oBAAE,OAAO,EAAE,KAAK,EAAE,CAAC;gBAEhC,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC7C,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;oBAAE,OAAO,EAAE,KAAK,EAAE,CAAC;gBAE7C,IAAI,YAAY,GAAsB,CAAC,CAAC;gBACxC,IAAI,YAAY,EAAE,CAAC;oBACf,YAAY,GAAG,QAAQ;wBACnB,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;wBACxB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACJ,YAAY,GAAG,QAAQ;wBACnB,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;wBACxB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;gBACjC,CAAC;gBAED,OAAO;oBACH,KAAK;oBACL,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE;iBACtD,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;QAC3C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAnIW,QAAA,uCAAuC,2CAmIlD;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACI,MAAM,8BAA8B,GAAG,CAC1C,MAAuB,EACvB,IAAiB,EACjB,EACI,MAAM,GAAG,CAAC,EACV,YAAY,GAAG,KAAK,EACpB,cAAc,MAKd,EAAE,EACS,EAAE;IACjB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE7C,MAAM,SAAS,GAAG,CAAC,CAAgB,EAAE,EAAE;QACnC,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QACjC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACxC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,CAAgB,EAAE,EAAE,CACrC,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;SACjD,MAAM,CAAC,OAAO,CAAa,CAAC;IAErC,MAAM,iBAAiB,GAAG,CAAC,CAAgB,EAAE,KAAgB,EAAE,EAAE,CAC5D,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAwB,IAAI,SAAS,CAAC;IAE3D,0BAA0B;IAC1B,MAAM,MAAM,GAAoC,EAAE,CAAC;IACnD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;;QACjB,IAAI,CAAC,CAAC,IAAI,KAAK,iCAAmB,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YAChD,CAAC,MAAM,MAAC,CAAC,CAAC,KAAK,MAAd,MAAM,OAAc,EAAE,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACpC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAE1B,MAAM,QAAQ,GAAa,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAa,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9C,yEAAyE;QACzE,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAAE,SAAS;YAE5B,6GAA6G;YAC7G,MAAM,OAAO,GAAG,YAAY;gBACxB,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC3B,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,OAAO;oBACf,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG;oBAChC,CAAC,CAAC,SAAS,CAAC;gBAChB,IAAI,CAAC,GAAkB,IAAI,CAAC;gBAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC1B,CAAC,GAAG,GAAG,CAAC;gBACZ,CAAC;qBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACtC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;gBACD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;oBAAE,SAAS;gBACnC,kFAAkF;gBAClF,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;QAED,6DAA6D;QAC7D,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO;YAEjC,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,IAAA,0BAAkB,EAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,IAAA,0BAAkB,EAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAE9D,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAExC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,yBAAyB;gBACvE,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,wBAAwB;gBAEtE,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3D,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3D,IAAI,CAAC,GAAkB,IAAI,CAAC;gBAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC1B,CAAC,GAAG,GAAG,CAAC;gBACZ,CAAC;qBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACtC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;gBAED,4CAA4C;gBAC5C,MAAM,KAAK,GAAc,EAAE,CAAC;gBAC5B,IAAI,YAAY,EAAE,CAAC;oBACf,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;oBAClB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;gBAED,IAAI,CAAC,IAAI,IAAI;oBAAE,OAAO,EAAE,KAAK,EAAE,CAAC;gBAEhC,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC7C,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;oBAAE,OAAO,EAAE,KAAK,EAAE,CAAC;gBAE7C,IAAI,YAAY,GAAsB,CAAC,CAAC;gBACxC,IAAI,YAAY,EAAE,CAAC;oBACf,YAAY,GAAG,QAAQ;wBACnB,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,0BAA0B;wBACnD,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,yBAAyB;gBAC3D,CAAC;qBAAM,CAAC;oBACJ,YAAY,GAAG,QAAQ;wBACnB,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB;wBAC5C,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,sBAAsB;gBACxD,CAAC;gBAED,OAAO;oBACH,KAAK;oBACL,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE;iBACtD,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;QAC3C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;AAvIW,QAAA,8BAA8B,kCAuIzC"}