@unovis/ts 1.0.0-beta.8.patch.0 → 1.0.0-beta.8.patch.1

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.
@@ -106,12 +106,10 @@ class Axis extends XYComponentCore {
106
106
  if (config.gridLine) {
107
107
  const gridGen = this._buildGrid().tickFormat(() => '');
108
108
  gridGen.tickValues(this._getConfiguredTickValues());
109
- smartTransition(this.gridGroup, duration).call(gridGen).style('opacity', 1)
110
- .on('interrupt', () => {
111
- // If the transition has been interrupted to some reason render the grid without animation.
112
- this.gridGroup.call(gridGen)
113
- .style('opacity', 1);
114
- });
109
+ // Interrupting all active transitions first to prevent them from being stuck.
110
+ // Somehow we see it happening in in Angular apps.
111
+ this.gridGroup.selectAll('*').interrupt();
112
+ smartTransition(this.gridGroup, duration).call(gridGen).style('opacity', 1);
115
113
  }
116
114
  else {
117
115
  smartTransition(this.gridGroup, duration).style('opacity', 0);
@@ -159,12 +157,10 @@ class Axis extends XYComponentCore {
159
157
  const { config } = this;
160
158
  const axisGen = this._buildAxis();
161
159
  axisGen.tickValues(this._getConfiguredTickValues());
162
- smartTransition(selection, duration).call(axisGen)
163
- .on('interrupt', () => {
164
- // If the transition has been interrupted to some reason render the axis without animation.
165
- // Somehow it happens often in Angular apps.
166
- selection.call(axisGen);
167
- });
160
+ // Interrupting all active transitions first to prevent them from being stuck.
161
+ // Somehow we see it happening in in Angular apps.
162
+ selection.selectAll('*').interrupt();
163
+ smartTransition(selection, duration).call(axisGen);
168
164
  const ticks = selection.selectAll('g.tick');
169
165
  const tickValues = ticks.data();
170
166
  ticks
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/axis/index.ts"],"sourcesContent":["import { Selection } from 'd3-selection'\nimport { interrupt } from 'd3-transition'\nimport { axisLeft, axisTop, axisRight, axisBottom, Axis as D3Axis } from 'd3-axis'\n\n// Core\nimport { XYComponentCore } from 'core/xy-component'\n\n// Types\nimport { Position } from 'types/position'\nimport { Spacing } from 'types/spacing'\nimport { TextAlign } from 'types/text'\n\n// Utils\nimport { smartTransition } from 'utils/d3'\n\n// Local Types\nimport { AxisType } from './types'\n\n// Config\nimport { AxisConfig, AxisConfigInterface } from './config'\n\n// Modules\nimport { wrapTickText, getWrapOptions } from './modules/tick'\n\n// Styles\nimport * as s from './style'\n\nexport class Axis<Datum> extends XYComponentCore<Datum, AxisConfig<Datum>, AxisConfigInterface<Datum>> {\n static selectors = s\n config: AxisConfig<Datum> = new AxisConfig<Datum>()\n axisGroup: Selection<SVGGElement, unknown, SVGGElement, unknown>\n gridGroup: Selection<SVGGElement, unknown, SVGGElement, unknown>\n\n private _axisRawBBox: DOMRect\n private _axisSizeBBox: SVGRect\n private _requiredMargin: Spacing\n private _defaultNumTicks = 3\n private _minMaxTicksOnlyEnforceWidth = 250\n\n events = {\n [Axis.selectors.tick]: {\n mouseover: this._onTickMouseOver.bind(this),\n mouseout: this._onTickMouseOut.bind(this),\n },\n }\n\n constructor (config?: AxisConfigInterface<Datum>) {\n super()\n if (config) this.config.init(config)\n\n this.axisGroup = this.g.append('g')\n this.gridGroup = this.g.append('g')\n .attr('class', s.grid)\n }\n\n /** Renders axis to an invisible grouped to calculate automatic chart margins */\n preRender (): void {\n const { config } = this\n const axisRenderHelperGroup = this.g.append('g').attr('opacity', 0)\n\n this._renderAxis(axisRenderHelperGroup, 0)\n\n // Store axis raw BBox (without the label) for further label positioning (see _renderAxisLabel)\n this._axisRawBBox = axisRenderHelperGroup.node().getBBox()\n\n // Align tick text\n if (config.tickTextAlign) this._alignTickLabels()\n\n // Render label and store total axis size and required margins\n this._renderAxisLabel(axisRenderHelperGroup)\n this._axisSizeBBox = this._getAxisSize(axisRenderHelperGroup)\n this._requiredMargin = this._getRequiredMargin(this._axisSizeBBox)\n\n axisRenderHelperGroup.remove()\n }\n\n getPosition (): Position {\n const { config: { type, position } } = this\n return (position ?? ((type === AxisType.X) ? Position.Bottom : Position.Left)) as Position\n }\n\n _getAxisSize (selection: Selection<SVGGElement, unknown, SVGGElement, undefined>): SVGRect {\n const bBox = selection.node().getBBox()\n return bBox\n }\n\n _getRequiredMargin (axisSize = this._axisSizeBBox): Spacing {\n const { config: { type, position } } = this\n\n switch (type) {\n case AxisType.X: {\n const tolerancePx = 1\n const xEnd = this._axisSizeBBox.x + this._axisSizeBBox.width\n\n const left = this._axisSizeBBox.x < 0 ? Math.abs(this._axisSizeBBox.x) : 0\n const right = (xEnd - this._width) > tolerancePx ? xEnd - this._width : 0\n\n switch (position) {\n case Position.Top: return { top: axisSize.height, left, right }\n case Position.Bottom: default: return { bottom: axisSize.height, left, right }\n }\n }\n case AxisType.Y: {\n const bleedY = axisSize.height > this._height ? (axisSize.height - this._height) / 2 : 0\n const top = bleedY\n const bottom = bleedY\n\n switch (position) {\n case Position.Right: return { right: axisSize.width, top, bottom }\n case Position.Left: default: return { left: axisSize.width, top, bottom }\n }\n }\n }\n }\n\n getRequiredMargin (): Spacing {\n return this._requiredMargin\n }\n\n /** Calculates axis transform:translate offset based on passed container margins */\n getOffset (containerMargin: Spacing): {left: number; top: number} {\n const { config: { type, position } } = this\n\n switch (type) {\n case AxisType.X:\n switch (position) {\n case Position.Top: return { top: containerMargin.top, left: containerMargin.left }\n case Position.Bottom: default: return { top: containerMargin.top + this._height, left: containerMargin.left }\n }\n case AxisType.Y:\n switch (position) {\n case Position.Right: return { top: containerMargin.top, left: containerMargin.left + this._width }\n case Position.Left: default: return { top: containerMargin.top, left: containerMargin.left }\n }\n }\n }\n\n _render (duration = this.config.duration, selection = this.axisGroup): void {\n const { config } = this\n\n this._renderAxis(selection, duration)\n this._renderAxisLabel(selection)\n\n if (config.gridLine) {\n const gridGen = this._buildGrid().tickFormat(() => '')\n gridGen.tickValues(this._getConfiguredTickValues())\n smartTransition(this.gridGroup, duration).call(gridGen).style('opacity', 1)\n .on('interrupt', () => {\n // If the transition has been interrupted to some reason render the grid without animation.\n this.gridGroup.call(gridGen)\n .style('opacity', 1)\n })\n } else {\n smartTransition(this.gridGroup, duration).style('opacity', 0)\n }\n\n if (config.tickTextAlign) this._alignTickLabels()\n }\n\n _buildAxis (): D3Axis<any> {\n const { config: { type, position, tickPadding } } = this\n\n const ticks = this._getNumTicks()\n switch (type) {\n case AxisType.X:\n switch (position) {\n case Position.Top: return axisTop(this.xScale).ticks(ticks).tickPadding(tickPadding)\n case Position.Bottom: default: return axisBottom(this.xScale).ticks(ticks).tickPadding(tickPadding)\n }\n case AxisType.Y:\n switch (position) {\n case Position.Right: return axisRight(this.yScale).ticks(ticks).tickPadding(tickPadding)\n case Position.Left: default: return axisLeft(this.yScale).ticks(ticks).tickPadding(tickPadding)\n }\n }\n }\n\n _buildGrid (): D3Axis<any> {\n const { config: { type, position } } = this\n\n const ticks = this._getNumTicks()\n switch (type) {\n case AxisType.X:\n switch (position) {\n case Position.Top: return axisTop(this.xScale).ticks(ticks * 2).tickSize(-this._height).tickSizeOuter(0)\n case Position.Bottom: default: return axisBottom(this.xScale).ticks(ticks * 2).tickSize(-this._height).tickSizeOuter(0)\n }\n case AxisType.Y:\n switch (position) {\n case Position.Right: return axisRight(this.yScale).ticks(ticks * 2).tickSize(-this._width).tickSizeOuter(0)\n case Position.Left: default: return axisLeft(this.yScale).ticks(ticks * 2).tickSize(-this._width).tickSizeOuter(0)\n }\n }\n }\n\n _renderAxis (selection = this.axisGroup, duration = this.config.duration): void {\n const { config } = this\n\n const axisGen = this._buildAxis()\n axisGen.tickValues(this._getConfiguredTickValues())\n\n smartTransition(selection, duration).call(axisGen)\n .on('interrupt', () => {\n // If the transition has been interrupted to some reason render the axis without animation.\n // Somehow it happens often in Angular apps.\n selection.call(axisGen)\n })\n\n const ticks = selection.selectAll<SVGGElement, unknown>('g.tick')\n const tickValues = ticks.data()\n\n ticks\n .classed(s.tick, true)\n .style('font-size', config.tickTextFontSize)\n\n // We interrupt transition on tick Text to make it 'wrappable'\n const tickText = selection.selectAll<SVGTextElement, unknown>('g.tick > text')\n tickText.nodes().forEach(node => interrupt(node))\n tickText.text((value, i) => config.tickFormat?.(value, i, tickValues) ?? value)\n tickText\n .call(wrapTickText, getWrapOptions(ticks, config, this._width))\n\n selection\n .classed(s.axis, true)\n .classed(s.hideTickLine, !config.tickLine)\n .classed(s.hideDomain, !config.domainLine)\n\n if (config.fullSize) {\n const path = this._getFullDomainPath(0)\n smartTransition(selection.select('.domain'), duration).attr('d', path)\n }\n }\n\n _getNumTicks (): number {\n const { config: { type, numTicks } } = this\n\n if (numTicks) return numTicks\n\n if (type === AxisType.X) {\n const xRange = this.xScale.range() as [number, number]\n const width = xRange[1] - xRange[0]\n return Math.floor(width / 175)\n }\n\n if (type === AxisType.Y) {\n const yRange = this.yScale.range() as [number, number]\n const height = Math.abs(yRange[0] - yRange[1])\n return Math.pow(height, 0.85) / 25\n }\n\n return this._defaultNumTicks\n }\n\n _getConfiguredTickValues (): number[] | null {\n const { config: { tickValues, type, minMaxTicksOnly } } = this\n const scale = type === AxisType.X ? this.xScale : this.yScale\n const scaleDomain = scale?.domain()\n\n if (tickValues) {\n return tickValues.filter(v => (v >= scaleDomain[0]) && (v <= scaleDomain[1]))\n }\n\n if (minMaxTicksOnly || (type === AxisType.X && this._width < this._minMaxTicksOnlyEnforceWidth)) {\n return scaleDomain as number[]\n }\n\n return null\n }\n\n _getFullDomainPath (tickSize = 0): string {\n const { config: { type } } = this\n switch (type) {\n case AxisType.X: return `M0.5, ${tickSize} V0.5 H${this._width + 0.5} V${tickSize}`\n case AxisType.Y: return `M${-tickSize}, ${this._height + 0.5} H0.5 V0.5 H${-tickSize}`\n }\n }\n\n _renderAxisLabel (selection = this.axisGroup): void {\n const { type, label, labelMargin, labelFontSize } = this.config\n\n // Remove the old label first to calculate the axis size properly\n selection.selectAll(`.${s.label}`).remove()\n\n // Calculate label position and rotation\n const axisPosition = this.getPosition()\n // We always use this.axisRenderHelperGroup to calculate the size of the axis because\n // this.axisGroup will give us incorrect values due to animation\n const { width: axisWidth, height: axisHeight } = this._axisRawBBox ?? selection.node().getBBox()\n\n const offsetX = type === AxisType.X ? this._width / 2 : (-1) ** (+(axisPosition === Position.Left)) * axisWidth\n const offsetY = type === AxisType.X ? (-1) ** (+(axisPosition === Position.Top)) * axisHeight : this._height / 2\n\n const marginX = type === AxisType.X ? 0 : (-1) ** (+(axisPosition === Position.Left)) * labelMargin\n const marginY = type === AxisType.X ? (-1) ** (+(axisPosition === Position.Top)) * labelMargin : 0\n\n const rotation = type === AxisType.Y ? -90 : 0\n\n // Append new label\n selection\n .append('text')\n .attr('class', s.label)\n .text(label)\n .style('font-size', labelFontSize)\n .attr('dy', `${this._getLabelDY()}em`)\n .attr('transform', `translate(${offsetX + marginX},${offsetY + marginY}) rotate(${rotation})`)\n }\n\n _getLabelDY (): number {\n const { type, position } = this.config\n switch (type) {\n case AxisType.X:\n switch (position) {\n case Position.Top: return 0\n case Position.Bottom: default: return 0.75\n }\n case AxisType.Y:\n switch (position) {\n case Position.Right: return 0.75\n case Position.Left: default: return -0.25\n }\n }\n }\n\n _alignTickLabels (): void {\n const { config: { type, tickTextAlign, position } } = this\n\n const tickText = this.g.selectAll('g.tick > text')\n const textAnchor = this._getTickTextAnchor(tickTextAlign)\n const translateX = type === AxisType.X ? 0 : this._getYTickTextTranslate(tickTextAlign, position)\n\n tickText\n .attr('text-anchor', textAnchor)\n .attr('transform', `translate(${translateX},0)`)\n }\n\n _getTickTextAnchor (textAlign: TextAlign): string {\n switch (textAlign) {\n case TextAlign.Left: return 'start'\n case TextAlign.Right: return 'end'\n case TextAlign.Center: return 'middle'\n default: return null\n }\n }\n\n _getYTickTextTranslate (textAlign: TextAlign, axisPosition: Position = Position.Left): number {\n const defaultTickTextSpacingPx = 9 // Default in D3\n const width = this._axisRawBBox.width - defaultTickTextSpacingPx\n\n switch (textAlign) {\n case TextAlign.Left: return axisPosition === Position.Left ? width * -1 : 0\n case TextAlign.Right: return axisPosition === Position.Left ? 0 : width\n case TextAlign.Center: return axisPosition === Position.Left ? width * (-0.5) : width * 0.5\n default: return 0\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n _onTickMouseOver (d: any, event: MouseEvent): void {\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n _onTickMouseOut (d: any, event: MouseEvent): void {\n }\n}\n"],"names":["s.grid","s.tick","s.axis","s.hideTickLine","s.hideDomain","label","s.label","s"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/axis/index.ts"],"sourcesContent":["import { Selection } from 'd3-selection'\nimport { interrupt } from 'd3-transition'\nimport { axisLeft, axisTop, axisRight, axisBottom, Axis as D3Axis } from 'd3-axis'\n\n// Core\nimport { XYComponentCore } from 'core/xy-component'\n\n// Types\nimport { Position } from 'types/position'\nimport { Spacing } from 'types/spacing'\nimport { TextAlign } from 'types/text'\n\n// Utils\nimport { smartTransition } from 'utils/d3'\n\n// Local Types\nimport { AxisType } from './types'\n\n// Config\nimport { AxisConfig, AxisConfigInterface } from './config'\n\n// Modules\nimport { wrapTickText, getWrapOptions } from './modules/tick'\n\n// Styles\nimport * as s from './style'\n\nexport class Axis<Datum> extends XYComponentCore<Datum, AxisConfig<Datum>, AxisConfigInterface<Datum>> {\n static selectors = s\n config: AxisConfig<Datum> = new AxisConfig<Datum>()\n axisGroup: Selection<SVGGElement, unknown, SVGGElement, unknown>\n gridGroup: Selection<SVGGElement, unknown, SVGGElement, unknown>\n\n private _axisRawBBox: DOMRect\n private _axisSizeBBox: SVGRect\n private _requiredMargin: Spacing\n private _defaultNumTicks = 3\n private _minMaxTicksOnlyEnforceWidth = 250\n\n events = {\n [Axis.selectors.tick]: {\n mouseover: this._onTickMouseOver.bind(this),\n mouseout: this._onTickMouseOut.bind(this),\n },\n }\n\n constructor (config?: AxisConfigInterface<Datum>) {\n super()\n if (config) this.config.init(config)\n\n this.axisGroup = this.g.append('g')\n this.gridGroup = this.g.append('g')\n .attr('class', s.grid)\n }\n\n /** Renders axis to an invisible grouped to calculate automatic chart margins */\n preRender (): void {\n const { config } = this\n const axisRenderHelperGroup = this.g.append('g').attr('opacity', 0)\n\n this._renderAxis(axisRenderHelperGroup, 0)\n\n // Store axis raw BBox (without the label) for further label positioning (see _renderAxisLabel)\n this._axisRawBBox = axisRenderHelperGroup.node().getBBox()\n\n // Align tick text\n if (config.tickTextAlign) this._alignTickLabels()\n\n // Render label and store total axis size and required margins\n this._renderAxisLabel(axisRenderHelperGroup)\n this._axisSizeBBox = this._getAxisSize(axisRenderHelperGroup)\n this._requiredMargin = this._getRequiredMargin(this._axisSizeBBox)\n\n axisRenderHelperGroup.remove()\n }\n\n getPosition (): Position {\n const { config: { type, position } } = this\n return (position ?? ((type === AxisType.X) ? Position.Bottom : Position.Left)) as Position\n }\n\n _getAxisSize (selection: Selection<SVGGElement, unknown, SVGGElement, undefined>): SVGRect {\n const bBox = selection.node().getBBox()\n return bBox\n }\n\n _getRequiredMargin (axisSize = this._axisSizeBBox): Spacing {\n const { config: { type, position } } = this\n\n switch (type) {\n case AxisType.X: {\n const tolerancePx = 1\n const xEnd = this._axisSizeBBox.x + this._axisSizeBBox.width\n\n const left = this._axisSizeBBox.x < 0 ? Math.abs(this._axisSizeBBox.x) : 0\n const right = (xEnd - this._width) > tolerancePx ? xEnd - this._width : 0\n\n switch (position) {\n case Position.Top: return { top: axisSize.height, left, right }\n case Position.Bottom: default: return { bottom: axisSize.height, left, right }\n }\n }\n case AxisType.Y: {\n const bleedY = axisSize.height > this._height ? (axisSize.height - this._height) / 2 : 0\n const top = bleedY\n const bottom = bleedY\n\n switch (position) {\n case Position.Right: return { right: axisSize.width, top, bottom }\n case Position.Left: default: return { left: axisSize.width, top, bottom }\n }\n }\n }\n }\n\n getRequiredMargin (): Spacing {\n return this._requiredMargin\n }\n\n /** Calculates axis transform:translate offset based on passed container margins */\n getOffset (containerMargin: Spacing): {left: number; top: number} {\n const { config: { type, position } } = this\n\n switch (type) {\n case AxisType.X:\n switch (position) {\n case Position.Top: return { top: containerMargin.top, left: containerMargin.left }\n case Position.Bottom: default: return { top: containerMargin.top + this._height, left: containerMargin.left }\n }\n case AxisType.Y:\n switch (position) {\n case Position.Right: return { top: containerMargin.top, left: containerMargin.left + this._width }\n case Position.Left: default: return { top: containerMargin.top, left: containerMargin.left }\n }\n }\n }\n\n _render (duration = this.config.duration, selection = this.axisGroup): void {\n const { config } = this\n\n this._renderAxis(selection, duration)\n this._renderAxisLabel(selection)\n\n if (config.gridLine) {\n const gridGen = this._buildGrid().tickFormat(() => '')\n gridGen.tickValues(this._getConfiguredTickValues())\n // Interrupting all active transitions first to prevent them from being stuck.\n // Somehow we see it happening in in Angular apps.\n this.gridGroup.selectAll('*').interrupt()\n smartTransition(this.gridGroup, duration).call(gridGen).style('opacity', 1)\n } else {\n smartTransition(this.gridGroup, duration).style('opacity', 0)\n }\n\n if (config.tickTextAlign) this._alignTickLabels()\n }\n\n _buildAxis (): D3Axis<any> {\n const { config: { type, position, tickPadding } } = this\n\n const ticks = this._getNumTicks()\n switch (type) {\n case AxisType.X:\n switch (position) {\n case Position.Top: return axisTop(this.xScale).ticks(ticks).tickPadding(tickPadding)\n case Position.Bottom: default: return axisBottom(this.xScale).ticks(ticks).tickPadding(tickPadding)\n }\n case AxisType.Y:\n switch (position) {\n case Position.Right: return axisRight(this.yScale).ticks(ticks).tickPadding(tickPadding)\n case Position.Left: default: return axisLeft(this.yScale).ticks(ticks).tickPadding(tickPadding)\n }\n }\n }\n\n _buildGrid (): D3Axis<any> {\n const { config: { type, position } } = this\n\n const ticks = this._getNumTicks()\n switch (type) {\n case AxisType.X:\n switch (position) {\n case Position.Top: return axisTop(this.xScale).ticks(ticks * 2).tickSize(-this._height).tickSizeOuter(0)\n case Position.Bottom: default: return axisBottom(this.xScale).ticks(ticks * 2).tickSize(-this._height).tickSizeOuter(0)\n }\n case AxisType.Y:\n switch (position) {\n case Position.Right: return axisRight(this.yScale).ticks(ticks * 2).tickSize(-this._width).tickSizeOuter(0)\n case Position.Left: default: return axisLeft(this.yScale).ticks(ticks * 2).tickSize(-this._width).tickSizeOuter(0)\n }\n }\n }\n\n _renderAxis (selection = this.axisGroup, duration = this.config.duration): void {\n const { config } = this\n\n const axisGen = this._buildAxis()\n axisGen.tickValues(this._getConfiguredTickValues())\n\n // Interrupting all active transitions first to prevent them from being stuck.\n // Somehow we see it happening in in Angular apps.\n selection.selectAll('*').interrupt()\n smartTransition(selection, duration).call(axisGen)\n\n const ticks = selection.selectAll<SVGGElement, unknown>('g.tick')\n const tickValues = ticks.data()\n\n ticks\n .classed(s.tick, true)\n .style('font-size', config.tickTextFontSize)\n\n // We interrupt transition on tick Text to make it 'wrappable'\n const tickText = selection.selectAll<SVGTextElement, unknown>('g.tick > text')\n tickText.nodes().forEach(node => interrupt(node))\n tickText.text((value, i) => config.tickFormat?.(value, i, tickValues) ?? value)\n tickText\n .call(wrapTickText, getWrapOptions(ticks, config, this._width))\n\n selection\n .classed(s.axis, true)\n .classed(s.hideTickLine, !config.tickLine)\n .classed(s.hideDomain, !config.domainLine)\n\n if (config.fullSize) {\n const path = this._getFullDomainPath(0)\n smartTransition(selection.select('.domain'), duration).attr('d', path)\n }\n }\n\n _getNumTicks (): number {\n const { config: { type, numTicks } } = this\n\n if (numTicks) return numTicks\n\n if (type === AxisType.X) {\n const xRange = this.xScale.range() as [number, number]\n const width = xRange[1] - xRange[0]\n return Math.floor(width / 175)\n }\n\n if (type === AxisType.Y) {\n const yRange = this.yScale.range() as [number, number]\n const height = Math.abs(yRange[0] - yRange[1])\n return Math.pow(height, 0.85) / 25\n }\n\n return this._defaultNumTicks\n }\n\n _getConfiguredTickValues (): number[] | null {\n const { config: { tickValues, type, minMaxTicksOnly } } = this\n const scale = type === AxisType.X ? this.xScale : this.yScale\n const scaleDomain = scale?.domain()\n\n if (tickValues) {\n return tickValues.filter(v => (v >= scaleDomain[0]) && (v <= scaleDomain[1]))\n }\n\n if (minMaxTicksOnly || (type === AxisType.X && this._width < this._minMaxTicksOnlyEnforceWidth)) {\n return scaleDomain as number[]\n }\n\n return null\n }\n\n _getFullDomainPath (tickSize = 0): string {\n const { config: { type } } = this\n switch (type) {\n case AxisType.X: return `M0.5, ${tickSize} V0.5 H${this._width + 0.5} V${tickSize}`\n case AxisType.Y: return `M${-tickSize}, ${this._height + 0.5} H0.5 V0.5 H${-tickSize}`\n }\n }\n\n _renderAxisLabel (selection = this.axisGroup): void {\n const { type, label, labelMargin, labelFontSize } = this.config\n\n // Remove the old label first to calculate the axis size properly\n selection.selectAll(`.${s.label}`).remove()\n\n // Calculate label position and rotation\n const axisPosition = this.getPosition()\n // We always use this.axisRenderHelperGroup to calculate the size of the axis because\n // this.axisGroup will give us incorrect values due to animation\n const { width: axisWidth, height: axisHeight } = this._axisRawBBox ?? selection.node().getBBox()\n\n const offsetX = type === AxisType.X ? this._width / 2 : (-1) ** (+(axisPosition === Position.Left)) * axisWidth\n const offsetY = type === AxisType.X ? (-1) ** (+(axisPosition === Position.Top)) * axisHeight : this._height / 2\n\n const marginX = type === AxisType.X ? 0 : (-1) ** (+(axisPosition === Position.Left)) * labelMargin\n const marginY = type === AxisType.X ? (-1) ** (+(axisPosition === Position.Top)) * labelMargin : 0\n\n const rotation = type === AxisType.Y ? -90 : 0\n\n // Append new label\n selection\n .append('text')\n .attr('class', s.label)\n .text(label)\n .style('font-size', labelFontSize)\n .attr('dy', `${this._getLabelDY()}em`)\n .attr('transform', `translate(${offsetX + marginX},${offsetY + marginY}) rotate(${rotation})`)\n }\n\n _getLabelDY (): number {\n const { type, position } = this.config\n switch (type) {\n case AxisType.X:\n switch (position) {\n case Position.Top: return 0\n case Position.Bottom: default: return 0.75\n }\n case AxisType.Y:\n switch (position) {\n case Position.Right: return 0.75\n case Position.Left: default: return -0.25\n }\n }\n }\n\n _alignTickLabels (): void {\n const { config: { type, tickTextAlign, position } } = this\n\n const tickText = this.g.selectAll('g.tick > text')\n const textAnchor = this._getTickTextAnchor(tickTextAlign)\n const translateX = type === AxisType.X ? 0 : this._getYTickTextTranslate(tickTextAlign, position)\n\n tickText\n .attr('text-anchor', textAnchor)\n .attr('transform', `translate(${translateX},0)`)\n }\n\n _getTickTextAnchor (textAlign: TextAlign): string {\n switch (textAlign) {\n case TextAlign.Left: return 'start'\n case TextAlign.Right: return 'end'\n case TextAlign.Center: return 'middle'\n default: return null\n }\n }\n\n _getYTickTextTranslate (textAlign: TextAlign, axisPosition: Position = Position.Left): number {\n const defaultTickTextSpacingPx = 9 // Default in D3\n const width = this._axisRawBBox.width - defaultTickTextSpacingPx\n\n switch (textAlign) {\n case TextAlign.Left: return axisPosition === Position.Left ? width * -1 : 0\n case TextAlign.Right: return axisPosition === Position.Left ? 0 : width\n case TextAlign.Center: return axisPosition === Position.Left ? width * (-0.5) : width * 0.5\n default: return 0\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n _onTickMouseOver (d: any, event: MouseEvent): void {\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n _onTickMouseOut (d: any, event: MouseEvent): void {\n }\n}\n"],"names":["s.grid","s.tick","s.axis","s.hideTickLine","s.hideDomain","label","s.label","s"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@unovis/ts",
3
3
  "description": "Modular data visualization framework for React, Angular, Svelte, and vanilla TypeScript or JavaScript",
4
- "version": "1.0.0-beta.8.patch.0",
4
+ "version": "1.0.0-beta.8.patch.1",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/f5/unovis.git",