@perses-dev/pie-chart-plugin 0.14.0 → 0.15.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/__mf/js/{PieChart.a102eecb.js → PieChart.5c25af4b.js} +4 -4
  2. package/__mf/js/async/121.3f985aad.js +2 -0
  3. package/__mf/js/async/192.e77db572.js +1 -0
  4. package/__mf/js/async/2.0d6a1680.js +1 -0
  5. package/__mf/js/async/235.2bb8ba2f.js +1 -0
  6. package/__mf/js/async/237.418111c6.js +2 -0
  7. package/__mf/js/async/274.0fa32f07.js +2 -0
  8. package/__mf/js/async/356.b5aee61d.js +1 -0
  9. package/__mf/js/async/376.d72b6d45.js +110 -0
  10. package/__mf/js/async/392.311100c7.js +2 -0
  11. package/__mf/js/async/407.2557a182.js +4 -0
  12. package/__mf/js/async/407.2557a182.js.LICENSE.txt +9 -0
  13. package/__mf/js/async/469.a5d124bd.js +1 -0
  14. package/__mf/js/async/470.7f042d46.js +2 -0
  15. package/__mf/js/async/496.ea85fb9d.js +1 -0
  16. package/__mf/js/async/554.ffbb20fd.js +2 -0
  17. package/__mf/js/async/587.fceb5f76.js +1 -0
  18. package/__mf/js/async/588.a2bbd130.js +1 -0
  19. package/__mf/js/async/603.312da395.js +1 -0
  20. package/__mf/js/async/616.cebd9b21.js +1 -0
  21. package/__mf/js/async/66.77308b27.js +1 -0
  22. package/__mf/js/async/71.87ecdff0.js +1 -0
  23. package/__mf/js/async/77.9d431bfa.js +1 -0
  24. package/__mf/js/async/788.cf73b628.js +43 -0
  25. package/__mf/js/async/{576.9e075806.js.LICENSE.txt → 788.cf73b628.js.LICENSE.txt} +41 -1
  26. package/__mf/js/async/873.48c1c973.js +1 -0
  27. package/__mf/js/async/941.1d0acff2.js +2 -0
  28. package/__mf/js/async/968.69813416.js +1 -0
  29. package/__mf/js/async/978.d64118ad.js +1 -0
  30. package/__mf/js/async/__federation_expose_PieChart.2e3c97fd.js +4 -0
  31. package/__mf/js/async/lib-router.64f2eab9.js +2 -0
  32. package/__mf/js/{main.bb1593b7.js → main.fa92d32d.js} +2 -2
  33. package/lib/PieChart.d.ts +3 -3
  34. package/lib/PieChart.d.ts.map +1 -1
  35. package/lib/PieChart.js +3 -3
  36. package/lib/PieChart.js.map +1 -1
  37. package/lib/PieChartBase.d.ts +2 -2
  38. package/lib/PieChartBase.d.ts.map +1 -1
  39. package/lib/PieChartBase.js +8 -8
  40. package/lib/PieChartBase.js.map +1 -1
  41. package/lib/PieChartOptionsEditorSettings.d.ts +2 -2
  42. package/lib/PieChartOptionsEditorSettings.d.ts.map +1 -1
  43. package/lib/PieChartOptionsEditorSettings.js +13 -10
  44. package/lib/PieChartOptionsEditorSettings.js.map +1 -1
  45. package/lib/PieChartPanel.d.ts +4 -4
  46. package/lib/PieChartPanel.d.ts.map +1 -1
  47. package/lib/PieChartPanel.js +9 -9
  48. package/lib/PieChartPanel.js.map +1 -1
  49. package/lib/bootstrap.js +2 -2
  50. package/lib/colors.js +3 -3
  51. package/lib/colors.js.map +1 -1
  52. package/lib/getPluginModule.d.ts +1 -1
  53. package/lib/getPluginModule.d.ts.map +1 -1
  54. package/lib/getPluginModule.js +3 -1
  55. package/lib/getPluginModule.js.map +1 -1
  56. package/lib/index-federation.js +1 -1
  57. package/lib/index.js +6 -6
  58. package/lib/index.js.map +1 -1
  59. package/lib/pie-chart-model.d.ts +3 -3
  60. package/lib/pie-chart-model.d.ts.map +1 -1
  61. package/lib/pie-chart-model.js +1 -1
  62. package/lib/pie-chart-model.js.map +1 -1
  63. package/lib/setup-tests.d.ts +1 -1
  64. package/lib/setup-tests.d.ts.map +1 -1
  65. package/lib/setup-tests.js +2 -2
  66. package/lib/setup-tests.js.map +1 -1
  67. package/lib/utils.d.ts +3 -3
  68. package/lib/utils.d.ts.map +1 -1
  69. package/lib/utils.js +5 -5
  70. package/lib/utils.js.map +1 -1
  71. package/mf-manifest.json +36 -33
  72. package/mf-stats.json +36 -33
  73. package/package.json +10 -10
  74. package/__mf/js/async/121.61df50b5.js +0 -2
  75. package/__mf/js/async/177.7624b91a.js +0 -1
  76. package/__mf/js/async/187.65618c74.js +0 -7
  77. package/__mf/js/async/187.65618c74.js.LICENSE.txt +0 -39
  78. package/__mf/js/async/192.d45ba757.js +0 -1
  79. package/__mf/js/async/2.651ba6ec.js +0 -1
  80. package/__mf/js/async/235.495df342.js +0 -1
  81. package/__mf/js/async/274.5c1e13d7.js +0 -2
  82. package/__mf/js/async/356.5cd094ae.js +0 -1
  83. package/__mf/js/async/376.196cec5c.js +0 -110
  84. package/__mf/js/async/392.281005cf.js +0 -2
  85. package/__mf/js/async/469.ea0276a5.js +0 -1
  86. package/__mf/js/async/470.0b301928.js +0 -2
  87. package/__mf/js/async/546.b800e1ff.js +0 -24
  88. package/__mf/js/async/546.b800e1ff.js.LICENSE.txt +0 -19
  89. package/__mf/js/async/554.507b3545.js +0 -2
  90. package/__mf/js/async/558.9bb26cf7.js +0 -1
  91. package/__mf/js/async/576.9e075806.js +0 -39
  92. package/__mf/js/async/587.a59f7544.js +0 -1
  93. package/__mf/js/async/603.224eeb96.js +0 -1
  94. package/__mf/js/async/616.702bde53.js +0 -1
  95. package/__mf/js/async/66.13296185.js +0 -1
  96. package/__mf/js/async/663.d4632bd2.js +0 -1
  97. package/__mf/js/async/873.8941a36f.js +0 -1
  98. package/__mf/js/async/941.b972dd8a.js +0 -2
  99. package/__mf/js/async/968.6009cb29.js +0 -1
  100. package/__mf/js/async/__federation_expose_PieChart.9cd45fce.js +0 -4
  101. package/__mf/js/async/lib-router.c182f4dd.js +0 -2
  102. package/lib/cjs/PieChart.js +0 -38
  103. package/lib/cjs/PieChartBase.js +0 -100
  104. package/lib/cjs/PieChartOptionsEditorSettings.js +0 -247
  105. package/lib/cjs/PieChartPanel.js +0 -155
  106. package/lib/cjs/bootstrap.js +0 -26
  107. package/lib/cjs/colors.js +0 -207
  108. package/lib/cjs/env.d.js +0 -14
  109. package/lib/cjs/getPluginModule.js +0 -39
  110. package/lib/cjs/index-federation.js +0 -55
  111. package/lib/cjs/index.js +0 -41
  112. package/lib/cjs/pie-chart-model.js +0 -53
  113. package/lib/cjs/setup-tests.js +0 -19
  114. package/lib/cjs/utils.js +0 -163
  115. /package/__mf/css/async/{187.85c2cbf6.css → 788.85c2cbf6.css} +0 -0
  116. /package/__mf/js/async/{121.61df50b5.js.LICENSE.txt → 121.3f985aad.js.LICENSE.txt} +0 -0
  117. /package/__mf/js/async/{274.5c1e13d7.js.LICENSE.txt → 274.0fa32f07.js.LICENSE.txt} +0 -0
  118. /package/__mf/js/async/{376.196cec5c.js.LICENSE.txt → 376.d72b6d45.js.LICENSE.txt} +0 -0
  119. /package/__mf/js/async/{392.281005cf.js.LICENSE.txt → 392.311100c7.js.LICENSE.txt} +0 -0
  120. /package/__mf/js/async/{470.0b301928.js.LICENSE.txt → 470.7f042d46.js.LICENSE.txt} +0 -0
  121. /package/__mf/js/async/{554.507b3545.js.LICENSE.txt → 554.ffbb20fd.js.LICENSE.txt} +0 -0
  122. /package/__mf/js/async/{941.b972dd8a.js.LICENSE.txt → 941.1d0acff2.js.LICENSE.txt} +0 -0
  123. /package/__mf/js/async/{lib-router.c182f4dd.js.LICENSE.txt → lib-router.64f2eab9.js.LICENSE.txt} +0 -0
