@carbon/charts 1.5.0 → 1.5.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.
- package/CHANGELOG.md +11 -0
- package/build/demo/create-codesandbox.d.ts +0 -2
- package/bundle.js +1 -1
- package/components/essentials/tooltip.js +3 -1
- package/components/essentials/tooltip.js.map +1 -1
- package/demo/create-codesandbox.d.ts +0 -2
- package/demo/create-codesandbox.js +5 -7
- package/demo/create-codesandbox.js.map +1 -1
- package/demo/data/bar.js +20 -20
- package/demo/data/bar.js.map +1 -1
- package/demo/data/bundle.js +1 -1
- package/demo/tsconfig.tsbuildinfo +3 -3
- package/package.json +1 -1
- package/services/time-series.js +1 -1
- package/services/time-series.js.map +1 -1
- package/tsconfig.tsbuildinfo +2 -2
|
@@ -122,8 +122,8 @@
|
|
|
122
122
|
"signature": "7daed976a3f0970f36023ac5f65197a16102f1b948a6d350ac3d6010af983c8b"
|
|
123
123
|
},
|
|
124
124
|
"../../demo/create-codesandbox.ts": {
|
|
125
|
-
"version": "
|
|
126
|
-
"signature": "
|
|
125
|
+
"version": "f1f9e36a6ca8c64e112a4c54e22b793b8be29d59eb83a9b0f617cc7588705491",
|
|
126
|
+
"signature": "cfc26ab893c135a98d16b672cbd996021fe257fe2eeff27a1c7a8ef61d8d11b0"
|
|
127
127
|
},
|
|
128
128
|
"../../demo/utils.ts": {
|
|
129
129
|
"version": "723cdfdef075c8cb53fc6b4b3ec8fc24058b67f3039a892b58f3c7e41912bc6c",
|
|
@@ -150,7 +150,7 @@
|
|
|
150
150
|
"signature": "37dce3c308ecb1ef88ddf7c9f9346d64c2b09a36eb7dcd4fe9d9736f5608107f"
|
|
151
151
|
},
|
|
152
152
|
"../../demo/data/bar.ts": {
|
|
153
|
-
"version": "
|
|
153
|
+
"version": "78f37b5f7a67bc58891618a6397893722dcd8703d016e10de514693aed306f8c",
|
|
154
154
|
"signature": "669520899f11d4213848cb1f32dafca697a743f5800db01dcc6161d4c132c927"
|
|
155
155
|
},
|
|
156
156
|
"../../demo/data/boxplot.ts": {
|
package/package.json
CHANGED
package/services/time-series.js
CHANGED
|
@@ -74,7 +74,7 @@ export function formatTick(tick, i, allTicks, interval, timeScaleOptions) {
|
|
|
74
74
|
// if the interval, and the timestamp includes milliseconds value
|
|
75
75
|
if (interval === '15seconds' && date.getMilliseconds() !== 0) {
|
|
76
76
|
// show milliseconds in tick
|
|
77
|
-
formatString = formatString.replace('pp', 'h:
|
|
77
|
+
formatString = formatString.replace('pp', 'h:mm:ss.SSS a');
|
|
78
78
|
}
|
|
79
79
|
var locale = timeScaleOptions.localeObject;
|
|
80
80
|
return format(date, formatString, { locale: locale });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-series.js","sourceRoot":"","sources":["time-series.ts"],"names":[],"mappings":"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","sourcesContent":["import { format } from 'date-fns';\nimport { TimeScaleOptions } from '../interfaces/axis-scales';\nimport { Tools } from '../tools';\n\n// D3 Imports\nimport { min } from 'd3-array';\n\nexport const TIME_INTERVALS = [\n\t['15seconds', 15 * 1000],\n\t['minute', 60 * 1000],\n\t['30minutes', 30 * 60 * 1000],\n\t['hourly', 60 * 60 * 1000],\n\t['daily', 24 * 60 * 60 * 1000],\n\t['monthly', 30 * 24 * 60 * 60 * 1000],\n\t['quarterly', 3 * 30 * 24 * 60 * 60 * 1000],\n\t['yearly', 12 * 30 * 24 * 60 * 60 * 1000],\n];\n\n// Return true if the tick is a primary tick, false otherwise\nexport function isTickPrimary(\n\ttick: number,\n\ti: number,\n\tallTicks: Array<number>,\n\tinterval: string,\n\tshowDayName: boolean\n): boolean {\n\tconst isFirstTick = i === 0;\n\tconst hasANewWeekStarted = Number(format(new Date(tick), 'c')) === 2;\n\tconst isFirstQuarter = Number(format(new Date(tick), 'q')) === 1;\n\tconst previousTick = i !== 0 ? allTicks[i - 1] : null;\n\tswitch (interval) {\n\t\tcase '15seconds':\n\t\t\treturn (\n\t\t\t\tisFirstTick ||\n\t\t\t\tisDayOfMonthChanged(tick) ||\n\t\t\t\tisMonthChanged(tick, previousTick) ||\n\t\t\t\tisYearChanged(tick)\n\t\t\t);\n\t\tcase 'minute':\n\t\t\treturn (\n\t\t\t\tisFirstTick ||\n\t\t\t\tisDayOfMonthChanged(tick) ||\n\t\t\t\tisMonthChanged(tick, previousTick) ||\n\t\t\t\tisYearChanged(tick)\n\t\t\t);\n\t\tcase '30minutes':\n\t\t\treturn (\n\t\t\t\tisFirstTick ||\n\t\t\t\tisDayOfMonthChanged(tick) ||\n\t\t\t\tisMonthChanged(tick, previousTick) ||\n\t\t\t\tisYearChanged(tick)\n\t\t\t);\n\t\tcase 'hourly':\n\t\t\treturn (\n\t\t\t\tisFirstTick ||\n\t\t\t\tisDayOfMonthChanged(tick) ||\n\t\t\t\tisMonthChanged(tick, previousTick) ||\n\t\t\t\tisYearChanged(tick)\n\t\t\t);\n\t\tcase 'daily':\n\t\t\tif (!showDayName) {\n\t\t\t\t// daily\n\t\t\t\treturn (\n\t\t\t\t\tisFirstTick ||\n\t\t\t\t\tisMonthChanged(tick, previousTick) ||\n\t\t\t\t\tisYearChanged(tick)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// weekly\n\t\t\t\treturn isFirstTick || hasANewWeekStarted || isYearChanged(tick);\n\t\t\t}\n\t\tcase 'monthly':\n\t\t\treturn isFirstTick || isYearChanged(tick);\n\t\tcase 'quarterly':\n\t\t\treturn isFirstTick || isFirstQuarter;\n\t\tcase 'yearly':\n\t\t\treturn false;\n\t\tdefault:\n\t\t\tthrow new Error(`${interval} is not a valid time interval.`);\n\t}\n}\n\n// Return the formatted current tick\nexport function formatTick(\n\ttick: number,\n\ti: number,\n\tallTicks: Array<number>,\n\tinterval: string,\n\ttimeScaleOptions: TimeScaleOptions\n): string {\n\tconst showDayName = timeScaleOptions.showDayName;\n\tconst intervalConsideringAlsoShowDayNameOption =\n\t\tinterval === 'daily' && showDayName ? 'weekly' : interval;\n\tconst date = new Date(tick);\n\tconst formats = Tools.getProperty(timeScaleOptions, 'timeIntervalFormats')[\n\t\tintervalConsideringAlsoShowDayNameOption\n\t];\n\tconst primary = Tools.getProperty(formats, 'primary');\n\tconst secondary = Tools.getProperty(formats, 'secondary');\n\tlet formatString = isTickPrimary(tick, i, allTicks, interval, showDayName)\n\t\t? primary\n\t\t: secondary;\n\n\t// if the interval, and the timestamp includes milliseconds value\n\tif (interval === '15seconds' && date.getMilliseconds() !== 0){\n\t\t// show milliseconds in tick\n\t\tformatString = formatString.replace('pp', 'h:m:s.SSS a');\n\t}\n\n\tconst locale = timeScaleOptions.localeObject;\n\n\treturn format(date, formatString, { locale });\n}\n\n// Given a timestamp, return an object of useful time formats\n// Use Unicode date field symbol (https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table)\nexport function getTimeformats(timestamp: number) {\n\tconst date = new Date(timestamp);\n\treturn {\n\t\tM: date.getMonth() + 1, // month: 1-12\n\t\td: date.getDate(), // day of the month: 1-31\n\t\tH: date.getHours(), // 24-hour clock: 0-23\n\t\tm: date.getMinutes(), // minute: 0-59\n\t\ts: date.getSeconds(), // seconds: 0-59\n\t};\n}\n\n// Find the differences between consecutive numbers in an array\nfunction getConsecutiveDifferences(elements: number[]): number[] {\n\tif (!elements) {\n\t\treturn;\n\t}\n\treturn elements.slice(1).map((elem, i) => elem - elements[i]);\n}\n\n// Given a duration in ms, return the closest TIME_INTERVAL name\nfunction closestTimeIntervalName(duration: number): string {\n\tconst index = TIME_INTERVALS.reduce(\n\t\t(nearestIndex, [intervalName, delta]: [string, number], i) => {\n\t\t\tconst deltaNearest = TIME_INTERVALS[nearestIndex][1] as number;\n\t\t\tconst oldNearestSpan = Math.abs(deltaNearest - duration);\n\t\t\tconst currentSpan = Math.abs(delta - duration);\n\t\t\treturn oldNearestSpan < currentSpan ? nearestIndex : i;\n\t\t},\n\t\t0\n\t);\n\treturn TIME_INTERVALS[index][0] as string;\n}\n\n// Given an array of timestamps, return the interval name\n// between 15seconds, minute, 30minutes, hourly, daily, weekly, monthly, quarterly, yearly\nexport function computeTimeIntervalName(ticks: number[]): string {\n\t// special case: if the dataset has only one datum, we show the tick in the most detailed way possible\n\tif (ticks.length === 1) {\n\t\treturn '15seconds';\n\t}\n\tconst differences = getConsecutiveDifferences(ticks);\n\tconst minDifference = min(differences);\n\treturn closestTimeIntervalName(minDifference);\n}\n\n// Return true if the day of the month (D = 1-31) is changed, false otherwise\nfunction isDayOfMonthChanged(timestamp: number): boolean {\n\tconst { s, m, H } = getTimeformats(timestamp);\n\treturn H === 0 && m === 0 && s === 0;\n}\n\n// Return true if the month (M = 1-12) is changed from previous tick's timestamp, false otherwise\nfunction isMonthChanged(\n\ttimestamp: number,\n\tpreviousTimestamp?: number\n): boolean {\n\tconst currentMonth = getTimeformats(timestamp).M;\n\tconst previousMonth = getTimeformats(previousTimestamp).M;\n\treturn currentMonth !== previousMonth;\n}\n\n// Return true if the year (YYYY) is changed, false otherwise\nfunction isYearChanged(timestamp: number): boolean {\n\tconst { M, d, s, m, H } = getTimeformats(timestamp);\n\treturn M === 1 && d === 1 && H === 0 && m === 0 && s === 0;\n}\n\n// Return string value of Date with milliseconds\nexport function formatDateTillMilliSeconds(date: Date) {\n\tif (date === undefined) {\n\t\treturn '';\n\t}\n\n\t// The only valid format with millisecond is ISO 8601\n\treturn date.toISOString();\n}\n"]}
|
|
1
|
+
{"version":3,"file":"time-series.js","sourceRoot":"","sources":["time-series.ts"],"names":[],"mappings":"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","sourcesContent":["import { format } from 'date-fns';\nimport { TimeScaleOptions } from '../interfaces/axis-scales';\nimport { Tools } from '../tools';\n\n// D3 Imports\nimport { min } from 'd3-array';\n\nexport const TIME_INTERVALS = [\n\t['15seconds', 15 * 1000],\n\t['minute', 60 * 1000],\n\t['30minutes', 30 * 60 * 1000],\n\t['hourly', 60 * 60 * 1000],\n\t['daily', 24 * 60 * 60 * 1000],\n\t['monthly', 30 * 24 * 60 * 60 * 1000],\n\t['quarterly', 3 * 30 * 24 * 60 * 60 * 1000],\n\t['yearly', 12 * 30 * 24 * 60 * 60 * 1000],\n];\n\n// Return true if the tick is a primary tick, false otherwise\nexport function isTickPrimary(\n\ttick: number,\n\ti: number,\n\tallTicks: Array<number>,\n\tinterval: string,\n\tshowDayName: boolean\n): boolean {\n\tconst isFirstTick = i === 0;\n\tconst hasANewWeekStarted = Number(format(new Date(tick), 'c')) === 2;\n\tconst isFirstQuarter = Number(format(new Date(tick), 'q')) === 1;\n\tconst previousTick = i !== 0 ? allTicks[i - 1] : null;\n\tswitch (interval) {\n\t\tcase '15seconds':\n\t\t\treturn (\n\t\t\t\tisFirstTick ||\n\t\t\t\tisDayOfMonthChanged(tick) ||\n\t\t\t\tisMonthChanged(tick, previousTick) ||\n\t\t\t\tisYearChanged(tick)\n\t\t\t);\n\t\tcase 'minute':\n\t\t\treturn (\n\t\t\t\tisFirstTick ||\n\t\t\t\tisDayOfMonthChanged(tick) ||\n\t\t\t\tisMonthChanged(tick, previousTick) ||\n\t\t\t\tisYearChanged(tick)\n\t\t\t);\n\t\tcase '30minutes':\n\t\t\treturn (\n\t\t\t\tisFirstTick ||\n\t\t\t\tisDayOfMonthChanged(tick) ||\n\t\t\t\tisMonthChanged(tick, previousTick) ||\n\t\t\t\tisYearChanged(tick)\n\t\t\t);\n\t\tcase 'hourly':\n\t\t\treturn (\n\t\t\t\tisFirstTick ||\n\t\t\t\tisDayOfMonthChanged(tick) ||\n\t\t\t\tisMonthChanged(tick, previousTick) ||\n\t\t\t\tisYearChanged(tick)\n\t\t\t);\n\t\tcase 'daily':\n\t\t\tif (!showDayName) {\n\t\t\t\t// daily\n\t\t\t\treturn (\n\t\t\t\t\tisFirstTick ||\n\t\t\t\t\tisMonthChanged(tick, previousTick) ||\n\t\t\t\t\tisYearChanged(tick)\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// weekly\n\t\t\t\treturn isFirstTick || hasANewWeekStarted || isYearChanged(tick);\n\t\t\t}\n\t\tcase 'monthly':\n\t\t\treturn isFirstTick || isYearChanged(tick);\n\t\tcase 'quarterly':\n\t\t\treturn isFirstTick || isFirstQuarter;\n\t\tcase 'yearly':\n\t\t\treturn false;\n\t\tdefault:\n\t\t\tthrow new Error(`${interval} is not a valid time interval.`);\n\t}\n}\n\n// Return the formatted current tick\nexport function formatTick(\n\ttick: number,\n\ti: number,\n\tallTicks: Array<number>,\n\tinterval: string,\n\ttimeScaleOptions: TimeScaleOptions\n): string {\n\tconst showDayName = timeScaleOptions.showDayName;\n\tconst intervalConsideringAlsoShowDayNameOption =\n\t\tinterval === 'daily' && showDayName ? 'weekly' : interval;\n\tconst date = new Date(tick);\n\tconst formats = Tools.getProperty(timeScaleOptions, 'timeIntervalFormats')[\n\t\tintervalConsideringAlsoShowDayNameOption\n\t];\n\tconst primary = Tools.getProperty(formats, 'primary');\n\tconst secondary = Tools.getProperty(formats, 'secondary');\n\tlet formatString = isTickPrimary(tick, i, allTicks, interval, showDayName)\n\t\t? primary\n\t\t: secondary;\n\n\t// if the interval, and the timestamp includes milliseconds value\n\tif (interval === '15seconds' && date.getMilliseconds() !== 0){\n\t\t// show milliseconds in tick\n\t\tformatString = formatString.replace('pp', 'h:mm:ss.SSS a');\n\t}\n\n\tconst locale = timeScaleOptions.localeObject;\n\n\treturn format(date, formatString, { locale });\n}\n\n// Given a timestamp, return an object of useful time formats\n// Use Unicode date field symbol (https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table)\nexport function getTimeformats(timestamp: number) {\n\tconst date = new Date(timestamp);\n\treturn {\n\t\tM: date.getMonth() + 1, // month: 1-12\n\t\td: date.getDate(), // day of the month: 1-31\n\t\tH: date.getHours(), // 24-hour clock: 0-23\n\t\tm: date.getMinutes(), // minute: 0-59\n\t\ts: date.getSeconds(), // seconds: 0-59\n\t};\n}\n\n// Find the differences between consecutive numbers in an array\nfunction getConsecutiveDifferences(elements: number[]): number[] {\n\tif (!elements) {\n\t\treturn;\n\t}\n\treturn elements.slice(1).map((elem, i) => elem - elements[i]);\n}\n\n// Given a duration in ms, return the closest TIME_INTERVAL name\nfunction closestTimeIntervalName(duration: number): string {\n\tconst index = TIME_INTERVALS.reduce(\n\t\t(nearestIndex, [intervalName, delta]: [string, number], i) => {\n\t\t\tconst deltaNearest = TIME_INTERVALS[nearestIndex][1] as number;\n\t\t\tconst oldNearestSpan = Math.abs(deltaNearest - duration);\n\t\t\tconst currentSpan = Math.abs(delta - duration);\n\t\t\treturn oldNearestSpan < currentSpan ? nearestIndex : i;\n\t\t},\n\t\t0\n\t);\n\treturn TIME_INTERVALS[index][0] as string;\n}\n\n// Given an array of timestamps, return the interval name\n// between 15seconds, minute, 30minutes, hourly, daily, weekly, monthly, quarterly, yearly\nexport function computeTimeIntervalName(ticks: number[]): string {\n\t// special case: if the dataset has only one datum, we show the tick in the most detailed way possible\n\tif (ticks.length === 1) {\n\t\treturn '15seconds';\n\t}\n\tconst differences = getConsecutiveDifferences(ticks);\n\tconst minDifference = min(differences);\n\treturn closestTimeIntervalName(minDifference);\n}\n\n// Return true if the day of the month (D = 1-31) is changed, false otherwise\nfunction isDayOfMonthChanged(timestamp: number): boolean {\n\tconst { s, m, H } = getTimeformats(timestamp);\n\treturn H === 0 && m === 0 && s === 0;\n}\n\n// Return true if the month (M = 1-12) is changed from previous tick's timestamp, false otherwise\nfunction isMonthChanged(\n\ttimestamp: number,\n\tpreviousTimestamp?: number\n): boolean {\n\tconst currentMonth = getTimeformats(timestamp).M;\n\tconst previousMonth = getTimeformats(previousTimestamp).M;\n\treturn currentMonth !== previousMonth;\n}\n\n// Return true if the year (YYYY) is changed, false otherwise\nfunction isYearChanged(timestamp: number): boolean {\n\tconst { M, d, s, m, H } = getTimeformats(timestamp);\n\treturn M === 1 && d === 1 && H === 0 && m === 0 && s === 0;\n}\n\n// Return string value of Date with milliseconds\nexport function formatDateTillMilliSeconds(date: Date) {\n\tif (date === undefined) {\n\t\treturn '';\n\t}\n\n\t// The only valid format with millisecond is ISO 8601\n\treturn date.toISOString();\n}\n"]}
|
package/tsconfig.tsbuildinfo
CHANGED
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
"signature": "0e3e81163b8560e5cf094a3957ed8e8ef46e38c274a0889df30c982d243046a6"
|
|
175
175
|
},
|
|
176
176
|
"../src/services/time-series.ts": {
|
|
177
|
-
"version": "
|
|
177
|
+
"version": "94593b825c1464c561cf42404cb2163e8025507c9dc387b9f934eb3e42467f8d",
|
|
178
178
|
"signature": "3f506ad894cc38419ebd522ad1806e2e51e707385f0424b163c9e5358bfe0ffc"
|
|
179
179
|
},
|
|
180
180
|
"../src/model/model.ts": {
|
|
@@ -314,7 +314,7 @@
|
|
|
314
314
|
"signature": "7a5e7f53c24704ecbd796bbaec8273a1e23d4847701feb9737e1d1b610e93439"
|
|
315
315
|
},
|
|
316
316
|
"../src/components/essentials/tooltip.ts": {
|
|
317
|
-
"version": "
|
|
317
|
+
"version": "f71efb3f4cbf1afe521fa1025ef203005b51e36c88f3388e9a03446bf5b48ac1",
|
|
318
318
|
"signature": "03c2081ebe8e32a16aa2c3ed3ae49083ce863392e2bb8d1369c0fc29f938cf7a"
|
|
319
319
|
},
|
|
320
320
|
"../src/components/essentials/tooltip-axis.ts": {
|