@yorab/react-paint 0.2.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 +26 -0
- package/README.md +99 -0
- package/dist/components/App.d.ts +20 -0
- package/dist/components/App.js +533 -0
- package/dist/components/Canvas.d.ts +28 -0
- package/dist/components/Canvas.js +188 -0
- package/dist/components/common/Button.d.ts +14 -0
- package/dist/components/common/Button.js +97 -0
- package/dist/components/common/Loading.d.ts +6 -0
- package/dist/components/common/Loading.js +66 -0
- package/dist/components/common/Modal.d.ts +8 -0
- package/dist/components/common/Modal.js +41 -0
- package/dist/components/common/Panel.d.ts +10 -0
- package/dist/components/common/Panel.js +48 -0
- package/dist/components/common/Snackbar.d.ts +7 -0
- package/dist/components/common/Snackbar.js +75 -0
- package/dist/components/settings/ColorField.d.ts +12 -0
- package/dist/components/settings/ColorField.js +128 -0
- package/dist/components/settings/DeleteButton.d.ts +9 -0
- package/dist/components/settings/DeleteButton.js +36 -0
- package/dist/components/settings/FontFamilyField.d.ts +10 -0
- package/dist/components/settings/FontFamilyField.js +57 -0
- package/dist/components/settings/LayoutButton.d.ts +8 -0
- package/dist/components/settings/LayoutButton.js +37 -0
- package/dist/components/settings/Layouts.d.ts +18 -0
- package/dist/components/settings/Layouts.js +218 -0
- package/dist/components/settings/LineArrowField.d.ts +10 -0
- package/dist/components/settings/LineArrowField.js +59 -0
- package/dist/components/settings/LineTypeField.d.ts +14 -0
- package/dist/components/settings/LineTypeField.js +57 -0
- package/dist/components/settings/PointsNumberField.d.ts +11 -0
- package/dist/components/settings/PointsNumberField.js +51 -0
- package/dist/components/settings/RangeField.d.ts +16 -0
- package/dist/components/settings/RangeField.js +90 -0
- package/dist/components/settings/SelectField.d.ts +16 -0
- package/dist/components/settings/SelectField.js +82 -0
- package/dist/components/settings/SettingsBar.d.ts +16 -0
- package/dist/components/settings/SettingsBar.js +262 -0
- package/dist/components/toolbox/EditTextBox.d.ts +10 -0
- package/dist/components/toolbox/EditTextBox.js +89 -0
- package/dist/components/toolbox/LoadFileTool.d.ts +11 -0
- package/dist/components/toolbox/LoadFileTool.js +58 -0
- package/dist/components/toolbox/MenuGroup.d.ts +23 -0
- package/dist/components/toolbox/MenuGroup.js +173 -0
- package/dist/components/toolbox/PictureUrlInput.d.ts +7 -0
- package/dist/components/toolbox/PictureUrlInput.js +96 -0
- package/dist/components/toolbox/Tool.d.ts +13 -0
- package/dist/components/toolbox/Tool.js +41 -0
- package/dist/components/toolbox/Toolbar.d.ts +20 -0
- package/dist/components/toolbox/Toolbar.js +205 -0
- package/dist/components/toolbox/ToolbarGroup.d.ts +18 -0
- package/dist/components/toolbox/ToolbarGroup.js +139 -0
- package/dist/constants/draw.d.ts +2 -0
- package/dist/constants/draw.js +10 -0
- package/dist/constants/icons.d.ts +36 -0
- package/dist/constants/icons.js +80 -0
- package/dist/constants/shapes.d.ts +5 -0
- package/dist/constants/shapes.js +14 -0
- package/dist/constants/snackbar.d.ts +11 -0
- package/dist/constants/snackbar.js +23 -0
- package/dist/constants/style.d.ts +12 -0
- package/dist/constants/style.js +30 -0
- package/dist/hooks/useComponent.d.ts +9 -0
- package/dist/hooks/useComponent.js +48 -0
- package/dist/hooks/useDrag.d.ts +15 -0
- package/dist/hooks/useDrag.js +100 -0
- package/dist/hooks/useDrawableCanvas.d.ts +30 -0
- package/dist/hooks/useDrawableCanvas.js +250 -0
- package/dist/hooks/useKeyboard.d.ts +15 -0
- package/dist/hooks/useKeyboard.js +123 -0
- package/dist/hooks/useShapes.d.ts +22 -0
- package/dist/hooks/useShapes.js +229 -0
- package/dist/hooks/useSnackbar.d.ts +16 -0
- package/dist/hooks/useSnackbar.js +86 -0
- package/dist/schemas/drawableShape.json +1021 -0
- package/dist/styles.css +88 -0
- package/dist/types/Mode.d.ts +51 -0
- package/dist/types/Mode.js +17 -0
- package/dist/types/Shapes.d.ts +122 -0
- package/dist/types/Shapes.js +35 -0
- package/dist/types/keyboard.d.ts +15 -0
- package/dist/types/keyboard.js +28 -0
- package/dist/utils/data.d.ts +4 -0
- package/dist/utils/data.js +178 -0
- package/dist/utils/draw.d.ts +18 -0
- package/dist/utils/draw.js +422 -0
- package/dist/utils/file.d.ts +33 -0
- package/dist/utils/file.js +220 -0
- package/dist/utils/intersect.d.ts +8 -0
- package/dist/utils/intersect.js +194 -0
- package/dist/utils/selection.d.ts +7 -0
- package/dist/utils/selection.js +88 -0
- package/dist/utils/shapeData.d.ts +5 -0
- package/dist/utils/shapeData.js +178 -0
- package/dist/utils/string.d.ts +3 -0
- package/dist/utils/string.js +42 -0
- package/dist/utils/style.d.ts +2 -0
- package/dist/utils/style.js +46 -0
- package/dist/utils/toolbar.d.ts +12 -0
- package/dist/utils/toolbar.js +37 -0
- package/dist/utils/transform.d.ts +271 -0
- package/dist/utils/transform.js +371 -0
- package/package.json +79 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare type PointsNumberFieldType = {
|
|
3
|
+
selectedSettings: string | undefined;
|
|
4
|
+
setSelectedSettings: React.Dispatch<React.SetStateAction<string | undefined>>;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
defaultValue?: number | string | undefined;
|
|
7
|
+
values?: number[];
|
|
8
|
+
valueChanged: (field: string, value: string | number) => void;
|
|
9
|
+
};
|
|
10
|
+
declare const PointsNumberField: ({ selectedSettings, setSelectedSettings, disabled, defaultValue, values, valueChanged }: PointsNumberFieldType) => JSX.Element;
|
|
11
|
+
export default PointsNumberField;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _SelectField = _interopRequireDefault(require("./SelectField"));
|
|
13
|
+
|
|
14
|
+
var _style = require("../../constants/style");
|
|
15
|
+
|
|
16
|
+
var _react2 = require("@linaria/react");
|
|
17
|
+
|
|
18
|
+
var StyledOption = /*#__PURE__*/(0, _react2.styled)("span")({
|
|
19
|
+
name: "StyledOption",
|
|
20
|
+
"class": "skv6910"
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
var PointsNumberOption = function PointsNumberOption(_ref) {
|
|
24
|
+
var children = _ref.children;
|
|
25
|
+
return /*#__PURE__*/_react["default"].createElement(StyledOption, null, children);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
var PointsNumberField = function PointsNumberField(_ref2) {
|
|
29
|
+
var selectedSettings = _ref2.selectedSettings,
|
|
30
|
+
setSelectedSettings = _ref2.setSelectedSettings,
|
|
31
|
+
_ref2$disabled = _ref2.disabled,
|
|
32
|
+
disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
|
|
33
|
+
defaultValue = _ref2.defaultValue,
|
|
34
|
+
_ref2$values = _ref2.values,
|
|
35
|
+
values = _ref2$values === void 0 ? _style.POLYGON_POINTS_VALUES : _ref2$values,
|
|
36
|
+
valueChanged = _ref2.valueChanged;
|
|
37
|
+
return /*#__PURE__*/_react["default"].createElement(_SelectField["default"], {
|
|
38
|
+
selectedSettings: selectedSettings,
|
|
39
|
+
setSelectedSettings: setSelectedSettings,
|
|
40
|
+
CustomOption: PointsNumberOption,
|
|
41
|
+
title: "Nombre de points",
|
|
42
|
+
disabled: disabled,
|
|
43
|
+
field: "style.pointsCount",
|
|
44
|
+
values: values,
|
|
45
|
+
defaultValue: defaultValue,
|
|
46
|
+
valueChanged: valueChanged
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
var _default = PointsNumberField;
|
|
51
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare type ShapeStyleColorType = {
|
|
3
|
+
selectedSettings: string | undefined;
|
|
4
|
+
setSelectedSettings: React.Dispatch<React.SetStateAction<string | undefined>>;
|
|
5
|
+
title?: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
field: string;
|
|
8
|
+
min?: number;
|
|
9
|
+
max?: number;
|
|
10
|
+
step?: number;
|
|
11
|
+
unity?: string;
|
|
12
|
+
value?: number | undefined;
|
|
13
|
+
valueChanged: (field: string, value: string | number) => void;
|
|
14
|
+
};
|
|
15
|
+
declare const RangeField: ({ selectedSettings, setSelectedSettings, title, disabled, field, value, min, max, step, unity, valueChanged }: ShapeStyleColorType) => JSX.Element;
|
|
16
|
+
export default RangeField;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _fp = _interopRequireDefault(require("lodash/fp"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _react2 = require("@linaria/react");
|
|
19
|
+
|
|
20
|
+
var _Button = _interopRequireDefault(require("../common/Button"));
|
|
21
|
+
|
|
22
|
+
var _Panel = _interopRequireDefault(require("../common/Panel"));
|
|
23
|
+
|
|
24
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
+
|
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
+
|
|
28
|
+
var StyledLabel = /*#__PURE__*/(0, _react2.styled)("label")({
|
|
29
|
+
name: "StyledLabel",
|
|
30
|
+
"class": "s9mugpt"
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
var RangeField = function RangeField(_ref) {
|
|
34
|
+
var selectedSettings = _ref.selectedSettings,
|
|
35
|
+
setSelectedSettings = _ref.setSelectedSettings,
|
|
36
|
+
_ref$title = _ref.title,
|
|
37
|
+
title = _ref$title === void 0 ? "Choisissez l'intervalle" : _ref$title,
|
|
38
|
+
_ref$disabled = _ref.disabled,
|
|
39
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
40
|
+
field = _ref.field,
|
|
41
|
+
_ref$value = _ref.value,
|
|
42
|
+
value = _ref$value === void 0 ? 1 : _ref$value,
|
|
43
|
+
_ref$min = _ref.min,
|
|
44
|
+
min = _ref$min === void 0 ? 1 : _ref$min,
|
|
45
|
+
_ref$max = _ref.max,
|
|
46
|
+
max = _ref$max === void 0 ? 20 : _ref$max,
|
|
47
|
+
_ref$step = _ref.step,
|
|
48
|
+
step = _ref$step === void 0 ? 1 : _ref$step,
|
|
49
|
+
_ref$unity = _ref.unity,
|
|
50
|
+
unity = _ref$unity === void 0 ? '' : _ref$unity,
|
|
51
|
+
valueChanged = _ref.valueChanged;
|
|
52
|
+
var roundValue = Math.round(value);
|
|
53
|
+
|
|
54
|
+
var _useState = (0, _react.useState)(_fp["default"].uniqueId('settings_')),
|
|
55
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
56
|
+
customKey = _useState2[0];
|
|
57
|
+
|
|
58
|
+
var handleChange = function handleChange(event) {
|
|
59
|
+
var parsedValue = _fp["default"].toNumber(event.target.value);
|
|
60
|
+
|
|
61
|
+
valueChanged(field, _fp["default"].isNaN(parsedValue) ? event.target.value : parsedValue);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
var togglePanel = function togglePanel() {
|
|
65
|
+
setSelectedSettings(function (prev) {
|
|
66
|
+
return prev === customKey ? undefined : customKey;
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
var isPanelVisible = selectedSettings === customKey;
|
|
71
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
72
|
+
selected: isPanelVisible,
|
|
73
|
+
title: title,
|
|
74
|
+
disabled: disabled,
|
|
75
|
+
onClick: togglePanel
|
|
76
|
+
}, /*#__PURE__*/_react["default"].createElement("span", null, roundValue, unity)), isPanelVisible && /*#__PURE__*/_react["default"].createElement(_Panel["default"], {
|
|
77
|
+
title: title,
|
|
78
|
+
alignment: "left"
|
|
79
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(StyledLabel, null, /*#__PURE__*/_react["default"].createElement("input", {
|
|
80
|
+
type: "range",
|
|
81
|
+
min: min,
|
|
82
|
+
max: max,
|
|
83
|
+
step: step,
|
|
84
|
+
value: value,
|
|
85
|
+
onChange: handleChange
|
|
86
|
+
}), /*#__PURE__*/_react["default"].createElement("span", null, roundValue, unity)))));
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
var _default = RangeField;
|
|
90
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare type ShapeStyleSelectType = {
|
|
3
|
+
CustomOption: React.FC<{
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
}>;
|
|
6
|
+
selectedSettings: string | undefined;
|
|
7
|
+
setSelectedSettings: React.Dispatch<React.SetStateAction<string | undefined>>;
|
|
8
|
+
title?: string;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
field: string;
|
|
11
|
+
values: (string | number)[];
|
|
12
|
+
defaultValue?: number | string | undefined;
|
|
13
|
+
valueChanged: (field: string, value: string | number) => void;
|
|
14
|
+
};
|
|
15
|
+
declare const SelectField: ({ CustomOption, selectedSettings, setSelectedSettings, title, disabled, field, values, defaultValue, valueChanged }: ShapeStyleSelectType) => JSX.Element;
|
|
16
|
+
export default SelectField;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _fp = _interopRequireDefault(require("lodash/fp"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _Button = _interopRequireDefault(require("../common/Button"));
|
|
19
|
+
|
|
20
|
+
var _Panel = _interopRequireDefault(require("../common/Panel"));
|
|
21
|
+
|
|
22
|
+
var _react2 = require("@linaria/react");
|
|
23
|
+
|
|
24
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
+
|
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
+
|
|
28
|
+
var StyledButton = /*#__PURE__*/(0, _react2.styled)(_Button["default"])({
|
|
29
|
+
name: "StyledButton",
|
|
30
|
+
"class": "s1ktxhkr"
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
var SelectField = function SelectField(_ref) {
|
|
34
|
+
var CustomOption = _ref.CustomOption,
|
|
35
|
+
selectedSettings = _ref.selectedSettings,
|
|
36
|
+
setSelectedSettings = _ref.setSelectedSettings,
|
|
37
|
+
_ref$title = _ref.title,
|
|
38
|
+
title = _ref$title === void 0 ? "Choisissez l'option" : _ref$title,
|
|
39
|
+
_ref$disabled = _ref.disabled,
|
|
40
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
41
|
+
field = _ref.field,
|
|
42
|
+
values = _ref.values,
|
|
43
|
+
defaultValue = _ref.defaultValue,
|
|
44
|
+
valueChanged = _ref.valueChanged;
|
|
45
|
+
|
|
46
|
+
var _useState = (0, _react.useState)(_fp["default"].uniqueId('settings_')),
|
|
47
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
48
|
+
customKey = _useState2[0];
|
|
49
|
+
|
|
50
|
+
var handleClick = function handleClick(value) {
|
|
51
|
+
valueChanged(field, value);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
var togglePanel = function togglePanel() {
|
|
55
|
+
setSelectedSettings(function (prev) {
|
|
56
|
+
return prev === customKey ? undefined : customKey;
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
var isPanelVisible = selectedSettings === customKey;
|
|
61
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
62
|
+
selected: isPanelVisible,
|
|
63
|
+
title: title,
|
|
64
|
+
disabled: disabled,
|
|
65
|
+
onClick: togglePanel
|
|
66
|
+
}, /*#__PURE__*/_react["default"].createElement(CustomOption, null, defaultValue)), isPanelVisible && /*#__PURE__*/_react["default"].createElement(_Panel["default"], {
|
|
67
|
+
title: title,
|
|
68
|
+
alignment: "left"
|
|
69
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, values.map(function (value) {
|
|
70
|
+
return /*#__PURE__*/_react["default"].createElement(StyledButton, {
|
|
71
|
+
key: value,
|
|
72
|
+
title: "".concat(value),
|
|
73
|
+
onClick: function onClick() {
|
|
74
|
+
return handleClick(value);
|
|
75
|
+
},
|
|
76
|
+
selected: defaultValue == value
|
|
77
|
+
}, /*#__PURE__*/_react["default"].createElement(CustomOption, null, value));
|
|
78
|
+
}))));
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
var _default = SelectField;
|
|
82
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { DrawableShape, StyledShape, ToolsType } from 'types/Shapes';
|
|
3
|
+
declare type SettingsBoxType = {
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
withLayouts?: 'always' | 'never' | 'visible' | 'hidden';
|
|
6
|
+
activeTool: ToolsType;
|
|
7
|
+
selectedShape: DrawableShape | undefined;
|
|
8
|
+
canvas: HTMLCanvasElement | null;
|
|
9
|
+
updateShape: (shape: DrawableShape, withSave?: boolean) => void;
|
|
10
|
+
removeShape: (shape: DrawableShape) => void;
|
|
11
|
+
defaultConf: StyledShape;
|
|
12
|
+
setDefaultConf: React.Dispatch<React.SetStateAction<StyledShape>>;
|
|
13
|
+
toggleLayoutPanel: () => void;
|
|
14
|
+
};
|
|
15
|
+
declare const SettingsBar: ({ disabled, withLayouts, toggleLayoutPanel, activeTool, selectedShape, canvas, updateShape, removeShape, defaultConf, setDefaultConf }: SettingsBoxType) => JSX.Element;
|
|
16
|
+
export default SettingsBar;
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
16
|
+
var _fp = _interopRequireDefault(require("lodash/fp"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
var _react2 = require("@linaria/react");
|
|
21
|
+
|
|
22
|
+
var _Shapes = require("../../types/Shapes");
|
|
23
|
+
|
|
24
|
+
var _transform = require("../../utils/transform");
|
|
25
|
+
|
|
26
|
+
var _ColorField = _interopRequireDefault(require("./ColorField"));
|
|
27
|
+
|
|
28
|
+
var _DeleteButton = _interopRequireDefault(require("./DeleteButton"));
|
|
29
|
+
|
|
30
|
+
var _LayoutButton = _interopRequireDefault(require("./LayoutButton"));
|
|
31
|
+
|
|
32
|
+
var _RangeField = _interopRequireDefault(require("./RangeField"));
|
|
33
|
+
|
|
34
|
+
var _FontFamilyField = _interopRequireDefault(require("./FontFamilyField"));
|
|
35
|
+
|
|
36
|
+
var _PointsNumberField = _interopRequireDefault(require("./PointsNumberField"));
|
|
37
|
+
|
|
38
|
+
var _LineTypeField = _interopRequireDefault(require("./LineTypeField"));
|
|
39
|
+
|
|
40
|
+
var _LineArrowField = _interopRequireDefault(require("./LineArrowField"));
|
|
41
|
+
|
|
42
|
+
var _style = require("../../constants/style");
|
|
43
|
+
|
|
44
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
45
|
+
|
|
46
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
47
|
+
|
|
48
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
49
|
+
|
|
50
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
51
|
+
|
|
52
|
+
var StyledSettingsBar = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
53
|
+
name: "StyledSettingsBar",
|
|
54
|
+
"class": "s16z54di"
|
|
55
|
+
});
|
|
56
|
+
var StyledSeparator = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
57
|
+
name: "StyledSeparator",
|
|
58
|
+
"class": "sa7lzh9"
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
var SettingsBar = function SettingsBar(_ref) {
|
|
62
|
+
var _selectedShape$style, _selectedShape$style2, _selectedShape$style3, _selectedShape$style4, _selectedShape$style5, _selectedShape$style6, _selectedShape$style$, _selectedShape$style7, _defaultConf$style, _defaultConf$style2, _defaultConf$style3, _defaultConf$style4, _defaultConf$style5, _defaultConf$style6, _defaultConf$style7;
|
|
63
|
+
|
|
64
|
+
var _ref$disabled = _ref.disabled,
|
|
65
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
66
|
+
withLayouts = _ref.withLayouts,
|
|
67
|
+
toggleLayoutPanel = _ref.toggleLayoutPanel,
|
|
68
|
+
activeTool = _ref.activeTool,
|
|
69
|
+
selectedShape = _ref.selectedShape,
|
|
70
|
+
canvas = _ref.canvas,
|
|
71
|
+
updateShape = _ref.updateShape,
|
|
72
|
+
removeShape = _ref.removeShape,
|
|
73
|
+
defaultConf = _ref.defaultConf,
|
|
74
|
+
setDefaultConf = _ref.setDefaultConf;
|
|
75
|
+
var shapes = [_Shapes.ShapeEnum.brush, _Shapes.ShapeEnum.ellipse, _Shapes.ShapeEnum.circle, _Shapes.ShapeEnum.rect, _Shapes.ShapeEnum.square, _Shapes.ShapeEnum.line, _Shapes.ShapeEnum.polygon, _Shapes.ShapeEnum.curve, _Shapes.ShapeEnum.text];
|
|
76
|
+
|
|
77
|
+
var _useState = (0, _react.useState)(undefined),
|
|
78
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
79
|
+
selectedSettings = _useState2[0],
|
|
80
|
+
setSelectedSettings = _useState2[1];
|
|
81
|
+
|
|
82
|
+
var handleShapeStyleChange = function handleShapeStyleChange(field, value) {
|
|
83
|
+
if (selectedShape) {
|
|
84
|
+
updateShape(_fp["default"].set(field, value, selectedShape), true);
|
|
85
|
+
} else {
|
|
86
|
+
setDefaultConf(function (prevDefaultConf) {
|
|
87
|
+
return _fp["default"].set(field, value, prevDefaultConf);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
var handleShapeFontFamilyChange = function handleShapeFontFamilyChange(field, value) {
|
|
93
|
+
if (selectedShape) {
|
|
94
|
+
var _newShape$style;
|
|
95
|
+
|
|
96
|
+
var ctx = canvas === null || canvas === void 0 ? void 0 : canvas.getContext('2d');
|
|
97
|
+
if (!ctx) return;
|
|
98
|
+
|
|
99
|
+
var newShape = _fp["default"].set(field, value, selectedShape);
|
|
100
|
+
|
|
101
|
+
var fontSize = (0, _transform.calculateTextFontSize)(ctx, newShape.value, newShape.width, (_newShape$style = newShape.style) === null || _newShape$style === void 0 ? void 0 : _newShape$style.fontFamily);
|
|
102
|
+
|
|
103
|
+
var resizedShape = _objectSpread(_objectSpread({}, newShape), {}, {
|
|
104
|
+
fontSize: fontSize,
|
|
105
|
+
height: fontSize * newShape.value.length
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
updateShape(resizedShape, true);
|
|
109
|
+
} else {
|
|
110
|
+
setDefaultConf(function (prevDefaultConf) {
|
|
111
|
+
return _fp["default"].set(field, value, prevDefaultConf);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
var handlePolygonLinesCount = function handlePolygonLinesCount(field, value) {
|
|
117
|
+
if (selectedShape) {
|
|
118
|
+
updateShape((0, _transform.updatePolygonLinesCount)(selectedShape, value), true);
|
|
119
|
+
} else {
|
|
120
|
+
setDefaultConf(function (prevDefaultConf) {
|
|
121
|
+
return _fp["default"].set(field, value, prevDefaultConf);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
return /*#__PURE__*/_react["default"].createElement(StyledSettingsBar, null, selectedShape ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, shapes.includes(selectedShape === null || selectedShape === void 0 ? void 0 : selectedShape.type) && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, (selectedShape.type === _Shapes.ShapeEnum.polygon || selectedShape.type === _Shapes.ShapeEnum.curve) && /*#__PURE__*/_react["default"].createElement(_PointsNumberField["default"], {
|
|
127
|
+
selectedSettings: selectedSettings,
|
|
128
|
+
setSelectedSettings: setSelectedSettings,
|
|
129
|
+
disabled: disabled,
|
|
130
|
+
defaultValue: selectedShape.points.length,
|
|
131
|
+
valueChanged: handlePolygonLinesCount,
|
|
132
|
+
values: selectedShape.type === _Shapes.ShapeEnum.curve ? _style.CURVE_POINTS_VALUES : _style.POLYGON_POINTS_VALUES
|
|
133
|
+
}), selectedShape.type === _Shapes.ShapeEnum.text ? /*#__PURE__*/_react["default"].createElement(_FontFamilyField["default"], {
|
|
134
|
+
selectedSettings: selectedSettings,
|
|
135
|
+
setSelectedSettings: setSelectedSettings,
|
|
136
|
+
disabled: disabled,
|
|
137
|
+
defaultValue: (_selectedShape$style = selectedShape.style) === null || _selectedShape$style === void 0 ? void 0 : _selectedShape$style.fontFamily,
|
|
138
|
+
valueChanged: handleShapeFontFamilyChange
|
|
139
|
+
}) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_RangeField["default"], {
|
|
140
|
+
selectedSettings: selectedSettings,
|
|
141
|
+
setSelectedSettings: setSelectedSettings,
|
|
142
|
+
title: "Epaisseur du trait",
|
|
143
|
+
disabled: disabled,
|
|
144
|
+
field: "style.lineWidth",
|
|
145
|
+
value: (_selectedShape$style2 = selectedShape.style) === null || _selectedShape$style2 === void 0 ? void 0 : _selectedShape$style2.lineWidth,
|
|
146
|
+
valueChanged: handleShapeStyleChange,
|
|
147
|
+
unity: "px"
|
|
148
|
+
}), /*#__PURE__*/_react["default"].createElement(_LineTypeField["default"], {
|
|
149
|
+
selectedSettings: selectedSettings,
|
|
150
|
+
setSelectedSettings: setSelectedSettings,
|
|
151
|
+
disabled: disabled,
|
|
152
|
+
defaultValue: (_selectedShape$style3 = selectedShape.style) === null || _selectedShape$style3 === void 0 ? void 0 : _selectedShape$style3.lineDash,
|
|
153
|
+
valueChanged: handleShapeStyleChange
|
|
154
|
+
})), selectedShape.type === _Shapes.ShapeEnum.line && /*#__PURE__*/_react["default"].createElement(_LineArrowField["default"], {
|
|
155
|
+
selectedSettings: selectedSettings,
|
|
156
|
+
setSelectedSettings: setSelectedSettings,
|
|
157
|
+
disabled: disabled,
|
|
158
|
+
defaultValue: (_selectedShape$style4 = selectedShape.style) === null || _selectedShape$style4 === void 0 ? void 0 : _selectedShape$style4.lineArrow,
|
|
159
|
+
valueChanged: handleShapeStyleChange
|
|
160
|
+
}), /*#__PURE__*/_react["default"].createElement(_ColorField["default"], {
|
|
161
|
+
selectedSettings: selectedSettings,
|
|
162
|
+
setSelectedSettings: setSelectedSettings,
|
|
163
|
+
title: "Couleur du trait",
|
|
164
|
+
disabled: disabled,
|
|
165
|
+
field: "style.strokeColor",
|
|
166
|
+
value: (_selectedShape$style5 = selectedShape.style) === null || _selectedShape$style5 === void 0 ? void 0 : _selectedShape$style5.strokeColor,
|
|
167
|
+
valueChanged: handleShapeStyleChange
|
|
168
|
+
}), selectedShape.type !== _Shapes.ShapeEnum.text && selectedShape.type !== _Shapes.ShapeEnum.brush && selectedShape.type !== _Shapes.ShapeEnum.line && /*#__PURE__*/_react["default"].createElement(_ColorField["default"], {
|
|
169
|
+
selectedSettings: selectedSettings,
|
|
170
|
+
setSelectedSettings: setSelectedSettings,
|
|
171
|
+
title: "Couleur de fond",
|
|
172
|
+
disabled: disabled,
|
|
173
|
+
field: "style.fillColor",
|
|
174
|
+
value: (_selectedShape$style6 = selectedShape.style) === null || _selectedShape$style6 === void 0 ? void 0 : _selectedShape$style6.fillColor,
|
|
175
|
+
valueChanged: handleShapeStyleChange
|
|
176
|
+
})), /*#__PURE__*/_react["default"].createElement(_RangeField["default"], {
|
|
177
|
+
selectedSettings: selectedSettings,
|
|
178
|
+
setSelectedSettings: setSelectedSettings,
|
|
179
|
+
title: "Opacit\xE9",
|
|
180
|
+
min: 0,
|
|
181
|
+
max: 100,
|
|
182
|
+
step: 1,
|
|
183
|
+
unity: "%",
|
|
184
|
+
disabled: disabled,
|
|
185
|
+
field: "style.globalAlpha",
|
|
186
|
+
value: (_selectedShape$style$ = (_selectedShape$style7 = selectedShape.style) === null || _selectedShape$style7 === void 0 ? void 0 : _selectedShape$style7.globalAlpha) !== null && _selectedShape$style$ !== void 0 ? _selectedShape$style$ : 100,
|
|
187
|
+
valueChanged: handleShapeStyleChange
|
|
188
|
+
}), /*#__PURE__*/_react["default"].createElement(_DeleteButton["default"], {
|
|
189
|
+
disabled: disabled,
|
|
190
|
+
selectedShape: selectedShape,
|
|
191
|
+
removeShape: removeShape
|
|
192
|
+
})) : _fp["default"].includes(activeTool, shapes) && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, (activeTool === _Shapes.ShapeEnum.polygon || activeTool === _Shapes.ShapeEnum.curve) && /*#__PURE__*/_react["default"].createElement(_PointsNumberField["default"], {
|
|
193
|
+
selectedSettings: selectedSettings,
|
|
194
|
+
setSelectedSettings: setSelectedSettings,
|
|
195
|
+
disabled: disabled,
|
|
196
|
+
defaultValue: 3,
|
|
197
|
+
valueChanged: handlePolygonLinesCount,
|
|
198
|
+
values: activeTool === _Shapes.ShapeEnum.curve ? _style.CURVE_POINTS_VALUES : _style.POLYGON_POINTS_VALUES
|
|
199
|
+
}), activeTool === _Shapes.ShapeEnum.text ? /*#__PURE__*/_react["default"].createElement(_FontFamilyField["default"], {
|
|
200
|
+
selectedSettings: selectedSettings,
|
|
201
|
+
setSelectedSettings: setSelectedSettings,
|
|
202
|
+
disabled: disabled,
|
|
203
|
+
defaultValue: (_defaultConf$style = defaultConf.style) === null || _defaultConf$style === void 0 ? void 0 : _defaultConf$style.fontFamily,
|
|
204
|
+
valueChanged: handleShapeStyleChange
|
|
205
|
+
}) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_RangeField["default"], {
|
|
206
|
+
selectedSettings: selectedSettings,
|
|
207
|
+
setSelectedSettings: setSelectedSettings,
|
|
208
|
+
title: "Epaisseur du trait",
|
|
209
|
+
disabled: disabled,
|
|
210
|
+
field: "style.lineWidth",
|
|
211
|
+
value: (_defaultConf$style2 = defaultConf.style) === null || _defaultConf$style2 === void 0 ? void 0 : _defaultConf$style2.lineWidth,
|
|
212
|
+
valueChanged: handleShapeStyleChange,
|
|
213
|
+
unity: "px"
|
|
214
|
+
}), /*#__PURE__*/_react["default"].createElement(_LineTypeField["default"], {
|
|
215
|
+
selectedSettings: selectedSettings,
|
|
216
|
+
setSelectedSettings: setSelectedSettings,
|
|
217
|
+
disabled: disabled,
|
|
218
|
+
defaultValue: (_defaultConf$style3 = defaultConf.style) === null || _defaultConf$style3 === void 0 ? void 0 : _defaultConf$style3.lineDash,
|
|
219
|
+
valueChanged: handleShapeStyleChange
|
|
220
|
+
})), activeTool === _Shapes.ShapeEnum.line && /*#__PURE__*/_react["default"].createElement(_LineArrowField["default"], {
|
|
221
|
+
selectedSettings: selectedSettings,
|
|
222
|
+
setSelectedSettings: setSelectedSettings,
|
|
223
|
+
disabled: disabled,
|
|
224
|
+
defaultValue: (_defaultConf$style4 = defaultConf.style) === null || _defaultConf$style4 === void 0 ? void 0 : _defaultConf$style4.lineArrow,
|
|
225
|
+
valueChanged: handleShapeStyleChange
|
|
226
|
+
}), /*#__PURE__*/_react["default"].createElement(_ColorField["default"], {
|
|
227
|
+
selectedSettings: selectedSettings,
|
|
228
|
+
setSelectedSettings: setSelectedSettings,
|
|
229
|
+
title: "Couleur du trait",
|
|
230
|
+
disabled: disabled,
|
|
231
|
+
field: "style.strokeColor",
|
|
232
|
+
value: (_defaultConf$style5 = defaultConf.style) === null || _defaultConf$style5 === void 0 ? void 0 : _defaultConf$style5.strokeColor,
|
|
233
|
+
valueChanged: handleShapeStyleChange
|
|
234
|
+
}), activeTool !== _Shapes.ShapeEnum.text && activeTool !== _Shapes.ShapeEnum.brush && activeTool !== _Shapes.ShapeEnum.line && /*#__PURE__*/_react["default"].createElement(_ColorField["default"], {
|
|
235
|
+
selectedSettings: selectedSettings,
|
|
236
|
+
setSelectedSettings: setSelectedSettings,
|
|
237
|
+
title: "Couleur de fond",
|
|
238
|
+
disabled: disabled,
|
|
239
|
+
field: "style.fillColor",
|
|
240
|
+
value: (_defaultConf$style6 = defaultConf.style) === null || _defaultConf$style6 === void 0 ? void 0 : _defaultConf$style6.fillColor,
|
|
241
|
+
valueChanged: handleShapeStyleChange
|
|
242
|
+
}), /*#__PURE__*/_react["default"].createElement(_RangeField["default"], {
|
|
243
|
+
selectedSettings: selectedSettings,
|
|
244
|
+
setSelectedSettings: setSelectedSettings,
|
|
245
|
+
title: "Opacit\xE9",
|
|
246
|
+
min: 0,
|
|
247
|
+
max: 100,
|
|
248
|
+
step: 1,
|
|
249
|
+
unity: "%",
|
|
250
|
+
disabled: disabled,
|
|
251
|
+
field: "style.globalAlpha",
|
|
252
|
+
value: (_defaultConf$style7 = defaultConf.style) === null || _defaultConf$style7 === void 0 ? void 0 : _defaultConf$style7.globalAlpha,
|
|
253
|
+
valueChanged: handleShapeStyleChange
|
|
254
|
+
})), /*#__PURE__*/_react["default"].createElement(StyledSeparator, null), /*#__PURE__*/_react["default"].createElement(_LayoutButton["default"], {
|
|
255
|
+
withLayouts: withLayouts,
|
|
256
|
+
disabled: disabled,
|
|
257
|
+
toggleLayoutPanel: toggleLayoutPanel
|
|
258
|
+
}));
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
var _default = SettingsBar;
|
|
262
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { DrawableText } from 'types/Shapes';
|
|
3
|
+
declare type EditTextBoxType = {
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
shape: DrawableText;
|
|
6
|
+
defaultValue: string[];
|
|
7
|
+
updateValue: (newValue: string[]) => void;
|
|
8
|
+
};
|
|
9
|
+
declare const EditTextBox: ({ disabled, shape, defaultValue, updateValue }: EditTextBoxType) => JSX.Element;
|
|
10
|
+
export default EditTextBox;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _style = require("../../constants/style");
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
|
|
14
|
+
var _react2 = require("@linaria/react");
|
|
15
|
+
|
|
16
|
+
var _intersect = require("../../utils/intersect");
|
|
17
|
+
|
|
18
|
+
var _shapeData = require("../../utils/shapeData");
|
|
19
|
+
|
|
20
|
+
var _string = require("../../utils/string");
|
|
21
|
+
|
|
22
|
+
var _transform = require("../../utils/transform");
|
|
23
|
+
|
|
24
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
+
|
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
+
|
|
28
|
+
var StyledEditBox = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
29
|
+
name: "StyledEditBox",
|
|
30
|
+
"class": "s1unz6yq",
|
|
31
|
+
vars: {
|
|
32
|
+
"s1unz6yq-0": [function (_ref) {
|
|
33
|
+
var transform = _ref.transform;
|
|
34
|
+
return transform;
|
|
35
|
+
}],
|
|
36
|
+
"s1unz6yq-1": [function (_ref2) {
|
|
37
|
+
var color = _ref2.color;
|
|
38
|
+
return color;
|
|
39
|
+
}],
|
|
40
|
+
"s1unz6yq-2": [function (_ref3) {
|
|
41
|
+
var fontsize = _ref3.fontsize;
|
|
42
|
+
return fontsize;
|
|
43
|
+
}, "px"],
|
|
44
|
+
"s1unz6yq-4": [function (_ref4) {
|
|
45
|
+
var fontfamily = _ref4.fontfamily;
|
|
46
|
+
return fontfamily;
|
|
47
|
+
}]
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
var EditTextBox = function EditTextBox(_ref5) {
|
|
52
|
+
var _shape$style$strokeCo, _shape$style, _shape$style$fontFami, _shape$style2;
|
|
53
|
+
|
|
54
|
+
var _ref5$disabled = _ref5.disabled,
|
|
55
|
+
disabled = _ref5$disabled === void 0 ? false : _ref5$disabled,
|
|
56
|
+
shape = _ref5.shape,
|
|
57
|
+
defaultValue = _ref5.defaultValue,
|
|
58
|
+
updateValue = _ref5.updateValue;
|
|
59
|
+
var ref = (0, _react.useRef)(null);
|
|
60
|
+
|
|
61
|
+
var updateContentEditable = function updateContentEditable(e) {
|
|
62
|
+
updateValue((0, _string.convertDivContentToStringArray)(e.target.innerHTML));
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
(0, _react.useEffect)(function () {
|
|
66
|
+
if (!ref.current) return;
|
|
67
|
+
ref.current.innerHTML = (0, _string.convertStringArrayToDivContent)(defaultValue);
|
|
68
|
+
ref.current.focus();
|
|
69
|
+
}, [defaultValue]);
|
|
70
|
+
var position = (0, _react.useMemo)(function () {
|
|
71
|
+
var _getShapeInfos = (0, _shapeData.getShapeInfos)(shape),
|
|
72
|
+
borders = _getShapeInfos.borders,
|
|
73
|
+
center = _getShapeInfos.center;
|
|
74
|
+
|
|
75
|
+
return (0, _intersect.getPointPositionBeforeCanvasTransformation)([borders.x, borders.y], [-shape.translation[0], -shape.translation[1]], shape.rotation, center);
|
|
76
|
+
}, [shape]);
|
|
77
|
+
return /*#__PURE__*/_react["default"].createElement(StyledEditBox, {
|
|
78
|
+
ref: ref,
|
|
79
|
+
transform: "translate3D(".concat(position[0], "px, ").concat(position[1], "px, 0) rotate(").concat((0, _transform.radiansToDegrees)(shape.rotation), "deg)"),
|
|
80
|
+
fontsize: shape.fontSize,
|
|
81
|
+
color: (_shape$style$strokeCo = (_shape$style = shape.style) === null || _shape$style === void 0 ? void 0 : _shape$style.strokeColor) !== null && _shape$style$strokeCo !== void 0 ? _shape$style$strokeCo : 'inherit',
|
|
82
|
+
fontfamily: (_shape$style$fontFami = (_shape$style2 = shape.style) === null || _shape$style2 === void 0 ? void 0 : _shape$style2.fontFamily) !== null && _shape$style$fontFami !== void 0 ? _shape$style$fontFami : _style.STYLE_FONT_DEFAULT,
|
|
83
|
+
contentEditable: !disabled,
|
|
84
|
+
onInput: updateContentEditable
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
var _default = EditTextBox;
|
|
89
|
+
exports["default"] = _default;
|