@elliemae/ds-query-builder 2.2.0-next.3 → 2.3.0-alpha.1

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 (142) hide show
  1. package/cjs/DSQueryBuilder.js +117 -97
  2. package/cjs/DSQueryBuilder.js.map +7 -0
  3. package/cjs/components/AndOrController/AndOrController.js +148 -162
  4. package/cjs/components/AndOrController/AndOrController.js.map +7 -0
  5. package/cjs/components/ConditionController/ConditionController.js +88 -72
  6. package/cjs/components/ConditionController/ConditionController.js.map +7 -0
  7. package/cjs/components/DisplayOutput/DisplayOutput.js +63 -68
  8. package/cjs/components/DisplayOutput/DisplayOutput.js.map +7 -0
  9. package/cjs/components/DragContainerController/DragContainerController.js +61 -41
  10. package/cjs/components/DragContainerController/DragContainerController.js.map +7 -0
  11. package/cjs/components/DragControllerRow/DragControllerRow.js +50 -46
  12. package/cjs/components/DragControllerRow/DragControllerRow.js.map +7 -0
  13. package/cjs/components/FieldControllerRow/FieldControllerRow.js +54 -32
  14. package/cjs/components/FieldControllerRow/FieldControllerRow.js.map +7 -0
  15. package/cjs/components/Nestable/Nestable.js +143 -209
  16. package/cjs/components/Nestable/Nestable.js.map +7 -0
  17. package/cjs/components/Nestable/NestableItem.js +98 -90
  18. package/cjs/components/Nestable/NestableItem.js.map +7 -0
  19. package/cjs/components/Nestable/actions/events.js +72 -95
  20. package/cjs/components/Nestable/actions/events.js.map +7 -0
  21. package/cjs/components/Nestable/actions/getItemOptions.js +36 -15
  22. package/cjs/components/Nestable/actions/getItemOptions.js.map +7 -0
  23. package/cjs/components/Nestable/actions/getPaths.js +46 -51
  24. package/cjs/components/Nestable/actions/getPaths.js.map +7 -0
  25. package/cjs/components/Nestable/actions/index.js +42 -28
  26. package/cjs/components/Nestable/actions/index.js.map +7 -0
  27. package/cjs/components/Nestable/actions/moveItem.js +44 -42
  28. package/cjs/components/Nestable/actions/moveItem.js.map +7 -0
  29. package/cjs/components/Nestable/actions/paths.js +48 -55
  30. package/cjs/components/Nestable/actions/paths.js.map +7 -0
  31. package/cjs/components/Nestable/actions/tryDecreaseDepth.js +39 -23
  32. package/cjs/components/Nestable/actions/tryDecreaseDepth.js.map +7 -0
  33. package/cjs/components/Nestable/actions/tryIncreaseDepth.js +39 -26
  34. package/cjs/components/Nestable/actions/tryIncreaseDepth.js.map +7 -0
  35. package/cjs/components/Nestable/index.js +36 -7
  36. package/cjs/components/Nestable/index.js.map +7 -0
  37. package/cjs/components/QueryBuilderContext/QueryBuilderContext.js +36 -13
  38. package/cjs/components/QueryBuilderContext/QueryBuilderContext.js.map +7 -0
  39. package/cjs/components/QueryBuilderImpl.js +118 -202
  40. package/cjs/components/QueryBuilderImpl.js.map +7 -0
  41. package/cjs/components/QueryBuilderItem/QueryBuilderItem.js +80 -78
  42. package/cjs/components/QueryBuilderItem/QueryBuilderItem.js.map +7 -0
  43. package/cjs/components/QueryBuilderRow/QueryBuilderRow.js +154 -211
  44. package/cjs/components/QueryBuilderRow/QueryBuilderRow.js.map +7 -0
  45. package/cjs/components/ToolBarAnimation/ToolBarAnimation.js +39 -26
  46. package/cjs/components/ToolBarAnimation/ToolBarAnimation.js.map +7 -0
  47. package/cjs/components/format/format.js +48 -22
  48. package/cjs/components/format/format.js.map +7 -0
  49. package/cjs/components/format/sqlFormat.js +69 -48
  50. package/cjs/components/format/sqlFormat.js.map +7 -0
  51. package/cjs/components/format/sqlSafeFormat.js +72 -55
  52. package/cjs/components/format/sqlSafeFormat.js.map +7 -0
  53. package/cjs/components/format/xmlFormat.js +71 -50
  54. package/cjs/components/format/xmlFormat.js.map +7 -0
  55. package/cjs/components/helpers/actions.js +151 -186
  56. package/cjs/components/helpers/actions.js.map +7 -0
  57. package/cjs/components/helpers/constants.js +36 -8
  58. package/cjs/components/helpers/constants.js.map +7 -0
  59. package/cjs/components/helpers/dependencies.js +49 -64
  60. package/cjs/components/helpers/dependencies.js.map +7 -0
  61. package/cjs/components/helpers/selectors.js +161 -101
  62. package/cjs/components/helpers/selectors.js.map +7 -0
  63. package/cjs/components/helpers/store.js +86 -104
  64. package/cjs/components/helpers/store.js.map +7 -0
  65. package/cjs/components/helpers/types.js +72 -44
  66. package/cjs/components/helpers/types.js.map +7 -0
  67. package/cjs/index.js +36 -29
  68. package/cjs/index.js.map +7 -0
  69. package/cjs/propTypes.js +102 -94
  70. package/cjs/propTypes.js.map +7 -0
  71. package/esm/DSQueryBuilder.js +103 -72
  72. package/esm/DSQueryBuilder.js.map +7 -0
  73. package/esm/components/AndOrController/AndOrController.js +113 -147
  74. package/esm/components/AndOrController/AndOrController.js.map +7 -0
  75. package/esm/components/ConditionController/ConditionController.js +57 -62
  76. package/esm/components/ConditionController/ConditionController.js.map +7 -0
  77. package/esm/components/DisplayOutput/DisplayOutput.js +31 -59
  78. package/esm/components/DisplayOutput/DisplayOutput.js.map +7 -0
  79. package/esm/components/DragContainerController/DragContainerController.js +32 -35
  80. package/esm/components/DragContainerController/DragContainerController.js.map +7 -0
  81. package/esm/components/DragControllerRow/DragControllerRow.js +21 -38
  82. package/esm/components/DragControllerRow/DragControllerRow.js.map +7 -0
  83. package/esm/components/FieldControllerRow/FieldControllerRow.js +25 -26
  84. package/esm/components/FieldControllerRow/FieldControllerRow.js.map +7 -0
  85. package/esm/components/Nestable/Nestable.js +115 -186
  86. package/esm/components/Nestable/Nestable.js.map +7 -0
  87. package/esm/components/Nestable/NestableItem.js +69 -82
  88. package/esm/components/Nestable/NestableItem.js.map +7 -0
  89. package/esm/components/Nestable/actions/events.js +45 -79
  90. package/esm/components/Nestable/actions/events.js.map +7 -0
  91. package/esm/components/Nestable/actions/getItemOptions.js +7 -11
  92. package/esm/components/Nestable/actions/getItemOptions.js.map +7 -0
  93. package/esm/components/Nestable/actions/getPaths.js +17 -43
  94. package/esm/components/Nestable/actions/getPaths.js.map +7 -0
  95. package/esm/components/Nestable/actions/index.js +13 -6
  96. package/esm/components/Nestable/actions/index.js.map +7 -0
  97. package/esm/components/Nestable/actions/moveItem.js +13 -31
  98. package/esm/components/Nestable/actions/moveItem.js.map +7 -0
  99. package/esm/components/Nestable/actions/paths.js +19 -47
  100. package/esm/components/Nestable/actions/paths.js.map +7 -0
  101. package/esm/components/Nestable/actions/tryDecreaseDepth.js +10 -19
  102. package/esm/components/Nestable/actions/tryDecreaseDepth.js.map +7 -0
  103. package/esm/components/Nestable/actions/tryIncreaseDepth.js +10 -22
  104. package/esm/components/Nestable/actions/tryIncreaseDepth.js.map +7 -0
  105. package/esm/components/Nestable/index.js +7 -2
  106. package/esm/components/Nestable/index.js.map +7 -0
  107. package/esm/components/QueryBuilderContext/QueryBuilderContext.js +7 -5
  108. package/esm/components/QueryBuilderContext/QueryBuilderContext.js.map +7 -0
  109. package/esm/components/QueryBuilderImpl.js +82 -187
  110. package/esm/components/QueryBuilderImpl.js.map +7 -0
  111. package/esm/components/QueryBuilderItem/QueryBuilderItem.js +50 -70
  112. package/esm/components/QueryBuilderItem/QueryBuilderItem.js.map +7 -0
  113. package/esm/components/QueryBuilderRow/QueryBuilderRow.js +123 -201
  114. package/esm/components/QueryBuilderRow/QueryBuilderRow.js.map +7 -0
  115. package/esm/components/ToolBarAnimation/ToolBarAnimation.js +10 -17
  116. package/esm/components/ToolBarAnimation/ToolBarAnimation.js.map +7 -0
  117. package/esm/components/format/format.js +16 -17
  118. package/esm/components/format/format.js.map +7 -0
  119. package/esm/components/format/sqlFormat.js +39 -43
  120. package/esm/components/format/sqlFormat.js.map +7 -0
  121. package/esm/components/format/sqlSafeFormat.js +43 -50
  122. package/esm/components/format/sqlSafeFormat.js.map +7 -0
  123. package/esm/components/format/xmlFormat.js +41 -45
  124. package/esm/components/format/xmlFormat.js.map +7 -0
  125. package/esm/components/helpers/actions.js +123 -160
  126. package/esm/components/helpers/actions.js.map +7 -0
  127. package/esm/components/helpers/constants.js +7 -2
  128. package/esm/components/helpers/constants.js.map +7 -0
  129. package/esm/components/helpers/dependencies.js +19 -39
  130. package/esm/components/helpers/dependencies.js.map +7 -0
  131. package/esm/components/helpers/selectors.js +132 -93
  132. package/esm/components/helpers/selectors.js.map +7 -0
  133. package/esm/components/helpers/store.js +54 -82
  134. package/esm/components/helpers/store.js.map +7 -0
  135. package/esm/components/helpers/types.js +44 -33
  136. package/esm/components/helpers/types.js.map +7 -0
  137. package/esm/index.js +7 -4
  138. package/esm/index.js.map +7 -0
  139. package/esm/propTypes.js +55 -72
  140. package/esm/propTypes.js.map +7 -0
  141. package/package.json +12 -12
  142. package/types/DSQueryBuilder.d.ts +1 -32
