@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.
Files changed (103) hide show
  1. package/Changelog.md +26 -0
  2. package/README.md +99 -0
  3. package/dist/components/App.d.ts +20 -0
  4. package/dist/components/App.js +533 -0
  5. package/dist/components/Canvas.d.ts +28 -0
  6. package/dist/components/Canvas.js +188 -0
  7. package/dist/components/common/Button.d.ts +14 -0
  8. package/dist/components/common/Button.js +97 -0
  9. package/dist/components/common/Loading.d.ts +6 -0
  10. package/dist/components/common/Loading.js +66 -0
  11. package/dist/components/common/Modal.d.ts +8 -0
  12. package/dist/components/common/Modal.js +41 -0
  13. package/dist/components/common/Panel.d.ts +10 -0
  14. package/dist/components/common/Panel.js +48 -0
  15. package/dist/components/common/Snackbar.d.ts +7 -0
  16. package/dist/components/common/Snackbar.js +75 -0
  17. package/dist/components/settings/ColorField.d.ts +12 -0
  18. package/dist/components/settings/ColorField.js +128 -0
  19. package/dist/components/settings/DeleteButton.d.ts +9 -0
  20. package/dist/components/settings/DeleteButton.js +36 -0
  21. package/dist/components/settings/FontFamilyField.d.ts +10 -0
  22. package/dist/components/settings/FontFamilyField.js +57 -0
  23. package/dist/components/settings/LayoutButton.d.ts +8 -0
  24. package/dist/components/settings/LayoutButton.js +37 -0
  25. package/dist/components/settings/Layouts.d.ts +18 -0
  26. package/dist/components/settings/Layouts.js +218 -0
  27. package/dist/components/settings/LineArrowField.d.ts +10 -0
  28. package/dist/components/settings/LineArrowField.js +59 -0
  29. package/dist/components/settings/LineTypeField.d.ts +14 -0
  30. package/dist/components/settings/LineTypeField.js +57 -0
  31. package/dist/components/settings/PointsNumberField.d.ts +11 -0
  32. package/dist/components/settings/PointsNumberField.js +51 -0
  33. package/dist/components/settings/RangeField.d.ts +16 -0
  34. package/dist/components/settings/RangeField.js +90 -0
  35. package/dist/components/settings/SelectField.d.ts +16 -0
  36. package/dist/components/settings/SelectField.js +82 -0
  37. package/dist/components/settings/SettingsBar.d.ts +16 -0
  38. package/dist/components/settings/SettingsBar.js +262 -0
  39. package/dist/components/toolbox/EditTextBox.d.ts +10 -0
  40. package/dist/components/toolbox/EditTextBox.js +89 -0
  41. package/dist/components/toolbox/LoadFileTool.d.ts +11 -0
  42. package/dist/components/toolbox/LoadFileTool.js +58 -0
  43. package/dist/components/toolbox/MenuGroup.d.ts +23 -0
  44. package/dist/components/toolbox/MenuGroup.js +173 -0
  45. package/dist/components/toolbox/PictureUrlInput.d.ts +7 -0
  46. package/dist/components/toolbox/PictureUrlInput.js +96 -0
  47. package/dist/components/toolbox/Tool.d.ts +13 -0
  48. package/dist/components/toolbox/Tool.js +41 -0
  49. package/dist/components/toolbox/Toolbar.d.ts +20 -0
  50. package/dist/components/toolbox/Toolbar.js +205 -0
  51. package/dist/components/toolbox/ToolbarGroup.d.ts +18 -0
  52. package/dist/components/toolbox/ToolbarGroup.js +139 -0
  53. package/dist/constants/draw.d.ts +2 -0
  54. package/dist/constants/draw.js +10 -0
  55. package/dist/constants/icons.d.ts +36 -0
  56. package/dist/constants/icons.js +80 -0
  57. package/dist/constants/shapes.d.ts +5 -0
  58. package/dist/constants/shapes.js +14 -0
  59. package/dist/constants/snackbar.d.ts +11 -0
  60. package/dist/constants/snackbar.js +23 -0
  61. package/dist/constants/style.d.ts +12 -0
  62. package/dist/constants/style.js +30 -0
  63. package/dist/hooks/useComponent.d.ts +9 -0
  64. package/dist/hooks/useComponent.js +48 -0
  65. package/dist/hooks/useDrag.d.ts +15 -0
  66. package/dist/hooks/useDrag.js +100 -0
  67. package/dist/hooks/useDrawableCanvas.d.ts +30 -0
  68. package/dist/hooks/useDrawableCanvas.js +250 -0
  69. package/dist/hooks/useKeyboard.d.ts +15 -0
  70. package/dist/hooks/useKeyboard.js +123 -0
  71. package/dist/hooks/useShapes.d.ts +22 -0
  72. package/dist/hooks/useShapes.js +229 -0
  73. package/dist/hooks/useSnackbar.d.ts +16 -0
  74. package/dist/hooks/useSnackbar.js +86 -0
  75. package/dist/schemas/drawableShape.json +1021 -0
  76. package/dist/styles.css +88 -0
  77. package/dist/types/Mode.d.ts +51 -0
  78. package/dist/types/Mode.js +17 -0
  79. package/dist/types/Shapes.d.ts +122 -0
  80. package/dist/types/Shapes.js +35 -0
  81. package/dist/types/keyboard.d.ts +15 -0
  82. package/dist/types/keyboard.js +28 -0
  83. package/dist/utils/data.d.ts +4 -0
  84. package/dist/utils/data.js +178 -0
  85. package/dist/utils/draw.d.ts +18 -0
  86. package/dist/utils/draw.js +422 -0
  87. package/dist/utils/file.d.ts +33 -0
  88. package/dist/utils/file.js +220 -0
  89. package/dist/utils/intersect.d.ts +8 -0
  90. package/dist/utils/intersect.js +194 -0
  91. package/dist/utils/selection.d.ts +7 -0
  92. package/dist/utils/selection.js +88 -0
  93. package/dist/utils/shapeData.d.ts +5 -0
  94. package/dist/utils/shapeData.js +178 -0
  95. package/dist/utils/string.d.ts +3 -0
  96. package/dist/utils/string.js +42 -0
  97. package/dist/utils/style.d.ts +2 -0
  98. package/dist/utils/style.js +46 -0
  99. package/dist/utils/toolbar.d.ts +12 -0
  100. package/dist/utils/toolbar.js +37 -0
  101. package/dist/utils/transform.d.ts +271 -0
  102. package/dist/utils/transform.js +371 -0
  103. 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,6 @@
1
+ /// <reference types="react" />
2
+ export declare type LoadingType = {
3
+ isLoading: boolean;
4
+ };
5
+ declare const Loading: ({ isLoading }: LoadingType) => JSX.Element | null;
6
+ export default Loading;
@@ -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,8 @@
1
+ import { ReactNode } from 'react';
2
+ declare type ModalType = {
3
+ children: ReactNode;
4
+ onClose: () => void;
5
+ className?: string;
6
+ };
7
+ declare const Modal: ({ children, onClose, className }: ModalType) => JSX.Element;
8
+ export default Modal;
@@ -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;