@uiw/react-heat-map
Advanced tools
Comparing version 1.4.1 to 1.4.2
@@ -1,40 +0,10 @@ | ||
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; | ||
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _exportNames = {}; | ||
exports.default = HeatMap; | ||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); | ||
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); | ||
var _react = _interopRequireDefault(require("react")); | ||
var _SVG = _interopRequireWildcard(require("./SVG")); | ||
Object.keys(_SVG).forEach(function (key) { | ||
if (key === "default" || key === "__esModule") return; | ||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; | ||
if (key in exports && exports[key] === _SVG[key]) return; | ||
Object.defineProperty(exports, key, { | ||
enumerable: true, | ||
get: function get() { | ||
return _SVG[key]; | ||
} | ||
}); | ||
}); | ||
require("./style/index.css"); | ||
var _jsxRuntime = require("react/jsx-runtime"); | ||
import _extends from "@babel/runtime/helpers/extends"; | ||
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose"; | ||
var _excluded = ["prefixCls", "className"]; | ||
function HeatMap(props) { | ||
import React from 'react'; | ||
import SVG from './SVG'; | ||
import "./style/index.css"; | ||
import { jsx as _jsx } from "react/jsx-runtime"; | ||
export * from './SVG'; | ||
export default function HeatMap(props) { | ||
var { | ||
@@ -44,5 +14,6 @@ prefixCls = 'w-heatmap', | ||
} = props, | ||
others = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded); | ||
others = _objectWithoutPropertiesLoose(props, _excluded); | ||
var cls = [className, prefixCls].filter(Boolean).join(' '); | ||
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SVG.default, (0, _extends2.default)({ | ||
return /*#__PURE__*/_jsx(SVG, _extends({ | ||
className: cls | ||
@@ -49,0 +20,0 @@ }, others)); |
@@ -1,17 +0,5 @@ | ||
"use strict"; | ||
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.LablesMonth = void 0; | ||
var _react = _interopRequireWildcard(require("react")); | ||
var _utils = require("./utils"); | ||
var _jsxRuntime = require("react/jsx-runtime"); | ||
var LablesMonth = _ref => { | ||
import React, { Fragment, useMemo } from 'react'; | ||
import { oneDayTime } from './utils'; | ||
import { jsx as _jsx } from "react/jsx-runtime"; | ||
export var LablesMonth = _ref => { | ||
var { | ||
@@ -25,7 +13,7 @@ monthLables = [], | ||
} = _ref; | ||
var data = (0, _react.useMemo)(() => { | ||
var data = useMemo(() => { | ||
if (monthLables === false || colNum < 1) return []; | ||
return [...Array(colNum * 7)].map((_, idx) => { | ||
if (idx / 7 % 1 === 0) { | ||
var date = new Date(startDate.getTime() + idx * _utils.oneDayTime); | ||
var date = new Date(startDate.getTime() + idx * oneDayTime); | ||
var month = date.getMonth(); | ||
@@ -45,5 +33,5 @@ return { | ||
}, [colNum, monthLables, startDate]); | ||
return (0, _react.useMemo)(() => /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, { | ||
return useMemo(() => /*#__PURE__*/_jsx(Fragment, { | ||
children: [...data].map((item, idx) => { | ||
return /*#__PURE__*/(0, _jsxRuntime.jsx)("text", { | ||
return /*#__PURE__*/_jsx("text", { | ||
"data-size": rectSize, | ||
@@ -59,4 +47,2 @@ x: leftPad + space + space, | ||
}; | ||
exports.LablesMonth = LablesMonth; | ||
//# sourceMappingURL=LablesMonth.js.map |
@@ -1,15 +0,4 @@ | ||
"use strict"; | ||
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.LablesWeek = void 0; | ||
var _react = _interopRequireWildcard(require("react")); | ||
var _jsxRuntime = require("react/jsx-runtime"); | ||
var LablesWeek = _ref => { | ||
import React, { Fragment, useMemo } from 'react'; | ||
import { jsx as _jsx } from "react/jsx-runtime"; | ||
export var LablesWeek = _ref => { | ||
var { | ||
@@ -21,6 +10,6 @@ weekLables = [], | ||
} = _ref; | ||
return (0, _react.useMemo)(() => /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, { | ||
return useMemo(() => /*#__PURE__*/_jsx(Fragment, { | ||
children: [...Array(7)].map((_, idx) => { | ||
if (weekLables && weekLables[idx]) { | ||
return /*#__PURE__*/(0, _jsxRuntime.jsx)("text", { | ||
return /*#__PURE__*/_jsx("text", { | ||
x: 15, | ||
@@ -37,4 +26,2 @@ y: topPad, | ||
}; | ||
exports.LablesWeek = LablesWeek; | ||
//# sourceMappingURL=LablesWeek.js.map |
@@ -1,25 +0,8 @@ | ||
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; | ||
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = Legend; | ||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); | ||
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); | ||
var _react = _interopRequireWildcard(require("react")); | ||
var _Rect = require("./Rect"); | ||
var _jsxRuntime = require("react/jsx-runtime"); | ||
import _extends from "@babel/runtime/helpers/extends"; | ||
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose"; | ||
var _excluded = ["panelColors", "leftPad", "topPad", "space", "rectSize", "legendCellSize", "legendRender"]; | ||
function Legend(_ref) { | ||
import React, { Fragment, useMemo } from 'react'; | ||
import { Rect } from './Rect'; | ||
import { jsx as _jsx } from "react/jsx-runtime"; | ||
export default function Legend(_ref) { | ||
var { | ||
@@ -34,7 +17,8 @@ panelColors, | ||
} = _ref, | ||
props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded); | ||
props = _objectWithoutPropertiesLoose(_ref, _excluded); | ||
var size = legendCellSize || rectSize; | ||
return (0, _react.useMemo)(() => /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, { | ||
return useMemo(() => /*#__PURE__*/_jsx(Fragment, { | ||
children: Object.keys(panelColors || {}).map((num, key) => { | ||
var rectProps = (0, _extends2.default)({}, props, { | ||
var rectProps = _extends({}, props, { | ||
key, | ||
@@ -47,4 +31,5 @@ x: (size + 1) * key + leftPad, | ||
}); | ||
if (legendRender) return legendRender(rectProps); | ||
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Rect.Rect, (0, _extends2.default)({}, rectProps)); | ||
return /*#__PURE__*/_jsx(Rect, _extends({}, rectProps)); | ||
}) | ||
@@ -51,0 +36,0 @@ }), [panelColors, props, size, leftPad, topPad, rectSize, legendRender]); |
@@ -1,19 +0,5 @@ | ||
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.Rect = void 0; | ||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); | ||
var _react = _interopRequireDefault(require("react")); | ||
var _jsxRuntime = require("react/jsx-runtime"); | ||
var Rect = props => /*#__PURE__*/(0, _jsxRuntime.jsx)("rect", (0, _extends2.default)({}, props)); | ||
exports.Rect = Rect; | ||
import _extends from "@babel/runtime/helpers/extends"; | ||
import React from 'react'; | ||
import { jsx as _jsx } from "react/jsx-runtime"; | ||
export var Rect = props => /*#__PURE__*/_jsx("rect", _extends({}, props)); | ||
//# sourceMappingURL=Rect.js.map |
102
esm/SVG.js
@@ -1,33 +0,13 @@ | ||
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; | ||
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = SVG; | ||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); | ||
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); | ||
var _react = _interopRequireWildcard(require("react")); | ||
var _LablesWeek = require("./LablesWeek"); | ||
var _LablesMonth = require("./LablesMonth"); | ||
var _Rect = require("./Rect"); | ||
var _utils = require("./utils"); | ||
var _Legend = _interopRequireDefault(require("./Legend")); | ||
var _jsxRuntime = require("react/jsx-runtime"); | ||
import _extends from "@babel/runtime/helpers/extends"; | ||
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose"; | ||
var _excluded = ["rectSize", "legendCellSize", "space", "startDate", "endDate", "rectProps", "rectRender", "legendRender", "value", "weekLables", "monthLables", "panelColors"]; | ||
function SVG(props) { | ||
import React, { useEffect, useMemo, useState } from 'react'; | ||
import { LablesWeek } from './LablesWeek'; | ||
import { LablesMonth } from './LablesMonth'; | ||
import { Rect } from './Rect'; | ||
import { formatData, getDateToString, existColor, numberSort, isValidDate, oneDayTime } from './utils'; | ||
import Legend from './Legend'; | ||
import { jsx as _jsx } from "react/jsx-runtime"; | ||
import { jsxs as _jsxs } from "react/jsx-runtime"; | ||
export default function SVG(props) { | ||
var _ref = props || {}, | ||
@@ -54,14 +34,12 @@ { | ||
} = _ref, | ||
other = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded); | ||
other = _objectWithoutPropertiesLoose(_ref, _excluded); | ||
var [gridNum, setGridNum] = (0, _react.useState)(0); | ||
var [leftPad, setLeftPad] = (0, _react.useState)(!!weekLables ? 28 : 5); | ||
var [topPad, setTopPad] = (0, _react.useState)(!!monthLables ? 20 : 5); | ||
var svgRef = /*#__PURE__*/_react.default.createRef(); | ||
var nums = (0, _react.useMemo)(() => (0, _utils.numberSort)(Object.keys(panelColors).map(item => parseInt(item, 10))), [panelColors]); | ||
var data = (0, _react.useMemo)(() => (0, _utils.formatData)(value), [value]); | ||
(0, _react.useEffect)(() => setLeftPad(!!weekLables ? 28 : 5), [weekLables]); | ||
(0, _react.useEffect)(() => { | ||
var [gridNum, setGridNum] = useState(0); | ||
var [leftPad, setLeftPad] = useState(!!weekLables ? 28 : 5); | ||
var [topPad, setTopPad] = useState(!!monthLables ? 20 : 5); | ||
var svgRef = /*#__PURE__*/React.createRef(); | ||
var nums = useMemo(() => numberSort(Object.keys(panelColors).map(item => parseInt(item, 10))), [panelColors]); | ||
var data = useMemo(() => formatData(value), [value]); | ||
useEffect(() => setLeftPad(!!weekLables ? 28 : 5), [weekLables]); | ||
useEffect(() => { | ||
if (svgRef.current) { | ||
@@ -72,17 +50,17 @@ var width = svgRef.current.clientWidth - leftPad || 0; | ||
}, [rectSize, svgRef, space, leftPad]); | ||
(0, _react.useEffect)(() => { | ||
useEffect(() => { | ||
setTopPad(!!monthLables ? 20 : 5); | ||
}, [monthLables]); | ||
var initStartDate = (0, _react.useMemo)(() => { | ||
if ((0, _utils.isValidDate)(startDate)) { | ||
return !startDate.getDay() ? startDate : new Date(startDate.getTime() - startDate.getDay() * _utils.oneDayTime); | ||
var initStartDate = useMemo(() => { | ||
if (isValidDate(startDate)) { | ||
return !startDate.getDay() ? startDate : new Date(startDate.getTime() - startDate.getDay() * oneDayTime); | ||
} else { | ||
var newDate = new Date(); | ||
return new Date(newDate.getTime() - newDate.getDay() * _utils.oneDayTime); | ||
return new Date(newDate.getTime() - newDate.getDay() * oneDayTime); | ||
} | ||
}, [startDate]); | ||
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", (0, _extends2.default)({ | ||
return /*#__PURE__*/_jsxs("svg", _extends({ | ||
ref: svgRef | ||
}, other, { | ||
children: [legendCellSize !== 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Legend.default, { | ||
children: [legendCellSize !== 0 && /*#__PURE__*/_jsx(Legend, { | ||
legendRender: legendRender, | ||
@@ -95,3 +73,3 @@ panelColors: panelColors, | ||
space: space | ||
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LablesWeek.LablesWeek, { | ||
}), /*#__PURE__*/_jsx(LablesWeek, { | ||
weekLables: weekLables, | ||
@@ -101,3 +79,3 @@ rectSize: rectSize, | ||
topPad: topPad | ||
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LablesMonth.LablesMonth, { | ||
}), /*#__PURE__*/_jsx(LablesMonth, { | ||
monthLables: monthLables, | ||
@@ -109,9 +87,9 @@ rectSize: rectSize, | ||
startDate: initStartDate | ||
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", { | ||
}), /*#__PURE__*/_jsx("g", { | ||
transform: "translate(" + leftPad + ", " + topPad + ")", | ||
children: gridNum > 0 && [...Array(gridNum)].map((_, idx) => { | ||
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", { | ||
return /*#__PURE__*/_jsx("g", { | ||
"data-column": idx, | ||
children: [...Array(7)].map((_, cidx) => { | ||
var dayProps = (0, _extends2.default)({}, rectProps, { | ||
var dayProps = _extends({}, rectProps, { | ||
key: cidx, | ||
@@ -124,5 +102,7 @@ fill: '#EBEDF0', | ||
}); | ||
var currentDate = new Date(initStartDate.getTime() + _utils.oneDayTime * (idx * 7 + cidx)); | ||
var date = (0, _utils.getDateToString)(currentDate); | ||
var dataProps = (0, _extends2.default)({}, data[date], { | ||
var currentDate = new Date(initStartDate.getTime() + oneDayTime * (idx * 7 + cidx)); | ||
var date = getDateToString(currentDate); | ||
var dataProps = _extends({}, data[date], { | ||
date: date, | ||
@@ -139,3 +119,3 @@ row: cidx, | ||
if (date && data[date] && panelColors && Object.keys(panelColors).length > 0) { | ||
dayProps.fill = (0, _utils.existColor)(data[date].count || 0, nums, panelColors); | ||
dayProps.fill = existColor(data[date].count || 0, nums, panelColors); | ||
} else if (panelColors && panelColors[0]) { | ||
@@ -146,7 +126,7 @@ dayProps.fill = panelColors[0]; | ||
if (rectRender && typeof rectRender === 'function') { | ||
var elm = rectRender((0, _extends2.default)({}, dayProps, { | ||
var elm = rectRender(_extends({}, dayProps, { | ||
key: cidx | ||
}), dataProps); | ||
if (elm && /*#__PURE__*/_react.default.isValidElement(elm)) { | ||
if (elm && /*#__PURE__*/React.isValidElement(elm)) { | ||
return elm; | ||
@@ -156,3 +136,3 @@ } | ||
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Rect.Rect, (0, _extends2.default)({}, dayProps, { | ||
return /*#__PURE__*/_jsx(Rect, _extends({}, dayProps, { | ||
"data-date": date, | ||
@@ -159,0 +139,0 @@ "data-index": dataProps.index, |
@@ -1,24 +0,9 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.isValidDate = isValidDate; | ||
exports.getDateToString = getDateToString; | ||
exports.formatData = formatData; | ||
exports.numberSort = numberSort; | ||
exports.existColor = existColor; | ||
exports.oneDayTime = void 0; | ||
var oneDayTime = 24 * 60 * 60 * 1000; | ||
exports.oneDayTime = oneDayTime; | ||
function isValidDate(date) { | ||
export var oneDayTime = 24 * 60 * 60 * 1000; | ||
export function isValidDate(date) { | ||
return date instanceof Date && !isNaN(date.getTime()); | ||
} | ||
function getDateToString(date) { | ||
export function getDateToString(date) { | ||
return date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + date.getDate(); | ||
} | ||
function formatData(data) { | ||
export function formatData(data) { | ||
if (data === void 0) { | ||
@@ -39,4 +24,3 @@ data = []; | ||
function numberSort(keys) { | ||
export function numberSort(keys) { | ||
if (keys === void 0) { | ||
@@ -51,4 +35,3 @@ keys = []; | ||
} | ||
function existColor(num, nums, panelColors) { | ||
export function existColor(num, nums, panelColors) { | ||
if (num === void 0) { | ||
@@ -55,0 +38,0 @@ num = 0; |
{ | ||
"name": "@uiw/react-heat-map", | ||
"version": "1.4.1", | ||
"version": "1.4.2", | ||
"description": "React component create calendar heatmap to visualize time series data, a la github contribution graph.", | ||
@@ -67,3 +67,3 @@ "homepage": "https://uiwjs.github.io/react-heat-map/", | ||
"rehype-attr": "2.0.1", | ||
"tsbb": "3.1.2" | ||
"tsbb": "3.1.3" | ||
}, | ||
@@ -70,0 +70,0 @@ "eslintConfig": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
98450
909