@semcore/d3-chart 3.59.1-prerelease.8 → 16.0.0-prerelease.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/AnimatedClipPath.js +3 -4
  3. package/lib/cjs/AnimatedClipPath.js.map +1 -1
  4. package/lib/cjs/Area.js +14 -15
  5. package/lib/cjs/Area.js.map +1 -1
  6. package/lib/cjs/Axis.js +15 -16
  7. package/lib/cjs/Axis.js.map +1 -1
  8. package/lib/cjs/Bar.js +18 -19
  9. package/lib/cjs/Bar.js.map +1 -1
  10. package/lib/cjs/Bubble.js +13 -14
  11. package/lib/cjs/Bubble.js.map +1 -1
  12. package/lib/cjs/CompactHorizontalBar.js +20 -21
  13. package/lib/cjs/CompactHorizontalBar.js.map +1 -1
  14. package/lib/cjs/Donut.js +12 -13
  15. package/lib/cjs/Donut.js.map +1 -1
  16. package/lib/cjs/Dots.js +10 -11
  17. package/lib/cjs/Dots.js.map +1 -1
  18. package/lib/cjs/GroupBar.js +2 -2
  19. package/lib/cjs/GroupBar.js.map +1 -1
  20. package/lib/cjs/HorizontalBar.js +18 -19
  21. package/lib/cjs/HorizontalBar.js.map +1 -1
  22. package/lib/cjs/Hover.js +5 -6
  23. package/lib/cjs/Hover.js.map +1 -1
  24. package/lib/cjs/Line.js +11 -12
  25. package/lib/cjs/Line.js.map +1 -1
  26. package/lib/cjs/Pattern.js +1 -1
  27. package/lib/cjs/Pattern.js.map +1 -1
  28. package/lib/cjs/Plot.js +9 -11
  29. package/lib/cjs/Plot.js.map +1 -1
  30. package/lib/cjs/Radar.js +23 -24
  31. package/lib/cjs/Radar.js.map +1 -1
  32. package/lib/cjs/RadialTree.js +17 -18
  33. package/lib/cjs/RadialTree.js.map +1 -1
  34. package/lib/cjs/Reference.js +14 -15
  35. package/lib/cjs/Reference.js.map +1 -1
  36. package/lib/cjs/ResponsiveContainer.js +6 -7
  37. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  38. package/lib/cjs/ScatterPlot.js +11 -12
  39. package/lib/cjs/ScatterPlot.js.map +1 -1
  40. package/lib/cjs/StackBar.js +1 -1
  41. package/lib/cjs/StackBar.js.map +1 -1
  42. package/lib/cjs/StackedArea.js +1 -1
  43. package/lib/cjs/StackedArea.js.map +1 -1
  44. package/lib/cjs/Tooltip.js +11 -12
  45. package/lib/cjs/Tooltip.js.map +1 -1
  46. package/lib/cjs/Venn.js +11 -12
  47. package/lib/cjs/Venn.js.map +1 -1
  48. package/lib/cjs/a11y/PlotA11yModule.js +3 -4
  49. package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
  50. package/lib/cjs/a11y/PlotA11yView.js +3 -4
  51. package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
  52. package/lib/cjs/a11y/focus.js +1 -1
  53. package/lib/cjs/a11y/focus.js.map +1 -1
  54. package/lib/cjs/a11y/hints.js +1 -1
  55. package/lib/cjs/a11y/hints.js.map +1 -1
  56. package/lib/cjs/component/Chart/AbstractChart.js +2 -2
  57. package/lib/cjs/component/Chart/AbstractChart.js.map +1 -1
  58. package/lib/cjs/component/Chart/AbstractChart.type.js.map +1 -1
  59. package/lib/cjs/component/Chart/AreaChart.js +3 -3
  60. package/lib/cjs/component/Chart/AreaChart.js.map +1 -1
  61. package/lib/cjs/component/Chart/BarChart.js +3 -3
  62. package/lib/cjs/component/Chart/BarChart.js.map +1 -1
  63. package/lib/cjs/component/Chart/BubbleChart.js +3 -3
  64. package/lib/cjs/component/Chart/BubbleChart.js.map +1 -1
  65. package/lib/cjs/component/Chart/CigaretteChart.js +5 -6
  66. package/lib/cjs/component/Chart/CigaretteChart.js.map +1 -1
  67. package/lib/cjs/component/Chart/CompactHorizontalBarChart.js +3 -3
  68. package/lib/cjs/component/Chart/CompactHorizontalBarChart.js.map +1 -1
  69. package/lib/cjs/component/Chart/DonutChart.js +3 -3
  70. package/lib/cjs/component/Chart/DonutChart.js.map +1 -1
  71. package/lib/cjs/component/Chart/HistogramChart.js +3 -3
  72. package/lib/cjs/component/Chart/HistogramChart.js.map +1 -1
  73. package/lib/cjs/component/Chart/LineChart.js +3 -3
  74. package/lib/cjs/component/Chart/LineChart.js.map +1 -1
  75. package/lib/cjs/component/Chart/RadarChart.js +3 -3
  76. package/lib/cjs/component/Chart/RadarChart.js.map +1 -1
  77. package/lib/cjs/component/Chart/ScatterPlotChart.js +3 -3
  78. package/lib/cjs/component/Chart/ScatterPlotChart.js.map +1 -1
  79. package/lib/cjs/component/Chart/VennChart.js +3 -3
  80. package/lib/cjs/component/Chart/VennChart.js.map +1 -1
  81. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +7 -9
  82. package/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js.map +1 -1
  83. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +21 -23
  84. package/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  85. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +8 -10
  86. package/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
  87. package/lib/cjs/component/Cigarette/Cigarette.js +2 -2
  88. package/lib/cjs/component/Cigarette/Cigarette.js.map +1 -1
  89. package/lib/cjs/createElement.js +6 -7
  90. package/lib/cjs/createElement.js.map +1 -1
  91. package/lib/cjs/style/hover.shadow.css +2 -2
  92. package/lib/cjs/utils.js +1 -1
  93. package/lib/cjs/utils.js.map +1 -1
  94. package/lib/es6/AnimatedClipPath.js +2 -2
  95. package/lib/es6/AnimatedClipPath.js.map +1 -1
  96. package/lib/es6/Area.js +14 -14
  97. package/lib/es6/Area.js.map +1 -1
  98. package/lib/es6/Axis.js +15 -15
  99. package/lib/es6/Bar.js +18 -18
  100. package/lib/es6/Bar.js.map +1 -1
  101. package/lib/es6/Bubble.js +14 -14
  102. package/lib/es6/Bubble.js.map +1 -1
  103. package/lib/es6/CompactHorizontalBar.js +21 -21
  104. package/lib/es6/CompactHorizontalBar.js.map +1 -1
  105. package/lib/es6/Donut.js +13 -13
  106. package/lib/es6/Donut.js.map +1 -1
  107. package/lib/es6/Dots.js +10 -10
  108. package/lib/es6/Dots.js.map +1 -1
  109. package/lib/es6/GroupBar.js +2 -2
  110. package/lib/es6/GroupBar.js.map +1 -1
  111. package/lib/es6/HorizontalBar.js +18 -18
  112. package/lib/es6/HorizontalBar.js.map +1 -1
  113. package/lib/es6/Hover.js +6 -6
  114. package/lib/es6/Hover.js.map +1 -1
  115. package/lib/es6/Line.js +11 -11
  116. package/lib/es6/Line.js.map +1 -1
  117. package/lib/es6/Pattern.js +1 -1
  118. package/lib/es6/Pattern.js.map +1 -1
  119. package/lib/es6/Plot.js +9 -9
  120. package/lib/es6/Plot.js.map +1 -1
  121. package/lib/es6/Radar.js +24 -24
  122. package/lib/es6/Radar.js.map +1 -1
  123. package/lib/es6/RadialTree.js +17 -17
  124. package/lib/es6/RadialTree.js.map +1 -1
  125. package/lib/es6/Reference.js +14 -14
  126. package/lib/es6/Reference.js.map +1 -1
  127. package/lib/es6/ResponsiveContainer.js +5 -5
  128. package/lib/es6/ResponsiveContainer.js.map +1 -1
  129. package/lib/es6/ScatterPlot.js +12 -12
  130. package/lib/es6/ScatterPlot.js.map +1 -1
  131. package/lib/es6/StackBar.js +1 -1
  132. package/lib/es6/StackBar.js.map +1 -1
  133. package/lib/es6/StackedArea.js +1 -1
  134. package/lib/es6/StackedArea.js.map +1 -1
  135. package/lib/es6/Tooltip.js +12 -12
  136. package/lib/es6/Tooltip.js.map +1 -1
  137. package/lib/es6/Venn.js +12 -12
  138. package/lib/es6/Venn.js.map +1 -1
  139. package/lib/es6/a11y/PlotA11yModule.js +4 -4
  140. package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
  141. package/lib/es6/a11y/PlotA11yView.js +4 -4
  142. package/lib/es6/a11y/PlotA11yView.js.map +1 -1
  143. package/lib/es6/a11y/focus.js +1 -1
  144. package/lib/es6/a11y/focus.js.map +1 -1
  145. package/lib/es6/a11y/hints.js +1 -1
  146. package/lib/es6/a11y/hints.js.map +1 -1
  147. package/lib/es6/component/Chart/AbstractChart.js +2 -2
  148. package/lib/es6/component/Chart/AbstractChart.js.map +1 -1
  149. package/lib/es6/component/Chart/AbstractChart.type.js.map +1 -1
  150. package/lib/es6/component/Chart/AreaChart.js +2 -2
  151. package/lib/es6/component/Chart/AreaChart.js.map +1 -1
  152. package/lib/es6/component/Chart/BarChart.js +2 -2
  153. package/lib/es6/component/Chart/BarChart.js.map +1 -1
  154. package/lib/es6/component/Chart/BubbleChart.js +2 -2
  155. package/lib/es6/component/Chart/BubbleChart.js.map +1 -1
  156. package/lib/es6/component/Chart/CigaretteChart.js +4 -4
  157. package/lib/es6/component/Chart/CigaretteChart.js.map +1 -1
  158. package/lib/es6/component/Chart/CompactHorizontalBarChart.js +2 -2
  159. package/lib/es6/component/Chart/CompactHorizontalBarChart.js.map +1 -1
  160. package/lib/es6/component/Chart/DonutChart.js +2 -2
  161. package/lib/es6/component/Chart/DonutChart.js.map +1 -1
  162. package/lib/es6/component/Chart/HistogramChart.js +2 -2
  163. package/lib/es6/component/Chart/HistogramChart.js.map +1 -1
  164. package/lib/es6/component/Chart/LineChart.js +2 -2
  165. package/lib/es6/component/Chart/LineChart.js.map +1 -1
  166. package/lib/es6/component/Chart/RadarChart.js +2 -2
  167. package/lib/es6/component/Chart/RadarChart.js.map +1 -1
  168. package/lib/es6/component/Chart/ScatterPlotChart.js +2 -2
  169. package/lib/es6/component/Chart/ScatterPlotChart.js.map +1 -1
  170. package/lib/es6/component/Chart/VennChart.js +2 -2
  171. package/lib/es6/component/Chart/VennChart.js.map +1 -1
  172. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +7 -7
  173. package/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js.map +1 -1
  174. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +21 -21
  175. package/lib/es6/component/ChartLegend/LegendItem/LegendItem.js.map +1 -1
  176. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +8 -8
  177. package/lib/es6/component/ChartLegend/LegendTable/LegendTable.js.map +1 -1
  178. package/lib/es6/component/Cigarette/Cigarette.js +2 -2
  179. package/lib/es6/component/Cigarette/Cigarette.js.map +1 -1
  180. package/lib/es6/createElement.js +5 -5
  181. package/lib/es6/createElement.js.map +1 -1
  182. package/lib/es6/style/hover.shadow.css +2 -2
  183. package/lib/es6/utils.js +1 -1
  184. package/lib/es6/utils.js.map +1 -1
  185. package/lib/types/component/Chart/AbstractChart.type.d.ts +1 -1
  186. package/lib/types/utils.d.ts +1 -1
  187. package/package.json +9 -12
