datocms-react-ui 2.0.13 → 2.0.14

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 (69) hide show
  1. package/dist/cjs/SplitView/SplitViewPane/index.js +14 -0
  2. package/dist/cjs/SplitView/SplitViewPane/index.js.map +1 -0
  3. package/dist/cjs/SplitView/SplitViewPane/styles.module.css.json +1 -0
  4. package/dist/cjs/SplitView/SplitViewSash/index.js +76 -0
  5. package/dist/cjs/SplitView/SplitViewSash/index.js.map +1 -0
  6. package/dist/cjs/SplitView/SplitViewSash/styles.module.css.json +1 -0
  7. package/dist/cjs/SplitView/index.js +206 -0
  8. package/dist/cjs/SplitView/index.js.map +1 -0
  9. package/dist/cjs/SplitView/styles.module.css.json +1 -0
  10. package/dist/cjs/SplitView/types.js +3 -0
  11. package/dist/cjs/SplitView/types.js.map +1 -0
  12. package/dist/cjs/VerticalSplit/index.js +337 -0
  13. package/dist/cjs/VerticalSplit/index.js.map +1 -0
  14. package/dist/cjs/VerticalSplit/styles.module.css.json +1 -0
  15. package/dist/cjs/icons.js +19 -1
  16. package/dist/cjs/icons.js.map +1 -1
  17. package/dist/cjs/index.js +5 -3
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/esm/SplitView/SplitViewPane/index.d.ts +7 -0
  20. package/dist/esm/SplitView/SplitViewPane/index.js +7 -0
  21. package/dist/esm/SplitView/SplitViewPane/index.js.map +1 -0
  22. package/dist/esm/SplitView/SplitViewPane/styles.module.css.json +1 -0
  23. package/dist/esm/SplitView/SplitViewSash/index.d.ts +17 -0
  24. package/dist/esm/SplitView/SplitViewSash/index.js +46 -0
  25. package/dist/esm/SplitView/SplitViewSash/index.js.map +1 -0
  26. package/dist/esm/SplitView/SplitViewSash/styles.module.css.json +1 -0
  27. package/dist/esm/SplitView/index.d.ts +16 -0
  28. package/dist/esm/SplitView/index.js +176 -0
  29. package/dist/esm/SplitView/index.js.map +1 -0
  30. package/dist/esm/SplitView/styles.module.css.json +1 -0
  31. package/dist/esm/SplitView/types.d.ts +8 -0
  32. package/dist/esm/SplitView/types.js +2 -0
  33. package/dist/esm/SplitView/types.js.map +1 -0
  34. package/dist/esm/VerticalSplit/index.d.ts +238 -0
  35. package/dist/esm/VerticalSplit/index.js +307 -0
  36. package/dist/esm/VerticalSplit/index.js.map +1 -0
  37. package/dist/esm/VerticalSplit/styles.module.css.json +1 -0
  38. package/dist/esm/icons.d.ts +3 -0
  39. package/dist/esm/icons.js +15 -0
  40. package/dist/esm/icons.js.map +1 -1
  41. package/dist/esm/index.d.ts +5 -3
  42. package/dist/esm/index.js +5 -3
  43. package/dist/esm/index.js.map +1 -1
  44. package/dist/types/SplitView/SplitViewPane/index.d.ts +7 -0
  45. package/dist/types/SplitView/SplitViewSash/index.d.ts +17 -0
  46. package/dist/types/SplitView/index.d.ts +16 -0
  47. package/dist/types/SplitView/types.d.ts +8 -0
  48. package/dist/types/VerticalSplit/index.d.ts +238 -0
  49. package/dist/types/icons.d.ts +3 -0
  50. package/dist/types/index.d.ts +5 -3
  51. package/package.json +2 -2
  52. package/src/SplitView/SplitViewPane/index.tsx +19 -0
  53. package/src/SplitView/SplitViewPane/styles.module.css +6 -0
  54. package/src/SplitView/SplitViewPane/styles.module.css.json +1 -0
  55. package/src/SplitView/SplitViewSash/index.tsx +99 -0
  56. package/src/SplitView/SplitViewSash/styles.module.css +68 -0
  57. package/src/SplitView/SplitViewSash/styles.module.css.json +1 -0
  58. package/src/SplitView/index.tsx +256 -0
  59. package/src/SplitView/styles.module.css +22 -0
  60. package/src/SplitView/styles.module.css.json +1 -0
  61. package/src/SplitView/types.ts +9 -0
  62. package/src/VerticalSplit/index.tsx +402 -0
  63. package/src/VerticalSplit/styles.module.css +103 -0
  64. package/src/VerticalSplit/styles.module.css.json +1 -0
  65. package/src/global.css +29 -25
  66. package/src/icons.tsx +60 -0
  67. package/src/index.ts +5 -3
  68. package/styles.css +1 -1
  69. package/types.json +2721 -1848
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SplitViewPane = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var styles_module_css_json_1 = __importDefault(require("./styles.module.css.json"));
9
+ function SplitViewPane(_a) {
10
+ var style = _a.style, children = _a.children;
11
+ return (react_1.default.createElement("div", { className: styles_module_css_json_1.default.SplitViewPane, style: style }, children));
12
+ }
13
+ exports.SplitViewPane = SplitViewPane;
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/SplitView/SplitViewPane/index.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAAiD;AACjD,oFAAyC;AAQzC,SAAgB,aAAa,CAAC,EAGU;QAFtC,KAAK,WAAA,EACL,QAAQ,cAAA;IAER,OAAO,CACL,uCAAK,SAAS,EAAE,gCAAC,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,IAC1C,QAAQ,CACL,CACP,CAAC;AACJ,CAAC;AATD,sCASC"}
@@ -0,0 +1 @@
1
+ { "SplitViewPane": "_SplitViewPane_1cl1f_1" }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.SplitViewSash = void 0;
30
+ var classnames_1 = __importDefault(require("classnames"));
31
+ var react_1 = __importStar(require("react"));
32
+ var styles_module_css_json_1 = __importDefault(require("./styles.module.css.json"));
33
+ function SplitViewSash(_a) {
34
+ var onMouseDown = _a.onMouseDown, onMouseMove = _a.onMouseMove, onMouseUp = _a.onMouseUp, style = _a.style, split = _a.split, allowResize = _a.allowResize, action = _a.action;
35
+ var _b = (0, react_1.useState)(false), dragging = _b[0], setDrag = _b[1];
36
+ function handleMouseMove(e) {
37
+ onMouseMove(e.pageX, e.pageY);
38
+ }
39
+ function handleMouseUp() {
40
+ setDrag(false);
41
+ onMouseUp();
42
+ window.removeEventListener('mousemove', handleMouseMove);
43
+ window.removeEventListener('mouseup', handleMouseUp);
44
+ }
45
+ function handleTouchMove(e) {
46
+ onMouseMove(e.touches[0].pageX, e.touches[0].pageY);
47
+ }
48
+ function handleTouchEnd() {
49
+ setDrag(false);
50
+ onMouseUp();
51
+ window.removeEventListener('touchmove', handleTouchMove);
52
+ window.removeEventListener('touchend', handleTouchEnd);
53
+ }
54
+ var actionEl = (action === null || action === void 0 ? void 0 : action.icon) && (react_1.default.createElement("div", { className: styles_module_css_json_1.default.SplitViewSash__content, onMouseDown: function (e) {
55
+ e.stopPropagation();
56
+ }, onClick: function () {
57
+ action.onClick();
58
+ } },
59
+ react_1.default.createElement("div", { className: styles_module_css_json_1.default.SplitViewSash__content__button }, action === null || action === void 0 ? void 0 : action.icon)));
60
+ return (react_1.default.createElement("div", { role: "Resizer", className: (0, classnames_1.default)(styles_module_css_json_1.default.SplitViewSash, split === 'vertical'
61
+ ? styles_module_css_json_1.default['SplitViewSash--vertical']
62
+ : styles_module_css_json_1.default['SplitViewSash--horizontal'], !allowResize && styles_module_css_json_1.default['SplitViewSash--no-resize'], dragging && styles_module_css_json_1.default['SplitViewSash--dragging']), onMouseDown: function (e) {
63
+ setDrag(true);
64
+ onMouseDown(e.pageX, e.pageY);
65
+ window.addEventListener('mousemove', handleMouseMove);
66
+ window.addEventListener('mouseup', handleMouseUp);
67
+ }, onTouchStart: function (e) {
68
+ e.preventDefault();
69
+ setDrag(true);
70
+ onMouseDown(e.touches[0].pageX, e.touches[0].pageY);
71
+ window.addEventListener('touchmove', handleTouchMove);
72
+ window.addEventListener('touchend', handleTouchEnd);
73
+ }, style: style }, actionEl));
74
+ }
75
+ exports.SplitViewSash = SplitViewSash;
76
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/SplitView/SplitViewSash/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ { "SplitViewSash": "_SplitViewSash_tds51_1", "SplitViewSash--dragging": "_SplitViewSash--dragging_tds51_15", "SplitViewSash__content": "_SplitViewSash__content_tds51_19", "SplitViewSash--no-resize": "_SplitViewSash--no-resize_tds51_24", "SplitViewSash--vertical": "_SplitViewSash--vertical_tds51_28", "SplitViewSash--horizontal": "_SplitViewSash--horizontal_tds51_32", "SplitViewSash__content__button": "_SplitViewSash__content__button_tds51_46" }
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
37
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
38
+ if (ar || !(i in from)) {
39
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
40
+ ar[i] = from[i];
41
+ }
42
+ }
43
+ return to.concat(ar || Array.prototype.slice.call(from));
44
+ };
45
+ var __importDefault = (this && this.__importDefault) || function (mod) {
46
+ return (mod && mod.__esModule) ? mod : { "default": mod };
47
+ };
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.SplitView = void 0;
50
+ var classnames_1 = __importDefault(require("classnames"));
51
+ var react_1 = __importStar(require("react"));
52
+ var SplitViewPane_1 = require("./SplitViewPane");
53
+ var SplitViewSash_1 = require("./SplitViewSash");
54
+ var styles_module_css_json_1 = __importDefault(require("./styles.module.css.json"));
55
+ var SplitView = function (_a) {
56
+ var children = _a.children, propSizes = _a.sizes, _b = _a.allowResize, allowResize = _b === void 0 ? true : _b, _c = _a.split, split = _c === void 0 ? 'vertical' : _c, _d = _a.resizerSize, resizerSize = _d === void 0 ? 10 : _d, _e = _a.performanceMode, performanceMode = _e === void 0 ? false : _e, _f = _a.onChange, onChange = _f === void 0 ? function () { return null; } : _f, _g = _a.onDragStart, onDragStart = _g === void 0 ? function () { return null; } : _g, _h = _a.onDragEnd, onDragEnd = _h === void 0 ? function () { return null; } : _h, sashAction = _a.sashAction;
57
+ var axis = (0, react_1.useRef)({ x: 0, y: 0 });
58
+ var wrapper = (0, react_1.useRef)(null);
59
+ var cacheSizes = (0, react_1.useRef)({ sizes: [], sashPosSizes: [] });
60
+ var _j = (0, react_1.useState)(undefined), wrapperRect = _j[0], setWrapperRect = _j[1];
61
+ var _k = (0, react_1.useState)(false), isDragging = _k[0], setDragging = _k[1];
62
+ (0, react_1.useEffect)(function () {
63
+ var resizeObserver = new ResizeObserver(function () {
64
+ if (wrapper === null || wrapper === void 0 ? void 0 : wrapper.current) {
65
+ setWrapperRect(wrapper.current.getBoundingClientRect());
66
+ }
67
+ });
68
+ resizeObserver.observe(wrapper.current);
69
+ return function () {
70
+ resizeObserver.disconnect();
71
+ };
72
+ }, []);
73
+ var _l = (0, react_1.useMemo)(function () { return ({
74
+ sizeName: split === 'vertical' ? 'width' : 'height',
75
+ splitPos: split === 'vertical' ? 'left' : 'top',
76
+ splitAxis: split === 'vertical' ? 'x' : 'y',
77
+ }); }, [split]), sizeName = _l.sizeName, splitPos = _l.splitPos, splitAxis = _l.splitAxis;
78
+ var wrapSize = wrapperRect ? wrapperRect[sizeName] : 0;
79
+ // Get limit sizes via children
80
+ var paneLimitSizes = (0, react_1.useMemo)(function () {
81
+ return children.map(function (childNode) {
82
+ var limits = [0, Infinity];
83
+ if (childNode.type === SplitViewPane_1.SplitViewPane) {
84
+ var _a = childNode.props, minSize = _a.minSize, maxSize = _a.maxSize;
85
+ limits[0] = assertSize(minSize, wrapSize, 0);
86
+ limits[1] = assertSize(maxSize, wrapSize);
87
+ }
88
+ return limits;
89
+ });
90
+ }, [children, wrapSize]);
91
+ var sizes = (0, react_1.useMemo)(function () {
92
+ var count = 0;
93
+ var curSum = 0;
94
+ var res = children.map(function (_child, index) {
95
+ var size = clampSize(assertSize(propSizes[index], wrapSize), paneLimitSizes[index]);
96
+ if (size === Infinity) {
97
+ count = count + 1;
98
+ }
99
+ else {
100
+ curSum = curSum + size;
101
+ }
102
+ return size;
103
+ });
104
+ // resize or illegal size input,recalculate pane sizes
105
+ if (curSum > wrapSize || (!count && curSum < wrapSize)) {
106
+ var cacheNum_1 = (curSum - wrapSize) / curSum;
107
+ return res.map(function (size) {
108
+ return size === Infinity ? 0 : size - size * cacheNum_1;
109
+ });
110
+ }
111
+ if (count > 0) {
112
+ var average_1 = (wrapSize - curSum) / count;
113
+ return res.map(function (size) {
114
+ return size === Infinity ? average_1 : size;
115
+ });
116
+ }
117
+ return res;
118
+ }, [
119
+ JSON.stringify(propSizes),
120
+ JSON.stringify(paneLimitSizes),
121
+ children.length,
122
+ wrapSize,
123
+ ]);
124
+ var sashPosSizes = (0, react_1.useMemo)(function () { return sizes.reduce(function (a, b) { return __spreadArray(__spreadArray([], a, true), [a[a.length - 1] + b], false); }, [0]); }, [JSON.stringify(sizes)]);
125
+ var handleMouseDown = (0, react_1.useCallback)(function (x, y) {
126
+ var _a, _b;
127
+ (_b = (_a = document === null || document === void 0 ? void 0 : document.body) === null || _a === void 0 ? void 0 : _a.classList) === null || _b === void 0 ? void 0 : _b.add(styles_module_css_json_1.default['SplitView--disable-select']);
128
+ axis.current = { x: x, y: y };
129
+ cacheSizes.current = { sizes: sizes, sashPosSizes: sashPosSizes };
130
+ setDragging(true);
131
+ onDragStart();
132
+ }, [onDragStart, sizes, sashPosSizes]);
133
+ var handleMouseUp = (0, react_1.useCallback)(function () {
134
+ var _a, _b;
135
+ (_b = (_a = document === null || document === void 0 ? void 0 : document.body) === null || _a === void 0 ? void 0 : _a.classList) === null || _b === void 0 ? void 0 : _b.remove(styles_module_css_json_1.default['SplitView--disable-select']);
136
+ setDragging(false);
137
+ onDragEnd();
138
+ }, [onDragEnd]);
139
+ var handleMouseMove = (0, react_1.useCallback)(function (x, y, i) {
140
+ var curAxis = { x: x, y: y };
141
+ var distanceX = curAxis[splitAxis] - axis.current[splitAxis];
142
+ var leftBorder = -Math.min(sizes[i] - paneLimitSizes[i][0], paneLimitSizes[i + 1][1] - sizes[i + 1]);
143
+ var rightBorder = Math.min(sizes[i + 1] - paneLimitSizes[i + 1][0], paneLimitSizes[i][1] - sizes[i]);
144
+ if (distanceX < leftBorder) {
145
+ distanceX = leftBorder;
146
+ }
147
+ if (distanceX > rightBorder) {
148
+ distanceX = rightBorder;
149
+ }
150
+ var nextSizes = __spreadArray([], sizes, true);
151
+ nextSizes[i] += distanceX;
152
+ nextSizes[i + 1] -= distanceX;
153
+ onChange(nextSizes);
154
+ }, [paneLimitSizes, onChange]);
155
+ var paneFollow = !(performanceMode && isDragging);
156
+ var paneSizes = paneFollow ? sizes : cacheSizes.current.sizes;
157
+ var panePoses = paneFollow ? sashPosSizes : cacheSizes.current.sashPosSizes;
158
+ return (react_1.default.createElement("div", { className: (0, classnames_1.default)(styles_module_css_json_1.default.SplitView, split === 'vertical' && styles_module_css_json_1.default['SplitView--vertical'], split === 'horizontal' && styles_module_css_json_1.default['SplitView--horizontal'], isDragging && styles_module_css_json_1.default['SplitView--dragging']), ref: wrapper },
159
+ children.map(function (childNode, childIndex) {
160
+ var _a;
161
+ var isPane = childNode.type === SplitViewPane_1.SplitViewPane;
162
+ var paneProps = isPane ? childNode.props : {};
163
+ return (react_1.default.createElement(SplitViewPane_1.SplitViewPane
164
+ // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
165
+ , {
166
+ // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
167
+ key: childIndex, style: __assign(__assign({}, paneProps.style), (_a = {}, _a[sizeName] = paneSizes[childIndex], _a[splitPos] = panePoses[childIndex], _a)) }, isPane ? paneProps.children : childNode));
168
+ }),
169
+ sashPosSizes.slice(1, -1).map(function (posSize, index) {
170
+ var _a;
171
+ return (react_1.default.createElement(SplitViewSash_1.SplitViewSash
172
+ // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
173
+ , {
174
+ // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
175
+ key: index, allowResize: allowResize, split: split, style: (_a = {},
176
+ _a[sizeName] = resizerSize,
177
+ _a[splitPos] = posSize - resizerSize / 2,
178
+ _a), onMouseDown: handleMouseDown, onMouseMove: function (x, y) { return handleMouseMove(x, y, index); }, onMouseUp: handleMouseUp, action: sashAction }));
179
+ })));
180
+ };
181
+ exports.SplitView = SplitView;
182
+ /**
183
+ * Convert size to absolute number or Infinity
184
+ * SplitPane allows sizes in string and number, but the state sizes only support number,
185
+ * so convert string and number to number in here
186
+ * 'auto' -> divide the remaining space equally
187
+ * 'xxxpx' -> xxx
188
+ * 'xxx%' -> wrapper.size * xxx/100
189
+ * xxx -> xxx
190
+ */
191
+ function assertSize(size, sum, defaultValue) {
192
+ if (defaultValue === void 0) { defaultValue = Infinity; }
193
+ if (typeof size === 'undefined')
194
+ return defaultValue;
195
+ if (typeof size === 'number')
196
+ return size;
197
+ if (size.endsWith('%'))
198
+ return sum * (+size.replace('%', '') / 100);
199
+ if (size.endsWith('px'))
200
+ return +size.replace('px', '');
201
+ return defaultValue;
202
+ }
203
+ function clampSize(size, minMax) {
204
+ return Math.max(minMax[0], Math.min(minMax[1], size));
205
+ }
206
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/SplitView/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ { "SplitView": "_SplitView_1oi17_1", "SplitView--dragging": "_SplitView--dragging_1oi17_8", "SplitView--vertical": "_SplitView--vertical_1oi17_8", "SplitView--horizontal": "_SplitView--horizontal_1oi17_12", "SplitView--disable-select": "_SplitView--disable-select_1oi17_16", "SplitViewPane": "_SplitViewPane_1oi17_20" }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/SplitView/types.ts"],"names":[],"mappings":""}