@semcore/d3-chart 2.13.4 → 2.13.6
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 +59 -97
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +76 -143
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +49 -96
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +39 -81
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/ClipPath.js +9 -35
- package/lib/cjs/ClipPath.js.map +1 -1
- package/lib/cjs/Donut.js +77 -152
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +29 -57
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +5 -26
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +43 -84
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +33 -88
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +42 -78
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +27 -73
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/Radar.js +153 -278
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +105 -211
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +45 -87
- package/lib/cjs/ReferenceLine.js.map +1 -1
- package/lib/cjs/ResponsiveContainer.js +9 -38
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +34 -74
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js +9 -38
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +5 -29
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +27 -76
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +32 -75
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +18 -71
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +19 -83
- package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
- package/lib/cjs/a11y/bezier.js +0 -7
- package/lib/cjs/a11y/bezier.js.map +1 -1
- package/lib/cjs/a11y/focus.js +2 -11
- package/lib/cjs/a11y/focus.js.map +1 -1
- package/lib/cjs/a11y/hints.js +0 -13
- package/lib/cjs/a11y/hints.js.map +1 -1
- package/lib/cjs/a11y/insights.js +21 -132
- package/lib/cjs/a11y/insights.js.map +1 -1
- package/lib/cjs/a11y/intl.js +0 -6
- package/lib/cjs/a11y/intl.js.map +1 -1
- package/lib/cjs/a11y/locale.js +4 -22
- package/lib/cjs/a11y/locale.js.map +1 -1
- package/lib/cjs/a11y/serialize.js +23 -83
- package/lib/cjs/a11y/serialize.js.map +1 -1
- package/lib/cjs/a11y/summarize.js +0 -4
- package/lib/cjs/a11y/summarize.js.map +1 -1
- package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js +0 -13
- package/lib/cjs/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js +0 -13
- package/lib/cjs/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/cjs/color.js +0 -3
- package/lib/cjs/color.js.map +1 -1
- package/lib/cjs/createElement.js +18 -47
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/index.js +0 -23
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/types/Plot.d.js.map +1 -1
- package/lib/cjs/types/index.d.js +0 -39
- package/lib/cjs/types/index.d.js.map +1 -1
- package/lib/cjs/utils.js +7 -59
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +59 -86
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +76 -135
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +49 -86
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +39 -70
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/ClipPath.js +9 -23
- package/lib/es6/ClipPath.js.map +1 -1
- package/lib/es6/Donut.js +77 -141
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +29 -46
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +5 -15
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +43 -75
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +33 -85
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +42 -67
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +27 -66
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/Radar.js +153 -282
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +105 -203
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +45 -79
- package/lib/es6/ReferenceLine.js.map +1 -1
- package/lib/es6/ResponsiveContainer.js +9 -28
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +34 -65
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js +9 -26
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +5 -18
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +27 -63
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +32 -64
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +18 -52
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +19 -53
- package/lib/es6/a11y/PlotA11yView.js.map +1 -1
- package/lib/es6/a11y/bezier.js +0 -5
- package/lib/es6/a11y/bezier.js.map +1 -1
- package/lib/es6/a11y/focus.js +2 -9
- package/lib/es6/a11y/focus.js.map +1 -1
- package/lib/es6/a11y/hints.js +0 -3
- package/lib/es6/a11y/hints.js.map +1 -1
- package/lib/es6/a11y/insights.js +21 -133
- package/lib/es6/a11y/insights.js.map +1 -1
- package/lib/es6/a11y/intl.js +0 -1
- package/lib/es6/a11y/intl.js.map +1 -1
- package/lib/es6/a11y/locale.js +4 -18
- package/lib/es6/a11y/locale.js.map +1 -1
- package/lib/es6/a11y/serialize.js +23 -74
- package/lib/es6/a11y/serialize.js.map +1 -1
- package/lib/es6/a11y/summarize.js.map +1 -1
- package/lib/es6/a11y/translations/module/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/a11y/translations/view/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/color.js +0 -1
- package/lib/es6/color.js.map +1 -1
- package/lib/es6/createElement.js +18 -34
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/types/Plot.d.js.map +1 -1
- package/lib/es6/types/index.d.js +5 -3
- package/lib/es6/types/index.d.js.map +1 -1
- package/lib/es6/utils.js +7 -28
- package/lib/es6/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlotA11yView.js","names":["PlotA11yView","id","providedData","data","hints","plotLabel","plotRef","providedConfig","config","locale","SPlotA11yView","Box","translations","useAsyncI18nMessages","localizedMessages","intl","React","useMemo","getIntl","makeDataSummarizationConfig","Array","isArray","keys","fromHints","push","fields","verticalAxes","horizontalAxes","valueAxes","additionalFields","Object","values","Set","filter","key","length","forEach","row","duplicatedBaseKeys","baseKeys","titles","valuesAxes","map","has","axesTitle","vertical","horizontal","entry","undefined","doublicated","handled","label","renderTitle","useCallback","dataKey","useState","summary","setSummary","generatingSummary","setGeneratingSummary","useEffect","disable","override","setTimeout","summarize","handleSkip","current","heavyFindNextFocusableElement","focus","handleSkipKeyboard","event","code","handleGoToTable","dataTableRef","handleGoToTableKeyboard","texts","formatMessage","close","skipPlot","goToTable","summaryPlaceholder","table","useRef","sstyled","styles","index","join","formatValue"],"sources":["../../../src/a11y/PlotA11yView.tsx"],"sourcesContent":["import React from 'react';\nimport { heavyFindNextFocusableElement } from './focus';\nimport { makeDataSummarizationConfig } from './hints';\nimport type { A11yViewProps } from './PlotA11yModule';\nimport { formatValue } from './serialize';\nimport { getIntl } from './intl';\nimport { summarize } from './summarize';\nimport { Root, sstyled } from '@semcore/core';\nimport styles from '../style/plotA11yView.shadow.css';\nimport { Box } from '@semcore/flex-box';\nimport { useAsyncI18nMessages } from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';\n\nexport const PlotA11yView: React.FC<A11yViewProps> = ({\n id,\n data: providedData,\n hints,\n plotLabel,\n plotRef,\n config: providedConfig,\n locale,\n}) => {\n const SPlotA11yView = Root;\n const translations = useAsyncI18nMessages(localizedMessages, locale);\n const intl = React.useMemo(\n () => getIntl(locale, translations, localizedMessages),\n [locale, translations, localizedMessages],\n );\n const config = React.useMemo(() => makeDataSummarizationConfig(providedConfig), [providedConfig]);\n const data = React.useMemo(\n () => (Array.isArray(providedData) ? providedData : [providedData]),\n [providedData],\n );\n const keys = React.useMemo(() => {\n let fromHints: (string | number)[] = [];\n fromHints.push(...hints.fields.verticalAxes);\n fromHints.push(...hints.fields.horizontalAxes);\n fromHints.push(...hints.fields.valueAxes);\n fromHints.push(...config.additionalFields);\n fromHints.push(...Object.keys(hints.fields.values));\n\n fromHints = [...new Set(fromHints)].filter((key) => key in data[0]);\n\n if (fromHints.length === 0) {\n data.forEach((row) => fromHints.push(...Object.keys(row)));\n }\n\n return [...new Set(fromHints)];\n }, [data, hints]);\n const duplicatedBaseKeys = React.useMemo(() => {\n const baseKeys = keys\n .filter((key) => !hints.titles.valuesAxes[key])\n .map((key) => {\n if (hints.fields.verticalAxes.has(key) && hints.axesTitle.vertical)\n return [key, hints.axesTitle.vertical];\n if (hints.fields.horizontalAxes.has(key) && hints.axesTitle.horizontal)\n return [key, hints.axesTitle.horizontal];\n })\n .filter((entry) => entry !== undefined)\n .map((entry) => entry!);\n const doublicated: Record<string, true> = {};\n const handled: Record<string, string | number> = {};\n for (const [key, label] of baseKeys) {\n if (handled[label]) {\n doublicated[key] = true;\n doublicated[handled[label]] = true;\n }\n handled[label] = key;\n }\n return doublicated;\n }, [keys, hints]);\n const renderTitle = React.useCallback(\n (dataKey: string | number) => {\n if (hints.titles.valuesAxes[dataKey]) return hints.titles.valuesAxes[dataKey];\n if (!duplicatedBaseKeys[dataKey]) {\n if (hints.fields.verticalAxes.has(dataKey) && hints.axesTitle.vertical)\n return hints.axesTitle.vertical;\n if (hints.fields.horizontalAxes.has(dataKey) && hints.axesTitle.horizontal)\n return hints.axesTitle.horizontal;\n }\n\n return dataKey;\n },\n [data, hints, duplicatedBaseKeys],\n );\n\n const [summary, setSummary] = React.useState<string | null>(null);\n const [generatingSummary, setGeneratingSummary] = React.useState(true);\n\n React.useEffect(() => {\n if (config.disable) {\n setSummary('');\n setGeneratingSummary(false);\n return;\n }\n if (config.override) {\n setSummary(config.override);\n setGeneratingSummary(false);\n return;\n }\n setTimeout(() => {\n setSummary(summarize(providedData, hints, config, locale, translations, localizedMessages));\n setGeneratingSummary(false);\n }, 0);\n }, [providedData, hints, config, locale, translations, localizedMessages]);\n\n const handleSkip = React.useCallback(() => {\n if (!plotRef.current) return;\n\n heavyFindNextFocusableElement(plotRef.current)?.focus();\n }, []);\n const handleSkipKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (event.code !== 'Enter') return;\n\n handleSkip();\n },\n [handleSkip],\n );\n const handleGoToTable = React.useCallback(() => {\n dataTableRef.current?.focus();\n }, []);\n const handleGoToTableKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (event.code !== 'Enter') return;\n\n handleGoToTable();\n },\n [handleGoToTable],\n );\n\n const texts = React.useMemo(\n () => ({\n label: intl.formatMessage(\n { id: 'view-label' },\n { plotLabel: plotLabel ?? intl.formatMessage({ id: 'view-default-plot-label' }) },\n ),\n close: intl.formatMessage({ id: 'view-close' }),\n skipPlot: intl.formatMessage({ id: 'view-skip-plot' }),\n goToTable: intl.formatMessage({ id: 'view-go-to-table' }),\n summary: intl.formatMessage({ id: 'view-data-summary' }),\n summaryPlaceholder: intl.formatMessage({ id: 'view-summary-placeholder' }),\n table: intl.formatMessage({ id: 'view-table' }),\n }),\n [intl, plotLabel],\n );\n\n const dataTableRef = React.useRef<HTMLTableElement>(null);\n\n return sstyled(styles)(\n <SPlotA11yView render={Box} tabIndex={0} aria-label={texts.label}>\n <a aria-hidden onClick={handleSkip}>\n {texts.close}\n </a>\n <a role=\"link\" tabIndex={0} onKeyDown={handleSkipKeyboard} onClick={handleSkip}>\n {texts.skipPlot}\n </a>\n <a role=\"link\" tabIndex={0} onKeyDown={handleGoToTableKeyboard} onClick={handleGoToTable}>\n {texts.goToTable}\n </a>\n <strong>\n <label htmlFor={`${id}-data-summary`}>{texts.summary}</label>\n </strong>\n <div id={`${id}-data-summary`} aria-busy={generatingSummary} tabIndex={0}>\n {generatingSummary ? texts.summaryPlaceholder : summary}\n </div>\n <strong>\n <label htmlFor={`${id}-data-table`}>{texts.table}</label>\n </strong>\n <table id={`${id}-data-table`} tabIndex={0} ref={dataTableRef}>\n <thead>\n <tr>\n {keys.map((key, index) => (\n <th key={`${key}-${index}`}>{renderTitle(key)}</th>\n ))}\n </tr>\n </thead>\n <tbody>\n {data.map((row, index) => (\n <tr key={Object.values(row).join('-') + '-' + index}>\n {keys.map((key, index) => (\n <td key={`${key}-${index}`}>{formatValue(intl, row[key])}</td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n </SPlotA11yView>,\n ) as React.ReactElement;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlotA11yView.js","names":["_core","require","_react","_interopRequireDefault","_focus","_hints","_serialize","_intl","_summarize","_flexBox","_i18nEnhance","_intergalacticDynamicLocales","styles","sstyled","insert","PlotA11yView","_ref3","_ref","arguments[0]","_ref2","id","providedData","data","hints","plotLabel","plotRef","providedConfig","config","locale","SPlotA11yView","Box","translations","useAsyncI18nMessages","localizedMessages","intl","React","useMemo","getIntl","makeDataSummarizationConfig","Array","isArray","keys","_fromHints","_fromHints2","_fromHints3","_fromHints4","_fromHints5","fromHints","push","apply","_toConsumableArray2","fields","verticalAxes","horizontalAxes","valueAxes","additionalFields","Object","values","Set","filter","key","length","forEach","row","_fromHints6","duplicatedBaseKeys","baseKeys","titles","valuesAxes","map","has","axesTitle","vertical","horizontal","entry","undefined","doublicated","handled","_iterator","_createForOfIteratorHelper2","_step","s","n","done","_step$value","_slicedToArray2","value","label","err","e","f","renderTitle","useCallback","dataKey","_React$useState","useState","_React$useState2","summary","setSummary","_React$useState3","_React$useState4","generatingSummary","setGeneratingSummary","useEffect","disable","override","setTimeout","summarize","handleSkip","_heavyFindNextFocusab","current","heavyFindNextFocusableElement","focus","handleSkipKeyboard","event","code","handleGoToTable","_dataTableRef$current","dataTableRef","handleGoToTableKeyboard","texts","formatMessage","close","skipPlot","goToTable","summaryPlaceholder","table","useRef","createElement","cn","_objectSpread2","assignProps","concat","index","join","formatValue","exports"],"sources":["../../../src/a11y/PlotA11yView.tsx"],"sourcesContent":["import React from 'react';\nimport { heavyFindNextFocusableElement } from './focus';\nimport { makeDataSummarizationConfig } from './hints';\nimport type { A11yViewProps } from './PlotA11yModule';\nimport { formatValue } from './serialize';\nimport { getIntl } from './intl';\nimport { summarize } from './summarize';\nimport { Root, sstyled } from '@semcore/core';\nimport styles from '../style/plotA11yView.shadow.css';\nimport { Box } from '@semcore/flex-box';\nimport { useAsyncI18nMessages } from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';\n\nexport const PlotA11yView: React.FC<A11yViewProps> = ({\n id,\n data: providedData,\n hints,\n plotLabel,\n plotRef,\n config: providedConfig,\n locale,\n}) => {\n const SPlotA11yView = Root;\n const translations = useAsyncI18nMessages(localizedMessages, locale);\n const intl = React.useMemo(\n () => getIntl(locale, translations, localizedMessages),\n [locale, translations, localizedMessages],\n );\n const config = React.useMemo(() => makeDataSummarizationConfig(providedConfig), [providedConfig]);\n const data = React.useMemo(\n () => (Array.isArray(providedData) ? providedData : [providedData]),\n [providedData],\n );\n const keys = React.useMemo(() => {\n let fromHints: (string | number)[] = [];\n fromHints.push(...hints.fields.verticalAxes);\n fromHints.push(...hints.fields.horizontalAxes);\n fromHints.push(...hints.fields.valueAxes);\n fromHints.push(...config.additionalFields);\n fromHints.push(...Object.keys(hints.fields.values));\n\n fromHints = [...new Set(fromHints)].filter((key) => key in data[0]);\n\n if (fromHints.length === 0) {\n data.forEach((row) => fromHints.push(...Object.keys(row)));\n }\n\n return [...new Set(fromHints)];\n }, [data, hints]);\n const duplicatedBaseKeys = React.useMemo(() => {\n const baseKeys = keys\n .filter((key) => !hints.titles.valuesAxes[key])\n .map((key) => {\n if (hints.fields.verticalAxes.has(key) && hints.axesTitle.vertical)\n return [key, hints.axesTitle.vertical];\n if (hints.fields.horizontalAxes.has(key) && hints.axesTitle.horizontal)\n return [key, hints.axesTitle.horizontal];\n })\n .filter((entry) => entry !== undefined)\n .map((entry) => entry!);\n const doublicated: Record<string, true> = {};\n const handled: Record<string, string | number> = {};\n for (const [key, label] of baseKeys) {\n if (handled[label]) {\n doublicated[key] = true;\n doublicated[handled[label]] = true;\n }\n handled[label] = key;\n }\n return doublicated;\n }, [keys, hints]);\n const renderTitle = React.useCallback(\n (dataKey: string | number) => {\n if (hints.titles.valuesAxes[dataKey]) return hints.titles.valuesAxes[dataKey];\n if (!duplicatedBaseKeys[dataKey]) {\n if (hints.fields.verticalAxes.has(dataKey) && hints.axesTitle.vertical)\n return hints.axesTitle.vertical;\n if (hints.fields.horizontalAxes.has(dataKey) && hints.axesTitle.horizontal)\n return hints.axesTitle.horizontal;\n }\n\n return dataKey;\n },\n [data, hints, duplicatedBaseKeys],\n );\n\n const [summary, setSummary] = React.useState<string | null>(null);\n const [generatingSummary, setGeneratingSummary] = React.useState(true);\n\n React.useEffect(() => {\n if (config.disable) {\n setSummary('');\n setGeneratingSummary(false);\n return;\n }\n if (config.override) {\n setSummary(config.override);\n setGeneratingSummary(false);\n return;\n }\n setTimeout(() => {\n setSummary(summarize(providedData, hints, config, locale, translations, localizedMessages));\n setGeneratingSummary(false);\n }, 0);\n }, [providedData, hints, config, locale, translations, localizedMessages]);\n\n const handleSkip = React.useCallback(() => {\n if (!plotRef.current) return;\n\n heavyFindNextFocusableElement(plotRef.current)?.focus();\n }, []);\n const handleSkipKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (event.code !== 'Enter') return;\n\n handleSkip();\n },\n [handleSkip],\n );\n const handleGoToTable = React.useCallback(() => {\n dataTableRef.current?.focus();\n }, []);\n const handleGoToTableKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (event.code !== 'Enter') return;\n\n handleGoToTable();\n },\n [handleGoToTable],\n );\n\n const texts = React.useMemo(\n () => ({\n label: intl.formatMessage(\n { id: 'view-label' },\n { plotLabel: plotLabel ?? intl.formatMessage({ id: 'view-default-plot-label' }) },\n ),\n close: intl.formatMessage({ id: 'view-close' }),\n skipPlot: intl.formatMessage({ id: 'view-skip-plot' }),\n goToTable: intl.formatMessage({ id: 'view-go-to-table' }),\n summary: intl.formatMessage({ id: 'view-data-summary' }),\n summaryPlaceholder: intl.formatMessage({ id: 'view-summary-placeholder' }),\n table: intl.formatMessage({ id: 'view-table' }),\n }),\n [intl, plotLabel],\n );\n\n const dataTableRef = React.useRef<HTMLTableElement>(null);\n\n return sstyled(styles)(\n <SPlotA11yView render={Box} tabIndex={0} aria-label={texts.label}>\n <a aria-hidden onClick={handleSkip}>\n {texts.close}\n </a>\n <a role=\"link\" tabIndex={0} onKeyDown={handleSkipKeyboard} onClick={handleSkip}>\n {texts.skipPlot}\n </a>\n <a role=\"link\" tabIndex={0} onKeyDown={handleGoToTableKeyboard} onClick={handleGoToTable}>\n {texts.goToTable}\n </a>\n <strong>\n <label htmlFor={`${id}-data-summary`}>{texts.summary}</label>\n </strong>\n <div id={`${id}-data-summary`} aria-busy={generatingSummary} tabIndex={0}>\n {generatingSummary ? texts.summaryPlaceholder : summary}\n </div>\n <strong>\n <label htmlFor={`${id}-data-table`}>{texts.table}</label>\n </strong>\n <table id={`${id}-data-table`} tabIndex={0} ref={dataTableRef}>\n <thead>\n <tr>\n {keys.map((key, index) => (\n <th key={`${key}-${index}`}>{renderTitle(key)}</th>\n ))}\n </tr>\n </thead>\n <tbody>\n {data.map((row, index) => (\n <tr key={Object.values(row).join('-') + '-' + index}>\n {keys.map((key, index) => (\n <td key={`${key}-${index}`}>{formatValue(intl, row[key])}</td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n </SPlotA11yView>,\n ) as React.ReactElement;\n};\n"],"mappings":"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"}
|
package/lib/cjs/a11y/bezier.js
CHANGED
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.makeBezier = void 0;
|
|
7
|
-
|
|
8
7
|
var makeBezier = function makeBezier(points, bounds) {
|
|
9
8
|
var yPoints = points.map(function (point) {
|
|
10
9
|
return point.y;
|
|
@@ -14,13 +13,10 @@ var makeBezier = function makeBezier(points, bounds) {
|
|
|
14
13
|
});
|
|
15
14
|
var weightPoints = points.map(function (point) {
|
|
16
15
|
var _point$weight;
|
|
17
|
-
|
|
18
16
|
return (_point$weight = point.weight) !== null && _point$weight !== void 0 ? _point$weight : 1;
|
|
19
17
|
});
|
|
20
|
-
|
|
21
18
|
var process = function process(t, points) {
|
|
22
19
|
var result = 0;
|
|
23
|
-
|
|
24
20
|
for (var i = 0; i < points.length; i++) {
|
|
25
21
|
var tPower = i;
|
|
26
22
|
var reversedTPower = points.length - 1 - i;
|
|
@@ -30,15 +26,12 @@ var makeBezier = function makeBezier(points, bounds) {
|
|
|
30
26
|
var weight = weightPoints[i];
|
|
31
27
|
result += factor * Math.pow(t, tPower) * Math.pow(1 - t, reversedTPower) * point * weight;
|
|
32
28
|
}
|
|
33
|
-
|
|
34
29
|
return result;
|
|
35
30
|
};
|
|
36
|
-
|
|
37
31
|
return function (x) {
|
|
38
32
|
var t = x / bounds.width;
|
|
39
33
|
return process(t, yPoints) / process(t, noPoints);
|
|
40
34
|
};
|
|
41
35
|
};
|
|
42
|
-
|
|
43
36
|
exports.makeBezier = makeBezier;
|
|
44
37
|
//# sourceMappingURL=bezier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bezier.js","names":["makeBezier","points","bounds","yPoints","map","point","y","noPoints","weightPoints","weight","process","t","result","i","length","tPower","reversedTPower","edge","factor","x","width"],"sources":["../../../src/a11y/bezier.ts"],"sourcesContent":["export const makeBezier = (\n points: { x: number; y: number; weight?: number }[],\n bounds: { width: number; height: number },\n) => {\n const yPoints = points.map((point) => point.y);\n const noPoints = points.map(() => 1);\n const weightPoints = points.map((point) => point.weight ?? 1);\n const process = (t: number, points: number[]) => {\n let result = 0;\n for (let i = 0; i < points.length; i++) {\n const tPower = i;\n const reversedTPower = points.length - 1 - i;\n const edge = i === 0 || i === points.length - 1;\n const factor = edge ? 1 : points.length - 1;\n const point = points[i];\n const weight = weightPoints[i];\n result += factor * t ** tPower * (1 - t) ** reversedTPower * point * weight;\n }\n return result;\n };\n\n return (x: number) => {\n const t = x / bounds.width;\n return process(t, yPoints) / process(t, noPoints);\n };\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"bezier.js","names":["makeBezier","points","bounds","yPoints","map","point","y","noPoints","weightPoints","_point$weight","weight","process","t","result","i","length","tPower","reversedTPower","edge","factor","Math","pow","x","width","exports"],"sources":["../../../src/a11y/bezier.ts"],"sourcesContent":["export const makeBezier = (\n points: { x: number; y: number; weight?: number }[],\n bounds: { width: number; height: number },\n) => {\n const yPoints = points.map((point) => point.y);\n const noPoints = points.map(() => 1);\n const weightPoints = points.map((point) => point.weight ?? 1);\n const process = (t: number, points: number[]) => {\n let result = 0;\n for (let i = 0; i < points.length; i++) {\n const tPower = i;\n const reversedTPower = points.length - 1 - i;\n const edge = i === 0 || i === points.length - 1;\n const factor = edge ? 1 : points.length - 1;\n const point = points[i];\n const weight = weightPoints[i];\n result += factor * t ** tPower * (1 - t) ** reversedTPower * point * weight;\n }\n return result;\n };\n\n return (x: number) => {\n const t = x / bounds.width;\n return process(t, yPoints) / process(t, noPoints);\n };\n};\n"],"mappings":";;;;;;AAAO,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CACrBC,MAAmD,EACnDC,MAAyC,EACtC;EACH,IAAMC,OAAO,GAAGF,MAAM,CAACG,GAAG,CAAC,UAACC,KAAK;IAAA,OAAKA,KAAK,CAACC,CAAC;EAAA,EAAC;EAC9C,IAAMC,QAAQ,GAAGN,MAAM,CAACG,GAAG,CAAC;IAAA,OAAM,CAAC;EAAA,EAAC;EACpC,IAAMI,YAAY,GAAGP,MAAM,CAACG,GAAG,CAAC,UAACC,KAAK;IAAA,IAAAI,aAAA;IAAA,QAAAA,aAAA,GAAKJ,KAAK,CAACK,MAAM,cAAAD,aAAA,cAAAA,aAAA,GAAI,CAAC;EAAA,EAAC;EAC7D,IAAME,OAAO,GAAG,SAAVA,OAAOA,CAAIC,CAAS,EAAEX,MAAgB,EAAK;IAC/C,IAAIY,MAAM,GAAG,CAAC;IACd,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGb,MAAM,CAACc,MAAM,EAAED,CAAC,EAAE,EAAE;MACtC,IAAME,MAAM,GAAGF,CAAC;MAChB,IAAMG,cAAc,GAAGhB,MAAM,CAACc,MAAM,GAAG,CAAC,GAAGD,CAAC;MAC5C,IAAMI,IAAI,GAAGJ,CAAC,KAAK,CAAC,IAAIA,CAAC,KAAKb,MAAM,CAACc,MAAM,GAAG,CAAC;MAC/C,IAAMI,MAAM,GAAGD,IAAI,GAAG,CAAC,GAAGjB,MAAM,CAACc,MAAM,GAAG,CAAC;MAC3C,IAAMV,KAAK,GAAGJ,MAAM,CAACa,CAAC,CAAC;MACvB,IAAMJ,MAAM,GAAGF,YAAY,CAACM,CAAC,CAAC;MAC9BD,MAAM,IAAIM,MAAM,GAAAC,IAAA,CAAAC,GAAA,CAAGT,CAAC,EAAII,MAAM,IAAAI,IAAA,CAAAC,GAAA,CAAI,CAAC,GAAGT,CAAC,EAAKK,cAAc,IAAGZ,KAAK,GAAGK,MAAM;IAC7E;IACA,OAAOG,MAAM;EACf,CAAC;EAED,OAAO,UAACS,CAAS,EAAK;IACpB,IAAMV,CAAC,GAAGU,CAAC,GAAGpB,MAAM,CAACqB,KAAK;IAC1B,OAAOZ,OAAO,CAACC,CAAC,EAAET,OAAO,CAAC,GAAGQ,OAAO,CAACC,CAAC,EAAEL,QAAQ,CAAC;EACnD,CAAC;AACH,CAAC;AAACiB,OAAA,CAAAxB,UAAA,GAAAA,UAAA"}
|
package/lib/cjs/a11y/focus.js
CHANGED
|
@@ -4,30 +4,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.heavyFindNextFocusableElement = void 0;
|
|
7
|
-
|
|
8
7
|
var isFocusable = function isFocusable(element) {
|
|
9
8
|
var tabIndex = element.getAttribute('tabindex');
|
|
10
|
-
|
|
11
9
|
if (tabIndex) {
|
|
12
10
|
var tabIndexValue = parseInt(tabIndex, 10);
|
|
13
11
|
if (!isNaN(tabIndexValue) && tabIndexValue >= 0) return element;
|
|
14
12
|
}
|
|
15
|
-
|
|
16
13
|
var tagName = element.tagName;
|
|
17
14
|
if ('INPUT' === tagName) return !element.getAttribute('disabled');
|
|
18
15
|
if ('A' === tagName || 'AREA' === tagName) return element.hasAttribute('href');
|
|
19
16
|
if ('BODY' === tagName || 'IFRAME' === tagName) return true;
|
|
20
|
-
};
|
|
17
|
+
};
|
|
21
18
|
|
|
19
|
+
// eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope
|
|
22
20
|
|
|
23
21
|
var heavyFindNextFocusableElement = function heavyFindNextFocusableElement(base) {
|
|
24
22
|
var trace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Map();
|
|
25
23
|
trace.set(base, true);
|
|
26
24
|
var sibling = base.nextElementSibling;
|
|
27
|
-
|
|
28
25
|
if (sibling) {
|
|
29
26
|
trace.set(sibling, true);
|
|
30
|
-
|
|
31
27
|
for (var i = 0; i < sibling.children.length; i++) {
|
|
32
28
|
var child = sibling.children.item(i);
|
|
33
29
|
if (!child) continue;
|
|
@@ -36,22 +32,17 @@ var heavyFindNextFocusableElement = function heavyFindNextFocusableElement(base)
|
|
|
36
32
|
var childInnerResult = heavyFindNextFocusableElement(child, trace);
|
|
37
33
|
if (childInnerResult) return childInnerResult;
|
|
38
34
|
}
|
|
39
|
-
|
|
40
35
|
while (sibling) {
|
|
41
36
|
if (isFocusable(sibling)) return sibling;
|
|
42
|
-
|
|
43
37
|
if (!trace.has(sibling)) {
|
|
44
38
|
var siblingInnerResult = heavyFindNextFocusableElement(sibling, trace);
|
|
45
39
|
if (siblingInnerResult) return siblingInnerResult;
|
|
46
40
|
}
|
|
47
|
-
|
|
48
41
|
sibling = sibling.nextElementSibling;
|
|
49
42
|
}
|
|
50
43
|
}
|
|
51
|
-
|
|
52
44
|
if (!base.parentElement || trace.has(base.parentElement)) return null;
|
|
53
45
|
return heavyFindNextFocusableElement(base.parentElement, trace);
|
|
54
46
|
};
|
|
55
|
-
|
|
56
47
|
exports.heavyFindNextFocusableElement = heavyFindNextFocusableElement;
|
|
57
48
|
//# sourceMappingURL=focus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus.js","names":["isFocusable","element","tabIndex","getAttribute","tabIndexValue","parseInt","isNaN","tagName","hasAttribute","heavyFindNextFocusableElement","base","trace","Map","set","sibling","nextElementSibling","i","children","
|
|
1
|
+
{"version":3,"file":"focus.js","names":["isFocusable","element","tabIndex","getAttribute","tabIndexValue","parseInt","isNaN","tagName","hasAttribute","heavyFindNextFocusableElement","base","trace","arguments","length","undefined","Map","set","sibling","nextElementSibling","i","children","child","item","has","childInnerResult","siblingInnerResult","parentElement","exports"],"sources":["../../../src/a11y/focus.ts"],"sourcesContent":["const isFocusable = (element: Element) => {\n const tabIndex = element.getAttribute('tabindex');\n if (tabIndex) {\n const tabIndexValue = parseInt(tabIndex, 10);\n if (!isNaN(tabIndexValue) && tabIndexValue >= 0) return element;\n }\n\n const { tagName } = element;\n\n if ('INPUT' === tagName) return !element.getAttribute('disabled');\n if ('A' === tagName || 'AREA' === tagName) return element.hasAttribute('href');\n if ('BODY' === tagName || 'IFRAME' === tagName) return true;\n};\n\n// eslint-disable-next-line ssr-friendly/no-dom-globals-in-module-scope\ntype FocusableElement = Element & { focus: () => void };\n\nexport const heavyFindNextFocusableElement = (\n base: Element,\n trace: Map<Element, true> = new Map(),\n): FocusableElement | null => {\n trace.set(base, true);\n let sibling = base.nextElementSibling;\n if (sibling) {\n trace.set(sibling, true);\n for (let i = 0; i < sibling.children.length; i++) {\n const child = sibling.children.item(i);\n if (!child) continue;\n if (trace.has(child)) continue;\n if (isFocusable(child)) return child as FocusableElement;\n const childInnerResult = heavyFindNextFocusableElement(child, trace);\n if (childInnerResult) return childInnerResult;\n }\n while (sibling) {\n if (isFocusable(sibling)) return sibling as FocusableElement;\n if (!trace.has(sibling)) {\n const siblingInnerResult = heavyFindNextFocusableElement(sibling, trace);\n if (siblingInnerResult) return siblingInnerResult;\n }\n sibling = sibling.nextElementSibling;\n }\n }\n\n if (!base.parentElement || trace.has(base.parentElement)) return null;\n\n return heavyFindNextFocusableElement(base.parentElement, trace);\n};\n"],"mappings":";;;;;;AAAA,IAAMA,WAAW,GAAG,SAAdA,WAAWA,CAAIC,OAAgB,EAAK;EACxC,IAAMC,QAAQ,GAAGD,OAAO,CAACE,YAAY,CAAC,UAAU,CAAC;EACjD,IAAID,QAAQ,EAAE;IACZ,IAAME,aAAa,GAAGC,QAAQ,CAACH,QAAQ,EAAE,EAAE,CAAC;IAC5C,IAAI,CAACI,KAAK,CAACF,aAAa,CAAC,IAAIA,aAAa,IAAI,CAAC,EAAE,OAAOH,OAAO;EACjE;EAEA,IAAQM,OAAO,GAAKN,OAAO,CAAnBM,OAAO;EAEf,IAAI,OAAO,KAAKA,OAAO,EAAE,OAAO,CAACN,OAAO,CAACE,YAAY,CAAC,UAAU,CAAC;EACjE,IAAI,GAAG,KAAKI,OAAO,IAAI,MAAM,KAAKA,OAAO,EAAE,OAAON,OAAO,CAACO,YAAY,CAAC,MAAM,CAAC;EAC9E,IAAI,MAAM,KAAKD,OAAO,IAAI,QAAQ,KAAKA,OAAO,EAAE,OAAO,IAAI;AAC7D,CAAC;;AAED;;AAGO,IAAME,6BAA6B,GAAG,SAAhCA,6BAA6BA,CACxCC,IAAa,EAEe;EAAA,IAD5BC,KAAyB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAIG,GAAG,EAAE;EAErCJ,KAAK,CAACK,GAAG,CAACN,IAAI,EAAE,IAAI,CAAC;EACrB,IAAIO,OAAO,GAAGP,IAAI,CAACQ,kBAAkB;EACrC,IAAID,OAAO,EAAE;IACXN,KAAK,CAACK,GAAG,CAACC,OAAO,EAAE,IAAI,CAAC;IACxB,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,OAAO,CAACG,QAAQ,CAACP,MAAM,EAAEM,CAAC,EAAE,EAAE;MAChD,IAAME,KAAK,GAAGJ,OAAO,CAACG,QAAQ,CAACE,IAAI,CAACH,CAAC,CAAC;MACtC,IAAI,CAACE,KAAK,EAAE;MACZ,IAAIV,KAAK,CAACY,GAAG,CAACF,KAAK,CAAC,EAAE;MACtB,IAAIrB,WAAW,CAACqB,KAAK,CAAC,EAAE,OAAOA,KAAK;MACpC,IAAMG,gBAAgB,GAAGf,6BAA6B,CAACY,KAAK,EAAEV,KAAK,CAAC;MACpE,IAAIa,gBAAgB,EAAE,OAAOA,gBAAgB;IAC/C;IACA,OAAOP,OAAO,EAAE;MACd,IAAIjB,WAAW,CAACiB,OAAO,CAAC,EAAE,OAAOA,OAAO;MACxC,IAAI,CAACN,KAAK,CAACY,GAAG,CAACN,OAAO,CAAC,EAAE;QACvB,IAAMQ,kBAAkB,GAAGhB,6BAA6B,CAACQ,OAAO,EAAEN,KAAK,CAAC;QACxE,IAAIc,kBAAkB,EAAE,OAAOA,kBAAkB;MACnD;MACAR,OAAO,GAAGA,OAAO,CAACC,kBAAkB;IACtC;EACF;EAEA,IAAI,CAACR,IAAI,CAACgB,aAAa,IAAIf,KAAK,CAACY,GAAG,CAACb,IAAI,CAACgB,aAAa,CAAC,EAAE,OAAO,IAAI;EAErE,OAAOjB,6BAA6B,CAACC,IAAI,CAACgB,aAAa,EAAEf,KAAK,CAAC;AACjE,CAAC;AAACgB,OAAA,CAAAlB,6BAAA,GAAAA,6BAAA"}
|
package/lib/cjs/a11y/hints.js
CHANGED
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.makeDataSummarizationConfig = exports.makeDataHintsHandlers = exports.makeDataHintsContainer = void 0;
|
|
9
|
-
|
|
10
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
-
|
|
12
9
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
13
|
-
|
|
14
10
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
|
-
|
|
16
11
|
var makeDataHintsContainer = function makeDataHintsContainer() {
|
|
17
12
|
return {
|
|
18
13
|
fields: {
|
|
@@ -42,9 +37,7 @@ var makeDataHintsContainer = function makeDataHintsContainer() {
|
|
|
42
37
|
pointsDensity: null
|
|
43
38
|
};
|
|
44
39
|
};
|
|
45
|
-
|
|
46
40
|
exports.makeDataHintsContainer = makeDataHintsContainer;
|
|
47
|
-
|
|
48
41
|
var makeDataHintsHandlers = function makeDataHintsHandlers(mutableContainer) {
|
|
49
42
|
var handler = {
|
|
50
43
|
specifyDataRowFields: function specifyDataRowFields(x, y, value) {
|
|
@@ -84,11 +77,9 @@ var makeDataHintsHandlers = function makeDataHintsHandlers(mutableContainer) {
|
|
|
84
77
|
if (typeof title === 'number' || typeof title === 'bigint' || (0, _typeof2["default"])(title) === 'object' && title instanceof Date) {
|
|
85
78
|
title = String(title);
|
|
86
79
|
}
|
|
87
|
-
|
|
88
80
|
if (typeof title !== 'string') {
|
|
89
81
|
return;
|
|
90
82
|
}
|
|
91
|
-
|
|
92
83
|
if (describedDataAxes === 'horizontal') {
|
|
93
84
|
mutableContainer.axesTitle.horizontal = title;
|
|
94
85
|
} else if (describedDataAxes === 'vertical') {
|
|
@@ -104,12 +95,9 @@ var makeDataHintsHandlers = function makeDataHintsHandlers(mutableContainer) {
|
|
|
104
95
|
};
|
|
105
96
|
return handler;
|
|
106
97
|
};
|
|
107
|
-
|
|
108
98
|
exports.makeDataHintsHandlers = makeDataHintsHandlers;
|
|
109
|
-
|
|
110
99
|
var makeDataSummarizationConfig = function makeDataSummarizationConfig(config) {
|
|
111
100
|
var _config$trendTangens, _config$movingAverage, _config$additionalFie;
|
|
112
|
-
|
|
113
101
|
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
|
|
114
102
|
clustersGridSize: undefined,
|
|
115
103
|
maxListSymbols: 100,
|
|
@@ -135,6 +123,5 @@ var makeDataSummarizationConfig = function makeDataSummarizationConfig(config) {
|
|
|
135
123
|
additionalFields: (0, _toConsumableArray2["default"])((_config$additionalFie = config === null || config === void 0 ? void 0 : config.additionalFields) !== null && _config$additionalFie !== void 0 ? _config$additionalFie : [])
|
|
136
124
|
});
|
|
137
125
|
};
|
|
138
|
-
|
|
139
126
|
exports.makeDataSummarizationConfig = makeDataSummarizationConfig;
|
|
140
127
|
//# sourceMappingURL=hints.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hints.js","names":["makeDataHintsContainer","fields","verticalAxes","Set","horizontalAxes","valueAxes","values","groups","axesTitle","vertical","horizontal","titles","getVerticalAxesTitle","getHorizontalAxesTitle","valuesAxes","getValueAxesTitle","grid","dataType","pointsDensity","makeDataHintsHandlers","mutableContainer","handler","specifyDataRowFields","x","y","value","add","setupGrid","direction","size","establishDataType","describeValueEntity","dataKey","readableName","labelKey","describeGroupedValues","groupKey","axes","label","addKeyLabelGetter","getter","setTitle","describedDataAxes","title","Date","String","setPointsDensity","makeDataSummarizationConfig","config","clustersGridSize","undefined","maxListSymbols","datesWithTime","clustersLimit","valuesLimit","groupsLimit","disable","override","trendTangens","weak","medium","strong","Infinity","movingAverage","longSize","shortSize","notableDiff","additionalFields"],"sources":["../../../src/a11y/hints.ts"],"sourcesContent":["import { SerializableDataType } from './insights';\n\ntype DeepPartial<T> = T extends object\n ? {\n [P in keyof T]?: DeepPartial<T[P]>;\n }\n : T;\n\nexport type DataStructureHints = {\n fields: {\n verticalAxes: Set<string | number>;\n horizontalAxes: Set<string | number>;\n valueAxes: Set<string | number>;\n values: Set<string | number>;\n };\n groups: Set<string | number>;\n axesTitle: {\n vertical: string | null;\n horizontal: string | null;\n };\n titles: {\n verticalAxes: {\n [dataKey: string | number]: string;\n };\n getVerticalAxesTitle: null | ((dataKey: string | number) => string);\n horizontalAxes: {\n [dataKey: string | number]: string;\n };\n getHorizontalAxesTitle: null | ((dataKey: string | number) => string);\n valuesAxes: {\n [dataKey: string | number]: string;\n };\n getValueAxesTitle: null | ((dataKey: string | number) => string);\n };\n grid: {\n verticalAxes: number | null;\n horizontalAxes: number | null;\n };\n pointsDensity: {\n verticalAxes: number;\n horizontalAxes: number;\n } | null;\n dataType: SerializableDataType | null;\n};\nexport type DataSummarizationConfig = {\n trendTangens: {\n static: number;\n weak: number;\n medium: number;\n strong: number;\n };\n movingAverage: {\n longSize: number | undefined;\n shortSize: number | undefined;\n notableDiff: number | undefined;\n };\n dataType: SerializableDataType | undefined;\n clustersGridSize: number | undefined;\n maxListSymbols: number;\n datesWithTime: boolean | undefined;\n clustersLimit: number;\n valuesLimit: number;\n groupsLimit: number;\n disable: boolean;\n override: string | undefined;\n additionalFields: string[];\n};\nexport type PartialDataSummarizationConfig = DeepPartial<DataSummarizationConfig>;\n\nexport const makeDataHintsContainer = (): DataStructureHints => ({\n fields: {\n verticalAxes: new Set(),\n horizontalAxes: new Set(),\n valueAxes: new Set(),\n values: new Set(),\n },\n groups: new Set(),\n axesTitle: {\n vertical: null,\n horizontal: null,\n },\n titles: {\n verticalAxes: {},\n getVerticalAxesTitle: null,\n horizontalAxes: {},\n getHorizontalAxesTitle: null,\n valuesAxes: {},\n getValueAxesTitle: null,\n },\n grid: {\n verticalAxes: null,\n horizontalAxes: null,\n },\n dataType: null,\n pointsDensity: null,\n});\n\nexport const makeDataHintsHandlers = (mutableContainer: DataStructureHints) => {\n const handler = {\n specifyDataRowFields: (x?: string, y?: string, value?: string) => {\n if (y) mutableContainer.fields.verticalAxes.add(y);\n if (x) mutableContainer.fields.horizontalAxes.add(x);\n if (value) mutableContainer.fields.valueAxes.add(value);\n },\n setupGrid: (direction: 'vertical' | 'horizontal', size: number) => {\n if (direction === 'horizontal') {\n mutableContainer.grid.horizontalAxes = size;\n } else if (direction === 'vertical') {\n mutableContainer.grid.verticalAxes = size;\n }\n },\n establishDataType: (dataType: SerializableDataType) => {\n mutableContainer.dataType = dataType;\n },\n describeValueEntity: (dataKey: string | number, readableName: string) => {\n mutableContainer.fields.values.add(dataKey);\n handler.labelKey('value', dataKey, readableName);\n },\n describeGroupedValues: (groupKey: string | number, dataKey: string | number) => {\n mutableContainer.groups.add(groupKey);\n mutableContainer.fields.values.add(dataKey);\n },\n labelKey: (\n axes: 'vertical' | 'horizontal' | 'value',\n dataKey: string | number,\n label: string,\n ) => {\n if (axes === 'vertical') mutableContainer.titles.verticalAxes[dataKey] = label;\n if (axes === 'horizontal') mutableContainer.titles.horizontalAxes[dataKey] = label;\n if (axes === 'value') mutableContainer.titles.valuesAxes[dataKey] = label;\n },\n addKeyLabelGetter: (\n axes: 'vertical' | 'horizontal' | 'value',\n getter: (dataKey: string | number) => string,\n ) => {\n if (axes === 'vertical') mutableContainer.titles.getVerticalAxesTitle = getter;\n if (axes === 'horizontal') mutableContainer.titles.getHorizontalAxesTitle = getter;\n if (axes === 'value') mutableContainer.titles.getValueAxesTitle = getter;\n },\n setTitle: (describedDataAxes: 'vertical' | 'horizontal', title: string) => {\n if (\n typeof title === 'number' ||\n typeof title === 'bigint' ||\n (typeof title === 'object' && (title as any) instanceof Date)\n ) {\n title = String(title);\n }\n if (typeof title !== 'string') {\n return;\n }\n if (describedDataAxes === 'horizontal') {\n mutableContainer.axesTitle.horizontal = title;\n } else if (describedDataAxes === 'vertical') {\n mutableContainer.axesTitle.vertical = title;\n }\n },\n setPointsDensity: (horizontalAxes: number, verticalAxes: number) => {\n mutableContainer.pointsDensity = { verticalAxes, horizontalAxes };\n },\n };\n return handler;\n};\n\nexport type DataHintsHandler = ReturnType<typeof makeDataHintsHandlers>;\n\nexport const makeDataSummarizationConfig = (\n config?: PartialDataSummarizationConfig,\n): DataSummarizationConfig => ({\n clustersGridSize: undefined,\n maxListSymbols: 100,\n datesWithTime: undefined,\n clustersLimit: 5,\n valuesLimit: 5,\n groupsLimit: 5,\n dataType: undefined,\n disable: false,\n override: undefined,\n ...(config ?? {}),\n trendTangens: {\n static: 1 / 15,\n weak: 1 / 10,\n medium: 1 / 5,\n strong: Infinity,\n ...(config?.trendTangens ?? {}),\n },\n movingAverage: {\n longSize: undefined,\n shortSize: undefined,\n notableDiff: undefined,\n ...(config?.movingAverage ?? {}),\n },\n additionalFields: [...config?.additionalFields ?? []]\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hints.js","names":["makeDataHintsContainer","fields","verticalAxes","Set","horizontalAxes","valueAxes","values","groups","axesTitle","vertical","horizontal","titles","getVerticalAxesTitle","getHorizontalAxesTitle","valuesAxes","getValueAxesTitle","grid","dataType","pointsDensity","exports","makeDataHintsHandlers","mutableContainer","handler","specifyDataRowFields","x","y","value","add","setupGrid","direction","size","establishDataType","describeValueEntity","dataKey","readableName","labelKey","describeGroupedValues","groupKey","axes","label","addKeyLabelGetter","getter","setTitle","describedDataAxes","title","_typeof2","Date","String","setPointsDensity","makeDataSummarizationConfig","config","_config$trendTangens","_config$movingAverage","_config$additionalFie","_objectSpread2","clustersGridSize","undefined","maxListSymbols","datesWithTime","clustersLimit","valuesLimit","groupsLimit","disable","override","trendTangens","weak","medium","strong","Infinity","movingAverage","longSize","shortSize","notableDiff","additionalFields","_toConsumableArray2"],"sources":["../../../src/a11y/hints.ts"],"sourcesContent":["import { SerializableDataType } from './insights';\n\ntype DeepPartial<T> = T extends object\n ? {\n [P in keyof T]?: DeepPartial<T[P]>;\n }\n : T;\n\nexport type DataStructureHints = {\n fields: {\n verticalAxes: Set<string | number>;\n horizontalAxes: Set<string | number>;\n valueAxes: Set<string | number>;\n values: Set<string | number>;\n };\n groups: Set<string | number>;\n axesTitle: {\n vertical: string | null;\n horizontal: string | null;\n };\n titles: {\n verticalAxes: {\n [dataKey: string | number]: string;\n };\n getVerticalAxesTitle: null | ((dataKey: string | number) => string);\n horizontalAxes: {\n [dataKey: string | number]: string;\n };\n getHorizontalAxesTitle: null | ((dataKey: string | number) => string);\n valuesAxes: {\n [dataKey: string | number]: string;\n };\n getValueAxesTitle: null | ((dataKey: string | number) => string);\n };\n grid: {\n verticalAxes: number | null;\n horizontalAxes: number | null;\n };\n pointsDensity: {\n verticalAxes: number;\n horizontalAxes: number;\n } | null;\n dataType: SerializableDataType | null;\n};\nexport type DataSummarizationConfig = {\n trendTangens: {\n static: number;\n weak: number;\n medium: number;\n strong: number;\n };\n movingAverage: {\n longSize: number | undefined;\n shortSize: number | undefined;\n notableDiff: number | undefined;\n };\n dataType: SerializableDataType | undefined;\n clustersGridSize: number | undefined;\n maxListSymbols: number;\n datesWithTime: boolean | undefined;\n clustersLimit: number;\n valuesLimit: number;\n groupsLimit: number;\n disable: boolean;\n override: string | undefined;\n additionalFields: string[];\n};\nexport type PartialDataSummarizationConfig = DeepPartial<DataSummarizationConfig>;\n\nexport const makeDataHintsContainer = (): DataStructureHints => ({\n fields: {\n verticalAxes: new Set(),\n horizontalAxes: new Set(),\n valueAxes: new Set(),\n values: new Set(),\n },\n groups: new Set(),\n axesTitle: {\n vertical: null,\n horizontal: null,\n },\n titles: {\n verticalAxes: {},\n getVerticalAxesTitle: null,\n horizontalAxes: {},\n getHorizontalAxesTitle: null,\n valuesAxes: {},\n getValueAxesTitle: null,\n },\n grid: {\n verticalAxes: null,\n horizontalAxes: null,\n },\n dataType: null,\n pointsDensity: null,\n});\n\nexport const makeDataHintsHandlers = (mutableContainer: DataStructureHints) => {\n const handler = {\n specifyDataRowFields: (x?: string, y?: string, value?: string) => {\n if (y) mutableContainer.fields.verticalAxes.add(y);\n if (x) mutableContainer.fields.horizontalAxes.add(x);\n if (value) mutableContainer.fields.valueAxes.add(value);\n },\n setupGrid: (direction: 'vertical' | 'horizontal', size: number) => {\n if (direction === 'horizontal') {\n mutableContainer.grid.horizontalAxes = size;\n } else if (direction === 'vertical') {\n mutableContainer.grid.verticalAxes = size;\n }\n },\n establishDataType: (dataType: SerializableDataType) => {\n mutableContainer.dataType = dataType;\n },\n describeValueEntity: (dataKey: string | number, readableName: string) => {\n mutableContainer.fields.values.add(dataKey);\n handler.labelKey('value', dataKey, readableName);\n },\n describeGroupedValues: (groupKey: string | number, dataKey: string | number) => {\n mutableContainer.groups.add(groupKey);\n mutableContainer.fields.values.add(dataKey);\n },\n labelKey: (\n axes: 'vertical' | 'horizontal' | 'value',\n dataKey: string | number,\n label: string,\n ) => {\n if (axes === 'vertical') mutableContainer.titles.verticalAxes[dataKey] = label;\n if (axes === 'horizontal') mutableContainer.titles.horizontalAxes[dataKey] = label;\n if (axes === 'value') mutableContainer.titles.valuesAxes[dataKey] = label;\n },\n addKeyLabelGetter: (\n axes: 'vertical' | 'horizontal' | 'value',\n getter: (dataKey: string | number) => string,\n ) => {\n if (axes === 'vertical') mutableContainer.titles.getVerticalAxesTitle = getter;\n if (axes === 'horizontal') mutableContainer.titles.getHorizontalAxesTitle = getter;\n if (axes === 'value') mutableContainer.titles.getValueAxesTitle = getter;\n },\n setTitle: (describedDataAxes: 'vertical' | 'horizontal', title: string) => {\n if (\n typeof title === 'number' ||\n typeof title === 'bigint' ||\n (typeof title === 'object' && (title as any) instanceof Date)\n ) {\n title = String(title);\n }\n if (typeof title !== 'string') {\n return;\n }\n if (describedDataAxes === 'horizontal') {\n mutableContainer.axesTitle.horizontal = title;\n } else if (describedDataAxes === 'vertical') {\n mutableContainer.axesTitle.vertical = title;\n }\n },\n setPointsDensity: (horizontalAxes: number, verticalAxes: number) => {\n mutableContainer.pointsDensity = { verticalAxes, horizontalAxes };\n },\n };\n return handler;\n};\n\nexport type DataHintsHandler = ReturnType<typeof makeDataHintsHandlers>;\n\nexport const makeDataSummarizationConfig = (\n config?: PartialDataSummarizationConfig,\n): DataSummarizationConfig => ({\n clustersGridSize: undefined,\n maxListSymbols: 100,\n datesWithTime: undefined,\n clustersLimit: 5,\n valuesLimit: 5,\n groupsLimit: 5,\n dataType: undefined,\n disable: false,\n override: undefined,\n ...(config ?? {}),\n trendTangens: {\n static: 1 / 15,\n weak: 1 / 10,\n medium: 1 / 5,\n strong: Infinity,\n ...(config?.trendTangens ?? {}),\n },\n movingAverage: {\n longSize: undefined,\n shortSize: undefined,\n notableDiff: undefined,\n ...(config?.movingAverage ?? {}),\n },\n additionalFields: [...config?.additionalFields ?? []]\n});\n"],"mappings":"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"}
|