@semcore/d3-chart 2.12.2 → 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 +6 -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
|
@@ -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","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(...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":";;;;;;;;;;;;;;;;;AAOA;;AAPA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AAGA;;AACA;;AACA;;;;;;;;;;;;;;;;AAEO,IAAMA,YAAqC,GAAG,SAAxCA,YAAwC,QAQ/C;EAAA;EAAA;;EAAA,IAPJC,EAOI,SAPJA,EAOI;EAAA,IANEC,YAMF,SANJC,IAMI;EAAA,IALJC,KAKI,SALJA,KAKI;EAAA,IAJJC,SAII,SAJJA,SAII;EAAA,IAHJC,OAGI,SAHJA,OAGI;EAAA,IAFIC,cAEJ,SAFJC,MAEI;EAAA,IADJC,MACI,SADJA,MACI;EACJ,IAAMC,aAAa,GA+HMC,YA/HzB;EACA,IAAMC,YAAY,GAAG,IAAAC,iCAAA,EAAqBC,8CAArB,EAAwCL,MAAxC,CAArB;;EACA,IAAMM,IAAI,GAAGC,iBAAA,CAAMC,OAAN,CACX;IAAA,OAAM,IAAAC,aAAA,EAAQT,MAAR,EAAgBG,YAAhB,EAA8BE,8CAA9B,CAAN;EAAA,CADW,EAEX,CAACL,MAAD,EAASG,YAAT,EAAuBE,8CAAvB,CAFW,CAAb;;EAIA,IAAMN,MAAM,GAAGQ,iBAAA,CAAMC,OAAN,CAAc;IAAA,OAAM,IAAAE,kCAAA,EAA4BZ,cAA5B,CAAN;EAAA,CAAd,EAAiE,CAACA,cAAD,CAAjE,CAAf;;EACA,IAAMJ,IAAI,GAAGa,iBAAA,CAAMC,OAAN,CACX;IAAA,OAAOG,KAAK,CAACC,OAAN,CAAcnB,YAAd,IAA8BA,YAA9B,GAA6C,CAACA,YAAD,CAApD;EAAA,CADW,EAEX,CAACA,YAAD,CAFW,CAAb;;EAIA,IAAMoB,IAAI,GAAGN,iBAAA,CAAMC,OAAN,CAAc,YAAM;IAAA;;IAC/B,IAAIM,SAA8B,GAAG,EAArC;;IACA,cAAAA,SAAS,EAACC,IAAV,uDAAkBpB,KAAK,CAACqB,MAAN,CAAaC,YAA/B;;IACA,eAAAH,SAAS,EAACC,IAAV,wDAAkBpB,KAAK,CAACqB,MAAN,CAAaE,cAA/B;;IACA,eAAAJ,SAAS,EAACC,IAAV,wDAAkBpB,KAAK,CAACqB,MAAN,CAAaG,SAA/B;;IACA,eAAAL,SAAS,EAACC,IAAV,wDAAkBK,MAAM,CAACP,IAAP,CAAYlB,KAAK,CAACqB,MAAN,CAAaK,MAAzB,CAAlB;;IAEAP,SAAS,GAAG,oCAAI,IAAIQ,GAAJ,CAAQR,SAAR,CAAJ,EAAwBS,MAAxB,CAA+B,UAACC,GAAD;MAAA,OAASA,GAAG,IAAI9B,IAAI,CAAC,CAAD,CAApB;IAAA,CAA/B,CAAZ;;IAEA,IAAIoB,SAAS,CAACW,MAAV,KAAqB,CAAzB,EAA4B;MAC1B/B,IAAI,CAACgC,OAAL,CAAa,UAACC,GAAD;QAAA;;QAAA,OAAS,eAAAb,SAAS,EAACC,IAAV,wDAAkBK,MAAM,CAACP,IAAP,CAAYc,GAAZ,CAAlB,EAAT;MAAA,CAAb;IACD;;IAED,2CAAW,IAAIL,GAAJ,CAAQR,SAAR,CAAX;EACD,CAdY,EAcV,CAACpB,IAAD,EAAOC,KAAP,CAdU,CAAb;;EAeA,IAAMiC,kBAAkB,GAAGrB,iBAAA,CAAMC,OAAN,CAAc,YAAM;IAC7C,IAAMqB,QAAQ,GAAGhB,IAAI,CAClBU,MADc,CACP,UAACC,GAAD;MAAA,OAAS,CAAC7B,KAAK,CAACmC,MAAN,CAAaC,UAAb,CAAwBP,GAAxB,CAAV;IAAA,CADO,EAEdQ,GAFc,CAEV,UAACR,GAAD,EAAS;MACZ,IAAI7B,KAAK,CAACqB,MAAN,CAAaC,YAAb,CAA0BgB,GAA1B,CAA8BT,GAA9B,KAAsC7B,KAAK,CAACuC,SAAN,CAAgBC,QAA1D,EACE,OAAO,CAACX,GAAD,EAAM7B,KAAK,CAACuC,SAAN,CAAgBC,QAAtB,CAAP;MACF,IAAIxC,KAAK,CAACqB,MAAN,CAAaE,cAAb,CAA4Be,GAA5B,CAAgCT,GAAhC,KAAwC7B,KAAK,CAACuC,SAAN,CAAgBE,UAA5D,EACE,OAAO,CAACZ,GAAD,EAAM7B,KAAK,CAACuC,SAAN,CAAgBE,UAAtB,CAAP;IACH,CAPc,EAQdb,MARc,CAQP,UAACc,KAAD;MAAA,OAAWA,KAAK,KAAKC,SAArB;IAAA,CARO,EASdN,GATc,CASV,UAACK,KAAD;MAAA,OAAWA,KAAX;IAAA,CATU,CAAjB;IAUA,IAAME,WAAiC,GAAG,EAA1C;IACA,IAAMC,OAAwC,GAAG,EAAjD;;IAZ6C,4DAalBX,QAbkB;IAAA;;IAAA;MAa7C,oDAAqC;QAAA;QAAA,IAAzBL,GAAyB;QAAA,IAApBiB,KAAoB;;QACnC,IAAID,OAAO,CAACC,KAAD,CAAX,EAAoB;UAClBF,WAAW,CAACf,GAAD,CAAX,GAAmB,IAAnB;UACAe,WAAW,CAACC,OAAO,CAACC,KAAD,CAAR,CAAX,GAA8B,IAA9B;QACD;;QACDD,OAAO,CAACC,KAAD,CAAP,GAAiBjB,GAAjB;MACD;IAnB4C;MAAA;IAAA;MAAA;IAAA;;IAoB7C,OAAOe,WAAP;EACD,CArB0B,EAqBxB,CAAC1B,IAAD,EAAOlB,KAAP,CArBwB,CAA3B;;EAsBA,IAAM+C,WAAW,GAAGnC,iBAAA,CAAMoC,WAAN,CAClB,UAACC,OAAD,EAA8B;IAC5B,IAAIjD,KAAK,CAACmC,MAAN,CAAaC,UAAb,CAAwBa,OAAxB,CAAJ,EAAsC,OAAOjD,KAAK,CAACmC,MAAN,CAAaC,UAAb,CAAwBa,OAAxB,CAAP;;IACtC,IAAI,CAAChB,kBAAkB,CAACgB,OAAD,CAAvB,EAAkC;MAChC,IAAIjD,KAAK,CAACqB,MAAN,CAAaC,YAAb,CAA0BgB,GAA1B,CAA8BW,OAA9B,KAA0CjD,KAAK,CAACuC,SAAN,CAAgBC,QAA9D,EACE,OAAOxC,KAAK,CAACuC,SAAN,CAAgBC,QAAvB;MACF,IAAIxC,KAAK,CAACqB,MAAN,CAAaE,cAAb,CAA4Be,GAA5B,CAAgCW,OAAhC,KAA4CjD,KAAK,CAACuC,SAAN,CAAgBE,UAAhE,EACE,OAAOzC,KAAK,CAACuC,SAAN,CAAgBE,UAAvB;IACH;;IAED,OAAOQ,OAAP;EACD,CAXiB,EAYlB,CAAClD,IAAD,EAAOC,KAAP,EAAciC,kBAAd,CAZkB,CAApB;;EAeA,sBAA8BrB,iBAAA,CAAMsC,QAAN,CAA8B,IAA9B,CAA9B;EAAA;EAAA,IAAOC,OAAP;EAAA,IAAgBC,UAAhB;;EACA,uBAAkDxC,iBAAA,CAAMsC,QAAN,CAAe,IAAf,CAAlD;EAAA;EAAA,IAAOG,iBAAP;EAAA,IAA0BC,oBAA1B;;EAEA1C,iBAAA,CAAM2C,SAAN,CAAgB,YAAM;IACpB,IAAInD,MAAM,CAACoD,OAAX,EAAoB;MAClBJ,UAAU,CAAC,EAAD,CAAV;MACAE,oBAAoB,CAAC,KAAD,CAApB;MACA;IACD;;IACD,IAAIlD,MAAM,CAACqD,QAAX,EAAqB;MACnBL,UAAU,CAAChD,MAAM,CAACqD,QAAR,CAAV;MACAH,oBAAoB,CAAC,KAAD,CAApB;MACA;IACD;;IACDI,UAAU,CAAC,YAAM;MACfN,UAAU,CAAC,IAAAO,oBAAA,EAAU7D,YAAV,EAAwBE,KAAxB,EAA+BI,MAA/B,EAAuCC,MAAvC,EAA+CG,YAA/C,EAA6DE,8CAA7D,CAAD,CAAV;MACA4C,oBAAoB,CAAC,KAAD,CAApB;IACD,CAHS,EAGP,CAHO,CAAV;EAID,CAfD,EAeG,CAACxD,YAAD,EAAeE,KAAf,EAAsBI,MAAtB,EAA8BC,MAA9B,EAAsCG,YAAtC,EAAoDE,8CAApD,CAfH;;EAiBA,IAAMkD,UAAU,GAAGhD,iBAAA,CAAMoC,WAAN,CAAkB,YAAM;IAAA;;IACzC,IAAI,CAAC9C,OAAO,CAAC2D,OAAb,EAAsB;IAEtB,6BAAAC,oCAAA,EAA8B5D,OAAO,CAAC2D,OAAtC,iFAAgDE,KAAhD;EACD,CAJkB,EAIhB,EAJgB,CAAnB;;EAKA,IAAMC,kBAAkB,GAAGpD,iBAAA,CAAMoC,WAAN,CACzB,UAACiB,KAAD,EAAgC;IAC9B,IAAIA,KAAK,CAACC,IAAN,KAAe,OAAnB,EAA4B;IAE5BN,UAAU;EACX,CALwB,EAMzB,CAACA,UAAD,CANyB,CAA3B;;EAQA,IAAMO,eAAe,GAAGvD,iBAAA,CAAMoC,WAAN,CAAkB,YAAM;IAAA;;IAC9C,yBAAAoB,YAAY,CAACP,OAAb,gFAAsBE,KAAtB;EACD,CAFuB,EAErB,EAFqB,CAAxB;;EAGA,IAAMM,uBAAuB,GAAGzD,iBAAA,CAAMoC,WAAN,CAC9B,UAACiB,KAAD,EAAgC;IAC9B,IAAIA,KAAK,CAACC,IAAN,KAAe,OAAnB,EAA4B;IAE5BC,eAAe;EAChB,CAL6B,EAM9B,CAACA,eAAD,CAN8B,CAAhC;;EASA,IAAMG,KAAK,GAAG1D,iBAAA,CAAMC,OAAN,CACZ;IAAA,OAAO;MACLiC,KAAK,EAAEnC,IAAI,CAAC4D,aAAL,CACL;QAAE1E,EAAE,EAAE;MAAN,CADK,EAEL;QAAEI,SAAS,EAAEA,SAAF,aAAEA,SAAF,cAAEA,SAAF,GAAeU,IAAI,CAAC4D,aAAL,CAAmB;UAAE1E,EAAE,EAAE;QAAN,CAAnB;MAA1B,CAFK,CADF;MAKL2E,KAAK,EAAE7D,IAAI,CAAC4D,aAAL,CAAmB;QAAE1E,EAAE,EAAE;MAAN,CAAnB,CALF;MAML4E,QAAQ,EAAE9D,IAAI,CAAC4D,aAAL,CAAmB;QAAE1E,EAAE,EAAE;MAAN,CAAnB,CANL;MAOL6E,SAAS,EAAE/D,IAAI,CAAC4D,aAAL,CAAmB;QAAE1E,EAAE,EAAE;MAAN,CAAnB,CAPN;MAQLsD,OAAO,EAAExC,IAAI,CAAC4D,aAAL,CAAmB;QAAE1E,EAAE,EAAE;MAAN,CAAnB,CARJ;MASL8E,kBAAkB,EAAEhE,IAAI,CAAC4D,aAAL,CAAmB;QAAE1E,EAAE,EAAE;MAAN,CAAnB,CATf;MAUL+E,KAAK,EAAEjE,IAAI,CAAC4D,aAAL,CAAmB;QAAE1E,EAAE,EAAE;MAAN,CAAnB;IAVF,CAAP;EAAA,CADY,EAaZ,CAACc,IAAD,EAAOV,SAAP,CAbY,CAAd;;EAgBA,IAAMmE,YAAY,GAAGxD,iBAAA,CAAMiE,MAAN,CAA+B,IAA/B,CAArB;;EAEA,eAAO,IAAAC,aAAA,EAAQC,MAAR,CAAP,eACE,gCAAC,aAAD;IAAA,YAAsC,CAAtC;IAAA,cAAqDT,KAAK,CAACxB;EAA3D,yBACE;IAAA;IAAA,WAAwBc;EAAxB,IACGU,KAAK,CAACE,KADT,CADF,eAIE;IAAA,QAAQ,MAAR;IAAA,YAAyB,CAAzB;IAAA,aAAuCR,kBAAvC;IAAA,WAAoEJ;EAApE,IACGU,KAAK,CAACG,QADT,CAJF,eAOE;IAAA,QAAQ,MAAR;IAAA,YAAyB,CAAzB;IAAA,aAAuCJ,uBAAvC;IAAA,WAAyEF;EAAzE,IACGG,KAAK,CAACI,SADT,CAPF,eAUE,+EACE;IAAA,qBAAmB7E,EAAnB;EAAA,IAAuCyE,KAAK,CAACnB,OAA7C,CADF,CAVF,eAaE;IAAA,gBAAYtD,EAAZ;IAAA,aAA0CwD,iBAA1C;IAAA,YAAuE;EAAvE,IACGA,iBAAiB,GAAGiB,KAAK,CAACK,kBAAT,GAA8BxB,OADlD,CAbF,eAgBE,+EACE;IAAA,qBAAmBtD,EAAnB;EAAA,IAAqCyE,KAAK,CAACM,KAA3C,CADF,CAhBF,eAmBE;IAAA,gBAAc/E,EAAd;IAAA,YAAyC,CAAzC;IAAA,OAAiDuE;EAAjD,iBACE,6EACE,0DACGlD,IAAI,CAACmB,GAAL,CAAS,UAACR,GAAD,EAAMmD,KAAN;IAAA,oBACR;MAAI,GAAG,YAAKnD,GAAL,cAAYmD,KAAZ;IAAP,GAA6BjC,WAAW,CAAClB,GAAD,CAAxC,CADQ;EAAA,CAAT,CADH,CADF,CADF,eAQE,gEACG9B,IAAI,CAACsC,GAAL,CAAS,UAACL,GAAD,EAAMgD,KAAN;IAAA,oBACR;MAAI,GAAG,EAAEvD,MAAM,CAACC,MAAP,CAAcM,GAAd,EAAmBiD,IAAnB,CAAwB,GAAxB,IAA+B,GAA/B,GAAqCD;IAA9C,GACG9D,IAAI,CAACmB,GAAL,CAAS,UAACR,GAAD,EAAMmD,KAAN;MAAA,oBACR;QAAI,GAAG,YAAKnD,GAAL,cAAYmD,KAAZ;MAAP,GAA6B,IAAAE,sBAAA,EAAYvE,IAAZ,EAAkBqB,GAAG,CAACH,GAAD,CAArB,CAA7B,CADQ;IAAA,CAAT,CADH,CADQ;EAAA,CAAT,CADH,CARF,CAnBF,CADF;AAwCD,CA/KM"}
|
|
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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"}
|
package/lib/cjs/a11y/hints.js
CHANGED
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.makeDataSummarizationConfig = exports.makeDataHintsHandlers = exports.makeDataHintsContainer = void 0;
|
|
9
9
|
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
10
12
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
13
|
|
|
12
14
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
@@ -106,7 +108,7 @@ var makeDataHintsHandlers = function makeDataHintsHandlers(mutableContainer) {
|
|
|
106
108
|
exports.makeDataHintsHandlers = makeDataHintsHandlers;
|
|
107
109
|
|
|
108
110
|
var makeDataSummarizationConfig = function makeDataSummarizationConfig(config) {
|
|
109
|
-
var _config$trendTangens, _config$movingAverage;
|
|
111
|
+
var _config$trendTangens, _config$movingAverage, _config$additionalFie;
|
|
110
112
|
|
|
111
113
|
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
|
|
112
114
|
clustersGridSize: undefined,
|
|
@@ -129,7 +131,8 @@ var makeDataSummarizationConfig = function makeDataSummarizationConfig(config) {
|
|
|
129
131
|
longSize: undefined,
|
|
130
132
|
shortSize: undefined,
|
|
131
133
|
notableDiff: undefined
|
|
132
|
-
}, (_config$movingAverage = config === null || config === void 0 ? void 0 : config.movingAverage) !== null && _config$movingAverage !== void 0 ? _config$movingAverage : {})
|
|
134
|
+
}, (_config$movingAverage = config === null || config === void 0 ? void 0 : config.movingAverage) !== null && _config$movingAverage !== void 0 ? _config$movingAverage : {}),
|
|
135
|
+
additionalFields: (0, _toConsumableArray2["default"])((_config$additionalFie = config === null || config === void 0 ? void 0 : config.additionalFields) !== null && _config$additionalFie !== void 0 ? _config$additionalFie : [])
|
|
133
136
|
});
|
|
134
137
|
};
|
|
135
138
|
|
|
@@ -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"],"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};\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});\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","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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"}
|
|
@@ -173,7 +173,7 @@ var serialize = function serialize(_ref4, _ref5, _ref6) {
|
|
|
173
173
|
availableLocales = _ref6.availableLocales;
|
|
174
174
|
if (insights.length === 0) return null;
|
|
175
175
|
var intl = (0, _intl.getIntl)(locale, translations, availableLocales);
|
|
176
|
-
var
|
|
176
|
+
var dataRangeSummary = intl.formatList(dataRange.map(function (range) {
|
|
177
177
|
var from = formatValue(intl, range.from, {
|
|
178
178
|
siblingsTimeMark: range.to,
|
|
179
179
|
datesWithTime: datesWithTime,
|
|
@@ -283,8 +283,8 @@ var serialize = function serialize(_ref4, _ref5, _ref6) {
|
|
|
283
283
|
label: dataTitle
|
|
284
284
|
});
|
|
285
285
|
|
|
286
|
-
if (
|
|
287
|
-
return "".concat(summary, "\n").concat(
|
|
286
|
+
if (dataRangeSummary.length > 0) {
|
|
287
|
+
return "".concat(summary, "\n").concat(dataRangeSummary);
|
|
288
288
|
}
|
|
289
289
|
|
|
290
290
|
return summary;
|
|
@@ -341,8 +341,8 @@ var serialize = function serialize(_ref4, _ref5, _ref6) {
|
|
|
341
341
|
label: dataTitle
|
|
342
342
|
});
|
|
343
343
|
|
|
344
|
-
if (
|
|
345
|
-
return "".concat(_summary, "\n").concat(
|
|
344
|
+
if (dataRangeSummary.length > 0) {
|
|
345
|
+
return "".concat(_summary, "\n").concat(dataRangeSummary);
|
|
346
346
|
}
|
|
347
347
|
|
|
348
348
|
return _summary;
|
|
@@ -364,14 +364,13 @@ var serialize = function serialize(_ref4, _ref5, _ref6) {
|
|
|
364
364
|
maxListSymbols: maxListSymbols
|
|
365
365
|
});
|
|
366
366
|
|
|
367
|
-
|
|
367
|
+
return intl.formatMessage({
|
|
368
368
|
id: dataTitle ? 'chart-summary' : 'chart-summary-no-label'
|
|
369
369
|
}, {
|
|
370
370
|
entities: _entities2,
|
|
371
371
|
entitiesList: _entitiesList2,
|
|
372
372
|
label: dataTitle
|
|
373
373
|
});
|
|
374
|
-
return sumamry;
|
|
375
374
|
} else if (dataType === 'grouped-values' || dataType === 'indexed-groups') {
|
|
376
375
|
var groupInsights = insights;
|
|
377
376
|
var valueCounts = groupInsights.map(function (group) {
|
|
@@ -418,15 +417,14 @@ var serialize = function serialize(_ref4, _ref5, _ref6) {
|
|
|
418
417
|
}));
|
|
419
418
|
}
|
|
420
419
|
|
|
421
|
-
var
|
|
420
|
+
var sumamry = intl.formatMessage({
|
|
422
421
|
id: dataTitle ? 'chart-summary' : 'chart-summary-no-label'
|
|
423
422
|
}, {
|
|
424
423
|
entities: _entities3,
|
|
425
424
|
entitiesList: intl.formatList(_entitiesList3),
|
|
426
425
|
label: dataTitle
|
|
427
426
|
});
|
|
428
|
-
|
|
429
|
-
return _sumamry;
|
|
427
|
+
return sumamry;
|
|
430
428
|
}
|
|
431
429
|
|
|
432
430
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.js","names":["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","getIntl","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":["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","getIntl","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":[],"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"}
|
|
1
|
+
{"version":3,"file":"Plot.d.js","names":[],"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"}
|
package/lib/es6/Area.js
CHANGED
|
@@ -20,19 +20,19 @@ var style = (
|
|
|
20
20
|
/*__reshadow_css_start__*/
|
|
21
21
|
_sstyled.insert(
|
|
22
22
|
/*__inner_css_start__*/
|
|
23
|
-
".
|
|
23
|
+
".___SArea_zxo0i_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);fill-opacity:.2}.___SArea_zxo0i_gg_.__color_zxo0i_gg_{fill:var(--color_zxo0i)}.___SArea_zxo0i_gg_.__transparent_zxo0i_gg_{opacity:.3}.___SAreaLine_zxo0i_gg_{stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke-width:3;fill:transparent}.___SAreaLine_zxo0i_gg_.__color_zxo0i_gg_{stroke:var(--color_zxo0i)}.___SAreaLine_zxo0i_gg_.__transparent_zxo0i_gg_{opacity:.3}.___SAreaLine_zxo0i_gg_,.___SArea_zxo0i_gg_{transition-property:d;transition-duration:var(--duration_zxo0i);transition-timing-function:ease-in-out}.___SNull_zxo0i_gg_{fill:transparent;stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf);stroke-dasharray:4}.___SNull_zxo0i_gg_.__hide_zxo0i_gg_{display:none}"
|
|
24
24
|
/*__inner_css_end__*/
|
|
25
|
-
, "
|
|
25
|
+
, "zxo0i_gg_")
|
|
26
26
|
/*__reshadow_css_end__*/
|
|
27
27
|
, {
|
|
28
|
-
"__SArea": "
|
|
29
|
-
"_color": "
|
|
30
|
-
"--color": "--
|
|
31
|
-
"_transparent": "
|
|
32
|
-
"__SAreaLine": "
|
|
33
|
-
"--duration": "--
|
|
34
|
-
"__SNull": "
|
|
35
|
-
"_hide": "
|
|
28
|
+
"__SArea": "___SArea_zxo0i_gg_",
|
|
29
|
+
"_color": "__color_zxo0i_gg_",
|
|
30
|
+
"--color": "--color_zxo0i",
|
|
31
|
+
"_transparent": "__transparent_zxo0i_gg_",
|
|
32
|
+
"__SAreaLine": "___SAreaLine_zxo0i_gg_",
|
|
33
|
+
"--duration": "--duration_zxo0i",
|
|
34
|
+
"__SNull": "___SNull_zxo0i_gg_",
|
|
35
|
+
"_hide": "__hide_zxo0i_gg_"
|
|
36
36
|
});
|
|
37
37
|
|
|
38
38
|
var AreaRoot = /*#__PURE__*/function (_Component) {
|
package/lib/es6/Axis.js
CHANGED
|
@@ -19,23 +19,23 @@ var style = (
|
|
|
19
19
|
/*__reshadow_css_start__*/
|
|
20
20
|
_sstyled.insert(
|
|
21
21
|
/*__inner_css_start__*/
|
|
22
|
-
".
|
|
22
|
+
".___SAxis_ylaph_gg_{stroke:var(--intergalactic-chart-grid-x-axis, #c4c7cf)}.___SAxis_ylaph_gg_.__hide_ylaph_gg_,.___STick_ylaph_gg_.__hide_ylaph_gg_{display:none}.___STick_ylaph_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-chart-grid-text-label, #6c6e79)}.___SGrid_ylaph_gg_{fill:transparent;stroke:var(--intergalactic-border-secondary, #e0e1e9)}.___STitle_ylaph_gg_{font-size:var(--intergalactic-fs-100, 12px);fill:var(--intergalactic-text-hint, #6c6e79);transform-origin:var(--transform-origin_ylaph)}.___STitle_ylaph_gg_._position_top_ylaph_gg_{text-anchor:middle}.___STitle_ylaph_gg_._position_bottom_ylaph_gg_{text-anchor:middle;alignment-baseline:hanging}.___STitle_ylaph_gg_._position_left_ylaph_gg_,.___STitle_ylaph_gg_._position_right_ylaph_gg_{transform:rotate(-90deg);text-anchor:middle;alignment-baseline:middle}.___STick_ylaph_gg_._position_top_ylaph_gg_{transform:translateY(-12px);text-anchor:middle}.___STick_ylaph_gg_._position_bottom_ylaph_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_ylaph_gg_._position_right_ylaph_gg_{transform:translateX(16px);text-anchor:start;alignment-baseline:middle}.___STick_ylaph_gg_._position_left_ylaph_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}.___STick_ylaph_gg_._position_custom_0_ylaph_gg_{transform:translateY(12px);text-anchor:middle;alignment-baseline:hanging}.___STick_ylaph_gg_._position_custom_1_ylaph_gg_{transform:translateX(-16px);text-anchor:end;alignment-baseline:middle}"
|
|
23
23
|
/*__inner_css_end__*/
|
|
24
|
-
, "
|
|
24
|
+
, "ylaph_gg_")
|
|
25
25
|
/*__reshadow_css_end__*/
|
|
26
26
|
, {
|
|
27
|
-
"__SAxis": "
|
|
28
|
-
"_hide": "
|
|
29
|
-
"__STick": "
|
|
30
|
-
"__SGrid": "
|
|
31
|
-
"__STitle": "
|
|
32
|
-
"--transform-origin": "--transform-
|
|
33
|
-
"_position_top": "
|
|
34
|
-
"_position_bottom": "
|
|
35
|
-
"_position_right": "
|
|
36
|
-
"_position_left": "
|
|
37
|
-
"_position_custom_0": "
|
|
38
|
-
"_position_custom_1": "
|
|
27
|
+
"__SAxis": "___SAxis_ylaph_gg_",
|
|
28
|
+
"_hide": "__hide_ylaph_gg_",
|
|
29
|
+
"__STick": "___STick_ylaph_gg_",
|
|
30
|
+
"__SGrid": "___SGrid_ylaph_gg_",
|
|
31
|
+
"__STitle": "___STitle_ylaph_gg_",
|
|
32
|
+
"--transform-origin": "--transform-origin_ylaph",
|
|
33
|
+
"_position_top": "_position_top_ylaph_gg_",
|
|
34
|
+
"_position_bottom": "_position_bottom_ylaph_gg_",
|
|
35
|
+
"_position_right": "_position_right_ylaph_gg_",
|
|
36
|
+
"_position_left": "_position_left_ylaph_gg_",
|
|
37
|
+
"_position_custom_0": "_position_custom_0_ylaph_gg_",
|
|
38
|
+
"_position_custom_1": "_position_custom_1_ylaph_gg_"
|
|
39
39
|
});
|
|
40
40
|
var CUSTOM_0 = Symbol('custom_0');
|
|
41
41
|
var CUSTOM_1 = Symbol('custom_1');
|
package/lib/es6/Bar.js
CHANGED
|
@@ -18,18 +18,18 @@ var style = (
|
|
|
18
18
|
/*__reshadow_css_start__*/
|
|
19
19
|
_sstyled.insert(
|
|
20
20
|
/*__inner_css_start__*/
|
|
21
|
-
".
|
|
21
|
+
".___SBar_9u7w9_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:height,width,y;transition-duration:var(--duration_9u7w9);transition-timing-function:ease-in-out}.___SBar_9u7w9_gg_.__color_9u7w9_gg_{fill:var(--color_9u7w9)}.___SBar_9u7w9_gg_.__hide_9u7w9_gg_{display:none}.___SBar_9u7w9_gg_.__transparent_9u7w9_gg_{opacity:.3}.___SBackground_9u7w9_gg_{fill:var(--intergalactic-chart-palette-order-other-data, #c4c7cf)}"
|
|
22
22
|
/*__inner_css_end__*/
|
|
23
|
-
, "
|
|
23
|
+
, "9u7w9_gg_")
|
|
24
24
|
/*__reshadow_css_end__*/
|
|
25
25
|
, {
|
|
26
|
-
"__SBar": "
|
|
27
|
-
"--duration": "--
|
|
28
|
-
"_color": "
|
|
29
|
-
"--color": "--
|
|
30
|
-
"_hide": "
|
|
31
|
-
"_transparent": "
|
|
32
|
-
"__SBackground": "
|
|
26
|
+
"__SBar": "___SBar_9u7w9_gg_",
|
|
27
|
+
"--duration": "--duration_9u7w9",
|
|
28
|
+
"_color": "__color_9u7w9_gg_",
|
|
29
|
+
"--color": "--color_9u7w9",
|
|
30
|
+
"_hide": "__hide_9u7w9_gg_",
|
|
31
|
+
"_transparent": "__transparent_9u7w9_gg_",
|
|
32
|
+
"__SBackground": "___SBackground_9u7w9_gg_"
|
|
33
33
|
});
|
|
34
34
|
|
|
35
35
|
var calcPartBarY = function calcPartBarY(y, minHeight, height) {
|
package/lib/es6/Bubble.js
CHANGED
|
@@ -23,20 +23,20 @@ var style = (
|
|
|
23
23
|
/*__reshadow_css_start__*/
|
|
24
24
|
_sstyled.insert(
|
|
25
25
|
/*__inner_css_start__*/
|
|
26
|
-
".
|
|
26
|
+
".___SBubble_1gfit_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);stroke:var(--intergalactic-chart-grid-border, #ffffff);stroke-width:2px;transition-property:cx,cy;transition-duration:var(--duration_1gfit);transition-timing-function:ease-in-out;opacity:.5}@media (hover:hover){.___SBubble_1gfit_gg_:hover{opacity:.8}}.___SBubble_1gfit_gg_.__color_1gfit_gg_{fill:var(--color_1gfit)}.___SBubble_1gfit_gg_.__transparent_1gfit_gg_{opacity:.3}.___SCenter_1gfit_gg_{text-anchor:middle;font-size:calc(var(--intergalactic-fs-100, 12px) - 1px);stroke:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SCenter_1gfit_gg_.__color_1gfit_gg_{stroke:var(--color_1gfit)}.___SCenter_1gfit_gg_.__transparent_1gfit_gg_{opacity:.3}.___SLabel_1gfit_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SLabel_1gfit_gg_._position_right_1gfit_gg_{text-anchor:end}.___SLabel_1gfit_gg_._position_left_1gfit_gg_{text-anchor:start}.___SLabel_1gfit_gg_.__color_1gfit_gg_{fill:var(--color_1gfit)}.___SLabel_1gfit_gg_.__transparent_1gfit_gg_{opacity:.3}"
|
|
27
27
|
/*__inner_css_end__*/
|
|
28
|
-
, "
|
|
28
|
+
, "1gfit_gg_")
|
|
29
29
|
/*__reshadow_css_end__*/
|
|
30
30
|
, {
|
|
31
|
-
"__SBubble": "
|
|
32
|
-
"--duration": "--
|
|
33
|
-
"_color": "
|
|
34
|
-
"--color": "--
|
|
35
|
-
"_transparent": "
|
|
36
|
-
"__SCenter": "
|
|
37
|
-
"__SLabel": "
|
|
38
|
-
"_position_right": "
|
|
39
|
-
"_position_left": "
|
|
31
|
+
"__SBubble": "___SBubble_1gfit_gg_",
|
|
32
|
+
"--duration": "--duration_1gfit",
|
|
33
|
+
"_color": "__color_1gfit_gg_",
|
|
34
|
+
"--color": "--color_1gfit",
|
|
35
|
+
"_transparent": "__transparent_1gfit_gg_",
|
|
36
|
+
"__SCenter": "___SCenter_1gfit_gg_",
|
|
37
|
+
"__SLabel": "___SLabel_1gfit_gg_",
|
|
38
|
+
"_position_right": "_position_right_1gfit_gg_",
|
|
39
|
+
"_position_left": "_position_left_1gfit_gg_"
|
|
40
40
|
});
|
|
41
41
|
|
|
42
42
|
var BubbleRoot = /*#__PURE__*/function (_Component) {
|
package/lib/es6/Donut.js
CHANGED
|
@@ -24,17 +24,17 @@ var style = (
|
|
|
24
24
|
/*__reshadow_css_start__*/
|
|
25
25
|
_sstyled.insert(
|
|
26
26
|
/*__inner_css_start__*/
|
|
27
|
-
".
|
|
27
|
+
".___SPie_wk19k_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPie_wk19k_gg_.__color_wk19k_gg_{fill:var(--color_wk19k)}.___SPie_wk19k_gg_.__transparent_wk19k_gg_{opacity:.3}.___SEmptyData_wk19k_gg_{fill:var(--intergalactic-chart-palette-order-null, #e0e1e9)}.___SEmptyData_wk19k_gg_.__color_wk19k_gg_{fill:var(--color_wk19k)}.___SLabel_wk19k_gg_{text-anchor:middle;vertical-anchor:middle}"
|
|
28
28
|
/*__inner_css_end__*/
|
|
29
|
-
, "
|
|
29
|
+
, "wk19k_gg_")
|
|
30
30
|
/*__reshadow_css_end__*/
|
|
31
31
|
, {
|
|
32
|
-
"__SPie": "
|
|
33
|
-
"_color": "
|
|
34
|
-
"--color": "--
|
|
35
|
-
"_transparent": "
|
|
36
|
-
"__SEmptyData": "
|
|
37
|
-
"__SLabel": "
|
|
32
|
+
"__SPie": "___SPie_wk19k_gg_",
|
|
33
|
+
"_color": "__color_wk19k_gg_",
|
|
34
|
+
"--color": "--color_wk19k",
|
|
35
|
+
"_transparent": "__transparent_wk19k_gg_",
|
|
36
|
+
"__SEmptyData": "___SEmptyData_wk19k_gg_",
|
|
37
|
+
"__SLabel": "___SLabel_wk19k_gg_"
|
|
38
38
|
});
|
|
39
39
|
var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
|
|
40
40
|
|
package/lib/es6/Dots.js
CHANGED
|
@@ -12,19 +12,19 @@ var style = (
|
|
|
12
12
|
/*__reshadow_css_start__*/
|
|
13
13
|
_sstyled.insert(
|
|
14
14
|
/*__inner_css_start__*/
|
|
15
|
-
".
|
|
15
|
+
".___SDots_1504a_gg_ .___SDot_1504a_gg_{transition-duration:var(--duration_1504a)}.___SDot_1504a_gg_{stroke-width:2px;stroke:var(--intergalactic-chart-grid-border, #ffffff);r:6px;fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_1504a_gg_.__hide_1504a_gg_{display:none}.___SDot_1504a_gg_.__active_1504a_gg_{r:8px}.___SDot_1504a_gg_.__color_1504a_gg_{fill:var(--color_1504a)}.___SDot_1504a_gg_.__transparent_1504a_gg_{opacity:.3}"
|
|
16
16
|
/*__inner_css_end__*/
|
|
17
|
-
, "
|
|
17
|
+
, "1504a_gg_")
|
|
18
18
|
/*__reshadow_css_end__*/
|
|
19
19
|
, {
|
|
20
|
-
"__SDots": "
|
|
21
|
-
"__SDot": "
|
|
22
|
-
"--duration": "--
|
|
23
|
-
"_hide": "
|
|
24
|
-
"_active": "
|
|
25
|
-
"_color": "
|
|
26
|
-
"--color": "--
|
|
27
|
-
"_transparent": "
|
|
20
|
+
"__SDots": "___SDots_1504a_gg_",
|
|
21
|
+
"__SDot": "___SDot_1504a_gg_",
|
|
22
|
+
"--duration": "--duration_1504a",
|
|
23
|
+
"_hide": "__hide_1504a_gg_",
|
|
24
|
+
"_active": "__active_1504a_gg_",
|
|
25
|
+
"_color": "__color_1504a_gg_",
|
|
26
|
+
"--color": "--color_1504a",
|
|
27
|
+
"_transparent": "__transparent_1504a_gg_"
|
|
28
28
|
});
|
|
29
29
|
var EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];
|
|
30
30
|
|