Socket
Socket
Sign inDemoInstall

@uiw/react-heat-map

Package Overview
Dependencies
7
Maintainers
1
Versions
31
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.4.1 to 1.4.2

51

esm/index.js

@@ -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

@@ -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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc