@micromag/editor 0.2.413 → 0.3.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/assets/css/styles.css +12 -11
- package/es/index.js +1282 -879
- package/lib/index.js +1279 -875
- package/package.json +8 -8
package/es/index.js
CHANGED
|
@@ -2,28 +2,29 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
|
2
2
|
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
3
3
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
4
4
|
import { PropTypes as PropTypes$1 } from '@micromag/core';
|
|
5
|
-
import { Button, BackButton, Breadcrumb as Breadcrumb$1,
|
|
6
|
-
import { useRoutes, useScreensManager, useFieldsManager,
|
|
7
|
-
import {
|
|
5
|
+
import { Button, FieldForm, BackButton, Breadcrumb as Breadcrumb$1, Modal, ModalDialog, Label, Navbar, DropdownMenu, Empty, Tabs, ScreenPlaceholder, ScreenPreview, Modals } from '@micromag/core/components';
|
|
6
|
+
import { useRoutes, useScreenDefinition, useFormsComponents, useScreensManager, useFieldsManager, useUrlGenerator, useRoutePush, ScreenProvider, useScreenSize, ModalsProvider, PanelsProvider, ScreenSizeProvider, useFieldComponent, ComponentsProvider, FORMS_NAMESPACE, UppyProvider, StoryProvider, GoogleKeysProvider, GoogleMapsClientProvider, FontsProvider, EditorProvider, ComponentsContext, RoutesProvider } from '@micromag/core/contexts';
|
|
7
|
+
import { useResizeObserver, useParsedStory, useScreenSizeFromElement, useMediasParser } from '@micromag/core/hooks';
|
|
8
8
|
import { getScreenExtraField, isMessage, slug, getComponentFromName, getDeviceScreens } from '@micromag/core/utils';
|
|
9
9
|
import classNames from 'classnames';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
11
|
import React, { useMemo, useRef, useCallback, useState, forwardRef, useEffect } from 'react';
|
|
12
12
|
import { useIntl, FormattedMessage } from 'react-intl';
|
|
13
13
|
import { useRouteMatch, useHistory, Route, MemoryRouter } from 'react-router';
|
|
14
|
-
import
|
|
14
|
+
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
15
|
+
import { TransitionGroup, CSSTransition } from 'react-transition-group';
|
|
15
16
|
import { v1 } from 'uuid';
|
|
16
17
|
import isString from 'lodash/isString';
|
|
17
18
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
18
|
-
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
19
19
|
import 'lodash/isArray';
|
|
20
20
|
import 'lodash/get';
|
|
21
21
|
import 'lodash/set';
|
|
22
22
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
23
|
-
import { faCogs, faGripLines, faTimes, faAngleDown
|
|
23
|
+
import { faEllipsisV, faCogs, faPlus, faGripLines, faTimes, faAngleDown } from '@fortawesome/free-solid-svg-icons';
|
|
24
24
|
import { Fields, FieldsProvider } from '@micromag/fields';
|
|
25
25
|
import { getSizeWithinBounds } from '@folklore/size';
|
|
26
26
|
import { Viewer } from '@micromag/viewer';
|
|
27
|
+
import _toArray from '@babel/runtime/helpers/toArray';
|
|
27
28
|
import isFunction from 'lodash/isFunction';
|
|
28
29
|
import { ReactSortable } from 'react-sortablejs';
|
|
29
30
|
import { KeyboardCode, closestCorners, getFirstCollision, getClientRect, MeasuringStrategy, defaultDropAnimation, useSensors, useSensor, PointerSensor, KeyboardSensor, DndContext, closestCenter, DragOverlay } from '@dnd-kit/core';
|
|
@@ -71,24 +72,110 @@ var useRouteParams = function useRouteParams() {
|
|
|
71
72
|
return routeParams;
|
|
72
73
|
};
|
|
73
74
|
|
|
74
|
-
var styles$
|
|
75
|
+
var styles$i = {"container":"micromag-editor-container","left":"micromag-editor-left","right":"micromag-editor-right","center":"micromag-editor-center","fullscreen":"micromag-editor-fullscreen","preview":"micromag-editor-preview","inner":"micromag-editor-inner","visible":"micromag-editor-visible","screen-medium":"micromag-editor-screen-medium","top":"micromag-editor-top"};
|
|
75
76
|
|
|
76
|
-
var
|
|
77
|
-
var
|
|
77
|
+
var useFormTransition = function useFormTransition(url, screenIndex, styles) {
|
|
78
|
+
var lastPageRef = useRef({
|
|
79
|
+
url: url,
|
|
80
|
+
screenIndex: screenIndex
|
|
81
|
+
});
|
|
82
|
+
var direction = useMemo(function () {
|
|
83
|
+
var _lastPageRef$current = lastPageRef.current,
|
|
84
|
+
lastScreenIndex = _lastPageRef$current.screenIndex,
|
|
85
|
+
lastUrl = _lastPageRef$current.url;
|
|
86
|
+
lastPageRef.current.url = url;
|
|
87
|
+
lastPageRef.current.screenIndex = screenIndex;
|
|
78
88
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
89
|
+
if (screenIndex !== lastScreenIndex) {
|
|
90
|
+
// return screenIndex > lastScreenIndex ? 'bottom' : 'top';
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
var urlSplit = url.split('/');
|
|
95
|
+
var lastUrlSplit = lastUrl.split('/');
|
|
96
|
+
var currentPartsCount = urlSplit.length;
|
|
97
|
+
var previousPartsCount = lastUrlSplit.length;
|
|
98
|
+
var isSettings = urlSplit[currentPartsCount - 1] === 'settings';
|
|
99
|
+
var wasSettings = lastUrlSplit[previousPartsCount - 1] === 'settings';
|
|
100
|
+
currentPartsCount -= isSettings ? 1 : 0;
|
|
101
|
+
previousPartsCount -= wasSettings ? 1 : 0;
|
|
102
|
+
return currentPartsCount >= previousPartsCount ? 'right' : 'left';
|
|
103
|
+
}, [url, screenIndex]);
|
|
104
|
+
var transitionClassNames = useMemo(function () {
|
|
105
|
+
var _classNames, _classNames2, _classNames3;
|
|
106
|
+
|
|
107
|
+
return {
|
|
108
|
+
enter: classNames((_classNames = {}, _defineProperty(_classNames, styles.enterRight, direction === 'right'), _defineProperty(_classNames, styles.enterLeft, direction === 'left'), _defineProperty(_classNames, styles.enterTop, direction === 'top'), _defineProperty(_classNames, styles.enterBottom, direction === 'bottom'), _classNames)) || 'none',
|
|
109
|
+
enterActive: classNames((_classNames2 = {}, _defineProperty(_classNames2, styles.enterActiveHorizontal, direction === 'left' || direction === 'right'), _defineProperty(_classNames2, styles.enterActiveVertical, direction === 'top' || direction === 'bottom'), _classNames2)) || 'none',
|
|
110
|
+
exit: styles.exit || 'none',
|
|
111
|
+
exitActive: classNames((_classNames3 = {}, _defineProperty(_classNames3, styles.exitActiveRight, direction === 'right'), _defineProperty(_classNames3, styles.exitActiveLeft, direction === 'left'), _defineProperty(_classNames3, styles.exitActiveTop, direction === 'top'), _defineProperty(_classNames3, styles.exitActiveBottom, direction === 'bottom'), _classNames3)) || 'none'
|
|
112
|
+
};
|
|
113
|
+
}, [direction, screenIndex]);
|
|
114
|
+
return {
|
|
115
|
+
direction: direction,
|
|
116
|
+
classNames: transitionClassNames,
|
|
117
|
+
timeout: direction === 'left' || direction === 'right' ? 300 : 10
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
var styles$h = {"panel":"micromag-editor-form-panel","exit":"micromag-editor-form-exit","content":"micromag-editor-form-content","navbar":"micromag-editor-form-navbar","enterBottom":"micromag-editor-form-enterBottom","enterLeft":"micromag-editor-form-enterLeft","enterRight":"micromag-editor-form-enterRight","enterTop":"micromag-editor-form-enterTop","enterActiveHorizontal":"micromag-editor-form-enterActiveHorizontal","enterActiveVertical":"micromag-editor-form-enterActiveVertical","exitActiveLeft":"micromag-editor-form-exitActiveLeft","exitActiveRight":"micromag-editor-form-exitActiveRight","exitActiveBottom":"micromag-editor-form-exitActiveBottom","exitActiveTop":"micromag-editor-form-exitActiveTop"};
|
|
122
|
+
|
|
123
|
+
function getScreenFieldsWithStates(definition) {
|
|
124
|
+
var _ref = definition || {},
|
|
83
125
|
_ref$fields = _ref.fields,
|
|
84
|
-
|
|
126
|
+
screenFields = _ref$fields === void 0 ? [] : _ref$fields,
|
|
127
|
+
_ref$states = _ref.states,
|
|
128
|
+
states = _ref$states === void 0 ? null : _ref$states;
|
|
129
|
+
|
|
130
|
+
if (states === null) {
|
|
131
|
+
return screenFields;
|
|
132
|
+
}
|
|
85
133
|
|
|
86
|
-
|
|
87
|
-
var
|
|
88
|
-
_ref2$
|
|
89
|
-
|
|
90
|
-
_ref2$
|
|
91
|
-
|
|
134
|
+
return [].concat(_toConsumableArray(states.reduce(function (statesFields, _ref2) {
|
|
135
|
+
var id = _ref2.id,
|
|
136
|
+
_ref2$fields = _ref2.fields,
|
|
137
|
+
fields = _ref2$fields === void 0 ? [] : _ref2$fields,
|
|
138
|
+
_ref2$repeatable = _ref2.repeatable,
|
|
139
|
+
repeatable = _ref2$repeatable === void 0 ? false : _ref2$repeatable,
|
|
140
|
+
_ref2$fieldName = _ref2.fieldName,
|
|
141
|
+
fieldName = _ref2$fieldName === void 0 ? null : _ref2$fieldName,
|
|
142
|
+
label = _ref2.label;
|
|
143
|
+
return [].concat(_toConsumableArray(statesFields), _toConsumableArray(repeatable ? [{
|
|
144
|
+
type: 'items',
|
|
145
|
+
name: fieldName || id,
|
|
146
|
+
label: label,
|
|
147
|
+
stateId: id,
|
|
148
|
+
itemsField: {
|
|
149
|
+
label: label,
|
|
150
|
+
type: 'fields',
|
|
151
|
+
fields: fields
|
|
152
|
+
}
|
|
153
|
+
}] : []), _toConsumableArray(!repeatable && fieldName !== null ? [{
|
|
154
|
+
type: 'fields',
|
|
155
|
+
name: fieldName,
|
|
156
|
+
stateId: id,
|
|
157
|
+
fields: fields
|
|
158
|
+
}] : []), _toConsumableArray(!repeatable && fieldName === null ? fields.map(function (it) {
|
|
159
|
+
return _objectSpread(_objectSpread({}, it), {}, {
|
|
160
|
+
stateId: id
|
|
161
|
+
});
|
|
162
|
+
}) : []));
|
|
163
|
+
}, [])), _toConsumableArray(screenFields));
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
var createScreen = function createScreen(definition) {
|
|
167
|
+
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
168
|
+
var finalDefinition = isString(definition) ? {
|
|
169
|
+
id: definition
|
|
170
|
+
} : definition;
|
|
171
|
+
var id = finalDefinition.id;
|
|
172
|
+
var screenFields = getScreenFieldsWithStates(finalDefinition);
|
|
173
|
+
var defaultValueFields = screenFields.reduce(function (all, curr) {
|
|
174
|
+
var _ref = curr || {},
|
|
175
|
+
_ref$name = _ref.name,
|
|
176
|
+
name = _ref$name === void 0 ? null : _ref$name,
|
|
177
|
+
_ref$defaultValue = _ref.defaultValue,
|
|
178
|
+
defaultValue = _ref$defaultValue === void 0 ? null : _ref$defaultValue;
|
|
92
179
|
|
|
93
180
|
var newAll = _objectSpread({}, all);
|
|
94
181
|
|
|
@@ -105,13 +192,13 @@ var createScreen = function createScreen(definition) {
|
|
|
105
192
|
});
|
|
106
193
|
};
|
|
107
194
|
|
|
108
|
-
var _excluded$
|
|
195
|
+
var _excluded$c = ["components"];
|
|
109
196
|
|
|
110
197
|
var deleteScreen = function deleteScreen(story, screenId) {
|
|
111
198
|
var _ref = story || {},
|
|
112
199
|
_ref$components = _ref.components,
|
|
113
200
|
components = _ref$components === void 0 ? [] : _ref$components,
|
|
114
|
-
currentValue = _objectWithoutProperties(_ref, _excluded$
|
|
201
|
+
currentValue = _objectWithoutProperties(_ref, _excluded$c);
|
|
115
202
|
|
|
116
203
|
return _objectSpread(_objectSpread({}, currentValue), {}, {
|
|
117
204
|
components: components.filter(function (_ref2) {
|
|
@@ -121,13 +208,13 @@ var deleteScreen = function deleteScreen(story, screenId) {
|
|
|
121
208
|
});
|
|
122
209
|
};
|
|
123
210
|
|
|
124
|
-
var _excluded$
|
|
211
|
+
var _excluded$b = ["components"];
|
|
125
212
|
|
|
126
213
|
var duplicateScreen = function duplicateScreen(story, screenId) {
|
|
127
214
|
var _ref = story || {},
|
|
128
215
|
_ref$components = _ref.components,
|
|
129
216
|
components = _ref$components === void 0 ? [] : _ref$components,
|
|
130
|
-
currentValue = _objectWithoutProperties(_ref, _excluded$
|
|
217
|
+
currentValue = _objectWithoutProperties(_ref, _excluded$b);
|
|
131
218
|
|
|
132
219
|
var screen = components.find(function (it) {
|
|
133
220
|
return it.id === screenId;
|
|
@@ -139,7 +226,7 @@ var duplicateScreen = function duplicateScreen(story, screenId) {
|
|
|
139
226
|
});
|
|
140
227
|
};
|
|
141
228
|
|
|
142
|
-
var _excluded$
|
|
229
|
+
var _excluded$a = ["components"];
|
|
143
230
|
|
|
144
231
|
var updateScreen = function updateScreen(story, newScreenValue) {
|
|
145
232
|
var newScreenId = newScreenValue.id;
|
|
@@ -147,7 +234,7 @@ var updateScreen = function updateScreen(story, newScreenValue) {
|
|
|
147
234
|
var _ref = story || {},
|
|
148
235
|
_ref$components = _ref.components,
|
|
149
236
|
components = _ref$components === void 0 ? [] : _ref$components,
|
|
150
|
-
currentValue = _objectWithoutProperties(_ref, _excluded$
|
|
237
|
+
currentValue = _objectWithoutProperties(_ref, _excluded$a);
|
|
151
238
|
|
|
152
239
|
var index = components.findIndex(function (it) {
|
|
153
240
|
return it.id === newScreenId;
|
|
@@ -176,78 +263,179 @@ var getFieldByName = function getFieldByName(fields, name) {
|
|
|
176
263
|
}, null);
|
|
177
264
|
};
|
|
178
265
|
|
|
179
|
-
var
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
screenIndex: screenIndex
|
|
183
|
-
});
|
|
184
|
-
var direction = useMemo(function () {
|
|
185
|
-
var _lastPageRef$current = lastPageRef.current,
|
|
186
|
-
lastScreenIndex = _lastPageRef$current.screenIndex,
|
|
187
|
-
lastUrl = _lastPageRef$current.url;
|
|
188
|
-
lastPageRef.current.url = url;
|
|
189
|
-
lastPageRef.current.screenIndex = screenIndex;
|
|
190
|
-
|
|
191
|
-
if (screenIndex !== lastScreenIndex) {
|
|
192
|
-
// return screenIndex > lastScreenIndex ? 'bottom' : 'top';
|
|
193
|
-
return null;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
var urlSplit = url.split('/');
|
|
197
|
-
var lastUrlSplit = lastUrl.split('/');
|
|
198
|
-
var currentPartsCount = urlSplit.length;
|
|
199
|
-
var previousPartsCount = lastUrlSplit.length;
|
|
200
|
-
var isSettings = urlSplit[currentPartsCount - 1] === 'settings';
|
|
201
|
-
var wasSettings = lastUrlSplit[previousPartsCount - 1] === 'settings';
|
|
202
|
-
currentPartsCount -= isSettings ? 1 : 0;
|
|
203
|
-
previousPartsCount -= wasSettings ? 1 : 0;
|
|
204
|
-
return currentPartsCount >= previousPartsCount ? 'right' : 'left';
|
|
205
|
-
}, [url, screenIndex]);
|
|
206
|
-
var name = useMemo(function () {
|
|
207
|
-
var _classNames, _classNames2, _classNames3;
|
|
208
|
-
|
|
209
|
-
return {
|
|
210
|
-
enter: classNames((_classNames = {}, _defineProperty(_classNames, styles.enterRight, direction === 'right'), _defineProperty(_classNames, styles.enterLeft, direction === 'left'), _defineProperty(_classNames, styles.enterTop, direction === 'top'), _defineProperty(_classNames, styles.enterBottom, direction === 'bottom'), _classNames)) || 'none',
|
|
211
|
-
enterActive: classNames((_classNames2 = {}, _defineProperty(_classNames2, styles.enterActiveHorizontal, direction === 'left' || direction === 'right'), _defineProperty(_classNames2, styles.enterActiveVertical, direction === 'top' || direction === 'bottom'), _classNames2)) || 'none',
|
|
212
|
-
leave: styles.leave || 'none',
|
|
213
|
-
leaveActive: classNames((_classNames3 = {}, _defineProperty(_classNames3, styles.leaveActiveRight, direction === 'right'), _defineProperty(_classNames3, styles.leaveActiveLeft, direction === 'left'), _defineProperty(_classNames3, styles.leaveActiveTop, direction === 'top'), _defineProperty(_classNames3, styles.leaveActiveBottom, direction === 'bottom'), _classNames3)) || 'none'
|
|
214
|
-
};
|
|
215
|
-
}, [direction, screenIndex]);
|
|
216
|
-
return {
|
|
217
|
-
direction: direction,
|
|
218
|
-
name: name,
|
|
219
|
-
timeout: direction === 'left' || direction === 'right' ? 300 : 10
|
|
220
|
-
};
|
|
221
|
-
};
|
|
222
|
-
|
|
223
|
-
var _excluded$8 = ["className"];
|
|
224
|
-
var propTypes$n = {
|
|
266
|
+
var _excluded$9 = ["className", "dots"];
|
|
267
|
+
var propTypes$o = {
|
|
268
|
+
dots: PropTypes.bool,
|
|
225
269
|
className: PropTypes.string
|
|
226
270
|
};
|
|
227
|
-
var defaultProps$
|
|
271
|
+
var defaultProps$o = {
|
|
272
|
+
dots: false,
|
|
228
273
|
className: null
|
|
229
274
|
};
|
|
230
275
|
|
|
231
276
|
var SettingsButton = function SettingsButton(_ref) {
|
|
232
277
|
var className = _ref.className,
|
|
233
|
-
|
|
278
|
+
dots = _ref.dots,
|
|
279
|
+
props = _objectWithoutProperties(_ref, _excluded$9);
|
|
234
280
|
|
|
235
281
|
return /*#__PURE__*/React.createElement(Button, Object.assign({
|
|
236
282
|
className: className,
|
|
237
283
|
theme: "secondary",
|
|
238
284
|
size: "sm",
|
|
239
285
|
icon: /*#__PURE__*/React.createElement(FontAwesomeIcon, {
|
|
240
|
-
icon: faCogs
|
|
286
|
+
icon: dots ? faEllipsisV : faCogs
|
|
241
287
|
})
|
|
242
288
|
}, props));
|
|
243
289
|
};
|
|
244
290
|
|
|
245
|
-
SettingsButton.propTypes = propTypes$
|
|
246
|
-
SettingsButton.defaultProps = defaultProps$
|
|
291
|
+
SettingsButton.propTypes = propTypes$o;
|
|
292
|
+
SettingsButton.defaultProps = defaultProps$o;
|
|
293
|
+
|
|
294
|
+
var _excluded$8 = ["name", "form"];
|
|
295
|
+
var propTypes$n = {
|
|
296
|
+
name: PropTypes.string,
|
|
297
|
+
form: PropTypes.string,
|
|
298
|
+
children: PropTypes.node
|
|
299
|
+
};
|
|
300
|
+
var defaultProps$n = {
|
|
301
|
+
name: null,
|
|
302
|
+
form: null,
|
|
303
|
+
children: null
|
|
304
|
+
};
|
|
305
|
+
|
|
306
|
+
var FieldWithContexts = function FieldWithContexts(_ref) {
|
|
307
|
+
var name = _ref.name,
|
|
308
|
+
form = _ref.form,
|
|
309
|
+
props = _objectWithoutProperties(_ref, _excluded$8);
|
|
310
|
+
|
|
311
|
+
// Get definitions
|
|
312
|
+
var definition = useScreenDefinition();
|
|
313
|
+
var _definition$states = definition.states,
|
|
314
|
+
states = _definition$states === void 0 ? null : _definition$states;
|
|
315
|
+
var screenFields = getScreenFieldsWithStates(definition); // const [stateId = null] = name.split('.');
|
|
316
|
+
// const currentState = states !== null ? states.find(({ id }) => id === stateId) || null : null;
|
|
317
|
+
|
|
318
|
+
var nameParts = name.split('.');
|
|
319
|
+
|
|
320
|
+
var _nameParts = _slicedToArray(nameParts, 1),
|
|
321
|
+
_nameParts$ = _nameParts[0],
|
|
322
|
+
stateId = _nameParts$ === void 0 ? null : _nameParts$;
|
|
323
|
+
|
|
324
|
+
var currentState = states !== null ? states.find(function (_ref2) {
|
|
325
|
+
var id = _ref2.id;
|
|
326
|
+
return id === stateId;
|
|
327
|
+
}) || null : null;
|
|
328
|
+
var finalNameParts = nameParts;
|
|
329
|
+
|
|
330
|
+
var _ref3 = currentState || {},
|
|
331
|
+
_ref3$repeatable = _ref3.repeatable,
|
|
332
|
+
repeatable = _ref3$repeatable === void 0 ? false : _ref3$repeatable,
|
|
333
|
+
_ref3$fieldName = _ref3.fieldName,
|
|
334
|
+
fieldName = _ref3$fieldName === void 0 ? null : _ref3$fieldName,
|
|
335
|
+
_ref3$fields = _ref3.fields,
|
|
336
|
+
stateFields = _ref3$fields === void 0 ? [] : _ref3$fields;
|
|
337
|
+
|
|
338
|
+
if (currentState !== null) {
|
|
339
|
+
finalNameParts = (repeatable || fieldName !== null) && nameParts.length <= (repeatable ? 2 : 1) ? [fieldName || stateId].concat(_toConsumableArray(nameParts.slice(1))) : nameParts.slice(1);
|
|
340
|
+
}
|
|
247
341
|
|
|
248
|
-
var
|
|
342
|
+
var formComponents = useFormsComponents(); // if (currentState !== null && !repeatable && stateFieldName === null) {
|
|
343
|
+
// return (
|
|
344
|
+
// <div className="p-2">
|
|
345
|
+
// <Fields fields={stateFields} {...props} />
|
|
346
|
+
// </div>
|
|
347
|
+
// );
|
|
348
|
+
// }
|
|
349
|
+
// const finalFields =
|
|
350
|
+
// repeatable || stateFieldName !== null
|
|
351
|
+
// ? [{
|
|
352
|
+
// name: stateFieldName || stateId,
|
|
353
|
+
// itemsField: {
|
|
354
|
+
// type: 'fields',
|
|
355
|
+
// fields: stateFields,
|
|
356
|
+
// className: 'p-2'
|
|
357
|
+
// },
|
|
358
|
+
// }]
|
|
359
|
+
// : fields;
|
|
360
|
+
|
|
361
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
362
|
+
className: classNames({
|
|
363
|
+
'p-2': form === null
|
|
364
|
+
})
|
|
365
|
+
}, finalNameParts.length > 0 ? /*#__PURE__*/React.createElement(FieldForm, Object.assign({
|
|
366
|
+
fields: screenFields,
|
|
367
|
+
formComponents: formComponents,
|
|
368
|
+
name: finalNameParts.join('.'),
|
|
369
|
+
form: form
|
|
370
|
+
}, props)) : /*#__PURE__*/React.createElement(Fields, Object.assign({
|
|
371
|
+
fields: stateFields
|
|
372
|
+
}, props)));
|
|
373
|
+
};
|
|
374
|
+
|
|
375
|
+
FieldWithContexts.propTypes = propTypes$n;
|
|
376
|
+
FieldWithContexts.defaultProps = defaultProps$n;
|
|
377
|
+
|
|
378
|
+
var styles$g = {"container":"micromag-editor-forms-screen-container","inner":"micromag-editor-forms-screen-inner"};
|
|
249
379
|
|
|
250
380
|
var propTypes$m = {
|
|
381
|
+
value: PropTypes$1.component,
|
|
382
|
+
className: PropTypes.string,
|
|
383
|
+
gotoFieldForm: PropTypes.func.isRequired,
|
|
384
|
+
closeFieldForm: PropTypes.func.isRequired,
|
|
385
|
+
onChange: PropTypes.func // onClickDelete: PropTypes.func,
|
|
386
|
+
|
|
387
|
+
};
|
|
388
|
+
var defaultProps$m = {
|
|
389
|
+
value: null,
|
|
390
|
+
className: null,
|
|
391
|
+
onChange: null // onClickDelete: null,
|
|
392
|
+
|
|
393
|
+
};
|
|
394
|
+
|
|
395
|
+
var ScreenForm = function ScreenForm(_ref) {
|
|
396
|
+
var value = _ref.value,
|
|
397
|
+
className = _ref.className,
|
|
398
|
+
gotoFieldForm = _ref.gotoFieldForm,
|
|
399
|
+
closeFieldForm = _ref.closeFieldForm,
|
|
400
|
+
onChange = _ref.onChange;
|
|
401
|
+
|
|
402
|
+
var _useScreenDefinition = useScreenDefinition(),
|
|
403
|
+
_useScreenDefinition$ = _useScreenDefinition.fields,
|
|
404
|
+
fields = _useScreenDefinition$ === void 0 ? [] : _useScreenDefinition$; // const intl = useIntl();
|
|
405
|
+
// const finalOnClickDelete = useCallback(() => {
|
|
406
|
+
// if (
|
|
407
|
+
// onClickDelete !== null &&
|
|
408
|
+
// window.confirm(
|
|
409
|
+
// intl.formatMessage({
|
|
410
|
+
// defaultMessage: 'Are you sure you want to delete this screen?',
|
|
411
|
+
// description: 'Confirm message when deleting a screen',
|
|
412
|
+
// }),
|
|
413
|
+
// )
|
|
414
|
+
// ) {
|
|
415
|
+
// onClickDelete(value);
|
|
416
|
+
// }
|
|
417
|
+
// }, [intl, onClickDelete, value]);
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
421
|
+
className: classNames([styles$g.container, _defineProperty({}, className, className)])
|
|
422
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
423
|
+
className: styles$g.inner
|
|
424
|
+
}, /*#__PURE__*/React.createElement(Fields, {
|
|
425
|
+
fields: fields,
|
|
426
|
+
value: value,
|
|
427
|
+
onChange: onChange,
|
|
428
|
+
gotoFieldForm: gotoFieldForm,
|
|
429
|
+
closeFieldForm: closeFieldForm
|
|
430
|
+
})));
|
|
431
|
+
};
|
|
432
|
+
|
|
433
|
+
ScreenForm.propTypes = propTypes$m;
|
|
434
|
+
ScreenForm.defaultProps = defaultProps$m;
|
|
435
|
+
|
|
436
|
+
var styles$f = {"container":"micromag-editor-menus-breadcrumb-container"};
|
|
437
|
+
|
|
438
|
+
var propTypes$l = {
|
|
251
439
|
story: PropTypes$1.story,
|
|
252
440
|
screenId: PropTypes.string,
|
|
253
441
|
field: PropTypes.string,
|
|
@@ -255,7 +443,7 @@ var propTypes$m = {
|
|
|
255
443
|
url: PropTypes.string.isRequired,
|
|
256
444
|
className: PropTypes.string
|
|
257
445
|
};
|
|
258
|
-
var defaultProps$
|
|
446
|
+
var defaultProps$l = {
|
|
259
447
|
story: null,
|
|
260
448
|
screenId: null,
|
|
261
449
|
field: null,
|
|
@@ -279,44 +467,87 @@ var Breadcrumb = function Breadcrumb(_ref) {
|
|
|
279
467
|
var history = useHistory();
|
|
280
468
|
var screensManager = useScreensManager();
|
|
281
469
|
var fieldsManager = useFieldsManager();
|
|
282
|
-
var
|
|
470
|
+
var route = useUrlGenerator();
|
|
471
|
+
|
|
472
|
+
var _useMemo = useMemo(function () {
|
|
283
473
|
var screenIndex = screens.findIndex(function (it) {
|
|
284
474
|
return it.id === screenId;
|
|
285
475
|
});
|
|
286
476
|
|
|
287
477
|
if (!screens[screenIndex]) {
|
|
288
|
-
return
|
|
478
|
+
return {};
|
|
289
479
|
}
|
|
290
480
|
|
|
291
481
|
var type = screens[screenIndex].type;
|
|
482
|
+
var definition = screensManager.getDefinition(type);
|
|
483
|
+
var states = definition.states;
|
|
484
|
+
return {
|
|
485
|
+
fields: [].concat(_toConsumableArray(getScreenFieldsWithStates(definition)), [getScreenExtraField(intl)]),
|
|
486
|
+
states: states
|
|
487
|
+
};
|
|
488
|
+
}, [screens, screenId, screensManager, intl]),
|
|
489
|
+
_useMemo$fields = _useMemo.fields,
|
|
490
|
+
screenFields = _useMemo$fields === void 0 ? [] : _useMemo$fields,
|
|
491
|
+
_useMemo$states = _useMemo.states,
|
|
492
|
+
screenStates = _useMemo$states === void 0 ? null : _useMemo$states;
|
|
493
|
+
|
|
494
|
+
var items = useMemo(function () {
|
|
292
495
|
var fieldItems = [];
|
|
496
|
+
var currentState = null;
|
|
293
497
|
|
|
294
498
|
if (field !== null) {
|
|
295
|
-
var
|
|
296
|
-
|
|
297
|
-
|
|
499
|
+
var fieldPath = field.split('/'); // Get state and remove it from path. Replace it with field name if necessary (repeatable or fieldName present)
|
|
500
|
+
|
|
501
|
+
var _fieldPath = _slicedToArray(fieldPath, 1),
|
|
502
|
+
_fieldPath$ = _fieldPath[0],
|
|
503
|
+
stateId = _fieldPath$ === void 0 ? null : _fieldPath$;
|
|
504
|
+
|
|
505
|
+
currentState = screenStates !== null ? screenStates.find(function (_ref3) {
|
|
506
|
+
var id = _ref3.id;
|
|
507
|
+
return id === stateId;
|
|
508
|
+
}) || null : null;
|
|
509
|
+
var finalFieldPath = fieldPath;
|
|
510
|
+
|
|
511
|
+
if (currentState !== null) {
|
|
512
|
+
var _ref4 = currentState || {},
|
|
513
|
+
_ref4$repeatable = _ref4.repeatable,
|
|
514
|
+
repeatable = _ref4$repeatable === void 0 ? false : _ref4$repeatable,
|
|
515
|
+
_ref4$fieldName = _ref4.fieldName,
|
|
516
|
+
fieldName = _ref4$fieldName === void 0 ? null : _ref4$fieldName;
|
|
517
|
+
|
|
518
|
+
finalFieldPath = (repeatable || fieldName !== null) && fieldPath.length <= (repeatable ? 2 : 1) ? [fieldName || stateId].concat(_toConsumableArray(fieldPath.slice(1))) : fieldPath.slice(1);
|
|
519
|
+
}
|
|
298
520
|
|
|
299
|
-
var
|
|
300
|
-
var fieldPath = field.split('/');
|
|
301
|
-
var lastKeyIndex = fieldPath.length - 1;
|
|
521
|
+
var lastKeyIndex = finalFieldPath.length - 1;
|
|
302
522
|
var parentItem = null;
|
|
303
|
-
|
|
523
|
+
finalFieldPath.reduce(function (currentFields, key, keyIndex) {
|
|
304
524
|
var _currentFields$type = currentFields.type,
|
|
305
|
-
fieldType = _currentFields$type === void 0 ? null : _currentFields$type
|
|
525
|
+
fieldType = _currentFields$type === void 0 ? null : _currentFields$type,
|
|
526
|
+
_currentFields$fields = currentFields.fields,
|
|
527
|
+
currentSubFields = _currentFields$fields === void 0 ? null : _currentFields$fields,
|
|
528
|
+
_currentFields$itemsF = currentFields.itemsField,
|
|
529
|
+
currentItemsField = _currentFields$itemsF === void 0 ? null : _currentFields$itemsF;
|
|
306
530
|
var fieldsDef = fieldType !== null ? fieldsManager.getDefinition(fieldType) : currentFields;
|
|
307
531
|
var _fieldsDef$fields = fieldsDef.fields,
|
|
308
|
-
|
|
532
|
+
defSubFields = _fieldsDef$fields === void 0 ? null : _fieldsDef$fields,
|
|
309
533
|
_fieldsDef$settings = fieldsDef.settings,
|
|
310
534
|
settings = _fieldsDef$settings === void 0 ? null : _fieldsDef$settings,
|
|
311
535
|
_fieldsDef$itemsField = fieldsDef.itemsField,
|
|
312
|
-
|
|
536
|
+
defItemsField = _fieldsDef$itemsField === void 0 ? null : _fieldsDef$itemsField;
|
|
537
|
+
var itemsField = currentItemsField || defItemsField;
|
|
538
|
+
var subFields = currentSubFields || defSubFields;
|
|
313
539
|
var currentSubfields = subFields !== null ? getFieldByName(subFields, key) : null;
|
|
314
540
|
var currentSettings = settings !== null ? getFieldByName(settings, key) : null;
|
|
315
541
|
var isCurrentSubfields = currentSubfields !== null;
|
|
316
542
|
var isCurrentSettings = currentSettings !== null;
|
|
317
543
|
var isListItems = itemsField !== null && !!key.match(/^[0-9]+$/);
|
|
318
544
|
var isLastIndex = keyIndex === lastKeyIndex;
|
|
319
|
-
var pathPrefix =
|
|
545
|
+
var pathPrefix = route('screen.field', {
|
|
546
|
+
screen: screenId,
|
|
547
|
+
field: [currentState !== null ? currentState.id : null].concat(_toConsumableArray(finalFieldPath.slice(0, keyIndex + 1))).filter(function (it) {
|
|
548
|
+
return it !== null;
|
|
549
|
+
})
|
|
550
|
+
});
|
|
320
551
|
var pathSuffix = isLastIndex && form !== null ? "/".concat(form) : '';
|
|
321
552
|
var addNewItem = isLastIndex || isListItems;
|
|
322
553
|
var itemPath = "".concat(pathPrefix).concat(pathSuffix);
|
|
@@ -329,7 +560,13 @@ var Breadcrumb = function Breadcrumb(_ref) {
|
|
|
329
560
|
|
|
330
561
|
if (parentItem !== null) {
|
|
331
562
|
fieldItems.push(_objectSpread(_objectSpread({}, parentItem), {}, {
|
|
332
|
-
url:
|
|
563
|
+
url: route('screen.field.form', {
|
|
564
|
+
screen: screenId,
|
|
565
|
+
field: [currentState !== null ? currentState.id : null].concat(_toConsumableArray(finalFieldPath.slice(0, keyIndex))).filter(function (it) {
|
|
566
|
+
return it !== null;
|
|
567
|
+
}),
|
|
568
|
+
form: 'settings'
|
|
569
|
+
})
|
|
333
570
|
}));
|
|
334
571
|
}
|
|
335
572
|
} else if (isListItems) {
|
|
@@ -339,9 +576,9 @@ var Breadcrumb = function Breadcrumb(_ref) {
|
|
|
339
576
|
var fieldLabel = nextFields ? nextFields.breadcrumbLabel || nextFields.label : null;
|
|
340
577
|
var itemLabel = isMessage(fieldLabel) ? intl.formatMessage(fieldLabel) : fieldLabel;
|
|
341
578
|
|
|
342
|
-
var
|
|
343
|
-
|
|
344
|
-
parentItemLabel =
|
|
579
|
+
var _ref5 = parentItem || {},
|
|
580
|
+
_ref5$label = _ref5.label,
|
|
581
|
+
parentItemLabel = _ref5$label === void 0 ? null : _ref5$label;
|
|
345
582
|
|
|
346
583
|
var finalItemLabel = isListItems ? "".concat(itemLabel, " #").concat(parseInt(key, 10) + 1) : itemLabel || parentItemLabel;
|
|
347
584
|
var item = {
|
|
@@ -357,21 +594,26 @@ var Breadcrumb = function Breadcrumb(_ref) {
|
|
|
357
594
|
parentItem = item;
|
|
358
595
|
return nextFields;
|
|
359
596
|
}, {
|
|
360
|
-
fields:
|
|
597
|
+
fields: screenFields
|
|
361
598
|
});
|
|
362
599
|
}
|
|
363
600
|
|
|
364
|
-
var finalItems = [{
|
|
365
|
-
label: intl.formatMessage({
|
|
601
|
+
var finalItems = [currentState === null || (currentState.repeatable || false) === false ? {
|
|
602
|
+
label: currentState !== null ? currentState.label : intl.formatMessage({
|
|
366
603
|
id: "AHvHaY",
|
|
367
604
|
defaultMessage: [{
|
|
368
605
|
"type": 0,
|
|
369
606
|
"value": "Parameters"
|
|
370
607
|
}]
|
|
371
608
|
}),
|
|
372
|
-
url:
|
|
609
|
+
url: currentState !== null ? route('screen.field', {
|
|
610
|
+
screen: screenId,
|
|
611
|
+
field: currentState.id
|
|
612
|
+
}) : route('screen', {
|
|
613
|
+
screen: screenId
|
|
614
|
+
}),
|
|
373
615
|
active: false
|
|
374
|
-
}].concat(fieldItems).filter(function (it) {
|
|
616
|
+
} : null].concat(fieldItems).filter(function (it) {
|
|
375
617
|
return it !== null;
|
|
376
618
|
});
|
|
377
619
|
var lastItemsIndex = finalItems.length - 1;
|
|
@@ -381,7 +623,7 @@ var Breadcrumb = function Breadcrumb(_ref) {
|
|
|
381
623
|
active: true
|
|
382
624
|
}) : it;
|
|
383
625
|
});
|
|
384
|
-
}, [intl,
|
|
626
|
+
}, [intl, route, screenId, field, form, url, screenFields, screenStates, fieldsManager]);
|
|
385
627
|
var itemsLength = items.length;
|
|
386
628
|
var onClickBack = useCallback(function () {
|
|
387
629
|
history.push(items[itemsLength - 2].url);
|
|
@@ -389,110 +631,27 @@ var Breadcrumb = function Breadcrumb(_ref) {
|
|
|
389
631
|
var withBack = itemsLength > 1;
|
|
390
632
|
return /*#__PURE__*/React.createElement(React.Fragment, null, withBack ? /*#__PURE__*/React.createElement(BackButton, {
|
|
391
633
|
onClick: onClickBack,
|
|
392
|
-
className: "
|
|
634
|
+
className: "me-2 py-0"
|
|
393
635
|
}) : null, /*#__PURE__*/React.createElement(Breadcrumb$1, {
|
|
394
636
|
items: items,
|
|
395
637
|
theme: "secondary",
|
|
396
638
|
withoutBar: true,
|
|
397
639
|
noWrap: true,
|
|
398
|
-
className: classNames([styles$
|
|
640
|
+
className: classNames([styles$f.container, 'text-truncate', _defineProperty({}, className, className !== null)])
|
|
399
641
|
}));
|
|
400
642
|
};
|
|
401
643
|
|
|
402
|
-
Breadcrumb.propTypes = propTypes$
|
|
403
|
-
Breadcrumb.defaultProps = defaultProps$
|
|
404
|
-
|
|
405
|
-
var styles$f = {"container":"micromag-editor-forms-screen-container","inner":"micromag-editor-forms-screen-inner"};
|
|
406
|
-
|
|
407
|
-
var propTypes$l = {
|
|
408
|
-
value: PropTypes$1.component,
|
|
409
|
-
className: PropTypes.string,
|
|
410
|
-
gotoFieldForm: PropTypes.func.isRequired,
|
|
411
|
-
closeFieldForm: PropTypes.func.isRequired,
|
|
412
|
-
onChange: PropTypes.func // onClickDelete: PropTypes.func,
|
|
413
|
-
|
|
414
|
-
};
|
|
415
|
-
var defaultProps$l = {
|
|
416
|
-
value: null,
|
|
417
|
-
className: null,
|
|
418
|
-
onChange: null // onClickDelete: null,
|
|
419
|
-
|
|
420
|
-
};
|
|
421
|
-
|
|
422
|
-
var ScreenForm = function ScreenForm(_ref) {
|
|
423
|
-
var value = _ref.value,
|
|
424
|
-
className = _ref.className,
|
|
425
|
-
gotoFieldForm = _ref.gotoFieldForm,
|
|
426
|
-
closeFieldForm = _ref.closeFieldForm,
|
|
427
|
-
onChange = _ref.onChange;
|
|
428
|
-
|
|
429
|
-
var _useScreenDefinition = useScreenDefinition(),
|
|
430
|
-
_useScreenDefinition$ = _useScreenDefinition.fields,
|
|
431
|
-
fields = _useScreenDefinition$ === void 0 ? [] : _useScreenDefinition$; // const intl = useIntl();
|
|
432
|
-
// const finalOnClickDelete = useCallback(() => {
|
|
433
|
-
// if (
|
|
434
|
-
// onClickDelete !== null &&
|
|
435
|
-
// window.confirm(
|
|
436
|
-
// intl.formatMessage({
|
|
437
|
-
// defaultMessage: 'Are you sure you want to delete this screen?',
|
|
438
|
-
// description: 'Confirm message when deleting a screen',
|
|
439
|
-
// }),
|
|
440
|
-
// )
|
|
441
|
-
// ) {
|
|
442
|
-
// onClickDelete(value);
|
|
443
|
-
// }
|
|
444
|
-
// }, [intl, onClickDelete, value]);
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
448
|
-
className: classNames([styles$f.container, _defineProperty({}, className, className)])
|
|
449
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
450
|
-
className: styles$f.inner
|
|
451
|
-
}, /*#__PURE__*/React.createElement(Fields, {
|
|
452
|
-
fields: fields,
|
|
453
|
-
value: value,
|
|
454
|
-
onChange: onChange,
|
|
455
|
-
gotoFieldForm: gotoFieldForm,
|
|
456
|
-
closeFieldForm: closeFieldForm
|
|
457
|
-
})));
|
|
458
|
-
};
|
|
459
|
-
|
|
460
|
-
ScreenForm.propTypes = propTypes$l;
|
|
461
|
-
ScreenForm.defaultProps = defaultProps$l;
|
|
462
|
-
|
|
463
|
-
/* eslint-disable react/jsx-props-no-spreading */
|
|
464
|
-
var propTypes$k = {
|
|
465
|
-
children: PropTypes.node
|
|
466
|
-
};
|
|
467
|
-
var defaultProps$k = {
|
|
468
|
-
children: null
|
|
469
|
-
};
|
|
470
|
-
|
|
471
|
-
var FieldWithContexts = function FieldWithContexts(props) {
|
|
472
|
-
// Get definitions
|
|
473
|
-
var _useScreenDefinition = useScreenDefinition(),
|
|
474
|
-
_useScreenDefinition$ = _useScreenDefinition.fields,
|
|
475
|
-
fields = _useScreenDefinition$ === void 0 ? [] : _useScreenDefinition$; // To use a specific form component
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
var formComponents = useFormsComponents();
|
|
479
|
-
return /*#__PURE__*/React.createElement(FieldForm, Object.assign({
|
|
480
|
-
fields: fields,
|
|
481
|
-
formComponents: formComponents
|
|
482
|
-
}, props));
|
|
483
|
-
};
|
|
484
|
-
|
|
485
|
-
FieldWithContexts.propTypes = propTypes$k;
|
|
486
|
-
FieldWithContexts.defaultProps = defaultProps$k;
|
|
644
|
+
Breadcrumb.propTypes = propTypes$l;
|
|
645
|
+
Breadcrumb.defaultProps = defaultProps$l;
|
|
487
646
|
|
|
488
647
|
var styles$e = {"container":"micromag-editor-modals-delete-screen-container","description":"micromag-editor-modals-delete-screen-description","actions":"micromag-editor-modals-delete-screen-actions"};
|
|
489
648
|
|
|
490
|
-
var propTypes$
|
|
649
|
+
var propTypes$k = {
|
|
491
650
|
className: PropTypes.string,
|
|
492
651
|
onConfirm: PropTypes.func,
|
|
493
652
|
onCancel: PropTypes.func
|
|
494
653
|
};
|
|
495
|
-
var defaultProps$
|
|
654
|
+
var defaultProps$k = {
|
|
496
655
|
className: null,
|
|
497
656
|
onConfirm: null,
|
|
498
657
|
onCancel: null
|
|
@@ -524,7 +683,7 @@ var DeleteScreenModal = function DeleteScreenModal(_ref) {
|
|
|
524
683
|
className: styles$e.actions
|
|
525
684
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
526
685
|
onClick: onCancel,
|
|
527
|
-
className: "btn-outline-secondary
|
|
686
|
+
className: "btn-outline-secondary me-2"
|
|
528
687
|
}, /*#__PURE__*/React.createElement(Label, null, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
529
688
|
id: "0GT0SI",
|
|
530
689
|
defaultMessage: [{
|
|
@@ -544,18 +703,16 @@ var DeleteScreenModal = function DeleteScreenModal(_ref) {
|
|
|
544
703
|
}))));
|
|
545
704
|
};
|
|
546
705
|
|
|
547
|
-
DeleteScreenModal.propTypes = propTypes$
|
|
548
|
-
DeleteScreenModal.defaultProps = defaultProps$
|
|
706
|
+
DeleteScreenModal.propTypes = propTypes$k;
|
|
707
|
+
DeleteScreenModal.defaultProps = defaultProps$k;
|
|
549
708
|
|
|
550
|
-
var
|
|
551
|
-
|
|
552
|
-
var propTypes$i = {
|
|
709
|
+
var propTypes$j = {
|
|
553
710
|
value: PropTypes.oneOfType([PropTypes$1.story, PropTypes$1.theme]),
|
|
554
711
|
isTheme: PropTypes.bool,
|
|
555
712
|
className: PropTypes.string,
|
|
556
713
|
onChange: PropTypes.func
|
|
557
714
|
};
|
|
558
|
-
var defaultProps$
|
|
715
|
+
var defaultProps$j = {
|
|
559
716
|
value: null,
|
|
560
717
|
isTheme: false,
|
|
561
718
|
className: null,
|
|
@@ -588,10 +745,18 @@ var EditForm = function EditForm(_ref) {
|
|
|
588
745
|
var screenIndex = screens.findIndex(function (it) {
|
|
589
746
|
return it.id === screenId;
|
|
590
747
|
});
|
|
591
|
-
var screen = screenIndex !== -1 ? screens[screenIndex] : null;
|
|
748
|
+
var screen = screenIndex !== -1 ? screens[screenIndex] : null;
|
|
749
|
+
var screensManager = useScreensManager();
|
|
750
|
+
var screenFields = useMemo(function () {
|
|
751
|
+
var _ref3 = screen || {},
|
|
752
|
+
type = _ref3.type;
|
|
592
753
|
|
|
593
|
-
|
|
594
|
-
|
|
754
|
+
var definition = type !== null ? screensManager.getDefinition(type) : null;
|
|
755
|
+
return definition != null ? getScreenFieldsWithStates(definition) : [];
|
|
756
|
+
}, [screensManager, screen]); // Get transition value
|
|
757
|
+
|
|
758
|
+
var _useFormTransition = useFormTransition(url, screenIndex, styles$h),
|
|
759
|
+
transitionClassNames = _useFormTransition.classNames,
|
|
595
760
|
transitionTimeout = _useFormTransition.timeout;
|
|
596
761
|
|
|
597
762
|
var _useState = useState(false),
|
|
@@ -621,14 +786,29 @@ var EditForm = function EditForm(_ref) {
|
|
|
621
786
|
var context = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
622
787
|
var hasField = field !== null;
|
|
623
788
|
var fieldRoute = formName !== null ? 'screen.field.form' : 'screen.field';
|
|
789
|
+
|
|
790
|
+
var _ref4 = field !== null ? field.split('.') : [],
|
|
791
|
+
_ref5 = _slicedToArray(_ref4, 1),
|
|
792
|
+
_ref5$ = _ref5[0],
|
|
793
|
+
rootFieldName = _ref5$ === void 0 ? null : _ref5$;
|
|
794
|
+
|
|
795
|
+
var _ref6 = (rootFieldName !== null ? screenFields.find(function (_ref7) {
|
|
796
|
+
var name = _ref7.name;
|
|
797
|
+
return name === rootFieldName;
|
|
798
|
+
}) || null : null) || {},
|
|
799
|
+
_ref6$stateId = _ref6.stateId,
|
|
800
|
+
stateId = _ref6$stateId === void 0 ? null : _ref6$stateId;
|
|
801
|
+
|
|
624
802
|
routePush(hasField ? fieldRoute : 'screen', {
|
|
625
803
|
screen: screenId,
|
|
626
|
-
field: field !== null ? field.split('.')
|
|
804
|
+
field: field !== null ? [stateId].concat(_toConsumableArray(field.split('.'))).filter(function (it) {
|
|
805
|
+
return it !== null;
|
|
806
|
+
}) : null,
|
|
627
807
|
form: formName !== null ? slug(formName) : null
|
|
628
808
|
});
|
|
629
809
|
setFieldForms(_objectSpread(_objectSpread({}, fieldForms), {}, _defineProperty({}, "".concat(field).concat(formName !== null ? ":".concat(formName) : ''), url)));
|
|
630
810
|
setFieldContext(context);
|
|
631
|
-
}, [routePush, screenId, url, fieldForms, setFieldForms, fieldContext, setFieldContext]);
|
|
811
|
+
}, [routePush, screenId, screenFields, url, fieldForms, setFieldForms, fieldContext, setFieldContext]);
|
|
632
812
|
var closeFieldForm = useCallback(function (field) {
|
|
633
813
|
var formName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
634
814
|
var fieldKey = "".concat(field).concat(formName !== null ? ":".concat(formName) : '');
|
|
@@ -676,7 +856,6 @@ var EditForm = function EditForm(_ref) {
|
|
|
676
856
|
var dropdownItems = [!isTheme ? {
|
|
677
857
|
id: 'duplicate',
|
|
678
858
|
type: 'button',
|
|
679
|
-
className: 'text-left text-info',
|
|
680
859
|
label: /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
681
860
|
id: "IBjY5r",
|
|
682
861
|
defaultMessage: [{
|
|
@@ -688,7 +867,6 @@ var EditForm = function EditForm(_ref) {
|
|
|
688
867
|
} : null, {
|
|
689
868
|
id: 'delete',
|
|
690
869
|
type: 'button',
|
|
691
|
-
className: 'text-left text-danger',
|
|
692
870
|
label: /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
693
871
|
id: "hpiKce",
|
|
694
872
|
defaultMessage: [{
|
|
@@ -706,54 +884,67 @@ var EditForm = function EditForm(_ref) {
|
|
|
706
884
|
compact: true,
|
|
707
885
|
noWrap: true,
|
|
708
886
|
withoutCollapse: true,
|
|
709
|
-
className: classNames(['sticky-top', 'border-bottom', 'border-dark', styles$
|
|
887
|
+
className: classNames(['sticky-top', 'border-bottom', 'border-dark', styles$h.navbar])
|
|
710
888
|
}, /*#__PURE__*/React.createElement(Breadcrumb, {
|
|
711
889
|
story: value,
|
|
712
890
|
url: url,
|
|
713
891
|
screenId: screenId,
|
|
714
892
|
field: fieldParams,
|
|
715
893
|
form: formParams,
|
|
716
|
-
className: "
|
|
717
|
-
}), fieldParams === null ? /*#__PURE__*/React.createElement(
|
|
718
|
-
|
|
894
|
+
className: "me-auto"
|
|
895
|
+
}), fieldParams === null ? /*#__PURE__*/React.createElement("div", {
|
|
896
|
+
className: "dropdown"
|
|
897
|
+
}, /*#__PURE__*/React.createElement(SettingsButton, {
|
|
898
|
+
onClick: onSettingsClick,
|
|
899
|
+
dots: true,
|
|
900
|
+
className: "py-0",
|
|
901
|
+
theme: "default"
|
|
719
902
|
}), /*#__PURE__*/React.createElement(DropdownMenu, {
|
|
903
|
+
align: "end",
|
|
720
904
|
items: dropdownItems,
|
|
721
905
|
visible: screenSettingsOpened,
|
|
722
|
-
align: "right",
|
|
723
906
|
onClickOutside: onDropdownClickOutside
|
|
724
907
|
})) : null) : null, /*#__PURE__*/React.createElement("div", {
|
|
725
|
-
className: classNames(['flex-grow-1', 'd-flex', 'w-100', styles$
|
|
726
|
-
}, screen !== null ? /*#__PURE__*/React.createElement(
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
908
|
+
className: classNames(['flex-grow-1', 'd-flex', 'w-100', styles$h.content])
|
|
909
|
+
}, screen !== null ? /*#__PURE__*/React.createElement(TransitionGroup, {
|
|
910
|
+
className: "w-100 flex-grow-1",
|
|
911
|
+
childFactory: function childFactory(child) {
|
|
912
|
+
return /*#__PURE__*/React.cloneElement(child, {
|
|
913
|
+
classNames: transitionClassNames
|
|
914
|
+
});
|
|
915
|
+
}
|
|
916
|
+
}, fieldParams !== null ? /*#__PURE__*/React.createElement(CSSTransition, {
|
|
917
|
+
timeout: transitionTimeout,
|
|
733
918
|
key: "field-".concat(fieldParams, "-").concat(formParams)
|
|
919
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
920
|
+
className: classNames(['w-100', styles$h.panel])
|
|
734
921
|
}, /*#__PURE__*/React.createElement(ScreenProvider, {
|
|
735
922
|
data: screen
|
|
736
923
|
}, /*#__PURE__*/React.createElement(FieldWithContexts, {
|
|
737
924
|
name: fieldParams.replace(/\//g, '.'),
|
|
738
925
|
value: screen,
|
|
739
926
|
form: formParams,
|
|
740
|
-
className: styles$
|
|
927
|
+
className: styles$h.form,
|
|
741
928
|
gotoFieldForm: gotoFieldForm,
|
|
742
929
|
closeFieldForm: closeFieldForm,
|
|
743
930
|
fieldContext: fieldContext,
|
|
744
931
|
onChange: onScreenFormChange
|
|
745
|
-
}))) : /*#__PURE__*/React.createElement(
|
|
746
|
-
|
|
932
|
+
})))) : /*#__PURE__*/React.createElement(CSSTransition, {
|
|
933
|
+
classNames: transitionClassNames,
|
|
934
|
+
timeout: transitionTimeout,
|
|
935
|
+
key: "screen-".concat(screen.id)
|
|
936
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
937
|
+
className: classNames(['w-100', styles$h.panel]),
|
|
747
938
|
key: "screen-".concat(screen.id)
|
|
748
939
|
}, /*#__PURE__*/React.createElement(ScreenProvider, {
|
|
749
940
|
data: screen
|
|
750
941
|
}, /*#__PURE__*/React.createElement(ScreenForm, {
|
|
751
942
|
value: screen,
|
|
752
|
-
className: styles$
|
|
943
|
+
className: styles$h.form,
|
|
753
944
|
onChange: onScreenFormChange,
|
|
754
945
|
gotoFieldForm: gotoFieldForm,
|
|
755
946
|
closeFieldForm: closeFieldForm
|
|
756
|
-
})))) : /*#__PURE__*/React.createElement(Empty, {
|
|
947
|
+
}))))) : /*#__PURE__*/React.createElement(Empty, {
|
|
757
948
|
className: "w-100 m-2"
|
|
758
949
|
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
759
950
|
id: "QfpTKK",
|
|
@@ -768,8 +959,25 @@ var EditForm = function EditForm(_ref) {
|
|
|
768
959
|
}) : null);
|
|
769
960
|
};
|
|
770
961
|
|
|
771
|
-
EditForm.propTypes = propTypes$
|
|
772
|
-
EditForm.defaultProps = defaultProps$
|
|
962
|
+
EditForm.propTypes = propTypes$j;
|
|
963
|
+
EditForm.defaultProps = defaultProps$j;
|
|
964
|
+
|
|
965
|
+
function useScreenStates(screen) {
|
|
966
|
+
var _ref = screen || {},
|
|
967
|
+
type = _ref.type;
|
|
968
|
+
|
|
969
|
+
var screensManager = useScreensManager();
|
|
970
|
+
var states = useMemo(function () {
|
|
971
|
+
var definition = screensManager.getDefinition(type) || null;
|
|
972
|
+
|
|
973
|
+
var _ref2 = definition || {},
|
|
974
|
+
_ref2$states = _ref2.states,
|
|
975
|
+
screenStates = _ref2$states === void 0 ? null : _ref2$states;
|
|
976
|
+
|
|
977
|
+
return screenStates;
|
|
978
|
+
}, [screensManager, type]);
|
|
979
|
+
return states;
|
|
980
|
+
}
|
|
773
981
|
|
|
774
982
|
var _excluded$7 = ["components"];
|
|
775
983
|
|
|
@@ -791,14 +999,16 @@ var useThemeValue = function useThemeValue(value) {
|
|
|
791
999
|
return valueWithTheme;
|
|
792
1000
|
};
|
|
793
1001
|
|
|
1002
|
+
var styles$d = {"container":"micromag-editor-preview-container","noStory":"micromag-editor-preview-noStory","story":"micromag-editor-preview-story","inner":"micromag-editor-preview-inner","top":"micromag-editor-preview-top","bottom":"micromag-editor-preview-bottom","preview":"micromag-editor-preview-preview","viewerContainer":"micromag-editor-preview-viewerContainer","screen-medium":"micromag-editor-preview-screen-medium"};
|
|
1003
|
+
|
|
794
1004
|
var styles$c = {"container":"micromag-editor-menus-devices-container","button":"micromag-editor-menus-devices-button"};
|
|
795
1005
|
|
|
796
1006
|
/* eslint-disable react/button-has-type, react/jsx-props-no-spreading */
|
|
797
|
-
var propTypes$
|
|
1007
|
+
var propTypes$i = {
|
|
798
1008
|
color: PropTypes.string,
|
|
799
1009
|
className: PropTypes.string
|
|
800
1010
|
};
|
|
801
|
-
var defaultProps$
|
|
1011
|
+
var defaultProps$i = {
|
|
802
1012
|
color: 'currentColor',
|
|
803
1013
|
className: null
|
|
804
1014
|
};
|
|
@@ -823,15 +1033,15 @@ var DesktopIcon = function DesktopIcon(_ref) {
|
|
|
823
1033
|
}));
|
|
824
1034
|
};
|
|
825
1035
|
|
|
826
|
-
DesktopIcon.propTypes = propTypes$
|
|
827
|
-
DesktopIcon.defaultProps = defaultProps$
|
|
1036
|
+
DesktopIcon.propTypes = propTypes$i;
|
|
1037
|
+
DesktopIcon.defaultProps = defaultProps$i;
|
|
828
1038
|
|
|
829
1039
|
/* eslint-disable react/button-has-type, react/jsx-props-no-spreading */
|
|
830
|
-
var propTypes$
|
|
1040
|
+
var propTypes$h = {
|
|
831
1041
|
color: PropTypes.string,
|
|
832
1042
|
className: PropTypes.string
|
|
833
1043
|
};
|
|
834
|
-
var defaultProps$
|
|
1044
|
+
var defaultProps$h = {
|
|
835
1045
|
color: 'currentColor',
|
|
836
1046
|
className: null
|
|
837
1047
|
};
|
|
@@ -856,8 +1066,8 @@ var MobileIcon = function MobileIcon(_ref) {
|
|
|
856
1066
|
}));
|
|
857
1067
|
};
|
|
858
1068
|
|
|
859
|
-
MobileIcon.propTypes = propTypes$
|
|
860
|
-
MobileIcon.defaultProps = defaultProps$
|
|
1069
|
+
MobileIcon.propTypes = propTypes$h;
|
|
1070
|
+
MobileIcon.defaultProps = defaultProps$h;
|
|
861
1071
|
|
|
862
1072
|
var DeviceIcons = /*#__PURE__*/Object.freeze({
|
|
863
1073
|
__proto__: null,
|
|
@@ -868,12 +1078,12 @@ var DeviceIcons = /*#__PURE__*/Object.freeze({
|
|
|
868
1078
|
var styles$b = {"container":"micromag-editor-buttons-device-container","icon":"micromag-editor-buttons-device-icon"};
|
|
869
1079
|
|
|
870
1080
|
var _excluded$6 = ["device", "className", "iconComponents"];
|
|
871
|
-
var propTypes$
|
|
1081
|
+
var propTypes$g = {
|
|
872
1082
|
device: PropTypes.string.isRequired,
|
|
873
1083
|
iconComponents: PropTypes$1.components,
|
|
874
1084
|
className: PropTypes.string
|
|
875
1085
|
};
|
|
876
|
-
var defaultProps$
|
|
1086
|
+
var defaultProps$g = {
|
|
877
1087
|
iconComponents: DeviceIcons,
|
|
878
1088
|
className: null
|
|
879
1089
|
};
|
|
@@ -892,51 +1102,391 @@ var DeviceButton = function DeviceButton(_ref) {
|
|
|
892
1102
|
}));
|
|
893
1103
|
};
|
|
894
1104
|
|
|
895
|
-
DeviceButton.propTypes = propTypes$
|
|
896
|
-
DeviceButton.defaultProps = defaultProps$
|
|
1105
|
+
DeviceButton.propTypes = propTypes$g;
|
|
1106
|
+
DeviceButton.defaultProps = defaultProps$g;
|
|
897
1107
|
|
|
898
1108
|
var _excluded$5 = ["id"];
|
|
899
|
-
var propTypes$
|
|
1109
|
+
var propTypes$f = {
|
|
900
1110
|
items: PropTypes$1.menuItems,
|
|
901
1111
|
className: PropTypes.string,
|
|
902
1112
|
onClickItem: PropTypes.func
|
|
903
1113
|
};
|
|
904
|
-
var defaultProps$
|
|
1114
|
+
var defaultProps$f = {
|
|
905
1115
|
items: [],
|
|
906
1116
|
className: null,
|
|
907
1117
|
onClickItem: null
|
|
908
1118
|
};
|
|
909
1119
|
|
|
910
|
-
var DevicesMenu = function DevicesMenu(_ref) {
|
|
911
|
-
var items = _ref.items,
|
|
912
|
-
className = _ref.className,
|
|
913
|
-
onClickItem = _ref.onClickItem;
|
|
914
|
-
return /*#__PURE__*/React.createElement(Tabs, {
|
|
915
|
-
items: items,
|
|
916
|
-
theme: "outline-secondary",
|
|
917
|
-
className: classNames([styles$c.container, _defineProperty({}, className, className !== null)]),
|
|
918
|
-
renderItemButton: function renderItemButton(item, index, props) {
|
|
919
|
-
var id = item.id,
|
|
920
|
-
itemProps = _objectWithoutProperties(item, _excluded$5);
|
|
1120
|
+
var DevicesMenu = function DevicesMenu(_ref) {
|
|
1121
|
+
var items = _ref.items,
|
|
1122
|
+
className = _ref.className,
|
|
1123
|
+
onClickItem = _ref.onClickItem;
|
|
1124
|
+
return /*#__PURE__*/React.createElement(Tabs, {
|
|
1125
|
+
items: items,
|
|
1126
|
+
theme: "outline-secondary",
|
|
1127
|
+
className: classNames([styles$c.container, _defineProperty({}, className, className !== null)]),
|
|
1128
|
+
renderItemButton: function renderItemButton(item, index, props) {
|
|
1129
|
+
var id = item.id,
|
|
1130
|
+
itemProps = _objectWithoutProperties(item, _excluded$5);
|
|
1131
|
+
|
|
1132
|
+
return /*#__PURE__*/React.createElement(DeviceButton, Object.assign({
|
|
1133
|
+
device: id
|
|
1134
|
+
}, props, itemProps, {
|
|
1135
|
+
className: styles$c.button,
|
|
1136
|
+
onClick: function onClick(e) {
|
|
1137
|
+
return onClickItem !== null ? onClickItem(e, item, index) : null;
|
|
1138
|
+
}
|
|
1139
|
+
}));
|
|
1140
|
+
}
|
|
1141
|
+
});
|
|
1142
|
+
};
|
|
1143
|
+
|
|
1144
|
+
DevicesMenu.propTypes = propTypes$f;
|
|
1145
|
+
DevicesMenu.defaultProps = defaultProps$f;
|
|
1146
|
+
|
|
1147
|
+
var styles$a = {"button":"micromag-editor-partials-screen-states-button","addButton":"micromag-editor-partials-screen-states-addButton","title":"micromag-editor-partials-screen-states-title"};
|
|
1148
|
+
|
|
1149
|
+
var styles$9 = {"button":"micromag-editor-buttons-screen-with-preview-button","placeholder":"micromag-editor-buttons-screen-with-preview-placeholder","preview":"micromag-editor-buttons-screen-with-preview-preview","screen":"micromag-editor-buttons-screen-with-preview-screen","frame":"micromag-editor-buttons-screen-with-preview-frame"};
|
|
1150
|
+
|
|
1151
|
+
var styles$8 = {"container":"micromag-editor-buttons-screen-container","button":"micromag-editor-buttons-screen-button","border":"micromag-editor-buttons-screen-border","screen":"micromag-editor-buttons-screen-screen","inner":"micromag-editor-buttons-screen-inner","icon":"micromag-editor-buttons-screen-icon","label":"micromag-editor-buttons-screen-label","active":"micromag-editor-buttons-screen-active"};
|
|
1152
|
+
|
|
1153
|
+
var propTypes$e = {
|
|
1154
|
+
active: PropTypes.bool,
|
|
1155
|
+
id: PropTypes.string,
|
|
1156
|
+
href: PropTypes.string,
|
|
1157
|
+
label: PropTypes$1.label,
|
|
1158
|
+
icon: PropTypes.node,
|
|
1159
|
+
title: PropTypes.string,
|
|
1160
|
+
onClick: PropTypes.func,
|
|
1161
|
+
children: PropTypes.node,
|
|
1162
|
+
refButton: PropTypes.shape({
|
|
1163
|
+
current: PropTypes.any // eslint-disable-line
|
|
1164
|
+
|
|
1165
|
+
}),
|
|
1166
|
+
className: PropTypes.string
|
|
1167
|
+
};
|
|
1168
|
+
var defaultProps$e = {
|
|
1169
|
+
active: false,
|
|
1170
|
+
id: null,
|
|
1171
|
+
href: null,
|
|
1172
|
+
label: null,
|
|
1173
|
+
icon: null,
|
|
1174
|
+
title: null,
|
|
1175
|
+
onClick: null,
|
|
1176
|
+
children: null,
|
|
1177
|
+
refButton: null,
|
|
1178
|
+
className: null
|
|
1179
|
+
};
|
|
1180
|
+
|
|
1181
|
+
var ScreenButton = function ScreenButton(_ref) {
|
|
1182
|
+
var _ref2;
|
|
1183
|
+
|
|
1184
|
+
var active = _ref.active,
|
|
1185
|
+
id = _ref.id,
|
|
1186
|
+
href = _ref.href,
|
|
1187
|
+
className = _ref.className,
|
|
1188
|
+
label = _ref.label,
|
|
1189
|
+
icon = _ref.icon,
|
|
1190
|
+
children = _ref.children,
|
|
1191
|
+
title = _ref.title,
|
|
1192
|
+
onClick = _ref.onClick,
|
|
1193
|
+
refButton = _ref.refButton;
|
|
1194
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
1195
|
+
className: classNames([styles$8.container, 'rounded', (_ref2 = {}, _defineProperty(_ref2, styles$8.active, active), _defineProperty(_ref2, className, className !== null), _ref2)])
|
|
1196
|
+
}, children !== null ? children : /*#__PURE__*/React.createElement("div", {
|
|
1197
|
+
className: styles$8.screen
|
|
1198
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1199
|
+
className: styles$8.inner
|
|
1200
|
+
}, icon !== null ? /*#__PURE__*/React.createElement("div", {
|
|
1201
|
+
className: styles$8.icon
|
|
1202
|
+
}, icon) : null, label !== null ? /*#__PURE__*/React.createElement("div", {
|
|
1203
|
+
className: styles$8.label
|
|
1204
|
+
}, label) : null)), /*#__PURE__*/React.createElement(Button, {
|
|
1205
|
+
className: styles$8.button,
|
|
1206
|
+
withoutStyle: true,
|
|
1207
|
+
id: id,
|
|
1208
|
+
href: href,
|
|
1209
|
+
title: title,
|
|
1210
|
+
onClick: onClick,
|
|
1211
|
+
refButton: refButton
|
|
1212
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
1213
|
+
className: classNames([styles$8.border, 'rounded'])
|
|
1214
|
+
})));
|
|
1215
|
+
};
|
|
1216
|
+
|
|
1217
|
+
ScreenButton.propTypes = propTypes$e;
|
|
1218
|
+
ScreenButton.defaultProps = defaultProps$e;
|
|
1219
|
+
var ScreenButton$1 = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
1220
|
+
return /*#__PURE__*/React.createElement(ScreenButton, Object.assign({}, props, {
|
|
1221
|
+
refButton: ref
|
|
1222
|
+
}));
|
|
1223
|
+
});
|
|
1224
|
+
|
|
1225
|
+
var propTypes$d = {
|
|
1226
|
+
screen: PropTypes$1.screenComponent,
|
|
1227
|
+
screenState: PropTypes.string,
|
|
1228
|
+
index: PropTypes.number.isRequired,
|
|
1229
|
+
href: PropTypes.string,
|
|
1230
|
+
title: PropTypes.string,
|
|
1231
|
+
active: PropTypes.bool,
|
|
1232
|
+
previewWidth: PropTypes.number,
|
|
1233
|
+
previewHeight: PropTypes.number,
|
|
1234
|
+
withPreview: PropTypes.bool,
|
|
1235
|
+
withPlaceholder: PropTypes.bool,
|
|
1236
|
+
onClick: PropTypes.func,
|
|
1237
|
+
onClickItem: PropTypes.func,
|
|
1238
|
+
className: PropTypes.string
|
|
1239
|
+
};
|
|
1240
|
+
var defaultProps$d = {
|
|
1241
|
+
screen: null,
|
|
1242
|
+
screenState: null,
|
|
1243
|
+
title: null,
|
|
1244
|
+
href: null,
|
|
1245
|
+
active: false,
|
|
1246
|
+
previewWidth: 320,
|
|
1247
|
+
previewHeight: 480,
|
|
1248
|
+
withPreview: true,
|
|
1249
|
+
withPlaceholder: false,
|
|
1250
|
+
onClick: null,
|
|
1251
|
+
onClickItem: null,
|
|
1252
|
+
className: null
|
|
1253
|
+
};
|
|
1254
|
+
|
|
1255
|
+
var ScreenWithPreview = function ScreenWithPreview(_ref) {
|
|
1256
|
+
var _classNames;
|
|
1257
|
+
|
|
1258
|
+
var screen = _ref.screen,
|
|
1259
|
+
screenState = _ref.screenState,
|
|
1260
|
+
index = _ref.index,
|
|
1261
|
+
title = _ref.title,
|
|
1262
|
+
href = _ref.href,
|
|
1263
|
+
active = _ref.active,
|
|
1264
|
+
className = _ref.className,
|
|
1265
|
+
previewWidth = _ref.previewWidth,
|
|
1266
|
+
previewHeight = _ref.previewHeight,
|
|
1267
|
+
_onClick = _ref.onClick,
|
|
1268
|
+
onClickItem = _ref.onClickItem,
|
|
1269
|
+
withPreview = _ref.withPreview,
|
|
1270
|
+
withPlaceholder = _ref.withPlaceholder;
|
|
1271
|
+
var intl = useIntl();
|
|
1272
|
+
|
|
1273
|
+
var _useResizeObserver = useResizeObserver(),
|
|
1274
|
+
refResize = _useResizeObserver.ref,
|
|
1275
|
+
contentRect = _useResizeObserver.entry.contentRect;
|
|
1276
|
+
|
|
1277
|
+
var _useMemo = useMemo(function () {
|
|
1278
|
+
var _ref2 = contentRect || {},
|
|
1279
|
+
_ref2$width = _ref2.width,
|
|
1280
|
+
itemWidth = _ref2$width === void 0 ? 0 : _ref2$width;
|
|
1281
|
+
|
|
1282
|
+
var ratio = 3 / 4;
|
|
1283
|
+
var finalWidth = previewWidth;
|
|
1284
|
+
var finalHeight = previewHeight !== null ? previewHeight : previewWidth * ratio;
|
|
1285
|
+
var previewScale = itemWidth / previewWidth;
|
|
1286
|
+
return {
|
|
1287
|
+
width: itemWidth,
|
|
1288
|
+
height: finalHeight * previewScale,
|
|
1289
|
+
screenWidth: finalWidth,
|
|
1290
|
+
screenHeight: finalHeight,
|
|
1291
|
+
scale: previewScale
|
|
1292
|
+
};
|
|
1293
|
+
}, [withPlaceholder, previewWidth, previewHeight, contentRect]),
|
|
1294
|
+
width = _useMemo.width,
|
|
1295
|
+
height = _useMemo.height,
|
|
1296
|
+
screenWidth = _useMemo.screenWidth,
|
|
1297
|
+
screenHeight = _useMemo.screenHeight,
|
|
1298
|
+
scale = _useMemo.scale;
|
|
1299
|
+
|
|
1300
|
+
var ScreenComponent = withPlaceholder ? ScreenPlaceholder : ScreenPreview;
|
|
1301
|
+
return /*#__PURE__*/React.createElement(ScreenButton$1, {
|
|
1302
|
+
href: href,
|
|
1303
|
+
ref: refResize,
|
|
1304
|
+
active: active,
|
|
1305
|
+
className: classNames([styles$9.button, _defineProperty({}, className, className !== null)]),
|
|
1306
|
+
title: isMessage(title) ? intl.formatMessage(title) : null,
|
|
1307
|
+
onClick: function onClick() {
|
|
1308
|
+
if (_onClick !== null) {
|
|
1309
|
+
_onClick(screen, index);
|
|
1310
|
+
}
|
|
1311
|
+
|
|
1312
|
+
if (onClickItem !== null) {
|
|
1313
|
+
onClickItem(screen, index);
|
|
1314
|
+
}
|
|
1315
|
+
}
|
|
1316
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1317
|
+
className: styles$9.frame,
|
|
1318
|
+
style: {
|
|
1319
|
+
width: width,
|
|
1320
|
+
height: height
|
|
1321
|
+
}
|
|
1322
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1323
|
+
className: classNames((_classNames = {}, _defineProperty(_classNames, styles$9.preview, withPreview && !withPlaceholder), _defineProperty(_classNames, styles$9.placeholder, withPlaceholder && !withPreview), _classNames)),
|
|
1324
|
+
style: {
|
|
1325
|
+
width: withPlaceholder ? width : screenWidth,
|
|
1326
|
+
height: withPlaceholder ? height : screenHeight,
|
|
1327
|
+
transform: withPlaceholder ? null : "scale(".concat(scale, ")")
|
|
1328
|
+
}
|
|
1329
|
+
}, /*#__PURE__*/React.createElement(ScreenComponent, {
|
|
1330
|
+
screen: screen,
|
|
1331
|
+
screenState: screenState,
|
|
1332
|
+
width: withPlaceholder ? width : screenWidth,
|
|
1333
|
+
height: withPlaceholder ? height : screenHeight,
|
|
1334
|
+
className: styles$9.screen
|
|
1335
|
+
}))));
|
|
1336
|
+
};
|
|
1337
|
+
|
|
1338
|
+
ScreenWithPreview.propTypes = propTypes$d;
|
|
1339
|
+
ScreenWithPreview.defaultProps = defaultProps$d;
|
|
1340
|
+
|
|
1341
|
+
var propTypes$c = {
|
|
1342
|
+
screen: PropTypes$1.screen.isRequired,
|
|
1343
|
+
screenState: PropTypes.string,
|
|
1344
|
+
value: PropTypes$1.story.isRequired,
|
|
1345
|
+
className: PropTypes.string,
|
|
1346
|
+
onChange: PropTypes.func
|
|
1347
|
+
};
|
|
1348
|
+
var defaultProps$c = {
|
|
1349
|
+
screenState: null,
|
|
1350
|
+
className: null,
|
|
1351
|
+
onChange: null
|
|
1352
|
+
};
|
|
1353
|
+
|
|
1354
|
+
function ScreenStates(_ref) {
|
|
1355
|
+
var screen = _ref.screen,
|
|
1356
|
+
value = _ref.value,
|
|
1357
|
+
className = _ref.className,
|
|
1358
|
+
onChange = _ref.onChange;
|
|
1359
|
+
var url = useUrlGenerator();
|
|
1360
|
+
var push = useRoutePush();
|
|
1361
|
+
|
|
1362
|
+
var _useRouteParams = useRouteParams(),
|
|
1363
|
+
_useRouteParams$scree = _useRouteParams.screen,
|
|
1364
|
+
screenParam = _useRouteParams$scree === void 0 ? null : _useRouteParams$scree,
|
|
1365
|
+
_useRouteParams$field = _useRouteParams.field,
|
|
1366
|
+
field = _useRouteParams$field === void 0 ? null : _useRouteParams$field;
|
|
1367
|
+
|
|
1368
|
+
var states = useScreenStates(screen);
|
|
1369
|
+
|
|
1370
|
+
var _ref2 = field !== null ? field.split('/') : [],
|
|
1371
|
+
_ref3 = _toArray(_ref2),
|
|
1372
|
+
_ref3$ = _ref3[0],
|
|
1373
|
+
stateParam = _ref3$ === void 0 ? null : _ref3$,
|
|
1374
|
+
stateIndexes = _ref3.slice(1);
|
|
1375
|
+
|
|
1376
|
+
var stateIndex = stateIndexes.find(function (it) {
|
|
1377
|
+
return it.match(/^[0-9]+$/) !== null;
|
|
1378
|
+
}) || null;
|
|
1379
|
+
var currentState = stateParam !== null && states.findIndex(function (_ref4) {
|
|
1380
|
+
var id = _ref4.id;
|
|
1381
|
+
return id === stateParam;
|
|
1382
|
+
}) !== -1 ? stateParam : null;
|
|
1383
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
1384
|
+
className: classNames([styles$a.container, _defineProperty({}, className, className !== null)])
|
|
1385
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1386
|
+
className: "d-flex align-items-end flex-wrap m-n1"
|
|
1387
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1388
|
+
className: "p-1 align-self-stretch d-flex flex-column"
|
|
1389
|
+
}, /*#__PURE__*/React.createElement("h6", {
|
|
1390
|
+
className: classNames(['fw-normal', 'invisible', styles$a.title])
|
|
1391
|
+
}, "Settings"), /*#__PURE__*/React.createElement(Button, {
|
|
1392
|
+
className: classNames([styles$a.button, 'p-0', 'flex-grow-1', 'justify-content-center']),
|
|
1393
|
+
theme: screenParam !== null && field === null ? 'primary' : 'secondary',
|
|
1394
|
+
outline: screenParam === null || field !== null,
|
|
1395
|
+
size: "lg",
|
|
1396
|
+
icon: /*#__PURE__*/React.createElement(FontAwesomeIcon, {
|
|
1397
|
+
icon: faCogs
|
|
1398
|
+
}),
|
|
1399
|
+
href: url('screen', {
|
|
1400
|
+
screen: screen.id
|
|
1401
|
+
})
|
|
1402
|
+
})), states.map(function (state) {
|
|
1403
|
+
var id = state.id,
|
|
1404
|
+
_state$label = state.label,
|
|
1405
|
+
label = _state$label === void 0 ? null : _state$label,
|
|
1406
|
+
_state$repeatable = state.repeatable,
|
|
1407
|
+
repeatable = _state$repeatable === void 0 ? false : _state$repeatable,
|
|
1408
|
+
_state$fieldName = state.fieldName,
|
|
1409
|
+
fieldName = _state$fieldName === void 0 ? null : _state$fieldName;
|
|
1410
|
+
var repeatableItems = repeatable ? screen[fieldName || id] || [] : null;
|
|
1411
|
+
|
|
1412
|
+
var onClickAdd = function onClickAdd() {
|
|
1413
|
+
var _ref6 = value || {},
|
|
1414
|
+
_ref6$components = _ref6.components,
|
|
1415
|
+
currentComponentsValue = _ref6$components === void 0 ? [] : _ref6$components;
|
|
1416
|
+
|
|
1417
|
+
var currentScreenIndex = currentComponentsValue.findIndex(function (_ref7) {
|
|
1418
|
+
var screenId = _ref7.id;
|
|
1419
|
+
return screen.id === screenId;
|
|
1420
|
+
});
|
|
1421
|
+
var currentScreenValue = currentComponentsValue[currentScreenIndex] || {};
|
|
1422
|
+
var currentFieldValue = currentScreenValue[fieldName || id] || [];
|
|
1423
|
+
|
|
1424
|
+
var newValue = _objectSpread(_objectSpread({}, value), {}, {
|
|
1425
|
+
components: [].concat(_toConsumableArray(currentComponentsValue.slice(0, currentScreenIndex)), [_objectSpread(_objectSpread({}, currentScreenValue), {}, _defineProperty({}, fieldName || id, [].concat(_toConsumableArray(currentFieldValue), [{}])))], _toConsumableArray(currentComponentsValue.slice(currentScreenIndex + 1)))
|
|
1426
|
+
});
|
|
1427
|
+
|
|
1428
|
+
if (onChange !== null) {
|
|
1429
|
+
onChange(newValue);
|
|
1430
|
+
}
|
|
1431
|
+
|
|
1432
|
+
push('screen.field', {
|
|
1433
|
+
screen: screen.id,
|
|
1434
|
+
field: [id, currentFieldValue.length]
|
|
1435
|
+
});
|
|
1436
|
+
};
|
|
921
1437
|
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
1438
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
1439
|
+
className: "p-1 align-self-stretch d-flex flex-column"
|
|
1440
|
+
}, /*#__PURE__*/React.createElement("h6", {
|
|
1441
|
+
className: classNames(['fw-normal', 'text-muted', styles$a.title])
|
|
1442
|
+
}, /*#__PURE__*/React.createElement(FormattedMessage, label)), repeatable ? /*#__PURE__*/React.createElement("ul", {
|
|
1443
|
+
className: "d-flex list-unstyled flex-wrap m-n1 flex-grow-1"
|
|
1444
|
+
}, repeatableItems.map(function (item, index) {
|
|
1445
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
1446
|
+
className: "p-1"
|
|
1447
|
+
}, /*#__PURE__*/React.createElement(ScreenWithPreview, {
|
|
1448
|
+
screen: screen,
|
|
1449
|
+
screenState: "".concat(id, ".").concat(index),
|
|
1450
|
+
className: styles$a.button,
|
|
1451
|
+
active: currentState !== null && id === currentState.split('.')[0] && stateIndex !== null && parseInt(stateIndex, 10) === index,
|
|
1452
|
+
href: url('screen.field', {
|
|
1453
|
+
screen: screen.id,
|
|
1454
|
+
field: [id, index]
|
|
1455
|
+
})
|
|
929
1456
|
}));
|
|
930
|
-
}
|
|
931
|
-
|
|
932
|
-
}
|
|
1457
|
+
}), /*#__PURE__*/React.createElement("li", {
|
|
1458
|
+
className: "p-1"
|
|
1459
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
1460
|
+
className: classNames([styles$a.button, styles$a.addButton, 'h-100', 'p-0', 'justify-content-center']),
|
|
1461
|
+
theme: "secondary",
|
|
1462
|
+
outline: true,
|
|
1463
|
+
size: "lg",
|
|
1464
|
+
icon: /*#__PURE__*/React.createElement(FontAwesomeIcon, {
|
|
1465
|
+
icon: faPlus
|
|
1466
|
+
}),
|
|
1467
|
+
onClick: onClickAdd
|
|
1468
|
+
}))) : /*#__PURE__*/React.createElement(ScreenWithPreview, {
|
|
1469
|
+
screen: screen,
|
|
1470
|
+
screenState: id,
|
|
1471
|
+
className: styles$a.button,
|
|
1472
|
+
active: id === currentState,
|
|
1473
|
+
href: url('screen.field', {
|
|
1474
|
+
screen: screen.id,
|
|
1475
|
+
field: id
|
|
1476
|
+
}) // onClick={() => {
|
|
1477
|
+
// if (onStateChange !== null) {
|
|
1478
|
+
// onStateChange(id);
|
|
1479
|
+
// }
|
|
1480
|
+
// }}
|
|
933
1481
|
|
|
934
|
-
|
|
935
|
-
|
|
1482
|
+
}));
|
|
1483
|
+
})));
|
|
1484
|
+
}
|
|
936
1485
|
|
|
937
|
-
|
|
1486
|
+
ScreenStates.propTypes = propTypes$c;
|
|
1487
|
+
ScreenStates.defaultProps = defaultProps$c;
|
|
938
1488
|
|
|
939
|
-
var propTypes$
|
|
1489
|
+
var propTypes$b = {
|
|
940
1490
|
value: PropTypes.oneOfType([PropTypes$1.story, PropTypes$1.theme]),
|
|
941
1491
|
devices: PropTypes$1.devices,
|
|
942
1492
|
device: PropTypes.string,
|
|
@@ -944,9 +1494,10 @@ var propTypes$d = {
|
|
|
944
1494
|
isTheme: PropTypes.bool,
|
|
945
1495
|
className: PropTypes.string,
|
|
946
1496
|
onScreenChange: PropTypes.func,
|
|
1497
|
+
onChange: PropTypes.func,
|
|
947
1498
|
withoutDevicesSizes: PropTypes.bool
|
|
948
1499
|
};
|
|
949
|
-
var defaultProps$
|
|
1500
|
+
var defaultProps$b = {
|
|
950
1501
|
value: null,
|
|
951
1502
|
devices: [{
|
|
952
1503
|
id: 'mobile',
|
|
@@ -957,16 +1508,17 @@ var defaultProps$d = {
|
|
|
957
1508
|
width: 1200,
|
|
958
1509
|
height: 900
|
|
959
1510
|
}],
|
|
960
|
-
device:
|
|
1511
|
+
device: 'mobile',
|
|
961
1512
|
viewerTheme: null,
|
|
962
1513
|
isTheme: false,
|
|
963
1514
|
className: null,
|
|
964
1515
|
onScreenChange: null,
|
|
965
|
-
|
|
1516
|
+
onChange: null,
|
|
1517
|
+
withoutDevicesSizes: true
|
|
966
1518
|
};
|
|
967
1519
|
|
|
968
1520
|
var EditorPreview = function EditorPreview(_ref) {
|
|
969
|
-
var
|
|
1521
|
+
var _ref9;
|
|
970
1522
|
|
|
971
1523
|
var value = _ref.value,
|
|
972
1524
|
viewerTheme = _ref.viewerTheme,
|
|
@@ -975,8 +1527,14 @@ var EditorPreview = function EditorPreview(_ref) {
|
|
|
975
1527
|
initialDevice = _ref.device,
|
|
976
1528
|
className = _ref.className,
|
|
977
1529
|
onScreenChange = _ref.onScreenChange,
|
|
1530
|
+
onChange = _ref.onChange,
|
|
978
1531
|
withoutDevicesSizes = _ref.withoutDevicesSizes;
|
|
979
|
-
|
|
1532
|
+
|
|
1533
|
+
var _useRouteParams = useRouteParams(),
|
|
1534
|
+
_useRouteParams$scree = _useRouteParams.screen,
|
|
1535
|
+
screenId = _useRouteParams$scree === void 0 ? null : _useRouteParams$scree,
|
|
1536
|
+
_useRouteParams$field = _useRouteParams.field,
|
|
1537
|
+
fieldParam = _useRouteParams$field === void 0 ? null : _useRouteParams$field;
|
|
980
1538
|
|
|
981
1539
|
var _useScreenSize = useScreenSize(),
|
|
982
1540
|
_useScreenSize$screen = _useScreenSize.screen,
|
|
@@ -1010,7 +1568,7 @@ var EditorPreview = function EditorPreview(_ref) {
|
|
|
1010
1568
|
contentRect = _useResizeObserver.entry.contentRect;
|
|
1011
1569
|
|
|
1012
1570
|
var previewStyle = useMemo(function () {
|
|
1013
|
-
if (withoutDevicesSizes) {
|
|
1571
|
+
if (withoutDevicesSizes && initialDevice === null) {
|
|
1014
1572
|
return {};
|
|
1015
1573
|
}
|
|
1016
1574
|
|
|
@@ -1034,215 +1592,90 @@ var EditorPreview = function EditorPreview(_ref) {
|
|
|
1034
1592
|
height: maxHeight,
|
|
1035
1593
|
transform: "scale(".concat(previewScale, ", ").concat(previewScale, ")")
|
|
1036
1594
|
};
|
|
1037
|
-
}, [device, contentRect, screen, withoutDevicesSizes]);
|
|
1595
|
+
}, [device, contentRect, screen, withoutDevicesSizes, initialDevice]);
|
|
1596
|
+
var currentScreen = useMemo(function () {
|
|
1597
|
+
var _ref3 = valueParsed || {},
|
|
1598
|
+
_ref3$components = _ref3.components,
|
|
1599
|
+
components = _ref3$components === void 0 ? [] : _ref3$components;
|
|
1600
|
+
|
|
1601
|
+
return (screenId !== null ? components.find(function (_ref4) {
|
|
1602
|
+
var id = _ref4.id;
|
|
1603
|
+
return id === screenId;
|
|
1604
|
+
}) : components[0]) || null;
|
|
1605
|
+
}, [valueParsed, screenId]);
|
|
1606
|
+
var currentScreenStates = useScreenStates(currentScreen);
|
|
1607
|
+
|
|
1608
|
+
var _ref5 = fieldParam !== null && currentScreenStates !== null ? fieldParam.split('/') : [],
|
|
1609
|
+
_ref6 = _slicedToArray(_ref5, 1),
|
|
1610
|
+
_ref6$ = _ref6[0],
|
|
1611
|
+
screenStateParam = _ref6$ === void 0 ? null : _ref6$;
|
|
1612
|
+
|
|
1613
|
+
var currentScreenState = screenStateParam !== null ? currentScreenStates.find(function (_ref7) {
|
|
1614
|
+
var id = _ref7.id;
|
|
1615
|
+
return id === screenStateParam;
|
|
1616
|
+
}) || null : null;
|
|
1617
|
+
|
|
1618
|
+
var _ref8 = currentScreenState || {},
|
|
1619
|
+
_ref8$id = _ref8.id,
|
|
1620
|
+
screenStateId = _ref8$id === void 0 ? null : _ref8$id,
|
|
1621
|
+
_ref8$repeatable = _ref8.repeatable,
|
|
1622
|
+
repeatable = _ref8$repeatable === void 0 ? false : _ref8$repeatable;
|
|
1623
|
+
|
|
1624
|
+
var currentScreenStateId = currentScreenState !== null && repeatable ? "".concat(screenStateId, ".").concat(fieldParam.split('/').find(function (it) {
|
|
1625
|
+
return it.match(/^[0-9]+$/) !== null;
|
|
1626
|
+
}) || 0) : screenStateId;
|
|
1038
1627
|
return /*#__PURE__*/React.createElement("div", {
|
|
1039
|
-
className: classNames([styles$
|
|
1040
|
-
return styles$
|
|
1041
|
-
}), (
|
|
1628
|
+
className: classNames([styles$d.container, screens.map(function (screenName) {
|
|
1629
|
+
return styles$d["screen-".concat(screenName)];
|
|
1630
|
+
}), (_ref9 = {}, _defineProperty(_ref9, className, className), _defineProperty(_ref9, styles$d.withoutDevicesSizes, withoutDevicesSizes), _ref9)])
|
|
1042
1631
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1043
|
-
className: styles$
|
|
1632
|
+
className: styles$d.inner
|
|
1044
1633
|
}, !withoutDevicesSizes ? /*#__PURE__*/React.createElement("div", {
|
|
1045
|
-
className: styles$
|
|
1634
|
+
className: styles$d.top
|
|
1046
1635
|
}, /*#__PURE__*/React.createElement(DevicesMenu, {
|
|
1047
1636
|
items: devices.map(function (it) {
|
|
1048
1637
|
return _objectSpread(_objectSpread({}, it), {}, {
|
|
1049
1638
|
active: it.id === deviceId
|
|
1050
1639
|
});
|
|
1051
1640
|
}),
|
|
1052
|
-
onClickItem: onClickDeviceItem
|
|
1641
|
+
onClickItem: onClickDeviceItem,
|
|
1642
|
+
className: styles$d.devices
|
|
1643
|
+
})) : null, currentScreenStates !== null && currentScreen !== null ? /*#__PURE__*/React.createElement("div", {
|
|
1644
|
+
className: classNames([styles$d.top, 'px-1'])
|
|
1645
|
+
}, /*#__PURE__*/React.createElement(ScreenStates, {
|
|
1646
|
+
screen: currentScreen,
|
|
1647
|
+
screenState: currentScreenStateId,
|
|
1648
|
+
value: value,
|
|
1649
|
+
onChange: onChange
|
|
1053
1650
|
})) : null, /*#__PURE__*/React.createElement("div", {
|
|
1054
|
-
className: styles$
|
|
1651
|
+
className: styles$d.bottom
|
|
1055
1652
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1056
|
-
className: styles$
|
|
1653
|
+
className: styles$d.inner,
|
|
1057
1654
|
ref: bottomRef
|
|
1058
1655
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1059
|
-
className: styles$
|
|
1656
|
+
className: styles$d.preview,
|
|
1060
1657
|
style: previewStyle
|
|
1061
|
-
}, /*#__PURE__*/React.createElement(Route, {
|
|
1062
|
-
path: [routes.screen, routes.home],
|
|
1063
|
-
render: function render(_ref4) {
|
|
1064
|
-
var _ref4$match$params$sc = _ref4.match.params.screen,
|
|
1065
|
-
screenId = _ref4$match$params$sc === void 0 ? null : _ref4$match$params$sc;
|
|
1066
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1067
|
-
className: styles$a.viewerContainer
|
|
1068
|
-
}, /*#__PURE__*/React.createElement(Viewer, {
|
|
1069
|
-
story: valueParsed,
|
|
1070
|
-
storyIsParsed: true,
|
|
1071
|
-
screen: screenId,
|
|
1072
|
-
className: styles$a.story,
|
|
1073
|
-
theme: viewerTheme,
|
|
1074
|
-
interactions: null,
|
|
1075
|
-
renderContext: "edit",
|
|
1076
|
-
onScreenChange: onScreenChange
|
|
1077
|
-
}));
|
|
1078
|
-
}
|
|
1079
|
-
}))))));
|
|
1080
|
-
};
|
|
1081
|
-
|
|
1082
|
-
EditorPreview.propTypes = propTypes$d;
|
|
1083
|
-
EditorPreview.defaultProps = defaultProps$d;
|
|
1084
|
-
|
|
1085
|
-
var styles$9 = {"container":"micromag-editor-screens-container","navbar":"micromag-editor-screens-navbar"};
|
|
1086
|
-
|
|
1087
|
-
var styles$8 = {"container":"micromag-editor-menus-screens-container","placeholder":"micromag-editor-menus-screens-placeholder","preview":"micromag-editor-menus-screens-preview","screen":"micromag-editor-menus-screens-screen","item":"micromag-editor-menus-screens-item","items":"micromag-editor-menus-screens-items","button":"micromag-editor-menus-screens-button","settings":"micromag-editor-menus-screens-settings","isVertical":"micromag-editor-menus-screens-isVertical","noWrap":"micromag-editor-menus-screens-noWrap","withPlaceholder":"micromag-editor-menus-screens-withPlaceholder"};
|
|
1088
|
-
|
|
1089
|
-
var styles$7 = {"button":"micromag-editor-buttons-screen-with-preview-button","placeholder":"micromag-editor-buttons-screen-with-preview-placeholder","preview":"micromag-editor-buttons-screen-with-preview-preview","screen":"micromag-editor-buttons-screen-with-preview-screen"};
|
|
1090
|
-
|
|
1091
|
-
var styles$6 = {"container":"micromag-editor-buttons-screen-container","button":"micromag-editor-buttons-screen-button","border":"micromag-editor-buttons-screen-border","screen":"micromag-editor-buttons-screen-screen","inner":"micromag-editor-buttons-screen-inner","icon":"micromag-editor-buttons-screen-icon","label":"micromag-editor-buttons-screen-label","active":"micromag-editor-buttons-screen-active"};
|
|
1092
|
-
|
|
1093
|
-
var propTypes$c = {
|
|
1094
|
-
active: PropTypes.bool,
|
|
1095
|
-
id: PropTypes.string,
|
|
1096
|
-
href: PropTypes.string,
|
|
1097
|
-
label: PropTypes$1.label,
|
|
1098
|
-
icon: PropTypes.node,
|
|
1099
|
-
title: PropTypes.string,
|
|
1100
|
-
onClick: PropTypes.func,
|
|
1101
|
-
children: PropTypes.node,
|
|
1102
|
-
refButton: PropTypes.shape({
|
|
1103
|
-
current: PropTypes.any // eslint-disable-line
|
|
1104
|
-
|
|
1105
|
-
}),
|
|
1106
|
-
className: PropTypes.string
|
|
1107
|
-
};
|
|
1108
|
-
var defaultProps$c = {
|
|
1109
|
-
active: false,
|
|
1110
|
-
id: null,
|
|
1111
|
-
href: null,
|
|
1112
|
-
label: null,
|
|
1113
|
-
icon: null,
|
|
1114
|
-
title: null,
|
|
1115
|
-
onClick: null,
|
|
1116
|
-
children: null,
|
|
1117
|
-
refButton: null,
|
|
1118
|
-
className: null
|
|
1119
|
-
};
|
|
1120
|
-
|
|
1121
|
-
var ScreenButton = function ScreenButton(_ref) {
|
|
1122
|
-
var _ref2;
|
|
1123
|
-
|
|
1124
|
-
var active = _ref.active,
|
|
1125
|
-
id = _ref.id,
|
|
1126
|
-
href = _ref.href,
|
|
1127
|
-
className = _ref.className,
|
|
1128
|
-
label = _ref.label,
|
|
1129
|
-
icon = _ref.icon,
|
|
1130
|
-
children = _ref.children,
|
|
1131
|
-
title = _ref.title,
|
|
1132
|
-
onClick = _ref.onClick,
|
|
1133
|
-
refButton = _ref.refButton;
|
|
1134
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1135
|
-
className: classNames([styles$6.container, 'rounded', (_ref2 = {}, _defineProperty(_ref2, styles$6.active, active), _defineProperty(_ref2, className, className !== null), _ref2)])
|
|
1136
1658
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1137
|
-
className: styles$
|
|
1138
|
-
},
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
className: styles$
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
title: title,
|
|
1150
|
-
onClick: onClick,
|
|
1151
|
-
refButton: refButton
|
|
1152
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
1153
|
-
className: classNames([styles$6.border, 'rounded'])
|
|
1154
|
-
})));
|
|
1155
|
-
};
|
|
1156
|
-
|
|
1157
|
-
ScreenButton.propTypes = propTypes$c;
|
|
1158
|
-
ScreenButton.defaultProps = defaultProps$c;
|
|
1159
|
-
var ScreenButton$1 = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
1160
|
-
return /*#__PURE__*/React.createElement(ScreenButton, Object.assign({}, props, {
|
|
1161
|
-
refButton: ref
|
|
1162
|
-
}));
|
|
1163
|
-
});
|
|
1164
|
-
|
|
1165
|
-
var propTypes$b = {
|
|
1166
|
-
screen: PropTypes.oneOfType([PropTypes$1.story, PropTypes$1.theme]),
|
|
1167
|
-
index: PropTypes.number.isRequired,
|
|
1168
|
-
title: PropTypes.string,
|
|
1169
|
-
previewStyle: PropTypes.shape({
|
|
1170
|
-
width: PropTypes.number,
|
|
1171
|
-
height: PropTypes.number
|
|
1172
|
-
}),
|
|
1173
|
-
withPreview: PropTypes.bool,
|
|
1174
|
-
withPlaceholder: PropTypes.bool,
|
|
1175
|
-
onClick: PropTypes.func,
|
|
1176
|
-
onClickItem: PropTypes.func,
|
|
1177
|
-
buttonClassName: PropTypes.string,
|
|
1178
|
-
className: PropTypes.string
|
|
1179
|
-
};
|
|
1180
|
-
var defaultProps$b = {
|
|
1181
|
-
screen: null,
|
|
1182
|
-
title: null,
|
|
1183
|
-
previewStyle: null,
|
|
1184
|
-
withPreview: true,
|
|
1185
|
-
withPlaceholder: false,
|
|
1186
|
-
onClick: null,
|
|
1187
|
-
onClickItem: null,
|
|
1188
|
-
buttonClassName: null,
|
|
1189
|
-
className: null
|
|
1659
|
+
className: styles$d.viewerContainer
|
|
1660
|
+
}, /*#__PURE__*/React.createElement(Viewer, {
|
|
1661
|
+
story: valueParsed,
|
|
1662
|
+
storyIsParsed: true,
|
|
1663
|
+
screen: screenId,
|
|
1664
|
+
screenState: currentScreenStateId,
|
|
1665
|
+
className: styles$d.story,
|
|
1666
|
+
theme: viewerTheme,
|
|
1667
|
+
interactions: null,
|
|
1668
|
+
renderContext: "edit",
|
|
1669
|
+
onScreenChange: onScreenChange
|
|
1670
|
+
})))))));
|
|
1190
1671
|
};
|
|
1191
1672
|
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
var screen = _ref.screen,
|
|
1196
|
-
index = _ref.index,
|
|
1197
|
-
title = _ref.title,
|
|
1198
|
-
className = _ref.className,
|
|
1199
|
-
buttonClassName = _ref.buttonClassName,
|
|
1200
|
-
previewStyle = _ref.previewStyle,
|
|
1201
|
-
_onClick = _ref.onClick,
|
|
1202
|
-
onClickItem = _ref.onClickItem,
|
|
1203
|
-
withPreview = _ref.withPreview,
|
|
1204
|
-
withPlaceholder = _ref.withPlaceholder;
|
|
1205
|
-
var intl = useIntl();
|
|
1206
|
-
|
|
1207
|
-
var _ref2 = previewStyle || {},
|
|
1208
|
-
_ref2$width = _ref2.width,
|
|
1209
|
-
width = _ref2$width === void 0 ? null : _ref2$width,
|
|
1210
|
-
_ref2$height = _ref2.height,
|
|
1211
|
-
height = _ref2$height === void 0 ? null : _ref2$height;
|
|
1212
|
-
|
|
1213
|
-
return /*#__PURE__*/React.createElement(ScreenButton$1, Object.assign({}, screen, {
|
|
1214
|
-
className: classNames([styles$7.button, (_ref3 = {}, _defineProperty(_ref3, buttonClassName, buttonClassName !== null), _defineProperty(_ref3, className, className !== null), _ref3)]),
|
|
1215
|
-
title: isMessage(title) ? intl.formatMessage(title) : null,
|
|
1216
|
-
onClick: function onClick() {
|
|
1217
|
-
if (_onClick !== null) {
|
|
1218
|
-
_onClick(screen, index);
|
|
1219
|
-
}
|
|
1673
|
+
EditorPreview.propTypes = propTypes$b;
|
|
1674
|
+
EditorPreview.defaultProps = defaultProps$b;
|
|
1220
1675
|
|
|
1221
|
-
|
|
1222
|
-
onClickItem(screen, index);
|
|
1223
|
-
}
|
|
1224
|
-
}
|
|
1225
|
-
}), withPreview && !withPlaceholder ? /*#__PURE__*/React.createElement("div", {
|
|
1226
|
-
className: styles$7.preview,
|
|
1227
|
-
style: previewStyle
|
|
1228
|
-
}, /*#__PURE__*/React.createElement(ScreenPreview, {
|
|
1229
|
-
screen: screen,
|
|
1230
|
-
width: width,
|
|
1231
|
-
height: height,
|
|
1232
|
-
className: styles$7.screen
|
|
1233
|
-
})) : null, withPlaceholder && !withPreview ? /*#__PURE__*/React.createElement("div", {
|
|
1234
|
-
className: styles$7.placeholder,
|
|
1235
|
-
style: previewStyle
|
|
1236
|
-
}, /*#__PURE__*/React.createElement(ScreenPlaceholder, {
|
|
1237
|
-
screen: screen,
|
|
1238
|
-
width: width,
|
|
1239
|
-
height: height,
|
|
1240
|
-
className: styles$7.screen
|
|
1241
|
-
})) : null);
|
|
1242
|
-
};
|
|
1676
|
+
var styles$7 = {"container":"micromag-editor-screens-container","navbar":"micromag-editor-screens-navbar"};
|
|
1243
1677
|
|
|
1244
|
-
|
|
1245
|
-
ScreenWithPreview.defaultProps = defaultProps$b;
|
|
1678
|
+
var styles$6 = {"container":"micromag-editor-menus-screens-container","placeholder":"micromag-editor-menus-screens-placeholder","preview":"micromag-editor-menus-screens-preview","screen":"micromag-editor-menus-screens-screen","item":"micromag-editor-menus-screens-item","items":"micromag-editor-menus-screens-items","button":"micromag-editor-menus-screens-button","settings":"micromag-editor-menus-screens-settings","noWrap":"micromag-editor-menus-screens-noWrap","isVertical":"micromag-editor-menus-screens-isVertical","withPlaceholder":"micromag-editor-menus-screens-withPlaceholder"};
|
|
1246
1679
|
|
|
1247
1680
|
var iOS = /iPad|iPhone|iPod/.test(navigator.platform);
|
|
1248
1681
|
function getDragDepth(offset, indentationWidth) {
|
|
@@ -1644,11 +2077,11 @@ var sortableTreeKeyboardCoordinates = function sortableTreeKeyboardCoordinates(c
|
|
|
1644
2077
|
|
|
1645
2078
|
var styles$5 = {"item":"micromag-editor-sortable-sortable-tree-item","parent":"micromag-editor-sortable-sortable-tree-parent","group":"micromag-editor-sortable-sortable-tree-group","isLastChild":"micromag-editor-sortable-sortable-tree-isLastChild"};
|
|
1646
2079
|
|
|
1647
|
-
var styles$4 = {};
|
|
2080
|
+
var styles$4 = {"container":"micromag-editor-sortable-sortable-tree-item-container","parent":"micromag-editor-sortable-sortable-tree-item-parent","child":"micromag-editor-sortable-sortable-tree-item-child"};
|
|
1648
2081
|
|
|
1649
2082
|
var styles$3 = {"wrapper":"micromag-editor-sortable-sortable-tree-item-actions-wrapper","inner":"micromag-editor-sortable-sortable-tree-item-actions-inner","button":"micromag-editor-sortable-sortable-tree-item-actions-button","handle":"micromag-editor-sortable-sortable-tree-item-actions-handle","icon":"micromag-editor-sortable-sortable-tree-item-actions-icon","text":"micromag-editor-sortable-sortable-tree-item-actions-text","collapsedCount":"micromag-editor-sortable-sortable-tree-item-actions-collapsedCount","count":"micromag-editor-sortable-sortable-tree-item-actions-count","disableInteraction":"micromag-editor-sortable-sortable-tree-item-actions-disableInteraction","clone":"micromag-editor-sortable-sortable-tree-item-actions-clone","disableSelection":"micromag-editor-sortable-sortable-tree-item-actions-disableSelection","collapse":"micromag-editor-sortable-sortable-tree-item-actions-collapse","collapsed":"micromag-editor-sortable-sortable-tree-item-actions-collapsed","children":"micromag-editor-sortable-sortable-tree-item-actions-children","withChildren":"micromag-editor-sortable-sortable-tree-item-actions-withChildren","ghost":"micromag-editor-sortable-sortable-tree-item-actions-ghost","indicator":"micromag-editor-sortable-sortable-tree-item-actions-indicator"};
|
|
1650
2083
|
|
|
1651
|
-
var _excluded$4 = ["childCount", "clone", "depth", "disableSelection", "disableInteraction", "ghost", "handleProps", "indentationWidth", "indicator", "collapsed", "onCollapse", "onRemove", "onClick", "style", "value", "wrapperRef", "showId", "showCount", "children"];
|
|
2084
|
+
var _excluded$4 = ["childCount", "clone", "depth", "disableSelection", "disableInteraction", "ghost", "handleProps", "indentationWidth", "indicator", "collapsed", "onCollapse", "onRemove", "onClick", "style", "value", "wrapperRef", "showId", "showCount", "showCollapsedCount", "children"];
|
|
1652
2085
|
var propTypes$a = {
|
|
1653
2086
|
childCount: PropTypes.number,
|
|
1654
2087
|
clone: PropTypes.bool,
|
|
@@ -1674,6 +2107,7 @@ var propTypes$a = {
|
|
|
1674
2107
|
}),
|
|
1675
2108
|
showId: PropTypes.bool,
|
|
1676
2109
|
showCount: PropTypes.bool,
|
|
2110
|
+
showCollapsedCount: PropTypes.bool,
|
|
1677
2111
|
children: PropTypes.node
|
|
1678
2112
|
};
|
|
1679
2113
|
var defaultProps$a = {
|
|
@@ -1693,6 +2127,7 @@ var defaultProps$a = {
|
|
|
1693
2127
|
style: null,
|
|
1694
2128
|
showId: false,
|
|
1695
2129
|
showCount: false,
|
|
2130
|
+
showCollapsedCount: false,
|
|
1696
2131
|
children: null
|
|
1697
2132
|
};
|
|
1698
2133
|
var SortableTreeItemActions = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
@@ -1716,18 +2151,21 @@ var SortableTreeItemActions = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
1716
2151
|
var wrapperRef = _ref.wrapperRef;
|
|
1717
2152
|
_ref.showId;
|
|
1718
2153
|
var showCount = _ref.showCount,
|
|
2154
|
+
showCollapsedCount = _ref.showCollapsedCount,
|
|
1719
2155
|
children = _ref.children,
|
|
1720
2156
|
props = _objectWithoutProperties(_ref, _excluded$4);
|
|
1721
2157
|
|
|
1722
|
-
return /*#__PURE__*/React.createElement("
|
|
2158
|
+
return /*#__PURE__*/React.createElement("div", Object.assign({
|
|
1723
2159
|
className: classNames([styles$3.wrapper, (_ref2 = {}, _defineProperty(_ref2, styles$3.clone, clone), _defineProperty(_ref2, styles$3.ghost, ghost), _defineProperty(_ref2, styles$3.indicator, indicator), _defineProperty(_ref2, styles$3.disableSelection, disableSelection), _defineProperty(_ref2, styles$3.disableInteraction, disableInteraction), _defineProperty(_ref2, styles$3.withChildren, onCollapse !== null), _ref2)]),
|
|
1724
2160
|
ref: wrapperRef,
|
|
1725
|
-
style:
|
|
1726
|
-
marginLeft: "".concat(indentationWidth * depth, "px")
|
|
1727
|
-
|
|
2161
|
+
style: {
|
|
2162
|
+
marginLeft: "".concat(indentationWidth * depth, "px"),
|
|
2163
|
+
marginRight: "".concat(5 * depth, "px")
|
|
2164
|
+
}
|
|
1728
2165
|
}, props), /*#__PURE__*/React.createElement("div", {
|
|
1729
2166
|
className: styles$3.inner,
|
|
1730
|
-
ref: ref
|
|
2167
|
+
ref: ref,
|
|
2168
|
+
style: style
|
|
1731
2169
|
}, /*#__PURE__*/React.createElement("button", Object.assign({
|
|
1732
2170
|
className: classNames([styles$3.button, styles$3.handle]),
|
|
1733
2171
|
type: "button"
|
|
@@ -1741,7 +2179,7 @@ var SortableTreeItemActions = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
1741
2179
|
icon: faTimes
|
|
1742
2180
|
})) : null, clone && showCount && childCount && childCount > 1 ? /*#__PURE__*/React.createElement("span", {
|
|
1743
2181
|
className: styles$3.count
|
|
1744
|
-
}, childCount) : null, onCollapse && collapsed && childCount !== null && childCount > 0 ? /*#__PURE__*/React.createElement("span", {
|
|
2182
|
+
}, childCount) : null, showCollapsedCount && onCollapse && collapsed && childCount !== null && childCount > 0 ? /*#__PURE__*/React.createElement("span", {
|
|
1745
2183
|
className: styles$3.collapsedCount
|
|
1746
2184
|
}, childCount) : null, onCollapse && depth === 0 ? /*#__PURE__*/React.createElement("button", {
|
|
1747
2185
|
type: "button",
|
|
@@ -1749,14 +2187,14 @@ var SortableTreeItemActions = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
1749
2187
|
className: classNames(styles$3.button, styles$3.collapse, collapsed && styles$3.collapsed)
|
|
1750
2188
|
}, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
|
|
1751
2189
|
icon: faAngleDown
|
|
1752
|
-
})) : null
|
|
2190
|
+
})) : null, /*#__PURE__*/React.createElement("div", {
|
|
1753
2191
|
className: styles$3.children
|
|
1754
|
-
}, children));
|
|
2192
|
+
}, children)));
|
|
1755
2193
|
});
|
|
1756
2194
|
SortableTreeItemActions.propTypes = propTypes$a;
|
|
1757
2195
|
SortableTreeItemActions.defaultProps = defaultProps$a;
|
|
1758
2196
|
|
|
1759
|
-
var _excluded$3 = ["id", "index", "depth", "component", "value", "style", "smallScale", "collapsed", "onCollapse", "onClickItem", "isLastChild"];
|
|
2197
|
+
var _excluded$3 = ["id", "index", "depth", "component", "value", "style", "smallScale", "collapsed", "onCollapse", "onClickItem", "childValue", "isLastChild"];
|
|
1760
2198
|
var propTypes$9 = {
|
|
1761
2199
|
id: PropTypes.string.isRequired,
|
|
1762
2200
|
index: PropTypes.number.isRequired,
|
|
@@ -1776,6 +2214,8 @@ var propTypes$9 = {
|
|
|
1776
2214
|
collapsed: PropTypes.bool,
|
|
1777
2215
|
onCollapse: PropTypes.func,
|
|
1778
2216
|
onClickItem: PropTypes.func,
|
|
2217
|
+
// eslint-disable-next-line react/forbid-prop-types
|
|
2218
|
+
childValue: PropTypes.object,
|
|
1779
2219
|
isLastChild: PropTypes.bool
|
|
1780
2220
|
};
|
|
1781
2221
|
var defaultProps$9 = {
|
|
@@ -1786,6 +2226,7 @@ var defaultProps$9 = {
|
|
|
1786
2226
|
collapsed: false,
|
|
1787
2227
|
onCollapse: null,
|
|
1788
2228
|
onClickItem: null,
|
|
2229
|
+
childValue: null,
|
|
1789
2230
|
isLastChild: false
|
|
1790
2231
|
};
|
|
1791
2232
|
|
|
@@ -1800,12 +2241,13 @@ var SortableTreeItem = function SortableTreeItem(_ref2) {
|
|
|
1800
2241
|
index = _ref2.index,
|
|
1801
2242
|
depth = _ref2.depth,
|
|
1802
2243
|
Component = _ref2.component,
|
|
1803
|
-
value = _ref2.value
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
collapsed = _ref2.collapsed,
|
|
2244
|
+
value = _ref2.value;
|
|
2245
|
+
_ref2.style;
|
|
2246
|
+
_ref2.smallScale;
|
|
2247
|
+
var collapsed = _ref2.collapsed,
|
|
1807
2248
|
onCollapse = _ref2.onCollapse,
|
|
1808
|
-
onClickItem = _ref2.onClickItem
|
|
2249
|
+
onClickItem = _ref2.onClickItem,
|
|
2250
|
+
childValue = _ref2.childValue;
|
|
1809
2251
|
_ref2.isLastChild;
|
|
1810
2252
|
var props = _objectWithoutProperties(_ref2, _excluded$3);
|
|
1811
2253
|
|
|
@@ -1822,28 +2264,17 @@ var SortableTreeItem = function SortableTreeItem(_ref2) {
|
|
|
1822
2264
|
transform = _useSortable.transform,
|
|
1823
2265
|
transition = _useSortable.transition;
|
|
1824
2266
|
|
|
1825
|
-
var
|
|
1826
|
-
var _itemStyle$scaledWidt = itemStyle.scaledWidth,
|
|
1827
|
-
scaledWidth = _itemStyle$scaledWidt === void 0 ? 100 : _itemStyle$scaledWidt,
|
|
1828
|
-
_itemStyle$scaledHeig = itemStyle.scaledHeight,
|
|
1829
|
-
scaledHeight = _itemStyle$scaledHeig === void 0 ? 66 : _itemStyle$scaledHeig,
|
|
1830
|
-
_itemStyle$scale = itemStyle.scale,
|
|
1831
|
-
scale = _itemStyle$scale === void 0 ? 1 : _itemStyle$scale;
|
|
1832
|
-
var extraHeight = hasCollapse ? 30 : 0;
|
|
2267
|
+
var timeout = useRef(null);
|
|
1833
2268
|
var actionsStyle = {
|
|
1834
|
-
width: depth === 0 ? scaledWidth : scaledWidth * smallScale,
|
|
1835
|
-
height: depth === 0 ? scaledHeight + extraHeight : scaledHeight * smallScale,
|
|
1836
2269
|
transform: CSS.Translate.toString(transform),
|
|
1837
2270
|
transition: transition
|
|
1838
2271
|
};
|
|
1839
|
-
var previewStyle = {
|
|
1840
|
-
width: itemStyle.width,
|
|
1841
|
-
height: itemStyle.height,
|
|
1842
|
-
transform: depth === 0 ? itemStyle.transform : "scale(".concat(scale * smallScale, ", ").concat(scale * smallScale, ")")
|
|
1843
|
-
};
|
|
1844
2272
|
|
|
1845
2273
|
var _ref3 = listeners || {},
|
|
1846
|
-
onPointerDown = _ref3.onPointerDown
|
|
2274
|
+
_ref3$onPointerDown = _ref3.onPointerDown,
|
|
2275
|
+
onPointerDown = _ref3$onPointerDown === void 0 ? null : _ref3$onPointerDown,
|
|
2276
|
+
_ref3$onPointerUp = _ref3.onPointerUp,
|
|
2277
|
+
onPointerUp = _ref3$onPointerUp === void 0 ? null : _ref3$onPointerUp;
|
|
1847
2278
|
|
|
1848
2279
|
var onClickAction = useCallback(function (e) {
|
|
1849
2280
|
if (onClickItem !== null) {
|
|
@@ -1851,9 +2282,25 @@ var SortableTreeItem = function SortableTreeItem(_ref2) {
|
|
|
1851
2282
|
}
|
|
1852
2283
|
|
|
1853
2284
|
if (onPointerDown !== null) {
|
|
1854
|
-
|
|
2285
|
+
e.persist();
|
|
2286
|
+
timeout.current = setTimeout(function () {
|
|
2287
|
+
if (onPointerDown !== null) {
|
|
2288
|
+
onPointerDown(e);
|
|
2289
|
+
}
|
|
2290
|
+
|
|
2291
|
+
timeout.current = null;
|
|
2292
|
+
}, 200);
|
|
1855
2293
|
}
|
|
1856
2294
|
}, [value, index, onClickItem, onPointerDown]);
|
|
2295
|
+
var cancellingPointerUp = useCallback(function (e) {
|
|
2296
|
+
if (timeout.current !== null) {
|
|
2297
|
+
clearTimeout(timeout.current);
|
|
2298
|
+
}
|
|
2299
|
+
|
|
2300
|
+
if (onPointerUp !== null) {
|
|
2301
|
+
onPointerUp(e);
|
|
2302
|
+
}
|
|
2303
|
+
}, [onPointerUp]);
|
|
1857
2304
|
return /*#__PURE__*/React.createElement("div", {
|
|
1858
2305
|
className: classNames([styles$4.container])
|
|
1859
2306
|
}, /*#__PURE__*/React.createElement(SortableTreeItemActions, Object.assign({
|
|
@@ -1865,14 +2312,18 @@ var SortableTreeItem = function SortableTreeItem(_ref2) {
|
|
|
1865
2312
|
disableSelection: iOS,
|
|
1866
2313
|
disableInteraction: isSorting,
|
|
1867
2314
|
handleProps: _objectSpread(_objectSpread(_objectSpread({}, attributes), listeners), {}, {
|
|
1868
|
-
onPointerDown: onClickAction
|
|
2315
|
+
onPointerDown: onClickAction,
|
|
2316
|
+
onPointerUp: cancellingPointerUp
|
|
1869
2317
|
}),
|
|
1870
2318
|
collapsed: collapsed,
|
|
1871
2319
|
onCollapse: onCollapse
|
|
1872
|
-
}, props), Component !== null ? /*#__PURE__*/React.createElement(
|
|
1873
|
-
|
|
1874
|
-
})) : null
|
|
2320
|
+
}, props), Component !== null ? /*#__PURE__*/React.createElement("div", {
|
|
2321
|
+
className: styles$4.parent
|
|
2322
|
+
}, /*#__PURE__*/React.createElement(Component, value)) : null, childValue !== null ? /*#__PURE__*/React.createElement("div", {
|
|
2323
|
+
className: styles$4.child
|
|
2324
|
+
}, /*#__PURE__*/React.createElement(Component, childValue)) : null));
|
|
1875
2325
|
};
|
|
2326
|
+
|
|
1876
2327
|
SortableTreeItem.propTypes = propTypes$9;
|
|
1877
2328
|
SortableTreeItem.defaultProps = defaultProps$9;
|
|
1878
2329
|
|
|
@@ -1894,18 +2345,6 @@ var initialItems = [{
|
|
|
1894
2345
|
id: 'Winter',
|
|
1895
2346
|
children: []
|
|
1896
2347
|
}]
|
|
1897
|
-
}, {
|
|
1898
|
-
id: 'About Us',
|
|
1899
|
-
children: []
|
|
1900
|
-
}, {
|
|
1901
|
-
id: 'My Account',
|
|
1902
|
-
children: [{
|
|
1903
|
-
id: 'Addresses',
|
|
1904
|
-
children: []
|
|
1905
|
-
}, {
|
|
1906
|
-
id: 'Order History',
|
|
1907
|
-
children: []
|
|
1908
|
-
}]
|
|
1909
2348
|
}];
|
|
1910
2349
|
var measuring = {
|
|
1911
2350
|
droppable: {
|
|
@@ -1932,7 +2371,6 @@ var propTypes$8 = {
|
|
|
1932
2371
|
indicator: PropTypes.bool,
|
|
1933
2372
|
removable: PropTypes.bool,
|
|
1934
2373
|
component: PropTypes.func,
|
|
1935
|
-
itemStyle: PropTypes.shape({}),
|
|
1936
2374
|
onClickItem: PropTypes.func,
|
|
1937
2375
|
onChange: PropTypes.func
|
|
1938
2376
|
};
|
|
@@ -1943,10 +2381,10 @@ var defaultProps$8 = {
|
|
|
1943
2381
|
indicator: false,
|
|
1944
2382
|
removable: false,
|
|
1945
2383
|
component: null,
|
|
1946
|
-
itemStyle: null,
|
|
1947
2384
|
onClickItem: null,
|
|
1948
2385
|
onChange: null
|
|
1949
2386
|
};
|
|
2387
|
+
|
|
1950
2388
|
var SortableTree = function SortableTree(_ref2) {
|
|
1951
2389
|
var collapsible = _ref2.collapsible,
|
|
1952
2390
|
defaultItems = _ref2.items,
|
|
@@ -1954,12 +2392,11 @@ var SortableTree = function SortableTree(_ref2) {
|
|
|
1954
2392
|
indentationWidth = _ref2.indentationWidth,
|
|
1955
2393
|
removable = _ref2.removable,
|
|
1956
2394
|
component = _ref2.component,
|
|
1957
|
-
itemStyle = _ref2.itemStyle,
|
|
1958
2395
|
onClickItem = _ref2.onClickItem,
|
|
1959
2396
|
onChange = _ref2.onChange;
|
|
1960
2397
|
|
|
1961
2398
|
var _useState = useState(function () {
|
|
1962
|
-
return defaultItems;
|
|
2399
|
+
return buildTree(defaultItems);
|
|
1963
2400
|
}),
|
|
1964
2401
|
_useState2 = _slicedToArray(_useState, 2),
|
|
1965
2402
|
items = _useState2[0],
|
|
@@ -1983,11 +2420,20 @@ var SortableTree = function SortableTree(_ref2) {
|
|
|
1983
2420
|
var _useState9 = useState(null),
|
|
1984
2421
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
1985
2422
|
currentPosition = _useState10[0],
|
|
1986
|
-
setCurrentPosition = _useState10[1];
|
|
2423
|
+
setCurrentPosition = _useState10[1]; // Tree setup from list
|
|
1987
2424
|
|
|
1988
|
-
var flattenedItems = useMemo(function () {
|
|
1989
|
-
var flattenedTree = flattenTree(items); // console.log('yo', items, flattenedTree);
|
|
1990
2425
|
|
|
2426
|
+
useEffect(function () {
|
|
2427
|
+
var flat = flattenTree(items);
|
|
2428
|
+
var merged = defaultItems.map(function (t1) {
|
|
2429
|
+
return _objectSpread(_objectSpread({}, flat.find(function (t2) {
|
|
2430
|
+
return t2.id === t1.id;
|
|
2431
|
+
})), t1);
|
|
2432
|
+
});
|
|
2433
|
+
setItems(buildTree(merged));
|
|
2434
|
+
}, [defaultItems.length]);
|
|
2435
|
+
var flattenedItems = useMemo(function () {
|
|
2436
|
+
var flattenedTree = flattenTree(items);
|
|
1991
2437
|
var collapsedItems = flattenedTree.reduce(function (acc, _ref3) {
|
|
1992
2438
|
var _ref3$children = _ref3.children,
|
|
1993
2439
|
children = _ref3$children === void 0 ? [] : _ref3$children,
|
|
@@ -1996,38 +2442,101 @@ var SortableTree = function SortableTree(_ref2) {
|
|
|
1996
2442
|
return collapsed && children.length ? [].concat(_toConsumableArray(acc), [id]) : acc;
|
|
1997
2443
|
}, []) || null;
|
|
1998
2444
|
return removeChildrenOf(flattenedTree, activeId ? [activeId].concat(_toConsumableArray(collapsedItems)) : collapsedItems);
|
|
1999
|
-
}, [activeId, items]);
|
|
2445
|
+
}, [activeId, items, items.length]);
|
|
2000
2446
|
var projected = activeId && overId ? getProjection(flattenedItems, activeId, overId, offsetLeft, indentationWidth) : null;
|
|
2001
2447
|
var sensorContext = useRef({
|
|
2002
2448
|
items: flattenedItems,
|
|
2003
2449
|
offset: offsetLeft
|
|
2004
2450
|
});
|
|
2005
2451
|
|
|
2006
|
-
var _useState11 = useState(function () {
|
|
2007
|
-
return sortableTreeKeyboardCoordinates(sensorContext, indentationWidth);
|
|
2008
|
-
}),
|
|
2009
|
-
_useState12 = _slicedToArray(_useState11, 1),
|
|
2010
|
-
coordinateGetter = _useState12[0];
|
|
2452
|
+
var _useState11 = useState(function () {
|
|
2453
|
+
return sortableTreeKeyboardCoordinates(sensorContext, indentationWidth);
|
|
2454
|
+
}),
|
|
2455
|
+
_useState12 = _slicedToArray(_useState11, 1),
|
|
2456
|
+
coordinateGetter = _useState12[0];
|
|
2457
|
+
|
|
2458
|
+
var sensors = useSensors(useSensor(PointerSensor), useSensor(KeyboardSensor, {
|
|
2459
|
+
coordinateGetter: coordinateGetter
|
|
2460
|
+
}));
|
|
2461
|
+
var sortedIds = useMemo(function () {
|
|
2462
|
+
return flattenedItems.map(function (_ref4) {
|
|
2463
|
+
var id = _ref4.id;
|
|
2464
|
+
return id;
|
|
2465
|
+
});
|
|
2466
|
+
}, [flattenedItems]);
|
|
2467
|
+
var activeItem = activeId ? flattenedItems.find(function (_ref5) {
|
|
2468
|
+
var id = _ref5.id;
|
|
2469
|
+
return id === activeId;
|
|
2470
|
+
}) : null;
|
|
2471
|
+
useEffect(function () {
|
|
2472
|
+
sensorContext.current = {
|
|
2473
|
+
items: flattenedItems,
|
|
2474
|
+
offset: offsetLeft
|
|
2475
|
+
};
|
|
2476
|
+
}, [flattenedItems, offsetLeft]);
|
|
2477
|
+
|
|
2478
|
+
function getMovementAnnouncement(eventName, currentActiveId, currentOverId) {
|
|
2479
|
+
if (currentOverId && projected) {
|
|
2480
|
+
if (eventName !== 'onDragEnd') {
|
|
2481
|
+
if (currentPosition && projected.parentId === currentPosition.parentId && currentOverId === currentPosition.overId) {
|
|
2482
|
+
return;
|
|
2483
|
+
}
|
|
2484
|
+
|
|
2485
|
+
setCurrentPosition({
|
|
2486
|
+
parentId: projected.parentId,
|
|
2487
|
+
overId: currentOverId
|
|
2488
|
+
});
|
|
2489
|
+
}
|
|
2490
|
+
|
|
2491
|
+
var clonedItems = JSON.parse(JSON.stringify(flattenTree(items)));
|
|
2492
|
+
var overIndex = clonedItems.findIndex(function (_ref6) {
|
|
2493
|
+
var id = _ref6.id;
|
|
2494
|
+
return id === currentOverId;
|
|
2495
|
+
});
|
|
2496
|
+
var activeIndex = clonedItems.findIndex(function (_ref7) {
|
|
2497
|
+
var id = _ref7.id;
|
|
2498
|
+
return id === currentActiveId;
|
|
2499
|
+
});
|
|
2500
|
+
var sortedItems = arrayMove(clonedItems, activeIndex, overIndex);
|
|
2501
|
+
var previousItem = sortedItems[overIndex - 1];
|
|
2502
|
+
var newAnnouncement;
|
|
2503
|
+
var movedVerb = eventName === 'onDragEnd' ? 'dropped' : 'moved';
|
|
2504
|
+
var nestedVerb = eventName === 'onDragEnd' ? 'dropped' : 'nested';
|
|
2505
|
+
|
|
2506
|
+
if (!previousItem) {
|
|
2507
|
+
var nextItem = typeof sortedItems[overIndex + 1] !== 'undefined' ? sortedItems[overIndex + 1] : null;
|
|
2508
|
+
|
|
2509
|
+
if (nextItem !== null) {
|
|
2510
|
+
newAnnouncement = "".concat(currentActiveId, " was ").concat(movedVerb, " before ").concat(nextItem.id, ".");
|
|
2511
|
+
}
|
|
2512
|
+
} else if (projected.depth > previousItem.depth) {
|
|
2513
|
+
newAnnouncement = "".concat(currentActiveId, " was ").concat(nestedVerb, " under ").concat(previousItem.id, ".");
|
|
2514
|
+
} else {
|
|
2515
|
+
var previousSibling = previousItem;
|
|
2516
|
+
|
|
2517
|
+
var _loop = function _loop() {
|
|
2518
|
+
var _previousSibling = previousSibling,
|
|
2519
|
+
parentId = _previousSibling.parentId;
|
|
2520
|
+
previousSibling = sortedItems.find(function (_ref8) {
|
|
2521
|
+
var id = _ref8.id;
|
|
2522
|
+
return id === parentId;
|
|
2523
|
+
});
|
|
2524
|
+
};
|
|
2525
|
+
|
|
2526
|
+
while (previousSibling && projected.depth < previousSibling.depth) {
|
|
2527
|
+
_loop();
|
|
2528
|
+
}
|
|
2529
|
+
|
|
2530
|
+
if (previousSibling) {
|
|
2531
|
+
newAnnouncement = "".concat(currentActiveId, " was ").concat(movedVerb, " after ").concat(previousSibling.id, ".");
|
|
2532
|
+
}
|
|
2533
|
+
} // eslint-disable-next-line consistent-return
|
|
2534
|
+
|
|
2535
|
+
|
|
2536
|
+
return newAnnouncement;
|
|
2537
|
+
}
|
|
2538
|
+
}
|
|
2011
2539
|
|
|
2012
|
-
var sensors = useSensors(useSensor(PointerSensor), useSensor(KeyboardSensor, {
|
|
2013
|
-
coordinateGetter: coordinateGetter
|
|
2014
|
-
}));
|
|
2015
|
-
var sortedIds = useMemo(function () {
|
|
2016
|
-
return flattenedItems.map(function (_ref4) {
|
|
2017
|
-
var id = _ref4.id;
|
|
2018
|
-
return id;
|
|
2019
|
-
});
|
|
2020
|
-
}, [flattenedItems]);
|
|
2021
|
-
var activeItem = activeId ? flattenedItems.find(function (_ref5) {
|
|
2022
|
-
var id = _ref5.id;
|
|
2023
|
-
return id === activeId;
|
|
2024
|
-
}) : null;
|
|
2025
|
-
useEffect(function () {
|
|
2026
|
-
sensorContext.current = {
|
|
2027
|
-
items: flattenedItems,
|
|
2028
|
-
offset: offsetLeft
|
|
2029
|
-
};
|
|
2030
|
-
}, [flattenedItems, offsetLeft]);
|
|
2031
2540
|
var announcements = useMemo(function () {
|
|
2032
2541
|
return {
|
|
2033
2542
|
onDragStart: function onDragStart(id) {
|
|
@@ -2040,16 +2549,17 @@ var SortableTree = function SortableTree(_ref2) {
|
|
|
2040
2549
|
return getMovementAnnouncement('onDragOver', id, currentOverId);
|
|
2041
2550
|
},
|
|
2042
2551
|
onDragEnd: function onDragEnd(id, currentOverId) {
|
|
2043
|
-
|
|
2552
|
+
var flat = flattenTree(items);
|
|
2553
|
+
|
|
2044
2554
|
if (onChange !== null) {
|
|
2045
|
-
onChange((
|
|
2046
|
-
var itemId =
|
|
2047
|
-
|
|
2048
|
-
children =
|
|
2049
|
-
|
|
2050
|
-
parentId =
|
|
2051
|
-
|
|
2052
|
-
collapsed =
|
|
2555
|
+
onChange((flat || []).map(function (_ref9) {
|
|
2556
|
+
var itemId = _ref9.id,
|
|
2557
|
+
_ref9$children = _ref9.children,
|
|
2558
|
+
children = _ref9$children === void 0 ? [] : _ref9$children,
|
|
2559
|
+
_ref9$parentId = _ref9.parentId,
|
|
2560
|
+
parentId = _ref9$parentId === void 0 ? null : _ref9$parentId,
|
|
2561
|
+
_ref9$collapsed = _ref9.collapsed,
|
|
2562
|
+
collapsed = _ref9$collapsed === void 0 ? false : _ref9$collapsed;
|
|
2053
2563
|
return {
|
|
2054
2564
|
id: itemId,
|
|
2055
2565
|
props: _objectSpread(_objectSpread({}, (children || []).length > 0 ? {
|
|
@@ -2074,98 +2584,18 @@ var SortableTree = function SortableTree(_ref2) {
|
|
|
2074
2584
|
return "Moving was cancelled. ".concat(id, " was dropped in its original position.");
|
|
2075
2585
|
}
|
|
2076
2586
|
};
|
|
2077
|
-
}, [flattenedItems, onChange]);
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
setItems(buildTree(defaultItems));
|
|
2082
|
-
}, []);
|
|
2083
|
-
var activeValue = defaultItems.find(function (_ref7) {
|
|
2084
|
-
var _ref7$id = _ref7.id,
|
|
2085
|
-
defaultId = _ref7$id === void 0 ? null : _ref7$id;
|
|
2587
|
+
}, [flattenedItems, onChange, getMovementAnnouncement]);
|
|
2588
|
+
var activeValue = defaultItems.find(function (_ref10) {
|
|
2589
|
+
var _ref10$id = _ref10.id,
|
|
2590
|
+
defaultId = _ref10$id === void 0 ? null : _ref10$id;
|
|
2086
2591
|
return defaultId === activeId;
|
|
2087
2592
|
});
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
sensors: sensors,
|
|
2091
|
-
collisionDetection: closestCenter,
|
|
2092
|
-
measuring: measuring,
|
|
2093
|
-
onDragStart: handleDragStart,
|
|
2094
|
-
onDragMove: handleDragMove,
|
|
2095
|
-
onDragOver: handleDragOver,
|
|
2096
|
-
onDragEnd: handleDragEnd,
|
|
2097
|
-
onDragCancel: handleDragCancel
|
|
2098
|
-
}, /*#__PURE__*/React.createElement(SortableContext, {
|
|
2099
|
-
items: sortedIds,
|
|
2100
|
-
strategy: verticalListSortingStrategy
|
|
2101
|
-
}, flattenedItems.map(function (_ref8, idx) {
|
|
2102
|
-
var _flattenedItems, _ref10;
|
|
2103
|
-
|
|
2104
|
-
var id = _ref8.id,
|
|
2105
|
-
_ref8$children = _ref8.children,
|
|
2106
|
-
children = _ref8$children === void 0 ? [] : _ref8$children,
|
|
2107
|
-
collapsed = _ref8.collapsed,
|
|
2108
|
-
depth = _ref8.depth;
|
|
2109
|
-
var screenValue = defaultItems.find(function (_ref9) {
|
|
2110
|
-
var _ref9$id = _ref9.id,
|
|
2111
|
-
defaultId = _ref9$id === void 0 ? null : _ref9$id;
|
|
2112
|
-
return defaultId === id;
|
|
2113
|
-
});
|
|
2114
|
-
var next = ((_flattenedItems = flattenedItems[idx + 1]) === null || _flattenedItems === void 0 ? void 0 : _flattenedItems.parentId) || null;
|
|
2115
|
-
var isCollapsed = collapsed && children.length > 0;
|
|
2116
|
-
var onCollapse = collapsible && children.length ? function () {
|
|
2117
|
-
return handleCollapse(id);
|
|
2118
|
-
} : null;
|
|
2119
|
-
var currentDepth = id === activeId && projected ? projected.depth : depth;
|
|
2120
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
2121
|
-
className: classNames([styles$5.item, (_ref10 = {}, _defineProperty(_ref10, styles$5.parent, onCollapse !== null && !collapsed), _defineProperty(_ref10, styles$5.group, depth === 1), _defineProperty(_ref10, styles$5.isLastChild, next === null), _ref10)]),
|
|
2122
|
-
key: id
|
|
2123
|
-
}, /*#__PURE__*/React.createElement(SortableTreeItem, {
|
|
2124
|
-
key: id,
|
|
2125
|
-
id: id,
|
|
2126
|
-
depth: currentDepth,
|
|
2127
|
-
indentationWidth: indentationWidth,
|
|
2128
|
-
indicator: indicator,
|
|
2129
|
-
collapsed: isCollapsed,
|
|
2130
|
-
onCollapse: onCollapse,
|
|
2131
|
-
onRemove: removable ? function () {
|
|
2132
|
-
return handleRemove(id);
|
|
2133
|
-
} : undefined,
|
|
2134
|
-
childCount: getChildCount(items, id),
|
|
2135
|
-
component: component,
|
|
2136
|
-
value: (screenValue === null || screenValue === void 0 ? void 0 : screenValue.value) || null,
|
|
2137
|
-
style: itemStyle,
|
|
2138
|
-
onClickItem: onClickItem,
|
|
2139
|
-
index: idx
|
|
2140
|
-
}));
|
|
2141
|
-
}), /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(DragOverlay, {
|
|
2142
|
-
dropAnimation: dropAnimation,
|
|
2143
|
-
modifiers: indicator ? [adjustTranslate] : undefined
|
|
2144
|
-
}, activeId && activeItem ? /*#__PURE__*/React.createElement("div", {
|
|
2145
|
-
className: styles$5.item,
|
|
2146
|
-
key: activeId
|
|
2147
|
-
}, /*#__PURE__*/React.createElement(SortableTreeItem, {
|
|
2148
|
-
id: activeId,
|
|
2149
|
-
depth: activeItem.depth,
|
|
2150
|
-
clone: true,
|
|
2151
|
-
childCount: getChildCount(items, activeId) + 1,
|
|
2152
|
-
indentationWidth: indentationWidth,
|
|
2153
|
-
component: component,
|
|
2154
|
-
value: activeValue === null || activeValue === void 0 ? void 0 : activeValue.value,
|
|
2155
|
-
onClickItem: onClickItem,
|
|
2156
|
-
index: flattenedItems.findIndex(function (_ref11) {
|
|
2157
|
-
var id = _ref11.id;
|
|
2158
|
-
return activeId === id;
|
|
2159
|
-
}),
|
|
2160
|
-
style: itemStyle
|
|
2161
|
-
})) : null), document.body)));
|
|
2162
|
-
|
|
2163
|
-
function handleDragStart(_ref12) {
|
|
2164
|
-
var newActiveId = _ref12.active.id;
|
|
2593
|
+
var handleDragStart = useCallback(function (_ref11) {
|
|
2594
|
+
var newActiveId = _ref11.active.id;
|
|
2165
2595
|
setActiveId(newActiveId);
|
|
2166
2596
|
setOverId(newActiveId);
|
|
2167
|
-
var newActiveItem = flattenedItems.find(function (
|
|
2168
|
-
var id =
|
|
2597
|
+
var newActiveItem = flattenedItems.find(function (_ref12) {
|
|
2598
|
+
var id = _ref12.id;
|
|
2169
2599
|
return id === newActiveId;
|
|
2170
2600
|
});
|
|
2171
2601
|
|
|
@@ -2177,53 +2607,49 @@ var SortableTree = function SortableTree(_ref2) {
|
|
|
2177
2607
|
}
|
|
2178
2608
|
|
|
2179
2609
|
document.body.style.setProperty('cursor', 'grabbing');
|
|
2180
|
-
}
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
var delta = _ref14.delta;
|
|
2610
|
+
}, [flattenedItems, setActiveId, setOverId, setCurrentPosition]);
|
|
2611
|
+
var handleDragMove = useCallback(function (_ref13) {
|
|
2612
|
+
var delta = _ref13.delta;
|
|
2184
2613
|
setOffsetLeft(delta.x);
|
|
2185
|
-
}
|
|
2186
|
-
|
|
2187
|
-
function handleDragOver(_ref15) {
|
|
2614
|
+
}, [setOffsetLeft]);
|
|
2615
|
+
var handleDragOver = useCallback(function (_ref14) {
|
|
2188
2616
|
var _over$id;
|
|
2189
2617
|
|
|
2190
|
-
var over =
|
|
2618
|
+
var over = _ref14.over;
|
|
2191
2619
|
setOverId((_over$id = over === null || over === void 0 ? void 0 : over.id) !== null && _over$id !== void 0 ? _over$id : null);
|
|
2192
|
-
}
|
|
2193
|
-
|
|
2194
|
-
function resetState() {
|
|
2620
|
+
}, [setOverId]);
|
|
2621
|
+
var resetState = useCallback(function () {
|
|
2195
2622
|
setOverId(null);
|
|
2196
2623
|
setActiveId(null);
|
|
2197
2624
|
setOffsetLeft(0);
|
|
2198
2625
|
setCurrentPosition(null);
|
|
2199
2626
|
document.body.style.setProperty('cursor', '');
|
|
2200
|
-
}
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
over = _ref16.over;
|
|
2627
|
+
}, [setOverId, setActiveId, setOffsetLeft, setCurrentPosition]);
|
|
2628
|
+
var handleDragEnd = useCallback(function (_ref15) {
|
|
2629
|
+
var active = _ref15.active,
|
|
2630
|
+
over = _ref15.over;
|
|
2205
2631
|
resetState();
|
|
2206
2632
|
|
|
2207
2633
|
if (projected && over) {
|
|
2208
2634
|
var depth = projected.depth,
|
|
2209
2635
|
parentId = projected.parentId;
|
|
2210
2636
|
var clonedItems = JSON.parse(JSON.stringify(flattenTree(items)));
|
|
2211
|
-
var overIndex = clonedItems.findIndex(function (
|
|
2212
|
-
var id =
|
|
2637
|
+
var overIndex = clonedItems.findIndex(function (_ref16) {
|
|
2638
|
+
var id = _ref16.id;
|
|
2213
2639
|
return id === over.id;
|
|
2214
2640
|
});
|
|
2215
|
-
var activeIndex = clonedItems.findIndex(function (
|
|
2216
|
-
var id =
|
|
2641
|
+
var activeIndex = clonedItems.findIndex(function (_ref17) {
|
|
2642
|
+
var id = _ref17.id;
|
|
2217
2643
|
return id === active.id;
|
|
2218
2644
|
});
|
|
2219
2645
|
var activeTreeItem = clonedItems[activeIndex];
|
|
2220
2646
|
var maxDepth = getMaxDepth(activeTreeItem); // Un-merge and flatten
|
|
2221
2647
|
|
|
2222
2648
|
if (depth > 0 && depth >= maxDepth && (activeTreeItem === null || activeTreeItem === void 0 ? void 0 : activeTreeItem.children) !== null && activeTreeItem.children.length > 0) {
|
|
2223
|
-
var
|
|
2649
|
+
var _loop2 = function _loop2(i) {
|
|
2224
2650
|
var childId = activeTreeItem.children[i].id;
|
|
2225
|
-
var childIndex = clonedItems.findIndex(function (
|
|
2226
|
-
var id =
|
|
2651
|
+
var childIndex = clonedItems.findIndex(function (_ref18) {
|
|
2652
|
+
var id = _ref18.id;
|
|
2227
2653
|
return id === childId;
|
|
2228
2654
|
});
|
|
2229
2655
|
clonedItems[childIndex].parentId = parentId;
|
|
@@ -2231,7 +2657,7 @@ var SortableTree = function SortableTree(_ref2) {
|
|
|
2231
2657
|
};
|
|
2232
2658
|
|
|
2233
2659
|
for (var i = 0; i < activeTreeItem.children.length; i += 1) {
|
|
2234
|
-
|
|
2660
|
+
_loop2(i);
|
|
2235
2661
|
}
|
|
2236
2662
|
|
|
2237
2663
|
activeTreeItem.children = [];
|
|
@@ -2245,96 +2671,113 @@ var SortableTree = function SortableTree(_ref2) {
|
|
|
2245
2671
|
var newItems = buildTree(sortedItems);
|
|
2246
2672
|
setItems(newItems);
|
|
2247
2673
|
}
|
|
2248
|
-
}
|
|
2249
|
-
|
|
2250
|
-
function handleDragCancel() {
|
|
2674
|
+
}, [projected, items, resetState, arrayMove, buildTree, setItems]);
|
|
2675
|
+
var handleDragCancel = useCallback(function () {
|
|
2251
2676
|
resetState();
|
|
2252
|
-
}
|
|
2253
|
-
|
|
2254
|
-
function handleRemove(id) {
|
|
2677
|
+
}, [resetState]);
|
|
2678
|
+
var handleRemove = useCallback(function (id) {
|
|
2255
2679
|
setItems(function (newItems) {
|
|
2256
2680
|
return removeItem(newItems, id);
|
|
2257
2681
|
});
|
|
2258
|
-
}
|
|
2259
|
-
|
|
2260
|
-
function handleCollapse(id) {
|
|
2682
|
+
}, [setItems, removeItem]);
|
|
2683
|
+
var handleCollapse = useCallback(function (id) {
|
|
2261
2684
|
setItems(function (newItems) {
|
|
2262
2685
|
return setProperty(newItems, id, 'collapsed', function (value) {
|
|
2263
2686
|
return !value;
|
|
2264
2687
|
});
|
|
2265
2688
|
});
|
|
2266
|
-
}
|
|
2267
|
-
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
|
|
2271
|
-
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
2313
|
-
|
|
2314
|
-
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2689
|
+
}, [setItems, setProperty]);
|
|
2690
|
+
return /*#__PURE__*/React.createElement(DndContext, {
|
|
2691
|
+
announcements: announcements,
|
|
2692
|
+
sensors: sensors,
|
|
2693
|
+
collisionDetection: closestCenter,
|
|
2694
|
+
measuring: measuring,
|
|
2695
|
+
onDragStart: handleDragStart,
|
|
2696
|
+
onDragMove: handleDragMove,
|
|
2697
|
+
onDragOver: handleDragOver,
|
|
2698
|
+
onDragEnd: handleDragEnd,
|
|
2699
|
+
onDragCancel: handleDragCancel
|
|
2700
|
+
}, /*#__PURE__*/React.createElement(SortableContext, {
|
|
2701
|
+
items: sortedIds,
|
|
2702
|
+
strategy: verticalListSortingStrategy
|
|
2703
|
+
}, flattenedItems.map(function (_ref19, idx) {
|
|
2704
|
+
var _flattenedItems, _ref22;
|
|
2705
|
+
|
|
2706
|
+
var id = _ref19.id,
|
|
2707
|
+
_ref19$children = _ref19.children,
|
|
2708
|
+
children = _ref19$children === void 0 ? [] : _ref19$children,
|
|
2709
|
+
collapsed = _ref19.collapsed,
|
|
2710
|
+
depth = _ref19.depth;
|
|
2711
|
+
var screenValue = defaultItems.find(function (_ref20) {
|
|
2712
|
+
var _ref20$id = _ref20.id,
|
|
2713
|
+
defaultId = _ref20$id === void 0 ? null : _ref20$id;
|
|
2714
|
+
return defaultId === id;
|
|
2715
|
+
});
|
|
2716
|
+
var next = ((_flattenedItems = flattenedItems[idx + 1]) === null || _flattenedItems === void 0 ? void 0 : _flattenedItems.parentId) || null;
|
|
2717
|
+
var isCollapsed = collapsed && children.length > 0;
|
|
2718
|
+
var onCollapse = collapsible && children.length ? function () {
|
|
2719
|
+
return handleCollapse(id);
|
|
2720
|
+
} : null;
|
|
2721
|
+
var currentDepth = id === activeId && projected ? projected.depth : depth;
|
|
2722
|
+
var childCount = getChildCount(items, id);
|
|
2723
|
+
var childValue = childCount > 0 && collapsed ? defaultItems.slice().reverse().find(function (_ref21) {
|
|
2724
|
+
var _ref21$parentId = _ref21.parentId,
|
|
2725
|
+
parentId = _ref21$parentId === void 0 ? null : _ref21$parentId;
|
|
2726
|
+
return parentId === id;
|
|
2727
|
+
}) : null;
|
|
2728
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
2729
|
+
className: classNames([styles$5.item, (_ref22 = {}, _defineProperty(_ref22, styles$5.parent, onCollapse !== null && !collapsed), _defineProperty(_ref22, styles$5.group, depth === 1), _defineProperty(_ref22, styles$5.isLastChild, next === null), _ref22)]),
|
|
2730
|
+
key: id
|
|
2731
|
+
}, /*#__PURE__*/React.createElement(SortableTreeItem, {
|
|
2732
|
+
key: id,
|
|
2733
|
+
id: id,
|
|
2734
|
+
depth: currentDepth,
|
|
2735
|
+
indentationWidth: indentationWidth,
|
|
2736
|
+
indicator: indicator,
|
|
2737
|
+
collapsed: isCollapsed,
|
|
2738
|
+
onCollapse: onCollapse,
|
|
2739
|
+
onRemove: removable ? function () {
|
|
2740
|
+
return handleRemove(id);
|
|
2741
|
+
} : undefined,
|
|
2742
|
+
childCount: childCount,
|
|
2743
|
+
component: component,
|
|
2744
|
+
value: (screenValue === null || screenValue === void 0 ? void 0 : screenValue.value) || null,
|
|
2745
|
+
onClickItem: onClickItem,
|
|
2746
|
+
index: idx,
|
|
2747
|
+
childValue: (childValue === null || childValue === void 0 ? void 0 : childValue.value) || null
|
|
2748
|
+
}));
|
|
2749
|
+
}), /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(DragOverlay, {
|
|
2750
|
+
dropAnimation: dropAnimation,
|
|
2751
|
+
modifiers: indicator ? [adjustTranslate] : undefined
|
|
2752
|
+
}, activeId && activeItem ? /*#__PURE__*/React.createElement("div", {
|
|
2753
|
+
className: styles$5.item,
|
|
2754
|
+
key: activeId
|
|
2755
|
+
}, /*#__PURE__*/React.createElement(SortableTreeItem, {
|
|
2756
|
+
id: activeId,
|
|
2757
|
+
depth: activeItem.depth,
|
|
2758
|
+
clone: true,
|
|
2759
|
+
childCount: getChildCount(items, activeId) + 1,
|
|
2760
|
+
indentationWidth: indentationWidth,
|
|
2761
|
+
component: component,
|
|
2762
|
+
value: activeValue === null || activeValue === void 0 ? void 0 : activeValue.value,
|
|
2763
|
+
onClickItem: onClickItem,
|
|
2764
|
+
index: flattenedItems.findIndex(function (_ref23) {
|
|
2765
|
+
var id = _ref23.id;
|
|
2766
|
+
return activeId === id;
|
|
2767
|
+
})
|
|
2768
|
+
})) : null), document.body)));
|
|
2326
2769
|
};
|
|
2770
|
+
|
|
2327
2771
|
SortableTree.propTypes = propTypes$8;
|
|
2328
2772
|
SortableTree.defaultProps = defaultProps$8;
|
|
2329
2773
|
|
|
2330
|
-
var _excluded$2 = ["className", "screen", "type", "onClick"],
|
|
2331
|
-
_excluded2 = ["id", "screen"];
|
|
2774
|
+
var _excluded$2 = ["className", "screen", "type", "onClick", "active", "href"],
|
|
2775
|
+
_excluded2 = ["id", "screen", "href"];
|
|
2332
2776
|
var propTypes$7 = {
|
|
2333
2777
|
items: PropTypes$1.menuItems,
|
|
2334
2778
|
withPreview: PropTypes.bool,
|
|
2335
2779
|
withPlaceholder: PropTypes.bool,
|
|
2336
2780
|
settings: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
|
|
2337
|
-
previewMinWidth: PropTypes.number,
|
|
2338
2781
|
sortable: PropTypes.bool,
|
|
2339
2782
|
isTree: PropTypes.bool,
|
|
2340
2783
|
isVertical: PropTypes.bool,
|
|
@@ -2351,7 +2794,6 @@ var defaultProps$7 = {
|
|
|
2351
2794
|
withPreview: false,
|
|
2352
2795
|
withPlaceholder: false,
|
|
2353
2796
|
settings: null,
|
|
2354
|
-
previewMinWidth: 320,
|
|
2355
2797
|
sortable: false,
|
|
2356
2798
|
isTree: false,
|
|
2357
2799
|
isVertical: false,
|
|
@@ -2365,13 +2807,12 @@ var defaultProps$7 = {
|
|
|
2365
2807
|
};
|
|
2366
2808
|
|
|
2367
2809
|
var ScreensMenu = function ScreensMenu(_ref) {
|
|
2368
|
-
var
|
|
2810
|
+
var _ref8;
|
|
2369
2811
|
|
|
2370
2812
|
var items = _ref.items,
|
|
2371
2813
|
withPreview = _ref.withPreview,
|
|
2372
2814
|
withPlaceholder = _ref.withPlaceholder,
|
|
2373
2815
|
settings = _ref.settings,
|
|
2374
|
-
previewMinWidth = _ref.previewMinWidth,
|
|
2375
2816
|
isVertical = _ref.isVertical,
|
|
2376
2817
|
noWrap = _ref.noWrap,
|
|
2377
2818
|
className = _ref.className,
|
|
@@ -2382,125 +2823,78 @@ var ScreensMenu = function ScreensMenu(_ref) {
|
|
|
2382
2823
|
isTree = _ref.isTree,
|
|
2383
2824
|
onClickItem = _ref.onClickItem,
|
|
2384
2825
|
onOrderChange = _ref.onOrderChange;
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
itemWidth = _ref2$width === void 0 ? 0 : _ref2$width,
|
|
2398
|
-
_ref2$height = _ref2.height,
|
|
2399
|
-
itemHeight = _ref2$height === void 0 ? 0 : _ref2$height;
|
|
2400
|
-
|
|
2401
|
-
var ratio = itemHeight !== 0 && itemWidth !== 0 ? itemHeight / itemWidth : 2 / 3;
|
|
2402
|
-
|
|
2403
|
-
var _getSizeWithinBounds = getSizeWithinBounds(previewMinWidth, previewMinWidth * ratio, itemWidth, itemHeight),
|
|
2404
|
-
previewScale = _getSizeWithinBounds.scale;
|
|
2405
|
-
|
|
2406
|
-
return {
|
|
2407
|
-
width: previewMinWidth,
|
|
2408
|
-
height: previewMinWidth * ratio,
|
|
2409
|
-
transform: "scale(".concat(previewScale, ", ").concat(previewScale, ")")
|
|
2410
|
-
};
|
|
2411
|
-
}, [previewMinWidth, contentRect]);
|
|
2412
|
-
var treeStyle = useMemo(function () {
|
|
2413
|
-
var _ref3 = columnRect || {},
|
|
2414
|
-
_ref3$width = _ref3.width,
|
|
2415
|
-
itemWidth = _ref3$width === void 0 ? 0 : _ref3$width;
|
|
2416
|
-
|
|
2417
|
-
var itemHeight = itemWidth * 3 / 2;
|
|
2418
|
-
var ratio = itemHeight !== 0 && itemWidth !== 0 ? itemHeight / itemWidth : 0;
|
|
2419
|
-
|
|
2420
|
-
var _getSizeWithinBounds2 = getSizeWithinBounds(previewMinWidth, previewMinWidth * ratio, itemWidth, itemHeight),
|
|
2421
|
-
scaledWidth = _getSizeWithinBounds2.width,
|
|
2422
|
-
scaledHeight = _getSizeWithinBounds2.height,
|
|
2423
|
-
previewScale = _getSizeWithinBounds2.scale;
|
|
2424
|
-
|
|
2425
|
-
return {
|
|
2426
|
-
width: previewMinWidth,
|
|
2427
|
-
height: previewMinWidth * ratio,
|
|
2428
|
-
transform: "scale(".concat(previewScale, ", ").concat(previewScale, ")"),
|
|
2429
|
-
scale: previewScale,
|
|
2430
|
-
scaledWidth: scaledWidth,
|
|
2431
|
-
scaledHeight: scaledHeight
|
|
2432
|
-
};
|
|
2433
|
-
}, [previewMinWidth, columnRect]);
|
|
2434
|
-
var itemsElements = !isTree ? items.map(function (_ref4, index) {
|
|
2435
|
-
var _ref5;
|
|
2436
|
-
|
|
2437
|
-
var _ref4$className = _ref4.className,
|
|
2438
|
-
itemCustomClassName = _ref4$className === void 0 ? null : _ref4$className,
|
|
2439
|
-
screen = _ref4.screen,
|
|
2440
|
-
type = _ref4.type,
|
|
2441
|
-
_ref4$onClick = _ref4.onClick,
|
|
2442
|
-
onClick = _ref4$onClick === void 0 ? null : _ref4$onClick,
|
|
2443
|
-
item = _objectWithoutProperties(_ref4, _excluded$2);
|
|
2826
|
+
var itemsElements = !isTree ? items.map(function (_ref2, index) {
|
|
2827
|
+
var _ref3;
|
|
2828
|
+
|
|
2829
|
+
var _ref2$className = _ref2.className,
|
|
2830
|
+
itemCustomClassName = _ref2$className === void 0 ? null : _ref2$className,
|
|
2831
|
+
screen = _ref2.screen,
|
|
2832
|
+
type = _ref2.type,
|
|
2833
|
+
_ref2$onClick = _ref2.onClick,
|
|
2834
|
+
onClick = _ref2$onClick === void 0 ? null : _ref2$onClick,
|
|
2835
|
+
active = _ref2.active,
|
|
2836
|
+
href = _ref2.href,
|
|
2837
|
+
item = _objectWithoutProperties(_ref2, _excluded$2);
|
|
2444
2838
|
|
|
2445
2839
|
return /*#__PURE__*/React.createElement("li", {
|
|
2446
2840
|
key: item.id,
|
|
2447
|
-
className: classNames([styles$
|
|
2448
|
-
"data-screen-id": item.id
|
|
2449
|
-
ref: index === 0 ? containerRef : null
|
|
2841
|
+
className: classNames([styles$6.item, (_ref3 = {}, _defineProperty(_ref3, itemClassName, itemClassName !== null), _defineProperty(_ref3, itemCustomClassName, itemCustomClassName !== null), _ref3)]),
|
|
2842
|
+
"data-screen-id": item.id
|
|
2450
2843
|
}, /*#__PURE__*/React.createElement(ScreenWithPreview, {
|
|
2451
2844
|
index: index,
|
|
2452
|
-
screen: _objectSpread(_objectSpread({}, screen),
|
|
2845
|
+
screen: withPlaceholder ? _objectSpread(_objectSpread({}, screen), {}, {
|
|
2453
2846
|
type: type
|
|
2454
|
-
} :
|
|
2455
|
-
|
|
2456
|
-
|
|
2847
|
+
}) : screen,
|
|
2848
|
+
href: href,
|
|
2849
|
+
className: buttonClassName,
|
|
2850
|
+
active: active,
|
|
2457
2851
|
withPreview: withPreview,
|
|
2458
2852
|
withPlaceholder: withPlaceholder,
|
|
2459
2853
|
onClick: onClick,
|
|
2460
2854
|
onClickItem: onClickItem
|
|
2461
2855
|
}), settings !== null ? /*#__PURE__*/React.createElement("div", {
|
|
2462
|
-
className: classNames([_defineProperty({}, settingsClassName, settingsClassName !== null), styles$
|
|
2856
|
+
className: classNames([_defineProperty({}, settingsClassName, settingsClassName !== null), styles$6.settings, 'p-2'])
|
|
2463
2857
|
}, isFunction(settings) ? settings(index) : settings) : null);
|
|
2464
2858
|
}) : [];
|
|
2465
2859
|
var sortableItems = useMemo(function () {
|
|
2466
|
-
return isTree ? items.map(function (
|
|
2467
|
-
var id =
|
|
2468
|
-
|
|
2469
|
-
screen =
|
|
2470
|
-
|
|
2860
|
+
return isTree ? items.map(function (_ref5) {
|
|
2861
|
+
var id = _ref5.id,
|
|
2862
|
+
_ref5$screen = _ref5.screen,
|
|
2863
|
+
screen = _ref5$screen === void 0 ? {} : _ref5$screen,
|
|
2864
|
+
href = _ref5.href,
|
|
2865
|
+
props = _objectWithoutProperties(_ref5, _excluded2);
|
|
2471
2866
|
|
|
2472
2867
|
var _screen$parentId = screen.parentId,
|
|
2473
2868
|
parentId = _screen$parentId === void 0 ? null : _screen$parentId,
|
|
2474
2869
|
_screen$group = screen.group,
|
|
2475
2870
|
group = _screen$group === void 0 ? {} : _screen$group;
|
|
2476
2871
|
|
|
2477
|
-
var
|
|
2478
|
-
|
|
2479
|
-
collapsed =
|
|
2872
|
+
var _ref6 = group || {},
|
|
2873
|
+
_ref6$collapsed = _ref6.collapsed,
|
|
2874
|
+
collapsed = _ref6$collapsed === void 0 ? true : _ref6$collapsed;
|
|
2480
2875
|
|
|
2481
|
-
return
|
|
2876
|
+
return {
|
|
2482
2877
|
id: id,
|
|
2483
2878
|
parentId: parentId,
|
|
2484
2879
|
collapsed: collapsed,
|
|
2485
|
-
value: {
|
|
2880
|
+
value: _objectSpread({
|
|
2486
2881
|
id: id,
|
|
2487
|
-
screen: screen
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2882
|
+
screen: screen,
|
|
2883
|
+
href: href
|
|
2884
|
+
}, props)
|
|
2885
|
+
};
|
|
2886
|
+
}, []) : items.map(function (_ref7) {
|
|
2887
|
+
var id = _ref7.id;
|
|
2492
2888
|
return {
|
|
2493
2889
|
id: id
|
|
2494
2890
|
};
|
|
2495
2891
|
});
|
|
2496
|
-
}, [items, isTree]);
|
|
2892
|
+
}, [items, isTree, items.length]);
|
|
2497
2893
|
return /*#__PURE__*/React.createElement("div", {
|
|
2498
|
-
className: classNames([styles$
|
|
2499
|
-
ref: columnRef
|
|
2894
|
+
className: classNames([styles$6.container, (_ref8 = {}, _defineProperty(_ref8, styles$6.noWrap, noWrap), _defineProperty(_ref8, styles$6.isVertical, isVertical), _defineProperty(_ref8, styles$6.isTree, isTree), _defineProperty(_ref8, styles$6.withPlaceholder, withPlaceholder), _defineProperty(_ref8, className, className), _ref8)])
|
|
2500
2895
|
}, isTree && !sortable ? /*#__PURE__*/React.createElement(SortableTree, {
|
|
2501
2896
|
items: sortableItems,
|
|
2502
2897
|
component: ScreenWithPreview,
|
|
2503
|
-
itemStyle: treeStyle,
|
|
2504
2898
|
onClickItem: onClickItem,
|
|
2505
2899
|
onChange: onOrderChange
|
|
2506
2900
|
}) : null, !isTree && sortable && items.length > 1 ? /*#__PURE__*/React.createElement(ReactSortable, {
|
|
@@ -2510,16 +2904,16 @@ var ScreensMenu = function ScreensMenu(_ref) {
|
|
|
2510
2904
|
delayOnTouchStart: true,
|
|
2511
2905
|
delay: 2,
|
|
2512
2906
|
tag: "ul",
|
|
2513
|
-
className: styles$
|
|
2907
|
+
className: styles$6.items
|
|
2514
2908
|
}, itemsElements) : null, !isTree && (!sortable || items.length < 1) ? /*#__PURE__*/React.createElement("ul", {
|
|
2515
|
-
className: styles$
|
|
2909
|
+
className: styles$6.items
|
|
2516
2910
|
}, itemsElements) : null);
|
|
2517
2911
|
};
|
|
2518
2912
|
|
|
2519
2913
|
ScreensMenu.propTypes = propTypes$7;
|
|
2520
2914
|
ScreensMenu.defaultProps = defaultProps$7;
|
|
2521
2915
|
|
|
2522
|
-
var styles$2 = {"container":"micromag-editor-menus-screen-types-container","row":"micromag-editor-menus-screen-types-row","title":"micromag-editor-menus-screen-types-title"};
|
|
2916
|
+
var styles$2 = {"container":"micromag-editor-menus-screen-types-container","row":"micromag-editor-menus-screen-types-row","title":"micromag-editor-menus-screen-types-title","screen":"micromag-editor-menus-screen-types-screen"};
|
|
2523
2917
|
|
|
2524
2918
|
var propTypes$6 = {
|
|
2525
2919
|
screens: PropTypes$1.screenDefinitions,
|
|
@@ -2615,13 +3009,12 @@ var ScreenTypes = function ScreenTypes(_ref) {
|
|
|
2615
3009
|
}, /*#__PURE__*/React.createElement(ScreensMenu, {
|
|
2616
3010
|
items: items,
|
|
2617
3011
|
withPlaceholder: true,
|
|
2618
|
-
itemClassName: classNames(['border', 'rounded', {
|
|
3012
|
+
itemClassName: classNames([styles$2.screen, 'border', 'rounded', {
|
|
2619
3013
|
'border-secondary': selectedTypes === null,
|
|
2620
3014
|
'border-dark': selectedTypes !== null,
|
|
2621
3015
|
'bg-secondary': selectedTypes === null,
|
|
2622
3016
|
'text-secondary': selectedTypes !== null
|
|
2623
3017
|
}]),
|
|
2624
|
-
previewMinWidth: 100,
|
|
2625
3018
|
onClickItem: onClickItem
|
|
2626
3019
|
})));
|
|
2627
3020
|
})));
|
|
@@ -2765,54 +3158,62 @@ var EditorScreens = function EditorScreens(_ref) {
|
|
|
2765
3158
|
return newScreen;
|
|
2766
3159
|
}, [value, onChange, isTheme, screens, currentScreenId, setCreateModalOpened]);
|
|
2767
3160
|
var onOrderChange = useCallback(function (listItems) {
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
3161
|
+
var ids = listItems.map(function (_ref7) {
|
|
3162
|
+
var id = _ref7.id;
|
|
3163
|
+
return id;
|
|
3164
|
+
});
|
|
3165
|
+
var screenProps = listItems.map(function (_ref8) {
|
|
3166
|
+
var id = _ref8.id,
|
|
3167
|
+
_ref8$props = _ref8.props,
|
|
3168
|
+
props = _ref8$props === void 0 ? null : _ref8$props;
|
|
2773
3169
|
return {
|
|
2774
3170
|
id: id,
|
|
2775
3171
|
props: props
|
|
2776
3172
|
};
|
|
2777
3173
|
});
|
|
2778
|
-
var hasScreenProps = (screenProps.filter(function (
|
|
2779
|
-
var props =
|
|
3174
|
+
var hasScreenProps = (screenProps.filter(function (_ref9) {
|
|
3175
|
+
var props = _ref9.props;
|
|
2780
3176
|
return props !== null;
|
|
2781
3177
|
}) || []).length > 0;
|
|
2782
3178
|
|
|
2783
|
-
var
|
|
2784
|
-
|
|
2785
|
-
currentScreens =
|
|
3179
|
+
var _ref10 = value || {},
|
|
3180
|
+
_ref10$components = _ref10.components,
|
|
3181
|
+
currentScreens = _ref10$components === void 0 ? [] : _ref10$components;
|
|
2786
3182
|
|
|
2787
|
-
var currentIds = currentScreens.map(function (
|
|
2788
|
-
var id =
|
|
3183
|
+
var currentIds = currentScreens.map(function (_ref11) {
|
|
3184
|
+
var id = _ref11.id;
|
|
2789
3185
|
return id;
|
|
2790
3186
|
});
|
|
2791
|
-
var sameOrder = listItems.reduce(function (same,
|
|
2792
|
-
var id =
|
|
3187
|
+
var sameOrder = listItems.reduce(function (same, _ref12, index) {
|
|
3188
|
+
var id = _ref12.id;
|
|
2793
3189
|
return same && id === currentIds[index];
|
|
2794
3190
|
}, true);
|
|
2795
3191
|
|
|
2796
3192
|
if (!sameOrder || hasScreenProps) {
|
|
3193
|
+
console.log('order', ids);
|
|
3194
|
+
|
|
2797
3195
|
var newValue = _objectSpread(_objectSpread({}, value), {}, {
|
|
2798
|
-
components: _toConsumableArray(currentScreens)
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
3196
|
+
components: _toConsumableArray(currentScreens).sort(function (_ref13, _ref14) {
|
|
3197
|
+
var idA = _ref13.id;
|
|
3198
|
+
var idB = _ref14.id;
|
|
3199
|
+
var indexA = ids.indexOf(idA);
|
|
3200
|
+
var indexB = ids.indexOf(idB);
|
|
3201
|
+
|
|
3202
|
+
if (indexA === indexB) {
|
|
3203
|
+
return 0;
|
|
3204
|
+
}
|
|
3205
|
+
|
|
3206
|
+
return indexA > indexB ? 1 : -1;
|
|
3207
|
+
}).map(function (_ref15) {
|
|
2807
3208
|
var _screenProps$find;
|
|
2808
3209
|
|
|
2809
|
-
var id =
|
|
2810
|
-
props = _objectWithoutProperties(
|
|
3210
|
+
var id = _ref15.id,
|
|
3211
|
+
props = _objectWithoutProperties(_ref15, _excluded$1);
|
|
2811
3212
|
|
|
2812
3213
|
return _objectSpread(_objectSpread({
|
|
2813
3214
|
id: id
|
|
2814
|
-
}, props), (_screenProps$find = screenProps.find(function (
|
|
2815
|
-
var propsId =
|
|
3215
|
+
}, props), (_screenProps$find = screenProps.find(function (_ref16) {
|
|
3216
|
+
var propsId = _ref16.id;
|
|
2816
3217
|
return propsId === id;
|
|
2817
3218
|
})) === null || _screenProps$find === void 0 ? void 0 : _screenProps$find.props);
|
|
2818
3219
|
})
|
|
@@ -2825,8 +3226,8 @@ var EditorScreens = function EditorScreens(_ref) {
|
|
|
2825
3226
|
}, [value, onChange]);
|
|
2826
3227
|
var onClickScreenType = useCallback(function (definition) {
|
|
2827
3228
|
setCreateModalOpened(false);
|
|
2828
|
-
var currentScreen = isTheme ? screens.find(function (
|
|
2829
|
-
var type =
|
|
3229
|
+
var currentScreen = isTheme ? screens.find(function (_ref17) {
|
|
3230
|
+
var type = _ref17.type;
|
|
2830
3231
|
return type === definition.id;
|
|
2831
3232
|
}) || null : null;
|
|
2832
3233
|
|
|
@@ -2844,16 +3245,17 @@ var EditorScreens = function EditorScreens(_ref) {
|
|
|
2844
3245
|
}, [setCreateModalOpened]);
|
|
2845
3246
|
var onCreateModalRequestClose = useCallback(function () {
|
|
2846
3247
|
return setCreateModalOpened(false);
|
|
2847
|
-
}, [setCreateModalOpened]);
|
|
3248
|
+
}, [setCreateModalOpened]); // console.log(screens);
|
|
3249
|
+
|
|
2848
3250
|
return /*#__PURE__*/React.createElement("div", {
|
|
2849
|
-
className: classNames(['d-flex', 'flex-column', styles$
|
|
3251
|
+
className: classNames(['d-flex', 'flex-column', styles$7.container, className])
|
|
2850
3252
|
}, /*#__PURE__*/React.createElement(Navbar, {
|
|
2851
3253
|
compact: true,
|
|
2852
3254
|
noWrap: true,
|
|
2853
3255
|
withoutCollapse: true,
|
|
2854
|
-
className: classNames(['sticky-top', styles$
|
|
3256
|
+
className: classNames(['sticky-top', styles$7.navbar])
|
|
2855
3257
|
}, /*#__PURE__*/React.createElement("strong", {
|
|
2856
|
-
className: "mb-0
|
|
3258
|
+
className: "mb-0 me-auto"
|
|
2857
3259
|
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
2858
3260
|
id: "jf+4Hq",
|
|
2859
3261
|
defaultMessage: [{
|
|
@@ -2871,9 +3273,9 @@ var EditorScreens = function EditorScreens(_ref) {
|
|
|
2871
3273
|
className: "flex-grow-1 d-flex w-100 p-2"
|
|
2872
3274
|
}, /*#__PURE__*/React.createElement(Route, {
|
|
2873
3275
|
path: [routes.screen, routes.home],
|
|
2874
|
-
render: function render(
|
|
2875
|
-
var
|
|
2876
|
-
screenId =
|
|
3276
|
+
render: function render(_ref18) {
|
|
3277
|
+
var _ref18$match$params$s = _ref18.match.params.screen,
|
|
3278
|
+
screenId = _ref18$match$params$s === void 0 ? null : _ref18$match$params$s;
|
|
2877
3279
|
return screens.length > 0 ? /*#__PURE__*/React.createElement(ScreensMenu, {
|
|
2878
3280
|
items: screens.map(function (it) {
|
|
2879
3281
|
return {
|
|
@@ -2906,8 +3308,8 @@ var EditorScreens = function EditorScreens(_ref) {
|
|
|
2906
3308
|
})));
|
|
2907
3309
|
}
|
|
2908
3310
|
})), createModalOpened ? /*#__PURE__*/React.createElement(ScreenTypesModal, {
|
|
2909
|
-
selectedTypes: isTheme ? screens.map(function (
|
|
2910
|
-
var type =
|
|
3311
|
+
selectedTypes: isTheme ? screens.map(function (_ref19) {
|
|
3312
|
+
var type = _ref19.type;
|
|
2911
3313
|
return type;
|
|
2912
3314
|
}) : [],
|
|
2913
3315
|
onClickScreenType: onClickScreenType,
|
|
@@ -3053,21 +3455,21 @@ var Editor = function Editor(_ref) {
|
|
|
3053
3455
|
return /*#__PURE__*/React.createElement(ModalsProvider, null, /*#__PURE__*/React.createElement(PanelsProvider, null, /*#__PURE__*/React.createElement(ScreenSizeProvider, {
|
|
3054
3456
|
size: screenSize
|
|
3055
3457
|
}, /*#__PURE__*/React.createElement("div", {
|
|
3056
|
-
className: classNames([styles$
|
|
3057
|
-
return styles$
|
|
3058
|
-
}) : null, (_ref5 = {}, _defineProperty(_ref5, styles$
|
|
3458
|
+
className: classNames([styles$i.container, screenSize !== null ? screenSize.screens.map(function (screenName) {
|
|
3459
|
+
return styles$i["screen-".concat(screenName)];
|
|
3460
|
+
}) : null, (_ref5 = {}, _defineProperty(_ref5, styles$i.fullscreen, fullscreen), _defineProperty(_ref5, className, className), _ref5)]),
|
|
3059
3461
|
ref: refContainer
|
|
3060
3462
|
}, /*#__PURE__*/React.createElement(Navbar, {
|
|
3061
3463
|
theme: "light",
|
|
3062
3464
|
compact: true,
|
|
3063
3465
|
noWrap: true,
|
|
3064
3466
|
withoutCollapse: true,
|
|
3065
|
-
className: styles$
|
|
3467
|
+
className: styles$i.top
|
|
3066
3468
|
}, mobileView !== 'screens' ? /*#__PURE__*/React.createElement(Button, {
|
|
3067
3469
|
size: "sm",
|
|
3068
3470
|
theme: "secondary",
|
|
3069
3471
|
onClick: onClickScreens,
|
|
3070
|
-
className: "
|
|
3472
|
+
className: "me-auto"
|
|
3071
3473
|
}, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
3072
3474
|
id: "wkysUu",
|
|
3073
3475
|
defaultMessage: [{
|
|
@@ -3095,9 +3497,9 @@ var Editor = function Editor(_ref) {
|
|
|
3095
3497
|
"value": "View screen"
|
|
3096
3498
|
}]
|
|
3097
3499
|
})) : null), /*#__PURE__*/React.createElement("div", {
|
|
3098
|
-
className: styles$
|
|
3500
|
+
className: styles$i.inner
|
|
3099
3501
|
}, /*#__PURE__*/React.createElement("div", {
|
|
3100
|
-
className: classNames([styles$
|
|
3502
|
+
className: classNames([styles$i.left, _defineProperty({}, styles$i.visible, !isMobile || mobileView === 'screens')]),
|
|
3101
3503
|
ref: refScreensContainer
|
|
3102
3504
|
}, /*#__PURE__*/React.createElement(EditorScreens, {
|
|
3103
3505
|
value: story,
|
|
@@ -3107,24 +3509,25 @@ var Editor = function Editor(_ref) {
|
|
|
3107
3509
|
onChange: onStoryChange,
|
|
3108
3510
|
onClickScreen: onClickScreen,
|
|
3109
3511
|
isVertical: !isMobile,
|
|
3110
|
-
className: styles$
|
|
3512
|
+
className: styles$i.inner,
|
|
3111
3513
|
isTree: true
|
|
3112
3514
|
})), /*#__PURE__*/React.createElement("div", {
|
|
3113
|
-
className: classNames([styles$
|
|
3515
|
+
className: classNames([styles$i.center, _defineProperty({}, styles$i.visible, !isMobile || mobileView === 'preview')])
|
|
3114
3516
|
}, /*#__PURE__*/React.createElement(EditorPreview, {
|
|
3115
3517
|
value: story,
|
|
3116
3518
|
isTheme: isTheme,
|
|
3117
3519
|
viewerTheme: viewerTheme,
|
|
3118
|
-
className: styles$
|
|
3119
|
-
onScreenChange: onPreviewScreenChange
|
|
3520
|
+
className: styles$i.preview,
|
|
3521
|
+
onScreenChange: onPreviewScreenChange,
|
|
3522
|
+
onChange: onStoryChange
|
|
3120
3523
|
})), /*#__PURE__*/React.createElement("div", {
|
|
3121
|
-
className: classNames([styles$
|
|
3524
|
+
className: classNames([styles$i.right, _defineProperty({}, styles$i.visible, !isMobile || mobileView === 'form')])
|
|
3122
3525
|
}, /*#__PURE__*/React.createElement(EditForm, {
|
|
3123
3526
|
key: screenId,
|
|
3124
3527
|
value: story,
|
|
3125
3528
|
isTheme: isTheme,
|
|
3126
3529
|
onChange: onStoryChange,
|
|
3127
|
-
className: styles$
|
|
3530
|
+
className: styles$i.inner
|
|
3128
3531
|
}))), /*#__PURE__*/React.createElement(Modals, null)))));
|
|
3129
3532
|
};
|
|
3130
3533
|
|