@pie-lib/plot 4.0.4-next.31 → 4.0.4-next.36

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 (59) hide show
  1. package/CHANGELOG.json +17 -0
  2. package/CHANGELOG.md +838 -0
  3. package/LICENSE.md +5 -0
  4. package/lib/draggable.js +44 -0
  5. package/lib/draggable.js.map +1 -0
  6. package/lib/graph-props.js +46 -0
  7. package/lib/graph-props.js.map +1 -0
  8. package/lib/grid-draggable.js +361 -0
  9. package/lib/grid-draggable.js.map +1 -0
  10. package/lib/index.js +44 -0
  11. package/lib/index.js.map +1 -0
  12. package/lib/label.js +173 -0
  13. package/lib/label.js.map +1 -0
  14. package/lib/root.js +474 -0
  15. package/lib/root.js.map +1 -0
  16. package/lib/trig.js +149 -0
  17. package/lib/trig.js.map +1 -0
  18. package/lib/types.js +40 -0
  19. package/lib/types.js.map +1 -0
  20. package/lib/utils.js +165 -0
  21. package/lib/utils.js.map +1 -0
  22. package/package.json +25 -35
  23. package/src/__tests__/draggable.test.jsx +41 -0
  24. package/src/__tests__/grid-draggable.test.jsx +487 -0
  25. package/src/__tests__/root.test.jsx +277 -0
  26. package/src/__tests__/trig.test.js +163 -0
  27. package/src/__tests__/utils.test.js +229 -0
  28. package/src/draggable.jsx +11 -0
  29. package/src/graph-props.js +34 -0
  30. package/src/grid-draggable.jsx +332 -0
  31. package/src/index.js +9 -0
  32. package/src/label.jsx +199 -0
  33. package/src/root.jsx +485 -0
  34. package/src/trig.js +151 -0
  35. package/src/types.js +41 -0
  36. package/src/utils.js +167 -0
  37. package/dist/_virtual/_rolldown/runtime.js +0 -20
  38. package/dist/draggable.d.ts +0 -13
  39. package/dist/draggable.js +0 -13
  40. package/dist/graph-props.d.ts +0 -22
  41. package/dist/graph-props.js +0 -29
  42. package/dist/grid-draggable.d.ts +0 -91
  43. package/dist/grid-draggable.js +0 -168
  44. package/dist/index.d.ts +0 -16
  45. package/dist/index.js +0 -8
  46. package/dist/label.d.ts +0 -30
  47. package/dist/label.js +0 -132
  48. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +0 -16
  49. package/dist/node_modules/.bun/invariant@2.2.4/node_modules/invariant/browser.js +0 -28
  50. package/dist/node_modules/.bun/react-draggable@4.6.0_6dbf9a050bc9aadb/node_modules/react-draggable/build/cjs/chunk-D5BXCJ5G.js +0 -503
  51. package/dist/node_modules/.bun/react-draggable@4.6.0_6dbf9a050bc9aadb/node_modules/react-draggable/build/cjs/cjs.js +0 -5
  52. package/dist/root.d.ts +0 -68
  53. package/dist/root.js +0 -302
  54. package/dist/trig.d.ts +0 -41
  55. package/dist/trig.js +0 -47
  56. package/dist/types.d.ts +0 -125
  57. package/dist/types.js +0 -46
  58. package/dist/utils.d.ts +0 -44
  59. package/dist/utils.js +0 -82