@@ -1 +1 @@
1
- {"version":3,"file":"PlotA11yView.js","names":["_core","require","_react","_interopRequireDefault","_focus","_hints","_intl","_summarize","_flexBox","_i18nEnhance","_intergalacticDynamicLocales","_DataAccessibilityTable","styles","_index","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","_React$useState","useState","_React$useState2","_slicedToArray2","summary","setSummary","_React$useState3","_React$useState4","generatingSummary","setGeneratingSummary","useEffect","disable","override","setTimeout","summarize","handleClose","useCallback","_plotRef$current","current","focus","handleSkip","event","_heavyFindNextFocusab","preventDefault","heavyFindNextFocusableElement","handleSkipKeyboard","key","handleGoToTable","_dataTableRef$current","dataTableRef","handleGoToTableKeyboard","texts","label","formatMessage","close","skipPlot","goToTable","summaryPlaceholder","table","useRef","createElement","cn","_objectSpread2","assignProps","concat","DataAccessibilityTable","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 { 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';\nimport { DataAccessibilityTable } from './DataAccessibilityTable';\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\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 handleClose = React.useCallback(() => {\n plotRef.current?.focus();\n }, []);\n const handleSkip = React.useCallback((event: React.SyntheticEvent) => {\n event.preventDefault();\n if (!plotRef.current) return;\n\n heavyFindNextFocusableElement(plotRef.current)?.focus();\n }, []);\n const handleSkipKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (!(event.key === 'Enter' || event.key === ' ')) return;\n\n handleSkip(event);\n },\n [handleSkip],\n );\n const handleGoToTable = React.useCallback((event: React.SyntheticEvent) => {\n event.preventDefault();\n dataTableRef.current?.focus();\n }, []);\n const handleGoToTableKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (!(event.key === 'Enter' || event.key === ' ')) return;\n\n handleGoToTable(event);\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\n render={Box}\n tabIndex={0}\n aria-label={texts.label}\n role={'dialog'}\n __excludeProps={['data']}\n >\n <button type={'button'} onClick={handleClose}>\n {texts.close}\n </button>\n {/* biome-ignore lint/a11y/useValidAnchor: */}\n <a href={'#'} onKeyDown={handleSkipKeyboard} onClick={handleSkip}>\n {texts.skipPlot}\n </a>\n {/* biome-ignore lint/a11y/useValidAnchor: */}\n <a href={`#${id}-data-table`} 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}>\n {generatingSummary ? texts.summaryPlaceholder : summary}\n </div>\n <strong>\n <label htmlFor={`${id}-data-table`}>{texts.table}</label>\n </strong>\n <DataAccessibilityTable\n id={id}\n dataTableRef={dataTableRef}\n data={data}\n hints={hints}\n config={config}\n intl={intl}\n />\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","_intl","_summarize","_flexBox","_i18nEnhance","_intergalacticDynamicLocales","_DataAccessibilityTable","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","_React$useState","useState","_React$useState2","_slicedToArray2","summary","setSummary","_React$useState3","_React$useState4","generatingSummary","setGeneratingSummary","useEffect","disable","override","setTimeout","summarize","handleClose","useCallback","_plotRef$current","current","focus","handleSkip","event","_heavyFindNextFocusab","preventDefault","heavyFindNextFocusableElement","handleSkipKeyboard","key","handleGoToTable","_dataTableRef$current","dataTableRef","handleGoToTableKeyboard","texts","label","formatMessage","close","skipPlot","goToTable","summaryPlaceholder","table","useRef","createElement","cn","_objectSpread2","assignProps","concat","DataAccessibilityTable","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 { 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/core/lib/utils/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';\nimport { DataAccessibilityTable } from './DataAccessibilityTable';\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\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 handleClose = React.useCallback(() => {\n plotRef.current?.focus();\n }, []);\n const handleSkip = React.useCallback((event: React.SyntheticEvent) => {\n event.preventDefault();\n if (!plotRef.current) return;\n\n heavyFindNextFocusableElement(plotRef.current)?.focus();\n }, []);\n const handleSkipKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (!(event.key === 'Enter' || event.key === ' ')) return;\n\n handleSkip(event);\n },\n [handleSkip],\n );\n const handleGoToTable = React.useCallback((event: React.SyntheticEvent) => {\n event.preventDefault();\n dataTableRef.current?.focus();\n }, []);\n const handleGoToTableKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (!(event.key === 'Enter' || event.key === ' ')) return;\n\n handleGoToTable(event);\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\n render={Box}\n tabIndex={0}\n aria-label={texts.label}\n role={'dialog'}\n __excludeProps={['data']}\n >\n <button type={'button'} onClick={handleClose}>\n {texts.close}\n </button>\n {/* biome-ignore lint/a11y/useValidAnchor: */}\n <a href={'#'} onKeyDown={handleSkipKeyboard} onClick={handleSkip}>\n {texts.skipPlot}\n </a>\n {/* biome-ignore lint/a11y/useValidAnchor: */}\n <a href={`#${id}-data-table`} 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}>\n {generatingSummary ? texts.summaryPlaceholder : summary}\n </div>\n <strong>\n <label htmlFor={`${id}-data-table`}>{texts.table}</label>\n </strong>\n <DataAccessibilityTable\n id={id}\n dataTableRef={dataTableRef}\n data={data}\n hints={hints}\n config={config}\n intl={intl}\n />\n </SPlotA11yView>,\n ) as React.ReactElement;\n};\n"],"mappings":";;;;;;;;;AAMA,IAAAA,KAAA,GAAAC,OAAA;AANA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAEA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAGA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAR,OAAA;AACA,IAAAS,4BAAA,GAAAT,OAAA;AACA,IAAAU,uBAAA,GAAAV,OAAA;AAAkE;AAAA,IAAAW,MAAA,+BAAAZ,KAAA,CAAAa,OAAA,CAAAC,MAAA;EAAA;AAAA;AAE3D,IAAMC,YAAqC,GAAG,SAAxCA,YAAqCA,CAAAC,KAAA,EAQ5C;EAAA,IAAAC,IAAA,GAAAC,YAAA;IAAAC,KAAA;EAAA,IAPJC,EAAE,GAAAJ,KAAA,CAAFI,EAAE;IACIC,YAAY,GAAAL,KAAA,CAAlBM,IAAI;IACJC,KAAK,GAAAP,KAAA,CAALO,KAAK;IACLC,SAAS,GAAAR,KAAA,CAATQ,SAAS;IACTC,OAAO,GAAAT,KAAA,CAAPS,OAAO;IACCC,cAAc,GAAAV,KAAA,CAAtBW,MAAM;IACNC,MAAM,GAAAZ,KAAA,CAANY,MAAM;EAEN,IAAMC,aAAa,GAkFPC,YAAG;EAjFf,IAAMC,YAAY,GAAG,IAAAC,iCAAoB,EAACC,8CAAiB,EAAEL,MAAM,CAAC;EACpE,IAAMM,IAAI,GAAGC,iBAAK,CAACC,OAAO,CACxB;IAAA,OAAM,IAAAC,aAAO,EAACT,MAAM,EAAEG,YAAY,EAAEE,8CAAiB,CAAC;EAAA,GACtD,CAACL,MAAM,EAAEG,YAAY,EAAEE,8CAAiB,CAAC,CAC1C;EACD,IAAMN,MAAM,GAAGQ,iBAAK,CAACC,OAAO,CAAC;IAAA,OAAM,IAAAE,kCAA2B,EAACZ,cAAc,CAAC;EAAA,GAAE,CAACA,cAAc,CAAC,CAAC;EACjG,IAAMJ,IAAI,GAAGa,iBAAK,CAACC,OAAO,CACxB;IAAA,OAAOG,KAAK,CAACC,OAAO,CAACnB,YAAY,CAAC,GAAGA,YAAY,GAAG,CAACA,YAAY,CAAC;EAAA,CAAC,EACnE,CAACA,YAAY,CAAC,CACf;EAED,IAAAoB,eAAA,GAA8BN,iBAAK,CAACO,QAAQ,CAAgB,IAAI,CAAC;IAAAC,gBAAA,OAAAC,eAAA,aAAAH,eAAA;IAA1DI,OAAO,GAAAF,gBAAA;IAAEG,UAAU,GAAAH,gBAAA;EAC1B,IAAAI,gBAAA,GAAkDZ,iBAAK,CAACO,QAAQ,CAAC,IAAI,CAAC;IAAAM,gBAAA,OAAAJ,eAAA,aAAAG,gBAAA;IAA/DE,iBAAiB,GAAAD,gBAAA;IAAEE,oBAAoB,GAAAF,gBAAA;EAE9Cb,iBAAK,CAACgB,SAAS,CAAC,YAAM;IACpB,IAAIxB,MAAM,CAACyB,OAAO,EAAE;MAClBN,UAAU,CAAC,EAAE,CAAC;MACdI,oBAAoB,CAAC,KAAK,CAAC;MAC3B;IACF;IACA,IAAIvB,MAAM,CAAC0B,QAAQ,EAAE;MACnBP,UAAU,CAACnB,MAAM,CAAC0B,QAAQ,CAAC;MAC3BH,oBAAoB,CAAC,KAAK,CAAC;MAC3B;IACF;IACAI,UAAU,CAAC,YAAM;MACfR,UAAU,CAAC,IAAAS,oBAAS,EAAClC,YAAY,EAAEE,KAAK,EAAEI,MAAM,EAAEC,MAAM,EAAEG,YAAY,EAAEE,8CAAiB,CAAC,CAAC;MAC3FiB,oBAAoB,CAAC,KAAK,CAAC;IAC7B,CAAC,EAAE,CAAC,CAAC;EACP,CAAC,EAAE,CAAC7B,YAAY,EAAEE,KAAK,EAAEI,MAAM,EAAEC,MAAM,EAAEG,YAAY,EAAEE,8CAAiB,CAAC,CAAC;EAE1E,IAAMuB,WAAW,GAAGrB,iBAAK,CAACsB,WAAW,CAAC,YAAM;IAAA,IAAAC,gBAAA;IAC1C,CAAAA,gBAAA,GAAAjC,OAAO,CAACkC,OAAO,cAAAD,gBAAA,uBAAfA,gBAAA,CAAiBE,KAAK,EAAE;EAC1B,CAAC,EAAE,EAAE,CAAC;EACN,IAAMC,UAAU,GAAG1B,iBAAK,CAACsB,WAAW,CAAC,UAACK,KAA2B,EAAK;IAAA,IAAAC,qBAAA;IACpED,KAAK,CAACE,cAAc,EAAE;IACtB,IAAI,CAACvC,OAAO,CAACkC,OAAO,EAAE;IAEtB,CAAAI,qBAAA,OAAAE,oCAA6B,EAACxC,OAAO,CAACkC,OAAO,CAAC,cAAAI,qBAAA,uBAA9CA,qBAAA,CAAgDH,KAAK,EAAE;EACzD,CAAC,EAAE,EAAE,CAAC;EACN,IAAMM,kBAAkB,GAAG/B,iBAAK,CAACsB,WAAW,CAC1C,UAACK,KAA0B,EAAK;IAC9B,IAAI,EAAEA,KAAK,CAACK,GAAG,KAAK,OAAO,IAAIL,KAAK,CAACK,GAAG,KAAK,GAAG,CAAC,EAAE;IAEnDN,UAAU,CAACC,KAAK,CAAC;EACnB,CAAC,EACD,CAACD,UAAU,CAAC,CACb;EACD,IAAMO,eAAe,GAAGjC,iBAAK,CAACsB,WAAW,CAAC,UAACK,KAA2B,EAAK;IAAA,IAAAO,qBAAA;IACzEP,KAAK,CAACE,cAAc,EAAE;IACtB,CAAAK,qBAAA,GAAAC,YAAY,CAACX,OAAO,cAAAU,qBAAA,uBAApBA,qBAAA,CAAsBT,KAAK,EAAE;EAC/B,CAAC,EAAE,EAAE,CAAC;EACN,IAAMW,uBAAuB,GAAGpC,iBAAK,CAACsB,WAAW,CAC/C,UAACK,KAA0B,EAAK;IAC9B,IAAI,EAAEA,KAAK,CAACK,GAAG,KAAK,OAAO,IAAIL,KAAK,CAACK,GAAG,KAAK,GAAG,CAAC,EAAE;IAEnDC,eAAe,CAACN,KAAK,CAAC;EACxB,CAAC,EACD,CAACM,eAAe,CAAC,CAClB;EAED,IAAMI,KAAK,GAAGrC,iBAAK,CAACC,OAAO,CACzB;IAAA,OAAO;MACLqC,KAAK,EAAEvC,IAAI,CAACwC,aAAa,CACvB;QAAEtD,EAAE,EAAE;MAAa,CAAC,EACpB;QAAEI,SAAS,EAAEA,SAAS,aAATA,SAAS,cAATA,SAAS,GAAIU,IAAI,CAACwC,aAAa,CAAC;UAAEtD,EAAE,EAAE;QAA0B,CAAC;MAAE,CAAC,CAClF;MACDuD,KAAK,EAAEzC,IAAI,CAACwC,aAAa,CAAC;QAAEtD,EAAE,EAAE;MAAa,CAAC,CAAC;MAC/CwD,QAAQ,EAAE1C,IAAI,CAACwC,aAAa,CAAC;QAAEtD,EAAE,EAAE;MAAiB,CAAC,CAAC;MACtDyD,SAAS,EAAE3C,IAAI,CAACwC,aAAa,CAAC;QAAEtD,EAAE,EAAE;MAAmB,CAAC,CAAC;MACzDyB,OAAO,EAAEX,IAAI,CAACwC,aAAa,CAAC;QAAEtD,EAAE,EAAE;MAAoB,CAAC,CAAC;MACxD0D,kBAAkB,EAAE5C,IAAI,CAACwC,aAAa,CAAC;QAAEtD,EAAE,EAAE;MAA2B,CAAC,CAAC;MAC1E2D,KAAK,EAAE7C,IAAI,CAACwC,aAAa,CAAC;QAAEtD,EAAE,EAAE;MAAa,CAAC;IAChD,CAAC;EAAA,CAAC,EACF,CAACc,IAAI,EAAEV,SAAS,CAAC,CAClB;EAED,IAAM8C,YAAY,GAAGnC,iBAAK,CAAC6C,MAAM,CAAmB,IAAI,CAAC;EAEzD,OAAA7D,KAAA,GAAO,IAAAN,aAAO,EAACD,MAAM,CAAC,eACpBV,MAAA,YAAA+E,aAAA,CAACpD,aAAa,EAAAV,KAAA,CAAA+D,EAAA,sBAAAC,cAAA,qBAAAnF,KAAA,CAAAoF,WAAA;IAAA,YAEF,CAAC;IAAA,cACCZ,KAAK,CAACC,KAAK;IAAA,QACjB,QAAQ;IAAA,kBACE,CAAC,MAAM;EAAC,GAAAxD,IAAA,kBAExBf,MAAA,YAAA+E,aAAA,WAAA9D,KAAA,CAAA+D,EAAA;IAAA,QAAc,QAAQ;IAAA,WAAW1B;EAAW,IACzCgB,KAAK,CAACG,KAAK,CACL,eAETzE,MAAA,YAAA+E,aAAA,MAAA9D,KAAA,CAAA+D,EAAA;IAAA,QAAS,GAAG;IAAA,aAAahB,kBAAkB;IAAA,WAAWL;EAAU,IAC7DW,KAAK,CAACI,QAAQ,CACb,eAEJ1E,MAAA,YAAA+E,aAAA,MAAA9D,KAAA,CAAA+D,EAAA;IAAA,YAAAG,MAAA,CAAajE,EAAE;IAAA,aAA0BmD,uBAAuB;IAAA,WAAWH;EAAe,IACvFI,KAAK,CAACK,SAAS,CACd,eACJ3E,MAAA,YAAA+E,aAAA,WAAA9D,KAAA,CAAA+D,EAAA,6BACEhF,MAAA,YAAA+E,aAAA,UAAA9D,KAAA,CAAA+D,EAAA;IAAA,cAAAG,MAAA,CAAmBjE,EAAE;EAAA,IAAkBoD,KAAK,CAAC3B,OAAO,CAAS,CACtD,eACT3C,MAAA,YAAA+E,aAAA,QAAA9D,KAAA,CAAA+D,EAAA;IAAA,SAAAG,MAAA,CAAYjE,EAAE;IAAA,aAA4B6B;EAAiB,IACxDA,iBAAiB,GAAGuB,KAAK,CAACM,kBAAkB,GAAGjC,OAAO,CACnD,eACN3C,MAAA,YAAA+E,aAAA,WAAA9D,KAAA,CAAA+D,EAAA,6BACEhF,MAAA,YAAA+E,aAAA,UAAA9D,KAAA,CAAA+D,EAAA;IAAA,cAAAG,MAAA,CAAmBjE,EAAE;EAAA,IAAgBoD,KAAK,CAACO,KAAK,CAAS,CAClD,eACT7E,MAAA,YAAA+E,aAAA,CAACtE,uBAAA,CAAA2E,sBAAsB,EAAAnE,KAAA,CAAA+D,EAAA;IAAA,MACjB9D,EAAE;IAAA,gBACQkD,YAAY;IAAA,QACpBhD,IAAI;IAAA,SACHC,KAAK;IAAA,UACJI,MAAM;IAAA,QACRO;EAAI,GACV,CACY;AAEpB,CAAC;AAACqD,OAAA,CAAAxE,YAAA,GAAAA,YAAA"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.heavyFindNextFocusableElement = void 0;
7
- var _isFocusable = require("@semcore/utils/lib/focus-lock/isFocusable");
7
+ var _isFocusable = require("@semcore/core/lib/utils/focus-lock/isFocusable");
8
8
  var findNextFocusableElementInChildren = function findNextFocusableElementInChildren(element) {
9
9
  if (element && (0, _isFocusable.isFocusable)(element)) {
10
10
  return element;
@@ -1 +1 @@
1
- {"version":3,"file":"focus.js","names":["_isFocusable","require","findNextFocusableElementInChildren","element","isFocusable","children","i","length","childChild","item","result","makeParentsChain","parents","parent","parentElement","push","heavyFindNextFocusableElement","base","_parent$children","siblings","Array","from","indexOf","slice","focusable","exports"],"sources":["../../../src/a11y/focus.ts"],"sourcesContent":["import { isFocusable } from '@semcore/utils/lib/focus-lock/isFocusable';\n\ntype FocusableElement = Element & { focus: () => void };\n\nconst findNextFocusableElementInChildren = (element: Element | null): FocusableElement | null => {\n if (element && isFocusable(element)) {\n return element as FocusableElement;\n }\n\n const children = element?.children;\n\n if (children) {\n for (let i = 0; i < children.length; i++) {\n const childChild = children.item(i);\n if (!childChild) continue;\n const result = findNextFocusableElementInChildren(childChild);\n if (result) return result;\n }\n }\n\n return null;\n};\n\nconst makeParentsChain = (element: Element): Element[] => {\n const parents = [];\n let parent = element.parentElement;\n\n while (parent) {\n parents.push(parent);\n parent = parent.parentElement;\n }\n\n return parents;\n};\n\nexport const heavyFindNextFocusableElement = (base: Element): FocusableElement | null => {\n const parents = makeParentsChain(base);\n for (let i = 0; i < parents.length; i++) {\n const parent = parents[i];\n let siblings = Array.from(parent?.children ?? []);\n if (siblings.indexOf(parents[i - 1] || base) !== -1) {\n siblings = siblings.slice(siblings.indexOf(parents[i - 1] || base) + 1);\n }\n\n for (let i = 0; i < siblings.length; i++) {\n const focusable = findNextFocusableElementInChildren(siblings[i]);\n if (focusable) return focusable;\n }\n }\n\n return null;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAIA,IAAMC,kCAAkC,GAAG,SAArCA,kCAAkCA,CAAIC,OAAuB,EAA8B;EAC/F,IAAIA,OAAO,IAAI,IAAAC,wBAAW,EAACD,OAAO,CAAC,EAAE;IACnC,OAAOA,OAAO;EAChB;EAEA,IAAME,QAAQ,GAAGF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,QAAQ;EAElC,IAAIA,QAAQ,EAAE;IACZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,QAAQ,CAACE,MAAM,EAAED,CAAC,EAAE,EAAE;MACxC,IAAME,UAAU,GAAGH,QAAQ,CAACI,IAAI,CAACH,CAAC,CAAC;MACnC,IAAI,CAACE,UAAU,EAAE;MACjB,IAAME,MAAM,GAAGR,kCAAkC,CAACM,UAAU,CAAC;MAC7D,IAAIE,MAAM,EAAE,OAAOA,MAAM;IAC3B;EACF;EAEA,OAAO,IAAI;AACb,CAAC;AAED,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIR,OAAgB,EAAgB;EACxD,IAAMS,OAAO,GAAG,EAAE;EAClB,IAAIC,MAAM,GAAGV,OAAO,CAACW,aAAa;EAElC,OAAOD,MAAM,EAAE;IACbD,OAAO,CAACG,IAAI,CAACF,MAAM,CAAC;IACpBA,MAAM,GAAGA,MAAM,CAACC,aAAa;EAC/B;EAEA,OAAOF,OAAO;AAChB,CAAC;AAEM,IAAMI,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAIC,IAAa,EAA8B;EACvF,IAAML,OAAO,GAAGD,gBAAgB,CAACM,IAAI,CAAC;EACtC,KAAK,IAAIX,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGM,OAAO,CAACL,MAAM,EAAED,CAAC,EAAE,EAAE;IAAA,IAAAY,gBAAA;IACvC,IAAML,MAAM,GAAGD,OAAO,CAACN,CAAC,CAAC;IACzB,IAAIa,QAAQ,GAAGC,KAAK,CAACC,IAAI,EAAAH,gBAAA,GAACL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAER,QAAQ,cAAAa,gBAAA,cAAAA,gBAAA,GAAI,EAAE,CAAC;IACjD,IAAIC,QAAQ,CAACG,OAAO,CAACV,OAAO,CAACN,CAAC,GAAG,CAAC,CAAC,IAAIW,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;MACnDE,QAAQ,GAAGA,QAAQ,CAACI,KAAK,CAACJ,QAAQ,CAACG,OAAO,CAACV,OAAO,CAACN,CAAC,GAAG,CAAC,CAAC,IAAIW,IAAI,CAAC,GAAG,CAAC,CAAC;IACzE;IAEA,KAAK,IAAIX,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAGa,QAAQ,CAACZ,MAAM,EAAED,EAAC,EAAE,EAAE;MACxC,IAAMkB,SAAS,GAAGtB,kCAAkC,CAACiB,QAAQ,CAACb,EAAC,CAAC,CAAC;MACjE,IAAIkB,SAAS,EAAE,OAAOA,SAAS;IACjC;EACF;EAEA,OAAO,IAAI;AACb,CAAC;AAACC,OAAA,CAAAT,6BAAA,GAAAA,6BAAA"}
1
+ {"version":3,"file":"focus.js","names":["_isFocusable","require","findNextFocusableElementInChildren","element","isFocusable","children","i","length","childChild","item","result","makeParentsChain","parents","parent","parentElement","push","heavyFindNextFocusableElement","base","_parent$children","siblings","Array","from","indexOf","slice","focusable","exports"],"sources":["../../../src/a11y/focus.ts"],"sourcesContent":["import { isFocusable } from '@semcore/core/lib/utils/focus-lock/isFocusable';\n\ntype FocusableElement = Element & { focus: () => void };\n\nconst findNextFocusableElementInChildren = (element: Element | null): FocusableElement | null => {\n if (element && isFocusable(element)) {\n return element as FocusableElement;\n }\n\n const children = element?.children;\n\n if (children) {\n for (let i = 0; i < children.length; i++) {\n const childChild = children.item(i);\n if (!childChild) continue;\n const result = findNextFocusableElementInChildren(childChild);\n if (result) return result;\n }\n }\n\n return null;\n};\n\nconst makeParentsChain = (element: Element): Element[] => {\n const parents = [];\n let parent = element.parentElement;\n\n while (parent) {\n parents.push(parent);\n parent = parent.parentElement;\n }\n\n return parents;\n};\n\nexport const heavyFindNextFocusableElement = (base: Element): FocusableElement | null => {\n const parents = makeParentsChain(base);\n for (let i = 0; i < parents.length; i++) {\n const parent = parents[i];\n let siblings = Array.from(parent?.children ?? []);\n if (siblings.indexOf(parents[i - 1] || base) !== -1) {\n siblings = siblings.slice(siblings.indexOf(parents[i - 1] || base) + 1);\n }\n\n for (let i = 0; i < siblings.length; i++) {\n const focusable = findNextFocusableElementInChildren(siblings[i]);\n if (focusable) return focusable;\n }\n }\n\n return null;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAIA,IAAMC,kCAAkC,GAAG,SAArCA,kCAAkCA,CAAIC,OAAuB,EAA8B;EAC/F,IAAIA,OAAO,IAAI,IAAAC,wBAAW,EAACD,OAAO,CAAC,EAAE;IACnC,OAAOA,OAAO;EAChB;EAEA,IAAME,QAAQ,GAAGF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,QAAQ;EAElC,IAAIA,QAAQ,EAAE;IACZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,QAAQ,CAACE,MAAM,EAAED,CAAC,EAAE,EAAE;MACxC,IAAME,UAAU,GAAGH,QAAQ,CAACI,IAAI,CAACH,CAAC,CAAC;MACnC,IAAI,CAACE,UAAU,EAAE;MACjB,IAAME,MAAM,GAAGR,kCAAkC,CAACM,UAAU,CAAC;MAC7D,IAAIE,MAAM,EAAE,OAAOA,MAAM;IAC3B;EACF;EAEA,OAAO,IAAI;AACb,CAAC;AAED,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIR,OAAgB,EAAgB;EACxD,IAAMS,OAAO,GAAG,EAAE;EAClB,IAAIC,MAAM,GAAGV,OAAO,CAACW,aAAa;EAElC,OAAOD,MAAM,EAAE;IACbD,OAAO,CAACG,IAAI,CAACF,MAAM,CAAC;IACpBA,MAAM,GAAGA,MAAM,CAACC,aAAa;EAC/B;EAEA,OAAOF,OAAO;AAChB,CAAC;AAEM,IAAMI,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAIC,IAAa,EAA8B;EACvF,IAAML,OAAO,GAAGD,gBAAgB,CAACM,IAAI,CAAC;EACtC,KAAK,IAAIX,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGM,OAAO,CAACL,MAAM,EAAED,CAAC,EAAE,EAAE;IAAA,IAAAY,gBAAA;IACvC,IAAML,MAAM,GAAGD,OAAO,CAACN,CAAC,CAAC;IACzB,IAAIa,QAAQ,GAAGC,KAAK,CAACC,IAAI,EAAAH,gBAAA,GAACL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAER,QAAQ,cAAAa,gBAAA,cAAAA,gBAAA,GAAI,EAAE,CAAC;IACjD,IAAIC,QAAQ,CAACG,OAAO,CAACV,OAAO,CAACN,CAAC,GAAG,CAAC,CAAC,IAAIW,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;MACnDE,QAAQ,GAAGA,QAAQ,CAACI,KAAK,CAACJ,QAAQ,CAACG,OAAO,CAACV,OAAO,CAACN,CAAC,GAAG,CAAC,CAAC,IAAIW,IAAI,CAAC,GAAG,CAAC,CAAC;IACzE;IAEA,KAAK,IAAIX,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAGa,QAAQ,CAACZ,MAAM,EAAED,EAAC,EAAE,EAAE;MACxC,IAAMkB,SAAS,GAAGtB,kCAAkC,CAACiB,QAAQ,CAACb,EAAC,CAAC,CAAC;MACjE,IAAIkB,SAAS,EAAE,OAAOA,SAAS;IACjC;EACF;EAEA,OAAO,IAAI;AACb,CAAC;AAACC,OAAA,CAAAT,6BAAA,GAAAA,6BAAA"}
@@ -8,7 +8,7 @@ exports.makeDataSummarizationConfig = exports.makeDataHintsHandlers = exports.ma
8
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
10
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
- var _reactToText = _interopRequireDefault(require("@semcore/utils/lib/reactToText"));
11
+ var _reactToText = _interopRequireDefault(require("@semcore/core/lib/utils/reactToText"));
12
12
  var makeDataHintsContainer = function makeDataHintsContainer() {
13
13
  return {
14
14
  fields: {
@@ -1 +1 @@
1
- {"version":3,"file":"hints.js","names":["_reactToText","_interopRequireDefault","require","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","reactToText","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';\nimport reactToText from '@semcore/utils/lib/reactToText';\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 titlesFormatter?: (key: string | number | null) => string | undefined;\n valuesFormatter?: (value: unknown, key: string | number | null) => string | undefined;\n};\nexport type PartialDataSummarizationConfig = DeepPartial<\n Omit<DataSummarizationConfig, 'titlesFormatter' | 'valuesFormatter'>\n> & {\n titlesFormatter?: (key: string | number | null) => string | undefined;\n valuesFormatter?: (value: unknown, key: string | number | null) => string | undefined;\n};\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 title = reactToText(title);\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 ?? [])] as string[],\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"hints.js","names":["_reactToText","_interopRequireDefault","require","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","reactToText","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';\nimport reactToText from '@semcore/core/lib/utils/reactToText';\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 titlesFormatter?: (key: string | number | null) => string | undefined;\n valuesFormatter?: (value: unknown, key: string | number | null) => string | undefined;\n};\nexport type PartialDataSummarizationConfig = DeepPartial<\n Omit<DataSummarizationConfig, 'titlesFormatter' | 'valuesFormatter'>\n> & {\n titlesFormatter?: (key: string | number | null) => string | undefined;\n valuesFormatter?: (value: unknown, key: string | number | null) => string | undefined;\n};\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 title = reactToText(title);\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 ?? [])] as string[],\n});\n"],"mappings":"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"}
@@ -19,12 +19,12 @@ var _core = require("@semcore/core");
19
19
  var _hints = require("../../a11y/hints");
20
20
  var _utils = require("../../utils");
21
21
  var _react = _interopRequireDefault(require("react"));
22
- var _assignProps2 = require("@semcore/utils/lib/assignProps");
22
+ var _assignProps2 = require("@semcore/core/lib/utils/assignProps");
23
23
  var _ChartLegend = _interopRequireWildcard(require("../ChartLegend"));
24
24
  var _flexBox = require("@semcore/flex-box");
25
25
  var _ = require("../..");
26
26
  var _typography = require("@semcore/typography");
27
- var _ariaProps = require("@semcore/utils/lib/ariaProps");
27
+ var _ariaProps = require("@semcore/core/lib/utils/ariaProps");
28
28
  // @ts-ignore
29
29
  var AbstractChart = /*#__PURE__*/function (_Component) {
30
30
  (0, _inherits2["default"])(AbstractChart, _Component);
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractChart.js","names":["_core","require","_hints","_utils","_react","_interopRequireDefault","_assignProps2","_ChartLegend","_interopRequireWildcard","_flexBox","_","_typography","_ariaProps","AbstractChart","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","makeDataHintsContainer","dataDefinitions","getDefaultDataDefinitions","highlightedLine","withTrend","setHighlightedLine","bind","handleChangeVisible","handleMouseEnter","handleMouseLeave","resolveColor","tooltipValueFormatter","handleWithTrendChange","_createClass2","key","value","componentDidUpdate","prevProps","data","legendProps","setState","_this2","_this$props","dataKeys","map","index","_legendProps$legendMa","_legendData$label","_legendData$icon","_legendData$defaultCh","legendData","legendMap","dataDefinition","id","label","icon","undefined","checked","defaultChecked","color","columns","additionalInfo","count","Array","isArray","_value","dataValue","Map","get","interpolateValue","Number","total","Object","values","reduce","sum","i","percent","toFixed","createElement","Text","concat","use","_this$props2","groupKey","keys","filter","_this$asProps","asProps","invertAxis","xTicksCount","yTicksCount","scale","xScale","ticks","_this$asProps2","yScale","_this$asProps3","flatValues","result","item","add","entries","forEach","_ref3","_ref4","_slicedToArray2","Set","_this$asProps4","max","val","barSum","_ref5","_ref6","Date","isNaN","getMilliseconds","totalValue","state","legendItem","getValueScale","Math","apply","_toConsumableArray2","min","avg","round","log10","valueScale","pow","isVisible","prevState","findIndex","line","_this$props$colorMap$","_this$props$colorMap","colorMap","toDateString","toString","defaultLegendProps","legendType","renderLegend","_lProps$direction","_this$asProps5","direction","showLegend","patterns","length","_this$state","lProps","_objectSpread2","commonLegendProps","dataHints","items","size","shape","w","h","onChangeVisibleItem","disableSelectItems","callAllEventHandlers","onMouseEnterItem","disableHoverItems","onMouseLeaveItem","getLegendAriaLabel","ChartLegendTable","flexLegendProps","trendLabel","trendIsVisible","onTrendIsVisibleChange","renderAxis","_this$asProps6","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","xTicks","yTicks","childrenX","_ref7","children","childrenY","_ref8","Fragment","YAxis","Ticks","Grid","XAxis","render","_ref","_ref2","SChart","Flex","_this$asProps7","styles","plotWidth","plotHeight","a11yAltTextConfig","duration","_extractAriaProps","extractAriaProps","extractedAriaProps","sstyled","cn","assignProps","Plot","renderTooltip","renderChart","Component","exports","showTooltip"],"sources":["../../../../src/component/Chart/AbstractChart.tsx"],"sourcesContent":["import { makeDataHintsContainer } from '../../a11y/hints';\nimport { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport { interpolateValue } from '../../utils';\nimport React from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport { BaseChartProps, BaseLegendProps, ListData, ObjectData } from './AbstractChart.type';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport ChartLegend, { ChartLegendTable } from '../ChartLegend';\nimport { Flex } from '@semcore/flex-box';\n// @ts-ignore\nimport { Plot, XAxis, YAxis } from '../..';\nimport { Text } from '@semcore/typography';\nimport { LegendFlexProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\nimport { LegendTableProps } from '../ChartLegend/LegendTable/LegendTable.type';\nimport { extractAriaProps } from '@semcore/utils/lib/ariaProps';\n\ntype ChartState = {\n dataDefinitions: Array<LegendItem & { columns: React.ReactNode[] }>;\n highlightedLine: number;\n withTrend: boolean;\n};\n\nexport abstract class AbstractChart<\n D extends ListData | ObjectData,\n T extends BaseChartProps<D>,\n E extends readonly ((...args: any[]) => any)[] = [],\n> extends Component<T, {}, ChartState, E> {\n public static style = {};\n public static defaultProps: Partial<BaseChartProps<any>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n showLegend: true,\n };\n\n /**\n * Padding from the end's of chart to the container (except axis sides)\n */\n protected plotPadding = 6;\n\n protected dataHints = makeDataHintsContainer();\n\n public state: ChartState = {\n dataDefinitions: this.getDefaultDataDefinitions(),\n highlightedLine: -1,\n withTrend: false,\n };\n\n constructor(props: T) {\n super(props);\n\n this.setHighlightedLine = this.setHighlightedLine.bind(this);\n this.handleChangeVisible = this.handleChangeVisible.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.resolveColor = this.resolveColor.bind(this);\n this.tooltipValueFormatter = this.tooltipValueFormatter.bind(this);\n this.handleWithTrendChange = this.handleWithTrendChange.bind(this);\n }\n\n public componentDidUpdate(prevProps: T) {\n if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {\n this.setState({ dataDefinitions: this.getDefaultDataDefinitions() });\n }\n }\n\n protected getDefaultDataDefinitions(): Array<LegendItem & { columns: React.ReactNode[] }> {\n const { data, legendProps } = this.props;\n\n return this.dataKeys.map((key, index) => {\n const legendData = legendProps?.legendMap?.[key];\n\n const dataDefinition: LegendItem & { columns: React.ReactNode[] } = {\n id: key,\n label: legendData?.label ?? key,\n icon: legendData?.icon ?? undefined,\n checked: legendData?.defaultChecked ?? true,\n color: this.resolveColor(key, index),\n columns: [],\n };\n\n if (legendData?.additionalInfo || legendData?.count) {\n dataDefinition.additionalInfo = legendData.additionalInfo\n ? { label: legendData.additionalInfo }\n : legendData.count\n ? { count: legendData.count }\n : undefined;\n }\n\n if (legendData && 'columns' in legendData) {\n dataDefinition.columns = legendData.columns || [];\n } else if (!Array.isArray(data)) {\n let value: number | undefined = undefined;\n let dataValue = data[key];\n\n if (data instanceof Map) {\n dataValue = data.get(key);\n }\n\n if (dataValue !== interpolateValue) {\n value = Number(dataValue);\n }\n\n const total = Object.values(data).reduce<number>((sum, i) => {\n if (i !== interpolateValue) {\n return sum + Number(i);\n }\n\n return sum;\n }, 0);\n const percent = value !== undefined ? ((value / total) * 100).toFixed(2) : undefined;\n\n dataDefinition.columns = [\n <Text key={`${key}_percent`} use={'secondary'}>\n {percent !== undefined ? `${percent}%` : ''}\n </Text>,\n <Text key={`${key}_value`} use={value ? 'primary' : 'secondary'}>\n {value ?? 'n/a'}\n </Text>,\n ];\n }\n\n return dataDefinition;\n });\n }\n\n protected abstract get xScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n protected abstract get yScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n\n protected abstract getLegendAriaLabel(): string;\n protected abstract renderChart(): React.ReactNode;\n protected abstract renderTooltip(): React.ReactNode;\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n let dataKeys: string[];\n\n if (Array.isArray(data) && groupKey) {\n dataKeys = Object.keys(data[0]).filter((key) => key !== groupKey);\n } else {\n dataKeys = Object.keys(data);\n }\n\n return dataKeys;\n }\n\n protected get xTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.xScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && yTicksCount) {\n return scale.ticks(yTicksCount);\n } else if (xTicksCount) {\n return scale.ticks(xTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get yTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.yScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && xTicksCount) {\n return scale.ticks(xTicksCount);\n } else if (yTicksCount) {\n return scale.ticks(yTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey } = this.asProps;\n const values: any[] = Array.isArray(data) ? data : Object.values(data);\n\n const flatValues = values.reduce<Set<number>>((result, item) => {\n if (!groupKey && typeof item === 'number') {\n result.add(item);\n } else {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && typeof value === 'number') {\n result.add(value);\n }\n });\n }\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected get maxStackedValue(): number {\n const { data, groupKey } = this.asProps;\n\n if (!Array.isArray(data)) {\n const max = Object.values(data).reduce<number>((sum, val) => {\n if (typeof val === 'number') {\n sum = sum + val;\n }\n\n return sum;\n }, 0);\n\n return max;\n }\n\n const max = data.reduce((max, item) => {\n const barSum = Object.entries(item).reduce<number>((sum, [key, val]) => {\n if (key === groupKey) {\n return sum;\n }\n\n if (typeof val === 'number') {\n return sum + val;\n }\n\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n\n return max;\n }\n\n protected totalValue(data: ObjectData): number {\n const { dataDefinitions } = this.state;\n\n const total = dataDefinitions.reduce((sum, legendItem) => {\n const item = data[legendItem.id];\n\n if (typeof item === 'number') {\n return sum + item;\n }\n\n if (item instanceof Date && !Number.isNaN(item.getMilliseconds())) {\n return sum + item.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n return total;\n }\n\n protected getValueScale(values: number[]): number {\n const max = Math.max(...values);\n const min = Math.min(...values);\n\n const avg = (max + min) / 2;\n const count = Math.round(Math.log10(avg));\n\n const valueScale = 100 / 10 ** count;\n\n return valueScale;\n }\n\n protected setHighlightedLine(index: number) {\n this.setState({ highlightedLine: index });\n }\n\n protected handleChangeVisible(id: string, isVisible: boolean) {\n this.setState((prevState) => {\n const dataDefinitions = prevState.dataDefinitions.map((item) => {\n if (item.id === id) {\n item.checked = isVisible;\n }\n\n return item;\n });\n\n return { dataDefinitions };\n });\n }\n\n protected handleWithTrendChange(isVisible: boolean) {\n this.setState({ withTrend: isVisible });\n }\n\n protected handleMouseEnter(id: string) {\n this.setHighlightedLine(this.state.dataDefinitions.findIndex((line) => line.id === id));\n }\n\n protected handleMouseLeave() {\n this.setHighlightedLine(-1);\n }\n\n protected resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `chart-palette-order-${index + 1}`;\n }\n\n protected tooltipValueFormatter(\n value?: string | number | typeof interpolateValue | Date,\n ): string {\n const { tooltipValueFormatter } = this.asProps;\n\n if (tooltipValueFormatter) {\n return tooltipValueFormatter(value);\n }\n\n if (value === undefined || value === interpolateValue) {\n return 'n/a';\n }\n\n if (value === null) {\n return '0';\n }\n\n if (value instanceof Date) {\n return value.toDateString();\n }\n\n return value.toString();\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {\n legendType: 'Flex',\n };\n }\n\n protected renderLegend() {\n const { legendProps, direction, showLegend, patterns } = this.asProps;\n\n if (\n !showLegend ||\n // we hide Legend for one item on chart except not manually set to show.\n (this.dataKeys.length === 1 && showLegend === true)\n ) {\n return null;\n }\n\n const { dataDefinitions, withTrend } = this.state;\n const lProps = {\n ...this.defaultLegendProps(),\n ...legendProps,\n };\n\n const commonLegendProps: LegendFlexProps | LegendTableProps = {\n dataHints: this.dataHints,\n items: dataDefinitions,\n size: lProps.size,\n shape: lProps.shape,\n w: lProps.w,\n h: lProps.h,\n patterns,\n direction:\n lProps.direction ?? (direction === 'row' || direction === 'row-reverse' ? 'column' : 'row'),\n onChangeVisibleItem: lProps.disableSelectItems\n ? undefined\n : callAllEventHandlers(lProps.onChangeVisibleItem, this.handleChangeVisible),\n onMouseEnterItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseEnterItem, this.handleMouseEnter),\n onMouseLeaveItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseLeaveItem, this.handleMouseLeave),\n 'aria-label': this.getLegendAriaLabel(),\n };\n\n if (lProps.legendType === 'Table') {\n return <ChartLegendTable {...(commonLegendProps as LegendTableProps)} />;\n }\n\n if ('withTrend' in lProps) {\n const flexLegendProps = {\n ...commonLegendProps,\n withTrend: true,\n trendLabel: lProps.trendLabel,\n trendIsVisible: withTrend,\n onTrendIsVisibleChange: this.handleWithTrendChange,\n };\n\n return <ChartLegend {...(flexLegendProps as LegendFlexProps)} />;\n }\n\n return <ChartLegend {...(commonLegendProps as LegendFlexProps)} />;\n }\n\n protected renderAxis(): React.ReactNode {\n const { invertAxis, showXAxis, showYAxis, data, axisXValueFormatter, axisYValueFormatter } =\n this.asProps;\n\n if (!Array.isArray(data)) {\n return null;\n }\n\n const xTicks = this.xTicks;\n const yTicks = this.yTicks;\n\n const childrenX = axisXValueFormatter\n ? ({ value }: any) => ({ children: axisXValueFormatter(value) })\n : undefined;\n const childrenY = axisYValueFormatter\n ? ({ value }: any) => ({ children: axisYValueFormatter(value) })\n : undefined;\n\n return (\n <>\n {showYAxis && (\n <YAxis>\n {yTicks ? (\n <YAxis.Ticks ticks={yTicks}>{childrenY}</YAxis.Ticks>\n ) : (\n <YAxis.Ticks>{childrenY}</YAxis.Ticks>\n )}\n {invertAxis !== true && (yTicks ? <YAxis.Grid ticks={yTicks} /> : <YAxis.Grid />)}\n </YAxis>\n )}\n\n {showXAxis && (\n <XAxis>\n {xTicks ? (\n <XAxis.Ticks ticks={xTicks}>{childrenX}</XAxis.Ticks>\n ) : (\n <XAxis.Ticks>{childrenX}</XAxis.Ticks>\n )}\n {invertAxis === true && (xTicks ? <XAxis.Grid ticks={xTicks} /> : <XAxis.Grid />)}\n </XAxis>\n )}\n </>\n );\n }\n\n public render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data, patterns, a11yAltTextConfig, duration } =\n this.asProps;\n\n const { extractedAriaProps } = extractAriaProps(this.asProps);\n\n return sstyled(styles)(\n <SChart render={Flex} gap={5} __excludeProps={['data']} role={'group'}>\n {this.renderLegend()}\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n a11yAltTextConfig={a11yAltTextConfig}\n patterns={patterns}\n duration={duration}\n {...extractedAriaProps}\n >\n {this.renderAxis()}\n {this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n </SChart>,\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AbstractChart.js","names":["_core","require","_hints","_utils","_react","_interopRequireDefault","_assignProps2","_ChartLegend","_interopRequireWildcard","_flexBox","_","_typography","_ariaProps","AbstractChart","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","makeDataHintsContainer","dataDefinitions","getDefaultDataDefinitions","highlightedLine","withTrend","setHighlightedLine","bind","handleChangeVisible","handleMouseEnter","handleMouseLeave","resolveColor","tooltipValueFormatter","handleWithTrendChange","_createClass2","key","value","componentDidUpdate","prevProps","data","legendProps","setState","_this2","_this$props","dataKeys","map","index","_legendProps$legendMa","_legendData$label","_legendData$icon","_legendData$defaultCh","legendData","legendMap","dataDefinition","id","label","icon","undefined","checked","defaultChecked","color","columns","additionalInfo","count","Array","isArray","_value","dataValue","Map","get","interpolateValue","Number","total","Object","values","reduce","sum","i","percent","toFixed","createElement","Text","concat","use","_this$props2","groupKey","keys","filter","_this$asProps","asProps","invertAxis","xTicksCount","yTicksCount","scale","xScale","ticks","_this$asProps2","yScale","_this$asProps3","flatValues","result","item","add","entries","forEach","_ref3","_ref4","_slicedToArray2","Set","_this$asProps4","max","val","barSum","_ref5","_ref6","Date","isNaN","getMilliseconds","totalValue","state","legendItem","getValueScale","Math","apply","_toConsumableArray2","min","avg","round","log10","valueScale","pow","isVisible","prevState","findIndex","line","_this$props$colorMap$","_this$props$colorMap","colorMap","toDateString","toString","defaultLegendProps","legendType","renderLegend","_lProps$direction","_this$asProps5","direction","showLegend","patterns","length","_this$state","lProps","_objectSpread2","commonLegendProps","dataHints","items","size","shape","w","h","onChangeVisibleItem","disableSelectItems","callAllEventHandlers","onMouseEnterItem","disableHoverItems","onMouseLeaveItem","getLegendAriaLabel","ChartLegendTable","flexLegendProps","trendLabel","trendIsVisible","onTrendIsVisibleChange","renderAxis","_this$asProps6","showXAxis","showYAxis","axisXValueFormatter","axisYValueFormatter","xTicks","yTicks","childrenX","_ref7","children","childrenY","_ref8","Fragment","YAxis","Ticks","Grid","XAxis","render","_ref","_ref2","SChart","Flex","_this$asProps7","styles","plotWidth","plotHeight","a11yAltTextConfig","duration","_extractAriaProps","extractAriaProps","extractedAriaProps","sstyled","cn","assignProps","Plot","renderTooltip","renderChart","Component","exports","showTooltip"],"sources":["../../../../src/component/Chart/AbstractChart.tsx"],"sourcesContent":["import { makeDataHintsContainer } from '../../a11y/hints';\nimport { LegendItem } from '../ChartLegend/LegendItem/LegendItem.type';\nimport { ScaleBand, ScaleLinear, ScaleTime } from 'd3-scale';\nimport { interpolateValue } from '../../utils';\nimport React from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport { BaseChartProps, BaseLegendProps, ListData, ObjectData } from './AbstractChart.type';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport ChartLegend, { ChartLegendTable } from '../ChartLegend';\nimport { Flex } from '@semcore/flex-box';\n// @ts-ignore\nimport { Plot, XAxis, YAxis } from '../..';\nimport { Text } from '@semcore/typography';\nimport { LegendFlexProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\nimport { LegendTableProps } from '../ChartLegend/LegendTable/LegendTable.type';\nimport { extractAriaProps } from '@semcore/core/lib/utils/ariaProps';\n\ntype ChartState = {\n dataDefinitions: Array<LegendItem & { columns: React.ReactNode[] }>;\n highlightedLine: number;\n withTrend: boolean;\n};\n\nexport abstract class AbstractChart<\n D extends ListData | ObjectData,\n T extends BaseChartProps<D>,\n E extends readonly ((...args: any[]) => any)[] = [],\n> extends Component<T, {}, ChartState, E> {\n public static style = {};\n public static defaultProps: Partial<BaseChartProps<any>> = {\n direction: 'column',\n showXAxis: true,\n showYAxis: true,\n showTooltip: true,\n showLegend: true,\n };\n\n /**\n * Padding from the end's of chart to the container (except axis sides)\n */\n protected plotPadding = 6;\n\n protected dataHints = makeDataHintsContainer();\n\n public state: ChartState = {\n dataDefinitions: this.getDefaultDataDefinitions(),\n highlightedLine: -1,\n withTrend: false,\n };\n\n constructor(props: T) {\n super(props);\n\n this.setHighlightedLine = this.setHighlightedLine.bind(this);\n this.handleChangeVisible = this.handleChangeVisible.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.resolveColor = this.resolveColor.bind(this);\n this.tooltipValueFormatter = this.tooltipValueFormatter.bind(this);\n this.handleWithTrendChange = this.handleWithTrendChange.bind(this);\n }\n\n public componentDidUpdate(prevProps: T) {\n if (prevProps.data !== this.props.data || prevProps.legendProps !== this.props.legendProps) {\n this.setState({ dataDefinitions: this.getDefaultDataDefinitions() });\n }\n }\n\n protected getDefaultDataDefinitions(): Array<LegendItem & { columns: React.ReactNode[] }> {\n const { data, legendProps } = this.props;\n\n return this.dataKeys.map((key, index) => {\n const legendData = legendProps?.legendMap?.[key];\n\n const dataDefinition: LegendItem & { columns: React.ReactNode[] } = {\n id: key,\n label: legendData?.label ?? key,\n icon: legendData?.icon ?? undefined,\n checked: legendData?.defaultChecked ?? true,\n color: this.resolveColor(key, index),\n columns: [],\n };\n\n if (legendData?.additionalInfo || legendData?.count) {\n dataDefinition.additionalInfo = legendData.additionalInfo\n ? { label: legendData.additionalInfo }\n : legendData.count\n ? { count: legendData.count }\n : undefined;\n }\n\n if (legendData && 'columns' in legendData) {\n dataDefinition.columns = legendData.columns || [];\n } else if (!Array.isArray(data)) {\n let value: number | undefined = undefined;\n let dataValue = data[key];\n\n if (data instanceof Map) {\n dataValue = data.get(key);\n }\n\n if (dataValue !== interpolateValue) {\n value = Number(dataValue);\n }\n\n const total = Object.values(data).reduce<number>((sum, i) => {\n if (i !== interpolateValue) {\n return sum + Number(i);\n }\n\n return sum;\n }, 0);\n const percent = value !== undefined ? ((value / total) * 100).toFixed(2) : undefined;\n\n dataDefinition.columns = [\n <Text key={`${key}_percent`} use={'secondary'}>\n {percent !== undefined ? `${percent}%` : ''}\n </Text>,\n <Text key={`${key}_value`} use={value ? 'primary' : 'secondary'}>\n {value ?? 'n/a'}\n </Text>,\n ];\n }\n\n return dataDefinition;\n });\n }\n\n protected abstract get xScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n protected abstract get yScale(): ScaleBand<any> | ScaleLinear<any, any> | ScaleTime<any, any>;\n\n protected abstract getLegendAriaLabel(): string;\n protected abstract renderChart(): React.ReactNode;\n protected abstract renderTooltip(): React.ReactNode;\n\n protected get dataKeys(): string[] {\n const { data, groupKey } = this.props;\n\n let dataKeys: string[];\n\n if (Array.isArray(data) && groupKey) {\n dataKeys = Object.keys(data[0]).filter((key) => key !== groupKey);\n } else {\n dataKeys = Object.keys(data);\n }\n\n return dataKeys;\n }\n\n protected get xTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.xScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && yTicksCount) {\n return scale.ticks(yTicksCount);\n } else if (xTicksCount) {\n return scale.ticks(xTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get yTicks(): number[] | Date[] | undefined {\n const { data, invertAxis, xTicksCount, yTicksCount } = this.asProps;\n\n const scale = this.yScale;\n\n if (Array.isArray(data) && 'ticks' in scale) {\n if (invertAxis && xTicksCount) {\n return scale.ticks(xTicksCount);\n } else if (yTicksCount) {\n return scale.ticks(yTicksCount);\n }\n\n return undefined;\n }\n\n return undefined;\n }\n\n protected get flatValues(): Set<number> {\n const { data, groupKey } = this.asProps;\n const values: any[] = Array.isArray(data) ? data : Object.values(data);\n\n const flatValues = values.reduce<Set<number>>((result, item) => {\n if (!groupKey && typeof item === 'number') {\n result.add(item);\n } else {\n Object.entries(item).forEach(([key, value]) => {\n if (key !== groupKey && typeof value === 'number') {\n result.add(value);\n }\n });\n }\n\n return result;\n }, new Set());\n\n return flatValues;\n }\n\n protected get maxStackedValue(): number {\n const { data, groupKey } = this.asProps;\n\n if (!Array.isArray(data)) {\n const max = Object.values(data).reduce<number>((sum, val) => {\n if (typeof val === 'number') {\n sum = sum + val;\n }\n\n return sum;\n }, 0);\n\n return max;\n }\n\n const max = data.reduce((max, item) => {\n const barSum = Object.entries(item).reduce<number>((sum, [key, val]) => {\n if (key === groupKey) {\n return sum;\n }\n\n if (typeof val === 'number') {\n return sum + val;\n }\n\n if (val instanceof Date && !Number.isNaN(val.getMilliseconds())) {\n return sum + val.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n if (barSum > max) {\n max = barSum;\n }\n\n return max;\n }, 0);\n\n return max;\n }\n\n protected totalValue(data: ObjectData): number {\n const { dataDefinitions } = this.state;\n\n const total = dataDefinitions.reduce((sum, legendItem) => {\n const item = data[legendItem.id];\n\n if (typeof item === 'number') {\n return sum + item;\n }\n\n if (item instanceof Date && !Number.isNaN(item.getMilliseconds())) {\n return sum + item.getMilliseconds();\n }\n\n return sum;\n }, 0);\n\n return total;\n }\n\n protected getValueScale(values: number[]): number {\n const max = Math.max(...values);\n const min = Math.min(...values);\n\n const avg = (max + min) / 2;\n const count = Math.round(Math.log10(avg));\n\n const valueScale = 100 / 10 ** count;\n\n return valueScale;\n }\n\n protected setHighlightedLine(index: number) {\n this.setState({ highlightedLine: index });\n }\n\n protected handleChangeVisible(id: string, isVisible: boolean) {\n this.setState((prevState) => {\n const dataDefinitions = prevState.dataDefinitions.map((item) => {\n if (item.id === id) {\n item.checked = isVisible;\n }\n\n return item;\n });\n\n return { dataDefinitions };\n });\n }\n\n protected handleWithTrendChange(isVisible: boolean) {\n this.setState({ withTrend: isVisible });\n }\n\n protected handleMouseEnter(id: string) {\n this.setHighlightedLine(this.state.dataDefinitions.findIndex((line) => line.id === id));\n }\n\n protected handleMouseLeave() {\n this.setHighlightedLine(-1);\n }\n\n protected resolveColor(id: string, index: number) {\n return this.props.colorMap?.[id] ?? `chart-palette-order-${index + 1}`;\n }\n\n protected tooltipValueFormatter(\n value?: string | number | typeof interpolateValue | Date,\n ): string {\n const { tooltipValueFormatter } = this.asProps;\n\n if (tooltipValueFormatter) {\n return tooltipValueFormatter(value);\n }\n\n if (value === undefined || value === interpolateValue) {\n return 'n/a';\n }\n\n if (value === null) {\n return '0';\n }\n\n if (value instanceof Date) {\n return value.toDateString();\n }\n\n return value.toString();\n }\n\n protected defaultLegendProps(): Partial<BaseLegendProps> {\n return {\n legendType: 'Flex',\n };\n }\n\n protected renderLegend() {\n const { legendProps, direction, showLegend, patterns } = this.asProps;\n\n if (\n !showLegend ||\n // we hide Legend for one item on chart except not manually set to show.\n (this.dataKeys.length === 1 && showLegend === true)\n ) {\n return null;\n }\n\n const { dataDefinitions, withTrend } = this.state;\n const lProps = {\n ...this.defaultLegendProps(),\n ...legendProps,\n };\n\n const commonLegendProps: LegendFlexProps | LegendTableProps = {\n dataHints: this.dataHints,\n items: dataDefinitions,\n size: lProps.size,\n shape: lProps.shape,\n w: lProps.w,\n h: lProps.h,\n patterns,\n direction:\n lProps.direction ?? (direction === 'row' || direction === 'row-reverse' ? 'column' : 'row'),\n onChangeVisibleItem: lProps.disableSelectItems\n ? undefined\n : callAllEventHandlers(lProps.onChangeVisibleItem, this.handleChangeVisible),\n onMouseEnterItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseEnterItem, this.handleMouseEnter),\n onMouseLeaveItem: lProps.disableHoverItems\n ? undefined\n : callAllEventHandlers(lProps.onMouseLeaveItem, this.handleMouseLeave),\n 'aria-label': this.getLegendAriaLabel(),\n };\n\n if (lProps.legendType === 'Table') {\n return <ChartLegendTable {...(commonLegendProps as LegendTableProps)} />;\n }\n\n if ('withTrend' in lProps) {\n const flexLegendProps = {\n ...commonLegendProps,\n withTrend: true,\n trendLabel: lProps.trendLabel,\n trendIsVisible: withTrend,\n onTrendIsVisibleChange: this.handleWithTrendChange,\n };\n\n return <ChartLegend {...(flexLegendProps as LegendFlexProps)} />;\n }\n\n return <ChartLegend {...(commonLegendProps as LegendFlexProps)} />;\n }\n\n protected renderAxis(): React.ReactNode {\n const { invertAxis, showXAxis, showYAxis, data, axisXValueFormatter, axisYValueFormatter } =\n this.asProps;\n\n if (!Array.isArray(data)) {\n return null;\n }\n\n const xTicks = this.xTicks;\n const yTicks = this.yTicks;\n\n const childrenX = axisXValueFormatter\n ? ({ value }: any) => ({ children: axisXValueFormatter(value) })\n : undefined;\n const childrenY = axisYValueFormatter\n ? ({ value }: any) => ({ children: axisYValueFormatter(value) })\n : undefined;\n\n return (\n <>\n {showYAxis && (\n <YAxis>\n {yTicks ? (\n <YAxis.Ticks ticks={yTicks}>{childrenY}</YAxis.Ticks>\n ) : (\n <YAxis.Ticks>{childrenY}</YAxis.Ticks>\n )}\n {invertAxis !== true && (yTicks ? <YAxis.Grid ticks={yTicks} /> : <YAxis.Grid />)}\n </YAxis>\n )}\n\n {showXAxis && (\n <XAxis>\n {xTicks ? (\n <XAxis.Ticks ticks={xTicks}>{childrenX}</XAxis.Ticks>\n ) : (\n <XAxis.Ticks>{childrenX}</XAxis.Ticks>\n )}\n {invertAxis === true && (xTicks ? <XAxis.Grid ticks={xTicks} /> : <XAxis.Grid />)}\n </XAxis>\n )}\n </>\n );\n }\n\n public render() {\n const SChart = Root;\n const { styles, plotWidth, plotHeight, data, patterns, a11yAltTextConfig, duration } =\n this.asProps;\n\n const { extractedAriaProps } = extractAriaProps(this.asProps);\n\n return sstyled(styles)(\n <SChart render={Flex} gap={5} __excludeProps={['data']} role={'group'}>\n {this.renderLegend()}\n <Plot\n data={data}\n scale={[this.xScale, this.yScale]}\n width={plotWidth}\n height={plotHeight}\n dataHints={this.dataHints}\n a11yAltTextConfig={a11yAltTextConfig}\n patterns={patterns}\n duration={duration}\n {...extractedAriaProps}\n >\n {this.renderAxis()}\n {this.renderTooltip()}\n {this.renderChart()}\n </Plot>\n </SChart>,\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractChart.type.js","names":[],"sources":["../../../../src/component/Chart/AbstractChart.type.ts"],"sourcesContent":["import React from 'react';\nimport { FlexProps } from '@semcore/flex-box';\nimport { LegendItemKey } from '../ChartLegend/LegendItem/LegendItem.type';\nimport Icon from '@semcore/icon';\nimport { BaseChartLegendProps } from '../ChartLegend/BaseLegend.type';\nimport { TrendProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\nimport { PatternsConfig } from '../../Pattern';\n// @ts-ignore\nimport { PlotSummarizerConfig } from '../../Plot';\nimport { Intergalactic } from '@semcore/utils/lib/core';\n\nexport type BaseLegendProps = BaseChartLegendProps & {\n /**\n * Disable hover (for transition items legend of each not hovered)\n */\n disableHoverItems?: boolean;\n /**\n * Disable selectable of data items by checkboxes in Legend\n */\n disableSelectItems?: boolean;\n} & (\n | (TrendProps & {\n /**\n * How to render Legend - Flex view. Just list of legend items\n */\n legendType?: never | 'Flex';\n /**\n * Config for Legend items\n */\n legendMap?: LegendDataMap<'Flex'>;\n })\n | {\n /**\n * How to render Legend - Table view. Table of legend items with some additional information in columns\n */\n legendType: 'Table';\n /**\n * Config for Legend items\n */\n legendMap?: LegendDataMap<'Table'>;\n }\n );\n\nexport type ObjectData = Record<string, unknown>;\nexport type ListData = ObjectData[];\n\n/**\n * Chart, Legend must have an accessible names (aria-name).\n * It should describe chart or legend content.\n */\nexport type AriaNameProps = Intergalactic.RequireAtLeastOne<{\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n title?: string;\n}>;\n\nexport type BaseChartProps<T extends ListData | ObjectData> = FlexProps &\n AriaNameProps & {\n /**\n * Chart data. For all charts except Donut(Pie), Radar and Venn should be an Array\n */\n data: T;\n /**\n * Width of plot\n */\n plotWidth: number;\n /**\n * Height of plot\n */\n plotHeight: number;\n\n /** Enables charts patterns that enhances charts accessibility */\n patterns?: PatternsConfig;\n /**\n * Margin (for Y axis points) from left side of chart container to Y axis\n */\n marginY?: number;\n /**\n * Margin (for X axis points) from bottom of chart container to X axis\n */\n marginX?: number;\n /**\n * invert axis and show horizontal charts (only for Bars!)\n */\n invertAxis?: boolean;\n\n /**\n * Show X axis\n * @default true (for charts with axis: Area, Line, Bar, ScatterPlot, ...)\n */\n showXAxis?: boolean;\n /**\n * Show Y axis\n * @default true (for charts with axis: Area, Line, Bar, ScatterPlot, ...)\n */\n showYAxis?: boolean;\n /**\n * Map with colors for data items\n */\n colorMap?: Record<string, string>;\n /**\n * Show tooltip's.\n * @default true\n */\n showTooltip?: boolean;\n /**\n * Show sum of values for selected point in tooltip\n */\n showTotalInTooltip?: boolean;\n /**\n * Scale for xAxis (see more in d3-scale)\n */\n xScale?: unknown;\n /**\n * Scale for yAxis (see more in d3-scale)\n */\n yScale?: unknown;\n /**\n * Count of ticks for X axis\n */\n xTicksCount?: number;\n /**\n * Count of ticks for Y axis\n */\n yTicksCount?: number;\n /**\n * Group key for all array-based charts (for get keys of items for legend except that group key)\n */\n groupKey?: string;\n /**\n * function for format axis item text\n */\n axisXValueFormatter?: (value: unknown) => string;\n axisYValueFormatter?: (value: unknown) => string;\n /**\n * Function for format text for tooltip\n */\n tooltipValueFormatter?: (value?: unknown) => string;\n /**\n * Config for a11y summary\n */\n a11yAltTextConfig?: PlotSummarizerConfig;\n\n /**\n * Animations duration, set 0 to disable animations\n */\n duration?: number;\n } /**\n * By default, we show the Legend for all charts with more the one data item.\n * For hide the Legend, you should set showLegend prop to `false`.\n */ & (\n | {\n /**\n * Don't show legend\n */\n showLegend?: false;\n legendProps?: never;\n }\n | {\n /**\n * By default (if showLegend don't set), for one data item on chart,\n * Legend component will be hide, and show for more then 1 data item.\n * If set `true` - Legend component will show always.\n */\n showLegend?: true;\n /**\n * Props for Legend\n */\n legendProps?: Partial<BaseLegendProps>;\n }\n );\n\ntype LegendDataMap<T extends 'Flex' | 'Table'> = Record<\n LegendItemKey,\n {\n /**\n * Custom label for legend item (by default use keys from data item object)\n */\n label?: string;\n /**\n * Additional text after label\n */\n additionalInfo?: string;\n /**\n * Count after label\n */\n count?: number;\n /**\n * Custom Icon\n */\n icon?: typeof Icon;\n /**\n * Flag for uncheck some items by default\n */\n defaultChecked?: boolean;\n } & (T extends 'Table' ? { columns?: React.ReactNode[] } : { columns?: never })\n>;\n"],"mappings":""}
1
+ {"version":3,"file":"AbstractChart.type.js","names":[],"sources":["../../../../src/component/Chart/AbstractChart.type.ts"],"sourcesContent":["import React from 'react';\nimport { FlexProps } from '@semcore/flex-box';\nimport { LegendItemKey } from '../ChartLegend/LegendItem/LegendItem.type';\nimport Icon from '@semcore/icon';\nimport { BaseChartLegendProps } from '../ChartLegend/BaseLegend.type';\nimport { TrendProps } from '../ChartLegend/LegendFlex/LegendFlex.type';\nimport { PatternsConfig } from '../../Pattern';\n// @ts-ignore\nimport { PlotSummarizerConfig } from '../../Plot';\nimport { Intergalactic } from '@semcore/core';\n\nexport type BaseLegendProps = BaseChartLegendProps & {\n /**\n * Disable hover (for transition items legend of each not hovered)\n */\n disableHoverItems?: boolean;\n /**\n * Disable selectable of data items by checkboxes in Legend\n */\n disableSelectItems?: boolean;\n} & (\n | (TrendProps & {\n /**\n * How to render Legend - Flex view. Just list of legend items\n */\n legendType?: never | 'Flex';\n /**\n * Config for Legend items\n */\n legendMap?: LegendDataMap<'Flex'>;\n })\n | {\n /**\n * How to render Legend - Table view. Table of legend items with some additional information in columns\n */\n legendType: 'Table';\n /**\n * Config for Legend items\n */\n legendMap?: LegendDataMap<'Table'>;\n }\n );\n\nexport type ObjectData = Record<string, unknown>;\nexport type ListData = ObjectData[];\n\n/**\n * Chart, Legend must have an accessible names (aria-name).\n * It should describe chart or legend content.\n */\nexport type AriaNameProps = Intergalactic.RequireAtLeastOne<{\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n title?: string;\n}>;\n\nexport type BaseChartProps<T extends ListData | ObjectData> = FlexProps &\n AriaNameProps & {\n /**\n * Chart data. For all charts except Donut(Pie), Radar and Venn should be an Array\n */\n data: T;\n /**\n * Width of plot\n */\n plotWidth: number;\n /**\n * Height of plot\n */\n plotHeight: number;\n\n /** Enables charts patterns that enhances charts accessibility */\n patterns?: PatternsConfig;\n /**\n * Margin (for Y axis points) from left side of chart container to Y axis\n */\n marginY?: number;\n /**\n * Margin (for X axis points) from bottom of chart container to X axis\n */\n marginX?: number;\n /**\n * invert axis and show horizontal charts (only for Bars!)\n */\n invertAxis?: boolean;\n\n /**\n * Show X axis\n * @default true (for charts with axis: Area, Line, Bar, ScatterPlot, ...)\n */\n showXAxis?: boolean;\n /**\n * Show Y axis\n * @default true (for charts with axis: Area, Line, Bar, ScatterPlot, ...)\n */\n showYAxis?: boolean;\n /**\n * Map with colors for data items\n */\n colorMap?: Record<string, string>;\n /**\n * Show tooltip's.\n * @default true\n */\n showTooltip?: boolean;\n /**\n * Show sum of values for selected point in tooltip\n */\n showTotalInTooltip?: boolean;\n /**\n * Scale for xAxis (see more in d3-scale)\n */\n xScale?: unknown;\n /**\n * Scale for yAxis (see more in d3-scale)\n */\n yScale?: unknown;\n /**\n * Count of ticks for X axis\n */\n xTicksCount?: number;\n /**\n * Count of ticks for Y axis\n */\n yTicksCount?: number;\n /**\n * Group key for all array-based charts (for get keys of items for legend except that group key)\n */\n groupKey?: string;\n /**\n * function for format axis item text\n */\n axisXValueFormatter?: (value: unknown) => string;\n axisYValueFormatter?: (value: unknown) => string;\n /**\n * Function for format text for tooltip\n */\n tooltipValueFormatter?: (value?: unknown) => string;\n /**\n * Config for a11y summary\n */\n a11yAltTextConfig?: PlotSummarizerConfig;\n\n /**\n * Animations duration, set 0 to disable animations\n */\n duration?: number;\n } /**\n * By default, we show the Legend for all charts with more the one data item.\n * For hide the Legend, you should set showLegend prop to `false`.\n */ & (\n | {\n /**\n * Don't show legend\n */\n showLegend?: false;\n legendProps?: never;\n }\n | {\n /**\n * By default (if showLegend don't set), for one data item on chart,\n * Legend component will be hide, and show for more then 1 data item.\n * If set `true` - Legend component will show always.\n */\n showLegend?: true;\n /**\n * Props for Legend\n */\n legendProps?: Partial<BaseLegendProps>;\n }\n );\n\ntype LegendDataMap<T extends 'Flex' | 'Table'> = Record<\n LegendItemKey,\n {\n /**\n * Custom label for legend item (by default use keys from data item object)\n */\n label?: string;\n /**\n * Additional text after label\n */\n additionalInfo?: string;\n /**\n * Count after label\n */\n count?: number;\n /**\n * Custom Icon\n */\n icon?: typeof Icon;\n /**\n * Flag for uncheck some items by default\n */\n defaultChecked?: boolean;\n } & (T extends 'Table' ? { columns?: React.ReactNode[] } : { columns?: never })\n>;\n"],"mappings":""}
@@ -14,14 +14,14 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
14
14
  var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
15
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
16
  var _react = _interopRequireDefault(require("react"));
17
- var _core = _interopRequireDefault(require("@semcore/core"));
17
+ var _core = require("@semcore/core");
18
18
  var _d3Scale = require("d3-scale");
19
19
  var _ = require("../..");
20
20
  var _AbstractChart2 = require("./AbstractChart");
21
21
  var _flexBox = require("@semcore/flex-box");
22
22
  var _typography = require("@semcore/typography");
23
23
  var _intergalacticDynamicLocales = require("../../translations/__intergalactic-dynamic-locales");
24
- var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
24
+ var _i18nEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhances/i18nEnhance"));
25
25
  // @ts-ignore
26
26
  var AreaChartComponent = /*#__PURE__*/function (_AbstractChart) {
27
27
  (0, _inherits2["default"])(AreaChartComponent, _AbstractChart);
@@ -165,6 +165,6 @@ var AreaChartComponent = /*#__PURE__*/function (_AbstractChart) {
165
165
  }(_AbstractChart2.AbstractChart);
166
166
  (0, _defineProperty2["default"])(AreaChartComponent, "displayName", 'Chart.Area');
167
167
  (0, _defineProperty2["default"])(AreaChartComponent, "enhance", [(0, _i18nEnhance["default"])(_intergalacticDynamicLocales.localizedMessages)]);
168
- var AreaChart = (0, _core["default"])(AreaChartComponent);
168
+ var AreaChart = (0, _core.createComponent)(AreaChartComponent);
169
169
  exports.AreaChart = AreaChart;
170
170
  //# sourceMappingURL=AreaChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AreaChart.js","names":["_react","_interopRequireDefault","require","_core","_d3Scale","_","_AbstractChart2","_flexBox","_typography","_intergalacticDynamicLocales","_i18nEnhance","AreaChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","get","_this$asProps","asProps","xScale","_this$asProps$marginY","marginY","plotWidth","data","groupKey","testItem","range","plotPadding","domain","minMax","Date","Number","isNaN","getMilliseconds","scaleTime","scaleLinear","_this$asProps2","yScale","_this$asProps2$margin","marginX","plotHeight","stacked","flatValues","_get2","_getPrototypeOf2","prototype","min","Math","_toConsumableArray2","max","value","renderChart","_this$asProps3","curve","showDots","_this$state","state","dataDefinitions","highlightedLine","createElement","StackedArea","x","map","item","index","checked","Area","y","id","color","transparent","Dots","display","renderTooltip","_this","_this$asProps4","showTotalInTooltip","showTooltip","HoverLine","Tooltip","wMin","_ref","_dataItem$groupKey","xIndex","dataItem","total","totalValue","children","Fragment","Title","toString","Flex","justifyContent","Dot","mr","label","Text","bold","tooltipValueFormatter","mt","Box","getLegendAriaLabel","getI18nText","chartType","AbstractChart","_defineProperty2","i18nEnhance","localizedMessages","AreaChart","createComponent","exports"],"sources":["../../../../src/component/Chart/AreaChart.tsx"],"sourcesContent":["import React from 'react';\nimport createComponent from '@semcore/core';\nimport { ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\n// @ts-ignore\nimport { Area, minMax, HoverLine, StackedArea } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport { AreaChartData, AreaChartProps, AreaChartType } from './AreaChart.type';\nimport { Flex, Box } from '@semcore/flex-box';\nimport { Text } from '@semcore/typography';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nclass AreaChartComponent extends AbstractChart<\n AreaChartData,\n AreaChartProps,\n typeof AreaChartComponent.enhance\n> {\n static displayName = 'Chart.Area';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n get xScale() {\n const { xScale, marginY = 40, plotWidth, data, groupKey } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const testItem = data[0][groupKey];\n const range = [marginY, plotWidth - this.plotPadding];\n const domain = minMax(data, groupKey);\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n return scaleTime(domain, range);\n }\n\n return scaleLinear(domain, range);\n }\n\n get yScale(): ScaleLinear<any, any> {\n const { yScale, marginX = 24, plotHeight, stacked, data, groupKey } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n const flatValues = super.flatValues;\n const min = Math.min(...flatValues);\n const max = stacked ? super.maxStackedValue : Math.max(...flatValues);\n\n return scaleLinear()\n .range([plotHeight - marginX, this.plotPadding])\n .domain([min, max]);\n }\n\n renderChart() {\n const { groupKey, curve, showDots, stacked } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n if (stacked) {\n return (\n <StackedArea x={groupKey}>\n {dataDefinitions.map((item, index) => {\n return (\n item.checked && (\n <StackedArea.Area\n x={groupKey}\n y={item.id}\n key={item.id}\n color={item.color}\n transparent={highlightedLine !== -1 && highlightedLine !== index}\n curve={curve}\n >\n {showDots && <StackedArea.Area.Dots display />}\n </StackedArea.Area>\n )\n );\n })}\n </StackedArea>\n );\n }\n\n return dataDefinitions.map((item, index) => {\n return (\n item.checked && (\n <Area\n x={groupKey}\n y={item.id}\n key={item.id}\n color={item.color}\n transparent={highlightedLine !== -1 && highlightedLine !== index}\n curve={curve}\n >\n {showDots && <Area.Dots display />}\n </Area>\n )\n );\n });\n }\n\n renderTooltip() {\n const { data, groupKey, showTotalInTooltip, showTooltip } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <HoverLine.Tooltip x={groupKey} wMin={100}>\n {({ xIndex }: any) => {\n const dataItem = data[xIndex];\n const total = this.totalValue(dataItem);\n\n return {\n children: (\n <>\n <HoverLine.Tooltip.Title>{dataItem[groupKey]?.toString()}</HoverLine.Tooltip.Title>\n\n {dataDefinitions.map((item) => {\n return (\n item.checked && (\n <Flex justifyContent='space-between' key={item.id}>\n <HoverLine.Tooltip.Dot mr={4} color={item.color}>\n {item.label}\n </HoverLine.Tooltip.Dot>\n <Text bold>{this.tooltipValueFormatter(dataItem[item.id])}</Text>\n </Flex>\n )\n );\n })}\n\n {showTotalInTooltip === true && (\n <Flex mt={2} justifyContent='space-between'>\n <Box mr={4}>Total</Box>\n <Text bold>{total}</Text>\n </Flex>\n )}\n </>\n ),\n };\n }}\n </HoverLine.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Area' });\n }\n}\n\nexport const AreaChart: AreaChartType = createComponent(AreaChartComponent);\n"],"mappings":"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"}
1
+ {"version":3,"file":"AreaChart.js","names":["_react","_interopRequireDefault","require","_core","_d3Scale","_","_AbstractChart2","_flexBox","_typography","_intergalacticDynamicLocales","_i18nEnhance","AreaChartComponent","_AbstractChart","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","get","_this$asProps","asProps","xScale","_this$asProps$marginY","marginY","plotWidth","data","groupKey","testItem","range","plotPadding","domain","minMax","Date","Number","isNaN","getMilliseconds","scaleTime","scaleLinear","_this$asProps2","yScale","_this$asProps2$margin","marginX","plotHeight","stacked","flatValues","_get2","_getPrototypeOf2","prototype","min","Math","_toConsumableArray2","max","value","renderChart","_this$asProps3","curve","showDots","_this$state","state","dataDefinitions","highlightedLine","createElement","StackedArea","x","map","item","index","checked","Area","y","id","color","transparent","Dots","display","renderTooltip","_this","_this$asProps4","showTotalInTooltip","showTooltip","HoverLine","Tooltip","wMin","_ref","_dataItem$groupKey","xIndex","dataItem","total","totalValue","children","Fragment","Title","toString","Flex","justifyContent","Dot","mr","label","Text","bold","tooltipValueFormatter","mt","Box","getLegendAriaLabel","getI18nText","chartType","AbstractChart","_defineProperty2","i18nEnhance","localizedMessages","AreaChart","createComponent","exports"],"sources":["../../../../src/component/Chart/AreaChart.tsx"],"sourcesContent":["import React from 'react';\nimport { createComponent } from '@semcore/core';\nimport { ScaleLinear, scaleLinear, scaleTime } from 'd3-scale';\n// @ts-ignore\nimport { Area, minMax, HoverLine, StackedArea } from '../..';\nimport { AbstractChart } from './AbstractChart';\nimport { AreaChartData, AreaChartProps, AreaChartType } from './AreaChart.type';\nimport { Flex, Box } from '@semcore/flex-box';\nimport { Text } from '@semcore/typography';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\n\nclass AreaChartComponent extends AbstractChart<\n AreaChartData,\n AreaChartProps,\n typeof AreaChartComponent.enhance\n> {\n static displayName = 'Chart.Area';\n\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n get xScale() {\n const { xScale, marginY = 40, plotWidth, data, groupKey } = this.asProps;\n\n if (xScale) {\n return xScale;\n }\n\n const testItem = data[0][groupKey];\n const range = [marginY, plotWidth - this.plotPadding];\n const domain = minMax(data, groupKey);\n\n if (testItem instanceof Date && !Number.isNaN(testItem.getMilliseconds())) {\n return scaleTime(domain, range);\n }\n\n return scaleLinear(domain, range);\n }\n\n get yScale(): ScaleLinear<any, any> {\n const { yScale, marginX = 24, plotHeight, stacked, data, groupKey } = this.asProps;\n\n if (yScale) {\n return yScale;\n }\n\n const flatValues = super.flatValues;\n const min = Math.min(...flatValues);\n const max = stacked ? super.maxStackedValue : Math.max(...flatValues);\n\n return scaleLinear()\n .range([plotHeight - marginX, this.plotPadding])\n .domain([min, max]);\n }\n\n renderChart() {\n const { groupKey, curve, showDots, stacked } = this.asProps;\n const { dataDefinitions, highlightedLine } = this.state;\n\n if (stacked) {\n return (\n <StackedArea x={groupKey}>\n {dataDefinitions.map((item, index) => {\n return (\n item.checked && (\n <StackedArea.Area\n x={groupKey}\n y={item.id}\n key={item.id}\n color={item.color}\n transparent={highlightedLine !== -1 && highlightedLine !== index}\n curve={curve}\n >\n {showDots && <StackedArea.Area.Dots display />}\n </StackedArea.Area>\n )\n );\n })}\n </StackedArea>\n );\n }\n\n return dataDefinitions.map((item, index) => {\n return (\n item.checked && (\n <Area\n x={groupKey}\n y={item.id}\n key={item.id}\n color={item.color}\n transparent={highlightedLine !== -1 && highlightedLine !== index}\n curve={curve}\n >\n {showDots && <Area.Dots display />}\n </Area>\n )\n );\n });\n }\n\n renderTooltip() {\n const { data, groupKey, showTotalInTooltip, showTooltip } = this.asProps;\n const { dataDefinitions } = this.state;\n\n if (!showTooltip) {\n return null;\n }\n\n return (\n <HoverLine.Tooltip x={groupKey} wMin={100}>\n {({ xIndex }: any) => {\n const dataItem = data[xIndex];\n const total = this.totalValue(dataItem);\n\n return {\n children: (\n <>\n <HoverLine.Tooltip.Title>{dataItem[groupKey]?.toString()}</HoverLine.Tooltip.Title>\n\n {dataDefinitions.map((item) => {\n return (\n item.checked && (\n <Flex justifyContent='space-between' key={item.id}>\n <HoverLine.Tooltip.Dot mr={4} color={item.color}>\n {item.label}\n </HoverLine.Tooltip.Dot>\n <Text bold>{this.tooltipValueFormatter(dataItem[item.id])}</Text>\n </Flex>\n )\n );\n })}\n\n {showTotalInTooltip === true && (\n <Flex mt={2} justifyContent='space-between'>\n <Box mr={4}>Total</Box>\n <Text bold>{total}</Text>\n </Flex>\n )}\n </>\n ),\n };\n }}\n </HoverLine.Tooltip>\n );\n }\n\n protected getLegendAriaLabel(): string {\n return this.asProps.getI18nText('legendForChart', { chartType: 'Area' });\n }\n}\n\nexport const AreaChart: AreaChartType = createComponent(AreaChartComponent);\n"],"mappings":"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"}
@@ -16,14 +16,14 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
16
16
  var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
17
17
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
18
  var _react = _interopRequireDefault(require("react"));
19
- var _core = _interopRequireDefault(require("@semcore/core"));
19
+ var _core = require("@semcore/core");
20
20
  var _d3Scale = require("d3-scale");
21
21
  var _ = require("../..");
22
22
  var _AbstractChart2 = require("./AbstractChart");
23
23
  var _flexBox = require("@semcore/flex-box");
24
24
  var _typography = require("@semcore/typography");
25
25
  var _intergalacticDynamicLocales = require("../../translations/__intergalactic-dynamic-locales");
26
- var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
26
+ var _i18nEnhance = _interopRequireDefault(require("@semcore/core/lib/utils/enhances/i18nEnhance"));
27
27
  // @ts-ignore
28
28
  var BarChartComponent = /*#__PURE__*/function (_AbstractChart) {
29
29
  (0, _inherits2["default"])(BarChartComponent, _AbstractChart);
@@ -275,6 +275,6 @@ var BarChartComponent = /*#__PURE__*/function (_AbstractChart) {
275
275
  }(_AbstractChart2.AbstractChart);
276
276
  (0, _defineProperty2["default"])(BarChartComponent, "displayName", 'Chart.Bar');
277
277
  (0, _defineProperty2["default"])(BarChartComponent, "enhance", [(0, _i18nEnhance["default"])(_intergalacticDynamicLocales.localizedMessages)]);
278
- var BarChart = (0, _core["default"])(BarChartComponent);
278
+ var BarChart = (0, _core.createComponent)(BarChartComponent);
279
279
  exports.BarChart = BarChart;
280
280
  //# sourceMappingURL=BarChart.js.map