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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md 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-10
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":[]}
@@ -21,7 +21,7 @@ const styles = (
21
21
  "__SPlotA11yView": "___SPlotA11yView_9ugu2_gg_"
22
22
  })
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], _ref2;
36
36
  const SPlotA11yView = Box;
37
37
  const translations = useAsyncI18nMessages(localizedMessages, locale);
@@ -164,7 +164,7 @@ const PlotA11yView = ({
164
164
  "config": config,
165
165
  "intl": intl
166
166
  })));
167
- };
167
+ }
168
168
  export {
169
169
  PlotA11yView
170
170
  };
@@ -11,4 +11,4 @@ export type A11yViewProps = {
11
11
  triggerRef: React.RefObject<HTMLElement>;
12
12
  onCloseHandler: () => void;
13
13
  };
14
- export declare const PlotA11yView: React.FC<A11yViewProps>;
14
+ export declare function PlotA11yView({ id, payload: providedData, hints, plotLabel, triggerRef, plotRef, config: providedConfig, locale, onCloseHandler, }: A11yViewProps): React.ReactElement;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/d3-chart",
3
3
  "description": "Semrush D3 Chart Component",
4
- "version": "17.0.0-prerelease.34",
4
+ "version": "17.0.0-prerelease.36",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/esm/index.mjs",
7
7
  "typings": "lib/types/index.d.ts",
@@ -15,9 +15,9 @@
15
15
  },
16
16
  "dependencies": {
17
17
  "@formatjs/intl": "2.3.0",
18
- "@semcore/checkbox": "^17.0.0-prerelease.34",
19
- "@semcore/divider": "^17.0.0-prerelease.34",
20
- "@semcore/typography": "^17.0.0-prerelease.34",
18
+ "@semcore/checkbox": "^17.0.0-prerelease.36",
19
+ "@semcore/divider": "^17.0.0-prerelease.36",
20
+ "@semcore/typography": "^17.0.0-prerelease.36",
21
21
  "@types/d3-shape": "^3.1.7",
22
22
  "@upsetjs/venn.js": "1.4.2",
23
23
  "d3-array": "3.1.6",
@@ -44,16 +44,16 @@
44
44
  "@types/d3-array": "^3.2.1",
45
45
  "@types/d3-scale": "^4.0.9",
46
46
  "@types/d3-transition": "^3.0.9",
47
- "@semcore/core": "17.0.0-prerelease.34",
48
- "@semcore/base-components": "17.0.0-prerelease.34",
49
- "@semcore/divider": "17.0.0-prerelease.34",
50
- "@semcore/checkbox": "17.0.0-prerelease.34",
51
- "@semcore/button": "17.0.0-prerelease.34",
52
- "@semcore/dropdown-menu": "17.0.0-prerelease.34",
53
- "@semcore/ellipsis": "16.0.12-prerelease.34",
54
- "@semcore/icon": "16.7.2-prerelease.34",
55
- "@semcore/typography": "17.0.0-prerelease.34",
56
- "@semcore/testing-utils": "1.0.0"
47
+ "@semcore/core": "17.0.0-prerelease.36",
48
+ "@semcore/base-components": "17.0.0-prerelease.36",
49
+ "@semcore/divider": "17.0.0-prerelease.36",
50
+ "@semcore/checkbox": "17.0.0-prerelease.36",
51
+ "@semcore/button": "17.0.0-prerelease.36",
52
+ "@semcore/dropdown-menu": "17.0.0-prerelease.36",
53
+ "@semcore/ellipsis": "16.0.12-prerelease.36",
54
+ "@semcore/icon": "16.7.2-prerelease.36",
55
+ "@semcore/testing-utils": "1.0.0",
56
+ "@semcore/typography": "17.0.0-prerelease.36"
57
57
  },
58
58
  "scripts": {
59
59
  "build": "pnpm semcore-builder --source=js,ts && pnpm vite build"