@@ -1,97 +1,71 @@
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 _jsx from '@babel/runtime/helpers/esm/jsx';
6
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
- import 'core-js/modules/esnext.async-iterator.find.js';
8
- import 'core-js/modules/esnext.iterator.constructor.js';
9
- import 'core-js/modules/esnext.iterator.find.js';
10
- import 'core-js/modules/esnext.async-iterator.map.js';
11
- import 'core-js/modules/esnext.iterator.map.js';
12
- import { Component } from 'react';
13
- import cn from 'classnames';
14
- import { listWithChildren } from '@elliemae/ds-shared/utils';
15
- import { isEqualWith } from '@elliemae/ds-utilities';
16
- import { tryIncreaseDepth } from './actions/tryIncreaseDepth.js';
17
- import { tryDecreaseDepth } from './actions/tryDecreaseDepth.js';
18
- import { moveItem } from './actions/moveItem.js';
19
- import { getItemDepth, getPathById, getItemByPath, getSplicePath, getRealNextPath } from './actions/paths.js';
20
- import { onDragStart, onDragEnd, onMouseMove, onMouseEnter, onToggleCollapse, onKeyDown } from './actions/events.js';
21
- import { getItemOptions } from './actions/getItemOptions.js';
22
- import NestableItem from './NestableItem.js';
23
-
24
- 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; }
25
-
26
- 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; }
27
-
1
+ import * as React from "react";
2
+ import React2, { Component } from "react";
3
+ import PropTypes from "prop-types";
4
+ import cn from "classnames";
5
+ import { listWithChildren } from "@elliemae/ds-shared/utils";
6
+ import { isEqualWith } from "@elliemae/ds-utilities";
7
+ import {
8
+ tryIncreaseDepth,
9
+ tryDecreaseDepth,
10
+ moveItem,
11
+ getItemOptions,
12
+ getRealNextPath,
13
+ getPathById,
14
+ getItemByPath,
15
+ getItemDepth,
16
+ getSplicePath,
17
+ onDragStart,
18
+ onDragEnd,
19
+ onMouseMove,
20
+ onMouseEnter,
21
+ onToggleCollapse,
22
+ onKeyDown
23
+ } from "./actions";
24
+ import NestableItem from "./NestableItem";
28
25
  const shallowCompare = (instance, nextProps, nextState) => !isEqualWith(instance.props, nextProps) || !isEqualWith(instance.state, nextState);