package/lib/label.js ADDED
@@ -0,0 +1,173 @@
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _styles = require("@mui/material/styles");
13
+ var _renderUi = require("@pie-lib/render-ui");
14
+ var _editableHtmlTipTap = _interopRequireDefault(require("@pie-lib/editable-html-tip-tap"));
15
+ var _propTypes = _interopRequireDefault(require("prop-types"));
16
+ var _utils = require("./utils");
17
+ 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); }
18
+ 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; }
19
+ 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; }
20
+ var styles = {
21
+ axisLabel: {
22
+ fontSize: 12,
23
+ textAlign: 'center',
24
+ margin: 4,
25
+ padding: '4px 0'
26
+ },
27
+ chartLabel: {
28
+ fontSize: 16,
29
+ textAlign: 'center',
30
+ margin: 4,
31
+ padding: '4px 0'
32
+ },
33
+ disabledLabel: {
34
+ pointerEvents: 'none',
35
+ width: '100%'
36
+ },
37
+ editLabel: {
38
+ position: 'absolute',
39
+ backgroundColor: 'white',
40
+ borderRadius: 4,
41
+ boxShadow: '0px 5px 8px rgba(0,0,0,0.15)',
42
+ zIndex: 10
43
+ },
44
+ rotateLeftLabel: {
45
+ transform: 'rotate(-90deg)',
46
+ transformOrigin: '0 0',
47
+ position: 'absolute'
48
+ },
49
+ rotateRightLabel: {
50
+ transform: 'rotate(90deg)',
51
+ transformOrigin: '0 0',
52
+ position: 'absolute'
53
+ },
54
+ customBottom: {
55
+ position: 'absolute'
56
+ },
57
+ displayNone: {
58
+ display: 'none'
59
+ },
60
+ centerPlaceholder: {
61
+ '& .ProseMirror p.is-editor-empty::before, & .ProseMirror div.is-editor-empty::before': {
62
+ left: 0,
63
+ right: 0,
64
+ width: '100%',
65
+ textAlign: 'center'
66
+ }
67
+ }
68
+ };
69
+ var LabelWrapper = (0, _styles.styled)('div')(_objectSpread({}, styles.centerPlaceholder));
70
+ var LabelContent = (0, _styles.styled)('div')(_objectSpread(_objectSpread({}, styles.disabledLabel), {}, {
71
+ '& p': {
72
+ margin: 0
73
+ }
74
+ }));
75
+ var LabelComponent = function LabelComponent(props) {
76
+ var disabledLabel = props.disabledLabel,
77
+ graphHeight = props.graphHeight,
78
+ graphWidth = props.graphWidth,
79
+ isChartBottomLabel = props.isChartBottomLabel,
80
+ isDefineChartBottomLabel = props.isDefineChartBottomLabel,
81
+ isChartLeftLabel = props.isChartLeftLabel,
82
+ isDefineChartLeftLabel = props.isDefineChartLeftLabel,
83
+ placeholder = props.placeholder,
84
+ text = props.text,
85
+ side = props.side,
86
+ onChange = props.onChange,
87
+ _props$mathMlOptions = props.mathMlOptions,
88
+ mathMlOptions = _props$mathMlOptions === void 0 ? {} : _props$mathMlOptions,
89
+ charactersLimit = props.charactersLimit,
90
+ titleHeight = props.titleHeight,
91
+ preventNewLines = props.preventNewLines;
92
+ var _useState = (0, _react.useState)(false),
93
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
94
+ rotatedToHorizontal = _useState2[0],
95
+ setRotatedToHorizontal = _useState2[1];
96
+ var activePlugins = ['bold', 'italic', 'underline', 'strikethrough', 'math'];
97
+ var isChart = isChartBottomLabel || isChartLeftLabel || isDefineChartBottomLabel || isDefineChartLeftLabel;
98
+ var chartValue = side === 'left' && isDefineChartLeftLabel && graphHeight - 220;
99
+ var defaultStyle = {
100
+ width: chartValue || (side === 'left' || side === 'right' ? graphHeight - 8 : graphWidth - 8),
101
+ 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,
102
+ left: side === 'right' && "".concat(graphWidth - 8, "px") || (isDefineChartLeftLabel || isDefineChartBottomLabel) && '40px' || isChartBottomLabel && '-10px' || 0
103
+ };
104
+ var rotatedStyle = {
105
+ width: graphWidth - 8,
106
+ top: side === 'right' ? "".concat(graphHeight - 22, "px") : 0,
107
+ left: 0
108
+ };
109
+ var rotateLabel = function rotateLabel() {
110
+ if (!disabledLabel && (side === 'left' || side === 'right')) {
111
+ setRotatedToHorizontal(true);
112
+ }
113
+ };
114
+ var exitEditMode = function exitEditMode() {
115
+ setRotatedToHorizontal(false);
116
+
117
+ // blur active element because rotation is causing editing issues on exit
118
+ requestAnimationFrame(function () {
119
+ var _document$activeEleme, _document$activeEleme2;
120
+ (_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 || (_document$activeEleme2 = _document$activeEleme.blur) === null || _document$activeEleme2 === void 0 || _document$activeEleme2.call(_document$activeEleme);
121
+ });
122
+ };
123
+ var onKeyDown = function onKeyDown(event) {
124
+ if (preventNewLines && event.key === 'Enter') {
125
+ // prevent adding new lines - cancelling event
126
+ return true;
127
+ }
128
+ return false;
129
+ };
130
+ return /*#__PURE__*/_react["default"].createElement(_renderUi.Readable, {
131
+ "false": true
132
+ }, /*#__PURE__*/_react["default"].createElement(LabelWrapper, {
133
+ onClick: rotateLabel,
134
+ 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)
135
+ }, disabledLabel ? /*#__PURE__*/_react["default"].createElement(LabelContent, {
136
+ dangerouslySetInnerHTML: {
137
+ __html: text || ''
138
+ }
139
+ }) : /*#__PURE__*/_react["default"].createElement(_editableHtmlTipTap["default"], {
140
+ markup: text || '',
141
+ onChange: onChange,
142
+ placeholder: !disabledLabel && placeholder,
143
+ toolbarOpts: {
144
+ position: side === 'bottom' ? 'top' : 'bottom',
145
+ noPadding: true,
146
+ noBorder: true
147
+ },
148
+ disableScrollbar: true,
149
+ activePlugins: activePlugins,
150
+ onDone: exitEditMode,
151
+ onKeyDown: onKeyDown,
152
+ mathMlOptions: mathMlOptions,
153
+ charactersLimit: charactersLimit
154
+ })));
155
+ };
156
+ LabelComponent.propTypes = {
157
+ disabledLabel: _propTypes["default"].bool,
158
+ graphHeight: _propTypes["default"].number,
159
+ graphWidth: _propTypes["default"].number,
160
+ isChartBottomLabel: _propTypes["default"].bool,
161
+ isDefineChartBottomLabel: _propTypes["default"].bool,
162
+ isChartLeftLabel: _propTypes["default"].bool,
163
+ isDefineChartLeftLabel: _propTypes["default"].bool,
164
+ placeholder: _propTypes["default"].string,
165
+ text: _propTypes["default"].string,
166
+ side: _propTypes["default"].string,
167
+ onChange: _propTypes["default"].func,
168
+ mathMlOptions: _propTypes["default"].object,
169
+ charactersLimit: _propTypes["default"].number,
170
+ titleHeight: _propTypes["default"].number
171
+ };
172
+ var _default = exports["default"] = LabelComponent;
173
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.js","names":["_react","_interopRequireWildcard","require","_styles","_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","centerPlaceholder","left","right","LabelWrapper","styled","LabelContent","LabelComponent","props","graphHeight","graphWidth","isChartBottomLabel","isDefineChartBottomLabel","isChartLeftLabel","isDefineChartLeftLabel","placeholder","text","side","onChange","_props$mathMlOptions","mathMlOptions","charactersLimit","titleHeight","preventNewLines","_useState","useState","_useState2","_slicedToArray2","rotatedToHorizontal","setRotatedToHorizontal","activePlugins","isChart","chartValue","defaultStyle","top","concat","rotatedStyle","rotateLabel","exitEditMode","requestAnimationFrame","_document$activeEleme","_document$activeEleme2","document","activeElement","blur","onKeyDown","event","key","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, { useState } from 'react';\nimport { styled } from '@mui/material/styles';\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 centerPlaceholder: {\n '& .ProseMirror p.is-editor-empty::before, & .ProseMirror div.is-editor-empty::before': {\n left: 0,\n right: 0,\n width: '100%',\n textAlign: 'center',\n },\n },\n};\n\n\nconst LabelWrapper = styled('div')({\n ...styles.centerPlaceholder,\n});\n\nconst LabelContent = styled('div')({\n ...styles.disabledLabel,\n '& p': {\n margin: 0,\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 preventNewLines,\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 const onKeyDown = (event) => {\n if (preventNewLines && event.key === 'Enter') {\n // prevent adding new lines - cancelling event\n return true;\n }\n\n return false;\n };\n\n return (\n <Readable false>\n <LabelWrapper\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 <LabelContent 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 onKeyDown={onKeyDown}\n mathMlOptions={mathMlOptions}\n charactersLimit={charactersLimit}\n />\n )}\n </LabelWrapper>\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":[]}