@semcore/d3-chart 2.12.1 → 2.13.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.
- package/CHANGELOG.md +12 -0
- package/lib/cjs/Area.js +10 -10
- package/lib/cjs/Axis.js +14 -14
- package/lib/cjs/Bar.js +9 -9
- package/lib/cjs/Bubble.js +11 -11
- package/lib/cjs/Donut.js +8 -8
- package/lib/cjs/Dots.js +10 -10
- package/lib/cjs/HorizontalBar.js +9 -9
- package/lib/cjs/Hover.js +4 -4
- package/lib/cjs/Line.js +9 -9
- package/lib/cjs/Plot.js +4 -4
- package/lib/cjs/Radar.js +18 -18
- package/lib/cjs/RadialTree.js +13 -13
- package/lib/cjs/ReferenceLine.js +10 -10
- package/lib/cjs/ScatterPlot.js +8 -8
- package/lib/cjs/Tooltip.js +9 -9
- package/lib/cjs/Venn.js +8 -8
- package/lib/cjs/a11y/PlotA11yModule.js +3 -3
- package/lib/cjs/a11y/PlotA11yView.js +10 -8
- package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
- package/lib/cjs/a11y/hints.js +5 -2
- package/lib/cjs/a11y/hints.js.map +1 -1
- package/lib/cjs/a11y/serialize.js +8 -10
- package/lib/cjs/a11y/serialize.js.map +1 -1
- package/lib/cjs/types/Plot.d.js.map +1 -1
- package/lib/es6/Area.js +10 -10
- package/lib/es6/Axis.js +14 -14
- package/lib/es6/Bar.js +9 -9
- package/lib/es6/Bubble.js +11 -11
- package/lib/es6/Donut.js +8 -8
- package/lib/es6/Dots.js +10 -10
- package/lib/es6/HorizontalBar.js +9 -9
- package/lib/es6/Hover.js +4 -4
- package/lib/es6/Line.js +9 -9
- package/lib/es6/Plot.js +4 -4
- package/lib/es6/Radar.js +18 -18
- package/lib/es6/RadialTree.js +13 -13
- package/lib/es6/ReferenceLine.js +10 -10
- package/lib/es6/ScatterPlot.js +8 -8
- package/lib/es6/Tooltip.js +9 -9
- package/lib/es6/Venn.js +8 -8
- package/lib/es6/a11y/PlotA11yModule.js +3 -3
- package/lib/es6/a11y/PlotA11yView.js +10 -8
- package/lib/es6/a11y/PlotA11yView.js.map +1 -1
- package/lib/es6/a11y/hints.js +4 -2
- package/lib/es6/a11y/hints.js.map +1 -1
- package/lib/es6/a11y/serialize.js +8 -10
- package/lib/es6/a11y/serialize.js.map +1 -1
- package/lib/es6/types/Plot.d.js.map +1 -1
- package/lib/types/Plot.d.ts +3 -0
- package/lib/types/a11y/hints.d.ts +1 -0
- package/package.json +1 -1
|
@@ -157,7 +157,7 @@ export var serialize = function serialize(_ref4, _ref5, _ref6) {
|
|
|
157
157
|
availableLocales = _ref6.availableLocales;
|
|
158
158
|
if (insights.length === 0) return null;
|
|
159
159
|
var intl = getIntl(locale, translations, availableLocales);
|
|
160
|
-
var
|
|
160
|
+
var dataRangeSummary = intl.formatList(dataRange.map(function (range) {
|
|
161
161
|
var from = formatValue(intl, range.from, {
|
|
162
162
|
siblingsTimeMark: range.to,
|
|
163
163
|
datesWithTime: datesWithTime,
|
|
@@ -267,8 +267,8 @@ export var serialize = function serialize(_ref4, _ref5, _ref6) {
|
|
|
267
267
|
label: dataTitle
|
|
268
268
|
});
|
|
269
269
|
|
|
270
|
-
if (
|
|
271
|
-
return "".concat(summary, "\n").concat(
|
|
270
|
+
if (dataRangeSummary.length > 0) {
|
|
271
|
+
return "".concat(summary, "\n").concat(dataRangeSummary);
|
|
272
272
|
}
|
|
273
273
|
|
|
274
274
|
return summary;
|
|
@@ -325,8 +325,8 @@ export var serialize = function serialize(_ref4, _ref5, _ref6) {
|
|
|
325
325
|
label: dataTitle
|
|
326
326
|
});
|
|
327
327
|
|
|
328
|
-
if (
|
|
329
|
-
return "".concat(_summary, "\n").concat(
|
|
328
|
+
if (dataRangeSummary.length > 0) {
|
|
329
|
+
return "".concat(_summary, "\n").concat(dataRangeSummary);
|
|
330
330
|
}
|
|
331
331
|
|
|
332
332
|
return _summary;
|
|
@@ -348,14 +348,13 @@ export var serialize = function serialize(_ref4, _ref5, _ref6) {
|
|
|
348
348
|
maxListSymbols: maxListSymbols
|
|
349
349
|
});
|
|
350
350
|
|
|
351
|
-
|
|
351
|
+
return intl.formatMessage({
|
|
352
352
|
id: dataTitle ? 'chart-summary' : 'chart-summary-no-label'
|
|
353
353
|
}, {
|
|
354
354
|
entities: _entities2,
|
|
355
355
|
entitiesList: _entitiesList2,
|
|
356
356
|
label: dataTitle
|
|
357
357
|
});
|
|
358
|
-
return sumamry;
|
|
359
358
|
} else if (dataType === 'grouped-values' || dataType === 'indexed-groups') {
|
|
360
359
|
var groupInsights = insights;
|
|
361
360
|
var valueCounts = groupInsights.map(function (group) {
|
|
@@ -402,15 +401,14 @@ export var serialize = function serialize(_ref4, _ref5, _ref6) {
|
|
|
402
401
|
}));
|
|
403
402
|
}
|
|
404
403
|
|
|
405
|
-
var
|
|
404
|
+
var sumamry = intl.formatMessage({
|
|
406
405
|
id: dataTitle ? 'chart-summary' : 'chart-summary-no-label'
|
|
407
406
|
}, {
|
|
408
407
|
entities: _entities3,
|
|
409
408
|
entitiesList: intl.formatList(_entitiesList3),
|
|
410
409
|
label: dataTitle
|
|
411
410
|
});
|
|
412
|
-
|
|
413
|
-
return _sumamry;
|
|
411
|
+
return sumamry;
|
|
414
412
|
}
|
|
415
413
|
|
|
416
414
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.js","names":["getIntl","formatLimitedSizeList","items","intl","maxFinalStringLength","includeEllipsis","limit","length","stringifyList","cutItems","slice","push","formatMessage","id","leftCount","formatList","formattedList","overflowRatio","Math","floor","maxIncreaseAttempts","i","newLimitFormattedList","isReactComponent","obj","displayName","guessNumberAsTimestampMinDate","Date","getTime","formatValue","value","siblingsTimeMark","maxListSymbols","datesWithTime","formatNumber","abs","formatDate","dateStyle","timeStyle","Array","isArray","formattedValues","map","subValue","String","formatValuesList","values","result","rawValue","label","undefined","serialize","insights","dataType","dataRange","dataTitle","entitiesCount","clustersLimit","valuesLimit","groupsLimit","locale","translations","availableLocales","dataRnageSummary","range","from","to","trendsInsights","trendsByDataKey","insight","dataKey","entities","count","entitiesList","Object","entries","generalTrend","find","type","localTrends","filter","primaryTrend","secondaryTrends","mainSummary","trend","change","strength","secondarylSummaries","general","locals","summary","clustersInsights","biggestClusters","maxSize","size","minSize","clusterInsight","labels","anonymous","relativeSize","x","center","xLabel","y","yLabel","valuesInsight","sumamry","groupInsights","valueCounts","group","minValuesCount","min","maxValuesCount","max","groupsCount","valuesCount"],"sources":["../../../src/a11y/serialize.ts"],"sourcesContent":["import { AnalyzedData, ClusterNode, ComparisonNode, GeneralTrendNode, TrendNode } from './insights';\n\nimport React from 'react';\nimport { DataSummarizationConfig } from './hints';\nimport { getIntl, Intl } from './intl';\n\nconst formatLimitedSizeList = (\n items: unknown[],\n intl: Intl,\n maxFinalStringLength = 100,\n includeEllipsis = true,\n) => {\n let limit = items.length;\n const stringifyList = () => {\n const cutItems = items.slice(0, limit);\n if (items.length > limit && includeEllipsis) {\n cutItems.push(intl.formatMessage({ id: 'ellipsis' }, { leftCount: limit - items.length }));\n }\n\n return intl.formatList(cutItems);\n };\n\n let formattedList = stringifyList();\n if (formattedList.length <= maxFinalStringLength) {\n return formattedList;\n }\n\n const overflowRatio = formattedList.length / maxFinalStringLength;\n limit = Math.floor(limit / overflowRatio);\n if (limit === 0) {\n limit = 1;\n return stringifyList();\n }\n\n formattedList = stringifyList();\n\n const maxIncreaseAttempts = 4;\n for (let i = 0; i < maxIncreaseAttempts; i++) {\n limit++;\n const newLimitFormattedList = stringifyList();\n\n if (newLimitFormattedList.length > maxFinalStringLength) {\n return formattedList;\n }\n\n formattedList = newLimitFormattedList;\n }\n\n return formattedList;\n};\n\nconst isReactComponent = (obj: any) =>\n typeof obj === 'object' && obj && 'displayName' in obj && typeof obj.displayName === 'string';\n\nconst guessNumberAsTimestampMinDate = new Date('1975').getTime();\n\nexport const formatValue = (\n intl: Intl,\n value: unknown,\n {\n siblingsTimeMark,\n maxListSymbols,\n datesWithTime,\n }: {\n siblingsTimeMark?: unknown;\n maxListSymbols?: number;\n datesWithTime?: boolean;\n } = {},\n): string => {\n if (typeof value === 'number') {\n if (value >= guessNumberAsTimestampMinDate) {\n return formatValue(intl, new Date(value), {\n siblingsTimeMark,\n maxListSymbols,\n datesWithTime,\n });\n }\n return intl.formatNumber(value);\n }\n if (value instanceof Date) {\n if (\n datesWithTime ||\n (siblingsTimeMark &&\n siblingsTimeMark instanceof Date &&\n Math.abs(value.getTime() - siblingsTimeMark.getTime()) < 1000 * 60 * 60 * 24 * 5)\n ) {\n return intl.formatDate(value, { dateStyle: 'medium', timeStyle: 'medium' });\n }\n return intl.formatDate(value, { dateStyle: 'medium' });\n }\n\n if (Array.isArray(value)) {\n const formattedValues = value.map((subValue) =>\n formatValue(intl, subValue, { siblingsTimeMark, maxListSymbols, datesWithTime }),\n );\n\n return formatLimitedSizeList(formattedValues, intl, maxListSymbols);\n }\n\n if (isReactComponent(value)) {\n return String((value as React.FC).displayName);\n }\n\n return String(value);\n};\n\nconst formatValuesList = (\n values: { label: string; value: unknown }[],\n {\n intl,\n limit,\n datesWithTime,\n maxListSymbols,\n }: { intl: Intl; limit: number; datesWithTime?: boolean; maxListSymbols: number },\n) => {\n const result = values.slice(0, limit).map(({ value: rawValue, label }) => {\n if (rawValue === undefined) return label;\n\n const value = formatValue(intl, rawValue, { datesWithTime, maxListSymbols });\n\n if (String(value) === String(label)) return value;\n\n return intl.formatMessage({ id: 'value-labeled' }, { label, value });\n });\n if (values.length > limit) {\n result.push(\n intl.formatMessage({ id: 'ellipsis' }, { leftCount: limit - values.values.length }),\n );\n }\n\n return intl.formatList(result);\n};\n\nexport const serialize = (\n { insights, dataType, dataRange, dataTitle, entitiesCount }: AnalyzedData,\n {\n datesWithTime,\n maxListSymbols,\n clustersLimit,\n valuesLimit,\n groupsLimit,\n }: DataSummarizationConfig,\n {\n locale,\n translations,\n availableLocales,\n }: {\n locale: string;\n translations?: { [messageId: string]: string };\n availableLocales?: { [localeId: string]: any };\n },\n): string | null => {\n if (insights.length === 0) return null;\n\n const intl = getIntl(locale, translations, availableLocales);\n\n const dataRnageSummary = intl.formatList(\n dataRange.map((range) => {\n const from = formatValue(intl, range.from, {\n siblingsTimeMark: range.to,\n datesWithTime,\n maxListSymbols,\n });\n const to = formatValue(intl, range.to, {\n siblingsTimeMark: range.from,\n datesWithTime,\n maxListSymbols,\n });\n\n return intl.formatMessage(\n { id: range.label ? 'additional-axe' : 'additional-axe-no-label' },\n { from, to, label: range.label },\n );\n }),\n );\n\n if (dataType === 'time-series') {\n const trendsInsights = insights as (GeneralTrendNode | TrendNode)[];\n const trendsByDataKey: { [label: string]: (GeneralTrendNode | TrendNode)[] } = {};\n for (const insight of trendsInsights) {\n trendsByDataKey[insight.dataKey] = trendsByDataKey[insight.dataKey] ?? [];\n trendsByDataKey[insight.dataKey].push(insight);\n }\n\n const entities = intl.formatMessage(\n { id: 'entity-type-time-series' },\n { count: entitiesCount },\n );\n const entitiesList = Object.entries(trendsByDataKey).map(([dataKey, insights]) => {\n const generalTrend = insights.find((insight) => insight.type === 'general-trend');\n const localTrends = insights.filter((insight) => insight !== generalTrend);\n const primaryTrend = generalTrend ?? localTrends[0];\n const secondaryTrends: (TrendNode | GeneralTrendNode)[] = insights.filter(\n (insight) => insight !== primaryTrend,\n );\n const mainSummary: string = intl.formatMessage(\n { id: 'time-series-general-trend' },\n {\n dataKey: entitiesCount !== 1 ? dataKey : '',\n trend: intl.formatMessage({ id: `trend-${primaryTrend.change.strength}` }),\n from: intl.formatNumber(primaryTrend.change.from),\n to: intl.formatNumber(primaryTrend.change.to),\n },\n );\n const secondarylSummaries = secondaryTrends.map((trend) =>\n intl.formatMessage(\n { id: 'time-series-local-trend' },\n {\n trend: intl.formatMessage({ id: `trend-${trend.change.strength}` }),\n from: formatValue(intl, trend.from, {\n siblingsTimeMark: trend.to,\n datesWithTime,\n maxListSymbols,\n }),\n to: formatValue(intl, trend.to, {\n siblingsTimeMark: trend.from,\n datesWithTime,\n maxListSymbols,\n }),\n },\n ),\n );\n\n if (secondarylSummaries.length === 0) {\n return mainSummary;\n }\n\n return intl.formatMessage(\n {\n id: 'time-series-detailed-trend',\n },\n {\n general: mainSummary,\n locals: formatLimitedSizeList(secondarylSummaries, intl, 400, false),\n },\n );\n });\n\n const summary = intl.formatMessage(\n { id: dataTitle ? 'chart-summary' : 'chart-summary-no-label' },\n { entities, entitiesList: intl.formatList(entitiesList), label: dataTitle },\n );\n\n if (dataRnageSummary.length > 0) {\n return `${summary}\\n${dataRnageSummary}`;\n }\n\n return summary;\n } else if (dataType === 'points-cloud') {\n const clustersInsights = insights as ClusterNode[];\n const biggestClusters = clustersInsights.slice(0, clustersLimit);\n\n const maxSize = clustersInsights[0].size;\n const minSize = clustersInsights[clustersInsights.length - 1].size;\n const entities =\n maxSize === minSize\n ? intl.formatMessage(\n { id: 'entity-type-clusters-single-size' },\n { count: entitiesCount, size: maxSize },\n )\n : intl.formatMessage(\n { id: 'entity-type-clusters-multiple-size' },\n { count: entitiesCount, maxSize, minSize },\n );\n const entitiesList = biggestClusters.map((clusterInsight) => {\n const labels = formatLimitedSizeList(clusterInsight.labels, intl, maxListSymbols);\n const anonymous =\n clusterInsight.labels.length === 0 || labels === String(clusterInsight.size);\n\n return intl.formatMessage(\n {\n id: anonymous ? 'entity-type-clusters-label-anonymous' : 'entity-type-clusters-label',\n },\n {\n relativeSize: intl.formatMessage({ id: `relative-size-${clusterInsight.relativeSize}` }),\n labels,\n size: clusterInsight.size,\n x: intl.formatNumber(clusterInsight.center.x),\n xLabel: clusterInsight.center.xLabel,\n y: intl.formatNumber(clusterInsight.center.y),\n yLabel: clusterInsight.center.yLabel,\n },\n );\n });\n if (insights.length > clustersLimit) {\n entitiesList.push(\n intl.formatMessage({ id: 'ellipsis' }, { leftCount: insights.length - clustersLimit }),\n );\n }\n\n const summary = intl.formatMessage(\n { id: dataTitle ? 'chart-summary' : 'chart-summary-no-label' },\n { entities, entitiesList: intl.formatList(entitiesList), label: dataTitle },\n );\n\n if (dataRnageSummary.length > 0) {\n return `${summary}\\n${dataRnageSummary}`;\n }\n\n return summary;\n } else if (dataType === 'values-set') {\n const [valuesInsight] = insights as [ComparisonNode];\n const entities = intl.formatMessage({ id: 'entity-type-values' }, { count: entitiesCount });\n const entitiesList = formatValuesList(valuesInsight.values, {\n intl,\n limit: valuesLimit,\n datesWithTime,\n maxListSymbols,\n });\n\n const sumamry = intl.formatMessage(\n { id: dataTitle ? 'chart-summary' : 'chart-summary-no-label' },\n { entities, entitiesList: entitiesList, label: dataTitle },\n );\n\n return sumamry;\n } else if (dataType === 'grouped-values' || dataType === 'indexed-groups') {\n const groupInsights = insights as ComparisonNode[];\n const valueCounts = groupInsights.map((group) => group.values.length);\n const minValuesCount = Math.min(...valueCounts);\n const maxValuesCount = Math.max(...valueCounts);\n\n const entities =\n minValuesCount === maxValuesCount\n ? intl.formatMessage(\n { id: 'entity-type-grouped-values-single-size' },\n { groupsCount: groupInsights.length, valuesCount: valueCounts[0] },\n )\n : intl.formatMessage(\n { id: 'entity-type-grouped-values-multiple-size' },\n { groupsCount: groupInsights.length, minValuesCount, maxValuesCount },\n );\n const entitiesList = groupInsights.slice(0, groupsLimit).map(({ label, values }) => {\n const formattedValues = formatValuesList(values, {\n intl,\n limit: valuesLimit,\n datesWithTime,\n maxListSymbols,\n });\n return intl.formatMessage({ id: 'values-group' }, { label, values: formattedValues });\n });\n if (groupInsights.values.length > groupsLimit) {\n entitiesList.push(\n intl.formatMessage(\n { id: 'ellipsis' },\n { leftCount: groupInsights.values.length - groupsLimit },\n ),\n );\n }\n\n const sumamry = intl.formatMessage(\n { id: dataTitle ? 'chart-summary' : 'chart-summary-no-label' },\n { entities, entitiesList: intl.formatList(entitiesList), label: dataTitle },\n );\n\n return sumamry;\n }\n\n return null;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"serialize.js","names":["getIntl","formatLimitedSizeList","items","intl","maxFinalStringLength","includeEllipsis","limit","length","stringifyList","cutItems","slice","push","formatMessage","id","leftCount","formatList","formattedList","overflowRatio","Math","floor","maxIncreaseAttempts","i","newLimitFormattedList","isReactComponent","obj","displayName","guessNumberAsTimestampMinDate","Date","getTime","formatValue","value","siblingsTimeMark","maxListSymbols","datesWithTime","formatNumber","abs","formatDate","dateStyle","timeStyle","Array","isArray","formattedValues","map","subValue","String","formatValuesList","values","result","rawValue","label","undefined","serialize","insights","dataType","dataRange","dataTitle","entitiesCount","clustersLimit","valuesLimit","groupsLimit","locale","translations","availableLocales","dataRangeSummary","range","from","to","trendsInsights","trendsByDataKey","insight","dataKey","entities","count","entitiesList","Object","entries","generalTrend","find","type","localTrends","filter","primaryTrend","secondaryTrends","mainSummary","trend","change","strength","secondarylSummaries","general","locals","summary","clustersInsights","biggestClusters","maxSize","size","minSize","clusterInsight","labels","anonymous","relativeSize","x","center","xLabel","y","yLabel","valuesInsight","groupInsights","valueCounts","group","minValuesCount","min","maxValuesCount","max","groupsCount","valuesCount","sumamry"],"sources":["../../../src/a11y/serialize.ts"],"sourcesContent":["import { AnalyzedData, ClusterNode, ComparisonNode, GeneralTrendNode, TrendNode } from './insights';\n\nimport React from 'react';\nimport { DataSummarizationConfig } from './hints';\nimport { getIntl, Intl } from './intl';\n\nconst formatLimitedSizeList = (\n items: unknown[],\n intl: Intl,\n maxFinalStringLength = 100,\n includeEllipsis = true,\n) => {\n let limit = items.length;\n const stringifyList = () => {\n const cutItems = items.slice(0, limit);\n if (items.length > limit && includeEllipsis) {\n cutItems.push(intl.formatMessage({ id: 'ellipsis' }, { leftCount: limit - items.length }));\n }\n\n return intl.formatList(cutItems);\n };\n\n let formattedList = stringifyList();\n if (formattedList.length <= maxFinalStringLength) {\n return formattedList;\n }\n\n const overflowRatio = formattedList.length / maxFinalStringLength;\n limit = Math.floor(limit / overflowRatio);\n if (limit === 0) {\n limit = 1;\n return stringifyList();\n }\n\n formattedList = stringifyList();\n\n const maxIncreaseAttempts = 4;\n for (let i = 0; i < maxIncreaseAttempts; i++) {\n limit++;\n const newLimitFormattedList = stringifyList();\n\n if (newLimitFormattedList.length > maxFinalStringLength) {\n return formattedList;\n }\n\n formattedList = newLimitFormattedList;\n }\n\n return formattedList;\n};\n\nconst isReactComponent = (obj: any) =>\n typeof obj === 'object' && obj && 'displayName' in obj && typeof obj.displayName === 'string';\n\nconst guessNumberAsTimestampMinDate = new Date('1975').getTime();\n\nexport const formatValue = (\n intl: Intl,\n value: unknown,\n {\n siblingsTimeMark,\n maxListSymbols,\n datesWithTime,\n }: {\n siblingsTimeMark?: unknown;\n maxListSymbols?: number;\n datesWithTime?: boolean;\n } = {},\n): string => {\n if (typeof value === 'number') {\n if (value >= guessNumberAsTimestampMinDate) {\n return formatValue(intl, new Date(value), {\n siblingsTimeMark,\n maxListSymbols,\n datesWithTime,\n });\n }\n return intl.formatNumber(value);\n }\n if (value instanceof Date) {\n if (\n datesWithTime ||\n (siblingsTimeMark &&\n siblingsTimeMark instanceof Date &&\n Math.abs(value.getTime() - siblingsTimeMark.getTime()) < 1000 * 60 * 60 * 24 * 5)\n ) {\n return intl.formatDate(value, { dateStyle: 'medium', timeStyle: 'medium' });\n }\n return intl.formatDate(value, { dateStyle: 'medium' });\n }\n\n if (Array.isArray(value)) {\n const formattedValues = value.map((subValue) =>\n formatValue(intl, subValue, { siblingsTimeMark, maxListSymbols, datesWithTime }),\n );\n\n return formatLimitedSizeList(formattedValues, intl, maxListSymbols);\n }\n\n if (isReactComponent(value)) {\n return String((value as React.FC).displayName);\n }\n\n return String(value);\n};\n\nconst formatValuesList = (\n values: { label: string; value: unknown }[],\n {\n intl,\n limit,\n datesWithTime,\n maxListSymbols,\n }: { intl: Intl; limit: number; datesWithTime?: boolean; maxListSymbols: number },\n) => {\n const result = values.slice(0, limit).map(({ value: rawValue, label }) => {\n if (rawValue === undefined) return label;\n\n const value = formatValue(intl, rawValue, { datesWithTime, maxListSymbols });\n\n if (String(value) === String(label)) return value;\n\n return intl.formatMessage({ id: 'value-labeled' }, { label, value });\n });\n if (values.length > limit) {\n result.push(\n intl.formatMessage({ id: 'ellipsis' }, { leftCount: limit - values.values.length }),\n );\n }\n\n return intl.formatList(result);\n};\n\nexport const serialize = (\n { insights, dataType, dataRange, dataTitle, entitiesCount }: AnalyzedData,\n {\n datesWithTime,\n maxListSymbols,\n clustersLimit,\n valuesLimit,\n groupsLimit,\n }: DataSummarizationConfig,\n {\n locale,\n translations,\n availableLocales,\n }: {\n locale: string;\n translations?: { [messageId: string]: string };\n availableLocales?: { [localeId: string]: any };\n },\n): string | null => {\n if (insights.length === 0) return null;\n\n const intl = getIntl(locale, translations, availableLocales);\n\n const dataRangeSummary = intl.formatList(\n dataRange.map((range) => {\n const from = formatValue(intl, range.from, {\n siblingsTimeMark: range.to,\n datesWithTime,\n maxListSymbols,\n });\n const to = formatValue(intl, range.to, {\n siblingsTimeMark: range.from,\n datesWithTime,\n maxListSymbols,\n });\n\n return intl.formatMessage(\n { id: range.label ? 'additional-axe' : 'additional-axe-no-label' },\n { from, to, label: range.label },\n );\n }),\n );\n\n if (dataType === 'time-series') {\n const trendsInsights = insights as (GeneralTrendNode | TrendNode)[];\n const trendsByDataKey: { [label: string]: (GeneralTrendNode | TrendNode)[] } = {};\n for (const insight of trendsInsights) {\n trendsByDataKey[insight.dataKey] = trendsByDataKey[insight.dataKey] ?? [];\n trendsByDataKey[insight.dataKey].push(insight);\n }\n\n const entities = intl.formatMessage(\n { id: 'entity-type-time-series' },\n { count: entitiesCount },\n );\n const entitiesList = Object.entries(trendsByDataKey).map(([dataKey, insights]) => {\n const generalTrend = insights.find((insight) => insight.type === 'general-trend');\n const localTrends = insights.filter((insight) => insight !== generalTrend);\n const primaryTrend = generalTrend ?? localTrends[0];\n const secondaryTrends: (TrendNode | GeneralTrendNode)[] = insights.filter(\n (insight) => insight !== primaryTrend,\n );\n const mainSummary: string = intl.formatMessage(\n { id: 'time-series-general-trend' },\n {\n dataKey: entitiesCount !== 1 ? dataKey : '',\n trend: intl.formatMessage({ id: `trend-${primaryTrend.change.strength}` }),\n from: intl.formatNumber(primaryTrend.change.from),\n to: intl.formatNumber(primaryTrend.change.to),\n },\n );\n const secondarylSummaries = secondaryTrends.map((trend) =>\n intl.formatMessage(\n { id: 'time-series-local-trend' },\n {\n trend: intl.formatMessage({ id: `trend-${trend.change.strength}` }),\n from: formatValue(intl, trend.from, {\n siblingsTimeMark: trend.to,\n datesWithTime,\n maxListSymbols,\n }),\n to: formatValue(intl, trend.to, {\n siblingsTimeMark: trend.from,\n datesWithTime,\n maxListSymbols,\n }),\n },\n ),\n );\n\n if (secondarylSummaries.length === 0) {\n return mainSummary;\n }\n\n return intl.formatMessage(\n {\n id: 'time-series-detailed-trend',\n },\n {\n general: mainSummary,\n locals: formatLimitedSizeList(secondarylSummaries, intl, 400, false),\n },\n );\n });\n\n const summary = intl.formatMessage(\n { id: dataTitle ? 'chart-summary' : 'chart-summary-no-label' },\n { entities, entitiesList: intl.formatList(entitiesList), label: dataTitle },\n );\n\n if (dataRangeSummary.length > 0) {\n return `${summary}\\n${dataRangeSummary}`;\n }\n\n return summary;\n } else if (dataType === 'points-cloud') {\n const clustersInsights = insights as ClusterNode[];\n const biggestClusters = clustersInsights.slice(0, clustersLimit);\n\n const maxSize = clustersInsights[0].size;\n const minSize = clustersInsights[clustersInsights.length - 1].size;\n const entities =\n maxSize === minSize\n ? intl.formatMessage(\n { id: 'entity-type-clusters-single-size' },\n { count: entitiesCount, size: maxSize },\n )\n : intl.formatMessage(\n { id: 'entity-type-clusters-multiple-size' },\n { count: entitiesCount, maxSize, minSize },\n );\n const entitiesList = biggestClusters.map((clusterInsight) => {\n const labels = formatLimitedSizeList(clusterInsight.labels, intl, maxListSymbols);\n const anonymous =\n clusterInsight.labels.length === 0 || labels === String(clusterInsight.size);\n\n return intl.formatMessage(\n {\n id: anonymous ? 'entity-type-clusters-label-anonymous' : 'entity-type-clusters-label',\n },\n {\n relativeSize: intl.formatMessage({ id: `relative-size-${clusterInsight.relativeSize}` }),\n labels,\n size: clusterInsight.size,\n x: intl.formatNumber(clusterInsight.center.x),\n xLabel: clusterInsight.center.xLabel,\n y: intl.formatNumber(clusterInsight.center.y),\n yLabel: clusterInsight.center.yLabel,\n },\n );\n });\n if (insights.length > clustersLimit) {\n entitiesList.push(\n intl.formatMessage({ id: 'ellipsis' }, { leftCount: insights.length - clustersLimit }),\n );\n }\n\n const summary = intl.formatMessage(\n { id: dataTitle ? 'chart-summary' : 'chart-summary-no-label' },\n { entities, entitiesList: intl.formatList(entitiesList), label: dataTitle },\n );\n\n if (dataRangeSummary.length > 0) {\n return `${summary}\\n${dataRangeSummary}`;\n }\n\n return summary;\n } else if (dataType === 'values-set') {\n const [valuesInsight] = insights as [ComparisonNode];\n const entities = intl.formatMessage({ id: 'entity-type-values' }, { count: entitiesCount });\n const entitiesList = formatValuesList(valuesInsight.values, {\n intl,\n limit: valuesLimit,\n datesWithTime,\n maxListSymbols,\n });\n\n return intl.formatMessage(\n { id: dataTitle ? 'chart-summary' : 'chart-summary-no-label' },\n { entities, entitiesList: entitiesList, label: dataTitle },\n );\n } else if (dataType === 'grouped-values' || dataType === 'indexed-groups') {\n const groupInsights = insights as ComparisonNode[];\n const valueCounts = groupInsights.map((group) => group.values.length);\n const minValuesCount = Math.min(...valueCounts);\n const maxValuesCount = Math.max(...valueCounts);\n\n const entities =\n minValuesCount === maxValuesCount\n ? intl.formatMessage(\n { id: 'entity-type-grouped-values-single-size' },\n { groupsCount: groupInsights.length, valuesCount: valueCounts[0] },\n )\n : intl.formatMessage(\n { id: 'entity-type-grouped-values-multiple-size' },\n { groupsCount: groupInsights.length, minValuesCount, maxValuesCount },\n );\n const entitiesList = groupInsights.slice(0, groupsLimit).map(({ label, values }) => {\n const formattedValues = formatValuesList(values, {\n intl,\n limit: valuesLimit,\n datesWithTime,\n maxListSymbols,\n });\n return intl.formatMessage({ id: 'values-group' }, { label, values: formattedValues });\n });\n if (groupInsights.values.length > groupsLimit) {\n entitiesList.push(\n intl.formatMessage(\n { id: 'ellipsis' },\n { leftCount: groupInsights.values.length - groupsLimit },\n ),\n );\n }\n\n const sumamry = intl.formatMessage(\n { id: dataTitle ? 'chart-summary' : 'chart-summary-no-label' },\n { entities, entitiesList: intl.formatList(entitiesList), label: dataTitle },\n );\n\n return sumamry;\n }\n\n return null;\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plot.d.js","names":["MapProps"],"sources":["../../../src/types/Plot.d.ts"],"sourcesContent":["import { IBoxProps } from '@semcore/flex-box';\nimport { ReturnEl } from '@semcore/core';\nimport { MapProps } from './Plot';\nimport IContext from './context';\n\nexport interface IPlotProps extends IContext, IBoxProps {\n /** Width of the svg element\n * @default 0*/\n width?: number;\n /** Height of the svg element\n * @default 0*/\n height?: number;\n /** Human readable chart name (e.g \"Last market trends\") */\n label?: string;\n /**\n * Locale for displaying the days of a week and months, to be transferred to `Intl`\n * @default en\n * */\n locale?: NavigatorLanguage['language'];\n /** Optional prop to tune up alt text generating for charts */\n a11yAltTextConfig?: PlotSummarizerConfig;\n}\n\nexport type PlotSummarizerConfig = {\n /** Totally disable automatic data summarization */\n disable?: boolean;\n /** Disable automatic data summarization and use provided text */\n override?: string;\n /** Tuning up time series trends analyzing. Represents angle tangens of time series change of different strength */\n trendTangens?: {\n /** Angle tangens of time series that have meaningful trending change\n * @default 1/15\n */\n static?: number;\n /** Angle tangens of time series that have weak trending change\n * @default 1/10\n */\n weak?: number;\n /** Angle tangens of time series that have medium trending change\n * @default 1/5\n */\n medium?: number;\n /** Angle tangens of time series that have strong trending change\n * @default Infinity\n */\n strong?: number;\n };\n /** Tuning up time series local trends detection based on moving averages */\n movingAverage?: {\n /** Frame size of long moving average\n * @default Math.sqrt(data.length)\n */\n longSize?: number;\n /** Frame size of short moving average\n * @default Math.sqrt(data.length)/2\n */\n shortSize?: number;\n /** Absolute difference between values on moving averages crossing to\n * be handled as local trend change.\n * @default StandardDeviation/10\n */\n notableDiff?: number;\n };\n /** The way data to be interpreted as. By default is based on used used Plot elements and data structure.\n */\n dataType?: 'time-series' | 'points-cloud' | 'values-set';\n /** Grid size to split data of point clouds into clusters.\n */\n clustersGridSize?: number;\n /** Limits some output lists in chart alt text\n * @default 100\n * **/\n maxListSymbols?: number;\n /** Always add time to dates in chart alt text **/\n datesWithTime?: boolean;\n /** Described clusters count before text \"and X more\"\n * @default false\n * **/\n clustersLimit?: number;\n /** Described values count before text \"and X more\"\n * @default false\n * **/\n valuesLimit?: number;\n /** Described grouped value groups count before text \"and X more\"\n * @default false\n * **/\n groupsLimit?: number;\n};\n\nexport type MapProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?:\n | ((props: Props & Ctx, handlers: UCProps) => Props | React.PropsWithChildren)\n | React.ReactNode;\n};\n\ndeclare const Plot: <T>(props: MapProps<IPlotProps & T>) => ReturnEl;\n\nexport default Plot;\n"],"mappings":"AAEA,SAASA,QAAT,QAAyB,QAAzB"}
|
|
1
|
+
{"version":3,"file":"Plot.d.js","names":["MapProps"],"sources":["../../../src/types/Plot.d.ts"],"sourcesContent":["import { IBoxProps } from '@semcore/flex-box';\nimport { ReturnEl } from '@semcore/core';\nimport { MapProps } from './Plot';\nimport IContext from './context';\n\nexport interface IPlotProps extends IContext, IBoxProps {\n /** Width of the svg element\n * @default 0*/\n width?: number;\n /** Height of the svg element\n * @default 0*/\n height?: number;\n /** Human readable chart name (e.g \"Last market trends\") */\n label?: string;\n /**\n * Locale for displaying the days of a week and months, to be transferred to `Intl`\n * @default en\n * */\n locale?: NavigatorLanguage['language'];\n /** Optional prop to tune up alt text generating for charts */\n a11yAltTextConfig?: PlotSummarizerConfig;\n}\n\nexport type PlotSummarizerConfig = {\n /** Totally disable automatic data summarization */\n disable?: boolean;\n /** Disable automatic data summarization and use provided text */\n override?: string;\n /** Tuning up time series trends analyzing. Represents angle tangens of time series change of different strength */\n trendTangens?: {\n /** Angle tangens of time series that have meaningful trending change\n * @default 1/15\n */\n static?: number;\n /** Angle tangens of time series that have weak trending change\n * @default 1/10\n */\n weak?: number;\n /** Angle tangens of time series that have medium trending change\n * @default 1/5\n */\n medium?: number;\n /** Angle tangens of time series that have strong trending change\n * @default Infinity\n */\n strong?: number;\n };\n /** Tuning up time series local trends detection based on moving averages */\n movingAverage?: {\n /** Frame size of long moving average\n * @default Math.sqrt(data.length)\n */\n longSize?: number;\n /** Frame size of short moving average\n * @default Math.sqrt(data.length)/2\n */\n shortSize?: number;\n /** Absolute difference between values on moving averages crossing to\n * be handled as local trend change.\n * @default StandardDeviation/10\n */\n notableDiff?: number;\n };\n /** The way data to be interpreted as. By default is based on used used Plot elements and data structure.\n */\n dataType?: 'time-series' | 'points-cloud' | 'values-set';\n /** Grid size to split data of point clouds into clusters.\n */\n clustersGridSize?: number;\n /** Limits some output lists in chart alt text\n * @default 100\n * **/\n maxListSymbols?: number;\n /** Always add time to dates in chart alt text **/\n datesWithTime?: boolean;\n /** Described clusters count before text \"and X more\"\n * @default false\n * **/\n clustersLimit?: number;\n /** Described values count before text \"and X more\"\n * @default false\n * **/\n valuesLimit?: number;\n /** Described grouped value groups count before text \"and X more\"\n * @default false\n * **/\n groupsLimit?: number;\n /** Additional field for extra text description to the data\n * **/\n additionalFields?: string[];\n};\n\nexport type MapProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?:\n | ((props: Props & Ctx, handlers: UCProps) => Props | React.PropsWithChildren)\n | React.ReactNode;\n};\n\ndeclare const Plot: <T>(props: MapProps<IPlotProps & T>) => ReturnEl;\n\nexport default Plot;\n"],"mappings":"AAEA,SAASA,QAAT,QAAyB,QAAzB"}
|
package/lib/types/Plot.d.ts
CHANGED
|
@@ -85,6 +85,9 @@ export type PlotSummarizerConfig = {
|
|
|
85
85
|
* @default false
|
|
86
86
|
* **/
|
|
87
87
|
groupsLimit?: number;
|
|
88
|
+
/** Additional field for extra text description to the data
|
|
89
|
+
* **/
|
|
90
|
+
additionalFields?: string[];
|
|
88
91
|
};
|
|
89
92
|
|
|
90
93
|
export type MapProps<Props, Ctx = {}, UCProps = {}> = Props & {
|
|
@@ -59,6 +59,7 @@ export declare type DataSummarizationConfig = {
|
|
|
59
59
|
groupsLimit: number;
|
|
60
60
|
disable: boolean;
|
|
61
61
|
override: string | undefined;
|
|
62
|
+
additionalFields: string[];
|
|
62
63
|
};
|
|
63
64
|
export declare type PartialDataSummarizationConfig = DeepPartial<DataSummarizationConfig>;
|
|
64
65
|
export declare const makeDataHintsContainer: () => DataStructureHints;
|