29
-
30
26
  class Nestable extends Component {
31
27
  constructor(props) {
32
28
  super(props);
33
-
34
29
  this.onDragStart = (e, item) => {
35
30
  onDragStart.call(this, e, item);
36
31
  };
37
-
38
32
  this.onDragEnd = (e, isCancel) => onDragEnd.call(this, e, isCancel);
39
-
40
- this.onMouseMove = e => onMouseMove.call(this, e);
41
-
33
+ this.onMouseMove = (e) => onMouseMove.call(this, e);
42
34
  this.onMouseEnter = (e, item) => onMouseEnter.call(this, e, item);
43
-
44
35
  this.onToggleCollapse = (item, isGetter) => onToggleCollapse.call(this, item, isGetter);
45
-
46
- this.onKeyDown = e => onKeyDown.call(this, e);
47
-
36
+ this.onKeyDown = (e) => onKeyDown.call(this, e);
48
37
  this.getDefaultItems = () => {
49
- const {
50
- items
51
- } = this.state;
38
+ const { items } = this.state;
52
39
  return items;
53
40
  };
54
-
55
- this.getItemDepth = item => getItemDepth.call(this, item);
56
-
41
+ this.getItemDepth = (item) => getItemDepth.call(this, item);
57
42
  this.startTrackMouse = () => {
58
- document.addEventListener('mousemove', this.onMouseMove);
59
- document.addEventListener('mouseup', this.onDragEnd);
60
- document.addEventListener('keydown', this.onKeyDown);
43
+ document.addEventListener("mousemove", this.onMouseMove);
44
+ document.addEventListener("mouseup", this.onDragEnd);
45
+ document.addEventListener("keydown", this.onKeyDown);
61
46
  };
62
-
63
47
  this.stopTrackMouse = () => {
64
- document.removeEventListener('mousemove', this.onMouseMove);
65
- document.removeEventListener('mouseup', this.onDragEnd);
66
- document.removeEventListener('keydown', this.onKeyDown);
48
+ document.removeEventListener("mousemove", this.onMouseMove);
49
+ document.removeEventListener("mouseup", this.onDragEnd);
50
+ document.removeEventListener("keydown", this.onKeyDown);
67
51
  this.elCopyStyles = null;
68
52
  };
69
-
70
- this.isCollapsed = item => {
71
- const {
72
- collapsed
73
- } = this.props;
74
- const {
75
- collapsedGroups
76
- } = this.state;
53
+ this.isCollapsed = (item) => {
54
+ const { collapsed } = this.props;
55
+ const { collapsedGroups } = this.state;
77
56
  return !!(collapsedGroups.indexOf(item.id) > -1 ^ collapsed);
78
57
  };
79
-
80
- this.checkFilterChildren = items => items.find(current => {
58
+ this.checkFilterChildren = (items) => items.find((current) => {
81
59
  const {
82
- element: {
83
- type
84
- },
60
+ element: { type },
85
61
  children
86
62
  } = current;
87
- if (type === 'filter' && children.length > 0) return true;
63
+ if (type === "filter" && children.length > 0)
64
+ return true;
88
65
  return this.checkFilterChildren(children);
89
66
  });
90
-
91
67
  this.dragRevert = () => {
92
- const {
93
- itemsOld
94
- } = this.state;
68
+ const { itemsOld } = this.state;
95
69
  this.setState({
96
70
  items: itemsOld,
97
71
  itemsOld: null,
@@ -99,7 +73,6 @@ class Nestable extends Component {
99
73
  isDirty: false
100
74
  });
101
75
  };
102
-
103
76
  this.state = {
104
77
  items: [],
105
78
  itemsOld: null,
@@ -112,163 +85,101 @@ class Nestable extends Component {
112
85
  this.el = null;
113
86
  this.elCopyStyles = null;
114
87
  this.mouse = {
115
- last: {
116
- x: 0
117
- },
118
- shift: {
119
- x: 0
120
- }
88
+ last: { x: 0 },
89
+ shift: { x: 0 }
121
90
  };
122
91
  }
123
-
124
92
  componentDidMount() {
125
- const {
126
- childrenProp
127
- } = this.props;
128
- let {
129
- items
130
- } = this.props; // make sure every item has property 'children'
131
-
93
+ const { childrenProp } = this.props;
94
+ let { items } = this.props;
132
95
  items = listWithChildren(items, childrenProp);
133
- this.setState({
134
- items
135
- });
96
+ this.setState({ items });
136
97
  }
137
-
138
98
  componentWillUnmount() {
139
99
  this.stopTrackMouse();
140
100
  }
141
-
142
101
  static getDerivedStateFromProps(props, state) {
143
- const {
144
- items: itemsNew,
145
- childrenProp
146
- } = props;
147
- const {
148
- stopTrackingMouse,
149
- oldProps
150
- } = state;
151
-
152
- if (shallowCompare({
153
- props: oldProps,
154
- state: {}
155
- }, props, {})) {
102
+ const { items: itemsNew, childrenProp } = props;
103
+ const { stopTrackingMouse, oldProps } = state;
104
+ if (shallowCompare({ props: oldProps, state: {} }, props, {})) {
156
105
  stopTrackingMouse();
157
106
  const extra = {};
158
-
159
107
  if (oldProps.collapsed !== props.collapsed) {
160
108
  extra.collapsedGroups = [];
161
109
  }
162
-
163
- return _objectSpread({
110
+ return {
164
111
  items: listWithChildren(itemsNew, childrenProp),
165
112
  dragItem: null,
166
113
  isDirty: false,
167
- oldProps: props
168
- }, extra);
114
+ oldProps: props,
115
+ ...extra
116
+ };
169
117
  }
170
-
171
118
  return null;
172
119
  }
173
-
174
- getPathById(id) {
175
- let items = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getDefaultItems();
120
+ getPathById(id, items = this.getDefaultItems()) {
176
121
  return getPathById.call(this, id, items);
177
122
  }
178
-
179
- getItemByPath(path) {
180
- let items = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getDefaultItems();
123
+ getItemByPath(path, items = this.getDefaultItems()) {
181
124
  return getItemByPath.call(this, path, items);
182
125
  }
183
-
184
- getSplicePath(path) {
185
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
126
+ getSplicePath(path, options = {}) {
186
127
  return getSplicePath.call(this, path, options);
187
128
  }
188
-
189
129
  getRealNextPath(prevPath, nextPath) {
190
130
  return getRealNextPath.call(this, prevPath, nextPath);
191
131
  }
192
-
193
132
  getItemOptions() {
194
133
  return getItemOptions.call(this);
195
134
  }
196
-
197
135
  dragApply() {
198
- const {
199
- onChange
200
- } = this.props;
201
- const {
202
- items,
203
- isDirty,
204
- dragItem
205
- } = this.state;
136
+ const { onChange } = this.props;
137
+ const { items, isDirty, dragItem } = this.state;
206
138
  this.setState({
207
139
  itemsOld: null,
208
140
  dragItem: null,
209
141
  isDirty: false
210
142
  });
211
- if (onChange && isDirty) onChange(items, dragItem);
143
+ if (onChange && isDirty)
144
+ onChange(items, dragItem);
212
145
  }
213
-
214
146
  tryIncreaseDepth(dragItem) {
215
147
  tryIncreaseDepth.call(this, dragItem);
216
148
  }
217
-
218
149
  tryDecreaseDepth(dragItem) {
219
150
  tryDecreaseDepth.call(this, dragItem);
220
151
  }
221
-
222
- moveItem(_ref) {
223
- let {
224
- dragItem,
225
- pathFrom,
226
- pathTo
227
- } = _ref;
228
- let extraProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
229
- moveItem.call(this, {
230
- dragItem,
231
- pathFrom,
232
- pathTo
233
- }, extraProps);
152
+ moveItem({ dragItem, pathFrom, pathTo }, extraProps = {}) {
153
+ moveItem.call(this, { dragItem, pathFrom, pathTo }, extraProps);
234
154
  }
235
-
236
155
  renderDragLayer() {
237
- const {
238
- group
239
- } = this.props;
240
- const {
241
- dragItem
242
- } = this.state;
243
- const el = document.querySelector(".nestable-".concat(group, " .nestable-item-").concat(dragItem.id));
156
+ const { group } = this.props;
157
+ const { dragItem } = this.state;
158
+ const el = document.querySelector(`.nestable-${group} .nestable-item-${dragItem.id}`);
244
159
  let listStyles = {};
245
-
246
160
  if (el) {
247
161
  listStyles.width = el.clientWidth;
248
162
  }
249
-
250
163
  if (this.elCopyStyles) {
251
- listStyles = _objectSpread(_objectSpread({}, listStyles), this.elCopyStyles);
164
+ listStyles = {
165
+ ...listStyles,
166
+ ...this.elCopyStyles
167
+ };
252
168
  }
253
-
254
169
  const options = this.getItemOptions();
255
- return /*#__PURE__*/_jsx("div", {
170
+ return /* @__PURE__ */ React2.createElement("div", {
256
171
  className: "nestable-drag-layer"
257
- }, void 0, /*#__PURE__*/_jsx("ol", {
172
+ }, /* @__PURE__ */ React2.createElement("ol", {
258
173
  className: "nestable-list",
259
174
  style: listStyles
260
- }, void 0, /*#__PURE__*/_jsx(NestableItem, {
175
+ }, /* @__PURE__ */ React2.createElement(NestableItem, {
261
176
  isCopy: true,
262
177
  item: dragItem,
263
- options: options
178
+ options
264
179
  })));
265
180
  }
266
-
267
181
  render() {
268
- const {
269
- items,
270
- dragItem
271
- } = this.state;
182
+ const { items, dragItem } = this.state;
272
183
  const {
273
184
  group,
274
185
  isAndItem,
@@ -279,34 +190,52 @@ class Nestable extends Component {
279
190
  } = this.props;
280
191
  const options = this.getItemOptions();
281
192
  const childLength = items.length;
282
- let childClass = 'single';
283
- if (childLength === 0) childClass = 'empty';else if (childLength > 1) childClass = 'multiple';
284
- return /*#__PURE__*/_jsx("div", {
285
- className: cn('nestable', "nestable-".concat(group), {
286
- 'is-drag-active': dragItem
193
+ let childClass = "single";
194
+ if (childLength === 0)
195
+ childClass = "empty";
196
+ else if (childLength > 1)
197
+ childClass = "multiple";
198
+ return /* @__PURE__ */ React2.createElement("div", {
199
+ className: cn("nestable", `nestable-${group}`, {
200
+ "is-drag-active": dragItem
287
201
  })
288
- }, void 0, /*#__PURE__*/_jsx("ol", {
289
- className: "nestable-list nestable-group nestable-child-count-".concat(childClass)
290
- }, void 0, items.map((item, i) => /*#__PURE__*/_jsx(NestableItem, {
202
+ }, /* @__PURE__ */ React2.createElement("ol", {
203
+ className: `nestable-list nestable-group nestable-child-count-${childClass}`
204
+ }, items.map((item, i) => /* @__PURE__ */ React2.createElement(NestableItem, {
205
+ key: item.id,
291
206
  index: i,
292
- isAndItem: isAndItem,
293
- isDraggableItem: isDraggableItem,
294
- isOrItem: isOrItem,
295
- item: item,
296
- options: options,
297
- setDraggableItems: setDraggableItems,
298
- singleRow: singleRow
299
- }, item.id))), dragItem && this.renderDragLayer());
207
+ isAndItem,
208
+ isDraggableItem,
209
+ isOrItem,
210
+ item,
211
+ options,
212
+ setDraggableItems,
213
+ singleRow
214
+ }))), dragItem && this.renderDragLayer());
300
215
  }
301
-
302
216
  }
303
-
304
217
  Nestable.defaultProps = {
305
218
  items: [],
306
219
  collapsed: false,
307
220
  group: Math.random().toString(36).slice(2),
308
- childrenProp: 'children',
309
- onChange: () => {}
221
+ childrenProp: "children",
222
+ onChange: () => {
223
+ }
224
+ };
225
+ Nestable.propTypes = {
226
+ childrenProp: PropTypes.string,
227
+ group: PropTypes.string,
228
+ items: PropTypes.arrayOf(PropTypes.shape({})),
229
+ collapsed: PropTypes.bool,
230
+ onChange: PropTypes.func,
231
+ isAndItem: PropTypes.bool,
232
+ isOrItem: PropTypes.bool,
233
+ isDraggableItem: PropTypes.bool,
234
+ setDraggableItems: PropTypes.func,
235
+ singleRow: PropTypes.bool
236
+ };
237
+ var Nestable_default = Nestable;
238
+ export {
239
+ Nestable_default as default
310
240
  };
311
-
312
- export { Nestable as default };
241
+ //# sourceMappingURL=Nestable.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/Nestable/Nestable.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-bitwise, max-lines */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'classnames';\nimport { listWithChildren } from '@elliemae/ds-shared/utils';\nimport { isEqualWith } from '@elliemae/ds-utilities';\nimport {\n tryIncreaseDepth,\n tryDecreaseDepth,\n moveItem,\n getItemOptions,\n getRealNextPath,\n getPathById,\n getItemByPath,\n getItemDepth,\n getSplicePath,\n onDragStart,\n onDragEnd,\n onMouseMove,\n onMouseEnter,\n onToggleCollapse,\n onKeyDown,\n} from './actions';\n\nimport NestableItem from './NestableItem';\n\nconst shallowCompare = (instance, nextProps, nextState) =>\n !isEqualWith(instance.props, nextProps) ||\n !isEqualWith(instance.state, nextState);\n\nclass Nestable extends Component {\n constructor(props) {\n super(props);\n this.state = {\n items: [],\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n collapsedGroups: [],\n stopTrackingMouse: this.stopTrackMouse.bind(this),\n oldProps: props,\n };\n\n this.el = null;\n this.elCopyStyles = null;\n this.mouse = {\n last: { x: 0 },\n shift: { x: 0 },\n };\n }\n\n componentDidMount() {\n const { childrenProp } = this.props;\n let { items } = this.props;\n // make sure every item has property 'children'\n items = listWithChildren(items, childrenProp);\n this.setState({ items });\n }\n\n componentWillUnmount() {\n this.stopTrackMouse();\n }\n\n static getDerivedStateFromProps(props, state) {\n const { items: itemsNew, childrenProp } = props;\n const { stopTrackingMouse, oldProps } = state;\n\n if (shallowCompare({ props: oldProps, state: {} }, props, {})) {\n stopTrackingMouse();\n const extra = {};\n if (oldProps.collapsed !== props.collapsed) {\n extra.collapsedGroups = [];\n }\n return {\n items: listWithChildren(itemsNew, childrenProp),\n dragItem: null,\n isDirty: false,\n oldProps: props,\n ...extra,\n };\n }\n return null;\n }\n\n onDragStart = (e, item) => {\n onDragStart.call(this, e, item);\n };\n\n onDragEnd = (e, isCancel) => onDragEnd.call(this, e, isCancel);\n\n onMouseMove = (e) => onMouseMove.call(this, e);\n\n onMouseEnter = (e, item) => onMouseEnter.call(this, e, item);\n\n onToggleCollapse = (item, isGetter) =>\n onToggleCollapse.call(this, item, isGetter);\n\n onKeyDown = (e) => onKeyDown.call(this, e);\n\n getDefaultItems = () => {\n const { items } = this.state;\n return items;\n };\n\n getPathById(id, items = this.getDefaultItems()) {\n return getPathById.call(this, id, items);\n }\n\n getItemByPath(path, items = this.getDefaultItems()) {\n return getItemByPath.call(this, path, items);\n }\n\n getItemDepth = (item) => getItemDepth.call(this, item);\n\n getSplicePath(path, options = {}) {\n return getSplicePath.call(this, path, options);\n }\n\n getRealNextPath(prevPath, nextPath) {\n return getRealNextPath.call(this, prevPath, nextPath);\n }\n\n getItemOptions() {\n return getItemOptions.call(this);\n }\n\n startTrackMouse = () => {\n document.addEventListener('mousemove', this.onMouseMove);\n document.addEventListener('mouseup', this.onDragEnd);\n document.addEventListener('keydown', this.onKeyDown);\n };\n\n stopTrackMouse = () => {\n document.removeEventListener('mousemove', this.onMouseMove);\n document.removeEventListener('mouseup', this.onDragEnd);\n document.removeEventListener('keydown', this.onKeyDown);\n this.elCopyStyles = null;\n };\n\n isCollapsed = (item) => {\n const { collapsed } = this.props;\n const { collapsedGroups } = this.state;\n return !!((collapsedGroups.indexOf(item.id) > -1) ^ collapsed);\n };\n\n checkFilterChildren = (items) =>\n items.find((current) => {\n const {\n element: { type },\n children,\n } = current;\n if (type === 'filter' && children.length > 0) return true;\n return this.checkFilterChildren(children);\n });\n\n dragRevert = () => {\n const { itemsOld } = this.state;\n\n this.setState({\n items: itemsOld,\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n });\n };\n\n dragApply() {\n const { onChange } = this.props;\n const { items, isDirty, dragItem } = this.state;\n\n this.setState({\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n });\n\n if (onChange && isDirty) onChange(items, dragItem);\n }\n\n tryIncreaseDepth(dragItem) {\n tryIncreaseDepth.call(this, dragItem);\n }\n\n tryDecreaseDepth(dragItem) {\n tryDecreaseDepth.call(this, dragItem);\n }\n\n moveItem({ dragItem, pathFrom, pathTo }, extraProps = {}) {\n moveItem.call(this, { dragItem, pathFrom, pathTo }, extraProps);\n }\n\n renderDragLayer() {\n const { group } = this.props;\n const { dragItem } = this.state;\n const el = document.querySelector(\n `.nestable-${group} .nestable-item-${dragItem.id}`,\n );\n\n let listStyles = {};\n if (el) {\n listStyles.width = el.clientWidth;\n }\n if (this.elCopyStyles) {\n listStyles = {\n ...listStyles,\n ...this.elCopyStyles,\n };\n }\n\n const options = this.getItemOptions();\n\n return (\n <div className=\"nestable-drag-layer\">\n <ol className=\"nestable-list\" style={listStyles}>\n <NestableItem isCopy item={dragItem} options={options} />\n </ol>\n </div>\n );\n }\n\n render() {\n const { items, dragItem } = this.state;\n const {\n group,\n isAndItem,\n isOrItem,\n isDraggableItem,\n setDraggableItems,\n singleRow,\n } = this.props;\n const options = this.getItemOptions();\n const childLength = items.length;\n let childClass = 'single';\n if (childLength === 0) childClass = 'empty';\n else if (childLength > 1) childClass = 'multiple';\n\n return (\n <div\n className={cn('nestable', `nestable-${group}`, {\n 'is-drag-active': dragItem,\n })}\n >\n <ol\n className={`nestable-list nestable-group nestable-child-count-${childClass}`}\n >\n {items.map((item, i) => (\n <NestableItem\n key={item.id}\n index={i}\n isAndItem={isAndItem}\n isDraggableItem={isDraggableItem}\n isOrItem={isOrItem}\n item={item}\n options={options}\n setDraggableItems={setDraggableItems}\n singleRow={singleRow}\n />\n ))}\n </ol>\n {dragItem && this.renderDragLayer()}\n </div>\n );\n }\n}\n\nNestable.defaultProps = {\n items: [],\n collapsed: false,\n group: Math.random().toString(36).slice(2),\n childrenProp: 'children',\n onChange: () => {},\n};\n\nNestable.propTypes = {\n childrenProp: PropTypes.string,\n group: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n collapsed: PropTypes.bool,\n onChange: PropTypes.func,\n isAndItem: PropTypes.bool,\n isOrItem: PropTypes.bool,\n isDraggableItem: PropTypes.bool,\n setDraggableItems: PropTypes.func,\n singleRow: PropTypes.bool,\n};\n\nexport default Nestable;\n"],
5
+ "mappings": "AAAA;ACCA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBA;AAEA,MAAM,iBAAiB,CAAC,UAAU,WAAW,cAC3C,CAAC,YAAY,SAAS,OAAO,cAC7B,CAAC,YAAY,SAAS,OAAO;AAE/B,uBAAuB,UAAU;AAAA,EAC/B,YAAY,OAAO;AACjB,UAAM;AAoDR,uBAAc,CAAC,GAAG,SAAS;AACzB,kBAAY,KAAK,MAAM,GAAG;AAAA;AAG5B,qBAAY,CAAC,GAAG,aAAa,UAAU,KAAK,MAAM,GAAG;AAErD,uBAAc,CAAC,MAAM,YAAY,KAAK,MAAM;AAE5C,wBAAe,CAAC,GAAG,SAAS,aAAa,KAAK,MAAM,GAAG;AAEvD,4BAAmB,CAAC,MAAM,aACxB,iBAAiB,KAAK,MAAM,MAAM;AAEpC,qBAAY,CAAC,MAAM,UAAU,KAAK,MAAM;AAExC,2BAAkB,MAAM;AACtB,YAAM,EAAE,UAAU,KAAK;AACvB,aAAO;AAAA;AAWT,wBAAe,CAAC,SAAS,aAAa,KAAK,MAAM;AAcjD,2BAAkB,MAAM;AACtB,eAAS,iBAAiB,aAAa,KAAK;AAC5C,eAAS,iBAAiB,WAAW,KAAK;AAC1C,eAAS,iBAAiB,WAAW,KAAK;AAAA;AAG5C,0BAAiB,MAAM;AACrB,eAAS,oBAAoB,aAAa,KAAK;AAC/C,eAAS,oBAAoB,WAAW,KAAK;AAC7C,eAAS,oBAAoB,WAAW,KAAK;AAC7C,WAAK,eAAe;AAAA;AAGtB,uBAAc,CAAC,SAAS;AACtB,YAAM,EAAE,cAAc,KAAK;AAC3B,YAAM,EAAE,oBAAoB,KAAK;AACjC,aAAO,CAAC,CAAG,iBAAgB,QAAQ,KAAK,MAAM,KAAM;AAAA;AAGtD,+BAAsB,CAAC,UACrB,MAAM,KAAK,CAAC,YAAY;AACtB,YAAM;AAAA,QACJ,SAAS,EAAE;AAAA,QACX;AAAA,UACE;AACJ,UAAI,SAAS,YAAY,SAAS,SAAS;AAAG,eAAO;AACrD,aAAO,KAAK,oBAAoB;AAAA;AAGpC,sBAAa,MAAM;AACjB,YAAM,EAAE,aAAa,KAAK;AAE1B,WAAK,SAAS;AAAA,QACZ,OAAO;AAAA,QACP,UAAU;AAAA,QACV,UAAU;AAAA,QACV,SAAS;AAAA;AAAA;AAjIX,SAAK,QAAQ;AAAA,MACX,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,MACV,SAAS;AAAA,MACT,iBAAiB;AAAA,MACjB,mBAAmB,KAAK,eAAe,KAAK;AAAA,MAC5C,UAAU;AAAA;AAGZ,SAAK,KAAK;AACV,SAAK,eAAe;AACpB,SAAK,QAAQ;AAAA,MACX,MAAM,EAAE,GAAG;AAAA,MACX,OAAO,EAAE,GAAG;AAAA;AAAA;AAAA,EAIhB,oBAAoB;AAClB,UAAM,EAAE,iBAAiB,KAAK;AAC9B,QAAI,EAAE,UAAU,KAAK;AAErB,YAAQ,iBAAiB,OAAO;AAChC,SAAK,SAAS,EAAE;AAAA;AAAA,EAGlB,uBAAuB;AACrB,SAAK;AAAA;AAAA,SAGA,yBAAyB,OAAO,OAAO;AAC5C,UAAM,EAAE,OAAO,UAAU,iBAAiB;AAC1C,UAAM,EAAE,mBAAmB,aAAa;AAExC,QAAI,eAAe,EAAE,OAAO,UAAU,OAAO,MAAM,OAAO,KAAK;AAC7D;AACA,YAAM,QAAQ;AACd,UAAI,SAAS,cAAc,MAAM,WAAW;AAC1C,cAAM,kBAAkB;AAAA;AAE1B,aAAO;AAAA,QACL,OAAO,iBAAiB,UAAU;AAAA,QAClC,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,WACP;AAAA;AAAA;AAGP,WAAO;AAAA;AAAA,EAuBT,YAAY,IAAI,QAAQ,KAAK,mBAAmB;AAC9C,WAAO,YAAY,KAAK,MAAM,IAAI;AAAA;AAAA,EAGpC,cAAc,MAAM,QAAQ,KAAK,mBAAmB;AAClD,WAAO,cAAc,KAAK,MAAM,MAAM;AAAA;AAAA,EAKxC,cAAc,MAAM,UAAU,IAAI;AAChC,WAAO,cAAc,KAAK,MAAM,MAAM;AAAA;AAAA,EAGxC,gBAAgB,UAAU,UAAU;AAClC,WAAO,gBAAgB,KAAK,MAAM,UAAU;AAAA;AAAA,EAG9C,iBAAiB;AACf,WAAO,eAAe,KAAK;AAAA;AAAA,EA2C7B,YAAY;AACV,UAAM,EAAE,aAAa,KAAK;AAC1B,UAAM,EAAE,OAAO,SAAS,aAAa,KAAK;AAE1C,SAAK,SAAS;AAAA,MACZ,UAAU;AAAA,MACV,UAAU;AAAA,MACV,SAAS;AAAA;AAGX,QAAI,YAAY;AAAS,eAAS,OAAO;AAAA;AAAA,EAG3C,iBAAiB,UAAU;AACzB,qBAAiB,KAAK,MAAM;AAAA;AAAA,EAG9B,iBAAiB,UAAU;AACzB,qBAAiB,KAAK,MAAM;AAAA;AAAA,EAG9B,SAAS,EAAE,UAAU,UAAU,UAAU,aAAa,IAAI;AACxD,aAAS,KAAK,MAAM,EAAE,UAAU,UAAU,UAAU;AAAA;AAAA,EAGtD,kBAAkB;AAChB,UAAM,EAAE,UAAU,KAAK;AACvB,UAAM,EAAE,aAAa,KAAK;AAC1B,UAAM,KAAK,SAAS,cAClB,aAAa,wBAAwB,SAAS;AAGhD,QAAI,aAAa;AACjB,QAAI,IAAI;AACN,iBAAW,QAAQ,GAAG;AAAA;AAExB,QAAI,KAAK,cAAc;AACrB,mBAAa;AAAA,WACR;AAAA,WACA,KAAK;AAAA;AAAA;AAIZ,UAAM,UAAU,KAAK;AAErB,WACE,qCAAC,OAAD;AAAA,MAAK,WAAU;AAAA,OACb,qCAAC,MAAD;AAAA,MAAI,WAAU;AAAA,MAAgB,OAAO;AAAA,OACnC,qCAAC,cAAD;AAAA,MAAc,QAAM;AAAA,MAAC,MAAM;AAAA,MAAU;AAAA;AAAA;AAAA,EAM7C,SAAS;AACP,UAAM,EAAE,OAAO,aAAa,KAAK;AACjC,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,KAAK;AACT,UAAM,UAAU,KAAK;AACrB,UAAM,cAAc,MAAM;AAC1B,QAAI,aAAa;AACjB,QAAI,gBAAgB;AAAG,mBAAa;AAAA,aAC3B,cAAc;AAAG,mBAAa;AAEvC,WACE,qCAAC,OAAD;AAAA,MACE,WAAW,GAAG,YAAY,YAAY,SAAS;AAAA,QAC7C,kBAAkB;AAAA;AAAA,OAGpB,qCAAC,MAAD;AAAA,MACE,WAAW,qDAAqD;AAAA,OAE/D,MAAM,IAAI,CAAC,MAAM,MAChB,qCAAC,cAAD;AAAA,MACE,KAAK,KAAK;AAAA,MACV,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,UAIL,YAAY,KAAK;AAAA;AAAA;AAM1B,SAAS,eAAe;AAAA,EACtB,OAAO;AAAA,EACP,WAAW;AAAA,EACX,OAAO,KAAK,SAAS,SAAS,IAAI,MAAM;AAAA,EACxC,cAAc;AAAA,EACd,UAAU,MAAM;AAAA;AAAA;AAGlB,SAAS,YAAY;AAAA,EACnB,cAAc,UAAU;AAAA,EACxB,OAAO,UAAU;AAAA,EACjB,OAAO,UAAU,QAAQ,UAAU,MAAM;AAAA,EACzC,WAAW,UAAU;AAAA,EACrB,UAAU,UAAU;AAAA,EACpB,WAAW,UAAU;AAAA,EACrB,UAAU,UAAU;AAAA,EACpB,iBAAiB,UAAU;AAAA,EAC3B,mBAAmB,UAAU;AAAA,EAC7B,WAAW,UAAU;AAAA;AAGvB,IAAO,mBAAQ;",
6
+ "names": []
7
+ }
@@ -1,103 +1,90 @@
1
- import 'core-js/modules/esnext.async-iterator.filter.js';
2
- import 'core-js/modules/esnext.iterator.constructor.js';
3
- import 'core-js/modules/esnext.iterator.filter.js';
4
- import 'core-js/modules/esnext.async-iterator.for-each.js';
5
- import 'core-js/modules/esnext.iterator.for-each.js';
6
- import _jsx from '@babel/runtime/helpers/esm/jsx';
7
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
8
- import 'core-js/modules/esnext.async-iterator.map.js';
9
- import 'core-js/modules/esnext.iterator.map.js';
10
- import 'react';
11
- import cn from 'classnames';
12
- import { jsx, jsxs } from 'react/jsx-runtime';
13
-
14
- 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; }
15
-
16
- 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; }
17
-
18
- const NestableItem = _ref => {
19
- let {
20
- item,
21
- isCopy,
22
- options,
23
- index,
24
- isAndItem,
25
- isOrItem,
26
- isDraggableItem,
27
- singleRow
28
- } = _ref;
29
- const {
30
- dragItem,
31
- renderItem,
32
- handler,
33
- childrenProp
34
- } = options;
1
+ import * as React from "react";
2
+ import React2 from "react";
3
+ import cn from "classnames";
4
+ const NestableItem = ({
5
+ item,
6
+ isCopy,
7
+ options,
8
+ index,
9
+ isAndItem,
10
+ isOrItem,
11
+ isDraggableItem,
12
+ singleRow
13
+ }) => {
14
+ const { dragItem, renderItem, handler, childrenProp } = options;
35
15
  const isCollapsed = options.isCollapsed(item);
36
16
  const isDragging = !isCopy && dragItem && dragItem.id === item.id;
37
17
  const hasChildren = item[childrenProp] && item[childrenProp].length > 0;
38
18
  let Handler;
39
- const isOrGroup = item.element.type === 'group' && (item.element.condition === '' || item.element.condition === false);
40
- const isAndGroup = item.element.type === 'group' && !(item.element.condition === '' || item.element.condition === false);
19
+ const isOrGroup = item.element.type === "group" && (item.element.condition === "" || item.element.condition === false);
20
+ const isAndGroup = item.element.type === "group" && !(item.element.condition === "" || item.element.condition === false);
41
21
  const itemProps = {
42
- className: cn("nestable-item".concat(isCopy ? '-copy' : ''), "nestable-item".concat(isCopy ? '-copy' : '', "-").concat(item.id), "nestable-item-type-".concat(item.element.type), {
43
- 'is-or-group': isOrGroup,
44
- 'is-and-group': isAndGroup,
45
- 'is-and-filter': item.element.type === 'filter' && isAndItem,
46
- 'is-or-filter': item.element.type === 'filter' && isOrItem
22
+ className: cn(`nestable-item${isCopy ? "-copy" : ""}`, `nestable-item${isCopy ? "-copy" : ""}-${item.id}`, `nestable-item-type-${item.element.type}`, {
23
+ "is-or-group": isOrGroup,
24
+ "is-and-group": isAndGroup,
25
+ "is-and-filter": item.element.type === "filter" && isAndItem,
26
+ "is-or-filter": item.element.type === "filter" && isOrItem
47
27
  }, {
48
- 'is-dragging': isDragging
28
+ "is-dragging": isDragging
49
29
  })
50
30
  };
51
31
  let rowProps = {};
52
32
  let handlerProps = {};
53
-
54
33
  if (!isCopy) {
55
34
  if (dragItem) {
56
- rowProps = _objectSpread(_objectSpread({}, rowProps), {}, {
57
- onMouseEnter: e => options.onMouseEnter(e, item)
58
- });
35
+ rowProps = {
36
+ ...rowProps,
37
+ onMouseEnter: (e) => options.onMouseEnter(e, item)
38
+ };
59
39
  } else {
60
- handlerProps = _objectSpread(_objectSpread({}, handlerProps), {}, {
40
+ handlerProps = {
41
+ ...handlerProps,
61
42
  draggable: isDraggableItem !== false,
62
- onDragStart: e => options.onDragStart(e, item)
63
- });
43
+ onDragStart: (e) => options.onDragStart(e, item)
44
+ };
64
45
  }
65
46
  }
66
-
67
47
  if (handler) {
68
- Handler = /*#__PURE__*/jsx("span", _objectSpread(_objectSpread({
69
- className: "nestable-item-handler"
70
- }, handlerProps), {}, {
71
- children: handler
72
- })); // Handler = React.cloneElement(handler, handlerProps);
48
+ Handler = /* @__PURE__ */ React2.createElement("span", {
49
+ className: "nestable-item-handler",
50
+ ...handlerProps
51
+ }, handler);
73
52
  } else {
74
- rowProps = _objectSpread(_objectSpread({}, rowProps), handlerProps);
53
+ rowProps = {
54
+ ...rowProps,
55
+ ...handlerProps
56
+ };
75
57
  }
76
-
77
58
  const childLength = item[childrenProp].length;
78
- let childClass = 'single';
79
- if (childLength === 0) childClass = 'empty';else if (childLength > 1) childClass = 'multiple';
80
- return /*#__PURE__*/jsxs("li", _objectSpread(_objectSpread({}, itemProps), {}, {
81
- children: [/*#__PURE__*/jsx("div", _objectSpread(_objectSpread({
82
- className: "nestable-item-name nestable-item-name--".concat(item.element.type, " ")
83
- }, rowProps), {}, {
84
- children: renderItem({
85
- item,
86
- handler: Handler,
87
- index
88
- })
89
- })), hasChildren && item.element.type === 'group' && !isCollapsed && /*#__PURE__*/_jsx("ol", {
90
- className: "nestable-list nestable-child-count-".concat(childClass, " ")
91
- }, void 0, item[childrenProp].map((currentitem, i) => /*#__PURE__*/_jsx(NestableItem, {
92
- index: i,
93
- isAndItem: isAndGroup,
94
- isCopy: isCopy,
95
- isOrItem: isOrGroup,
96
- item: currentitem,
97
- options: options,
98
- singleRow: singleRow
99
- }, i)))]
100
- }));
59
+ let childClass = "single";
60
+ if (childLength === 0)
61
+ childClass = "empty";
62
+ else if (childLength > 1)
63
+ childClass = "multiple";
64
+ return /* @__PURE__ */ React2.createElement("li", {
65
+ ...itemProps
66
+ }, /* @__PURE__ */ React2.createElement("div", {
67
+ className: `nestable-item-name nestable-item-name--${item.element.type} `,
68
+ ...rowProps
69
+ }, renderItem({
70
+ item,
71
+ handler: Handler,
72
+ index
73
+ })), hasChildren && item.element.type === "group" && !isCollapsed && /* @__PURE__ */ React2.createElement("ol", {
74
+ className: `nestable-list nestable-child-count-${childClass} `
75
+ }, item[childrenProp].map((currentitem, i) => /* @__PURE__ */ React2.createElement(NestableItem, {
76
+ key: i,
77
+ index: i,
78
+ isAndItem: isAndGroup,
79
+ isCopy,
80
+ isOrItem: isOrGroup,
81
+ item: currentitem,
82
+ options,
83
+ singleRow
84
+ }))));
85
+ };
86
+ var NestableItem_default = NestableItem;
87
+ export {
88
+ NestableItem_default as default
101
89
  };
102
-
103
- export { NestableItem as default };
90
+ //# sourceMappingURL=NestableItem.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/Nestable/NestableItem.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-statements */\nimport React from 'react';\nimport cn from 'classnames';\n\nconst NestableItem = ({\n item,\n isCopy,\n options,\n index,\n isAndItem,\n isOrItem,\n isDraggableItem,\n singleRow,\n}) => {\n const { dragItem, renderItem, handler, childrenProp } = options;\n\n const isCollapsed = options.isCollapsed(item);\n const isDragging = !isCopy && dragItem && dragItem.id === item.id;\n const hasChildren = item[childrenProp] && item[childrenProp].length > 0;\n\n let Handler;\n const isOrGroup =\n item.element.type === 'group' &&\n (item.element.condition === '' || item.element.condition === false);\n const isAndGroup =\n item.element.type === 'group' &&\n !(item.element.condition === '' || item.element.condition === false);\n\n const itemProps = {\n className: cn(\n `nestable-item${isCopy ? '-copy' : ''}`,\n `nestable-item${isCopy ? '-copy' : ''}-${item.id}`,\n `nestable-item-type-${item.element.type}`,\n {\n 'is-or-group': isOrGroup,\n 'is-and-group': isAndGroup,\n 'is-and-filter': item.element.type === 'filter' && isAndItem,\n 'is-or-filter': item.element.type === 'filter' && isOrItem,\n },\n {\n 'is-dragging': isDragging,\n },\n ),\n };\n\n let rowProps = {};\n let handlerProps = {};\n if (!isCopy) {\n if (dragItem) {\n rowProps = {\n ...rowProps,\n onMouseEnter: e => options.onMouseEnter(e, item),\n };\n } else {\n handlerProps = {\n ...handlerProps,\n draggable: isDraggableItem !== false,\n onDragStart: e => options.onDragStart(e, item),\n };\n }\n }\n\n if (handler) {\n Handler = (\n <span className=\"nestable-item-handler\" {...handlerProps}>\n {handler}\n </span>\n );\n // Handler = React.cloneElement(handler, handlerProps);\n } else {\n rowProps = {\n ...rowProps,\n ...handlerProps,\n };\n }\n\n const childLength = item[childrenProp].length;\n let childClass = 'single';\n if (childLength === 0) childClass = 'empty';\n else if (childLength > 1) childClass = 'multiple';\n\n return (\n <li {...itemProps}>\n <div\n className={`nestable-item-name nestable-item-name--${item.element.type} `}\n {...rowProps}\n >\n {renderItem({\n item,\n handler: Handler,\n index,\n })}\n </div>\n {hasChildren && item.element.type === 'group' && !isCollapsed && (\n <ol className={`nestable-list nestable-child-count-${childClass} `}>\n {item[childrenProp].map((currentitem, i) => (\n <NestableItem\n key={i}\n index={i}\n isAndItem={isAndGroup}\n isCopy={isCopy}\n isOrItem={isOrGroup}\n item={currentitem}\n options={options}\n singleRow={singleRow}\n />\n ))}\n </ol>\n )}\n </li>\n );\n};\n\nexport default NestableItem;\n"],
5
+ "mappings": "AAAA;ACCA;AACA;AAEA,MAAM,eAAe,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACI;AACJ,QAAM,EAAE,UAAU,YAAY,SAAS,iBAAiB;AAExD,QAAM,cAAc,QAAQ,YAAY;AACxC,QAAM,aAAa,CAAC,UAAU,YAAY,SAAS,OAAO,KAAK;AAC/D,QAAM,cAAc,KAAK,iBAAiB,KAAK,cAAc,SAAS;AAEtE,MAAI;AACJ,QAAM,YACJ,KAAK,QAAQ,SAAS,WACrB,MAAK,QAAQ,cAAc,MAAM,KAAK,QAAQ,cAAc;AAC/D,QAAM,aACJ,KAAK,QAAQ,SAAS,WACtB,CAAE,MAAK,QAAQ,cAAc,MAAM,KAAK,QAAQ,cAAc;AAEhE,QAAM,YAAY;AAAA,IAChB,WAAW,GACT,gBAAgB,SAAS,UAAU,MACnC,gBAAgB,SAAS,UAAU,MAAM,KAAK,MAC9C,sBAAsB,KAAK,QAAQ,QACnC;AAAA,MACE,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,iBAAiB,KAAK,QAAQ,SAAS,YAAY;AAAA,MACnD,gBAAgB,KAAK,QAAQ,SAAS,YAAY;AAAA,OAEpD;AAAA,MACE,eAAe;AAAA;AAAA;AAKrB,MAAI,WAAW;AACf,MAAI,eAAe;AACnB,MAAI,CAAC,QAAQ;AACX,QAAI,UAAU;AACZ,iBAAW;AAAA,WACN;AAAA,QACH,cAAc,OAAK,QAAQ,aAAa,GAAG;AAAA;AAAA,WAExC;AACL,qBAAe;AAAA,WACV;AAAA,QACH,WAAW,oBAAoB;AAAA,QAC/B,aAAa,OAAK,QAAQ,YAAY,GAAG;AAAA;AAAA;AAAA;AAK/C,MAAI,SAAS;AACX,cACE,qCAAC,QAAD;AAAA,MAAM,WAAU;AAAA,SAA4B;AAAA,OACzC;AAAA,SAIA;AACL,eAAW;AAAA,SACN;AAAA,SACA;AAAA;AAAA;AAIP,QAAM,cAAc,KAAK,cAAc;AACvC,MAAI,aAAa;AACjB,MAAI,gBAAgB;AAAG,iBAAa;AAAA,WAC3B,cAAc;AAAG,iBAAa;AAEvC,SACE,qCAAC,MAAD;AAAA,OAAQ;AAAA,KACN,qCAAC,OAAD;AAAA,IACE,WAAW,0CAA0C,KAAK,QAAQ;AAAA,OAC9D;AAAA,KAEH,WAAW;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT;AAAA,OAGH,eAAe,KAAK,QAAQ,SAAS,WAAW,CAAC,eAChD,qCAAC,MAAD;AAAA,IAAI,WAAW,sCAAsC;AAAA,KAClD,KAAK,cAAc,IAAI,CAAC,aAAa,MACpC,qCAAC,cAAD;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,WAAW;AAAA,IACX;AAAA,IACA,UAAU;AAAA,IACV,MAAM;AAAA,IACN;AAAA,IACA;AAAA;AAAA;AASd,IAAO,uBAAQ;",
6
+ "names": []
7
+ }