@fluentui/chart-web-components 0.0.1-0 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/CHANGELOG.md +15 -7
  2. package/dist/chart-web-components.d.ts +213 -0
  3. package/dist/chart-web-components.js +7087 -0
  4. package/dist/chart-web-components.min.js +106 -0
  5. package/dist/dts/donut-chart/define.d.ts +1 -0
  6. package/dist/dts/donut-chart/donut-chart.bench.d.ts +3 -0
  7. package/dist/dts/donut-chart/donut-chart.d.ts +40 -0
  8. package/dist/dts/donut-chart/donut-chart.definition.d.ts +7 -0
  9. package/dist/dts/donut-chart/donut-chart.options.d.ts +38 -0
  10. package/dist/dts/donut-chart/donut-chart.styles.d.ts +6 -0
  11. package/dist/dts/donut-chart/donut-chart.template.d.ts +12 -0
  12. package/dist/dts/donut-chart/index.d.ts +4 -0
  13. package/dist/dts/helpers.tests.d.ts +30 -0
  14. package/dist/dts/horizontal-bar-chart/define.d.ts +1 -0
  15. package/dist/dts/horizontal-bar-chart/horizontal-bar-chart.bench.d.ts +3 -0
  16. package/dist/dts/horizontal-bar-chart/horizontal-bar-chart.d.ts +46 -0
  17. package/dist/dts/horizontal-bar-chart/horizontal-bar-chart.definition.d.ts +9 -0
  18. package/dist/dts/horizontal-bar-chart/horizontal-bar-chart.options.d.ts +40 -0
  19. package/dist/dts/horizontal-bar-chart/horizontal-bar-chart.styles.d.ts +7 -0
  20. package/dist/dts/horizontal-bar-chart/horizontal-bar-chart.template.d.ts +12 -0
  21. package/dist/dts/horizontal-bar-chart/index.d.ts +4 -0
  22. package/dist/dts/index-rollup.d.ts +2 -0
  23. package/dist/dts/index.d.ts +2 -0
  24. package/dist/dts/utils/benchmark-wrapper.d.ts +2 -0
  25. package/dist/dts/utils/chart-helpers.d.ts +37 -0
  26. package/dist/esm/donut-chart/define.js +4 -0
  27. package/dist/esm/donut-chart/define.js.map +1 -0
  28. package/dist/esm/donut-chart/donut-chart.bench.js +10 -0
  29. package/dist/esm/donut-chart/donut-chart.bench.js.map +1 -0
  30. package/dist/esm/donut-chart/donut-chart.definition.js +18 -0
  31. package/dist/esm/donut-chart/donut-chart.definition.js.map +1 -0
  32. package/dist/esm/donut-chart/donut-chart.js +227 -0
  33. package/dist/esm/donut-chart/donut-chart.js.map +1 -0
  34. package/dist/esm/donut-chart/donut-chart.options.js +2 -0
  35. package/dist/esm/donut-chart/donut-chart.options.js.map +1 -0
  36. package/dist/esm/donut-chart/donut-chart.styles.js +133 -0
  37. package/dist/esm/donut-chart/donut-chart.styles.js.map +1 -0
  38. package/dist/esm/donut-chart/donut-chart.template.js +57 -0
  39. package/dist/esm/donut-chart/donut-chart.template.js.map +1 -0
  40. package/dist/esm/donut-chart/index.js +5 -0
  41. package/dist/esm/donut-chart/index.js.map +1 -0
  42. package/dist/esm/helpers.tests.js +73 -0
  43. package/dist/esm/helpers.tests.js.map +1 -0
  44. package/dist/esm/horizontal-bar-chart/define.js +4 -0
  45. package/dist/esm/horizontal-bar-chart/define.js.map +1 -0
  46. package/dist/esm/horizontal-bar-chart/horizontal-bar-chart.bench.js +10 -0
  47. package/dist/esm/horizontal-bar-chart/horizontal-bar-chart.bench.js.map +1 -0
  48. package/dist/esm/horizontal-bar-chart/horizontal-bar-chart.definition.js +20 -0
  49. package/dist/esm/horizontal-bar-chart/horizontal-bar-chart.definition.js.map +1 -0
  50. package/dist/esm/horizontal-bar-chart/horizontal-bar-chart.js +412 -0
  51. package/dist/esm/horizontal-bar-chart/horizontal-bar-chart.js.map +1 -0
  52. package/dist/esm/horizontal-bar-chart/horizontal-bar-chart.options.js +7 -0
  53. package/dist/esm/horizontal-bar-chart/horizontal-bar-chart.options.js.map +1 -0
  54. package/dist/esm/horizontal-bar-chart/horizontal-bar-chart.styles.js +163 -0
  55. package/dist/esm/horizontal-bar-chart/horizontal-bar-chart.styles.js.map +1 -0
  56. package/dist/esm/horizontal-bar-chart/horizontal-bar-chart.template.js +53 -0
  57. package/dist/esm/horizontal-bar-chart/horizontal-bar-chart.template.js.map +1 -0
  58. package/dist/esm/horizontal-bar-chart/index.js +5 -0
  59. package/dist/esm/horizontal-bar-chart/index.js.map +1 -0
  60. package/dist/esm/index-rollup.js +3 -0
  61. package/dist/esm/index-rollup.js.map +1 -0
  62. package/dist/esm/index.js +3 -0
  63. package/dist/esm/index.js.map +1 -0
  64. package/dist/esm/utils/benchmark-wrapper.js +18 -0
  65. package/dist/esm/utils/benchmark-wrapper.js.map +1 -0
  66. package/dist/esm/utils/chart-helpers.js +160 -0
  67. package/dist/esm/utils/chart-helpers.js.map +1 -0
  68. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"horizontal-bar-chart.bench.js","sourceRoot":"","sources":["../../../src/horizontal-bar-chart/horizontal-bar-chart.bench.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAElE,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAE/C,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,kBAAkB,GAAG,QAAQ,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;IACjF,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { FluentDesignSystem } from '@fluentui/web-components';
2
+ import { HorizontalBarChart } from './horizontal-bar-chart.js';
3
+ import { styles } from './horizontal-bar-chart.styles.js';
4
+ import { template } from './horizontal-bar-chart.template.js';
5
+ /**
6
+ * The Fluent Textarea Element definition.
7
+ *
8
+ * @public
9
+ * @remarks
10
+ * HTML Element: `<fluent-textarea>`
11
+ */
12
+ export const definition = HorizontalBarChart.compose({
13
+ name: `${FluentDesignSystem.prefix}-horizontal-bar-chart`,
14
+ template,
15
+ styles,
16
+ shadowOptions: {
17
+ delegatesFocus: true,
18
+ },
19
+ });
20
+ //# sourceMappingURL=horizontal-bar-chart.definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"horizontal-bar-chart.definition.js","sourceRoot":"","sources":["../../../src/horizontal-bar-chart/horizontal-bar-chart.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC;IACnD,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,uBAAuB;IACzD,QAAQ;IACR,MAAM;IACN,aAAa,EAAE;QACb,cAAc,EAAE,IAAI;KACrB;CACF,CAAC,CAAC"}
@@ -0,0 +1,412 @@
1
+ import { __decorate } from "tslib";
2
+ import { attr, FASTElement, observable } from '@microsoft/fast-element';
3
+ import { create as d3Create, select as d3Select } from 'd3-selection';
4
+ import { getRTL, jsonConverter, SVG_NAMESPACE_URI, validateChartPropsArray } from '../utils/chart-helpers.js';
5
+ import { Variant } from './horizontal-bar-chart.options.js';
6
+ /**
7
+ * A Horizontal Bar Chart HTML Element.
8
+ *
9
+ * @public
10
+ */
11
+ export class HorizontalBarChart extends FASTElement {
12
+ constructor() {
13
+ super();
14
+ this.hideRatio = false;
15
+ this.hideLegends = false;
16
+ this.hideTooltip = false;
17
+ this.uniqueLegends = [];
18
+ this.activeLegend = '';
19
+ this.activeLegendChanged = (oldValue, newValue) => {
20
+ var _a, _b;
21
+ if (newValue === '') {
22
+ (_a = this._bars) === null || _a === void 0 ? void 0 : _a.forEach(bar => bar.classList.remove('inactive'));
23
+ }
24
+ else {
25
+ (_b = this._bars) === null || _b === void 0 ? void 0 : _b.forEach(bar => {
26
+ if (bar.getAttribute('barinfo') === newValue) {
27
+ bar.classList.remove('inactive');
28
+ }
29
+ else {
30
+ bar.classList.add('inactive');
31
+ }
32
+ });
33
+ }
34
+ };
35
+ this.isLegendSelected = false;
36
+ this.tooltipProps = {
37
+ isVisible: false,
38
+ legend: '',
39
+ yValue: '',
40
+ color: '',
41
+ xPos: 0,
42
+ yPos: 0,
43
+ };
44
+ this.elementInternals = this.attachInternals();
45
+ this._isRTL = false;
46
+ this._barHeight = 12;
47
+ this._bars = [];
48
+ this.handleLegendMouseoverAndFocus = (legendTitle) => {
49
+ if (this.isLegendSelected) {
50
+ return;
51
+ }
52
+ this.activeLegend = legendTitle;
53
+ };
54
+ this.handleLegendMouseoutAndBlur = () => {
55
+ if (this.isLegendSelected) {
56
+ return;
57
+ }
58
+ this.activeLegend = '';
59
+ };
60
+ this.handleLegendClick = (legendTitle) => {
61
+ if (this.isLegendSelected && this.activeLegend === legendTitle) {
62
+ this.activeLegend = '';
63
+ this.isLegendSelected = false;
64
+ }
65
+ else {
66
+ this.activeLegend = legendTitle;
67
+ this.isLegendSelected = true;
68
+ }
69
+ };
70
+ this.elementInternals.role = 'region';
71
+ }
72
+ connectedCallback() {
73
+ super.connectedCallback();
74
+ validateChartPropsArray(this.data, 'data');
75
+ this._isRTL = getRTL(this);
76
+ this.elementInternals.ariaLabel = this.chartTitle || `Horizontal bar chart with ${this.data.length} categories.`;
77
+ this._initializeData();
78
+ this._renderChart();
79
+ }
80
+ _initializeData() {
81
+ if (this.variant === Variant.SingleBar) {
82
+ this._hydrateData();
83
+ }
84
+ this._hydrateLegends();
85
+ }
86
+ _renderChart() {
87
+ const chartContainerDiv = d3Select(this.chartContainer);
88
+ chartContainerDiv
89
+ .selectAll('div')
90
+ .data(this.data)
91
+ .enter()
92
+ .append('div')
93
+ .each((d, i, nodes) => {
94
+ this._createSingleChartBars(d, i, nodes);
95
+ });
96
+ }
97
+ _createSingleChartBars(singleChartData, index, nodes) {
98
+ const singleChartBars = this._createBarsAndLegends(singleChartData, index);
99
+ // create a div element. Loop through chart bars and add to the div as its children
100
+ d3Select(nodes[index])
101
+ .attr('key', index)
102
+ .attr('id', `_MSBC_bar-${index}`)
103
+ .node()
104
+ .appendChild(singleChartBars.node());
105
+ }
106
+ _hydrateLegends() {
107
+ // Create a map to store unique legends
108
+ const uniqueLegendsMap = new Map();
109
+ // Iterate through all chart points and populate the map
110
+ for (const dataSeries of this.data) {
111
+ for (const point of dataSeries.chartData) {
112
+ if (point.placeholder === true) {
113
+ continue;
114
+ }
115
+ // Check if the legend is already in the map
116
+ if (!uniqueLegendsMap.has(point.legend)) {
117
+ uniqueLegendsMap.set(point.legend, {
118
+ legend: point.legend,
119
+ data: point.data,
120
+ color: point.gradient ? point.gradient[0] : point.color,
121
+ });
122
+ }
123
+ }
124
+ }
125
+ // Convert the map values back to an array
126
+ this.uniqueLegends = Array.from(uniqueLegendsMap.values());
127
+ }
128
+ _hydrateData() {
129
+ this.data.forEach(({ chartData }) => {
130
+ if (chartData.length === 1) {
131
+ const pointData = chartData[0];
132
+ const newEntry = {
133
+ legend: '',
134
+ data: Math.max(pointData.total - pointData.data, 0),
135
+ y: pointData.total,
136
+ color: '#edebe9',
137
+ placeholder: true,
138
+ };
139
+ chartData.push(newEntry);
140
+ }
141
+ });
142
+ }
143
+ _calculateBarSpacing() {
144
+ const svgWidth = this.getBoundingClientRect().width;
145
+ let barSpacing = 0;
146
+ const MARGIN_WIDTH_IN_PX = 3;
147
+ if (svgWidth) {
148
+ const currentBarSpacing = (MARGIN_WIDTH_IN_PX / svgWidth) * 100;
149
+ barSpacing = currentBarSpacing;
150
+ }
151
+ return barSpacing;
152
+ }
153
+ _createBarsAndLegends(data, barNo) {
154
+ var _a, _b;
155
+ const _isRTL = this._isRTL;
156
+ const _computeLongestBarTotalValue = () => {
157
+ let longestBarTotalValue = 0;
158
+ this.data.forEach(({ chartData }) => {
159
+ const barTotalValue = chartData.reduce((acc, point) => { var _a; return acc + ((_a = point.data) !== null && _a !== void 0 ? _a : 0); }, 0);
160
+ longestBarTotalValue = Math.max(longestBarTotalValue, barTotalValue);
161
+ });
162
+ return longestBarTotalValue;
163
+ };
164
+ const longestBarTotalValue = _computeLongestBarTotalValue();
165
+ const noOfBars = ((_a = data.chartData) === null || _a === void 0 ? void 0 : _a.reduce((count, point) => (count += (point.data || 0) > 0 ? 1 : 0), 0)) ||
166
+ 1;
167
+ const barSpacingInPercent = this._calculateBarSpacing();
168
+ const totalMarginPercent = barSpacingInPercent * (noOfBars - 1);
169
+ // calculating starting point of each bar and it's range
170
+ const startingPoint = [];
171
+ const barTotalValue = data.chartData.reduce((acc, point) => { var _a; return acc + ((_a = point.data) !== null && _a !== void 0 ? _a : 0); }, 0);
172
+ const total = this.variant === Variant.AbsoluteScale ? longestBarTotalValue : barTotalValue;
173
+ let sumOfPercent = 0;
174
+ data.chartData.map((point, index) => {
175
+ var _a;
176
+ const pointData = (_a = point.data) !== null && _a !== void 0 ? _a : 0;
177
+ const currValue = (pointData / total) * 100;
178
+ let value = currValue !== null && currValue !== void 0 ? currValue : 0;
179
+ if (value < 1 && value !== 0) {
180
+ value = 1;
181
+ }
182
+ else if (value > 99 && value !== 100) {
183
+ value = 99;
184
+ }
185
+ sumOfPercent += value;
186
+ return sumOfPercent;
187
+ });
188
+ // Include an imaginary placeholder bar with value equal to
189
+ // the difference between longestBarTotalValue and barTotalValue
190
+ // while calculating sumOfPercent to get correct scalingRatio for absolute-scale variant
191
+ if (this.variant === Variant.AbsoluteScale) {
192
+ let value = total === 0 ? 0 : ((total - barTotalValue) / total) * 100;
193
+ if (value < 1 && value !== 0) {
194
+ value = 1;
195
+ }
196
+ else if (value > 99 && value !== 100) {
197
+ value = 99;
198
+ }
199
+ sumOfPercent += value;
200
+ }
201
+ /**
202
+ * The %age of the space occupied by the margin needs to subtracted
203
+ * while computing the scaling ratio, since the margins are not being
204
+ * scaled down, only the data is being scaled down from a higher percentage to lower percentage
205
+ * Eg: 95% of the space is taken by the bars, 5% by the margins
206
+ * Now if the sumOfPercent is 120% -> This needs to be scaled down to 95%, not 100%
207
+ * since that's only space available to the bars
208
+ */
209
+ const scalingRatio = sumOfPercent !== 0 ? sumOfPercent / (100 - totalMarginPercent) : 1;
210
+ let prevPosition = 0;
211
+ let value = 0;
212
+ const createBars = (g, point, index) => {
213
+ var _a;
214
+ const barHeight = 12;
215
+ const pointData = (_a = point.data) !== null && _a !== void 0 ? _a : 0;
216
+ if (index > 0) {
217
+ prevPosition += value;
218
+ }
219
+ value = (pointData / total) * 100 ? (pointData / total) * 100 : 0;
220
+ if (value < 1 && value !== 0) {
221
+ value = 1 / scalingRatio;
222
+ }
223
+ else if (value > 99 && value !== 100) {
224
+ value = 99 / scalingRatio;
225
+ }
226
+ else {
227
+ value = value / scalingRatio;
228
+ }
229
+ startingPoint.push(prevPosition);
230
+ const gEle = d3Select(g) // 'this' refers to the current 'g' element
231
+ .attr('key', index)
232
+ .attr('role', 'img')
233
+ .attr('aria-label', pointData);
234
+ let gradientId = '';
235
+ if (point.gradient) {
236
+ const defs = document.createElementNS(SVG_NAMESPACE_URI, 'defs');
237
+ gEle.node().appendChild(defs);
238
+ const linearGradient = document.createElementNS(SVG_NAMESPACE_URI, 'linearGradient');
239
+ defs.appendChild(linearGradient);
240
+ gradientId = `gradient-${barNo}-${index}`;
241
+ linearGradient.setAttribute('id', gradientId);
242
+ const stop1 = document.createElementNS(SVG_NAMESPACE_URI, 'stop');
243
+ linearGradient.appendChild(stop1);
244
+ stop1.setAttribute('offset', '0%');
245
+ stop1.setAttribute('stop-color', point.gradient[0]);
246
+ const stop2 = document.createElementNS(SVG_NAMESPACE_URI, 'stop');
247
+ linearGradient.appendChild(stop2);
248
+ stop2.setAttribute('offset', '100%');
249
+ stop2.setAttribute('stop-color', point.gradient[1]);
250
+ }
251
+ const rect = gEle
252
+ .append('rect')
253
+ .attr('key', index)
254
+ .attr('id', `${barNo}-${index}`)
255
+ .attr('barinfo', `${point.legend}`)
256
+ .attr('class', 'bar')
257
+ .attr('style', point.gradient ? `fill:url(#${gradientId})` : `fill:${point.color}`)
258
+ .attr('x', `${_isRTL
259
+ ? 100 - startingPoint[index] - value - barSpacingInPercent * index
260
+ : startingPoint[index] + barSpacingInPercent * index}%`)
261
+ .attr('y', 0)
262
+ .attr('width', value + '%')
263
+ .attr('height', barHeight)
264
+ .attr('tabindex', 0);
265
+ this._bars.push(rect.node());
266
+ };
267
+ const containerDiv = d3Create('div').attr('style', 'position: relative');
268
+ const chartTitleDiv = containerDiv.append('div').attr('class', 'chart-title-div');
269
+ chartTitleDiv
270
+ .append('div')
271
+ .append('span')
272
+ .attr('class', 'chart-title')
273
+ .text((data === null || data === void 0 ? void 0 : data.chartSeriesTitle) ? data === null || data === void 0 ? void 0 : data.chartSeriesTitle : '');
274
+ const showChartDataText = this.variant !== Variant.AbsoluteScale;
275
+ // chartData length is always 2 in single-bar variant
276
+ const showRatio = !this.hideRatio && data.chartData.length === 2;
277
+ const getChartData = () => { var _a; return (_a = data.chartData[0].data) !== null && _a !== void 0 ? _a : 0; };
278
+ if (showChartDataText) {
279
+ if (data.chartDataText) {
280
+ const chartTitleRight = document.createElement('div');
281
+ chartTitleDiv.node().appendChild(chartTitleRight);
282
+ chartTitleRight.classList.add('chart-data-text');
283
+ chartTitleRight.textContent = data.chartDataText;
284
+ }
285
+ else if (showRatio) {
286
+ const ratioDiv = chartTitleDiv.append('div').attr('role', 'text');
287
+ const numData = data.chartData[0].data;
288
+ const denomData = data.chartData[1].data;
289
+ const total = numData + denomData;
290
+ ratioDiv.append('span').attr('class', 'ratio-numerator').text(numData);
291
+ ratioDiv.append('span').attr('class', 'ratio-denominator').text(`/${total}`);
292
+ }
293
+ }
294
+ const svgDiv = containerDiv.append('div').attr('style', 'display: flex;');
295
+ const svgEle = svgDiv
296
+ .append('svg')
297
+ .attr('height', 12)
298
+ .attr('width', 100 + '%')
299
+ .attr('class', 'svg-chart')
300
+ .attr('aria-label', (_b = data === null || data === void 0 ? void 0 : data.chartSeriesTitle) !== null && _b !== void 0 ? _b : `Series with ${data.chartData.length}${data.chartData.length > 1 ? ' stacked' : ''} bars.`)
301
+ .selectAll('g')
302
+ .data(data.chartData)
303
+ .enter()
304
+ .append('g')
305
+ .each(function (d, i) {
306
+ createBars(this, d, i);
307
+ })
308
+ .on('mouseover', (event, d) => {
309
+ if (d && d.hasOwnProperty('placeholder') && d.placeholder === true) {
310
+ return;
311
+ }
312
+ const bounds = this.getBoundingClientRect();
313
+ const centerX = window.innerWidth / 2;
314
+ const xPos = Math.max(0, Math.min(centerX, window.innerWidth));
315
+ this.tooltipProps = {
316
+ isVisible: true,
317
+ legend: d.legend,
318
+ yValue: `${d.data}`,
319
+ color: d.gradient ? d.gradient[0] : d.color,
320
+ xPos: this._isRTL ? bounds.right - event.clientX : Math.min(event.clientX - bounds.left, xPos),
321
+ yPos: event.clientY - bounds.top - 40,
322
+ };
323
+ })
324
+ .on('mouseout', () => {
325
+ this.tooltipProps = { isVisible: false, legend: '', yValue: '', color: '', xPos: 0, yPos: 0 };
326
+ });
327
+ if (this.variant === Variant.AbsoluteScale) {
328
+ const showLabel = true;
329
+ const barLabel = barTotalValue;
330
+ if (showLabel) {
331
+ if (Math.round((startingPoint[startingPoint.length - 1] || 0) + value + totalMarginPercent) === 100) {
332
+ svgDiv
333
+ .append('text')
334
+ .attr('key', 'text')
335
+ .attr('style', 'margin-top: -4.5px; margin-left: 2px;')
336
+ .attr('class', 'bar-label')
337
+ .attr('x', `${this._isRTL
338
+ ? 100 - (startingPoint[startingPoint.length - 1] || 0) - value - totalMarginPercent
339
+ : (startingPoint[startingPoint.length - 1] || 0) + value + totalMarginPercent}%`)
340
+ .attr('textAnchor', 'start')
341
+ .attr('y', this._barHeight / 2 + 6)
342
+ .attr('dominantBaseline', 'central')
343
+ .attr('transform', `translate(${this._isRTL ? -4 : 4})`)
344
+ .attr('aria-label', `Total: ${barLabel}`)
345
+ .attr('role', 'img')
346
+ .text(barLabel);
347
+ }
348
+ else {
349
+ svgEle
350
+ .append('text')
351
+ .attr('key', 'text')
352
+ .attr('class', 'bar-label')
353
+ .attr('x', `${this._isRTL
354
+ ? 100 - (startingPoint[startingPoint.length - 1] || 0) - value - totalMarginPercent
355
+ : (startingPoint[startingPoint.length - 1] || 0) + value + totalMarginPercent}%`)
356
+ .attr('textAnchor', 'start')
357
+ .attr('y', this._barHeight / 2 + 6)
358
+ .attr('dominantBaseline', 'central')
359
+ .attr('transform', `translate(${this._isRTL ? -4 : 4})`)
360
+ .attr('aria-label', `Total: ${barLabel}`)
361
+ .attr('role', 'img')
362
+ .text(barLabel);
363
+ }
364
+ }
365
+ }
366
+ if (data.benchmarkData) {
367
+ const benchmarkContainer = document.createElement('div');
368
+ containerDiv.node().appendChild(benchmarkContainer);
369
+ benchmarkContainer.classList.add('benchmark-container');
370
+ const triangle = document.createElement('div');
371
+ benchmarkContainer.appendChild(triangle);
372
+ triangle.classList.add('triangle');
373
+ const benchmarkRatio = (data.benchmarkData / total) * 100;
374
+ triangle.style['insetInlineStart'] = `calc(${benchmarkRatio}% - 4px)`;
375
+ }
376
+ return containerDiv;
377
+ }
378
+ }
379
+ __decorate([
380
+ attr
381
+ ], HorizontalBarChart.prototype, "variant", void 0);
382
+ __decorate([
383
+ attr({ converter: jsonConverter })
384
+ ], HorizontalBarChart.prototype, "data", void 0);
385
+ __decorate([
386
+ attr({ attribute: 'hide-ratio', mode: 'boolean' })
387
+ ], HorizontalBarChart.prototype, "hideRatio", void 0);
388
+ __decorate([
389
+ attr({ attribute: 'hide-legends', mode: 'boolean' })
390
+ ], HorizontalBarChart.prototype, "hideLegends", void 0);
391
+ __decorate([
392
+ attr({ attribute: 'hide-tooltip', mode: 'boolean' })
393
+ ], HorizontalBarChart.prototype, "hideTooltip", void 0);
394
+ __decorate([
395
+ attr({ attribute: 'legend-list-label' })
396
+ ], HorizontalBarChart.prototype, "legendListLabel", void 0);
397
+ __decorate([
398
+ attr({ attribute: 'chart-title' })
399
+ ], HorizontalBarChart.prototype, "chartTitle", void 0);
400
+ __decorate([
401
+ observable
402
+ ], HorizontalBarChart.prototype, "uniqueLegends", void 0);
403
+ __decorate([
404
+ observable
405
+ ], HorizontalBarChart.prototype, "activeLegend", void 0);
406
+ __decorate([
407
+ observable
408
+ ], HorizontalBarChart.prototype, "isLegendSelected", void 0);
409
+ __decorate([
410
+ observable
411
+ ], HorizontalBarChart.prototype, "tooltipProps", void 0);
412
+ //# sourceMappingURL=horizontal-bar-chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"horizontal-bar-chart.js","sourceRoot":"","sources":["../../../src/horizontal-bar-chart/horizontal-bar-chart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export var Variant;
2
+ (function (Variant) {
3
+ Variant["PartToWhole"] = "part-to-whole";
4
+ Variant["AbsoluteScale"] = "absolute-scale";
5
+ Variant["SingleBar"] = "single-bar";
6
+ })(Variant || (Variant = {}));
7
+ //# sourceMappingURL=horizontal-bar-chart.options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"horizontal-bar-chart.options.js","sourceRoot":"","sources":["../../../src/horizontal-bar-chart/horizontal-bar-chart.options.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,wCAA6B,CAAA;IAC7B,2CAAgC,CAAA;IAChC,mCAAwB,CAAA;AAC1B,CAAC,EAJW,OAAO,KAAP,OAAO,QAIlB"}
@@ -0,0 +1,163 @@
1
+ import { css } from '@microsoft/fast-element';
2
+ import { colorNeutralBackground1, colorNeutralForeground1, colorNeutralStrokeAccessible, display, forcedColorsStylesheetBehavior, shadow4, spacingHorizontalL, spacingHorizontalNone, spacingHorizontalS, spacingHorizontalSNudge, spacingVerticalL, spacingVerticalMNudge, spacingVerticalNone, spacingVerticalS, spacingVerticalXS, strokeWidthThick, strokeWidthThickest, strokeWidthThin, typographyBody1StrongStyles, typographyBody1Styles, typographyCaption1Styles, typographyTitle2Styles, } from '@fluentui/web-components';
3
+ /**
4
+ * Styles for the HorizontalBarChart component.
5
+ *
6
+ * @public
7
+ */
8
+ export const styles = css `
9
+ ${display('inline-block')}
10
+
11
+ :host {
12
+ position: relative;
13
+ }
14
+ .root {
15
+ background-color: ${colorNeutralBackground1};
16
+ width: 100vw;
17
+ display: flex;
18
+ flex-direction: column;
19
+ align-items: center;
20
+ position: relative;
21
+ }
22
+ .tooltip {
23
+ ${typographyCaption1Styles}
24
+ position: absolute;
25
+ z-index: 999;
26
+ display: grid;
27
+ overflow: hidden;
28
+ padding: ${spacingVerticalMNudge} ${spacingHorizontalL};
29
+ backgroundcolor: ${colorNeutralBackground1};
30
+ background-blend-mode: normal, luminosity;
31
+ text-align: center;
32
+ background: ${colorNeutralBackground1};
33
+ box-shadow: ${shadow4};
34
+ border: ${strokeWidthThick};
35
+ pointer-events: none;
36
+ }
37
+ .tooltip-line {
38
+ padding-inline-start: ${spacingHorizontalS};
39
+ height: 50px;
40
+ border-inline-start: ${strokeWidthThickest} solid;
41
+ }
42
+ .tooltip-legend-text {
43
+ ${typographyCaption1Styles}
44
+ color: ${colorNeutralForeground1};
45
+ text-align: start;
46
+ }
47
+ .tooltip-data-y {
48
+ ${typographyTitle2Styles}
49
+ text-align: start;
50
+ }
51
+ .bar {
52
+ opacity: 1;
53
+ }
54
+ .bar.inactive {
55
+ opacity: 0.1;
56
+ }
57
+ .bar:focus {
58
+ outline: none;
59
+ stroke-width: ${strokeWidthThick};
60
+ stroke: black;
61
+ }
62
+ .svg-chart {
63
+ display: block;
64
+ overflow: visible;
65
+ }
66
+ .chart-title {
67
+ ${typographyBody1Styles}
68
+ display: flex;
69
+ justify-content: space-between;
70
+ text-overflow: ellipsis;
71
+ overflow: hidden;
72
+ white-space: nowrap;
73
+ display: block;
74
+ color: ${colorNeutralForeground1};
75
+ margin-bottom: ${spacingHorizontalSNudge};
76
+ }
77
+ .legendcontainer {
78
+ display: flex;
79
+ flex-direction: row;
80
+ flex-wrap: wrap;
81
+ padding-top: ${spacingVerticalL};
82
+ width: 100%;
83
+ align-items: center;
84
+ margin: -${spacingVerticalS} ${spacingHorizontalNone} ${spacingVerticalNone} -${spacingHorizontalS};
85
+ }
86
+ .legend {
87
+ display: flex;
88
+ align-items: center;
89
+ cursor: pointer;
90
+ border: none;
91
+ padding: ${spacingHorizontalS};
92
+ background: none;
93
+ text-transform: capitalize;
94
+ }
95
+ .legend-rect {
96
+ width: 12px;
97
+ height: 12px;
98
+ margin-inline-end: ${spacingHorizontalS};
99
+ border: ${strokeWidthThin} solid;
100
+ }
101
+ .legend-text {
102
+ ${typographyCaption1Styles}
103
+ color: ${colorNeutralForeground1};
104
+ }
105
+ .legend.inactive .legend-rect {
106
+ background-color: transparent !important;
107
+ }
108
+ .legend.inactive .legend-text {
109
+ opacity: 0.67;
110
+ }
111
+ .bar-label {
112
+ ${typographyBody1StrongStyles}
113
+ fill: ${colorNeutralForeground1};
114
+ }
115
+ .chart-title-div {
116
+ width: 100%;
117
+ display: flex;
118
+ justify-content: space-between;
119
+ }
120
+ .ratio-numerator {
121
+ ${typographyBody1StrongStyles}
122
+ color: ${colorNeutralForeground1};
123
+ }
124
+ .ratio-denominator {
125
+ ${typographyBody1StrongStyles}
126
+ color: ${colorNeutralForeground1};
127
+ font-weight: bold;
128
+ }
129
+ .benchmark-container {
130
+ position: relative;
131
+ height: 7px;
132
+ margin-top: -3px;
133
+ }
134
+ .triangle {
135
+ width: 0;
136
+ height: 0;
137
+ border-left: ${strokeWidthThickest} solid transparent;
138
+ border-right: ${strokeWidthThickest} solid transparent;
139
+ border-bottom: 7px solid;
140
+ border-bottom-color: ${colorNeutralStrokeAccessible};
141
+ margin-bottom: ${spacingVerticalXS};
142
+ position: absolute;
143
+ }
144
+ .chart-data-text {
145
+ ${typographyBody1StrongStyles}
146
+ color: ${colorNeutralForeground1};
147
+ }
148
+ `.withBehaviors(forcedColorsStylesheetBehavior(css `
149
+ .legend-rect,
150
+ .tooltip-line,
151
+ .triangle {
152
+ forced-color-adjust: none;
153
+ }
154
+ .tooltip-legend-text,
155
+ .tooltip-content-y {
156
+ forced-color-adjust: auto;
157
+ color: CanvasText;
158
+ }
159
+ .bar-label {
160
+ fill: CanvasText !important;
161
+ }
162
+ `));
163
+ //# sourceMappingURL=horizontal-bar-chart.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"horizontal-bar-chart.styles.js","sourceRoot":"","sources":["../../../src/horizontal-bar-chart/horizontal-bar-chart.styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,OAAO,EACP,8BAA8B,EAC9B,OAAO,EACP,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAEhB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,2BAA2B,EAC3B,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAElC;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAkB,GAAG,CAAA;IACpC,OAAO,CAAC,cAAc,CAAC;;;;;;wBAMH,uBAAuB;;;;;;;;MAQzC,wBAAwB;;;;;eAKf,qBAAqB,IAAI,kBAAkB;uBACnC,uBAAuB;;;kBAG5B,uBAAuB;kBACvB,OAAO;cACX,gBAAgB;;;;4BAIF,kBAAkB;;2BAEnB,mBAAmB;;;MAGxC,wBAAwB;aACjB,uBAAuB;;;;MAI9B,sBAAsB;;;;;;;;;;;oBAWR,gBAAgB;;;;;;;;MAQ9B,qBAAqB;;;;;;;aAOd,uBAAuB;qBACf,uBAAuB;;;;;;mBAMzB,gBAAgB;;;eAGpB,gBAAgB,IAAI,qBAAqB,IAAI,mBAAmB,KAAK,kBAAkB;;;;;;;eAOvF,kBAAkB;;;;;;;yBAOR,kBAAkB;cAC7B,eAAe;;;MAGvB,wBAAwB;aACjB,uBAAuB;;;;;;;;;MAS9B,2BAA2B;YACrB,uBAAuB;;;;;;;;MAQ7B,2BAA2B;aACpB,uBAAuB;;;MAG9B,2BAA2B;aACpB,uBAAuB;;;;;;;;;;;mBAWjB,mBAAmB;oBAClB,mBAAmB;;2BAEZ,4BAA4B;qBAClC,iBAAiB;;;;MAIhC,2BAA2B;aACpB,uBAAuB;;CAEnC,CAAC,aAAa,CACb,8BAA8B,CAAC,GAAG,CAAA;;;;;;;;;;;;;;GAcjC,CAAC,CACH,CAAC"}