@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,28 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { DrawableShape, Point, StyledShape, ToolsType } from 'types/Shapes';
|
|
3
|
+
import { SelectionModeData } from 'types/Mode';
|
|
4
|
+
declare type DrawerType = {
|
|
5
|
+
withGrid: boolean;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
canGrow?: boolean;
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
shapes: DrawableShape[];
|
|
11
|
+
saveShapes: () => void;
|
|
12
|
+
addShape: (newShape: DrawableShape) => void;
|
|
13
|
+
updateSingleShape: (updatedShape: DrawableShape) => void;
|
|
14
|
+
selectedShape: DrawableShape | undefined;
|
|
15
|
+
setSelectedShape: React.Dispatch<React.SetStateAction<DrawableShape | undefined>>;
|
|
16
|
+
activeTool: ToolsType;
|
|
17
|
+
setActiveTool: React.Dispatch<React.SetStateAction<ToolsType>>;
|
|
18
|
+
canvasOffsetStartPosition: Point | undefined;
|
|
19
|
+
setCanvasOffsetStartPosition: React.Dispatch<React.SetStateAction<Point | undefined>>;
|
|
20
|
+
canvasOffset: Point;
|
|
21
|
+
setCanvasOffset: React.Dispatch<React.SetStateAction<Point>>;
|
|
22
|
+
defaultConf: StyledShape;
|
|
23
|
+
isInsideComponent: boolean;
|
|
24
|
+
selectionMode: SelectionModeData<number | Point>;
|
|
25
|
+
setSelectionMode: React.Dispatch<React.SetStateAction<SelectionModeData<number | Point>>>;
|
|
26
|
+
};
|
|
27
|
+
declare const Canvas: React.ForwardRefExoticComponent<DrawerType & React.RefAttributes<HTMLCanvasElement>>;
|
|
28
|
+
export default Canvas;
|
|
@@ -0,0 +1,188 @@
|
|
|
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 _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _react2 = require("@linaria/react");
|
|
17
|
+
|
|
18
|
+
var _fp = _interopRequireDefault(require("lodash/fp"));
|
|
19
|
+
|
|
20
|
+
var _Shapes = require("../types/Shapes");
|
|
21
|
+
|
|
22
|
+
var _draw = require("../utils/draw");
|
|
23
|
+
|
|
24
|
+
var _Mode = require("../types/Mode");
|
|
25
|
+
|
|
26
|
+
var _transform = require("../utils/transform");
|
|
27
|
+
|
|
28
|
+
var _draw2 = require("../constants/draw");
|
|
29
|
+
|
|
30
|
+
var _EditTextBox = _interopRequireDefault(require("./toolbox/EditTextBox"));
|
|
31
|
+
|
|
32
|
+
var _useDrawableCanvas2 = _interopRequireDefault(require("../hooks/useDrawableCanvas"));
|
|
33
|
+
|
|
34
|
+
var _icons = require("../constants/icons");
|
|
35
|
+
|
|
36
|
+
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); }
|
|
37
|
+
|
|
38
|
+
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; }
|
|
39
|
+
|
|
40
|
+
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; }
|
|
41
|
+
|
|
42
|
+
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; }
|
|
43
|
+
|
|
44
|
+
var drawCanvas = function drawCanvas(drawCtx, selectionCtx, selectionMode, width, height, activeTool, canvasOffset, shapes, selectedShape) {
|
|
45
|
+
drawCtx.clearRect(0, 0, width, height);
|
|
46
|
+
selectionCtx.clearRect(0, 0, width, height);
|
|
47
|
+
|
|
48
|
+
for (var i = shapes.length - 1; i >= 0; i--) {
|
|
49
|
+
if (selectionMode.mode !== _Mode.SelectionModeLib.textedition || shapes[i] !== selectedShape) {
|
|
50
|
+
(0, _draw.drawShape)(drawCtx, shapes[i], canvasOffset);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
selectedShape && activeTool !== _Shapes.ShapeEnum.brush && (0, _draw.drawSelection)({
|
|
55
|
+
ctx: selectionCtx,
|
|
56
|
+
shape: selectedShape,
|
|
57
|
+
canvasOffset: canvasOffset,
|
|
58
|
+
withAnchors: selectionMode.mode !== _Mode.SelectionModeLib.textedition
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
var StyledCanvasBox = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
63
|
+
name: "StyledCanvasBox",
|
|
64
|
+
"class": "s9czb9p"
|
|
65
|
+
});
|
|
66
|
+
var StyledCanvasContainer = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
67
|
+
name: "StyledCanvasContainer",
|
|
68
|
+
"class": "s1538eht"
|
|
69
|
+
});
|
|
70
|
+
var StyledDrawCanvas = /*#__PURE__*/(0, _react2.styled)("canvas")({
|
|
71
|
+
name: "StyledDrawCanvas",
|
|
72
|
+
"class": "s101qxdc"
|
|
73
|
+
});
|
|
74
|
+
var StyledSelectionCanvas = /*#__PURE__*/(0, _react2.styled)("canvas")({
|
|
75
|
+
name: "StyledSelectionCanvas",
|
|
76
|
+
"class": "sa4oq48",
|
|
77
|
+
vars: {
|
|
78
|
+
"sa4oq48-0": [function (_ref) {
|
|
79
|
+
var cursor = _ref.cursor;
|
|
80
|
+
return cursor;
|
|
81
|
+
}]
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
var Canvas = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, ref) {
|
|
86
|
+
var withGrid = _ref2.withGrid,
|
|
87
|
+
canGrow = _ref2.canGrow,
|
|
88
|
+
_ref2$disabled = _ref2.disabled,
|
|
89
|
+
disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
|
|
90
|
+
width = _ref2.width,
|
|
91
|
+
height = _ref2.height,
|
|
92
|
+
shapes = _ref2.shapes,
|
|
93
|
+
addShape = _ref2.addShape,
|
|
94
|
+
updateSingleShape = _ref2.updateSingleShape,
|
|
95
|
+
selectedShape = _ref2.selectedShape,
|
|
96
|
+
setSelectedShape = _ref2.setSelectedShape,
|
|
97
|
+
saveShapes = _ref2.saveShapes,
|
|
98
|
+
activeTool = _ref2.activeTool,
|
|
99
|
+
setActiveTool = _ref2.setActiveTool,
|
|
100
|
+
canvasOffsetStartPosition = _ref2.canvasOffsetStartPosition,
|
|
101
|
+
setCanvasOffsetStartPosition = _ref2.setCanvasOffsetStartPosition,
|
|
102
|
+
canvasOffset = _ref2.canvasOffset,
|
|
103
|
+
setCanvasOffset = _ref2.setCanvasOffset,
|
|
104
|
+
defaultConf = _ref2.defaultConf,
|
|
105
|
+
isInsideComponent = _ref2.isInsideComponent,
|
|
106
|
+
selectionMode = _ref2.selectionMode,
|
|
107
|
+
setSelectionMode = _ref2.setSelectionMode;
|
|
108
|
+
var drawCanvasRef = (0, _react.useRef)(null);
|
|
109
|
+
var selectionCanvasRef = (0, _react.useRef)(null); // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
110
|
+
|
|
111
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
|
112
|
+
return drawCanvasRef.current;
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
var _useDrawableCanvas = (0, _useDrawableCanvas2["default"])({
|
|
116
|
+
disabled: disabled,
|
|
117
|
+
addShape: addShape,
|
|
118
|
+
drawCanvasRef: drawCanvasRef,
|
|
119
|
+
setActiveTool: setActiveTool,
|
|
120
|
+
shapes: shapes,
|
|
121
|
+
defaultConf: defaultConf,
|
|
122
|
+
selectionMode: selectionMode,
|
|
123
|
+
width: width,
|
|
124
|
+
height: height,
|
|
125
|
+
activeTool: activeTool,
|
|
126
|
+
isInsideComponent: isInsideComponent,
|
|
127
|
+
setCanvasOffset: setCanvasOffset,
|
|
128
|
+
selectedShape: selectedShape,
|
|
129
|
+
selectionCanvasRef: selectionCanvasRef,
|
|
130
|
+
canvasOffsetStartPosition: canvasOffsetStartPosition,
|
|
131
|
+
setSelectedShape: setSelectedShape,
|
|
132
|
+
setCanvasOffsetStartPosition: setCanvasOffsetStartPosition,
|
|
133
|
+
updateSingleShape: updateSingleShape,
|
|
134
|
+
canvasOffset: canvasOffset,
|
|
135
|
+
saveShapes: saveShapes,
|
|
136
|
+
setSelectionMode: setSelectionMode
|
|
137
|
+
}),
|
|
138
|
+
hoverMode = _useDrawableCanvas.hoverMode;
|
|
139
|
+
|
|
140
|
+
var updateSelectedShapeText = (0, _react.useCallback)(function (newText) {
|
|
141
|
+
var _drawCanvasRef$curren, _newShape$style;
|
|
142
|
+
|
|
143
|
+
if ((selectedShape === null || selectedShape === void 0 ? void 0 : selectedShape.type) !== _Shapes.ShapeEnum.text) return;
|
|
144
|
+
var ctx = (_drawCanvasRef$curren = drawCanvasRef.current) === null || _drawCanvasRef$curren === void 0 ? void 0 : _drawCanvasRef$curren.getContext('2d');
|
|
145
|
+
if (!ctx) return;
|
|
146
|
+
|
|
147
|
+
var newShape = _fp["default"].set('value', newText, selectedShape);
|
|
148
|
+
|
|
149
|
+
var newWidth = (0, _transform.calculateTextWidth)(ctx, newShape.value, newShape.fontSize, (_newShape$style = newShape.style) === null || _newShape$style === void 0 ? void 0 : _newShape$style.fontFamily);
|
|
150
|
+
|
|
151
|
+
var resizedShape = _objectSpread(_objectSpread({}, newShape), {}, {
|
|
152
|
+
width: newWidth,
|
|
153
|
+
height: newShape.fontSize * newShape.value.length
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
updateSingleShape(resizedShape);
|
|
157
|
+
}, [updateSingleShape, selectedShape]);
|
|
158
|
+
(0, _react.useEffect)(function () {
|
|
159
|
+
var _drawCanvasRef$curren2, _selectionCanvasRef$c;
|
|
160
|
+
|
|
161
|
+
var drawCtx = (_drawCanvasRef$curren2 = drawCanvasRef.current) === null || _drawCanvasRef$curren2 === void 0 ? void 0 : _drawCanvasRef$curren2.getContext('2d');
|
|
162
|
+
var selectionCtx = (_selectionCanvasRef$c = selectionCanvasRef.current) === null || _selectionCanvasRef$c === void 0 ? void 0 : _selectionCanvasRef$c.getContext('2d');
|
|
163
|
+
drawCtx && selectionCtx && _fp["default"].throttle(_draw2.FRAMERATE_DRAW, drawCanvas)(drawCtx, selectionCtx, selectionMode, width, height, activeTool, canvasOffset, shapes, selectedShape);
|
|
164
|
+
}, [shapes, selectionMode, selectedShape, activeTool, canvasOffset, width, height]);
|
|
165
|
+
return /*#__PURE__*/_react["default"].createElement(StyledCanvasBox, null, /*#__PURE__*/_react["default"].createElement(StyledCanvasContainer, {
|
|
166
|
+
"data-grid": withGrid,
|
|
167
|
+
"data-grow": canGrow
|
|
168
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledDrawCanvas, {
|
|
169
|
+
ref: drawCanvasRef,
|
|
170
|
+
"data-grow": canGrow,
|
|
171
|
+
width: width,
|
|
172
|
+
height: height
|
|
173
|
+
}), /*#__PURE__*/_react["default"].createElement(StyledSelectionCanvas, {
|
|
174
|
+
ref: selectionCanvasRef,
|
|
175
|
+
width: width,
|
|
176
|
+
height: height,
|
|
177
|
+
"data-grow": canGrow,
|
|
178
|
+
cursor: activeTool !== _Shapes.ToolEnum.selection && activeTool !== _Shapes.ToolEnum.move || hoverMode.mode === _Mode.SelectionModeLib.resize ? 'crosshair' : activeTool === _Shapes.ToolEnum.move || hoverMode.mode === _Mode.SelectionModeLib.translate ? 'move' : hoverMode.mode === _Mode.SelectionModeLib.rotate ? 'grab' : 'default'
|
|
179
|
+
}), selectionMode.mode === _Mode.SelectionModeLib.textedition && (selectedShape === null || selectedShape === void 0 ? void 0 : selectedShape.type) === _Shapes.ShapeEnum.text && /*#__PURE__*/_react["default"].createElement(_EditTextBox["default"], {
|
|
180
|
+
disabled: disabled,
|
|
181
|
+
shape: selectedShape,
|
|
182
|
+
defaultValue: selectionMode.defaultValue,
|
|
183
|
+
updateValue: updateSelectedShapeText
|
|
184
|
+
})));
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
var _default = Canvas;
|
|
188
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare type CommonType = {
|
|
3
|
+
hidden?: boolean;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
selected?: boolean;
|
|
6
|
+
icon?: string;
|
|
7
|
+
};
|
|
8
|
+
declare type ButtonType = CommonType & React.ButtonHTMLAttributes<HTMLButtonElement>;
|
|
9
|
+
declare type FileInputType = CommonType & {
|
|
10
|
+
type: 'file' | 'color';
|
|
11
|
+
accept?: string;
|
|
12
|
+
} & React.InputHTMLAttributes<HTMLInputElement | HTMLButtonElement>;
|
|
13
|
+
declare const Button: React.ForwardRefExoticComponent<(ButtonType | FileInputType) & React.RefAttributes<HTMLButtonElement | HTMLInputElement>>;
|
|
14
|
+
export default Button;
|
|
@@ -0,0 +1,97 @@
|
|
|
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _react2 = require("@linaria/react");
|
|
17
|
+
|
|
18
|
+
var _excluded = ["hidden", "disabled", "selected", "icon", "children", "className", "title", "onClick"],
|
|
19
|
+
_excluded2 = ["hidden", "disabled", "selected", "icon", "children", "type"];
|
|
20
|
+
var StyledButton = /*#__PURE__*/(0, _react2.styled)("button")({
|
|
21
|
+
name: "StyledButton",
|
|
22
|
+
"class": "sq3bzv4"
|
|
23
|
+
});
|
|
24
|
+
var StyledButtonContent = /*#__PURE__*/(0, _react2.styled)("span")({
|
|
25
|
+
name: "StyledButtonContent",
|
|
26
|
+
"class": "sst453j"
|
|
27
|
+
});
|
|
28
|
+
var StyledIcon = /*#__PURE__*/(0, _react2.styled)("span")({
|
|
29
|
+
name: "StyledIcon",
|
|
30
|
+
"class": "s1q5lsc2"
|
|
31
|
+
});
|
|
32
|
+
var StyledChildren = /*#__PURE__*/(0, _react2.styled)("span")({
|
|
33
|
+
name: "StyledChildren",
|
|
34
|
+
"class": "s1dis2j8"
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
var Button = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
|
|
38
|
+
if (props.type === 'file' || props.type === 'color') {
|
|
39
|
+
var _props$hidden = props.hidden,
|
|
40
|
+
hidden = _props$hidden === void 0 ? false : _props$hidden,
|
|
41
|
+
_props$disabled = props.disabled,
|
|
42
|
+
disabled = _props$disabled === void 0 ? false : _props$disabled,
|
|
43
|
+
_props$selected = props.selected,
|
|
44
|
+
selected = _props$selected === void 0 ? false : _props$selected,
|
|
45
|
+
icon = props.icon,
|
|
46
|
+
children = props.children,
|
|
47
|
+
className = props.className,
|
|
48
|
+
title = props.title,
|
|
49
|
+
onClick = props.onClick,
|
|
50
|
+
fileProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
51
|
+
return /*#__PURE__*/_react["default"].createElement(StyledButton, {
|
|
52
|
+
as: "label",
|
|
53
|
+
className: className,
|
|
54
|
+
title: title,
|
|
55
|
+
onClick: onClick,
|
|
56
|
+
"data-disabled": +disabled,
|
|
57
|
+
"data-selected": +selected,
|
|
58
|
+
"data-hidden": +hidden
|
|
59
|
+
}, /*#__PURE__*/_react["default"].createElement("input", (0, _extends2["default"])({
|
|
60
|
+
ref: ref,
|
|
61
|
+
disabled: disabled
|
|
62
|
+
}, fileProps)), /*#__PURE__*/_react["default"].createElement(StyledButtonContent, null, children && /*#__PURE__*/_react["default"].createElement(StyledChildren, null, children), icon && /*#__PURE__*/_react["default"].createElement(StyledIcon, {
|
|
63
|
+
dangerouslySetInnerHTML: {
|
|
64
|
+
__html: icon
|
|
65
|
+
}
|
|
66
|
+
})));
|
|
67
|
+
} else {
|
|
68
|
+
var _ref = props,
|
|
69
|
+
_ref$hidden = _ref.hidden,
|
|
70
|
+
_hidden = _ref$hidden === void 0 ? false : _ref$hidden,
|
|
71
|
+
_ref$disabled = _ref.disabled,
|
|
72
|
+
_disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
73
|
+
_ref$selected = _ref.selected,
|
|
74
|
+
_selected = _ref$selected === void 0 ? false : _ref$selected,
|
|
75
|
+
_icon = _ref.icon,
|
|
76
|
+
_children = _ref.children,
|
|
77
|
+
_ref$type = _ref.type,
|
|
78
|
+
type = _ref$type === void 0 ? 'button' : _ref$type,
|
|
79
|
+
_fileProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded2);
|
|
80
|
+
|
|
81
|
+
return /*#__PURE__*/_react["default"].createElement(StyledButton, (0, _extends2["default"])({
|
|
82
|
+
ref: ref,
|
|
83
|
+
disabled: _disabled,
|
|
84
|
+
"data-disabled": +_disabled,
|
|
85
|
+
"data-selected": +_selected,
|
|
86
|
+
"data-hidden": +_hidden,
|
|
87
|
+
type: type
|
|
88
|
+
}, _fileProps), /*#__PURE__*/_react["default"].createElement(StyledButtonContent, null, _children && /*#__PURE__*/_react["default"].createElement(StyledChildren, null, _children), _icon && /*#__PURE__*/_react["default"].createElement(StyledIcon, {
|
|
89
|
+
dangerouslySetInnerHTML: {
|
|
90
|
+
__html: _icon
|
|
91
|
+
}
|
|
92
|
+
})));
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
var _default = Button;
|
|
97
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,66 @@
|
|
|
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 _react = require("@linaria/react");
|
|
15
|
+
|
|
16
|
+
var _style = require("../../constants/style");
|
|
17
|
+
|
|
18
|
+
var _react2 = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
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); }
|
|
21
|
+
|
|
22
|
+
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; }
|
|
23
|
+
|
|
24
|
+
var TRANSITION_DURATION = 300;
|
|
25
|
+
var StyledLoading = /*#__PURE__*/(0, _react.styled)("div")({
|
|
26
|
+
name: "StyledLoading",
|
|
27
|
+
"class": "s9j48u3"
|
|
28
|
+
});
|
|
29
|
+
var StyledLoader = /*#__PURE__*/(0, _react.styled)("div")({
|
|
30
|
+
name: "StyledLoader",
|
|
31
|
+
"class": "s4auclc"
|
|
32
|
+
});
|
|
33
|
+
var StyledShape = /*#__PURE__*/(0, _react.styled)("div")({
|
|
34
|
+
name: "StyledShape",
|
|
35
|
+
"class": "s1l3fbq"
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
var Loading = function Loading(_ref) {
|
|
39
|
+
var _ref$isLoading = _ref.isLoading,
|
|
40
|
+
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading;
|
|
41
|
+
|
|
42
|
+
var _useState = (0, _react2.useState)('hidden'),
|
|
43
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
44
|
+
loadingState = _useState2[0],
|
|
45
|
+
setLoadingState = _useState2[1];
|
|
46
|
+
|
|
47
|
+
(0, _react2.useEffect)(function () {
|
|
48
|
+
if (isLoading) {
|
|
49
|
+
setLoadingState('visible');
|
|
50
|
+
} else {
|
|
51
|
+
setLoadingState('fadeOut');
|
|
52
|
+
var fadeOutTimeout = setTimeout(function () {
|
|
53
|
+
return setLoadingState('hidden');
|
|
54
|
+
}, TRANSITION_DURATION);
|
|
55
|
+
return function () {
|
|
56
|
+
clearTimeout(fadeOutTimeout);
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}, [isLoading]);
|
|
60
|
+
return loadingState === 'hidden' ? null : /*#__PURE__*/_react2["default"].createElement(StyledLoading, {
|
|
61
|
+
"data-loading": loadingState
|
|
62
|
+
}, /*#__PURE__*/_react2["default"].createElement(StyledLoader, null, /*#__PURE__*/_react2["default"].createElement(StyledShape, null), /*#__PURE__*/_react2["default"].createElement(StyledShape, null), /*#__PURE__*/_react2["default"].createElement(StyledShape, null), /*#__PURE__*/_react2["default"].createElement(StyledShape, null)));
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
var _default = Loading;
|
|
66
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,41 @@
|
|
|
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 _react2 = require("@linaria/react");
|
|
13
|
+
|
|
14
|
+
var _style = require("../../constants/style");
|
|
15
|
+
|
|
16
|
+
var StyledModal = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
17
|
+
name: "StyledModal",
|
|
18
|
+
"class": "s1c8tp02"
|
|
19
|
+
});
|
|
20
|
+
var StyledPanel = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
21
|
+
name: "StyledPanel",
|
|
22
|
+
"class": "svkxpz4"
|
|
23
|
+
});
|
|
24
|
+
var StyledMask = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
25
|
+
name: "StyledMask",
|
|
26
|
+
"class": "s1s9jyyg"
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
var Modal = function Modal(_ref) {
|
|
30
|
+
var children = _ref.children,
|
|
31
|
+
onClose = _ref.onClose,
|
|
32
|
+
className = _ref.className;
|
|
33
|
+
return /*#__PURE__*/_react["default"].createElement(StyledModal, null, /*#__PURE__*/_react["default"].createElement(StyledMask, {
|
|
34
|
+
onClick: onClose
|
|
35
|
+
}), /*#__PURE__*/_react["default"].createElement(StyledPanel, {
|
|
36
|
+
className: className
|
|
37
|
+
}, children));
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
var _default = Modal;
|
|
41
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare type PanelType = {
|
|
3
|
+
vertical?: boolean;
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
title?: string;
|
|
6
|
+
className?: string;
|
|
7
|
+
alignment?: 'left' | 'right' | 'center';
|
|
8
|
+
};
|
|
9
|
+
declare const Panel: ({ children, vertical, title, className, alignment }: PanelType) => JSX.Element;
|
|
10
|
+
export default Panel;
|
|
@@ -0,0 +1,48 @@
|
|
|
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 _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _react2 = require("@linaria/react");
|
|
13
|
+
|
|
14
|
+
var _style = require("../../constants/style");
|
|
15
|
+
|
|
16
|
+
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); }
|
|
17
|
+
|
|
18
|
+
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; }
|
|
19
|
+
|
|
20
|
+
var StyledPanel = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
21
|
+
name: "StyledPanel",
|
|
22
|
+
"class": "s1xzg253"
|
|
23
|
+
});
|
|
24
|
+
var StyledTitle = /*#__PURE__*/(0, _react2.styled)("h3")({
|
|
25
|
+
name: "StyledTitle",
|
|
26
|
+
"class": "s17qj3jh"
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
var Panel = function Panel(_ref) {
|
|
30
|
+
var children = _ref.children,
|
|
31
|
+
_ref$vertical = _ref.vertical,
|
|
32
|
+
vertical = _ref$vertical === void 0 ? false : _ref$vertical,
|
|
33
|
+
_ref$title = _ref.title,
|
|
34
|
+
title = _ref$title === void 0 ? '' : _ref$title,
|
|
35
|
+
className = _ref.className,
|
|
36
|
+
_ref$alignment = _ref.alignment,
|
|
37
|
+
alignment = _ref$alignment === void 0 ? 'center' : _ref$alignment;
|
|
38
|
+
var componentRef = (0, _react.useRef)(null);
|
|
39
|
+
return /*#__PURE__*/_react["default"].createElement(StyledPanel, {
|
|
40
|
+
ref: componentRef,
|
|
41
|
+
className: className,
|
|
42
|
+
"data-vertical": +vertical,
|
|
43
|
+
"data-alignment": alignment
|
|
44
|
+
}, title && /*#__PURE__*/_react["default"].createElement(StyledTitle, null, title), children);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
var _default = Panel;
|
|
48
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { SnackBarType } from 'hooks/useSnackbar';
|
|
3
|
+
declare type SnackbarContainerType = {
|
|
4
|
+
snackbarList: SnackBarType[];
|
|
5
|
+
};
|
|
6
|
+
declare const SnackbarContainer: ({ snackbarList }: SnackbarContainerType) => JSX.Element;
|
|
7
|
+
export default SnackbarContainer;
|
|
@@ -0,0 +1,75 @@
|
|
|
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
16
|
+
var _snackbar = require("../../constants/snackbar");
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
var _react2 = require("@linaria/react");
|
|
21
|
+
|
|
22
|
+
var _style = require("../../constants/style");
|
|
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 StyledSnackbar = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
29
|
+
name: "StyledSnackbar",
|
|
30
|
+
"class": "s1xssqat"
|
|
31
|
+
});
|
|
32
|
+
var StyledSnackbarContainer = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
33
|
+
name: "StyledSnackbarContainer",
|
|
34
|
+
"class": "s1bgtt22"
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
var Snackbar = function Snackbar(_ref) {
|
|
38
|
+
var type = _ref.type,
|
|
39
|
+
text = _ref.text,
|
|
40
|
+
duration = _ref.duration;
|
|
41
|
+
|
|
42
|
+
var _useState = (0, _react.useState)(false),
|
|
43
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
44
|
+
isShown = _useState2[0],
|
|
45
|
+
setIsShown = _useState2[1];
|
|
46
|
+
|
|
47
|
+
(0, _react.useEffect)(function () {
|
|
48
|
+
var timeoutShowId = setTimeout(function () {
|
|
49
|
+
setIsShown(true);
|
|
50
|
+
}, 100);
|
|
51
|
+
var timeoutHideId = setTimeout(function () {
|
|
52
|
+
setIsShown(false);
|
|
53
|
+
}, duration - _snackbar.SNACKBAR_ANIMATION_DURATION - 100);
|
|
54
|
+
return function () {
|
|
55
|
+
clearTimeout(timeoutShowId);
|
|
56
|
+
clearTimeout(timeoutHideId);
|
|
57
|
+
};
|
|
58
|
+
}, [duration]);
|
|
59
|
+
return /*#__PURE__*/_react["default"].createElement(StyledSnackbar, {
|
|
60
|
+
"data-is-shown": +isShown,
|
|
61
|
+
"data-type": type
|
|
62
|
+
}, text);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
var SnackbarContainer = function SnackbarContainer(_ref2) {
|
|
66
|
+
var snackbarList = _ref2.snackbarList;
|
|
67
|
+
return /*#__PURE__*/_react["default"].createElement(StyledSnackbarContainer, null, snackbarList.map(function (snackbar) {
|
|
68
|
+
return /*#__PURE__*/_react["default"].createElement(Snackbar, (0, _extends2["default"])({
|
|
69
|
+
key: snackbar.id
|
|
70
|
+
}, snackbar));
|
|
71
|
+
}));
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
var _default = SnackbarContainer;
|
|
75
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
value?: string | undefined;
|
|
9
|
+
valueChanged: (field: string, value: string | number) => void;
|
|
10
|
+
};
|
|
11
|
+
declare const ColorField: ({ selectedSettings, setSelectedSettings, title, disabled, field, value, valueChanged }: ShapeStyleColorType) => JSX.Element;
|
|
12
|
+
export default ColorField;
|