rapidograph 1.0.6 → 1.0.8
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.
|
@@ -313,7 +313,7 @@ s([
|
|
|
313
313
|
d({ type: Object, attribute: !1 })
|
|
314
314
|
], e.prototype, "formatters", 2);
|
|
315
315
|
s([
|
|
316
|
-
d({ type: b,
|
|
316
|
+
d({ type: b, reflect: !0 })
|
|
317
317
|
], e.prototype, "orientation", 2);
|
|
318
318
|
s([
|
|
319
319
|
d({ type: T, attribute: "x-axis-position" })
|
|
@@ -322,7 +322,7 @@ s([
|
|
|
322
322
|
d({ type: v, attribute: "y-axis-position" })
|
|
323
323
|
], e.prototype, "yAxisPosition", 2);
|
|
324
324
|
s([
|
|
325
|
-
d({ type: m,
|
|
325
|
+
d({ type: m, reflect: !0 })
|
|
326
326
|
], e.prototype, "theme", 2);
|
|
327
327
|
s([
|
|
328
328
|
d({ type: m, attribute: "tooltip-theme" })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../lib/components/rapido-bar/index.ts"],"sourcesContent":["import {\n DATA_LENGTH_CSS_VAR,\n DEFAULT_Y_AXIS_WIDTH,\n type DataItem,\n MAX_Y_AXIS_WIDTH,\n MIN_Y_AXIS_WIDTH,\n Orientation,\n SCROLLBAR_WIDTH_CSS_VAR,\n ShowLabels,\n Theme,\n type ValueFormatters,\n XAxisPosition,\n X_AXIS_FIRST_LABEL_CSS_VAR,\n X_AXIS_HEIGHT_CSS_VAR,\n X_AXIS_LAST_LABEL_CSS_VAR,\n YAxisPosition,\n Y_AXIS_WIDTH_CSS_VAR,\n} from \"../../shared\";\nimport {\n LitElement,\n type PropertyValues,\n css,\n html,\n nothing,\n unsafeCSS,\n} from \"lit\";\nimport {\n calculateYAxisWidths,\n checkIfAllPositiveOrNegative,\n checkIfSomePositiveAndNegative,\n formatLabel,\n formatLabels,\n generateTicks,\n getMinAndMax,\n getScrollbarSize,\n getSizeInPercentages,\n getTextWidth,\n getUpdatedYAxisWidth,\n noop,\n} from \"../../utils\";\nimport {\n customElement,\n eventOptions,\n property,\n query,\n queryAll,\n state,\n} from \"lit/decorators.js\";\nimport { Tooltip } from \"../../helpers/tooltip\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { styleMap } from \"lit/directives/style-map.js\";\nimport styles from \"./rapidobar.css?inline\";\n\n@customElement(\"rapido-bar\")\nexport class Rapidobar extends LitElement {\n static get styles() {\n return css`\n ${unsafeCSS(styles)}\n `;\n }\n\n private _data: DataItem[] = [];\n private _categoryLabels: (string | number)[] = [];\n private _ticks: number[] = [];\n private _tickLabels: (string | number)[] = [];\n private _hasPositive: boolean = true;\n private _hasNegative: boolean = false;\n private _allPositive: boolean = true;\n private _allNegative: boolean = false;\n private _yAxisMinWidth: number = MIN_Y_AXIS_WIDTH;\n private _yAxisMaxWidth: number = MAX_Y_AXIS_WIDTH;\n private _vObserver: IntersectionObserver | undefined;\n private _hObserver: IntersectionObserver | undefined;\n private _oldCursor?: string;\n\n private get _yAxisWidthPercentage() {\n const maxYAxisWidth = this._yAxisMaxWidth - this._yAxisMinWidth;\n const currentYAxisWidth = this._yAxisWidth - this._yAxisMinWidth;\n return ((currentYAxisWidth * 100) / maxYAxisWidth).toFixed(0);\n }\n\n private get _yAxisWidthDescription() {\n return `Y-axis offset ${this._yAxisWidthPercentage}%`;\n }\n\n @state()\n private _xAxisHeight: number = 0;\n @state()\n private _firstXAxisLabelWidth: number = 0;\n @state()\n private _lastXAxisLabelWidth: number = 0;\n @state()\n private _scrollbarSize: number = 0;\n @state()\n private _activeBar: HTMLElement | null = null;\n @state()\n private _yAxisWidth: number = DEFAULT_Y_AXIS_WIDTH;\n @state()\n private _isDraggingYAxis: boolean = false;\n @state()\n private _focusedBarIndex: number = 0;\n\n @property({ type: Array, attribute: false })\n get data(): DataItem[] {\n return this._data || [];\n }\n\n set data(value: DataItem[]) {\n const oldValue = this._data;\n this._data = value;\n this.requestUpdate(\"data\", oldValue);\n\n const length = this._data.length;\n const categories = new Array<string>(length);\n const values = new Array<number>(length);\n this.data.forEach(({ category, value }, index) => {\n categories[index] = category;\n values[index] = value;\n });\n this._categoryLabels = formatLabels(categories, this.formatters.category);\n const [minBarSize, maxBarSize] = getMinAndMax(values);\n this._ticks = generateTicks(minBarSize, maxBarSize);\n this._tickLabels = formatLabels(this._ticks, this.formatters.value);\n [this._hasPositive, this._hasNegative] =\n checkIfSomePositiveAndNegative(values);\n [this._allPositive, this._allNegative] =\n checkIfAllPositiveOrNegative(values);\n this._calculateTickWidths();\n }\n\n @property({ type: Object, attribute: false })\n formatters: ValueFormatters = {};\n\n @property({ type: Orientation, attribute: \"orientation\" })\n orientation: Orientation = Orientation.Vertical;\n\n @property({ type: XAxisPosition, attribute: \"x-axis-position\" })\n xAxisPosition: XAxisPosition = XAxisPosition.Bottom;\n\n @property({ type: YAxisPosition, attribute: \"y-axis-position\" })\n yAxisPosition: YAxisPosition = YAxisPosition.Left;\n\n @property({ type: Theme, attribute: \"theme\" })\n theme: Theme = Theme.Light;\n\n @property({ type: Theme, attribute: \"tooltip-theme\" })\n tooltipTheme: Theme = Theme.Light;\n\n @property({ type: String, attribute: \"category-label\" })\n categoryLabel: string = \"\";\n\n @property({ type: String, attribute: \"value-label\" })\n valueLabel: string = \"\";\n\n @property({ type: ShowLabels, attribute: \"show-labels\" })\n showLabels: ShowLabels = ShowLabels.Always;\n\n private get _wrapperClasses() {\n return {\n rpg: true,\n [this.orientation]: true,\n [`x-axis-${this.xAxisPosition}`]: true,\n [`y-axis-${this.yAxisPosition}`]: true,\n [`labels-${this.showLabels}`]: true,\n };\n }\n private get _wrapperStyles() {\n return {\n [SCROLLBAR_WIDTH_CSS_VAR]: `${this._scrollbarSize}px`,\n [Y_AXIS_WIDTH_CSS_VAR]: `${this._yAxisWidth}px`,\n [X_AXIS_HEIGHT_CSS_VAR]: `${this._xAxisHeight}px`,\n [DATA_LENGTH_CSS_VAR]: this.data.length,\n [X_AXIS_FIRST_LABEL_CSS_VAR]: `${this._firstXAxisLabelWidth}px`,\n [X_AXIS_LAST_LABEL_CSS_VAR]: `${this._lastXAxisLabelWidth}px`,\n };\n }\n private get _barContainerClasses() {\n return {\n \"rpg-bar-container\": true,\n \"start-from-half\": this._hasPositive && this._hasNegative,\n };\n }\n\n @query(\".rpg\")\n private _wrapper!: HTMLElement;\n @query(\".rpg-scrollable\")\n private _scrollableElem!: HTMLElement;\n @query(\".rpg-bar-container\")\n private _barContainer!: HTMLElement;\n @query(\".rpg-x-axis\")\n private _xAxis!: HTMLElement;\n @query(\".rpg-y-axis\")\n private _yAxis!: HTMLElement;\n @query(\"#rpg-get-text-width\")\n private _textSizeDiv!: HTMLElement;\n @queryAll(\".rpg-bar\")\n private _bars!: HTMLElement[];\n\n render() {\n const isVertical = this.orientation === Orientation.Vertical;\n const xAxisLabel = isVertical ? this.categoryLabel : this.valueLabel;\n const yAxisLabel = isVertical ? this.valueLabel : this.categoryLabel;\n let xAxisLabels;\n let yAxisLabels;\n if (isVertical) {\n xAxisLabels = this._categoryLabels;\n yAxisLabels = this._tickLabels;\n } else {\n xAxisLabels = this._tickLabels;\n yAxisLabels = this._categoryLabels;\n }\n\n const xAxisLabelTemplates = [];\n for (const label of xAxisLabels) {\n xAxisLabelTemplates.push(html`\n <div class=\"rpg-axis-label\" title=${label}>${label}</div>\n `);\n }\n const xAxisTemplate = html`\n <div class=\"rpg-x-axis\">\n ${xAxisLabel\n ? html`<div class=\"rpg-axis-label rpg-axis-title\">\n <div class=\"rpg-axis-title-content\">${xAxisLabel}</div>\n </div>`\n : nothing}\n <div class=\"rpg-x-axis-labels\">${xAxisLabelTemplates}</div>\n </div>\n `;\n\n const yAxisLabelTemplates = [];\n for (const label of yAxisLabels) {\n yAxisLabelTemplates.push(html`\n <div class=\"rpg-axis-label\" title=${label}>${label}</div>\n `);\n }\n\n // tabindex matches flex order - visual and focus order are synchronized\n const yAxisTemplate = html`\n <div class=\"rpg-y-axis\">\n <div class=\"rpg-y-axis-labels\">${yAxisLabelTemplates}</div>\n <div\n class=\"rpg-y-axis-line-container\"\n role=\"slider\"\n tabindex=${this.yAxisPosition === YAxisPosition.Left ? \"1\" : \"0\"}\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow=${this._yAxisWidthPercentage}\n aria-valuetext=${this._yAxisWidthDescription}\n aria-label=${`Y-axis positioned ${this.yAxisPosition}`}\n @dragstart=${noop}\n @pointerdown=${this.onYAxisPointerDown}\n @keydown=${this.onYAxisKeyDown}\n >\n ${yAxisLabel\n ? html`<div class=\"rpg-axis-label rpg-axis-title\">\n <div class=\"rpg-axis-title-content\">${yAxisLabel}</div>\n </div>`\n : nothing}\n <div class=\"rpg-y-axis-line\"></div>\n </div>\n </div>\n `;\n\n const gridlineTemplates = [];\n for (let i = 0; i < this._ticks.length - 1; i++) {\n gridlineTemplates.push(html`<div class=\"rpg-gridline\"></div>`);\n }\n\n const barTemplates = [];\n for (const [index, { value }] of this.data.entries()) {\n const isFocused = index === this._focusedBarIndex;\n const category = this._categoryLabels[index];\n const axisValue = this._tickLabels[index];\n const barValue = formatLabel(value, this.formatters.data);\n const tooltipValue = formatLabel(\n value,\n this.formatters.tooltip || this.formatters.value,\n );\n\n const isPositive =\n this._allPositive || !this._allNegative ? value >= 0 : value > 0;\n const barSize = getSizeInPercentages(\n value,\n this._ticks[0],\n this._ticks.at(-1),\n );\n\n barTemplates.push(\n html`<li\n class=\"rpg-bar ${isPositive ? \"positive\" : \"negative\"}\"\n tabindex=${isFocused ? 0 : -1}\n aria-current=${isFocused ? \"true\" : \"false\"}\n aria-label=\"${category}: ${axisValue}\"\n data-category=${category}\n data-value=${tooltipValue}\n >\n <div\n class=\"rpg-bar-content\"\n style=\"--rpg-bar-size: ${Math.abs(barSize)}%;\"\n >\n <div class=\"rpg-bar-label\">${barValue}</div>\n <div class=\"rpg-small-bar-label\">${barValue}</div>\n </div>\n </li>`,\n );\n }\n\n return html`\n <div\n class=${classMap(this._wrapperClasses)}\n style=${styleMap(this._wrapperStyles)}\n role=\"figure\"\n >\n <div class=\"rpg-scrollable\">\n <div class=\"rpg-scrollable-content\">\n ${isVertical ? xAxisTemplate : yAxisTemplate}\n <div class=\"rpg-content-container\">\n <div class=\"rpg-gridlines\">${gridlineTemplates}</div>\n <ul\n class=${classMap(this._barContainerClasses)}\n @mouseenter=${this.onBarEnter}\n @mouseleave=${this.onBarContainerMouseLeave}\n @focus=${this.onBarContainerFocus}\n @blur=${this.onBarContainerBlur}\n @keydown=${this.onBarContainerKeyDown}\n >\n ${this.data.length\n ? barTemplates\n : html`<div class=\"rpg-empty-state\">No data</div>`}\n </ul>\n </div>\n </div>\n </div>\n ${isVertical ? yAxisTemplate : xAxisTemplate}\n </div>\n <tool-tip\n .element=${this._isDraggingYAxis ? null : this._activeBar}\n .container=${this._scrollableElem}\n orientation=${this.orientation}\n theme=${this.tooltipTheme}\n ></tool-tip>\n <div aria-live=\"polite\">${this._yAxisWidthDescription}</div>\n <div id=\"rpg-get-text-width\" class=\"rpg-axis-label\"></div>\n `;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n if (!customElements.get(\"tool-tip\")) {\n customElements.define(\"tool-tip\", Tooltip);\n }\n }\n\n protected firstUpdated(_changedProperties: PropertyValues): void {\n super.firstUpdated(_changedProperties);\n\n this._calculateYAxisWidths();\n this.addObservers();\n }\n\n updated(changedProperties: Map<string, never>) {\n if (this._xAxis) {\n this._xAxisHeight = this._xAxis.getBoundingClientRect().height ?? 1 - 1;\n }\n\n if (changedProperties.get(\"orientation\") || changedProperties.get(\"data\")) {\n this._calculateYAxisWidths();\n }\n }\n\n private _calculateYAxisWidths(): void {\n const isVertical = this.orientation === Orientation.Vertical;\n [this._yAxisMinWidth, this._yAxisWidth, this._yAxisMaxWidth] =\n calculateYAxisWidths(\n this._textSizeDiv,\n this._wrapper,\n this._yAxis,\n isVertical ? this._tickLabels : this._categoryLabels,\n );\n }\n\n private _calculateTickWidths(): void {\n this._firstXAxisLabelWidth = getTextWidth(\n this._textSizeDiv,\n this._tickLabels[0].toString(),\n );\n this._lastXAxisLabelWidth = getTextWidth(\n this._textSizeDiv,\n this._tickLabels.at(-1)?.toString(),\n );\n }\n\n private addObservers() {\n const options = {\n root: this._scrollableElem,\n threshold: 1,\n };\n\n const callback = () => {\n this._scrollbarSize = getScrollbarSize(\n this.orientation,\n this._scrollableElem,\n );\n };\n this._vObserver = new IntersectionObserver(callback, {\n ...options,\n rootMargin: \"0px -16px\",\n });\n this._hObserver = new IntersectionObserver(callback, {\n ...options,\n rootMargin: \"-16px 0px\",\n });\n this._vObserver.observe(this._barContainer);\n this._hObserver.observe(this._barContainer);\n }\n\n @eventOptions({ capture: true })\n private onBarEnter(event: MouseEvent) {\n const target = event.target as HTMLElement;\n if (target.classList.contains(\"rpg-bar\")) {\n this._activeBar = target;\n }\n }\n\n @eventOptions({ capture: true })\n private onBarContainerMouseLeave(event: MouseEvent) {\n if (event.target === event.currentTarget) {\n this._activeBar = null;\n }\n }\n\n @eventOptions({ capture: true })\n private onBarContainerFocus(event: FocusEvent) {\n this._activeBar = event.target as HTMLElement;\n }\n\n @eventOptions({ capture: true })\n private onBarContainerBlur(event: FocusEvent) {\n const nextFocused = event.relatedTarget as HTMLElement;\n if (\n !nextFocused ||\n (nextFocused && !this._barContainer.contains(nextFocused))\n ) {\n this._activeBar = null;\n this._focusedBarIndex = 0;\n }\n }\n\n @eventOptions({ capture: true })\n private onBarContainerKeyDown(event: KeyboardEvent) {\n const isVertical = this.orientation === Orientation.Vertical;\n const nextKey = isVertical ? \"ArrowRight\" : \"ArrowDown\";\n const prevKey = isVertical ? \"ArrowLeft\" : \"ArrowUp\";\n const key = event.key;\n\n if (key === nextKey) {\n event.preventDefault();\n this._focusedBarIndex = Math.min(\n this._focusedBarIndex + 1,\n this.data.length - 1,\n );\n this._bars[this._focusedBarIndex].focus();\n } else if (key === prevKey) {\n event.preventDefault();\n this._focusedBarIndex = Math.max(this._focusedBarIndex - 1, 0);\n this._bars[this._focusedBarIndex].focus();\n } else if (key === \"Home\") {\n event.preventDefault();\n this._focusedBarIndex = 0;\n this._bars[this._focusedBarIndex].focus();\n } else if (key === \"End\") {\n event.preventDefault();\n this._focusedBarIndex = this.data.length - 1;\n this._bars[this._focusedBarIndex].focus();\n }\n }\n\n private onYAxisPointerDown(pointerDownEvent: PointerEvent) {\n pointerDownEvent.preventDefault();\n this._isDraggingYAxis = true;\n\n let newWidth = this._yAxisWidth;\n const self = this;\n\n const handlePointerMove = (pointerMoveEvent: PointerEvent) => {\n const parent = self._wrapper;\n\n const moveClientX = pointerMoveEvent.clientX;\n const downClientX = pointerDownEvent.clientX;\n\n newWidth =\n self._yAxisWidth +\n (self.yAxisPosition === YAxisPosition.Left\n ? moveClientX - downClientX\n : downClientX - moveClientX);\n let allowedMaxWidth = self._yAxisMaxWidth;\n\n // the pointer is out of slider => lock the thumb within the boundaries\n if (newWidth < self._yAxisMinWidth) {\n newWidth = self._yAxisMinWidth;\n }\n\n if (self._yAxisMaxWidth > parent.offsetWidth - MAX_Y_AXIS_WIDTH) {\n allowedMaxWidth = parent.offsetWidth - MAX_Y_AXIS_WIDTH;\n }\n if (newWidth > allowedMaxWidth) {\n newWidth = allowedMaxWidth;\n }\n this._wrapper.style.setProperty(Y_AXIS_WIDTH_CSS_VAR, `${newWidth}px`);\n };\n\n function handlePointerUp(): void {\n self._yAxisWidth = newWidth;\n self._isDraggingYAxis = false;\n if (self._oldCursor) {\n document.body.style.cursor = self._oldCursor;\n } else {\n document.body.style.removeProperty(\"cursor\");\n }\n window.removeEventListener(\"pointermove\", handlePointerMove);\n window.removeEventListener(\"pointerup\", handlePointerUp);\n }\n\n self._oldCursor = document.body.style.cursor;\n document.body.style.cursor = \"col-resize\";\n window.addEventListener(\"pointermove\", handlePointerMove);\n window.addEventListener(\"pointerup\", handlePointerUp);\n }\n\n private onYAxisKeyDown(event: KeyboardEvent): void {\n const percentage = parseInt(this._yAxisWidthPercentage ?? \"0\", 10);\n const key = event.key;\n const isLeftAxis = this.yAxisPosition === YAxisPosition.Left;\n const leftKey = isLeftAxis ? \"ArrowLeft\" : \"ArrowRight\";\n const rightKey = isLeftAxis ? \"ArrowRight\" : \"ArrowLeft\";\n const commonArgs = {\n currentPercentage: percentage,\n minWidth: this._yAxisMinWidth,\n maxWidth: this._yAxisMaxWidth,\n };\n\n if (key === leftKey) {\n event.preventDefault();\n this._yAxisWidth =\n getUpdatedYAxisWidth({\n ...commonArgs,\n widthPercentage: Math.max(percentage - 5, 0),\n }) ?? this._yAxisWidth;\n } else if (key === rightKey) {\n event.preventDefault();\n this._yAxisWidth =\n getUpdatedYAxisWidth({\n ...commonArgs,\n widthPercentage: Math.min(percentage + 5, 100),\n }) ?? this._yAxisWidth;\n } else if (key === \"Home\") {\n event.preventDefault();\n this._yAxisWidth =\n getUpdatedYAxisWidth({\n ...commonArgs,\n widthPercentage: 0,\n }) ?? this._yAxisWidth;\n } else if (key === \"End\") {\n event.preventDefault();\n this._yAxisWidth =\n getUpdatedYAxisWidth({\n ...commonArgs,\n widthPercentage: 100,\n }) ?? this._yAxisWidth;\n }\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this._vObserver?.unobserve(this._barContainer);\n this._hObserver?.unobserve(this._barContainer);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"rapido-bar\": Rapidobar;\n }\n}\n"],"names":["Rapidobar","LitElement","MIN_Y_AXIS_WIDTH","MAX_Y_AXIS_WIDTH","DEFAULT_Y_AXIS_WIDTH","Orientation","XAxisPosition","YAxisPosition","Theme","ShowLabels","css","unsafeCSS","styles","maxYAxisWidth","value","oldValue","length","categories","values","category","index","formatLabels","minBarSize","maxBarSize","getMinAndMax","generateTicks","checkIfSomePositiveAndNegative","checkIfAllPositiveOrNegative","SCROLLBAR_WIDTH_CSS_VAR","Y_AXIS_WIDTH_CSS_VAR","X_AXIS_HEIGHT_CSS_VAR","DATA_LENGTH_CSS_VAR","X_AXIS_FIRST_LABEL_CSS_VAR","X_AXIS_LAST_LABEL_CSS_VAR","isVertical","xAxisLabel","yAxisLabel","xAxisLabels","yAxisLabels","xAxisLabelTemplates","label","html","xAxisTemplate","nothing","yAxisLabelTemplates","yAxisTemplate","noop","gridlineTemplates","i","barTemplates","isFocused","axisValue","barValue","formatLabel","tooltipValue","isPositive","barSize","getSizeInPercentages","classMap","styleMap","Tooltip","_changedProperties","changedProperties","calculateYAxisWidths","getTextWidth","options","callback","getScrollbarSize","event","target","nextFocused","nextKey","prevKey","key","pointerDownEvent","newWidth","self","handlePointerMove","pointerMoveEvent","parent","moveClientX","downClientX","allowedMaxWidth","handlePointerUp","percentage","isLeftAxis","leftKey","rightKey","commonArgs","getUpdatedYAxisWidth","__decorateClass","state","property","query","queryAll","eventOptions","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../lib/components/rapido-bar/index.ts"],"sourcesContent":["import {\n DATA_LENGTH_CSS_VAR,\n DEFAULT_Y_AXIS_WIDTH,\n type DataItem,\n MAX_Y_AXIS_WIDTH,\n MIN_Y_AXIS_WIDTH,\n Orientation,\n SCROLLBAR_WIDTH_CSS_VAR,\n ShowLabels,\n Theme,\n type ValueFormatters,\n XAxisPosition,\n X_AXIS_FIRST_LABEL_CSS_VAR,\n X_AXIS_HEIGHT_CSS_VAR,\n X_AXIS_LAST_LABEL_CSS_VAR,\n YAxisPosition,\n Y_AXIS_WIDTH_CSS_VAR,\n} from \"../../shared\";\nimport {\n LitElement,\n type PropertyValues,\n css,\n html,\n nothing,\n unsafeCSS,\n} from \"lit\";\nimport {\n calculateYAxisWidths,\n checkIfAllPositiveOrNegative,\n checkIfSomePositiveAndNegative,\n formatLabel,\n formatLabels,\n generateTicks,\n getMinAndMax,\n getScrollbarSize,\n getSizeInPercentages,\n getTextWidth,\n getUpdatedYAxisWidth,\n noop,\n} from \"../../utils\";\nimport {\n customElement,\n eventOptions,\n property,\n query,\n queryAll,\n state,\n} from \"lit/decorators.js\";\nimport { Tooltip } from \"../../helpers/tooltip\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { styleMap } from \"lit/directives/style-map.js\";\nimport styles from \"./rapidobar.css?inline\";\n\n@customElement(\"rapido-bar\")\nexport class Rapidobar extends LitElement {\n static get styles() {\n return css`\n ${unsafeCSS(styles)}\n `;\n }\n\n private _data: DataItem[] = [];\n private _categoryLabels: (string | number)[] = [];\n private _ticks: number[] = [];\n private _tickLabels: (string | number)[] = [];\n private _hasPositive: boolean = true;\n private _hasNegative: boolean = false;\n private _allPositive: boolean = true;\n private _allNegative: boolean = false;\n private _yAxisMinWidth: number = MIN_Y_AXIS_WIDTH;\n private _yAxisMaxWidth: number = MAX_Y_AXIS_WIDTH;\n private _vObserver: IntersectionObserver | undefined;\n private _hObserver: IntersectionObserver | undefined;\n private _oldCursor?: string;\n\n private get _yAxisWidthPercentage() {\n const maxYAxisWidth = this._yAxisMaxWidth - this._yAxisMinWidth;\n const currentYAxisWidth = this._yAxisWidth - this._yAxisMinWidth;\n return ((currentYAxisWidth * 100) / maxYAxisWidth).toFixed(0);\n }\n\n private get _yAxisWidthDescription() {\n return `Y-axis offset ${this._yAxisWidthPercentage}%`;\n }\n\n @state()\n private _xAxisHeight: number = 0;\n @state()\n private _firstXAxisLabelWidth: number = 0;\n @state()\n private _lastXAxisLabelWidth: number = 0;\n @state()\n private _scrollbarSize: number = 0;\n @state()\n private _activeBar: HTMLElement | null = null;\n @state()\n private _yAxisWidth: number = DEFAULT_Y_AXIS_WIDTH;\n @state()\n private _isDraggingYAxis: boolean = false;\n @state()\n private _focusedBarIndex: number = 0;\n\n @property({ type: Array, attribute: false })\n get data(): DataItem[] {\n return this._data || [];\n }\n\n set data(value: DataItem[]) {\n const oldValue = this._data;\n this._data = value;\n this.requestUpdate(\"data\", oldValue);\n\n const length = this._data.length;\n const categories = new Array<string>(length);\n const values = new Array<number>(length);\n this.data.forEach(({ category, value }, index) => {\n categories[index] = category;\n values[index] = value;\n });\n this._categoryLabels = formatLabels(categories, this.formatters.category);\n const [minBarSize, maxBarSize] = getMinAndMax(values);\n this._ticks = generateTicks(minBarSize, maxBarSize);\n this._tickLabels = formatLabels(this._ticks, this.formatters.value);\n [this._hasPositive, this._hasNegative] =\n checkIfSomePositiveAndNegative(values);\n [this._allPositive, this._allNegative] =\n checkIfAllPositiveOrNegative(values);\n this._calculateTickWidths();\n }\n\n @property({ type: Object, attribute: false })\n formatters: ValueFormatters = {};\n\n @property({ type: Orientation, reflect: true })\n orientation: Orientation = Orientation.Vertical;\n\n @property({ type: XAxisPosition, attribute: \"x-axis-position\" })\n xAxisPosition: XAxisPosition = XAxisPosition.Bottom;\n\n @property({ type: YAxisPosition, attribute: \"y-axis-position\" })\n yAxisPosition: YAxisPosition = YAxisPosition.Left;\n\n @property({ type: Theme, reflect: true })\n theme: Theme = Theme.Light;\n\n @property({ type: Theme, attribute: \"tooltip-theme\" })\n tooltipTheme: Theme = Theme.Light;\n\n @property({ type: String, attribute: \"category-label\" })\n categoryLabel: string = \"\";\n\n @property({ type: String, attribute: \"value-label\" })\n valueLabel: string = \"\";\n\n @property({ type: ShowLabels, attribute: \"show-labels\" })\n showLabels: ShowLabels = ShowLabels.Always;\n\n private get _wrapperClasses() {\n return {\n rpg: true,\n [this.orientation]: true,\n [`x-axis-${this.xAxisPosition}`]: true,\n [`y-axis-${this.yAxisPosition}`]: true,\n [`labels-${this.showLabels}`]: true,\n };\n }\n private get _wrapperStyles() {\n return {\n [SCROLLBAR_WIDTH_CSS_VAR]: `${this._scrollbarSize}px`,\n [Y_AXIS_WIDTH_CSS_VAR]: `${this._yAxisWidth}px`,\n [X_AXIS_HEIGHT_CSS_VAR]: `${this._xAxisHeight}px`,\n [DATA_LENGTH_CSS_VAR]: this.data.length,\n [X_AXIS_FIRST_LABEL_CSS_VAR]: `${this._firstXAxisLabelWidth}px`,\n [X_AXIS_LAST_LABEL_CSS_VAR]: `${this._lastXAxisLabelWidth}px`,\n };\n }\n private get _barContainerClasses() {\n return {\n \"rpg-bar-container\": true,\n \"start-from-half\": this._hasPositive && this._hasNegative,\n };\n }\n\n @query(\".rpg\")\n private _wrapper!: HTMLElement;\n @query(\".rpg-scrollable\")\n private _scrollableElem!: HTMLElement;\n @query(\".rpg-bar-container\")\n private _barContainer!: HTMLElement;\n @query(\".rpg-x-axis\")\n private _xAxis!: HTMLElement;\n @query(\".rpg-y-axis\")\n private _yAxis!: HTMLElement;\n @query(\"#rpg-get-text-width\")\n private _textSizeDiv!: HTMLElement;\n @queryAll(\".rpg-bar\")\n private _bars!: HTMLElement[];\n\n render() {\n const isVertical = this.orientation === Orientation.Vertical;\n const xAxisLabel = isVertical ? this.categoryLabel : this.valueLabel;\n const yAxisLabel = isVertical ? this.valueLabel : this.categoryLabel;\n let xAxisLabels;\n let yAxisLabels;\n if (isVertical) {\n xAxisLabels = this._categoryLabels;\n yAxisLabels = this._tickLabels;\n } else {\n xAxisLabels = this._tickLabels;\n yAxisLabels = this._categoryLabels;\n }\n\n const xAxisLabelTemplates = [];\n for (const label of xAxisLabels) {\n xAxisLabelTemplates.push(html`\n <div class=\"rpg-axis-label\" title=${label}>${label}</div>\n `);\n }\n const xAxisTemplate = html`\n <div class=\"rpg-x-axis\">\n ${xAxisLabel\n ? html`<div class=\"rpg-axis-label rpg-axis-title\">\n <div class=\"rpg-axis-title-content\">${xAxisLabel}</div>\n </div>`\n : nothing}\n <div class=\"rpg-x-axis-labels\">${xAxisLabelTemplates}</div>\n </div>\n `;\n\n const yAxisLabelTemplates = [];\n for (const label of yAxisLabels) {\n yAxisLabelTemplates.push(html`\n <div class=\"rpg-axis-label\" title=${label}>${label}</div>\n `);\n }\n\n // tabindex matches flex order - visual and focus order are synchronized\n const yAxisTemplate = html`\n <div class=\"rpg-y-axis\">\n <div class=\"rpg-y-axis-labels\">${yAxisLabelTemplates}</div>\n <div\n class=\"rpg-y-axis-line-container\"\n role=\"slider\"\n tabindex=${this.yAxisPosition === YAxisPosition.Left ? \"1\" : \"0\"}\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-valuenow=${this._yAxisWidthPercentage}\n aria-valuetext=${this._yAxisWidthDescription}\n aria-label=${`Y-axis positioned ${this.yAxisPosition}`}\n @dragstart=${noop}\n @pointerdown=${this.onYAxisPointerDown}\n @keydown=${this.onYAxisKeyDown}\n >\n ${yAxisLabel\n ? html`<div class=\"rpg-axis-label rpg-axis-title\">\n <div class=\"rpg-axis-title-content\">${yAxisLabel}</div>\n </div>`\n : nothing}\n <div class=\"rpg-y-axis-line\"></div>\n </div>\n </div>\n `;\n\n const gridlineTemplates = [];\n for (let i = 0; i < this._ticks.length - 1; i++) {\n gridlineTemplates.push(html`<div class=\"rpg-gridline\"></div>`);\n }\n\n const barTemplates = [];\n for (const [index, { value }] of this.data.entries()) {\n const isFocused = index === this._focusedBarIndex;\n const category = this._categoryLabels[index];\n const axisValue = this._tickLabels[index];\n const barValue = formatLabel(value, this.formatters.data);\n const tooltipValue = formatLabel(\n value,\n this.formatters.tooltip || this.formatters.value,\n );\n\n const isPositive =\n this._allPositive || !this._allNegative ? value >= 0 : value > 0;\n const barSize = getSizeInPercentages(\n value,\n this._ticks[0],\n this._ticks.at(-1),\n );\n\n barTemplates.push(\n html`<li\n class=\"rpg-bar ${isPositive ? \"positive\" : \"negative\"}\"\n tabindex=${isFocused ? 0 : -1}\n aria-current=${isFocused ? \"true\" : \"false\"}\n aria-label=\"${category}: ${axisValue}\"\n data-category=${category}\n data-value=${tooltipValue}\n >\n <div\n class=\"rpg-bar-content\"\n style=\"--rpg-bar-size: ${Math.abs(barSize)}%;\"\n >\n <div class=\"rpg-bar-label\">${barValue}</div>\n <div class=\"rpg-small-bar-label\">${barValue}</div>\n </div>\n </li>`,\n );\n }\n\n return html`\n <div\n class=${classMap(this._wrapperClasses)}\n style=${styleMap(this._wrapperStyles)}\n role=\"figure\"\n >\n <div class=\"rpg-scrollable\">\n <div class=\"rpg-scrollable-content\">\n ${isVertical ? xAxisTemplate : yAxisTemplate}\n <div class=\"rpg-content-container\">\n <div class=\"rpg-gridlines\">${gridlineTemplates}</div>\n <ul\n class=${classMap(this._barContainerClasses)}\n @mouseenter=${this.onBarEnter}\n @mouseleave=${this.onBarContainerMouseLeave}\n @focus=${this.onBarContainerFocus}\n @blur=${this.onBarContainerBlur}\n @keydown=${this.onBarContainerKeyDown}\n >\n ${this.data.length\n ? barTemplates\n : html`<div class=\"rpg-empty-state\">No data</div>`}\n </ul>\n </div>\n </div>\n </div>\n ${isVertical ? yAxisTemplate : xAxisTemplate}\n </div>\n <tool-tip\n .element=${this._isDraggingYAxis ? null : this._activeBar}\n .container=${this._scrollableElem}\n orientation=${this.orientation}\n theme=${this.tooltipTheme}\n ></tool-tip>\n <div aria-live=\"polite\">${this._yAxisWidthDescription}</div>\n <div id=\"rpg-get-text-width\" class=\"rpg-axis-label\"></div>\n `;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n if (!customElements.get(\"tool-tip\")) {\n customElements.define(\"tool-tip\", Tooltip);\n }\n }\n\n protected firstUpdated(_changedProperties: PropertyValues): void {\n super.firstUpdated(_changedProperties);\n\n this._calculateYAxisWidths();\n this.addObservers();\n }\n\n updated(changedProperties: Map<string, never>) {\n if (this._xAxis) {\n this._xAxisHeight = this._xAxis.getBoundingClientRect().height ?? 1 - 1;\n }\n\n if (changedProperties.get(\"orientation\") || changedProperties.get(\"data\")) {\n this._calculateYAxisWidths();\n }\n }\n\n private _calculateYAxisWidths(): void {\n const isVertical = this.orientation === Orientation.Vertical;\n [this._yAxisMinWidth, this._yAxisWidth, this._yAxisMaxWidth] =\n calculateYAxisWidths(\n this._textSizeDiv,\n this._wrapper,\n this._yAxis,\n isVertical ? this._tickLabels : this._categoryLabels,\n );\n }\n\n private _calculateTickWidths(): void {\n this._firstXAxisLabelWidth = getTextWidth(\n this._textSizeDiv,\n this._tickLabels[0].toString(),\n );\n this._lastXAxisLabelWidth = getTextWidth(\n this._textSizeDiv,\n this._tickLabels.at(-1)?.toString(),\n );\n }\n\n private addObservers() {\n const options = {\n root: this._scrollableElem,\n threshold: 1,\n };\n\n const callback = () => {\n this._scrollbarSize = getScrollbarSize(\n this.orientation,\n this._scrollableElem,\n );\n };\n this._vObserver = new IntersectionObserver(callback, {\n ...options,\n rootMargin: \"0px -16px\",\n });\n this._hObserver = new IntersectionObserver(callback, {\n ...options,\n rootMargin: \"-16px 0px\",\n });\n this._vObserver.observe(this._barContainer);\n this._hObserver.observe(this._barContainer);\n }\n\n @eventOptions({ capture: true })\n private onBarEnter(event: MouseEvent) {\n const target = event.target as HTMLElement;\n if (target.classList.contains(\"rpg-bar\")) {\n this._activeBar = target;\n }\n }\n\n @eventOptions({ capture: true })\n private onBarContainerMouseLeave(event: MouseEvent) {\n if (event.target === event.currentTarget) {\n this._activeBar = null;\n }\n }\n\n @eventOptions({ capture: true })\n private onBarContainerFocus(event: FocusEvent) {\n this._activeBar = event.target as HTMLElement;\n }\n\n @eventOptions({ capture: true })\n private onBarContainerBlur(event: FocusEvent) {\n const nextFocused = event.relatedTarget as HTMLElement;\n if (\n !nextFocused ||\n (nextFocused && !this._barContainer.contains(nextFocused))\n ) {\n this._activeBar = null;\n this._focusedBarIndex = 0;\n }\n }\n\n @eventOptions({ capture: true })\n private onBarContainerKeyDown(event: KeyboardEvent) {\n const isVertical = this.orientation === Orientation.Vertical;\n const nextKey = isVertical ? \"ArrowRight\" : \"ArrowDown\";\n const prevKey = isVertical ? \"ArrowLeft\" : \"ArrowUp\";\n const key = event.key;\n\n if (key === nextKey) {\n event.preventDefault();\n this._focusedBarIndex = Math.min(\n this._focusedBarIndex + 1,\n this.data.length - 1,\n );\n this._bars[this._focusedBarIndex].focus();\n } else if (key === prevKey) {\n event.preventDefault();\n this._focusedBarIndex = Math.max(this._focusedBarIndex - 1, 0);\n this._bars[this._focusedBarIndex].focus();\n } else if (key === \"Home\") {\n event.preventDefault();\n this._focusedBarIndex = 0;\n this._bars[this._focusedBarIndex].focus();\n } else if (key === \"End\") {\n event.preventDefault();\n this._focusedBarIndex = this.data.length - 1;\n this._bars[this._focusedBarIndex].focus();\n }\n }\n\n private onYAxisPointerDown(pointerDownEvent: PointerEvent) {\n pointerDownEvent.preventDefault();\n this._isDraggingYAxis = true;\n\n let newWidth = this._yAxisWidth;\n const self = this;\n\n const handlePointerMove = (pointerMoveEvent: PointerEvent) => {\n const parent = self._wrapper;\n\n const moveClientX = pointerMoveEvent.clientX;\n const downClientX = pointerDownEvent.clientX;\n\n newWidth =\n self._yAxisWidth +\n (self.yAxisPosition === YAxisPosition.Left\n ? moveClientX - downClientX\n : downClientX - moveClientX);\n let allowedMaxWidth = self._yAxisMaxWidth;\n\n // the pointer is out of slider => lock the thumb within the boundaries\n if (newWidth < self._yAxisMinWidth) {\n newWidth = self._yAxisMinWidth;\n }\n\n if (self._yAxisMaxWidth > parent.offsetWidth - MAX_Y_AXIS_WIDTH) {\n allowedMaxWidth = parent.offsetWidth - MAX_Y_AXIS_WIDTH;\n }\n if (newWidth > allowedMaxWidth) {\n newWidth = allowedMaxWidth;\n }\n this._wrapper.style.setProperty(Y_AXIS_WIDTH_CSS_VAR, `${newWidth}px`);\n };\n\n function handlePointerUp(): void {\n self._yAxisWidth = newWidth;\n self._isDraggingYAxis = false;\n if (self._oldCursor) {\n document.body.style.cursor = self._oldCursor;\n } else {\n document.body.style.removeProperty(\"cursor\");\n }\n window.removeEventListener(\"pointermove\", handlePointerMove);\n window.removeEventListener(\"pointerup\", handlePointerUp);\n }\n\n self._oldCursor = document.body.style.cursor;\n document.body.style.cursor = \"col-resize\";\n window.addEventListener(\"pointermove\", handlePointerMove);\n window.addEventListener(\"pointerup\", handlePointerUp);\n }\n\n private onYAxisKeyDown(event: KeyboardEvent): void {\n const percentage = parseInt(this._yAxisWidthPercentage ?? \"0\", 10);\n const key = event.key;\n const isLeftAxis = this.yAxisPosition === YAxisPosition.Left;\n const leftKey = isLeftAxis ? \"ArrowLeft\" : \"ArrowRight\";\n const rightKey = isLeftAxis ? \"ArrowRight\" : \"ArrowLeft\";\n const commonArgs = {\n currentPercentage: percentage,\n minWidth: this._yAxisMinWidth,\n maxWidth: this._yAxisMaxWidth,\n };\n\n if (key === leftKey) {\n event.preventDefault();\n this._yAxisWidth =\n getUpdatedYAxisWidth({\n ...commonArgs,\n widthPercentage: Math.max(percentage - 5, 0),\n }) ?? this._yAxisWidth;\n } else if (key === rightKey) {\n event.preventDefault();\n this._yAxisWidth =\n getUpdatedYAxisWidth({\n ...commonArgs,\n widthPercentage: Math.min(percentage + 5, 100),\n }) ?? this._yAxisWidth;\n } else if (key === \"Home\") {\n event.preventDefault();\n this._yAxisWidth =\n getUpdatedYAxisWidth({\n ...commonArgs,\n widthPercentage: 0,\n }) ?? this._yAxisWidth;\n } else if (key === \"End\") {\n event.preventDefault();\n this._yAxisWidth =\n getUpdatedYAxisWidth({\n ...commonArgs,\n widthPercentage: 100,\n }) ?? this._yAxisWidth;\n }\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this._vObserver?.unobserve(this._barContainer);\n this._hObserver?.unobserve(this._barContainer);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"rapido-bar\": Rapidobar;\n }\n}\n"],"names":["Rapidobar","LitElement","MIN_Y_AXIS_WIDTH","MAX_Y_AXIS_WIDTH","DEFAULT_Y_AXIS_WIDTH","Orientation","XAxisPosition","YAxisPosition","Theme","ShowLabels","css","unsafeCSS","styles","maxYAxisWidth","value","oldValue","length","categories","values","category","index","formatLabels","minBarSize","maxBarSize","getMinAndMax","generateTicks","checkIfSomePositiveAndNegative","checkIfAllPositiveOrNegative","SCROLLBAR_WIDTH_CSS_VAR","Y_AXIS_WIDTH_CSS_VAR","X_AXIS_HEIGHT_CSS_VAR","DATA_LENGTH_CSS_VAR","X_AXIS_FIRST_LABEL_CSS_VAR","X_AXIS_LAST_LABEL_CSS_VAR","isVertical","xAxisLabel","yAxisLabel","xAxisLabels","yAxisLabels","xAxisLabelTemplates","label","html","xAxisTemplate","nothing","yAxisLabelTemplates","yAxisTemplate","noop","gridlineTemplates","i","barTemplates","isFocused","axisValue","barValue","formatLabel","tooltipValue","isPositive","barSize","getSizeInPercentages","classMap","styleMap","Tooltip","_changedProperties","changedProperties","calculateYAxisWidths","getTextWidth","options","callback","getScrollbarSize","event","target","nextFocused","nextKey","prevKey","key","pointerDownEvent","newWidth","self","handlePointerMove","pointerMoveEvent","parent","moveClientX","downClientX","allowedMaxWidth","handlePointerUp","percentage","isLeftAxis","leftKey","rightKey","commonArgs","getUpdatedYAxisWidth","__decorateClass","state","property","query","queryAll","eventOptions","customElement"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rapidograph",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
4
4
|
"description": "A micro-library for efficient, customizable HTML chart visualization.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"visualization",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"default": "./dist/index.js"
|
|
32
32
|
},
|
|
33
33
|
"./*": {
|
|
34
|
-
"types": "./dist/components
|
|
35
|
-
"default": "./dist/components
|
|
34
|
+
"types": "./dist/components/*/index.d.ts",
|
|
35
|
+
"default": "./dist/components/*/index.js"
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"sideEffects": false,
|