@pie-lib/plot 3.1.0-next.0 → 3.1.0-next.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.
- package/CHANGELOG.md +32 -0
- package/package.json +4 -4
- package/lib/__tests__/draggable.test.js +0 -48
- package/lib/__tests__/grid-draggable.test.js +0 -773
- package/lib/__tests__/root.test.js +0 -265
- package/lib/__tests__/trig.test.js +0 -168
- package/lib/__tests__/utils.test.js +0 -300
- package/lib/draggable.js +0 -44
- package/lib/draggable.js.map +0 -1
- package/lib/graph-props.js +0 -46
- package/lib/graph-props.js.map +0 -1
- package/lib/grid-draggable.js +0 -307
- package/lib/grid-draggable.js.map +0 -1
- package/lib/index.js +0 -44
- package/lib/index.js.map +0 -1
- package/lib/label.js +0 -150
- package/lib/label.js.map +0 -1
- package/lib/root.js +0 -455
- package/lib/root.js.map +0 -1
- package/lib/trig.js +0 -149
- package/lib/trig.js.map +0 -1
- package/lib/types.js +0 -40
- package/lib/types.js.map +0 -1
- package/lib/utils.js +0 -168
- package/lib/utils.js.map +0 -1
package/lib/label.js
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
-
var _renderUi = require("@pie-lib/render-ui");
|
|
13
|
-
var _editableHtmlTipTap = _interopRequireDefault(require("@pie-lib/editable-html-tip-tap"));
|
|
14
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
-
var _utils = require("./utils");
|
|
16
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
17
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
18
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
19
|
-
var styles = {
|
|
20
|
-
axisLabel: {
|
|
21
|
-
fontSize: 12,
|
|
22
|
-
textAlign: 'center',
|
|
23
|
-
margin: 4,
|
|
24
|
-
padding: '4px 0'
|
|
25
|
-
},
|
|
26
|
-
chartLabel: {
|
|
27
|
-
fontSize: 16,
|
|
28
|
-
textAlign: 'center',
|
|
29
|
-
margin: 4,
|
|
30
|
-
padding: '4px 0'
|
|
31
|
-
},
|
|
32
|
-
disabledLabel: {
|
|
33
|
-
pointerEvents: 'none',
|
|
34
|
-
width: '100%'
|
|
35
|
-
},
|
|
36
|
-
editLabel: {
|
|
37
|
-
position: 'absolute',
|
|
38
|
-
backgroundColor: 'white',
|
|
39
|
-
borderRadius: 4,
|
|
40
|
-
boxShadow: '0px 5px 8px rgba(0,0,0,0.15)',
|
|
41
|
-
zIndex: 10
|
|
42
|
-
},
|
|
43
|
-
rotateLeftLabel: {
|
|
44
|
-
transform: 'rotate(-90deg)',
|
|
45
|
-
transformOrigin: '0 0',
|
|
46
|
-
position: 'absolute'
|
|
47
|
-
},
|
|
48
|
-
rotateRightLabel: {
|
|
49
|
-
transform: 'rotate(90deg)',
|
|
50
|
-
transformOrigin: '0 0',
|
|
51
|
-
position: 'absolute'
|
|
52
|
-
},
|
|
53
|
-
customBottom: {
|
|
54
|
-
position: 'absolute'
|
|
55
|
-
},
|
|
56
|
-
displayNone: {
|
|
57
|
-
display: 'none'
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
var LabelComponent = function LabelComponent(props) {
|
|
61
|
-
var disabledLabel = props.disabledLabel,
|
|
62
|
-
graphHeight = props.graphHeight,
|
|
63
|
-
graphWidth = props.graphWidth,
|
|
64
|
-
isChartBottomLabel = props.isChartBottomLabel,
|
|
65
|
-
isDefineChartBottomLabel = props.isDefineChartBottomLabel,
|
|
66
|
-
isChartLeftLabel = props.isChartLeftLabel,
|
|
67
|
-
isDefineChartLeftLabel = props.isDefineChartLeftLabel,
|
|
68
|
-
placeholder = props.placeholder,
|
|
69
|
-
text = props.text,
|
|
70
|
-
side = props.side,
|
|
71
|
-
onChange = props.onChange,
|
|
72
|
-
_props$mathMlOptions = props.mathMlOptions,
|
|
73
|
-
mathMlOptions = _props$mathMlOptions === void 0 ? {} : _props$mathMlOptions,
|
|
74
|
-
charactersLimit = props.charactersLimit,
|
|
75
|
-
titleHeight = props.titleHeight;
|
|
76
|
-
var _useState = (0, _react.useState)(false),
|
|
77
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
78
|
-
rotatedToHorizontal = _useState2[0],
|
|
79
|
-
setRotatedToHorizontal = _useState2[1];
|
|
80
|
-
var activePlugins = ['bold', 'italic', 'underline', 'strikethrough', 'math'];
|
|
81
|
-
var isChart = isChartBottomLabel || isChartLeftLabel || isDefineChartBottomLabel || isDefineChartLeftLabel;
|
|
82
|
-
var chartValue = side === 'left' && isDefineChartLeftLabel && graphHeight - 220;
|
|
83
|
-
var defaultStyle = {
|
|
84
|
-
width: chartValue || (side === 'left' || side === 'right' ? graphHeight - 8 : graphWidth - 8),
|
|
85
|
-
top: chartValue || isChartLeftLabel && "".concat(graphHeight - 70, "px") || side === 'left' && "".concat(graphHeight - 8, "px") || isChartBottomLabel && "".concat(graphHeight - 60 + titleHeight, "px") || side === 'bottom' && "".concat(graphHeight - 120 + titleHeight, "px") || 0,
|
|
86
|
-
left: side === 'right' && "".concat(graphWidth - 8, "px") || (isDefineChartLeftLabel || isDefineChartBottomLabel) && '40px' || isChartBottomLabel && '-10px' || 0
|
|
87
|
-
};
|
|
88
|
-
var rotatedStyle = {
|
|
89
|
-
width: graphWidth - 8,
|
|
90
|
-
top: side === 'right' ? "".concat(graphHeight - 22, "px") : 0,
|
|
91
|
-
left: 0
|
|
92
|
-
};
|
|
93
|
-
var rotateLabel = function rotateLabel() {
|
|
94
|
-
if (!disabledLabel && (side === 'left' || side === 'right')) {
|
|
95
|
-
setRotatedToHorizontal(true);
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
var exitEditMode = function exitEditMode() {
|
|
99
|
-
setRotatedToHorizontal(false);
|
|
100
|
-
|
|
101
|
-
// blur active element because rotation is causing editing issues on exit
|
|
102
|
-
requestAnimationFrame(function () {
|
|
103
|
-
var _document$activeEleme, _document$activeEleme2;
|
|
104
|
-
(_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 || (_document$activeEleme2 = _document$activeEleme.blur) === null || _document$activeEleme2 === void 0 || _document$activeEleme2.call(_document$activeEleme);
|
|
105
|
-
});
|
|
106
|
-
};
|
|
107
|
-
return /*#__PURE__*/_react["default"].createElement(_renderUi.Readable, {
|
|
108
|
-
"false": true
|
|
109
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
110
|
-
onClick: rotateLabel,
|
|
111
|
-
style: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, rotatedToHorizontal ? rotatedStyle : defaultStyle), isChart ? styles.chartLabel : styles.axisLabel), side === 'left' && !rotatedToHorizontal ? styles.rotateLeftLabel : {}), side === 'right' && !rotatedToHorizontal ? styles.rotateRightLabel : {}), rotatedToHorizontal ? styles.editLabel : {}), isChartBottomLabel || isDefineChartBottomLabel ? styles.customBottom : {}), disabledLabel && !isChart && (0, _utils.isEmptyString)((0, _utils.extractTextFromHTML)(text)) && styles.displayNone)
|
|
112
|
-
}, disabledLabel ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
113
|
-
style: styles.disabledLabel,
|
|
114
|
-
dangerouslySetInnerHTML: {
|
|
115
|
-
__html: text || ''
|
|
116
|
-
}
|
|
117
|
-
}) : /*#__PURE__*/_react["default"].createElement(_editableHtmlTipTap["default"], {
|
|
118
|
-
markup: text || '',
|
|
119
|
-
onChange: onChange,
|
|
120
|
-
placeholder: !disabledLabel && placeholder,
|
|
121
|
-
toolbarOpts: {
|
|
122
|
-
position: side === 'bottom' ? 'top' : 'bottom',
|
|
123
|
-
noPadding: true,
|
|
124
|
-
noBorder: true
|
|
125
|
-
},
|
|
126
|
-
disableScrollbar: true,
|
|
127
|
-
activePlugins: activePlugins,
|
|
128
|
-
onDone: exitEditMode,
|
|
129
|
-
mathMlOptions: mathMlOptions,
|
|
130
|
-
charactersLimit: charactersLimit
|
|
131
|
-
})));
|
|
132
|
-
};
|
|
133
|
-
LabelComponent.propTypes = {
|
|
134
|
-
disabledLabel: _propTypes["default"].bool,
|
|
135
|
-
graphHeight: _propTypes["default"].number,
|
|
136
|
-
graphWidth: _propTypes["default"].number,
|
|
137
|
-
isChartBottomLabel: _propTypes["default"].bool,
|
|
138
|
-
isDefineChartBottomLabel: _propTypes["default"].bool,
|
|
139
|
-
isChartLeftLabel: _propTypes["default"].bool,
|
|
140
|
-
isDefineChartLeftLabel: _propTypes["default"].bool,
|
|
141
|
-
placeholder: _propTypes["default"].string,
|
|
142
|
-
text: _propTypes["default"].string,
|
|
143
|
-
side: _propTypes["default"].string,
|
|
144
|
-
onChange: _propTypes["default"].func,
|
|
145
|
-
mathMlOptions: _propTypes["default"].object,
|
|
146
|
-
charactersLimit: _propTypes["default"].number,
|
|
147
|
-
titleHeight: _propTypes["default"].number
|
|
148
|
-
};
|
|
149
|
-
var _default = exports["default"] = LabelComponent;
|
|
150
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVuZGVyVWkiLCJfZWRpdGFibGVIdG1sVGlwVGFwIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9wcm9wVHlwZXMiLCJfdXRpbHMiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwic3R5bGVzIiwiYXhpc0xhYmVsIiwiZm9udFNpemUiLCJ0ZXh0QWxpZ24iLCJtYXJnaW4iLCJwYWRkaW5nIiwiY2hhcnRMYWJlbCIsImRpc2FibGVkTGFiZWwiLCJwb2ludGVyRXZlbnRzIiwid2lkdGgiLCJlZGl0TGFiZWwiLCJwb3NpdGlvbiIsImJhY2tncm91bmRDb2xvciIsImJvcmRlclJhZGl1cyIsImJveFNoYWRvdyIsInpJbmRleCIsInJvdGF0ZUxlZnRMYWJlbCIsInRyYW5zZm9ybSIsInRyYW5zZm9ybU9yaWdpbiIsInJvdGF0ZVJpZ2h0TGFiZWwiLCJjdXN0b21Cb3R0b20iLCJkaXNwbGF5Tm9uZSIsImRpc3BsYXkiLCJMYWJlbENvbXBvbmVudCIsInByb3BzIiwiZ3JhcGhIZWlnaHQiLCJncmFwaFdpZHRoIiwiaXNDaGFydEJvdHRvbUxhYmVsIiwiaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsIiwiaXNDaGFydExlZnRMYWJlbCIsImlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWwiLCJwbGFjZWhvbGRlciIsInRleHQiLCJzaWRlIiwib25DaGFuZ2UiLCJfcHJvcHMkbWF0aE1sT3B0aW9ucyIsIm1hdGhNbE9wdGlvbnMiLCJjaGFyYWN0ZXJzTGltaXQiLCJ0aXRsZUhlaWdodCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInJvdGF0ZWRUb0hvcml6b250YWwiLCJzZXRSb3RhdGVkVG9Ib3Jpem9udGFsIiwiYWN0aXZlUGx1Z2lucyIsImlzQ2hhcnQiLCJjaGFydFZhbHVlIiwiZGVmYXVsdFN0eWxlIiwidG9wIiwiY29uY2F0IiwibGVmdCIsInJvdGF0ZWRTdHlsZSIsInJvdGF0ZUxhYmVsIiwiZXhpdEVkaXRNb2RlIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiX2RvY3VtZW50JGFjdGl2ZUVsZW1lIiwiX2RvY3VtZW50JGFjdGl2ZUVsZW1lMiIsImRvY3VtZW50IiwiYWN0aXZlRWxlbWVudCIsImJsdXIiLCJjcmVhdGVFbGVtZW50IiwiUmVhZGFibGUiLCJvbkNsaWNrIiwic3R5bGUiLCJpc0VtcHR5U3RyaW5nIiwiZXh0cmFjdFRleHRGcm9tSFRNTCIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwibWFya3VwIiwidG9vbGJhck9wdHMiLCJub1BhZGRpbmciLCJub0JvcmRlciIsImRpc2FibGVTY3JvbGxiYXIiLCJvbkRvbmUiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJib29sIiwibnVtYmVyIiwic3RyaW5nIiwiZnVuYyIsIm9iamVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9sYWJlbC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgRWRpdGFibGVIdG1sIGZyb20gJ0BwaWUtbGliL2VkaXRhYmxlLWh0bWwtdGlwLXRhcCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgZXh0cmFjdFRleHRGcm9tSFRNTCwgaXNFbXB0eVN0cmluZyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBzdHlsZXMgPSB7XG4gIGF4aXNMYWJlbDoge1xuICAgIGZvbnRTaXplOiAxMixcbiAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgIG1hcmdpbjogNCxcbiAgICBwYWRkaW5nOiAnNHB4IDAnLFxuICB9LFxuICBjaGFydExhYmVsOiB7XG4gICAgZm9udFNpemU6IDE2LFxuICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgbWFyZ2luOiA0LFxuICAgIHBhZGRpbmc6ICc0cHggMCcsXG4gIH0sXG4gIGRpc2FibGVkTGFiZWw6IHtcbiAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgfSxcbiAgZWRpdExhYmVsOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgYmFja2dyb3VuZENvbG9yOiAnd2hpdGUnLFxuICAgIGJvcmRlclJhZGl1czogNCxcbiAgICBib3hTaGFkb3c6ICcwcHggNXB4IDhweCByZ2JhKDAsMCwwLDAuMTUpJyxcbiAgICB6SW5kZXg6IDEwLFxuICB9LFxuICByb3RhdGVMZWZ0TGFiZWw6IHtcbiAgICB0cmFuc2Zvcm06ICdyb3RhdGUoLTkwZGVnKScsXG4gICAgdHJhbnNmb3JtT3JpZ2luOiAnMCAwJyxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgfSxcbiAgcm90YXRlUmlnaHRMYWJlbDoge1xuICAgIHRyYW5zZm9ybTogJ3JvdGF0ZSg5MGRlZyknLFxuICAgIHRyYW5zZm9ybU9yaWdpbjogJzAgMCcsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gIH0sXG4gIGN1c3RvbUJvdHRvbToge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICB9LFxuICBkaXNwbGF5Tm9uZToge1xuICAgIGRpc3BsYXk6ICdub25lJyxcbiAgfSxcbn07XG5cbmNvbnN0IExhYmVsQ29tcG9uZW50ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBkaXNhYmxlZExhYmVsLFxuICAgIGdyYXBoSGVpZ2h0LFxuICAgIGdyYXBoV2lkdGgsXG4gICAgaXNDaGFydEJvdHRvbUxhYmVsLFxuICAgIGlzRGVmaW5lQ2hhcnRCb3R0b21MYWJlbCxcbiAgICBpc0NoYXJ0TGVmdExhYmVsLFxuICAgIGlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWwsXG4gICAgcGxhY2Vob2xkZXIsXG4gICAgdGV4dCxcbiAgICBzaWRlLFxuICAgIG9uQ2hhbmdlLFxuICAgIG1hdGhNbE9wdGlvbnMgPSB7fSxcbiAgICBjaGFyYWN0ZXJzTGltaXQsXG4gICAgdGl0bGVIZWlnaHQsXG4gIH0gPSBwcm9wcztcblxuICBjb25zdCBbcm90YXRlZFRvSG9yaXpvbnRhbCwgc2V0Um90YXRlZFRvSG9yaXpvbnRhbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgYWN0aXZlUGx1Z2lucyA9IFsnYm9sZCcsICdpdGFsaWMnLCAndW5kZXJsaW5lJywgJ3N0cmlrZXRocm91Z2gnLCAnbWF0aCddO1xuXG4gIGNvbnN0IGlzQ2hhcnQgPSBpc0NoYXJ0Qm90dG9tTGFiZWwgfHwgaXNDaGFydExlZnRMYWJlbCB8fCBpc0RlZmluZUNoYXJ0Qm90dG9tTGFiZWwgfHwgaXNEZWZpbmVDaGFydExlZnRMYWJlbDtcblxuICBjb25zdCBjaGFydFZhbHVlID0gc2lkZSA9PT0gJ2xlZnQnICYmIGlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWwgJiYgZ3JhcGhIZWlnaHQgLSAyMjA7XG5cbiAgY29uc3QgZGVmYXVsdFN0eWxlID0ge1xuICAgIHdpZHRoOiBjaGFydFZhbHVlIHx8IChzaWRlID09PSAnbGVmdCcgfHwgc2lkZSA9PT0gJ3JpZ2h0JyA/IGdyYXBoSGVpZ2h0IC0gOCA6IGdyYXBoV2lkdGggLSA4KSxcbiAgICB0b3A6XG4gICAgICBjaGFydFZhbHVlIHx8XG4gICAgICAoaXNDaGFydExlZnRMYWJlbCAmJiBgJHtncmFwaEhlaWdodCAtIDcwfXB4YCkgfHxcbiAgICAgIChzaWRlID09PSAnbGVmdCcgJiYgYCR7Z3JhcGhIZWlnaHQgLSA4fXB4YCkgfHxcbiAgICAgIChpc0NoYXJ0Qm90dG9tTGFiZWwgJiYgYCR7Z3JhcGhIZWlnaHQgLSA2MCArIHRpdGxlSGVpZ2h0fXB4YCkgfHxcbiAgICAgIChzaWRlID09PSAnYm90dG9tJyAmJiBgJHtncmFwaEhlaWdodCAtIDEyMCArIHRpdGxlSGVpZ2h0fXB4YCkgfHxcbiAgICAgIDAsXG4gICAgbGVmdDpcbiAgICAgIChzaWRlID09PSAncmlnaHQnICYmIGAke2dyYXBoV2lkdGggLSA4fXB4YCkgfHxcbiAgICAgICgoaXNEZWZpbmVDaGFydExlZnRMYWJlbCB8fCBpc0RlZmluZUNoYXJ0Qm90dG9tTGFiZWwpICYmICc0MHB4JykgfHxcbiAgICAgIChpc0NoYXJ0Qm90dG9tTGFiZWwgJiYgJy0xMHB4JykgfHxcbiAgICAgIDAsXG4gIH07XG5cbiAgY29uc3Qgcm90YXRlZFN0eWxlID0ge1xuICAgIHdpZHRoOiBncmFwaFdpZHRoIC0gOCxcbiAgICB0b3A6IHNpZGUgPT09ICdyaWdodCcgPyBgJHtncmFwaEhlaWdodCAtIDIyfXB4YCA6IDAsXG4gICAgbGVmdDogMCxcbiAgfTtcblxuICBjb25zdCByb3RhdGVMYWJlbCA9ICgpID0+IHtcbiAgICBpZiAoIWRpc2FibGVkTGFiZWwgJiYgKHNpZGUgPT09ICdsZWZ0JyB8fCBzaWRlID09PSAncmlnaHQnKSkge1xuICAgICAgc2V0Um90YXRlZFRvSG9yaXpvbnRhbCh0cnVlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZXhpdEVkaXRNb2RlID0gKCkgPT4ge1xuICAgIHNldFJvdGF0ZWRUb0hvcml6b250YWwoZmFsc2UpO1xuXG4gICAgLy8gYmx1ciBhY3RpdmUgZWxlbWVudCBiZWNhdXNlIHJvdGF0aW9uIGlzIGNhdXNpbmcgZWRpdGluZyBpc3N1ZXMgb24gZXhpdFxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50Py5ibHVyPy4oKTtcbiAgICB9KTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxSZWFkYWJsZSBmYWxzZT5cbiAgICAgIDxkaXZcbiAgICAgICAgb25DbGljaz17cm90YXRlTGFiZWx9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgLi4uKHJvdGF0ZWRUb0hvcml6b250YWwgPyByb3RhdGVkU3R5bGUgOiBkZWZhdWx0U3R5bGUpLFxuICAgICAgICAgIC4uLihpc0NoYXJ0ID8gc3R5bGVzLmNoYXJ0TGFiZWwgOiBzdHlsZXMuYXhpc0xhYmVsKSxcbiAgICAgICAgICAuLi4oc2lkZSA9PT0gJ2xlZnQnICYmICFyb3RhdGVkVG9Ib3Jpem9udGFsID8gc3R5bGVzLnJvdGF0ZUxlZnRMYWJlbCA6IHt9KSxcbiAgICAgICAgICAuLi4oc2lkZSA9PT0gJ3JpZ2h0JyAmJiAhcm90YXRlZFRvSG9yaXpvbnRhbCA/IHN0eWxlcy5yb3RhdGVSaWdodExhYmVsIDoge30pLFxuICAgICAgICAgIC4uLihyb3RhdGVkVG9Ib3Jpem9udGFsID8gc3R5bGVzLmVkaXRMYWJlbCA6IHt9KSxcbiAgICAgICAgICAuLi4oaXNDaGFydEJvdHRvbUxhYmVsIHx8IGlzRGVmaW5lQ2hhcnRCb3R0b21MYWJlbCA/IHN0eWxlcy5jdXN0b21Cb3R0b20gOiB7fSksXG4gICAgICAgICAgLi4uKGRpc2FibGVkTGFiZWwgJiYgIWlzQ2hhcnQgJiYgaXNFbXB0eVN0cmluZyhleHRyYWN0VGV4dEZyb21IVE1MKHRleHQpKSAmJiBzdHlsZXMuZGlzcGxheU5vbmUpLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7ZGlzYWJsZWRMYWJlbCA/IChcbiAgICAgICAgICA8ZGl2IHN0eWxlPXtzdHlsZXMuZGlzYWJsZWRMYWJlbH0gZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiB0ZXh0IHx8ICcnIH19IC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPEVkaXRhYmxlSHRtbFxuICAgICAgICAgICAgbWFya3VwPXt0ZXh0IHx8ICcnfVxuICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9eyFkaXNhYmxlZExhYmVsICYmIHBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgdG9vbGJhck9wdHM9e3tcbiAgICAgICAgICAgICAgcG9zaXRpb246IHNpZGUgPT09ICdib3R0b20nID8gJ3RvcCcgOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgbm9QYWRkaW5nOiB0cnVlLFxuICAgICAgICAgICAgICBub0JvcmRlcjogdHJ1ZSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkaXNhYmxlU2Nyb2xsYmFyXG4gICAgICAgICAgICBhY3RpdmVQbHVnaW5zPXthY3RpdmVQbHVnaW5zfVxuICAgICAgICAgICAgb25Eb25lPXtleGl0RWRpdE1vZGV9XG4gICAgICAgICAgICBtYXRoTWxPcHRpb25zPXttYXRoTWxPcHRpb25zfVxuICAgICAgICAgICAgY2hhcmFjdGVyc0xpbWl0PXtjaGFyYWN0ZXJzTGltaXR9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvUmVhZGFibGU+XG4gICk7XG59O1xuXG5MYWJlbENvbXBvbmVudC5wcm9wVHlwZXMgPSB7XG4gIGRpc2FibGVkTGFiZWw6IFByb3BUeXBlcy5ib29sLFxuICBncmFwaEhlaWdodDogUHJvcFR5cGVzLm51bWJlcixcbiAgZ3JhcGhXaWR0aDogUHJvcFR5cGVzLm51bWJlcixcbiAgaXNDaGFydEJvdHRvbUxhYmVsOiBQcm9wVHlwZXMuYm9vbCxcbiAgaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsOiBQcm9wVHlwZXMuYm9vbCxcbiAgaXNDaGFydExlZnRMYWJlbDogUHJvcFR5cGVzLmJvb2wsXG4gIGlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWw6IFByb3BUeXBlcy5ib29sLFxuICBwbGFjZWhvbGRlcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgdGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbiAgc2lkZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICBtYXRoTWxPcHRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxuICBjaGFyYWN0ZXJzTGltaXQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIHRpdGxlSGVpZ2h0OiBQcm9wVHlwZXMubnVtYmVyLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgTGFiZWxDb21wb25lbnQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxtQkFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksVUFBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQTZELFNBQUFELHdCQUFBTyxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBVCx1QkFBQSxZQUFBQSx3QkFBQU8sQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLG1CQUFBVCxDQUFBLGlCQUFBQSxDQUFBLGdCQUFBVSxPQUFBLENBQUFWLENBQUEsMEJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFHLENBQUEsQ0FBQUssR0FBQSxDQUFBWCxDQUFBLFVB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
|
package/lib/label.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"label.js","names":["_react","_interopRequireWildcard","require","_renderUi","_editableHtmlTipTap","_interopRequireDefault","_propTypes","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","styles","axisLabel","fontSize","textAlign","margin","padding","chartLabel","disabledLabel","pointerEvents","width","editLabel","position","backgroundColor","borderRadius","boxShadow","zIndex","rotateLeftLabel","transform","transformOrigin","rotateRightLabel","customBottom","displayNone","display","LabelComponent","props","graphHeight","graphWidth","isChartBottomLabel","isDefineChartBottomLabel","isChartLeftLabel","isDefineChartLeftLabel","placeholder","text","side","onChange","_props$mathMlOptions","mathMlOptions","charactersLimit","titleHeight","_useState","useState","_useState2","_slicedToArray2","rotatedToHorizontal","setRotatedToHorizontal","activePlugins","isChart","chartValue","defaultStyle","top","concat","left","rotatedStyle","rotateLabel","exitEditMode","requestAnimationFrame","_document$activeEleme","_document$activeEleme2","document","activeElement","blur","createElement","Readable","onClick","style","isEmptyString","extractTextFromHTML","dangerouslySetInnerHTML","__html","markup","toolbarOpts","noPadding","noBorder","disableScrollbar","onDone","propTypes","PropTypes","bool","number","string","func","object","_default","exports"],"sources":["../src/label.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport PropTypes from 'prop-types';\nimport { extractTextFromHTML, isEmptyString } from './utils';\n\nconst styles = {\n axisLabel: {\n fontSize: 12,\n textAlign: 'center',\n margin: 4,\n padding: '4px 0',\n },\n chartLabel: {\n fontSize: 16,\n textAlign: 'center',\n margin: 4,\n padding: '4px 0',\n },\n disabledLabel: {\n pointerEvents: 'none',\n width: '100%',\n },\n editLabel: {\n position: 'absolute',\n backgroundColor: 'white',\n borderRadius: 4,\n boxShadow: '0px 5px 8px rgba(0,0,0,0.15)',\n zIndex: 10,\n },\n rotateLeftLabel: {\n transform: 'rotate(-90deg)',\n transformOrigin: '0 0',\n position: 'absolute',\n },\n rotateRightLabel: {\n transform: 'rotate(90deg)',\n transformOrigin: '0 0',\n position: 'absolute',\n },\n customBottom: {\n position: 'absolute',\n },\n displayNone: {\n display: 'none',\n },\n};\n\nconst LabelComponent = (props) => {\n const {\n disabledLabel,\n graphHeight,\n graphWidth,\n isChartBottomLabel,\n isDefineChartBottomLabel,\n isChartLeftLabel,\n isDefineChartLeftLabel,\n placeholder,\n text,\n side,\n onChange,\n mathMlOptions = {},\n charactersLimit,\n titleHeight,\n } = props;\n\n const [rotatedToHorizontal, setRotatedToHorizontal] = useState(false);\n\n const activePlugins = ['bold', 'italic', 'underline', 'strikethrough', 'math'];\n\n const isChart = isChartBottomLabel || isChartLeftLabel || isDefineChartBottomLabel || isDefineChartLeftLabel;\n\n const chartValue = side === 'left' && isDefineChartLeftLabel && graphHeight - 220;\n\n const defaultStyle = {\n width: chartValue || (side === 'left' || side === 'right' ? graphHeight - 8 : graphWidth - 8),\n top:\n chartValue ||\n (isChartLeftLabel && `${graphHeight - 70}px`) ||\n (side === 'left' && `${graphHeight - 8}px`) ||\n (isChartBottomLabel && `${graphHeight - 60 + titleHeight}px`) ||\n (side === 'bottom' && `${graphHeight - 120 + titleHeight}px`) ||\n 0,\n left:\n (side === 'right' && `${graphWidth - 8}px`) ||\n ((isDefineChartLeftLabel || isDefineChartBottomLabel) && '40px') ||\n (isChartBottomLabel && '-10px') ||\n 0,\n };\n\n const rotatedStyle = {\n width: graphWidth - 8,\n top: side === 'right' ? `${graphHeight - 22}px` : 0,\n left: 0,\n };\n\n const rotateLabel = () => {\n if (!disabledLabel && (side === 'left' || side === 'right')) {\n setRotatedToHorizontal(true);\n }\n };\n\n const exitEditMode = () => {\n setRotatedToHorizontal(false);\n\n // blur active element because rotation is causing editing issues on exit\n requestAnimationFrame(() => {\n document.activeElement?.blur?.();\n });\n };\n\n return (\n <Readable false>\n <div\n onClick={rotateLabel}\n style={{\n ...(rotatedToHorizontal ? rotatedStyle : defaultStyle),\n ...(isChart ? styles.chartLabel : styles.axisLabel),\n ...(side === 'left' && !rotatedToHorizontal ? styles.rotateLeftLabel : {}),\n ...(side === 'right' && !rotatedToHorizontal ? styles.rotateRightLabel : {}),\n ...(rotatedToHorizontal ? styles.editLabel : {}),\n ...(isChartBottomLabel || isDefineChartBottomLabel ? styles.customBottom : {}),\n ...(disabledLabel && !isChart && isEmptyString(extractTextFromHTML(text)) && styles.displayNone),\n }}\n >\n {disabledLabel ? (\n <div style={styles.disabledLabel} dangerouslySetInnerHTML={{ __html: text || '' }} />\n ) : (\n <EditableHtml\n markup={text || ''}\n onChange={onChange}\n placeholder={!disabledLabel && placeholder}\n toolbarOpts={{\n position: side === 'bottom' ? 'top' : 'bottom',\n noPadding: true,\n noBorder: true,\n }}\n disableScrollbar\n activePlugins={activePlugins}\n onDone={exitEditMode}\n mathMlOptions={mathMlOptions}\n charactersLimit={charactersLimit}\n />\n )}\n </div>\n </Readable>\n );\n};\n\nLabelComponent.propTypes = {\n disabledLabel: PropTypes.bool,\n graphHeight: PropTypes.number,\n graphWidth: PropTypes.number,\n isChartBottomLabel: PropTypes.bool,\n isDefineChartBottomLabel: PropTypes.bool,\n isChartLeftLabel: PropTypes.bool,\n isDefineChartLeftLabel: PropTypes.bool,\n placeholder: PropTypes.string,\n text: PropTypes.string,\n side: PropTypes.string,\n onChange: PropTypes.func,\n mathMlOptions: PropTypes.object,\n charactersLimit: PropTypes.number,\n titleHeight: PropTypes.number,\n};\n\nexport default LabelComponent;\n"],"mappings":"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","ignoreList":[]}
|