@semcore/d3-chart 17.0.0-prerelease.34 → 17.0.0-prerelease.37

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 (60) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/lib/cjs/a11y/PlotA11yView.js +5 -5
  3. package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
  4. package/lib/es6/a11y/PlotA11yView.js +4 -3
  5. package/lib/es6/a11y/PlotA11yView.js.map +1 -1
  6. package/lib/esm/AnimatedClipPath.mjs +1 -1
  7. package/lib/esm/Area.mjs +1 -2
  8. package/lib/esm/Axis.mjs +4 -7
  9. package/lib/esm/Bar.mjs +1 -2
  10. package/lib/esm/Bubble.mjs +3 -5
  11. package/lib/esm/CompactHorizontalBar.mjs +4 -4
  12. package/lib/esm/Donut.mjs +5 -4
  13. package/lib/esm/Dots.mjs +1 -2
  14. package/lib/esm/HorizontalBar.mjs +1 -2
  15. package/lib/esm/Hover.mjs +2 -3
  16. package/lib/esm/Line.mjs +2 -3
  17. package/lib/esm/Pattern.mjs +6 -7
  18. package/lib/esm/Plot.mjs +3 -5
  19. package/lib/esm/Radar.mjs +7 -10
  20. package/lib/esm/RadialTree.mjs +17 -63
  21. package/lib/esm/Reference.mjs +0 -1
  22. package/lib/esm/ResponsiveContainer.mjs +3 -5
  23. package/lib/esm/ScatterPlot.mjs +2 -2
  24. package/lib/esm/StackBar.mjs +2 -2
  25. package/lib/esm/StackedArea.mjs +2 -2
  26. package/lib/esm/Tooltip.mjs +5 -8
  27. package/lib/esm/Venn.mjs +3 -3
  28. package/lib/esm/a11y/DataAccessibilityTable.mjs +2 -4
  29. package/lib/esm/a11y/PlotA11yModule.mjs +2 -2
  30. package/lib/esm/a11y/PlotA11yView.mjs +11 -19
  31. package/lib/esm/a11y/focus.mjs +2 -2
  32. package/lib/esm/a11y/hints.mjs +3 -3
  33. package/lib/esm/a11y/insights.mjs +15 -20
  34. package/lib/esm/a11y/intl.mjs +1 -1
  35. package/lib/esm/a11y/locale.mjs +1 -2
  36. package/lib/esm/a11y/serialize.mjs +17 -17
  37. package/lib/esm/component/Chart/AbstractChart.mjs +15 -17
  38. package/lib/esm/component/Chart/AreaChart.mjs +5 -4
  39. package/lib/esm/component/Chart/BarChart.mjs +4 -3
  40. package/lib/esm/component/Chart/BubbleChart.mjs +8 -8
  41. package/lib/esm/component/Chart/CigaretteChart.mjs +6 -6
  42. package/lib/esm/component/Chart/CompactHorizontalBarChart.mjs +2 -1
  43. package/lib/esm/component/Chart/DonutChart.mjs +3 -2
  44. package/lib/esm/component/Chart/HistogramChart.mjs +5 -4
  45. package/lib/esm/component/Chart/LineChart.mjs +5 -4
  46. package/lib/esm/component/Chart/RadarChart.mjs +4 -5
  47. package/lib/esm/component/Chart/ScatterPlotChart.mjs +3 -2
  48. package/lib/esm/component/Chart/VennChart.mjs +3 -3
  49. package/lib/esm/component/ChartLegend/BaseLegend.mjs +9 -14
  50. package/lib/esm/component/ChartLegend/LegendFlex/LegendFlex.mjs +1 -2
  51. package/lib/esm/component/ChartLegend/LegendItem/LegendItem.mjs +1 -2
  52. package/lib/esm/component/ChartLegend/LegendTable/LegendTable.mjs +2 -4
  53. package/lib/esm/component/ChartLegend/index.mjs +2 -0
  54. package/lib/esm/component/Cigarette/Cigarette.mjs +1 -2
  55. package/lib/esm/component/StackGroupBar/StackGroupBar.mjs +2 -3
  56. package/lib/esm/createElement.mjs +1 -1
  57. package/lib/esm/index.mjs +1 -0
  58. package/lib/esm/utils.mjs +2 -2
  59. package/lib/types/a11y/PlotA11yView.d.ts +1 -1
  60. package/package.json +14 -14
package/CHANGELOG.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
- ## [17.0.0] - 2026-04-08
5
+ ## [17.0.0] - 2026-04-13
6
6
 
7
7
  ### BREAK
8
8
 
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.PlotA11yView = void 0;
7
+ exports.PlotA11yView = PlotA11yView;
8
8
  var _core = require("@semcore/core");
9
9
  var _baseComponents = require("@semcore/base-components");
10
10
  var _i18nEnhance = require("@semcore/core/lib/utils/enhances/i18nEnhance");
@@ -21,7 +21,7 @@ const styles = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_sta
21
21
  {
22
22
  "__SPlotA11yView": "___SPlotA11yView_9ugu2_gg_"
23
23
  });
24
- const PlotA11yView = ({
24
+ function PlotA11yView({
25
25
  id,
26
26
  payload: providedData,
27
27
  hints,
@@ -31,7 +31,7 @@ const PlotA11yView = ({
31
31
  config: providedConfig,
32
32
  locale,
33
33
  onCloseHandler
34
- }) => {
34
+ }) {
35
35
  var _ref = arguments[0],
36
36
  _ref2;
37
37
  const SPlotA11yView = _baseComponents.Box;
@@ -157,6 +157,6 @@ const PlotA11yView = ({
157
157
  "config": config,
158
158
  "intl": intl
159
159
  })));
160
- };
161
- exports.PlotA11yView = PlotA11yView;
160
+ }
161
+ ;
162
162
  //# sourceMappingURL=PlotA11yView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlotA11yView.js","names":["_core","require","_baseComponents","_i18nEnhance","_react","_interopRequireDefault","_DataAccessibilityTable","_focus","_hints","_intl","_summarize","_intergalacticDynamicLocales","styles","sstyled","insert","PlotA11yView","id","payload","providedData","hints","plotLabel","triggerRef","plotRef","config","providedConfig","locale","onCloseHandler","_ref","arguments[0]","_ref2","SPlotA11yView","Box","translations","useAsyncI18nMessages","localizedMessages","intl","React","useMemo","getIntl","makeDataSummarizationConfig","data","Array","isArray","rootRef","useRef","summary","setSummary","useState","generatingSummary","setGeneratingSummary","useEffect","current","focus","focusOutHandler","event","relatedTarget","requestIdleCallback","HTMLElement","contains","addEventListener","removeEventListener","disable","override","setTimeout","summarize","handleClose","useCallback","handleSkip","preventDefault","heavyFindNextFocusableElement","handleSkipKeyboard","key","handleGoToTable","dataTableRef","handleGoToTableKeyboard","texts","label","formatMessage","close","skipPlot","goToTable","summaryPlaceholder","table","default","createElement","cn","assignProps","DataAccessibilityTable","exports"],"sources":["../../../src/a11y/PlotA11yView.tsx"],"sourcesContent":["import { Box } from '@semcore/base-components';\nimport { Root, sstyled } from '@semcore/core';\nimport { useAsyncI18nMessages } from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport React from 'react';\n\nimport { DataAccessibilityTable } from './DataAccessibilityTable';\nimport { heavyFindNextFocusableElement } from './focus';\nimport { makeDataSummarizationConfig } from './hints';\nimport type { DataStructureHints, PartialDataSummarizationConfig } from './hints';\nimport { getIntl } from './intl';\nimport { summarize } from './summarize';\nimport styles from '../style/plotA11yView.shadow.css';\nimport { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';\n\nexport type A11yViewProps = {\n id: string;\n payload: Record<string, unknown>[];\n hints: DataStructureHints;\n plotLabel: string;\n locale: NavigatorLanguage['language'];\n config: PartialDataSummarizationConfig;\n\n plotRef: React.RefObject<HTMLElement>;\n triggerRef: React.RefObject<HTMLElement>;\n onCloseHandler: () => void;\n};\n\nexport const PlotA11yView: React.FC<A11yViewProps> = ({\n id,\n payload: providedData,\n hints,\n plotLabel,\n triggerRef,\n plotRef,\n config: providedConfig,\n locale,\n onCloseHandler,\n}) => {\n const SPlotA11yView = Root;\n const translations = useAsyncI18nMessages(localizedMessages, locale);\n const intl = React.useMemo(\n () => getIntl(locale, translations, localizedMessages),\n [locale, translations, localizedMessages],\n );\n const config = React.useMemo(() => makeDataSummarizationConfig(providedConfig), [providedConfig]);\n const data = React.useMemo(\n () => (Array.isArray(providedData) ? providedData : [providedData]),\n [providedData],\n );\n const rootRef = React.useRef<HTMLDivElement>(null);\n\n const [summary, setSummary] = React.useState<string | null>(null);\n const [generatingSummary, setGeneratingSummary] = React.useState(true);\n\n React.useEffect(() => {\n rootRef.current?.focus();\n\n function focusOutHandler(event: FocusEvent) {\n if (event.relatedTarget === null) {\n return requestIdleCallback(onCloseHandler);\n }\n\n if (!(event.relatedTarget instanceof HTMLElement)) return;\n\n if (rootRef.current?.contains(event.relatedTarget)) return;\n\n requestIdleCallback(onCloseHandler);\n }\n\n rootRef.current?.addEventListener('focusout', focusOutHandler);\n return () => rootRef.current?.removeEventListener('focusout', focusOutHandler);\n }, []);\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 onCloseHandler();\n\n requestIdleCallback(() => {\n triggerRef.current?.focus();\n });\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 onCloseHandler();\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 ref={rootRef}\n >\n <button type='button' onClick={handleClose}>\n {texts.close}\n </button>\n <a href='#' onKeyDown={handleSkipKeyboard} onClick={handleSkip}>\n {texts.skipPlot}\n </a>\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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","ignoreList":[]}
1
+ {"version":3,"file":"PlotA11yView.js","names":["_core","require","_baseComponents","_i18nEnhance","_react","_interopRequireDefault","_DataAccessibilityTable","_focus","_hints","_intl","_summarize","_intergalacticDynamicLocales","styles","sstyled","insert","PlotA11yView","id","payload","providedData","hints","plotLabel","triggerRef","plotRef","config","providedConfig","locale","onCloseHandler","_ref","arguments[0]","_ref2","SPlotA11yView","Box","translations","useAsyncI18nMessages","localizedMessages","intl","React","useMemo","getIntl","makeDataSummarizationConfig","data","Array","isArray","rootRef","useRef","summary","setSummary","useState","generatingSummary","setGeneratingSummary","useEffect","current","focus","focusOutHandler","event","relatedTarget","requestIdleCallback","HTMLElement","contains","addEventListener","removeEventListener","disable","override","setTimeout","summarize","handleClose","useCallback","handleSkip","preventDefault","heavyFindNextFocusableElement","handleSkipKeyboard","key","handleGoToTable","dataTableRef","handleGoToTableKeyboard","texts","label","formatMessage","close","skipPlot","goToTable","summaryPlaceholder","table","default","createElement","cn","assignProps","DataAccessibilityTable"],"sources":["../../../src/a11y/PlotA11yView.tsx"],"sourcesContent":["import { Box } from '@semcore/base-components';\nimport { Root, sstyled } from '@semcore/core';\nimport { useAsyncI18nMessages } from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport React from 'react';\n\nimport { DataAccessibilityTable } from './DataAccessibilityTable';\nimport { heavyFindNextFocusableElement } from './focus';\nimport { makeDataSummarizationConfig } from './hints';\nimport type { DataStructureHints, PartialDataSummarizationConfig } from './hints';\nimport { getIntl } from './intl';\nimport { summarize } from './summarize';\nimport styles from '../style/plotA11yView.shadow.css';\nimport { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';\n\nexport type A11yViewProps = {\n id: string;\n payload: Record<string, unknown>[];\n hints: DataStructureHints;\n plotLabel: string;\n locale: NavigatorLanguage['language'];\n config: PartialDataSummarizationConfig;\n\n plotRef: React.RefObject<HTMLElement>;\n triggerRef: React.RefObject<HTMLElement>;\n onCloseHandler: () => void;\n};\n\nexport function PlotA11yView({\n id,\n payload: providedData,\n hints,\n plotLabel,\n triggerRef,\n plotRef,\n config: providedConfig,\n locale,\n onCloseHandler,\n}: A11yViewProps) {\n const SPlotA11yView = Root;\n const translations = useAsyncI18nMessages(localizedMessages, locale);\n const intl = React.useMemo(\n () => getIntl(locale, translations, localizedMessages),\n [locale, translations, localizedMessages],\n );\n const config = React.useMemo(() => makeDataSummarizationConfig(providedConfig), [providedConfig]);\n const data = React.useMemo(\n () => (Array.isArray(providedData) ? providedData : [providedData]),\n [providedData],\n );\n const rootRef = React.useRef<HTMLDivElement>(null);\n\n const [summary, setSummary] = React.useState<string | null>(null);\n const [generatingSummary, setGeneratingSummary] = React.useState(true);\n\n React.useEffect(() => {\n rootRef.current?.focus();\n\n function focusOutHandler(event: FocusEvent) {\n if (event.relatedTarget === null) {\n return requestIdleCallback(onCloseHandler);\n }\n\n if (!(event.relatedTarget instanceof HTMLElement)) return;\n\n if (rootRef.current?.contains(event.relatedTarget)) return;\n\n requestIdleCallback(onCloseHandler);\n }\n\n rootRef.current?.addEventListener('focusout', focusOutHandler);\n return () => rootRef.current?.removeEventListener('focusout', focusOutHandler);\n }, []);\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 onCloseHandler();\n\n requestIdleCallback(() => {\n triggerRef.current?.focus();\n });\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 onCloseHandler();\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 ref={rootRef}\n >\n <button type='button' onClick={handleClose}>\n {texts.close}\n </button>\n <a href='#' onKeyDown={handleSkipKeyboard} onClick={handleSkip}>\n {texts.skipPlot}\n </a>\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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","ignoreList":[]}
@@ -16,7 +16,7 @@ const styles = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*
16
16
  "__SPlotA11yView": "___SPlotA11yView_9ugu2_gg_"
17
17
  });
