@elliemae/ds-resizeable-container 2.2.0-alpha.4 → 3.0.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cjs/props.js CHANGED
@@ -1,42 +1,24 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __reExport = (target, module2, copyDefault, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
- }
18
- return target;
19
- };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
- return (module2, temp) => {
25
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
- };
27
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var props_exports = {};
29
- __export(props_exports, {
30
- props: () => props
31
- });
32
- var React = __toESM(require("react"));
33
- var import_react_desc = require("react-desc");
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var reactDesc = require('react-desc');
6
+
34
7
  const props = {
35
- children: import_react_desc.PropTypes.node.description("Grid item content"),
36
- vertical: import_react_desc.PropTypes.bool.description("vertical resizing"),
37
- horizontal: import_react_desc.PropTypes.bool.description("horizontal resizing"),
38
- rows: import_react_desc.PropTypes.arrayOf(import_react_desc.PropTypes.oneOfType([import_react_desc.PropTypes.number, import_react_desc.PropTypes.string])).description("Row layout cells"),
39
- cols: import_react_desc.PropTypes.arrayOf(import_react_desc.PropTypes.oneOfType([import_react_desc.PropTypes.number, import_react_desc.PropTypes.string])).description("Column layout cells")
8
+ /** grid item content */
9
+ children: reactDesc.PropTypes.node.description('Grid item content'),
10
+
11
+ /** vertical resizing */
12
+ vertical: reactDesc.PropTypes.bool.description('vertical resizing'),
13
+
14
+ /** horizontal resizing */
15
+ horizontal: reactDesc.PropTypes.bool.description('horizontal resizing'),
16
+
17
+ /** Row layout cells */
18
+ rows: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.oneOfType([reactDesc.PropTypes.number, reactDesc.PropTypes.string])).description('Row layout cells'),
19
+
20
+ /** Column layout cells */
21
+ cols: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.oneOfType([reactDesc.PropTypes.number, reactDesc.PropTypes.string])).description('Column layout cells')
40
22
  };