package/lib/utils.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { FormatOptions, LegendItem, ModeOption, SortOption, TableColumnConfig } from '@perses-dev/components';
2
- import { ComparisonValues, LegendValue } from '@perses-dev/plugin-system';
3
- import { PieChartData } from './PieChartBase';
1
+ import type { FormatOptions, LegendItem, ModeOption, SortOption, TableColumnConfig } from '@perses-dev/components';
2
+ import type { ComparisonValues, LegendValue } from '@perses-dev/plugin-system';
3
+ import type { PieChartData } from './PieChartBase';
4
4
  export declare function sortSeriesData<T extends PieChartData>(data: T[], sortOrder?: SortOption): T[];
5
5
  type formatterProps = {
6
6
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,aAAa,EAEb,UAAU,EACV,UAAU,EACV,UAAU,EACV,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAqB,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,wBAAgB,cAAc,CAAC,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,GAAE,UAAyB,GAAG,CAAC,EAAE,CAW3G;AAED,KAAK,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAC5F,eAAO,MAAM,mBAAmB,GAAI,gBAAgB,aAAa,KAAG,CAAC,CAAC,KAAK,EAAE,cAAc,KAAK,MAAM,CAQrG,CAAC;AACF,eAAO,MAAM,iBAAiB,GAC5B,OAAO,UAAU,EACjB,gBAAgB,aAAa,KAC5B,CAAC,CAAC,KAAK,EAAE,cAAc,KAAK,MAAM,CAKpC,CAAC;AAkBF,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,CAChB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAC3C,cAAc,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,gBAAgB,CAAC,KACnD,UAAU,EAAE,CAAC;IAClB,kBAAkB,EAAE,CAClB,cAAc,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,gBAAgB,CAAC,EACtD,aAAa,CAAC,EAAE,aAAa,KAC1B,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;CAC3C;AAED,qBAAa,wBAAyB,YAAW,oBAAoB;IACnE,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,UAAU,EAAE;IAG3E,kBAAkB,IAAI,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;CAG3D;AAED,qBAAa,yBAA0B,YAAW,oBAAoB;IACpE,gBAAgB,CACd,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAC3C,cAAc,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,gBAAgB,CAAC,GACrD,UAAU,EAAE;IAwBf,kBAAkB,CAChB,cAAc,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,gBAAgB,CAAC,EACtD,aAAa,CAAC,EAAE,aAAa,GAC5B,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;CAuBxC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEnH,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAK/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,wBAAgB,cAAc,CAAC,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,GAAE,UAAyB,GAAG,CAAC,EAAE,CAW3G;AAED,KAAK,cAAc,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAC5F,eAAO,MAAM,mBAAmB,GAAI,gBAAgB,aAAa,KAAG,CAAC,CAAC,KAAK,EAAE,cAAc,KAAK,MAAM,CAQrG,CAAC;AACF,eAAO,MAAM,iBAAiB,GAC5B,OAAO,UAAU,EACjB,gBAAgB,aAAa,KAC5B,CAAC,CAAC,KAAK,EAAE,cAAc,KAAK,MAAM,CAKpC,CAAC;AAkBF,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,CAChB,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAC3C,cAAc,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,gBAAgB,CAAC,KACnD,UAAU,EAAE,CAAC;IAClB,kBAAkB,EAAE,CAClB,cAAc,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,gBAAgB,CAAC,EACtD,aAAa,CAAC,EAAE,aAAa,KAC1B,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;CAC3C;AAED,qBAAa,wBAAyB,YAAW,oBAAoB;IACnE,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,UAAU,EAAE;IAG3E,kBAAkB,IAAI,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;CAG3D;AAED,qBAAa,yBAA0B,YAAW,oBAAoB;IACpE,gBAAgB,CACd,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAC3C,cAAc,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,gBAAgB,CAAC,GACrD,UAAU,EAAE;IAwBf,kBAAkB,CAChB,cAAc,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,gBAAgB,CAAC,EACtD,aAAa,CAAC,EAAE,aAAa,GAC5B,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;CAuBxC"}
package/lib/utils.js CHANGED
@@ -10,12 +10,12 @@
10
10
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
11
  // See the License for the specific language governing permissions and
12
12
  // limitations under the License.
13
- import { formatValue } from '@perses-dev/components';
14
- import { format } from 'echarts';
15
- import { comparisonLegends } from '@perses-dev/plugin-system';
16
- import { DEFAULT_SORT } from './pie-chart-model';
13
+ import { formatValue } from "@perses-dev/components";
14
+ import { comparisonLegends } from "@perses-dev/plugin-system";
15
+ import { format } from "echarts";
16
+ import { DEFAULT_SORT } from "./pie-chart-model.js";
17
17
  export function sortSeriesData(data, sortOrder = DEFAULT_SORT) {
18
- return data.sort((a, b)=>{
18
+ return data.toSorted((a, b)=>{
19
19
  // Handle null values - push them to the end regardless of sort order
20
20
  if (a.value === null && b.value === null) return 0;
21
21
  if (a.value === null) return 1;
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport {\n FormatOptions,\n formatValue,\n LegendItem,\n ModeOption,\n SortOption,\n TableColumnConfig,\n} from '@perses-dev/components';\nimport { format } from 'echarts';\nimport { comparisonLegends, ComparisonValues, LegendValue } from '@perses-dev/plugin-system';\nimport { PieChartData } from './PieChartBase';\nimport { DEFAULT_SORT } from './pie-chart-model';\n\nexport function sortSeriesData<T extends PieChartData>(data: T[], sortOrder: SortOption = DEFAULT_SORT): T[] {\n return data.sort((a, b) => {\n // Handle null values - push them to the end regardless of sort order\n if (a.value === null && b.value === null) return 0;\n if (a.value === null) return 1;\n if (b.value === null) return -1;\n\n // Sort by value\n const diff = (a.value ?? 0) - (b.value ?? 0);\n return sortOrder === 'asc' ? diff : -diff;\n });\n}\n\ntype formatterProps = { name: string; value: number | unknown[] | object; percent: number };\nexport const getTooltipFormatter = (formatOptions?: FormatOptions): ((props: formatterProps) => string) => {\n const relativeFormatOptions = { unit: 'percent', decimalPlaces: formatOptions?.decimalPlaces } as const;\n return ({ name, value, percent }: formatterProps): string => {\n if (typeof value === 'number') {\n return `${format.encodeHTML(name)}: ${formatValue(value, formatOptions)} (${formatValue(percent, relativeFormatOptions)})`;\n }\n return `${format.encodeHTML(name)}: ${format.encodeHTML(value.toString())}`;\n };\n};\nexport const getLabelFormatter = (\n mode?: ModeOption,\n formatOptions?: FormatOptions\n): ((props: formatterProps) => string) => {\n if (mode === 'percentage') {\n return percentageLabelFormatter(formatOptions);\n }\n return labelFormatter(formatOptions);\n};\n\nconst labelFormatter = (formatOptions?: FormatOptions) => {\n return ({ name, value }: formatterProps): string => {\n if (typeof value === 'number') {\n return `${name}:\\n${formatValue(value, formatOptions)}`;\n }\n return `${name}:\\n${format.encodeHTML(value.toString())}`;\n };\n};\n\nconst percentageLabelFormatter = (formatOptions?: FormatOptions) => {\n const relativeFormatOptions = { unit: 'percent', decimalPlaces: formatOptions?.decimalPlaces } as const;\n return ({ name, percent }: formatterProps): string => {\n return `${name}:\\n${formatValue(percent, relativeFormatOptions)}`;\n };\n};\n\nexport interface PieChartLegendMapper {\n mapToLegendItems: (\n pieChartData: Array<Required<PieChartData>>,\n selectedValues?: Array<LegendValue | ComparisonValues>\n ) => LegendItem[];\n mapToLegendColumns: (\n selectedValues?: Array<LegendValue | ComparisonValues>,\n formatOptions?: FormatOptions\n ) => Array<TableColumnConfig<LegendItem>>;\n}\n\nexport class PieChartListLegendMapper implements PieChartLegendMapper {\n mapToLegendItems(pieChartData: Array<Required<PieChartData>>): LegendItem[] {\n return pieChartData.map(({ id, name, itemStyle }) => ({ id: id, label: name, color: itemStyle.color, data: {} }));\n }\n mapToLegendColumns(): Array<TableColumnConfig<LegendItem>> {\n return [];\n }\n}\n\nexport class PieChartTableLegendMapper implements PieChartLegendMapper {\n mapToLegendItems(\n pieChartData: Array<Required<PieChartData>>,\n selectedValues?: Array<LegendValue | ComparisonValues>\n ): LegendItem[] {\n const relativePieChartData = calculatePercentages(pieChartData);\n const absoluteValueSelected = selectedValues?.includes('abs');\n const relativeValueSelected = selectedValues?.includes('relative');\n return pieChartData.map(({ id, name, itemStyle, value }) => {\n const data: { [k in ComparisonValues]?: number } = {};\n if (absoluteValueSelected && typeof value === 'number') {\n data['abs'] = value;\n }\n if (relativeValueSelected) {\n const itemPercentageValue = relativePieChartData.find((rpd) => rpd.id === id)?.value;\n if (typeof itemPercentageValue === 'number') {\n data['relative'] = itemPercentageValue;\n }\n }\n return {\n id: id,\n label: name,\n color: itemStyle.color,\n data: data,\n };\n });\n }\n\n mapToLegendColumns(\n selectedValues?: Array<LegendValue | ComparisonValues>,\n formatOptions?: FormatOptions\n ): Array<TableColumnConfig<LegendItem>> {\n const relativeFormatOptions = { unit: 'percent', decimalPlaces: formatOptions?.decimalPlaces } as const;\n return (\n selectedValues?.toSorted().map((v) => {\n const comparisonValue = isComparisonValue(v);\n return {\n accessorKey: `data.${v}`,\n header: comparisonValue ? comparisonLegends[v].label : v,\n headerDescription: comparisonValue ? comparisonLegends[v].description : undefined,\n width: 90,\n align: 'right',\n cellDescription: true,\n enableSorting: true,\n cell: ({ getValue }): string => {\n const cellValue = getValue();\n return typeof cellValue === 'number' && formatOptions\n ? formatValue(cellValue, v === 'relative' ? relativeFormatOptions : formatOptions)\n : cellValue;\n },\n };\n }) ?? []\n );\n }\n}\n\nfunction calculatePercentages<T extends PieChartData>(data: T[]): T[] {\n const sum = data.reduce((accumulator, { value }) => accumulator + (value ?? 0), 0);\n return data.map((seriesData) => {\n const percentage = ((seriesData.value ?? 0) / sum) * 100;\n return {\n ...seriesData,\n value: Number(percentage.toFixed(4)),\n };\n });\n}\n\nconst comparisonValuesArray = Object.keys(comparisonLegends);\nfunction isComparisonValue(value: string | undefined): value is ComparisonValues {\n return typeof value === 'string' && comparisonValuesArray.includes(value);\n}\n"],"names":["formatValue","format","comparisonLegends","DEFAULT_SORT","sortSeriesData","data","sortOrder","sort","a","b","value","diff","getTooltipFormatter","formatOptions","relativeFormatOptions","unit","decimalPlaces","name","percent","encodeHTML","toString","getLabelFormatter","mode","percentageLabelFormatter","labelFormatter","PieChartListLegendMapper","mapToLegendItems","pieChartData","map","id","itemStyle","label","color","mapToLegendColumns","PieChartTableLegendMapper","selectedValues","relativePieChartData","calculatePercentages","absoluteValueSelected","includes","relativeValueSelected","itemPercentageValue","find","rpd","toSorted","v","comparisonValue","isComparisonValue","accessorKey","header","headerDescription","description","undefined","width","align","cellDescription","enableSorting","cell","getValue","cellValue","sum","reduce","accumulator","seriesData","percentage","Number","toFixed","comparisonValuesArray","Object","keys"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utils.ts"],"sourcesContent":["// Copyright The Perses Authors\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport type { FormatOptions, LegendItem, ModeOption, SortOption, TableColumnConfig } from '@perses-dev/components';\nimport { formatValue } from '@perses-dev/components';\nimport type { ComparisonValues, LegendValue } from '@perses-dev/plugin-system';\nimport { comparisonLegends } from '@perses-dev/plugin-system';\nimport { format } from 'echarts';\n\nimport { DEFAULT_SORT } from './pie-chart-model';\nimport type { PieChartData } from './PieChartBase';\n\nexport function sortSeriesData<T extends PieChartData>(data: T[], sortOrder: SortOption = DEFAULT_SORT): T[] {\n return data.toSorted((a, b) => {\n // Handle null values - push them to the end regardless of sort order\n if (a.value === null && b.value === null) return 0;\n if (a.value === null) return 1;\n if (b.value === null) return -1;\n\n // Sort by value\n const diff = (a.value ?? 0) - (b.value ?? 0);\n return sortOrder === 'asc' ? diff : -diff;\n });\n}\n\ntype formatterProps = { name: string; value: number | unknown[] | object; percent: number };\nexport const getTooltipFormatter = (formatOptions?: FormatOptions): ((props: formatterProps) => string) => {\n const relativeFormatOptions = { unit: 'percent', decimalPlaces: formatOptions?.decimalPlaces } as const;\n return ({ name, value, percent }: formatterProps): string => {\n if (typeof value === 'number') {\n return `${format.encodeHTML(name)}: ${formatValue(value, formatOptions)} (${formatValue(percent, relativeFormatOptions)})`;\n }\n return `${format.encodeHTML(name)}: ${format.encodeHTML(value.toString())}`;\n };\n};\nexport const getLabelFormatter = (\n mode?: ModeOption,\n formatOptions?: FormatOptions,\n): ((props: formatterProps) => string) => {\n if (mode === 'percentage') {\n return percentageLabelFormatter(formatOptions);\n }\n return labelFormatter(formatOptions);\n};\n\nconst labelFormatter = (formatOptions?: FormatOptions) => {\n return ({ name, value }: formatterProps): string => {\n if (typeof value === 'number') {\n return `${name}:\\n${formatValue(value, formatOptions)}`;\n }\n return `${name}:\\n${format.encodeHTML(value.toString())}`;\n };\n};\n\nconst percentageLabelFormatter = (formatOptions?: FormatOptions) => {\n const relativeFormatOptions = { unit: 'percent', decimalPlaces: formatOptions?.decimalPlaces } as const;\n return ({ name, percent }: formatterProps): string => {\n return `${name}:\\n${formatValue(percent, relativeFormatOptions)}`;\n };\n};\n\nexport interface PieChartLegendMapper {\n mapToLegendItems: (\n pieChartData: Array<Required<PieChartData>>,\n selectedValues?: Array<LegendValue | ComparisonValues>,\n ) => LegendItem[];\n mapToLegendColumns: (\n selectedValues?: Array<LegendValue | ComparisonValues>,\n formatOptions?: FormatOptions,\n ) => Array<TableColumnConfig<LegendItem>>;\n}\n\nexport class PieChartListLegendMapper implements PieChartLegendMapper {\n mapToLegendItems(pieChartData: Array<Required<PieChartData>>): LegendItem[] {\n return pieChartData.map(({ id, name, itemStyle }) => ({ id: id, label: name, color: itemStyle.color, data: {} }));\n }\n mapToLegendColumns(): Array<TableColumnConfig<LegendItem>> {\n return [];\n }\n}\n\nexport class PieChartTableLegendMapper implements PieChartLegendMapper {\n mapToLegendItems(\n pieChartData: Array<Required<PieChartData>>,\n selectedValues?: Array<LegendValue | ComparisonValues>,\n ): LegendItem[] {\n const relativePieChartData = calculatePercentages(pieChartData);\n const absoluteValueSelected = selectedValues?.includes('abs');\n const relativeValueSelected = selectedValues?.includes('relative');\n return pieChartData.map(({ id, name, itemStyle, value }) => {\n const data: { [k in ComparisonValues]?: number } = {};\n if (absoluteValueSelected && typeof value === 'number') {\n data['abs'] = value;\n }\n if (relativeValueSelected) {\n const itemPercentageValue = relativePieChartData.find((rpd) => rpd.id === id)?.value;\n if (typeof itemPercentageValue === 'number') {\n data['relative'] = itemPercentageValue;\n }\n }\n return {\n id: id,\n label: name,\n color: itemStyle.color,\n data: data,\n };\n });\n }\n\n mapToLegendColumns(\n selectedValues?: Array<LegendValue | ComparisonValues>,\n formatOptions?: FormatOptions,\n ): Array<TableColumnConfig<LegendItem>> {\n const relativeFormatOptions = { unit: 'percent', decimalPlaces: formatOptions?.decimalPlaces } as const;\n return (\n selectedValues?.toSorted().map((v) => {\n const comparisonValue = isComparisonValue(v);\n return {\n accessorKey: `data.${v}`,\n header: comparisonValue ? comparisonLegends[v].label : v,\n headerDescription: comparisonValue ? comparisonLegends[v].description : undefined,\n width: 90,\n align: 'right',\n cellDescription: true,\n enableSorting: true,\n cell: ({ getValue }): string => {\n const cellValue = getValue();\n return typeof cellValue === 'number' && formatOptions\n ? formatValue(cellValue, v === 'relative' ? relativeFormatOptions : formatOptions)\n : cellValue;\n },\n };\n }) ?? []\n );\n }\n}\n\nfunction calculatePercentages<T extends PieChartData>(data: T[]): T[] {\n const sum = data.reduce((accumulator, { value }) => accumulator + (value ?? 0), 0);\n return data.map((seriesData) => {\n const percentage = ((seriesData.value ?? 0) / sum) * 100;\n return {\n ...seriesData,\n value: Number(percentage.toFixed(4)),\n };\n });\n}\n\nconst comparisonValuesArray = Object.keys(comparisonLegends);\nfunction isComparisonValue(value: string | undefined): value is ComparisonValues {\n return typeof value === 'string' && comparisonValuesArray.includes(value);\n}\n"],"names":["formatValue","comparisonLegends","format","DEFAULT_SORT","sortSeriesData","data","sortOrder","toSorted","a","b","value","diff","getTooltipFormatter","formatOptions","relativeFormatOptions","unit","decimalPlaces","name","percent","encodeHTML","toString","getLabelFormatter","mode","percentageLabelFormatter","labelFormatter","PieChartListLegendMapper","mapToLegendItems","pieChartData","map","id","itemStyle","label","color","mapToLegendColumns","PieChartTableLegendMapper","selectedValues","relativePieChartData","calculatePercentages","absoluteValueSelected","includes","relativeValueSelected","itemPercentageValue","find","rpd","v","comparisonValue","isComparisonValue","accessorKey","header","headerDescription","description","undefined","width","align","cellDescription","enableSorting","cell","getValue","cellValue","sum","reduce","accumulator","seriesData","percentage","Number","toFixed","comparisonValuesArray","Object","keys"],"mappings":"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"}
package/mf-manifest.json CHANGED
@@ -5,11 +5,11 @@
5
5
  "name": "PieChart",
6
6
  "type": "app",
7
7
  "buildInfo": {
8
- "buildVersion": "0.14.0",
8
+ "buildVersion": "0.15.0-beta.2",
9
9
  "buildName": "@perses-dev/pie-chart-plugin"
10
10
  },
11
11
  "remoteEntry": {
12
- "name": "__mf/js/PieChart.a102eecb.js",
12
+ "name": "__mf/js/PieChart.5c25af4b.js",
13
13
  "path": "",
14
14
  "type": "global"
15
15
  },
@@ -19,9 +19,9 @@
19
19
  "zip": "",
20
20
  "api": ""
21
21
  },
22
- "globalName": "PieChart",
22
+ "globalName": "PieChart_0_15_0_beta_2",
23
23
  "pluginVersion": "2.6.0",
24
- "getPublicPath": "function() { const prefix = window.PERSES_PLUGIN_ASSETS_PATH || window.PERSES_APP_CONFIG?.api_prefix || \"\"; return prefix + \"/plugins/PieChart/\"; }"
24
+ "getPublicPath": "function() { const prefix = window.PERSES_PLUGIN_ASSETS_PATH || window.PERSES_APP_CONFIG?.api_prefix || \"\"; return prefix + \"/plugins/PieChart~0.15.0-beta.2/\"; }"
25
25
  },
26
26
  "shared": [
27
27
  {
@@ -34,7 +34,7 @@
34
34
  "js": {
35
35
  "async": [],
36
36
  "sync": [
37
- "__mf/js/async/274.5c1e13d7.js"
37
+ "__mf/js/async/274.0fa32f07.js"
38
38
  ]
39
39
  },
40
40
  "css": {
@@ -54,8 +54,8 @@
54
54
  "js": {
55
55
  "async": [],
56
56
  "sync": [
57
- "__mf/js/async/235.495df342.js",
58
- "__mf/js/async/616.702bde53.js"
57
+ "__mf/js/async/235.2bb8ba2f.js",
58
+ "__mf/js/async/616.cebd9b21.js"
59
59
  ]
60
60
  },
61
61
  "css": {
@@ -75,8 +75,8 @@
75
75
  "js": {
76
76
  "async": [],
77
77
  "sync": [
78
- "__mf/js/async/587.a59f7544.js",
79
- "__mf/js/async/968.6009cb29.js"
78
+ "__mf/js/async/587.fceb5f76.js",
79
+ "__mf/js/async/968.69813416.js"
80
80
  ]
81
81
  },
82
82
  "css": {
@@ -89,20 +89,20 @@
89
89
  {
90
90
  "id": "PieChart:@perses-dev/components",
91
91
  "name": "@perses-dev/components",
92
- "version": "0.54.0",
92
+ "version": "0.55.0-beta.7",
93
93
  "singleton": true,
94
- "requiredVersion": "^0.54.0",
94
+ "requiredVersion": "^0.55.0-beta.7",
95
95
  "assets": {
96
96
  "js": {
97
97
  "async": [],
98
98
  "sync": [
99
- "__mf/js/async/187.65618c74.js"
99
+ "__mf/js/async/788.cf73b628.js"
100
100
  ]
101
101
  },
102
102
  "css": {
103
103
  "async": [],
104
104
  "sync": [
105
- "__mf/css/async/187.85c2cbf6.css"
105
+ "__mf/css/async/788.85c2cbf6.css"
106
106
  ]
107
107
  }
108
108
  },
@@ -111,14 +111,14 @@
111
111
  {
112
112
  "id": "PieChart:@perses-dev/plugin-system",
113
113
  "name": "@perses-dev/plugin-system",
114
- "version": "0.54.0",
114
+ "version": "0.55.0-beta.7",
115
115
  "singleton": true,
116
- "requiredVersion": "^0.54.0",
116
+ "requiredVersion": "^0.55.0-beta.7",
117
117
  "assets": {
118
118
  "js": {
119
119
  "async": [],
120
120
  "sync": [
121
- "__mf/js/async/546.b800e1ff.js"
121
+ "__mf/js/async/407.2557a182.js"
122
122
  ]
123
123
  },
124
124
  "css": {
@@ -138,7 +138,7 @@
138
138
  "js": {
139
139
  "async": [],
140
140
  "sync": [
141
- "__mf/js/async/192.d45ba757.js"
141
+ "__mf/js/async/192.e77db572.js"
142
142
  ]
143
143
  },
144
144
  "css": {
@@ -158,7 +158,7 @@
158
158
  "js": {
159
159
  "async": [],
160
160
  "sync": [
161
- "__mf/js/async/873.8941a36f.js"
161
+ "__mf/js/async/873.48c1c973.js"
162
162
  ]
163
163
  },
164
164
  "css": {
@@ -178,7 +178,7 @@
178
178
  "js": {
179
179
  "async": [],
180
180
  "sync": [
181
- "__mf/js/async/392.281005cf.js"
181
+ "__mf/js/async/392.311100c7.js"
182
182
  ]
183
183
  },
184
184
  "css": {
@@ -198,7 +198,7 @@
198
198
  "js": {
199
199
  "async": [],
200
200
  "sync": [
201
- "__mf/js/async/470.0b301928.js"
201
+ "__mf/js/async/470.7f042d46.js"
202
202
  ]
203
203
  },
204
204
  "css": {
@@ -218,7 +218,7 @@
218
218
  "js": {
219
219
  "async": [],
220
220
  "sync": [
221
- "__mf/js/async/121.61df50b5.js"
221
+ "__mf/js/async/121.3f985aad.js"
222
222
  ]
223
223
  },
224
224
  "css": {
@@ -237,25 +237,28 @@
237
237
  "assets": {
238
238
  "js": {
239
239
  "sync": [
240
- "__mf/js/async/554.507b3545.js",
241
- "__mf/js/async/376.196cec5c.js",
242
- "__mf/js/async/603.224eeb96.js",
243
- "__mf/js/async/66.13296185.js",
244
- "__mf/js/async/__federation_expose_PieChart.9cd45fce.js"
240
+ "__mf/js/async/554.ffbb20fd.js",
241
+ "__mf/js/async/376.d72b6d45.js",
242
+ "__mf/js/async/603.312da395.js",
243
+ "__mf/js/async/66.77308b27.js",
244
+ "__mf/js/async/__federation_expose_PieChart.2e3c97fd.js"
245
245
  ],
246
246
  "async": [
247
- "__mf/js/async/469.ea0276a5.js",
248
- "__mf/js/async/lib-router.c182f4dd.js",
249
- "__mf/js/async/576.9e075806.js",
250
- "__mf/js/async/356.5cd094ae.js",
251
- "__mf/js/async/177.7624b91a.js",
252
- "__mf/js/async/663.d4632bd2.js"
247
+ "__mf/js/async/lib-router.64f2eab9.js",
248
+ "__mf/js/async/237.418111c6.js",
249
+ "__mf/js/async/356.b5aee61d.js",
250
+ "__mf/js/async/71.87ecdff0.js",
251
+ "__mf/js/async/469.a5d124bd.js",
252
+ "__mf/js/async/588.a2bbd130.js",
253
+ "__mf/js/async/978.d64118ad.js",
254
+ "__mf/js/async/77.9d431bfa.js",
255
+ "__mf/js/async/496.ea85fb9d.js"
253
256
  ]
254
257
  },
255
258
  "css": {
256
259
  "sync": [],
257
260
  "async": [
258
- "__mf/css/async/187.85c2cbf6.css"
261
+ "__mf/css/async/788.85c2cbf6.css"
259
262
  ]
260
263
  }
261
264
  },
package/mf-stats.json CHANGED
@@ -5,11 +5,11 @@
5
5
  "name": "PieChart",
6
6
  "type": "app",
7
7
  "buildInfo": {
8
- "buildVersion": "0.14.0",
8
+ "buildVersion": "0.15.0-beta.2",
9
9
  "buildName": "@perses-dev/pie-chart-plugin"
10
10
  },
11
11
  "remoteEntry": {
12
- "name": "__mf/js/PieChart.a102eecb.js",
12
+ "name": "__mf/js/PieChart.5c25af4b.js",
13
13
  "path": "",
14
14
  "type": "global"
15
15
  },
@@ -19,9 +19,9 @@
19
19
  "zip": "",
20
20
  "api": ""
21
21
  },
22
- "globalName": "PieChart",
22
+ "globalName": "PieChart_0_15_0_beta_2",
23
23
  "pluginVersion": "2.6.0",
24
- "getPublicPath": "function() { const prefix = window.PERSES_PLUGIN_ASSETS_PATH || window.PERSES_APP_CONFIG?.api_prefix || \"\"; return prefix + \"/plugins/PieChart/\"; }"
24
+ "getPublicPath": "function() { const prefix = window.PERSES_PLUGIN_ASSETS_PATH || window.PERSES_APP_CONFIG?.api_prefix || \"\"; return prefix + \"/plugins/PieChart~0.15.0-beta.2/\"; }"
25
25
  },
26
26
  "shared": [
27
27
  {
@@ -36,7 +36,7 @@
36
36
  "js": {
37
37
  "async": [],
38
38
  "sync": [
39
- "__mf/js/async/274.5c1e13d7.js"
39
+ "__mf/js/async/274.0fa32f07.js"
40
40
  ]
41
41
  },
42
42
  "css": {
@@ -60,8 +60,8 @@
60
60
  "js": {
61
61
  "async": [],
62
62
  "sync": [
63
- "__mf/js/async/235.495df342.js",
64
- "__mf/js/async/616.702bde53.js"
63
+ "__mf/js/async/235.2bb8ba2f.js",
64
+ "__mf/js/async/616.cebd9b21.js"
65
65
  ]
66
66
  },
67
67
  "css": {
@@ -85,8 +85,8 @@
85
85
  "js": {
86
86
  "async": [],
87
87
  "sync": [
88
- "__mf/js/async/587.a59f7544.js",
89
- "__mf/js/async/968.6009cb29.js"
88
+ "__mf/js/async/587.fceb5f76.js",
89
+ "__mf/js/async/968.69813416.js"
90
90
  ]
91
91
  },
92
92
  "css": {
@@ -100,23 +100,23 @@
100
100
  },
101
101
  {
102
102
  "singleton": true,
103
- "requiredVersion": "^0.54.0",
103
+ "requiredVersion": "^0.55.0-beta.7",
104
104
  "shareScope": "default",
105
105
  "name": "@perses-dev/components",
106
- "version": "0.54.0",
106
+ "version": "0.55.0-beta.7",
107
107
  "eager": false,
108
108
  "id": "PieChart:@perses-dev/components",
109
109
  "assets": {
110
110
  "js": {
111
111
  "async": [],
112
112
  "sync": [
113
- "__mf/js/async/187.65618c74.js"
113
+ "__mf/js/async/788.cf73b628.js"
114
114
  ]
115
115
  },
116
116
  "css": {
117
117
  "async": [],
118
118
  "sync": [
119
- "__mf/css/async/187.85c2cbf6.css"
119
+ "__mf/css/async/788.85c2cbf6.css"
120
120
  ]
121
121
  }
122
122
  },
@@ -128,17 +128,17 @@
128
128
  },
129
129
  {
130
130
  "singleton": true,
131
- "requiredVersion": "^0.54.0",
131
+ "requiredVersion": "^0.55.0-beta.7",
132
132
  "shareScope": "default",
133
133
  "name": "@perses-dev/plugin-system",
134
- "version": "0.54.0",
134
+ "version": "0.55.0-beta.7",
135
135
  "eager": false,
136
136
  "id": "PieChart:@perses-dev/plugin-system",
137
137
  "assets": {
138
138
  "js": {
139
139
  "async": [],
140
140
  "sync": [
141
- "__mf/js/async/546.b800e1ff.js"
141
+ "__mf/js/async/407.2557a182.js"
142
142
  ]
143
143
  },
144
144
  "css": {
@@ -164,7 +164,7 @@
164
164
  "js": {
165
165
  "async": [],
166
166
  "sync": [
167
- "__mf/js/async/192.d45ba757.js"
167
+ "__mf/js/async/192.e77db572.js"
168
168
  ]
169
169
  },
170
170
  "css": {
@@ -188,7 +188,7 @@
188
188
  "js": {
189
189
  "async": [],
190
190
  "sync": [
191
- "__mf/js/async/873.8941a36f.js"
191
+ "__mf/js/async/873.48c1c973.js"
192
192
  ]
193
193
  },
194
194
  "css": {
@@ -214,7 +214,7 @@
214
214
  "js": {
215
215
  "async": [],
216
216
  "sync": [
217
- "__mf/js/async/392.281005cf.js"
217
+ "__mf/js/async/392.311100c7.js"
218
218
  ]
219
219
  },
220
220
  "css": {
@@ -238,7 +238,7 @@
238
238
  "js": {
239
239
  "async": [],
240
240
  "sync": [
241
- "__mf/js/async/470.0b301928.js"
241
+ "__mf/js/async/470.7f042d46.js"
242
242
  ]
243
243
  },
244
244
  "css": {
@@ -262,7 +262,7 @@
262
262
  "js": {
263
263
  "async": [],
264
264
  "sync": [
265
- "__mf/js/async/121.61df50b5.js"
265
+ "__mf/js/async/121.3f985aad.js"
266
266
  ]
267
267
  },
268
268
  "css": {
@@ -293,25 +293,28 @@
293
293
  "assets": {
294
294
  "js": {
295
295
  "sync": [
296
- "__mf/js/async/554.507b3545.js",
297
- "__mf/js/async/376.196cec5c.js",
298
- "__mf/js/async/603.224eeb96.js",
299
- "__mf/js/async/66.13296185.js",
300
- "__mf/js/async/__federation_expose_PieChart.9cd45fce.js"
296
+ "__mf/js/async/554.ffbb20fd.js",
297
+ "__mf/js/async/376.d72b6d45.js",
298
+ "__mf/js/async/603.312da395.js",
299
+ "__mf/js/async/66.77308b27.js",
300
+ "__mf/js/async/__federation_expose_PieChart.2e3c97fd.js"
301
301
  ],
302
302
  "async": [
303
- "__mf/js/async/469.ea0276a5.js",
304
- "__mf/js/async/lib-router.c182f4dd.js",
305
- "__mf/js/async/576.9e075806.js",
306
- "__mf/js/async/356.5cd094ae.js",
307
- "__mf/js/async/177.7624b91a.js",
308
- "__mf/js/async/663.d4632bd2.js"
303
+ "__mf/js/async/lib-router.64f2eab9.js",
304
+ "__mf/js/async/237.418111c6.js",
305
+ "__mf/js/async/356.b5aee61d.js",
306
+ "__mf/js/async/71.87ecdff0.js",
307
+ "__mf/js/async/469.a5d124bd.js",
308
+ "__mf/js/async/588.a2bbd130.js",
309
+ "__mf/js/async/978.d64118ad.js",
310
+ "__mf/js/async/77.9d431bfa.js",
311
+ "__mf/js/async/496.ea85fb9d.js"
309
312
  ]
310
313
  },
311
314
  "css": {
312
315
  "sync": [],
313
316
  "async": [
314
- "__mf/css/async/187.85c2cbf6.css"
317
+ "__mf/css/async/788.85c2cbf6.css"
315
318
  ]
316
319
  }
317
320
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@perses-dev/pie-chart-plugin",
3
- "version": "0.14.0",
3
+ "version": "0.15.0-beta.2",
4
4
  "license": "Apache-2.0",
5
5
  "homepage": "https://github.com/perses/plugins/blob/main/README.md",
6
6
  "repository": {
@@ -14,29 +14,29 @@
14
14
  "dev": "rsbuild dev",
15
15
  "build": "npm run build-mf && concurrently \"npm:build:*\"",
16
16
  "build-mf": "rsbuild build",
17
- "build:cjs": "swc ./src -d dist/lib/cjs --strip-leading-paths --config-file ../.cjs.swcrc",
18
17
  "build:esm": "swc ./src -d dist/lib --strip-leading-paths --config-file ../.swcrc",
19
18
  "build:types": "tsc --project tsconfig.build.json",
20
- "lint": "eslint src --ext .ts,.tsx",
21
- "test": "cross-env LC_ALL=C TZ=UTC jest",
19
+ "lint": "oxlint src",
20
+ "test": "cross-env LC_ALL=C TZ=UTC vitest run",
22
21
  "type-check": "tsc --noEmit"
23
22
  },
24
- "main": "lib/cjs/index.js",
23
+ "type": "module",
24
+ "main": "lib/index.js",
25
25
  "module": "lib/index.js",
26
26
  "types": "lib/index.d.ts",
27
27
  "peerDependencies": {
28
28
  "@emotion/react": "^11.7.1",
29
29
  "@emotion/styled": "^11.6.0",
30
30
  "@hookform/resolvers": "^3.2.0",
31
- "@perses-dev/components": "^0.54.0",
32
- "@perses-dev/plugin-system": "^0.54.0",
33
- "@perses-dev/spec": "^0.2.0",
31
+ "@perses-dev/components": "^0.55.0-beta.7",
32
+ "@perses-dev/plugin-system": "^0.55.0-beta.7",
33
+ "@perses-dev/spec": "^0.3.0-beta.5",
34
34
  "date-fns": "^4.1.0",
35
35
  "date-fns-tz": "^3.2.0",
36
36
  "echarts": "5.5.0",
37
37
  "lodash": "^4.17.21",
38
- "react": "^17.0.2 || ^18.0.0",
39
- "react-dom": "^17.0.2 || ^18.0.0",
38
+ "react": "^18.3.0",
39
+ "react-dom": "^18.3.0",
40
40
  "use-resize-observer": "^9.0.0",
41
41
  "immer": "^10.1.1"
42
42
  },
@@ -1,2 +0,0 @@
1
- /*! For license information please see 121.61df50b5.js.LICENSE.txt */
2
- "use strict";(self.chunk_PieChart=self.chunk_PieChart||[]).push([["121"],{14403(e,t){var r=Symbol.for("react.element"),n=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),u=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),i=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),s=Symbol.for("react.suspense"),l=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),y=Symbol.iterator,d={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,_={};function m(e,t,r){this.props=e,this.context=t,this.refs=_,this.updater=r||d}function b(){}function v(e,t,r){this.props=e,this.context=t,this.refs=_,this.updater=r||d}m.prototype.isReactComponent={},m.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},m.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=m.prototype;var S=v.prototype=new b;S.constructor=v,h(S,m.prototype),S.isPureReactComponent=!0;var E=Array.isArray,k=Object.prototype.hasOwnProperty,$={current:null},w={key:!0,ref:!0,__self:!0,__source:!0};function R(e,t,n){var o,u={},a=null,c=null;if(null!=t)for(o in void 0!==t.ref&&(c=t.ref),void 0!==t.key&&(a=""+t.key),t)k.call(t,o)&&!w.hasOwnProperty(o)&&(u[o]=t[o]);var i=arguments.length-2;if(1===i)u.children=n;else if(1<i){for(var f=Array(i),s=0;s<i;s++)f[s]=arguments[s+2];u.children=f}if(e&&e.defaultProps)for(o in i=e.defaultProps)void 0===u[o]&&(u[o]=i[o]);return{$$typeof:r,type:e,key:a,ref:c,props:u,_owner:$.current}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===r}var g=/\/+/g;function j(e,t){var r,n;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function P(e,t,o){if(null==e)return e;var u=[],a=0;return!function e(t,o,u,a,c){var i,f,s,l=typeof t;("undefined"===l||"boolean"===l)&&(t=null);var p=!1;if(null===t)p=!0;else switch(l){case"string":case"number":p=!0;break;case"object":switch(t.$$typeof){case r:case n:p=!0}}if(p)return c=c(p=t),t=""===a?"."+j(p,0):a,E(c)?(u="",null!=t&&(u=t.replace(g,"$&/")+"/"),e(c,o,u,"",function(e){return e})):null!=c&&(C(c)&&(i=c,f=u+(!c.key||p&&p.key===c.key?"":(""+c.key).replace(g,"$&/")+"/")+t,c={$$typeof:r,type:i.type,key:f,ref:i.ref,props:i.props,_owner:i._owner}),o.push(c)),1;if(p=0,a=""===a?".":a+":",E(t))for(var d=0;d<t.length;d++){var h=a+j(l=t[d],d);p+=e(l,o,u,h,c)}else if("function"==typeof(h=null===(s=t)||"object"!=typeof s?null:"function"==typeof(s=y&&s[y]||s["@@iterator"])?s:null))for(t=h.call(t),d=0;!(l=t.next()).done;)h=a+j(l=l.value,d++),p+=e(l,o,u,h,c);else if("object"===l)throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(o=String(t))?"object with keys {"+Object.keys(t).join(", ")+"}":o)+"). If you meant to render a collection of children, use an array instead.");return p}(e,u,"","",function(e){return t.call(o,e,a++)}),u}function O(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){(0===e._status||-1===e._status)&&(e._status=1,e._result=t)},function(t){(0===e._status||-1===e._status)&&(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var x={current:null},I={transition:null};function T(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:P,forEach:function(e,t,r){P(e,function(){t.apply(this,arguments)},r)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=m,t.Fragment=o,t.Profiler=a,t.PureComponent=v,t.StrictMode=u,t.Suspense=s,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED={ReactCurrentDispatcher:x,ReactCurrentBatchConfig:I,ReactCurrentOwner:$},t.act=T,t.cloneElement=function(e,t,n){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=h({},e.props),u=e.key,a=e.ref,c=e._owner;if(null!=t){if(void 0!==t.ref&&(a=t.ref,c=$.current),void 0!==t.key&&(u=""+t.key),e.type&&e.type.defaultProps)var i=e.type.defaultProps;for(f in t)k.call(t,f)&&!w.hasOwnProperty(f)&&(o[f]=void 0===t[f]&&void 0!==i?i[f]:t[f])}var f=arguments.length-2;if(1===f)o.children=n;else if(1<f){i=Array(f);for(var s=0;s<f;s++)i[s]=arguments[s+2];o.children=i}return{$$typeof:r,type:e.type,key:u,ref:a,props:o,_owner:c}},t.createContext=function(e){return(e={$$typeof:i,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:c,_context:e},e.Consumer=e},t.createElement=R,t.createFactory=function(e){var t=R.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:f,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:O}},t.memo=function(e,t){return{$$typeof:l,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=I.transition;I.transition={};try{e()}finally{I.transition=t}},t.unstable_act=T,t.useCallback=function(e,t){return x.current.useCallback(e,t)},t.useContext=function(e){return x.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return x.current.useDeferredValue(e)},t.useEffect=function(e,t){return x.current.useEffect(e,t)},t.useId=function(){return x.current.useId()},t.useImperativeHandle=function(e,t,r){return x.current.useImperativeHandle(e,t,r)},t.useInsertionEffect=function(e,t){return x.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return x.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return x.current.useMemo(e,t)},t.useReducer=function(e,t,r){return x.current.useReducer(e,t,r)},t.useRef=function(e){return x.current.useRef(e)},t.useState=function(e){return x.current.useState(e)},t.useSyncExternalStore=function(e,t,r){return x.current.useSyncExternalStore(e,t,r)},t.useTransition=function(){return x.current.useTransition()},t.version="18.3.1"},63696(e,t,r){e.exports=r(14403)}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.chunk_PieChart=self.chunk_PieChart||[]).push([["177"],{23712(){}}]);