18
18
  import { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';
19
- export const PlotA11yView = ({
19
+ export function PlotA11yView({
20
20
  id,
21
21
  payload: providedData,
22
22
  hints,
@@ -26,7 +26,7 @@ export const PlotA11yView = ({
26
26
  config: providedConfig,
27
27
  locale,
28
28
  onCloseHandler
29
- }) => {
29
+ }) {
30
30
  var _ref = arguments[0],
31
31
  _ref2;
32
32
  const SPlotA11yView = Box;
@@ -152,5 +152,6 @@ export const PlotA11yView = ({
152
152
  "config": config,
153
153
  "intl": intl
154
154
  })));
155
- };
155
+ }
156
+ ;
156
157
  //# sourceMappingURL=PlotA11yView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlotA11yView.js","names":["Box","Root","sstyled","useAsyncI18nMessages","React","DataAccessibilityTable","heavyFindNextFocusableElement","makeDataSummarizationConfig","getIntl","summarize","styles","_sstyled","insert","localizedMessages","PlotA11yView","id","payload","providedData","hints","plotLabel","triggerRef","plotRef","config","providedConfig","locale","onCloseHandler","_ref","arguments[0]","_ref2","SPlotA11yView","translations","intl","useMemo","data","Array","isArray","rootRef","useRef","summary","setSummary","useState","generatingSummary","setGeneratingSummary","useEffect","current","focus","focusOutHandler","event","relatedTarget","requestIdleCallback","HTMLElement","contains","addEventListener","removeEventListener","disable","override","setTimeout","handleClose","useCallback","handleSkip","preventDefault","handleSkipKeyboard","key","handleGoToTable","dataTableRef","handleGoToTableKeyboard","texts","label","formatMessage","close","skipPlot","goToTable","summaryPlaceholder","table","createElement","cn","_assignProps"],"sources":["../../../src/a11y/PlotA11yView.tsx"],"sourcesContent":["import { Box } from '@semcore/base-components';\nimport { Root, sstyled } from '@semcore/core';\nimport { useAsyncI18nMessages } from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport React from 'react';\n\nimport { DataAccessibilityTable } from './DataAccessibilityTable';\nimport { heavyFindNextFocusableElement } from './focus';\nimport { makeDataSummarizationConfig } from './hints';\nimport type { DataStructureHints, PartialDataSummarizationConfig } from './hints';\nimport { getIntl } from './intl';\nimport { summarize } from './summarize';\nimport styles from '../style/plotA11yView.shadow.css';\nimport { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';\n\nexport type A11yViewProps = {\n id: string;\n payload: Record<string, unknown>[];\n hints: DataStructureHints;\n plotLabel: string;\n locale: NavigatorLanguage['language'];\n config: PartialDataSummarizationConfig;\n\n plotRef: React.RefObject<HTMLElement>;\n triggerRef: React.RefObject<HTMLElement>;\n onCloseHandler: () => void;\n};\n\nexport const PlotA11yView: React.FC<A11yViewProps> = ({\n id,\n payload: providedData,\n hints,\n plotLabel,\n triggerRef,\n plotRef,\n config: providedConfig,\n locale,\n onCloseHandler,\n}) => {\n const SPlotA11yView = Root;\n const translations = useAsyncI18nMessages(localizedMessages, locale);\n const intl = React.useMemo(\n () => getIntl(locale, translations, localizedMessages),\n [locale, translations, localizedMessages],\n );\n const config = React.useMemo(() => makeDataSummarizationConfig(providedConfig), [providedConfig]);\n const data = React.useMemo(\n () => (Array.isArray(providedData) ? providedData : [providedData]),\n [providedData],\n );\n const rootRef = React.useRef<HTMLDivElement>(null);\n\n const [summary, setSummary] = React.useState<string | null>(null);\n const [generatingSummary, setGeneratingSummary] = React.useState(true);\n\n React.useEffect(() => {\n rootRef.current?.focus();\n\n function focusOutHandler(event: FocusEvent) {\n if (event.relatedTarget === null) {\n return requestIdleCallback(onCloseHandler);\n }\n\n if (!(event.relatedTarget instanceof HTMLElement)) return;\n\n if (rootRef.current?.contains(event.relatedTarget)) return;\n\n requestIdleCallback(onCloseHandler);\n }\n\n rootRef.current?.addEventListener('focusout', focusOutHandler);\n return () => rootRef.current?.removeEventListener('focusout', focusOutHandler);\n }, []);\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 onCloseHandler();\n\n requestIdleCallback(() => {\n triggerRef.current?.focus();\n });\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 onCloseHandler();\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 ref={rootRef}\n >\n <button type='button' onClick={handleClose}>\n {texts.close}\n </button>\n <a href='#' onKeyDown={handleSkipKeyboard} onClick={handleSkip}>\n {texts.skipPlot}\n </a>\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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","ignoreList":[]}
1
+ {"version":3,"file":"PlotA11yView.js","names":["Box","Root","sstyled","useAsyncI18nMessages","React","DataAccessibilityTable","heavyFindNextFocusableElement","makeDataSummarizationConfig","getIntl","summarize","styles","_sstyled","insert","localizedMessages","PlotA11yView","id","payload","providedData","hints","plotLabel","triggerRef","plotRef","config","providedConfig","locale","onCloseHandler","_ref","arguments[0]","_ref2","SPlotA11yView","translations","intl","useMemo","data","Array","isArray","rootRef","useRef","summary","setSummary","useState","generatingSummary","setGeneratingSummary","useEffect","current","focus","focusOutHandler","event","relatedTarget","requestIdleCallback","HTMLElement","contains","addEventListener","removeEventListener","disable","override","setTimeout","handleClose","useCallback","handleSkip","preventDefault","handleSkipKeyboard","key","handleGoToTable","dataTableRef","handleGoToTableKeyboard","texts","label","formatMessage","close","skipPlot","goToTable","summaryPlaceholder","table","createElement","cn","_assignProps"],"sources":["../../../src/a11y/PlotA11yView.tsx"],"sourcesContent":["import { Box } from '@semcore/base-components';\nimport { Root, sstyled } from '@semcore/core';\nimport { useAsyncI18nMessages } from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport React from 'react';\n\nimport { DataAccessibilityTable } from './DataAccessibilityTable';\nimport { heavyFindNextFocusableElement } from './focus';\nimport { makeDataSummarizationConfig } from './hints';\nimport type { DataStructureHints, PartialDataSummarizationConfig } from './hints';\nimport { getIntl } from './intl';\nimport { summarize } from './summarize';\nimport styles from '../style/plotA11yView.shadow.css';\nimport { localizedMessages } from './translations/view/__intergalactic-dynamic-locales';\n\nexport type A11yViewProps = {\n id: string;\n payload: Record<string, unknown>[];\n hints: DataStructureHints;\n plotLabel: string;\n locale: NavigatorLanguage['language'];\n config: PartialDataSummarizationConfig;\n\n plotRef: React.RefObject<HTMLElement>;\n triggerRef: React.RefObject<HTMLElement>;\n onCloseHandler: () => void;\n};\n\nexport function PlotA11yView({\n id,\n payload: providedData,\n hints,\n plotLabel,\n triggerRef,\n plotRef,\n config: providedConfig,\n locale,\n onCloseHandler,\n}: A11yViewProps) {\n const SPlotA11yView = Root;\n const translations = useAsyncI18nMessages(localizedMessages, locale);\n const intl = React.useMemo(\n () => getIntl(locale, translations, localizedMessages),\n [locale, translations, localizedMessages],\n );\n const config = React.useMemo(() => makeDataSummarizationConfig(providedConfig), [providedConfig]);\n const data = React.useMemo(\n () => (Array.isArray(providedData) ? providedData : [providedData]),\n [providedData],\n );\n const rootRef = React.useRef<HTMLDivElement>(null);\n\n const [summary, setSummary] = React.useState<string | null>(null);\n const [generatingSummary, setGeneratingSummary] = React.useState(true);\n\n React.useEffect(() => {\n rootRef.current?.focus();\n\n function focusOutHandler(event: FocusEvent) {\n if (event.relatedTarget === null) {\n return requestIdleCallback(onCloseHandler);\n }\n\n if (!(event.relatedTarget instanceof HTMLElement)) return;\n\n if (rootRef.current?.contains(event.relatedTarget)) return;\n\n requestIdleCallback(onCloseHandler);\n }\n\n rootRef.current?.addEventListener('focusout', focusOutHandler);\n return () => rootRef.current?.removeEventListener('focusout', focusOutHandler);\n }, []);\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 onCloseHandler();\n\n requestIdleCallback(() => {\n triggerRef.current?.focus();\n });\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 onCloseHandler();\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 ref={rootRef}\n >\n <button type='button' onClick={handleClose}>\n {texts.close}\n </button>\n <a href='#' onKeyDown={handleSkipKeyboard} onClick={handleSkip}>\n {texts.skipPlot}\n </a>\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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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
- import { createComponent, Component } from "@semcore/core";
3
+ import { Component, createComponent } from "@semcore/core";
4
4
  import propsForElement from "@semcore/core/lib/utils/propsForElement";
5
5
  import React from "react";
6
6
  class AnimatedClipPath extends Component {
package/lib/esm/Area.mjs CHANGED
@@ -10,8 +10,7 @@ import { SvgElement } from "./component/SvgElement.mjs";
10
10
  import createElement from "./createElement.mjs";
11
11
  import Dots from "./Dots.mjs";
12
12
  import { PatternFill } from "./Pattern.mjs";
13
- import { definedData, scaleOfBandwidth, interpolateValue, getNullData, definedNullData, eventToPoint, invert } from "./utils.mjs";
14
- /*!__reshadow-styles__:"./style/area.shadow.css"*/
13
+ import { interpolateValue, getNullData, definedNullData, eventToPoint, invert, definedData, scaleOfBandwidth } from "./utils.mjs";
15
14
  const style = (
16
15
  /*__reshadow_css_start__*/
17
16
  (sstyled.insert(
package/lib/esm/Axis.mjs CHANGED
@@ -4,7 +4,6 @@ import { sstyled, Component } from "@semcore/core";
4
4
  import React, { useState, useEffect } from "react";
5
5
  import createElement from "./createElement.mjs";
6
6
  import { scaleOfBandwidth } from "./utils.mjs";
7
- /*!__reshadow-styles__:"./style/axis.shadow.css"*/
8
7
  const style = (
9
8
  /*__reshadow_css_start__*/
10
9
  (sstyled.insert(
@@ -31,8 +30,8 @@ const style = (
31
30
  "_position_custom_1": "_position_custom_1_yb2p1_gg_"
32
31
  })
33
32
  );
34
- const CUSTOM_0 = Symbol("custom_0");
35
- const CUSTOM_1 = Symbol("custom_1");
33
+ const CUSTOM_0 = /* @__PURE__ */ Symbol("custom_0");
34
+ const CUSTOM_1 = /* @__PURE__ */ Symbol("custom_1");
36
35
  const MAP_INDEX_SCALE_SYMBOL = {
37
36
  0: CUSTOM_0,
38
37
  1: CUSTOM_1
@@ -243,14 +242,13 @@ function measureTextWidth(rootRef, text, fontSize = 12) {
243
242
  }
244
243
  class AxisRoot extends Component {
245
244
  get ticks() {
246
- var _a, _b;
247
245
  const {
248
246
  ticks,
249
247
  indexScale,
250
248
  scale
251
249
  } = this.asProps;
252
250
  const scl = scale[indexScale];
253
- return ticks || ((_a = scl.ticks) == null ? void 0 : _a.call(scl)) || ((_b = scl.domain) == null ? void 0 : _b.call(scl)) || [];
251
+ return ticks || scl.ticks?.() || scl.domain?.() || [];
254
252
  }
255
253
  getTitleProps() {
256
254
  const {
@@ -304,7 +302,6 @@ _defineProperty(AxisRoot, "displayName", "Axis");
304
302
  _defineProperty(AxisRoot, "style", style);
305
303
  _defineProperty(AxisRoot, "defaultProps", {});
306
304
  function Ticks(props) {
307
- var _a, _b;
308
305
  const {
309
306
  Element: STick,
310
307
  styles,
@@ -323,7 +320,7 @@ function Ticks(props) {
323
320
  useEffect(() => {
324
321
  if (rootRef.current) setRootRefElement(rootRef.current);
325
322
  }, []);
326
- const tickBandwidth = (_b = (_a = scale[indexScale]) == null ? void 0 : _a.bandwidth) == null ? void 0 : _b.call(_a);
323
+ const tickBandwidth = scale[indexScale]?.bandwidth?.();
327
324
  const ticksWithLines = ticks.map((tick) => ({
328
325
  tick,
329
326
  lines: typeof tick === "string" && multiline && rootRefElement ? splitTextByWidth(rootRefElement, tick, tickBandwidth) : []
package/lib/esm/Bar.mjs CHANGED
@@ -7,7 +7,6 @@ import AnimatedClipPath from "./AnimatedClipPath.mjs";
7
7
  import createElement from "./createElement.mjs";
8
8
  import { PatternFill } from "./Pattern.mjs";
9
9
  import { scaleToBand, roundedPath } from "./utils.mjs";
10
- /*!__reshadow-styles__:"./style/bar.shadow.css"*/
11
10
  const style = (
12
11
  /*__reshadow_css_start__*/
13
12
  (sstyled.insert(
@@ -102,7 +101,7 @@ class BarRoot extends Component {
102
101
  const width = Math.min(bandWidth, maxBarSize);
103
102
  const barX = xScale(d[x]) + bandWidth / 2 - width / 2 + offset[0];
104
103
  const barY = yScale(Math.max(d[y0] ?? 0, height <= hMin && d[y] > 0 ? 0 : d[y])) + offset[1] - calcPartBarY(d[y], hMin, height);
105
- const handleClick = (event) => onClick == null ? void 0 : onClick(d, event, i, y);
104
+ const handleClick = (event) => onClick?.(d, event, i, y);
106
105
  const dSvg = getRect({
107
106
  x: barX,
108
107
  y: barY,
@@ -1,5 +1,5 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { sstyled, assignProps, Component } from "@semcore/core";
2
+ import { sstyled, Component, assignProps } from "@semcore/core";
3
3
  import { callAllEventHandlers } from "@semcore/core/lib/utils/assignProps";
4
4
  import findComponent from "@semcore/core/lib/utils/findComponent";
5
5
  import uniqueIDEnhancement from "@semcore/core/lib/utils/uniqueID";
@@ -10,7 +10,6 @@ import createElement from "./createElement.mjs";
10
10
  import { PatternFill } from "./Pattern.mjs";
11
11
  import Tooltip from "./Tooltip.mjs";
12
12
  import { getBubbleChartValueScale, measureText } from "./utils.mjs";
13
- /*!__reshadow-styles__:"./style/bubble.shadow.css"*/
14
13
  const style = (
15
14
  /*__reshadow_css_start__*/
16
15
  (sstyled.insert(
@@ -73,8 +72,7 @@ class BubbleRoot extends Component {
73
72
  const selectRectNode = selectRect.node();
74
73
  if (selectRectNode) {
75
74
  selectRect.transition().duration(duration).attr("r", function(_, ind) {
76
- var _a;
77
- return z((_a = data[ind]) == null ? void 0 : _a[value]);
75
+ return z(data[ind]?.[value]);
78
76
  });
79
77
  }
80
78
  }
@@ -104,7 +102,7 @@ class BubbleRoot extends Component {
104
102
  const {
105
103
  onClick
106
104
  } = this.asProps;
107
- onClick == null ? void 0 : onClick(index, e);
105
+ onClick?.(index, e);
108
106
  };
109
107
  }
110
108
  getCircleProps() {
@@ -1,5 +1,5 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { sstyled, assignProps, Component } from "@semcore/core";
2
+ import { sstyled, Component, assignProps } from "@semcore/core";
3
3
  import { Box } from "@semcore/base-components";
4
4
  import { callAllEventHandlers } from "@semcore/core/lib/utils/assignProps";
5
5
  import canUseDOM from "@semcore/core/lib/utils/canUseDOM";
@@ -10,8 +10,7 @@ import AnimatedClipPath from "./AnimatedClipPath.mjs";
10
10
  import createElement from "./createElement.mjs";
11
11
  import { PatternFill } from "./Pattern.mjs";
12
12
  import Tooltip from "./Tooltip.mjs";
13
- import { eventToPoint, roundedPath, scaleToBand } from "./utils.mjs";
14
- /*!__reshadow-styles__:"./style/bar.shadow.css"*/
13
+ import { scaleToBand, roundedPath, eventToPoint } from "./utils.mjs";
15
14
  const style = (
16
15
  /*__reshadow_css_start__*/
17
16
  (sstyled.insert(
@@ -334,7 +333,7 @@ function Bar(props) {
334
333
  hide
335
334
  } = props;
336
335
  const onClickHandler = React.useCallback((event) => {
337
- onClick == null ? void 0 : onClick(index, event);
336
+ onClick?.(index, event);
338
337
  }, [onClick, index]);
339
338
  const contextValue = React.useMemo(() => ({
340
339
  onClick: onClickHandler,
@@ -552,6 +551,7 @@ function CompactHorizontalBarTooltip(props) {
552
551
  }, _ref4)
553
552
  }));
554
553
  }
554
+ ;
555
555
  const CompactHorizontalBar = createElement(CompactHorizontalBarRoot, {
556
556
  Annotation,
557
557
  Label,
package/lib/esm/Donut.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { sstyled, assignProps, Component } from "@semcore/core";
2
+ import { sstyled, Component, assignProps } from "@semcore/core";
3
3
  import { callAllEventHandlers } from "@semcore/core/lib/utils/assignProps";
4
4
  import canUseDOM from "@semcore/core/lib/utils/canUseDOM";
5
5
  import getOriginChildren from "@semcore/core/lib/utils/getOriginChildren";
@@ -12,7 +12,6 @@ import createElement from "./createElement.mjs";
12
12
  import { PatternFill } from "./Pattern.mjs";
13
13
  import Tooltip from "./Tooltip.mjs";
14
14
  import { getChartDefaultColorName } from "./utils.mjs";
15
- /*!__reshadow-styles__:"./style/donut.shadow.css"*/
16
15
  const style = (
17
16
  /*__reshadow_css_start__*/
18
17
  (sstyled.insert(
@@ -32,7 +31,7 @@ const style = (
32
31
  "__SLabel": "___SLabel_1s4vb_gg_"
33
32
  })
34
33
  );
35
- const DEFAULT_INSTANCE = Symbol("DEFAULT_INSTANCE");
34
+ const DEFAULT_INSTANCE = /* @__PURE__ */ Symbol("DEFAULT_INSTANCE");
36
35
  function transitionAnglePie({
37
36
  selector,
38
37
  duration,
@@ -334,7 +333,8 @@ _defineProperty(DonutRoot, "defaultProps", ({
334
333
  }) => {
335
334
  const d3Arc = arc().outerRadius(outerRadius || getOuterRadius({
336
335
  size,
337
- halfsize
336
+ halfsize,
337
+ outerRadius
338
338
  })).innerRadius(innerRadius).padAngle(paddingAngle);
339
339
  const d3ArcOut = arc().outerRadius((outerRadius || getOuterRadius({
340
340
  size,
@@ -463,6 +463,7 @@ function DonutTooltip(props) {
463
463
  }, _ref)
464
464
  }));
465
465
  }
466
+ ;
466
467
  const Donut = createElement(DonutRoot, {
467
468
  Pie,
468
469
  Label,
package/lib/esm/Dots.mjs CHANGED
@@ -4,8 +4,7 @@ import { bisector } from "d3-array";
4
4
  import React from "react";
5
5
  import createElement from "./createElement.mjs";
6
6
  import { getPatternSymbolSize, PatternSymbol } from "./Pattern.mjs";
7
- import { interpolateValue, eventToPoint, invert, getChartDefaultColorName } from "./utils.mjs";
8
- /*!__reshadow-styles__:"./style/dot.shadow.css"*/
7
+ import { getChartDefaultColorName, interpolateValue, eventToPoint, invert } from "./utils.mjs";
9
8
  const style = (
10
9
  /*__reshadow_css_start__*/
11
10
  (sstyled.insert(
@@ -6,7 +6,6 @@ import AnimatedClipPath from "./AnimatedClipPath.mjs";
6
6
  import createElement from "./createElement.mjs";
7
7
  import { PatternFill } from "./Pattern.mjs";
8
8
  import { scaleToBand, roundedPath } from "./utils.mjs";
9
- /*!__reshadow-styles__:"./style/bar.shadow.css"*/
10
9
  const style = (
11
10
  /*__reshadow_css_start__*/
12
11
  (sstyled.insert(
@@ -85,7 +84,7 @@ class HorizontalBarRoot extends Component {
85
84
  const width = Number(d[x] - (d[x0] ?? 0)) === 0 ? 0 : Math.max(absWidth, wMin);
86
85
  const barY = yScale(d[y]) + bandHeight / 2 - height / 2 + offset[1];
87
86
  const barX = xScale(Math.min(d[x0] ?? 0, width <= wMin && d[x] < 0 ? 0 : d[x])) + offset[0] - calcPartBarX(d[x], wMin, width);
88
- const handleClick = (event) => onClick == null ? void 0 : onClick(d, event, i, x);
87
+ const handleClick = (event) => onClick?.(d, event, i, x);
89
88
  const dSvg = getHorizontalRect({
90
89
  x: barX,
91
90
  y: barY,
package/lib/esm/Hover.mjs CHANGED
@@ -1,13 +1,12 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { sstyled, assignProps, Component } from "@semcore/core";
2
+ import { sstyled, Component, assignProps } from "@semcore/core";
3
3
  import canUseDOM from "@semcore/core/lib/utils/canUseDOM";
4
4
  import { hasParent } from "@semcore/core/lib/utils/hasParent";
5
5
  import trottle from "@semcore/core/lib/utils/rafTrottle";
6
6
  import React from "react";
7
7
  import createElement from "./createElement.mjs";
8
8
  import Tooltip from "./Tooltip.mjs";
9
- import { scaleOfBandwidth, scaleToBand, eventToPoint, invert, getIndexFromData } from "./utils.mjs";
10
- /*!__reshadow-styles__:"./style/hover.shadow.css"*/
9
+ import { eventToPoint, invert, getIndexFromData, scaleOfBandwidth, scaleToBand } from "./utils.mjs";
11
10
  const style = (
12
11
  /*__reshadow_css_start__*/
13
12
  (sstyled.insert(
package/lib/esm/Line.mjs CHANGED
@@ -2,14 +2,13 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import { sstyled, Component } from "@semcore/core";
3
3
  import uniqueIDEnhancement, { useUID } from "@semcore/core/lib/utils/uniqueID";
4
4
  import { bisector } from "d3-array";
5
- import { curveCardinal, area, line, curveLinear } from "d3-shape";
5
+ import { line, curveLinear, curveCardinal, area } from "d3-shape";
6
6
  import React from "react";
7
7
  import AnimatedClipPath from "./AnimatedClipPath.mjs";
8
8
  import createElement from "./createElement.mjs";
9
9
  import Dots from "./Dots.mjs";
10
10
  import { resolvePatternDasharray } from "./Pattern.mjs";
11
- import { interpolateValue, definedData, getNullData, eventToPoint, invert, getChartDefaultColorName, definedNullData, scaleOfBandwidth } from "./utils.mjs";
12
- /*!__reshadow-styles__:"./style/line.shadow.css"*/
11
+ import { interpolateValue, getNullData, definedNullData, eventToPoint, invert, getChartDefaultColorName, definedData, scaleOfBandwidth } from "./utils.mjs";
13
12
  const style = (
14
13
  /*__reshadow_css_start__*/
15
14
  (sstyled.insert(
@@ -483,9 +483,8 @@ const getPatternSymbolSize = ({
483
483
  patternKey,
484
484
  patterns
485
485
  }) => {
486
- var _a;
487
486
  const patternData = resolvePattern(patternKey, patterns);
488
- if (!((_a = patternData == null ? void 0 : patternData.symbol) == null ? void 0 : _a.size)) return [10, 10];
487
+ if (!patternData?.symbol?.size) return [10, 10];
489
488
  return patternData.symbol.size;
490
489
  };
491
490
  const PatternSymbol = ({
@@ -496,10 +495,10 @@ const PatternSymbol = ({
496
495
  }) => {
497
496
  const DefaultSymbol = React.useMemo(() => {
498
497
  const patternData = resolvePattern(patternKey, patterns);
499
- const children = patternData == null ? void 0 : patternData.symbol.children;
500
- const viewBox = patternData == null ? void 0 : patternData.symbol.viewBox;
501
- const width = patternData == null ? void 0 : patternData.symbol.size[0];
502
- const height = patternData == null ? void 0 : patternData.symbol.size[1];
498
+ const children = patternData?.symbol.children;
499
+ const viewBox = patternData?.symbol.viewBox;
500
+ const width = patternData?.symbol.size[0];
501
+ const height = patternData?.symbol.size[1];
503
502
  return (props2) => /* @__PURE__ */ React.createElement("svg", _extends({
504
503
  fill: color,
505
504
  x: "0",
@@ -516,7 +515,7 @@ const PatternSymbol = ({
516
515
  };
517
516
  const resolvePatternDasharray = (patternKey, patterns) => {
518
517
  const pattern = resolvePattern(patternKey, patterns);
519
- return pattern == null ? void 0 : pattern.dasharray;
518
+ return pattern?.dasharray;
520
519
  };
521
520
  export {
522
521
  PatternFill,
package/lib/esm/Plot.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { createComponent, Component, sstyled, assignProps } from "@semcore/core";
2
+ import { sstyled, Component, assignProps, createComponent } from "@semcore/core";
3
3
  import { Box } from "@semcore/base-components";
4
4
  import i18nEnhance from "@semcore/core/lib/utils/enhances/i18nEnhance";
5
5
  import resolveColorEnhance from "@semcore/core/lib/utils/enhances/resolveColorEnhance";
@@ -9,7 +9,6 @@ import { makeDataHintsContainer, makeDataHintsHandlers } from "./a11y/hints.mjs"
9
9
  import { PlotA11yModule } from "./a11y/PlotA11yModule.mjs";
10
10
  import { localizedMessages } from "./translations/__intergalactic-dynamic-locales.mjs";
11
11
  import { uniqueId, eventToPoint } from "./utils.mjs";
12
- /*!__reshadow-styles__:"./style/plot.shadow.css"*/
13
12
  const style = (
14
13
  /*__reshadow_css_start__*/
15
14
  (sstyled.insert(
@@ -53,7 +52,6 @@ class PlotRoot extends Component {
53
52
  this.eventEmitter = props.eventEmitter || new EventEmitter();
54
53
  }
55
54
  setContext() {
56
- var _a, _b;
57
55
  const {
58
56
  scale,
59
57
  data,
@@ -64,8 +62,8 @@ class PlotRoot extends Component {
64
62
  patterns,
65
63
  duration
66
64
  } = this.asProps;
67
- const yScaleDomain = (_b = (_a = scale == null ? void 0 : scale[1]) == null ? void 0 : _a.domain) == null ? void 0 : _b.call(_a);
68
- if ((yScaleDomain == null ? void 0 : yScaleDomain.length) && (data == null ? void 0 : data.length)) {
65
+ const yScaleDomain = scale?.[1]?.domain?.();
66
+ if (yScaleDomain?.length && data?.length) {
69
67
  this.dataHintsHandler.setPointsDensity(data.length / width, Math.abs(yScaleDomain[1] - yScaleDomain[0]) / height);
70
68
  }
71
69
  return {
package/lib/esm/Radar.mjs CHANGED
@@ -1,17 +1,16 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { sstyled, assignProps, Component } from "@semcore/core";
2
+ import { sstyled, Component, assignProps } from "@semcore/core";
3
3
  import canUseDOM from "@semcore/core/lib/utils/canUseDOM";
4
4
  import getOriginChildren from "@semcore/core/lib/utils/getOriginChildren";
5
5
  import trottle from "@semcore/core/lib/utils/rafTrottle";
6
6
  import uniqueIDEnhancement from "@semcore/core/lib/utils/uniqueID";
7
7
  import { polygonContains } from "d3-polygon";
8
- import { arc, line, lineRadial, curveLinearClosed } from "d3-shape";
8
+ import { lineRadial, curveLinearClosed, arc, line } from "d3-shape";
9
9
  import React, { cloneElement } from "react";
10
10
  import createElement from "./createElement.mjs";
11
- import { getPatternSymbolSize, PatternSymbol, PatternFill } from "./Pattern.mjs";
11
+ import { PatternFill, getPatternSymbolSize, PatternSymbol } from "./Pattern.mjs";
12
12
  import Tooltip from "./Tooltip.mjs";
13
- import { eventToPoint, getChartDefaultColorName, measureText } from "./utils.mjs";
14
- /*!__reshadow-styles__:"./style/radar.shadow.css"*/
13
+ import { measureText, getChartDefaultColorName, eventToPoint } from "./utils.mjs";
15
14
  const style = (
16
15
  /*__reshadow_css_start__*/
17
16
  (sstyled.insert(
@@ -71,12 +70,11 @@ function getLabelPlacement(i, total, angleOffset) {
71
70
  }
72
71
  function computeTextWidth(texts, textSize, defaultWidth = 50, defaultHeight = 20) {
73
72
  const widths = texts.map((text) => {
74
- var _a, _b;
75
73
  if (typeof text === "string") {
76
74
  return measureText(text, textSize);
77
75
  }
78
76
  if (/* @__PURE__ */ React.isValidElement(text)) {
79
- return Math.max(((_a = text.props) == null ? void 0 : _a.width) || defaultWidth, ((_b = text.props) == null ? void 0 : _b.height) || defaultHeight);
77
+ return Math.max(text.props?.width || defaultWidth, text.props?.height || defaultHeight);
80
78
  }
81
79
  return defaultWidth;
82
80
  });
@@ -506,8 +504,7 @@ class AxisRoot extends Component {
506
504
  this.unsubscribeTooltipVisible = eventEmitter.subscribe("setTooltipRenderingProps", this.handleTooltipRenderingProps);
507
505
  }
508
506
  componentWillUnmount() {
509
- var _a;
510
- (_a = this.unsubscribeTooltipVisible) == null ? void 0 : _a.call(this);
507
+ this.unsubscribeTooltipVisible?.();
511
508
  }
512
509
  render() {
513
510
  var _ref7;
@@ -626,7 +623,7 @@ function AxisLabels(props) {
626
623
  const {
627
624
  width = 0,
628
625
  height = 0
629
- } = (category == null ? void 0 : category.props) ?? {};
626
+ } = category?.props ?? {};
630
627
  const [xOffset, yOffset] = getLabelOffsetPosition(xDirection, yDirection, width, height);
631
628
  return /* @__PURE__ */ cloneElement(category, {
632
629
  key: i,