41
- module.exports = __toCommonJS(props_exports);
42
- //# sourceMappingURL=props.js.map
23
+
24
+ exports.props = props;
package/esm/Resizable.js CHANGED
@@ -1,138 +1,137 @@
1
- import * as React from "react";
2
- import React2, { useRef, useState, useEffect } from "react";
3
- import { describe } from "react-desc";
4
- import styled from "styled-components";
5
- import { mapGap } from "@elliemae/ds-system";
6
- import { Grid } from "@elliemae/ds-grid";
7
- import { props as rprops } from "./props";
8
- import { defaultProps } from "./defaultProps";
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.filter.js';
3
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
4
+ import 'core-js/modules/esnext.iterator.for-each.js';
5
+ import _jsx2 from '@babel/runtime/helpers/esm/jsx';
6
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
+ import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
8
+ import 'core-js/modules/esnext.async-iterator.map.js';
9
+ import 'core-js/modules/esnext.iterator.map.js';
10
+ import 'core-js/modules/web.dom-collections.iterator.js';
11
+ import 'core-js/modules/esnext.async-iterator.every.js';
12
+ import 'core-js/modules/esnext.iterator.constructor.js';
13
+ import 'core-js/modules/esnext.iterator.every.js';
14
+ import React, { useRef, useState, useEffect } from 'react';
15
+ import { describe } from 'react-desc';
16
+ import styled from 'styled-components';
17
+ import { mapGap } from '@elliemae/ds-system';
18
+ import { Grid } from '@elliemae/ds-grid';
19
+ import { props } from './props.js';
20
+ import { defaultProps } from './defaultProps.js';
21
+ import { jsx } from 'react/jsx-runtime';
22
+
23
+ const _excluded = ["innerRef"],
24
+ _excluded2 = ["children", "cols", "rows", "vertical", "horizontal"];
25
+
26
+ 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; }
27
+
28
+ 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) { _defineProperty(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; }
9
29
  const safeDifference = 15;
10
30
  const minDifference = 8;
11
- const EVENT_TYPE = { MOUSE: "mouse", KEY: "arrows" };
31
+ const EVENT_TYPE = {
32
+ MOUSE: 'mouse',
33
+ KEY: 'arrows'
34
+ };
12
35
  const DIRECTION = {
13
- L: "left",
14
- R: "right",
15
- U: "up",
16
- D: "down"
36
+ L: 'left',
37
+ R: 'right',
38
+ U: 'up',
39
+ D: 'down'
17
40
  };
41
+
18
42
  function calcPosition(arrow, position) {
19
43
  let offset;
44
+
20
45
  switch (arrow) {
21
46
  case DIRECTION.U:
22
47
  offset = position - 3;
23
48
  break;
49
+
24
50
  case DIRECTION.D:
25
51
  offset = position + 3;
26
52
  break;
53
+
27
54
  case DIRECTION.L:
28
55
  offset = position - 3;
29
56
  break;
57
+
30
58
  case DIRECTION.R:
31
59
  offset = position + 3;
32
60
  break;
61
+
33
62
  default:
34
63
  offset = position;
35
64
  }
65
+
36
66
  return offset;
37
67
  }
68
+
38
69
  function cursorResolver(nextPx, px, isVertical) {
39
70
  const orientation = {
40
- vertical: "row-resize",
41
- horizontal: "col-resize",
42
- left: "w-resize",
43
- right: "e-resize",
44
- up: "n-resize",
45
- down: "s-resize"
71
+ vertical: 'row-resize',
72
+ horizontal: 'col-resize',
73
+ left: 'w-resize',
74
+ right: 'e-resize',
75
+ up: 'n-resize',
76
+ down: 's-resize'
46
77
  };
47
- if (isVertical && nextPx && nextPx <= safeDifference + 1)
48
- return orientation.up;
49
- if (isVertical && px > safeDifference + 1)
50
- return orientation.vertical;
51
- if (isVertical && px <= safeDifference + 1)
52
- return orientation.down;
53
- if (!isVertical && nextPx && nextPx <= safeDifference + 1)
54
- return orientation.left;
55
- if (!isVertical && px <= safeDifference + 1)
56
- return orientation.right;
57
- if (!isVertical && px > safeDifference + 1)
58
- return orientation.horizontal;
78
+ if (isVertical && nextPx && nextPx <= safeDifference + 1) return orientation.up;
79
+ if (isVertical && px > safeDifference + 1) return orientation.vertical;
80
+ if (isVertical && px <= safeDifference + 1) return orientation.down;
81
+ if (!isVertical && nextPx && nextPx <= safeDifference + 1) return orientation.left;
82
+ if (!isVertical && px <= safeDifference + 1) return orientation.right;
83
+ if (!isVertical && px > safeDifference + 1) return orientation.horizontal;
59
84
  return isVertical ? orientation.vertical : orientation.horizontal;
60
85
  }
61
- function ResizableItemComponent({ innerRef, ...p }) {
62
- return /* @__PURE__ */ React2.createElement(Grid, {
63
- ref: innerRef,
64
- ...p
65
- });
86
+
87
+ function ResizableItemComponent(_ref) {
88
+ let {
89
+ innerRef
90
+ } = _ref,
91
+ p = _objectWithoutProperties(_ref, _excluded);
92
+
93
+ return /*#__PURE__*/jsx(Grid, _objectSpread({
94
+ ref: innerRef
95
+ }, p));
66
96
  }
67
- const ResizableGrid = styled(Grid)``;
68
- const ResizableItem = styled(ResizableItemComponent)`
69
- position: relative;
70
- `;
71
- const ResizableBar = styled.div`
72
- position: absolute;
73
- cursor: ${({ container, nextContainer, v }) => cursorResolver(nextContainer, container, v)};
74
-
75
- ${(props) => {
97
+
98
+ const ResizableGrid = /*#__PURE__*/styled(Grid).withConfig({
99
+ componentId: "sc-forwbw-0"
100
+ })([""]);
101
+ const ResizableItem = /*#__PURE__*/styled(ResizableItemComponent).withConfig({
102
+ componentId: "sc-forwbw-1"
103
+ })(["position:relative;"]);
104
+ const ResizableBar = /*#__PURE__*/styled.div.withConfig({
105
+ componentId: "sc-forwbw-2"
106
+ })(["position:absolute;cursor:", ";", ""], _ref2 => {
107
+ let {
108
+ container,
109
+ nextContainer,
110
+ v
111
+ } = _ref2;
112
+ return cursorResolver(nextContainer, container, v);
113
+ }, props => {
76
114
  if (props.v) {
77
- return `
78
- bottom: calc(${mapGap(props.gutter)} * -0.5);
79
- left: 0;
80
- width: 100%;
81
- height: 10px;
82
- margin-bottom: -5px;
83
- display: flex;
84
- flex-direction: column;
85
- justify-content:space-around;
86
- align-items: center;
87
- &:after{
88
- width: 100%;
89
- height: 1px;
90
- display: block;
91
- background: ${props.theme.colors.neutral["300"]};
92
- content: '';
93
- }
94
- &:hover{
95
- &:after{
96
- background: ${props.theme.colors.brand["600"]};
97
- }
98
- }
99
- `;
115
+ return "\n bottom: calc(".concat(mapGap(props.gutter), " * -0.5);\n left: 0;\n width: 100%;\n height: 10px;\n margin-bottom: -5px;\n display: flex;\n flex-direction: column;\n justify-content:space-around;\n align-items: center;\n &:after{\n width: 100%;\n height: 1px;\n display: block;\n background: ").concat(props.theme.colors.neutral['300'], ";\n content: '';\n }\n &:hover{\n &:after{\n background: ").concat(props.theme.colors.brand['600'], ";\n } \n }\n ");
100
116
  }
101
- return `
102
- top: 0;
103
- right: calc(${mapGap(props.gutter)} * -0.5);
104
- height: 100%;
105
- width: 10px;
106
- margin-right: -5px;
107
- display: flex;
108
- flex-direction: row;
109
- justify-content:space-around;
110
- align-items: center;
111
- &:after{
112
- height: 100%;
113
- width: 1px;
114
- display: block;
115
- background: ${props.theme.colors.neutral["300"]};
116
- content: '';
117
- }
118
- &:hover{
119
- &:after{
120
- background: ${props.theme.colors.brand["600"]};
121
- }
122
- }
123
- `;
124
- }}
125
- `;
126
- const getWidths = (list) => list.map((l) => l.clientWidth);
127
- const getHeights = (list) => list.map((l) => l.clientHeight);
128
- function ResizableContainer({
129
- children,
130
- cols,
131
- rows,
132
- vertical,
133
- horizontal,
134
- ...rest
135
- }) {
117
+
118
+ return "\n top: 0;\n right: calc(".concat(mapGap(props.gutter), " * -0.5);\n height: 100%;\n width: 10px;\n margin-right: -5px;\n display: flex;\n flex-direction: row;\n justify-content:space-around;\n align-items: center;\n &:after{\n height: 100%;\n width: 1px;\n display: block;\n background: ").concat(props.theme.colors.neutral['300'], ";\n content: '';\n }\n &:hover{\n &:after{\n background: ").concat(props.theme.colors.brand['600'], ";\n } \n }\n ");
119
+ });
120
+
121
+ const getWidths = list => list.map(l => l.clientWidth);
122
+
123
+ const getHeights = list => list.map(l => l.clientHeight);
124
+
125
+ function ResizableContainer(_ref3) {
126
+ let {
127
+ children,
128
+ cols,
129
+ rows,
130
+ vertical,
131
+ horizontal
132
+ } = _ref3,
133
+ rest = _objectWithoutProperties(_ref3, _excluded2);
134
+
136
135
  const refs = useRef([]);
137
136
  const [containers, setContainers] = useState(cols);
138
137
  const [blocks, setBlocks] = useState(rows);
@@ -140,18 +139,22 @@ function ResizableContainer({
140
139
  const [start, setStartPoint] = useState(0);
141
140
  const [resetPoint, setResetPoint] = useState();
142
141
  useEffect(() => {
143
- if (horizontal)
144
- setContainers(getWidths(refs.current));
145
- if (vertical)
146
- setBlocks(getHeights(refs.current));
142
+ if (horizontal) setContainers(getWidths(refs.current));
143
+ if (vertical) setBlocks(getHeights(refs.current));
147
144
  }, [refs.current, horizontal, vertical]);
148
- const addRef = (node) => {
145
+
146
+ const addRef = node => {
149
147
  refs.current.push(node);
150
148
  };
151
- const resizePanels = (diff = 1, v = false) => {
149
+
150
+ const resizePanels = function () {
151
+ let diff = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
152
+ let v = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
152
153
  const index = parseInt(start.index, 10);
154
+
153
155
  if (!v) {
154
156
  const newContainers = [...containers];
157
+
155
158
  if (newContainers[index + 1] && newContainers[index + 1] > minDifference) {
156
159
  newContainers[index + 1] = newContainers[index + 1] - diff;
157
160
  newContainers[index] = diff + newContainers[index];
@@ -159,10 +162,11 @@ function ResizableContainer({
159
162
  newContainers[index - 1] = newContainers[index - 1] - diff;
160
163
  newContainers[index] = diff + newContainers[index];
161
164
  }
162
- if (newContainers.every((c) => c > safeDifference))
163
- setContainers(newContainers);
165
+
166
+ if (newContainers.every(c => c > safeDifference)) setContainers(newContainers);
164
167
  } else {
165
168
  const newBlocks = [...blocks];
169
+
166
170
  if (newBlocks[index + 1] && newBlocks[index + 1] > minDifference) {
167
171
  newBlocks[index + 1] = newBlocks[index + 1] - diff;
168
172
  newBlocks[index] = diff + newBlocks[index];
@@ -170,11 +174,14 @@ function ResizableContainer({
170
174
  newBlocks[index - 1] = newBlocks[index - 1] - diff;
171
175
  newBlocks[index] = diff + newBlocks[index];
172
176
  }
173
- if (newBlocks.every((c) => c > safeDifference))
174
- setBlocks(newBlocks);
177
+
178
+ if (newBlocks.every(c => c > safeDifference)) setBlocks(newBlocks);
175
179
  }
176
180
  };
177
- const startResize = (event, index, v = false, type) => {
181
+
182
+ const startResize = function (event, index) {
183
+ let v = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
184
+ let type = arguments.length > 3 ? arguments[3] : undefined;
178
185
  setDragging(type);
179
186
  setStartPoint({
180
187
  x: event.clientX,
@@ -182,30 +189,41 @@ function ResizableContainer({
182
189
  index,
183
190
  v
184
191
  });
185
- setResetPoint({ containers, blocks });
192
+ setResetPoint({
193
+ containers,
194
+ blocks
195
+ });
186
196
  };
197
+
187
198
  const moveResize = (event, type) => {
188
199
  if (isDragging && isDragging === type && !start.v) {
189
200
  const diff = event.clientX - start.x;
190
- if (diff === 0)
191
- return;
192
- setStartPoint({ x: event.clientX, index: start.index });
201
+ if (diff === 0) return;
202
+ setStartPoint({
203
+ x: event.clientX,
204
+ index: start.index
205
+ });
193
206
  resizePanels(diff);
194
207
  } else if (isDragging && isDragging === type && start.v) {
195
208
  const diff = event.clientY - start.y;
196
- if (diff === 0)
197
- return;
198
- setStartPoint({ ...start, y: event.clientY, index: start.index });
209
+ if (diff === 0) return;
210
+ setStartPoint(_objectSpread(_objectSpread({}, start), {}, {
211
+ y: event.clientY,
212
+ index: start.index
213
+ }));
199
214
  resizePanels(diff, true);
200
215
  }
201
216
  };
202
- const endResize = (type) => {
217
+
218
+ const endResize = type => {
203
219
  if (isDragging === type) {
204
220
  setDragging(false);
205
221
  setStartPoint();
206
222
  }
207
223
  };
208
- const handleKeyDown = (e, index, v = false) => {
224
+
225
+ const handleKeyDown = function (e, index) {
226
+ let v = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
209
227
  const keyCodes = {
210
228
  37: DIRECTION.L,
211
229
  Left: DIRECTION.L,
@@ -220,66 +238,72 @@ function ResizableContainer({
220
238
  Down: DIRECTION.D,
221
239
  ArrowDown: DIRECTION.D
222
240
  };
241
+
223
242
  if (keyCodes[e.key || e.keyCode]) {
224
243
  e.preventDefault();
225
- const { top: y, left: x } = e.target.getBoundingClientRect();
244
+ const {
245
+ top: y,
246
+ left: x
247
+ } = e.target.getBoundingClientRect();
248
+
226
249
  if (!start) {
227
- startResize({ clientX: x, clientY: y }, index, v, EVENT_TYPE.KEY);
250
+ startResize({
251
+ clientX: x,
252
+ clientY: y
253
+ }, index, v, EVENT_TYPE.KEY);
228
254
  } else {
229
255
  const clientX = keyCodes[e.keyCode] === DIRECTION.L || keyCodes[e.keyCode] === DIRECTION.R ? calcPosition(keyCodes[e.keyCode], x) : x;
230
256
  const clientY = keyCodes[e.keyCode] === DIRECTION.U || keyCodes[e.keyCode] === DIRECTION.D ? calcPosition(keyCodes[e.keyCode], y) : y;
231
- moveResize({ clientX, clientY }, EVENT_TYPE.KEY);
257
+ moveResize({
258
+ clientX,
259
+ clientY
260
+ }, EVENT_TYPE.KEY);
232
261
  }
233
262
  }
234
263
  };
235
- const onLeave = (type) => {
264
+
265
+ const onLeave = type => {
236
266
  if (isDragging === type) {
237
267
  setDragging(false);
238
- if (resetPoint && resetPoint.blocks)
239
- setBlocks(resetPoint.blocks);
240
- if (resetPoint && resetPoint.containers)
241
- setContainers(resetPoint.containers);
268
+ if (resetPoint && resetPoint.blocks) setBlocks(resetPoint.blocks);
269
+ if (resetPoint && resetPoint.containers) setContainers(resetPoint.containers);
242
270
  }
243
271
  };
244
- const count = React2.Children.count(children);
245
- return /* @__PURE__ */ React2.createElement(ResizableGrid, {
246
- ...rest,
272
+
273
+ const count = React.Children.count(children);
274
+ return /*#__PURE__*/jsx(ResizableGrid, _objectSpread(_objectSpread({}, rest), {}, {
247
275
  cols: containers,
248
276
  onKeyUp: () => endResize(EVENT_TYPE.KEY),
249
277
  onMouseLeave: () => onLeave(EVENT_TYPE.MOUSE),
250
- onMouseMove: (e) => moveResize(e, EVENT_TYPE.MOUSE),
278
+ onMouseMove: e => moveResize(e, EVENT_TYPE.MOUSE),
251
279
  onMouseUp: () => endResize(EVENT_TYPE.MOUSE),
252
- rows: blocks
253
- }, React2.Children.map(children, (child, index) => /* @__PURE__ */ React2.createElement(ResizableItem, {
254
- "data-index": index,
255
- innerRef: addRef
256
- }, child, count - 1 !== index && horizontal && /* @__PURE__ */ React2.createElement(ResizableBar, {
257
- container: containers[index],
258
- "data-index": index,
259
- gutter: rest.gutter,
260
- nextContainer: containers[index + 1],
261
- onKeyDown: (e) => handleKeyDown(e, index, false),
262
- onMouseDown: (e) => startResize(e, index, false, EVENT_TYPE.MOUSE),
263
- tabIndex: 0
264
- }), count - 1 !== index && vertical && /* @__PURE__ */ React2.createElement(ResizableBar, {
265
- container: blocks[index],
266
- "data-index": index,
267
- gutter: rest.gutter,
268
- nextContainer: blocks[index + 1],
269
- onKeyDown: (e) => handleKeyDown(e, index, true),
270
- onMouseDown: (e) => startResize(e, index, true, EVENT_TYPE.MOUSE),
271
- tabIndex: 0,
272
- v: true
273
- }))));
280
+ rows: blocks,
281
+ children: React.Children.map(children, (child, index) => /*#__PURE__*/_jsx2(ResizableItem, {
282
+ "data-index": index,
283
+ innerRef: addRef
284
+ }, void 0, child, count - 1 !== index && horizontal && /*#__PURE__*/_jsx2(ResizableBar, {
285
+ container: containers[index],
286
+ "data-index": index,
287
+ gutter: rest.gutter,
288
+ nextContainer: containers[index + 1],
289
+ onKeyDown: e => handleKeyDown(e, index, false),
290
+ onMouseDown: e => startResize(e, index, false, EVENT_TYPE.MOUSE),
291
+ tabIndex: 0
292
+ }), count - 1 !== index && vertical && /*#__PURE__*/_jsx2(ResizableBar, {
293
+ container: blocks[index],
294
+ "data-index": index,
295
+ gutter: rest.gutter,
296
+ nextContainer: blocks[index + 1],
297
+ onKeyDown: e => handleKeyDown(e, index, true),
298
+ onMouseDown: e => startResize(e, index, true, EVENT_TYPE.MOUSE),
299
+ tabIndex: 0,
300
+ v: true
301
+ })))
302
+ }));
274
303
  }
275
- ResizableContainer.propTypes = rprops;
304
+
276
305
  ResizableContainer.defaultProps = defaultProps;
277
306
  const DSResizableContainerWithSchema = describe(ResizableContainer);
278
- DSResizableContainerWithSchema.propTypes = rprops;
279
- var Resizable_default = ResizableContainer;
280
- export {
281
- DSResizableContainerWithSchema,
282
- ResizableContainer,
283
- Resizable_default as default
284
- };
285
- //# sourceMappingURL=Resizable.js.map
307
+ DSResizableContainerWithSchema.propTypes = props;
308
+
309
+ export { DSResizableContainerWithSchema, ResizableContainer, ResizableContainer as default };
@@ -1,9 +1,6 @@
1
- import * as React from "react";
2
1
  const defaultProps = {
3
2
  vertical: false,
4
3
  horizontal: false
5
4
  };
6
- export {
7
- defaultProps
8
- };
9
- //# sourceMappingURL=defaultProps.js.map
5
+
6
+ export { defaultProps };
package/esm/index.js CHANGED
@@ -1,7 +1 @@
1
- import * as React from "react";
2
- export * from "./Resizable";
3
- import { default as default2 } from "./Resizable";
4
- export {
5
- default2 as default
6
- };
7
- //# sourceMappingURL=index.js.map
1
+ export { DSResizableContainerWithSchema, ResizableContainer, ResizableContainer as default } from './Resizable.js';
package/esm/props.js CHANGED
@@ -1,13 +1,20 @@
1
- import * as React from "react";
2
- import { PropTypes } from "react-desc";
1
+ import { PropTypes } from 'react-desc';
2
+
3
3
  const props = {
4
- children: PropTypes.node.description("Grid item content"),
5
- vertical: PropTypes.bool.description("vertical resizing"),
6
- horizontal: PropTypes.bool.description("horizontal resizing"),
7
- rows: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])).description("Row layout cells"),
8
- cols: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])).description("Column layout cells")
4
+ /** grid item content */
5
+ children: PropTypes.node.description('Grid item content'),
6
+
7
+ /** vertical resizing */
8
+ vertical: PropTypes.bool.description('vertical resizing'),
9
+
10
+ /** horizontal resizing */
11
+ horizontal: PropTypes.bool.description('horizontal resizing'),
12
+
13
+ /** Row layout cells */
14
+ rows: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])).description('Row layout cells'),
15
+
16
+ /** Column layout cells */
17
+ cols: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])).description('Column layout cells')
9
18
  };
10
- export {
11
- props
12
- };
13
- //# sourceMappingURL=props.js.map
19
+
20
+ export { props };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-resizeable-container",
3
- "version": "2.2.0-alpha.4",
3
+ "version": "3.0.0-next.2",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Resizeable Container",
6
6
  "module": "./esm/index.js",
@@ -44,8 +44,8 @@
44
44
  "build": "node ../../scripts/build/build.js"
45
45
  },
46
46
  "dependencies": {
47
- "@elliemae/ds-grid": "2.2.0-alpha.4",
48
- "@elliemae/ds-system": "2.2.0-alpha.4",
47
+ "@elliemae/ds-grid": "3.0.0-next.2",
48
+ "@elliemae/ds-system": "3.0.0-next.2",
49
49
  "react-desc": "~4.1.3"
50
50
  },
51
51
  "devDependencies": {
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/Resizable.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable complexity */\n/* eslint-disable max-lines */\n/* eslint-disable max-statements */\nimport React, { useRef, useState, useEffect } from 'react';\nimport { describe } from 'react-desc';\nimport styled from 'styled-components';\nimport { mapGap } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { props as rprops } from './props';\nimport { defaultProps } from './defaultProps';\n\nconst safeDifference = 15;\nconst minDifference = 8;\nconst EVENT_TYPE = { MOUSE: 'mouse', KEY: 'arrows' };\nconst DIRECTION = {\n L: 'left',\n R: 'right',\n U: 'up',\n D: 'down',\n};\n\nfunction calcPosition(arrow, position) {\n let offset;\n switch (arrow) {\n case DIRECTION.U:\n offset = position - 3;\n break;\n case DIRECTION.D:\n offset = position + 3;\n break;\n case DIRECTION.L:\n offset = position - 3;\n break;\n case DIRECTION.R:\n offset = position + 3;\n break;\n default:\n offset = position;\n }\n return offset;\n}\n\nfunction cursorResolver(nextPx, px, isVertical) {\n const orientation = {\n vertical: 'row-resize',\n horizontal: 'col-resize',\n left: 'w-resize',\n right: 'e-resize',\n up: 'n-resize',\n down: 's-resize',\n };\n\n if (isVertical && nextPx && nextPx <= safeDifference + 1)\n return orientation.up;\n if (isVertical && px > safeDifference + 1) return orientation.vertical;\n if (isVertical && px <= safeDifference + 1) return orientation.down;\n\n if (!isVertical && nextPx && nextPx <= safeDifference + 1)\n return orientation.left;\n if (!isVertical && px <= safeDifference + 1) return orientation.right;\n if (!isVertical && px > safeDifference + 1) return orientation.horizontal;\n\n return isVertical ? orientation.vertical : orientation.horizontal;\n}\n\nfunction ResizableItemComponent({ innerRef, ...p }) {\n return <Grid ref={innerRef} {...p} />;\n}\n\nconst ResizableGrid = styled(Grid)``;\nconst ResizableItem = styled(ResizableItemComponent)`\n position: relative;\n`;\nconst ResizableBar = styled.div`\n position: absolute;\n cursor: ${({ container, nextContainer, v }) =>\n cursorResolver(nextContainer, container, v)};\n\n ${(props) => {\n if (props.v) {\n return `\n bottom: calc(${mapGap(props.gutter)} * -0.5);\n left: 0;\n width: 100%;\n height: 10px;\n margin-bottom: -5px;\n display: flex;\n flex-direction: column;\n justify-content:space-around;\n align-items: center;\n &:after{\n width: 100%;\n height: 1px;\n display: block;\n background: ${props.theme.colors.neutral['300']};\n content: '';\n }\n &:hover{\n &:after{\n background: ${props.theme.colors.brand['600']};\n } \n }\n `;\n }\n return `\n top: 0;\n right: calc(${mapGap(props.gutter)} * -0.5);\n height: 100%;\n width: 10px;\n margin-right: -5px;\n display: flex;\n flex-direction: row;\n justify-content:space-around;\n align-items: center;\n &:after{\n height: 100%;\n width: 1px;\n display: block;\n background: ${props.theme.colors.neutral['300']};\n content: '';\n }\n &:hover{\n &:after{\n background: ${props.theme.colors.brand['600']};\n } \n }\n `;\n }}\n`;\nconst getWidths = (list) => list.map((l) => l.clientWidth);\nconst getHeights = (list) => list.map((l) => l.clientHeight);\n\nfunction ResizableContainer({\n children,\n cols,\n rows,\n vertical,\n horizontal,\n ...rest\n}) {\n const refs = useRef([]);\n const [containers, setContainers] = useState(cols);\n const [blocks, setBlocks] = useState(rows);\n const [isDragging, setDragging] = useState(false);\n const [start, setStartPoint] = useState(0);\n const [resetPoint, setResetPoint] = useState();\n\n useEffect(() => {\n if (horizontal) setContainers(getWidths(refs.current));\n if (vertical) setBlocks(getHeights(refs.current));\n }, [refs.current, horizontal, vertical]);\n const addRef = (node) => {\n refs.current.push(node);\n };\n const resizePanels = (diff = 1, v = false) => {\n const index = parseInt(start.index, 10);\n if (!v) {\n const newContainers = [...containers];\n if (\n newContainers[index + 1] &&\n newContainers[index + 1] > minDifference\n ) {\n newContainers[index + 1] = newContainers[index + 1] - diff;\n newContainers[index] = diff + newContainers[index];\n } else if (\n newContainers[index - 1] &&\n newContainers[index - 1] > minDifference\n ) {\n newContainers[index - 1] = newContainers[index - 1] - diff;\n newContainers[index] = diff + newContainers[index];\n }\n if (newContainers.every((c) => c > safeDifference))\n setContainers(newContainers);\n } else {\n const newBlocks = [...blocks];\n if (newBlocks[index + 1] && newBlocks[index + 1] > minDifference) {\n newBlocks[index + 1] = newBlocks[index + 1] - diff;\n newBlocks[index] = diff + newBlocks[index];\n } else if (newBlocks[index - 1] && newBlocks[index - 1] > minDifference) {\n newBlocks[index - 1] = newBlocks[index - 1] - diff;\n newBlocks[index] = diff + newBlocks[index];\n }\n if (newBlocks.every((c) => c > safeDifference)) setBlocks(newBlocks);\n }\n };\n const startResize = (event, index, v = false, type) => {\n setDragging(type);\n setStartPoint({\n x: event.clientX,\n y: event.clientY,\n index,\n v,\n });\n setResetPoint({ containers, blocks });\n };\n const moveResize = (event, type) => {\n if (isDragging && isDragging === type && !start.v) {\n const diff = event.clientX - start.x;\n if (diff === 0) return;\n setStartPoint({ x: event.clientX, index: start.index });\n resizePanels(diff);\n } else if (isDragging && isDragging === type && start.v) {\n const diff = event.clientY - start.y;\n if (diff === 0) return;\n setStartPoint({ ...start, y: event.clientY, index: start.index });\n resizePanels(diff, true);\n }\n };\n const endResize = (type) => {\n if (isDragging === type) {\n setDragging(false);\n setStartPoint();\n }\n };\n const handleKeyDown = (e, index, v = false) => {\n const keyCodes = {\n 37: DIRECTION.L,\n Left: DIRECTION.L,\n ArrowLeft: DIRECTION.L,\n 38: DIRECTION.U,\n Up: DIRECTION.U,\n ArrowUp: DIRECTION.U,\n 39: DIRECTION.R,\n Right: DIRECTION.R,\n ArrowRight: DIRECTION.R,\n 40: DIRECTION.D,\n Down: DIRECTION.D,\n ArrowDown: DIRECTION.D,\n };\n\n if (keyCodes[e.key || e.keyCode]) {\n e.preventDefault();\n const { top: y, left: x } = e.target.getBoundingClientRect();\n if (!start) {\n startResize({ clientX: x, clientY: y }, index, v, EVENT_TYPE.KEY);\n } else {\n const clientX =\n keyCodes[e.keyCode] === DIRECTION.L ||\n keyCodes[e.keyCode] === DIRECTION.R\n ? calcPosition(keyCodes[e.keyCode], x)\n : x;\n const clientY =\n keyCodes[e.keyCode] === DIRECTION.U ||\n keyCodes[e.keyCode] === DIRECTION.D\n ? calcPosition(keyCodes[e.keyCode], y)\n : y;\n\n moveResize({ clientX, clientY }, EVENT_TYPE.KEY);\n }\n }\n };\n\n const onLeave = (type) => {\n if (isDragging === type) {\n setDragging(false);\n\n if (resetPoint && resetPoint.blocks) setBlocks(resetPoint.blocks);\n if (resetPoint && resetPoint.containers)\n setContainers(resetPoint.containers);\n }\n };\n const count = React.Children.count(children);\n\n return (\n <ResizableGrid\n {...rest}\n cols={containers}\n onKeyUp={() => endResize(EVENT_TYPE.KEY)}\n onMouseLeave={() => onLeave(EVENT_TYPE.MOUSE)}\n onMouseMove={(e) => moveResize(e, EVENT_TYPE.MOUSE)}\n onMouseUp={() => endResize(EVENT_TYPE.MOUSE)}\n rows={blocks}\n >\n {React.Children.map(children, (child, index) => (\n <ResizableItem data-index={index} innerRef={addRef}>\n {child}\n {count - 1 !== index && horizontal && (\n <ResizableBar\n container={containers[index]}\n data-index={index}\n gutter={rest.gutter}\n nextContainer={containers[index + 1]}\n onKeyDown={(e) => handleKeyDown(e, index, false)}\n onMouseDown={(e) =>\n startResize(e, index, false, EVENT_TYPE.MOUSE)\n }\n tabIndex={0}\n />\n )}\n {count - 1 !== index && vertical && (\n <ResizableBar\n container={blocks[index]}\n data-index={index}\n gutter={rest.gutter}\n nextContainer={blocks[index + 1]}\n onKeyDown={(e) => handleKeyDown(e, index, true)}\n onMouseDown={(e) => startResize(e, index, true, EVENT_TYPE.MOUSE)}\n tabIndex={0}\n v\n />\n )}\n </ResizableItem>\n ))}\n </ResizableGrid>\n );\n}\n\nResizableContainer.propTypes = rprops;\nResizableContainer.defaultProps = defaultProps;\n\nconst DSResizableContainerWithSchema = describe(ResizableContainer);\nDSResizableContainerWithSchema.propTypes = rprops;\n\nexport { ResizableContainer, DSResizableContainerWithSchema };\nexport default ResizableContainer;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
6
- "names": []
7
- }