@micromag/editor 0.3.479 → 0.3.482
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/es/index.js +169 -99
- package/lib/index.js +700 -106
- package/package.json +11 -10
package/lib/index.js
CHANGED
|
@@ -14,68 +14,599 @@ var components = require('@micromag/core/components');
|
|
|
14
14
|
var contexts = require('@micromag/core/contexts');
|
|
15
15
|
var hooks = require('@micromag/core/hooks');
|
|
16
16
|
var utils = require('@micromag/core/utils');
|
|
17
|
-
var
|
|
17
|
+
var _toArray = require('@babel/runtime/helpers/toArray');
|
|
18
|
+
var _createForOfIteratorHelper = require('@babel/runtime/helpers/createForOfIteratorHelper');
|
|
19
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
18
20
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
21
|
+
var regexparam = require('regexparam');
|
|
22
|
+
var index_js = require('use-sync-external-store/shim/index.js');
|
|
23
|
+
var pathToRegexp = require('path-to-regexp');
|
|
24
|
+
var mitt = require('mitt');
|
|
19
25
|
var reactTransitionGroup = require('react-transition-group');
|
|
20
|
-
var uuid = require('uuid');
|
|
21
|
-
var isString = require('lodash/isString');
|
|
22
|
-
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
23
|
-
require('lodash/isArray');
|
|
24
|
-
require('lodash/get');
|
|
25
|
-
require('lodash/set');
|
|
26
26
|
var faCogs = require('@fortawesome/free-solid-svg-icons/faCogs');
|
|
27
27
|
var faEllipsisV = require('@fortawesome/free-solid-svg-icons/faEllipsisV');
|
|
28
28
|
var reactFontawesome = require('@fortawesome/react-fontawesome');
|
|
29
29
|
var fields = require('@micromag/fields');
|
|
30
|
+
var uuid = require('uuid');
|
|
30
31
|
var size = require('@folklore/size');
|
|
31
32
|
var viewer = require('@micromag/viewer');
|
|
32
|
-
var _toArray = require('@babel/runtime/helpers/toArray');
|
|
33
33
|
var faPlus = require('@fortawesome/free-solid-svg-icons/faPlus');
|
|
34
34
|
var faTimesCircle = require('@fortawesome/free-solid-svg-icons/faTimesCircle');
|
|
35
|
+
var isString = require('lodash/isString');
|
|
35
36
|
var isFunction = require('lodash/isFunction');
|
|
36
37
|
var reactSortablejs = require('react-sortablejs');
|
|
37
38
|
var core$1 = require('@dnd-kit/core');
|
|
38
39
|
var sortable = require('@dnd-kit/sortable');
|
|
39
40
|
var reactDom = require('react-dom');
|
|
40
|
-
var _createForOfIteratorHelper = require('@babel/runtime/helpers/createForOfIteratorHelper');
|
|
41
41
|
var utilities = require('@dnd-kit/utilities');
|
|
42
42
|
var faAngleDown = require('@fortawesome/free-solid-svg-icons/faAngleDown');
|
|
43
43
|
var faGripLines = require('@fortawesome/free-solid-svg-icons/faGripLines');
|
|
44
44
|
var faTimes = require('@fortawesome/free-solid-svg-icons/faTimes');
|
|
45
45
|
var orderBy = require('lodash/orderBy');
|
|
46
|
-
var reactRouterDom = require('react-router-dom');
|
|
47
46
|
var screens = require('@micromag/screens');
|
|
48
47
|
|
|
48
|
+
function _interopNamespaceDefault(e) {
|
|
49
|
+
var n = Object.create(null);
|
|
50
|
+
if (e) {
|
|
51
|
+
Object.keys(e).forEach(function (k) {
|
|
52
|
+
if (k !== 'default') {
|
|
53
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
54
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () { return e[k]; }
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
n.default = e;
|
|
62
|
+
return Object.freeze(n);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
66
|
+
|
|
67
|
+
// React.useInsertionEffect is not available in React <18
|
|
68
|
+
var useEffect = React__namespace.useEffect,
|
|
69
|
+
useLayoutEffect = React__namespace.useLayoutEffect,
|
|
70
|
+
useRef = React__namespace.useRef,
|
|
71
|
+
useBuiltinInsertionEffect = React__namespace.useInsertionEffect;
|
|
72
|
+
|
|
73
|
+
// Copied from:
|
|
74
|
+
// https://github.com/facebook/react/blob/main/packages/shared/ExecutionEnvironment.js
|
|
75
|
+
var canUseDOM = !!(typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined");
|
|
76
|
+
|
|
77
|
+
// Copied from:
|
|
78
|
+
// https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.ts
|
|
79
|
+
// "React currently throws a warning when using useLayoutEffect on the server.
|
|
80
|
+
// To get around it, we can conditionally useEffect on the server (no-op) and
|
|
81
|
+
// useLayoutEffect in the browser."
|
|
82
|
+
var useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;
|
|
83
|
+
|
|
84
|
+
// useInsertionEffect is already a noop on the server.
|
|
85
|
+
// See: https://github.com/facebook/react/blob/main/packages/react-server/src/ReactFizzHooks.js
|
|
86
|
+
var useInsertionEffect = useBuiltinInsertionEffect || useIsomorphicLayoutEffect;
|
|
87
|
+
|
|
88
|
+
// Userland polyfill while we wait for the forthcoming
|
|
89
|
+
// https://github.com/reactjs/rfcs/blob/useevent/text/0000-useevent.md
|
|
90
|
+
// Note: "A high-fidelity polyfill for useEvent is not possible because
|
|
91
|
+
// there is no lifecycle or Hook in React that we can use to switch
|
|
92
|
+
// .current at the right timing."
|
|
93
|
+
// So we will have to make do with this "close enough" approach for now.
|
|
94
|
+
var useEvent = function useEvent(fn) {
|
|
95
|
+
var ref = useRef([fn, function () {
|
|
96
|
+
return ref[0].apply(ref, arguments);
|
|
97
|
+
}]).current;
|
|
98
|
+
// Per Dan Abramov: useInsertionEffect executes marginally closer to the
|
|
99
|
+
// correct timing for ref synchronization than useLayoutEffect on React 18.
|
|
100
|
+
// See: https://github.com/facebook/react/pull/25881#issuecomment-1356244360
|
|
101
|
+
useInsertionEffect(function () {
|
|
102
|
+
ref[0] = fn;
|
|
103
|
+
});
|
|
104
|
+
return ref[1];
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* History API docs @see https://developer.mozilla.org/en-US/docs/Web/API/History
|
|
109
|
+
*/
|
|
110
|
+
var eventPopstate = "popstate";
|
|
111
|
+
var eventPushState = "pushState";
|
|
112
|
+
var eventReplaceState = "replaceState";
|
|
113
|
+
var eventHashchange = "hashchange";
|
|
114
|
+
var events = [eventPopstate, eventPushState, eventReplaceState, eventHashchange];
|
|
115
|
+
var subscribeToLocationUpdates = function subscribeToLocationUpdates(callback) {
|
|
116
|
+
for (var _i = 0, _events = events; _i < _events.length; _i++) {
|
|
117
|
+
var event = _events[_i];
|
|
118
|
+
addEventListener(event, callback);
|
|
119
|
+
}
|
|
120
|
+
return function () {
|
|
121
|
+
for (var _i2 = 0, _events2 = events; _i2 < _events2.length; _i2++) {
|
|
122
|
+
var _event = _events2[_i2];
|
|
123
|
+
removeEventListener(_event, callback);
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
var useLocationProperty = function useLocationProperty(fn, ssrFn) {
|
|
128
|
+
return index_js.useSyncExternalStore(subscribeToLocationUpdates, fn, ssrFn);
|
|
129
|
+
};
|
|
130
|
+
var currentSearch = function currentSearch() {
|
|
131
|
+
return location.search;
|
|
132
|
+
};
|
|
133
|
+
var useSearch = function useSearch() {
|
|
134
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
135
|
+
_ref$ssrSearch = _ref.ssrSearch,
|
|
136
|
+
ssrSearch = _ref$ssrSearch === void 0 ? "" : _ref$ssrSearch;
|
|
137
|
+
return useLocationProperty(currentSearch, function () {
|
|
138
|
+
return ssrSearch;
|
|
139
|
+
});
|
|
140
|
+
};
|
|
141
|
+
var currentPathname = function currentPathname() {
|
|
142
|
+
return location.pathname;
|
|
143
|
+
};
|
|
144
|
+
var usePathname = function usePathname() {
|
|
145
|
+
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
146
|
+
ssrPath = _ref2.ssrPath;
|
|
147
|
+
return useLocationProperty(currentPathname, ssrPath ? function () {
|
|
148
|
+
return ssrPath;
|
|
149
|
+
} : currentPathname);
|
|
150
|
+
};
|
|
151
|
+
var navigate = function navigate(to) {
|
|
152
|
+
var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
153
|
+
_ref3$replace = _ref3.replace,
|
|
154
|
+
replace = _ref3$replace === void 0 ? false : _ref3$replace,
|
|
155
|
+
_ref3$state = _ref3.state,
|
|
156
|
+
state = _ref3$state === void 0 ? null : _ref3$state;
|
|
157
|
+
return history[replace ? eventReplaceState : eventPushState](state, "", to);
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
// the 2nd argument of the `useBrowserLocation` return value is a function
|
|
161
|
+
// that allows to perform a navigation.
|
|
162
|
+
var useBrowserLocation = function useBrowserLocation() {
|
|
163
|
+
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
164
|
+
return [usePathname(opts), navigate];
|
|
165
|
+
};
|
|
166
|
+
var patchKey = Symbol["for"]("wouter_v3");
|
|
167
|
+
|
|
168
|
+
// While History API does have `popstate` event, the only
|
|
169
|
+
// proper way to listen to changes via `push/replaceState`
|
|
170
|
+
// is to monkey-patch these methods.
|
|
171
|
+
//
|
|
172
|
+
// See https://stackoverflow.com/a/4585031
|
|
173
|
+
if (typeof history !== "undefined" && typeof window[patchKey] === "undefined") {
|
|
174
|
+
var _loop = function _loop() {
|
|
175
|
+
var type = _arr[_i3];
|
|
176
|
+
var original = history[type];
|
|
177
|
+
// TODO: we should be using unstable_batchedUpdates to avoid multiple re-renders,
|
|
178
|
+
// however that will require an additional peer dependency on react-dom.
|
|
179
|
+
// See: https://github.com/reactwg/react-18/discussions/86#discussioncomment-1567149
|
|
180
|
+
history[type] = function () {
|
|
181
|
+
var result = original.apply(this, arguments);
|
|
182
|
+
var event = new Event(type);
|
|
183
|
+
event.arguments = arguments;
|
|
184
|
+
dispatchEvent(event);
|
|
185
|
+
return result;
|
|
186
|
+
};
|
|
187
|
+
};
|
|
188
|
+
for (var _i3 = 0, _arr = [eventPushState, eventReplaceState]; _i3 < _arr.length; _i3++) {
|
|
189
|
+
_loop();
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
// patch history object only once
|
|
193
|
+
// See: https://github.com/molefrog/wouter/issues/167
|
|
194
|
+
Object.defineProperty(window, patchKey, {
|
|
195
|
+
value: true
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
var _excluded$d = ["children"],
|
|
200
|
+
_excluded2$1 = ["path", "nest", "match"],
|
|
201
|
+
_excluded3 = ["to", "href", "onClick", "asChild", "children", "replace", "state"];
|
|
202
|
+
|
|
203
|
+
/*
|
|
204
|
+
* Transforms `path` into its relative `base` version
|
|
205
|
+
* If base isn't part of the path provided returns absolute path e.g. `~/app`
|
|
206
|
+
*/
|
|
207
|
+
var relativePath = function relativePath() {
|
|
208
|
+
var base = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
|
|
209
|
+
var path = arguments.length > 1 ? arguments[1] : undefined;
|
|
210
|
+
return !path.toLowerCase().indexOf(base.toLowerCase()) ? path.slice(base.length) || "/" : "~" + path;
|
|
211
|
+
};
|
|
212
|
+
var absolutePath = function absolutePath(to) {
|
|
213
|
+
var base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
|
|
214
|
+
return to[0] === "~" ? to.slice(1) : base + to;
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
/*
|
|
218
|
+
* decodes escape sequences such as %20
|
|
219
|
+
*/
|
|
220
|
+
var unescape = function unescape(str) {
|
|
221
|
+
try {
|
|
222
|
+
return decodeURI(str);
|
|
223
|
+
} catch (_e) {
|
|
224
|
+
// fail-safe mode: if string can't be decoded do nothing
|
|
225
|
+
return str;
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
/*
|
|
230
|
+
* Router and router context. Router is a lightweight object that represents the current
|
|
231
|
+
* routing options: how location is managed, base path etc.
|
|
232
|
+
*
|
|
233
|
+
* There is a default router present for most of the use cases, however it can be overridden
|
|
234
|
+
* via the <Router /> component.
|
|
235
|
+
*/
|
|
236
|
+
|
|
237
|
+
var defaultRouter = {
|
|
238
|
+
hook: useBrowserLocation,
|
|
239
|
+
searchHook: useSearch,
|
|
240
|
+
parser: regexparam.parse,
|
|
241
|
+
base: "",
|
|
242
|
+
// this option is used to override the current location during SSR
|
|
243
|
+
ssrPath: undefined,
|
|
244
|
+
ssrSearch: undefined
|
|
245
|
+
};
|
|
246
|
+
var RouterCtx = React.createContext(defaultRouter);
|
|
247
|
+
|
|
248
|
+
// gets the closest parent router from the context
|
|
249
|
+
var useRouter = function useRouter() {
|
|
250
|
+
return React.useContext(RouterCtx);
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Parameters context. Used by `useParams()` to get the
|
|
255
|
+
* matched params from the innermost `Route` component.
|
|
256
|
+
*/
|
|
257
|
+
|
|
258
|
+
var ParamsCtx = React.createContext({});
|
|
259
|
+
|
|
260
|
+
/*
|
|
261
|
+
* Part 1, Hooks API: useRoute and useLocation
|
|
262
|
+
*/
|
|
263
|
+
|
|
264
|
+
// Internal version of useLocation to avoid redundant useRouter calls
|
|
265
|
+
|
|
266
|
+
var useLocationFromRouter = function useLocationFromRouter(router) {
|
|
267
|
+
var _router$hook = router.hook(router),
|
|
268
|
+
_router$hook2 = _slicedToArray(_router$hook, 2),
|
|
269
|
+
location = _router$hook2[0],
|
|
270
|
+
navigate = _router$hook2[1];
|
|
271
|
+
|
|
272
|
+
// the function reference should stay the same between re-renders, so that
|
|
273
|
+
// it can be passed down as an element prop without any performance concerns.
|
|
274
|
+
// (This is achieved via `useEvent`.)
|
|
275
|
+
return [unescape(relativePath(router.base, location)), useEvent(function (to, navOpts) {
|
|
276
|
+
return navigate(absolutePath(to, router.base), navOpts);
|
|
277
|
+
})];
|
|
278
|
+
};
|
|
279
|
+
var useLocation = function useLocation() {
|
|
280
|
+
return useLocationFromRouter(useRouter());
|
|
281
|
+
};
|
|
282
|
+
var matchRoute = function matchRoute(parser, route, path, loose) {
|
|
283
|
+
// when parser is in "loose" mode, `$base` is equal to the
|
|
284
|
+
// first part of the route that matches the pattern
|
|
285
|
+
// (e.g. for pattern `/a/:b` and path `/a/1/2/3` the `$base` is `a/1`)
|
|
286
|
+
// we use this for route nesting
|
|
287
|
+
var _parser = parser(route || "*", loose),
|
|
288
|
+
pattern = _parser.pattern,
|
|
289
|
+
keys = _parser.keys;
|
|
290
|
+
var _ref = pattern.exec(path) || [],
|
|
291
|
+
_ref2 = _toArray(_ref),
|
|
292
|
+
$base = _ref2[0],
|
|
293
|
+
matches = _ref2.slice(1);
|
|
294
|
+
return $base !== undefined ? [true,
|
|
295
|
+
// an object with parameters matched, e.g. { foo: "bar" } for "/:foo"
|
|
296
|
+
// we "zip" two arrays here to construct the object
|
|
297
|
+
// ["foo"], ["bar"] → { foo: "bar" }
|
|
298
|
+
Object.fromEntries(keys.map(function (key, i) {
|
|
299
|
+
return [key, matches[i]];
|
|
300
|
+
}))].concat(_toConsumableArray(loose ? [$base] : [])) : [false, null];
|
|
301
|
+
};
|
|
302
|
+
|
|
303
|
+
/*
|
|
304
|
+
* Part 2, Low Carb Router API: Router, Route, Link, Switch
|
|
305
|
+
*/
|
|
306
|
+
|
|
307
|
+
var Router = function Router(_ref3) {
|
|
308
|
+
var children = _ref3.children,
|
|
309
|
+
props = _objectWithoutProperties(_ref3, _excluded$d);
|
|
310
|
+
// the router we will inherit from - it is the closest router in the tree,
|
|
311
|
+
// unless the custom `hook` is provided (in that case it's the default one)
|
|
312
|
+
var parent_ = useRouter();
|
|
313
|
+
var parent = props.hook ? defaultRouter : parent_;
|
|
314
|
+
|
|
315
|
+
// holds to the context value: the router object
|
|
316
|
+
var value = parent;
|
|
317
|
+
|
|
318
|
+
// what is happening below: to avoid unnecessary rerenders in child components,
|
|
319
|
+
// we ensure that the router object reference is stable, unless there are any
|
|
320
|
+
// changes that require reload (e.g. `base` prop changes -> all components that
|
|
321
|
+
// get the router from the context should rerender, even if the component is memoized).
|
|
322
|
+
// the expected behaviour is:
|
|
323
|
+
//
|
|
324
|
+
// 1) when the resulted router is no different from the parent, use parent
|
|
325
|
+
// 2) if the custom `hook` prop is provided, we always inherit from the
|
|
326
|
+
// default router instead. this resets all previously overridden options.
|
|
327
|
+
// 3) when the router is customized here, it should stay stable between renders
|
|
328
|
+
var ref = React.useRef({}),
|
|
329
|
+
prev = ref.current,
|
|
330
|
+
next = prev;
|
|
331
|
+
for (var k in parent) {
|
|
332
|
+
var option = k === "base" ? /* base is special case, it is appended to the parent's base */
|
|
333
|
+
parent[k] + (props[k] || "") : props[k] || parent[k];
|
|
334
|
+
if (prev === next && option !== next[k]) {
|
|
335
|
+
ref.current = next = _objectSpread({}, next);
|
|
336
|
+
}
|
|
337
|
+
next[k] = option;
|
|
338
|
+
|
|
339
|
+
// the new router is no different from the parent, use parent
|
|
340
|
+
if (option !== parent[k]) value = next;
|
|
341
|
+
}
|
|
342
|
+
return React.createElement(RouterCtx.Provider, {
|
|
343
|
+
value: value,
|
|
344
|
+
children: children
|
|
345
|
+
});
|
|
346
|
+
};
|
|
347
|
+
var h_route = function h_route(_ref4, params) {
|
|
348
|
+
var children = _ref4.children,
|
|
349
|
+
component = _ref4.component;
|
|
350
|
+
// React-Router style `component` prop
|
|
351
|
+
if (component) return React.createElement(component, {
|
|
352
|
+
params: params
|
|
353
|
+
});
|
|
354
|
+
|
|
355
|
+
// support render prop or plain children
|
|
356
|
+
return typeof children === "function" ? children(params) : children;
|
|
357
|
+
};
|
|
358
|
+
var Route = function Route(_ref5) {
|
|
359
|
+
var path = _ref5.path,
|
|
360
|
+
nest = _ref5.nest,
|
|
361
|
+
match = _ref5.match,
|
|
362
|
+
renderProps = _objectWithoutProperties(_ref5, _excluded2$1);
|
|
363
|
+
var router = useRouter();
|
|
364
|
+
var _useLocationFromRoute = useLocationFromRouter(router),
|
|
365
|
+
_useLocationFromRoute2 = _slicedToArray(_useLocationFromRoute, 1),
|
|
366
|
+
location = _useLocationFromRoute2[0];
|
|
367
|
+
var _ref6 = // `match` is a special prop to give up control to the parent,
|
|
368
|
+
// it is used by the `Switch` to avoid double matching
|
|
369
|
+
match !== null && match !== void 0 ? match : matchRoute(router.parser, path, location, nest),
|
|
370
|
+
_ref7 = _slicedToArray(_ref6, 3),
|
|
371
|
+
matches = _ref7[0],
|
|
372
|
+
params = _ref7[1],
|
|
373
|
+
base = _ref7[2];
|
|
374
|
+
if (!matches) return null;
|
|
375
|
+
var children = base ? React.createElement(Router, {
|
|
376
|
+
base: base
|
|
377
|
+
}, h_route(renderProps, params)) : h_route(renderProps, params);
|
|
378
|
+
return React.createElement(ParamsCtx.Provider, {
|
|
379
|
+
value: params,
|
|
380
|
+
children: children
|
|
381
|
+
});
|
|
382
|
+
};
|
|
383
|
+
React.forwardRef(function (props, ref) {
|
|
384
|
+
var router = useRouter();
|
|
385
|
+
var _useLocationFromRoute3 = useLocationFromRouter(router),
|
|
386
|
+
_useLocationFromRoute4 = _slicedToArray(_useLocationFromRoute3, 2),
|
|
387
|
+
navigate = _useLocationFromRoute4[1];
|
|
388
|
+
var to = props.to,
|
|
389
|
+
_props$href = props.href,
|
|
390
|
+
_href = _props$href === void 0 ? to : _props$href,
|
|
391
|
+
_onClick = props.onClick,
|
|
392
|
+
asChild = props.asChild,
|
|
393
|
+
children = props.children;
|
|
394
|
+
props.replace;
|
|
395
|
+
props.state;
|
|
396
|
+
var restProps = _objectWithoutProperties(props, _excluded3);
|
|
397
|
+
var onClick = useEvent(function (event) {
|
|
398
|
+
// ignores the navigation when clicked using right mouse button or
|
|
399
|
+
// by holding a special modifier key: ctrl, command, win, alt, shift
|
|
400
|
+
if (event.ctrlKey || event.metaKey || event.altKey || event.shiftKey || event.button !== 0) return;
|
|
401
|
+
_onClick && _onClick(event); // TODO: is it safe to use _onClick?.(event)
|
|
402
|
+
if (!event.defaultPrevented) {
|
|
403
|
+
event.preventDefault();
|
|
404
|
+
navigate(_href, props);
|
|
405
|
+
}
|
|
406
|
+
});
|
|
407
|
+
|
|
408
|
+
// handle nested routers and absolute paths
|
|
409
|
+
var href = _href[0] === "~" ? _href.slice(1) : router.base + _href;
|
|
410
|
+
return asChild && React.isValidElement(children) ? React.cloneElement(children, {
|
|
411
|
+
href: href,
|
|
412
|
+
onClick: onClick
|
|
413
|
+
}) : React.createElement("a", _objectSpread(_objectSpread({}, restProps), {}, {
|
|
414
|
+
href: href,
|
|
415
|
+
onClick: onClick,
|
|
416
|
+
children: children,
|
|
417
|
+
ref: ref
|
|
418
|
+
}));
|
|
419
|
+
});
|
|
420
|
+
var flattenChildren = function flattenChildren(children) {
|
|
421
|
+
var _ref8;
|
|
422
|
+
return Array.isArray(children) ? (_ref8 = []).concat.apply(_ref8, _toConsumableArray(children.map(function (c) {
|
|
423
|
+
return c && c.type === React.Fragment ? flattenChildren(c.props.children) : flattenChildren(c);
|
|
424
|
+
}))) : [children];
|
|
425
|
+
};
|
|
426
|
+
var Switch = function Switch(_ref9) {
|
|
427
|
+
var children = _ref9.children,
|
|
428
|
+
location = _ref9.location;
|
|
429
|
+
var router = useRouter();
|
|
430
|
+
var _useLocationFromRoute5 = useLocationFromRouter(router),
|
|
431
|
+
_useLocationFromRoute6 = _slicedToArray(_useLocationFromRoute5, 1),
|
|
432
|
+
originalLocation = _useLocationFromRoute6[0];
|
|
433
|
+
var _iterator = _createForOfIteratorHelper(flattenChildren(children)),
|
|
434
|
+
_step;
|
|
435
|
+
try {
|
|
436
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
437
|
+
var element = _step.value;
|
|
438
|
+
var match = 0;
|
|
439
|
+
if (React.isValidElement(element) &&
|
|
440
|
+
// we don't require an element to be of type Route,
|
|
441
|
+
// but we do require it to contain a truthy `path` prop.
|
|
442
|
+
// this allows to use different components that wrap Route
|
|
443
|
+
// inside of a switch, for example <AnimatedRoute />.
|
|
444
|
+
(match = matchRoute(router.parser, element.props.path, location || originalLocation, element.props.nest))[0]) return React.cloneElement(element, {
|
|
445
|
+
match: match
|
|
446
|
+
});
|
|
447
|
+
}
|
|
448
|
+
} catch (err) {
|
|
449
|
+
_iterator.e(err);
|
|
450
|
+
} finally {
|
|
451
|
+
_iterator.f();
|
|
452
|
+
}
|
|
453
|
+
return null;
|
|
454
|
+
};
|
|
455
|
+
|
|
456
|
+
({
|
|
457
|
+
children: PropTypes.node.isRequired,
|
|
458
|
+
routes: PropTypes.objectOf(PropTypes.string).isRequired,
|
|
459
|
+
basePath: PropTypes.string
|
|
460
|
+
});
|
|
461
|
+
function parseLocation(location) {
|
|
462
|
+
var search = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
463
|
+
var hash = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
464
|
+
var _split = (location || '').split('?', 2),
|
|
465
|
+
_split2 = _slicedToArray(_split, 2),
|
|
466
|
+
pathname = _split2[0],
|
|
467
|
+
_split2$ = _split2[1],
|
|
468
|
+
searchFromPath = _split2$ === void 0 ? null : _split2$;
|
|
469
|
+
var _split3 = (searchFromPath || '').split('#', 2),
|
|
470
|
+
_split4 = _slicedToArray(_split3, 2),
|
|
471
|
+
searchWithoutHash = _split4[0],
|
|
472
|
+
_split4$ = _split4[1],
|
|
473
|
+
hashFromPath = _split4$ === void 0 ? null : _split4$;
|
|
474
|
+
return {
|
|
475
|
+
pathname: pathname !== '' ? pathname : '/',
|
|
476
|
+
search: search || searchWithoutHash || null,
|
|
477
|
+
hash: hash || hashFromPath || null
|
|
478
|
+
};
|
|
479
|
+
}
|
|
480
|
+
function useMemoryRouter() {
|
|
481
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
482
|
+
_ref3$path = _ref3.path,
|
|
483
|
+
path = _ref3$path === void 0 ? '/' : _ref3$path,
|
|
484
|
+
_ref3$static = _ref3["static"],
|
|
485
|
+
staticLocation = _ref3$static === void 0 ? false : _ref3$static;
|
|
486
|
+
_ref3.record;
|
|
487
|
+
var currentPath = parseLocation(path);
|
|
488
|
+
var emitter = mitt();
|
|
489
|
+
var navigateImplementation = function navigateImplementation(newPath) {
|
|
490
|
+
var newParsedPath = parseLocation(newPath);
|
|
491
|
+
currentPath = newParsedPath;
|
|
492
|
+
emitter.emit('navigate', path);
|
|
493
|
+
};
|
|
494
|
+
var navigate = !staticLocation ? navigateImplementation : function () {
|
|
495
|
+
return null;
|
|
496
|
+
};
|
|
497
|
+
var subscribe = function subscribe(cb) {
|
|
498
|
+
emitter.on('navigate', cb);
|
|
499
|
+
return function () {
|
|
500
|
+
return emitter.off('navigate', cb);
|
|
501
|
+
};
|
|
502
|
+
};
|
|
503
|
+
function reset() {
|
|
504
|
+
navigateImplementation(path);
|
|
505
|
+
}
|
|
506
|
+
var locationHook = function locationHook() {
|
|
507
|
+
return [React.useSyncExternalStore(subscribe, function () {
|
|
508
|
+
return currentPath.pathname;
|
|
509
|
+
}), navigate];
|
|
510
|
+
};
|
|
511
|
+
var searchHook = function searchHook() {
|
|
512
|
+
return React.useSyncExternalStore(subscribe, function () {
|
|
513
|
+
return currentPath.search || '';
|
|
514
|
+
});
|
|
515
|
+
};
|
|
516
|
+
return {
|
|
517
|
+
hook: locationHook,
|
|
518
|
+
searchHook: searchHook,
|
|
519
|
+
reset: reset,
|
|
520
|
+
navigate: navigate
|
|
521
|
+
};
|
|
522
|
+
}
|
|
523
|
+
function useRouteMatcher() {
|
|
524
|
+
var router = useRouter();
|
|
525
|
+
var _useLocation3 = useLocation(),
|
|
526
|
+
_useLocation4 = _slicedToArray(_useLocation3, 1),
|
|
527
|
+
location = _useLocation4[0];
|
|
528
|
+
var matcher = React.useCallback(function (route) {
|
|
529
|
+
var specificLocation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
530
|
+
var path = specificLocation || location;
|
|
531
|
+
// when parser is in "loose" mode, `$base` is equal to the
|
|
532
|
+
// first part of the route that matches the pattern
|
|
533
|
+
// (e.g. for pattern `/a/:b` and path `/a/1/2/3` the `$base` is `a/1`)
|
|
534
|
+
// we use this for route nesting
|
|
535
|
+
var _router$parser = router.parser(route || '*'),
|
|
536
|
+
pattern = _router$parser.pattern,
|
|
537
|
+
keys = _router$parser.keys;
|
|
538
|
+
var _ref4 = pattern.exec(path) || [],
|
|
539
|
+
_ref5 = _toArray(_ref4),
|
|
540
|
+
$base = _ref5[0],
|
|
541
|
+
matches = _ref5.slice(1);
|
|
542
|
+
return $base !== undefined ? [true,
|
|
543
|
+
// an object with parameters matched, e.g. { foo: "bar" } for "/:foo"
|
|
544
|
+
// we "zip" two arrays here to construct the object
|
|
545
|
+
// ["foo"], ["bar"] → { foo: "bar" }
|
|
546
|
+
Object.fromEntries(keys.map(function (key, i) {
|
|
547
|
+
return [key, matches[i]];
|
|
548
|
+
}))] : [false];
|
|
549
|
+
}, [router, location]);
|
|
550
|
+
return matcher;
|
|
551
|
+
}
|
|
552
|
+
function createPathToRegexpParser(opts) {
|
|
553
|
+
return function (path, loose) {
|
|
554
|
+
var keys = [];
|
|
555
|
+
var isWildcard = path.match(/(\/|^)\*$/) !== null;
|
|
556
|
+
var pattern = pathToRegexp.pathToRegexp(isWildcard ? path.replace(/(\/|^)\*$/, '$1(.*)') : path, keys, _objectSpread({
|
|
557
|
+
end: !loose && !isWildcard
|
|
558
|
+
}, opts));
|
|
559
|
+
return {
|
|
560
|
+
pattern: pattern,
|
|
561
|
+
// `pathToRegexp` returns some metadata about the keys,
|
|
562
|
+
// we want to strip it to just an array of keys
|
|
563
|
+
keys: keys.map(function (k) {
|
|
564
|
+
return k.name;
|
|
565
|
+
})
|
|
566
|
+
};
|
|
567
|
+
};
|
|
568
|
+
}
|
|
569
|
+
|
|
49
570
|
var useRouteParams = function useRouteParams() {
|
|
50
571
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
51
572
|
_ref$screenOnly = _ref.screenOnly,
|
|
52
573
|
screenOnly = _ref$screenOnly === void 0 ? false : _ref$screenOnly;
|
|
53
574
|
var routes = contexts.useRoutes();
|
|
54
|
-
var
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
var
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
575
|
+
var _useLocation = useLocation(),
|
|
576
|
+
_useLocation2 = _slicedToArray(_useLocation, 1),
|
|
577
|
+
location = _useLocation2[0];
|
|
578
|
+
var matcher = useRouteMatcher();
|
|
579
|
+
var _useMemo = React.useMemo(function () {
|
|
580
|
+
var paths = screenOnly ? [routes.screen] : [routes['screen.field.form'], routes['screen.field'], routes.screen, '*'];
|
|
581
|
+
return paths.reduce(function (currentParams, path) {
|
|
582
|
+
if (currentParams !== null) {
|
|
583
|
+
return currentParams;
|
|
584
|
+
}
|
|
585
|
+
var _matcher = matcher(path),
|
|
586
|
+
_matcher2 = _slicedToArray(_matcher, 2),
|
|
587
|
+
_matcher2$ = _matcher2[0],
|
|
588
|
+
match = _matcher2$ === void 0 ? false : _matcher2$,
|
|
589
|
+
params = _matcher2[1];
|
|
590
|
+
return match ? params : currentParams;
|
|
591
|
+
}, null) || {};
|
|
592
|
+
}, [routes, screenOnly, location, matcher]),
|
|
593
|
+
_useMemo$screen = _useMemo.screen,
|
|
594
|
+
screen = _useMemo$screen === void 0 ? null : _useMemo$screen,
|
|
595
|
+
_useMemo$field = _useMemo.field,
|
|
596
|
+
field = _useMemo$field === void 0 ? null : _useMemo$field,
|
|
597
|
+
_useMemo$form = _useMemo.form,
|
|
598
|
+
form = _useMemo$form === void 0 ? null : _useMemo$form;
|
|
68
599
|
var routeParams = React.useMemo(function () {
|
|
69
600
|
return screenOnly ? {
|
|
70
|
-
url:
|
|
601
|
+
url: location,
|
|
71
602
|
screen: screen
|
|
72
603
|
} : {
|
|
73
|
-
url:
|
|
604
|
+
url: location,
|
|
74
605
|
screen: screen,
|
|
75
606
|
field: field,
|
|
76
607
|
form: form
|
|
77
608
|
};
|
|
78
|
-
}, [screenOnly,
|
|
609
|
+
}, [screenOnly, location, screen, field, form]);
|
|
79
610
|
return routeParams;
|
|
80
611
|
};
|
|
81
612
|
|
|
@@ -190,6 +721,7 @@ var createScreen = function createScreen(definition) {
|
|
|
190
721
|
id: uuid.v1()
|
|
191
722
|
});
|
|
192
723
|
};
|
|
724
|
+
var createScreen$1 = createScreen;
|
|
193
725
|
|
|
194
726
|
var _excluded$c = ["components"];
|
|
195
727
|
var deleteScreen = function deleteScreen(story, screenId) {
|
|
@@ -279,6 +811,7 @@ var SettingsButton = function SettingsButton(_ref) {
|
|
|
279
811
|
};
|
|
280
812
|
SettingsButton.propTypes = propTypes$o;
|
|
281
813
|
SettingsButton.defaultProps = defaultProps$o;
|
|
814
|
+
var SettingsButton$1 = SettingsButton;
|
|
282
815
|
|
|
283
816
|
var _excluded$8 = ["name", "form"];
|
|
284
817
|
var propTypes$n = {
|
|
@@ -339,6 +872,7 @@ var FieldWithContexts = function FieldWithContexts(_ref) {
|
|
|
339
872
|
};
|
|
340
873
|
FieldWithContexts.propTypes = propTypes$n;
|
|
341
874
|
FieldWithContexts.defaultProps = defaultProps$n;
|
|
875
|
+
var FieldWithContexts$1 = FieldWithContexts;
|
|
342
876
|
|
|
343
877
|
var styles$i = {"container":"micromag-editor-forms-screen-container","inner":"micromag-editor-forms-screen-inner"};
|
|
344
878
|
|
|
@@ -393,6 +927,7 @@ var ScreenForm = function ScreenForm(_ref) {
|
|
|
393
927
|
};
|
|
394
928
|
ScreenForm.propTypes = propTypes$m;
|
|
395
929
|
ScreenForm.defaultProps = defaultProps$m;
|
|
930
|
+
var ScreenForm$1 = ScreenForm;
|
|
396
931
|
|
|
397
932
|
var styles$h = {"container":"micromag-editor-menus-breadcrumb-container"};
|
|
398
933
|
|
|
@@ -422,7 +957,9 @@ var Breadcrumb = function Breadcrumb(_ref) {
|
|
|
422
957
|
var _ref2 = story || {},
|
|
423
958
|
_ref2$components = _ref2.components,
|
|
424
959
|
screens = _ref2$components === void 0 ? [] : _ref2$components;
|
|
425
|
-
var
|
|
960
|
+
var _useLocation = useLocation(),
|
|
961
|
+
_useLocation2 = _slicedToArray(_useLocation, 2),
|
|
962
|
+
setLocation = _useLocation2[1];
|
|
426
963
|
var screensManager = contexts.useScreensManager();
|
|
427
964
|
var fieldsManager = contexts.useFieldsManager();
|
|
428
965
|
var fieldsComponentManager = contexts.useFieldsComponentsManager();
|
|
@@ -607,8 +1144,8 @@ var Breadcrumb = function Breadcrumb(_ref) {
|
|
|
607
1144
|
}, [intl, route, screenId, field, form, url, screenFields, screenStates, screenTitle, fieldsManager]);
|
|
608
1145
|
var itemsLength = items.length;
|
|
609
1146
|
var onClickBack = React.useCallback(function () {
|
|
610
|
-
|
|
611
|
-
}, [items]);
|
|
1147
|
+
setLocation(items[itemsLength - 2].url);
|
|
1148
|
+
}, [items, setLocation]);
|
|
612
1149
|
var withBack = itemsLength > 1;
|
|
613
1150
|
return /*#__PURE__*/React.createElement(React.Fragment, null, withBack ? /*#__PURE__*/React.createElement(components.BackButton, {
|
|
614
1151
|
onClick: onClickBack,
|
|
@@ -623,6 +1160,7 @@ var Breadcrumb = function Breadcrumb(_ref) {
|
|
|
623
1160
|
};
|
|
624
1161
|
Breadcrumb.propTypes = propTypes$l;
|
|
625
1162
|
Breadcrumb.defaultProps = defaultProps$l;
|
|
1163
|
+
var Breadcrumb$1 = Breadcrumb;
|
|
626
1164
|
|
|
627
1165
|
var styles$g = {"container":"micromag-editor-modals-delete-screen-container","description":"micromag-editor-modals-delete-screen-description","actions":"micromag-editor-modals-delete-screen-actions"};
|
|
628
1166
|
|
|
@@ -683,6 +1221,7 @@ var DeleteScreenModal = function DeleteScreenModal(_ref) {
|
|
|
683
1221
|
};
|
|
684
1222
|
DeleteScreenModal.propTypes = propTypes$k;
|
|
685
1223
|
DeleteScreenModal.defaultProps = defaultProps$k;
|
|
1224
|
+
var DeleteScreenModal$1 = DeleteScreenModal;
|
|
686
1225
|
|
|
687
1226
|
var styles$f = {"panel":"micromag-editor-form-panel","exit":"micromag-editor-form-exit","content":"micromag-editor-form-content","navbar":"micromag-editor-form-navbar","enterRight":"micromag-editor-form-enterRight","enterLeft":"micromag-editor-form-enterLeft","enterTop":"micromag-editor-form-enterTop","enterBottom":"micromag-editor-form-enterBottom","enterActiveHorizontal":"micromag-editor-form-enterActiveHorizontal","enterActiveVertical":"micromag-editor-form-enterActiveVertical","exitActiveRight":"micromag-editor-form-exitActiveRight","exitActiveLeft":"micromag-editor-form-exitActiveLeft","exitActiveTop":"micromag-editor-form-exitActiveTop","exitActiveBottom":"micromag-editor-form-exitActiveBottom"};
|
|
688
1227
|
|
|
@@ -704,7 +1243,9 @@ var EditForm = function EditForm(_ref) {
|
|
|
704
1243
|
className = _ref.className,
|
|
705
1244
|
onChange = _ref.onChange;
|
|
706
1245
|
// Match routes
|
|
707
|
-
var
|
|
1246
|
+
var _useLocation = useLocation(),
|
|
1247
|
+
_useLocation2 = _slicedToArray(_useLocation, 2),
|
|
1248
|
+
setLocation = _useLocation2[1];
|
|
708
1249
|
var routePush = contexts.useRoutePush();
|
|
709
1250
|
var _useRouteParams = useRouteParams(),
|
|
710
1251
|
url = _useRouteParams.url,
|
|
@@ -789,12 +1330,12 @@ var EditForm = function EditForm(_ref) {
|
|
|
789
1330
|
var fieldKey = "".concat(field).concat(formName !== null ? ":".concat(formName) : '');
|
|
790
1331
|
var pastUrl = fieldForms[fieldKey] || null;
|
|
791
1332
|
if (pastUrl !== null) {
|
|
792
|
-
|
|
1333
|
+
setLocation(pastUrl);
|
|
793
1334
|
}
|
|
794
1335
|
setFieldForms(Object.keys(fieldForms).reduce(function (map, key) {
|
|
795
1336
|
return key !== fieldKey ? _objectSpread(_objectSpread({}, map), {}, _defineProperty({}, key, fieldForms[key])) : map;
|
|
796
1337
|
}, {}));
|
|
797
|
-
}, [
|
|
1338
|
+
}, [setLocation, screenId, fieldForms, setFieldForms]);
|
|
798
1339
|
var triggerOnChange = React.useCallback(function (newValue) {
|
|
799
1340
|
if (onChange !== null) {
|
|
800
1341
|
onChange(newValue);
|
|
@@ -874,7 +1415,7 @@ var EditForm = function EditForm(_ref) {
|
|
|
874
1415
|
noWrap: true,
|
|
875
1416
|
withoutCollapse: true,
|
|
876
1417
|
className: classNames(['sticky-top', 'border-bottom', 'border-dark', styles$f.navbar])
|
|
877
|
-
}, /*#__PURE__*/React.createElement(Breadcrumb, {
|
|
1418
|
+
}, /*#__PURE__*/React.createElement(Breadcrumb$1, {
|
|
878
1419
|
story: value,
|
|
879
1420
|
url: url,
|
|
880
1421
|
screenId: screenId,
|
|
@@ -883,7 +1424,7 @@ var EditForm = function EditForm(_ref) {
|
|
|
883
1424
|
className: "me-auto"
|
|
884
1425
|
}), fieldParams === null ? /*#__PURE__*/React.createElement("div", {
|
|
885
1426
|
className: "dropdown"
|
|
886
|
-
}, /*#__PURE__*/React.createElement(SettingsButton, {
|
|
1427
|
+
}, /*#__PURE__*/React.createElement(SettingsButton$1, {
|
|
887
1428
|
onClick: onSettingsClick,
|
|
888
1429
|
dots: true,
|
|
889
1430
|
className: "py-0",
|
|
@@ -909,7 +1450,7 @@ var EditForm = function EditForm(_ref) {
|
|
|
909
1450
|
className: classNames(['w-100', styles$f.panel])
|
|
910
1451
|
}, /*#__PURE__*/React.createElement(contexts.ScreenProvider, {
|
|
911
1452
|
data: screen
|
|
912
|
-
}, /*#__PURE__*/React.createElement(FieldWithContexts, {
|
|
1453
|
+
}, /*#__PURE__*/React.createElement(FieldWithContexts$1, {
|
|
913
1454
|
name: fieldParams.replace(/\//g, '.'),
|
|
914
1455
|
value: screen,
|
|
915
1456
|
form: formParams,
|
|
@@ -927,7 +1468,7 @@ var EditForm = function EditForm(_ref) {
|
|
|
927
1468
|
key: "screen-".concat(screen.id)
|
|
928
1469
|
}, /*#__PURE__*/React.createElement(contexts.ScreenProvider, {
|
|
929
1470
|
data: screen
|
|
930
|
-
}, /*#__PURE__*/React.createElement(ScreenForm, {
|
|
1471
|
+
}, /*#__PURE__*/React.createElement(ScreenForm$1, {
|
|
931
1472
|
value: screen,
|
|
932
1473
|
className: styles$f.form,
|
|
933
1474
|
onChange: onScreenFormChange,
|
|
@@ -942,13 +1483,14 @@ var EditForm = function EditForm(_ref) {
|
|
|
942
1483
|
"value": "Select a screen..."
|
|
943
1484
|
}],
|
|
944
1485
|
decription: "Indication to select a screen to view the form"
|
|
945
|
-
}))), deleteScreenModalOpened ? /*#__PURE__*/React.createElement(DeleteScreenModal, {
|
|
1486
|
+
}))), deleteScreenModalOpened ? /*#__PURE__*/React.createElement(DeleteScreenModal$1, {
|
|
946
1487
|
onConfirm: onDeleteScreenConfirm,
|
|
947
1488
|
onCancel: onDeleteScreenCancel
|
|
948
1489
|
}) : null);
|
|
949
1490
|
};
|
|
950
1491
|
EditForm.propTypes = propTypes$j;
|
|
951
1492
|
EditForm.defaultProps = defaultProps$j;
|
|
1493
|
+
var EditorForm = EditForm;
|
|
952
1494
|
|
|
953
1495
|
function useScreenStates(screen) {
|
|
954
1496
|
var _ref = screen || {},
|
|
@@ -1013,6 +1555,7 @@ var DesktopIcon = function DesktopIcon(_ref) {
|
|
|
1013
1555
|
};
|
|
1014
1556
|
DesktopIcon.propTypes = propTypes$i;
|
|
1015
1557
|
DesktopIcon.defaultProps = defaultProps$i;
|
|
1558
|
+
var DesktopIcon$1 = DesktopIcon;
|
|
1016
1559
|
|
|
1017
1560
|
/* eslint-disable react/button-has-type, react/jsx-props-no-spreading */
|
|
1018
1561
|
var propTypes$h = {
|
|
@@ -1044,11 +1587,12 @@ var MobileIcon = function MobileIcon(_ref) {
|
|
|
1044
1587
|
};
|
|
1045
1588
|
MobileIcon.propTypes = propTypes$h;
|
|
1046
1589
|
MobileIcon.defaultProps = defaultProps$h;
|
|
1590
|
+
var MobileIcon$1 = MobileIcon;
|
|
1047
1591
|
|
|
1048
1592
|
var DeviceIcons = /*#__PURE__*/Object.freeze({
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1593
|
+
__proto__: null,
|
|
1594
|
+
Desktop: DesktopIcon$1,
|
|
1595
|
+
Mobile: MobileIcon$1
|
|
1052
1596
|
});
|
|
1053
1597
|
|
|
1054
1598
|
var styles$d = {"container":"micromag-editor-buttons-device-container","icon":"micromag-editor-buttons-device-icon"};
|
|
@@ -1068,7 +1612,7 @@ var DeviceButton = function DeviceButton(_ref) {
|
|
|
1068
1612
|
className = _ref.className,
|
|
1069
1613
|
iconComponents = _ref.iconComponents,
|
|
1070
1614
|
props = _objectWithoutProperties(_ref, _excluded$6);
|
|
1071
|
-
var DeviceIcon = utils.getComponentFromName(device, iconComponents, DesktopIcon);
|
|
1615
|
+
var DeviceIcon = utils.getComponentFromName(device, iconComponents, DesktopIcon$1);
|
|
1072
1616
|
return /*#__PURE__*/React.createElement(components.Button, Object.assign({
|
|
1073
1617
|
className: classNames([styles$d.container, _defineProperty({}, className, className !== null)])
|
|
1074
1618
|
}, props), /*#__PURE__*/React.createElement(DeviceIcon, {
|
|
@@ -1077,6 +1621,7 @@ var DeviceButton = function DeviceButton(_ref) {
|
|
|
1077
1621
|
};
|
|
1078
1622
|
DeviceButton.propTypes = propTypes$g;
|
|
1079
1623
|
DeviceButton.defaultProps = defaultProps$g;
|
|
1624
|
+
var DeviceButton$1 = DeviceButton;
|
|
1080
1625
|
|
|
1081
1626
|
var _excluded$5 = ["id"];
|
|
1082
1627
|
var propTypes$f = {
|
|
@@ -1100,7 +1645,7 @@ var DevicesMenu = function DevicesMenu(_ref) {
|
|
|
1100
1645
|
renderItemButton: function renderItemButton(item, index, props) {
|
|
1101
1646
|
var id = item.id,
|
|
1102
1647
|
itemProps = _objectWithoutProperties(item, _excluded$5);
|
|
1103
|
-
return /*#__PURE__*/React.createElement(DeviceButton, Object.assign({
|
|
1648
|
+
return /*#__PURE__*/React.createElement(DeviceButton$1, Object.assign({
|
|
1104
1649
|
device: id
|
|
1105
1650
|
}, props, itemProps, {
|
|
1106
1651
|
className: styles$e.button,
|
|
@@ -1113,6 +1658,7 @@ var DevicesMenu = function DevicesMenu(_ref) {
|
|
|
1113
1658
|
};
|
|
1114
1659
|
DevicesMenu.propTypes = propTypes$f;
|
|
1115
1660
|
DevicesMenu.defaultProps = defaultProps$f;
|
|
1661
|
+
var DevicesMenu$1 = DevicesMenu;
|
|
1116
1662
|
|
|
1117
1663
|
var styles$c = {"container":"micromag-editor-buttons-screen-container","button":"micromag-editor-buttons-screen-button","screen":"micromag-editor-buttons-screen-screen","inner":"micromag-editor-buttons-screen-inner","border":"micromag-editor-buttons-screen-border","icon":"micromag-editor-buttons-screen-icon","label":"micromag-editor-buttons-screen-label","active":"micromag-editor-buttons-screen-active"};
|
|
1118
1664
|
|
|
@@ -1273,6 +1819,7 @@ var ScreenWithPreview = function ScreenWithPreview(_ref) {
|
|
|
1273
1819
|
};
|
|
1274
1820
|
ScreenWithPreview.propTypes = propTypes$d;
|
|
1275
1821
|
ScreenWithPreview.defaultProps = defaultProps$d;
|
|
1822
|
+
var ScreenWithPreview$1 = ScreenWithPreview;
|
|
1276
1823
|
|
|
1277
1824
|
var styles$a = {"container":"micromag-editor-partials-screen-states-container","button":"micromag-editor-partials-screen-states-button","addButton":"micromag-editor-partials-screen-states-addButton","title":"micromag-editor-partials-screen-states-title"};
|
|
1278
1825
|
|
|
@@ -1395,7 +1942,7 @@ function ScreenStates(_ref) {
|
|
|
1395
1942
|
}, repeatableItems.map(function (item, index) {
|
|
1396
1943
|
return /*#__PURE__*/React.createElement("li", {
|
|
1397
1944
|
className: "p-1"
|
|
1398
|
-
}, /*#__PURE__*/React.createElement(ScreenWithPreview, {
|
|
1945
|
+
}, /*#__PURE__*/React.createElement(ScreenWithPreview$1, {
|
|
1399
1946
|
index: index,
|
|
1400
1947
|
withIndexIndicator: true,
|
|
1401
1948
|
withDeleteButtonOnRepeatables: true,
|
|
@@ -1422,7 +1969,7 @@ function ScreenStates(_ref) {
|
|
|
1422
1969
|
icon: faPlus.faPlus
|
|
1423
1970
|
}),
|
|
1424
1971
|
onClick: onClickAdd
|
|
1425
|
-
})) : null) : /*#__PURE__*/React.createElement(ScreenWithPreview, {
|
|
1972
|
+
})) : null) : /*#__PURE__*/React.createElement(ScreenWithPreview$1, {
|
|
1426
1973
|
screen: screen,
|
|
1427
1974
|
screenState: id,
|
|
1428
1975
|
className: styles$a.button,
|
|
@@ -1603,7 +2150,7 @@ var EditorPreview = function EditorPreview(_ref) {
|
|
|
1603
2150
|
withoutMenu: true
|
|
1604
2151
|
})))))), !withoutDevicesSizes ? /*#__PURE__*/React.createElement("div", {
|
|
1605
2152
|
className: styles$9.deviceMenu
|
|
1606
|
-
}, /*#__PURE__*/React.createElement(DevicesMenu, {
|
|
2153
|
+
}, /*#__PURE__*/React.createElement(DevicesMenu$1, {
|
|
1607
2154
|
items: devices.map(function (it) {
|
|
1608
2155
|
return _objectSpread(_objectSpread({}, it), {}, {
|
|
1609
2156
|
active: it.id === deviceId
|
|
@@ -1615,6 +2162,7 @@ var EditorPreview = function EditorPreview(_ref) {
|
|
|
1615
2162
|
};
|
|
1616
2163
|
EditorPreview.propTypes = propTypes$b;
|
|
1617
2164
|
EditorPreview.defaultProps = defaultProps$b;
|
|
2165
|
+
var EditorPreview$1 = EditorPreview;
|
|
1618
2166
|
|
|
1619
2167
|
var iOS = /iPad|iPhone|iPod/.test(navigator.platform);
|
|
1620
2168
|
function getDragDepth(offset, indentationWidth) {
|
|
@@ -2071,6 +2619,7 @@ var SortableTreeItemActions = /*#__PURE__*/React.forwardRef(function (_ref, ref)
|
|
|
2071
2619
|
});
|
|
2072
2620
|
SortableTreeItemActions.propTypes = propTypes$a;
|
|
2073
2621
|
SortableTreeItemActions.defaultProps = defaultProps$a;
|
|
2622
|
+
var SortableTreeItemActions$1 = SortableTreeItemActions;
|
|
2074
2623
|
|
|
2075
2624
|
var styles$7 = {"container":"micromag-editor-sortable-sortable-tree-item-container","parent":"micromag-editor-sortable-sortable-tree-item-parent","child":"micromag-editor-sortable-sortable-tree-item-child"};
|
|
2076
2625
|
|
|
@@ -2174,7 +2723,7 @@ var SortableTreeItem = function SortableTreeItem(_ref2) {
|
|
|
2174
2723
|
}, [onPointerUp]);
|
|
2175
2724
|
return /*#__PURE__*/React.createElement("div", {
|
|
2176
2725
|
className: classNames([styles$7.container])
|
|
2177
|
-
}, /*#__PURE__*/React.createElement(SortableTreeItemActions, Object.assign({
|
|
2726
|
+
}, /*#__PURE__*/React.createElement(SortableTreeItemActions$1, Object.assign({
|
|
2178
2727
|
ref: setDraggableNodeRef,
|
|
2179
2728
|
wrapperRef: setDroppableNodeRef,
|
|
2180
2729
|
style: actionsStyle,
|
|
@@ -2196,6 +2745,7 @@ var SortableTreeItem = function SortableTreeItem(_ref2) {
|
|
|
2196
2745
|
};
|
|
2197
2746
|
SortableTreeItem.propTypes = propTypes$9;
|
|
2198
2747
|
SortableTreeItem.defaultProps = defaultProps$9;
|
|
2748
|
+
var SortableTreeItem$1 = SortableTreeItem;
|
|
2199
2749
|
|
|
2200
2750
|
var styles$6 = {"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"};
|
|
2201
2751
|
|
|
@@ -2575,7 +3125,7 @@ var SortableTree = function SortableTree(_ref2) {
|
|
|
2575
3125
|
return /*#__PURE__*/React.createElement("div", {
|
|
2576
3126
|
className: classNames([styles$6.item, _defineProperty(_defineProperty(_defineProperty({}, styles$6.parent, onCollapse !== null && !collapsed), styles$6.group, depth === 1), styles$6.isLastChild, next === null)]),
|
|
2577
3127
|
key: id
|
|
2578
|
-
}, /*#__PURE__*/React.createElement(SortableTreeItem, {
|
|
3128
|
+
}, /*#__PURE__*/React.createElement(SortableTreeItem$1, {
|
|
2579
3129
|
key: id,
|
|
2580
3130
|
id: id,
|
|
2581
3131
|
depth: currentDepth,
|
|
@@ -2599,7 +3149,7 @@ var SortableTree = function SortableTree(_ref2) {
|
|
|
2599
3149
|
}, activeId && activeItem ? /*#__PURE__*/React.createElement("div", {
|
|
2600
3150
|
className: styles$6.item,
|
|
2601
3151
|
key: activeId
|
|
2602
|
-
}, /*#__PURE__*/React.createElement(SortableTreeItem, {
|
|
3152
|
+
}, /*#__PURE__*/React.createElement(SortableTreeItem$1, {
|
|
2603
3153
|
id: activeId,
|
|
2604
3154
|
depth: activeItem.depth,
|
|
2605
3155
|
clone: true,
|
|
@@ -2616,6 +3166,7 @@ var SortableTree = function SortableTree(_ref2) {
|
|
|
2616
3166
|
};
|
|
2617
3167
|
SortableTree.propTypes = propTypes$8;
|
|
2618
3168
|
SortableTree.defaultProps = defaultProps$8;
|
|
3169
|
+
var SortableTree$1 = SortableTree;
|
|
2619
3170
|
|
|
2620
3171
|
var styles$5 = {"container":"micromag-editor-menus-screens-container","screen":"micromag-editor-menus-screens-screen","preview":"micromag-editor-menus-screens-preview","placeholder":"micromag-editor-menus-screens-placeholder","items":"micromag-editor-menus-screens-items","item":"micromag-editor-menus-screens-item","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"};
|
|
2621
3172
|
|
|
@@ -2686,7 +3237,7 @@ var ScreensMenu = function ScreensMenu(_ref) {
|
|
|
2686
3237
|
key: item.id,
|
|
2687
3238
|
className: classNames([styles$5.item, _defineProperty(_defineProperty({}, itemClassName, itemClassName !== null), itemCustomClassName, itemCustomClassName !== null)]),
|
|
2688
3239
|
"data-screen-id": item.id
|
|
2689
|
-
}, /*#__PURE__*/React.createElement(ScreenWithPreview, {
|
|
3240
|
+
}, /*#__PURE__*/React.createElement(ScreenWithPreview$1, {
|
|
2690
3241
|
index: index,
|
|
2691
3242
|
screen: withPlaceholder ? _objectSpread(_objectSpread({}, screen), {}, {
|
|
2692
3243
|
type: type
|
|
@@ -2737,9 +3288,9 @@ var ScreensMenu = function ScreensMenu(_ref) {
|
|
|
2737
3288
|
}, [items, isTree, items.length]);
|
|
2738
3289
|
return /*#__PURE__*/React.createElement("div", {
|
|
2739
3290
|
className: classNames([styles$5.container, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, styles$5.noWrap, noWrap), styles$5.isVertical, isVertical), styles$5.isTree, isTree), styles$5.withPlaceholder, withPlaceholder), className, className)])
|
|
2740
|
-
}, isTree && !sortable ? /*#__PURE__*/React.createElement(SortableTree, {
|
|
3291
|
+
}, isTree && !sortable ? /*#__PURE__*/React.createElement(SortableTree$1, {
|
|
2741
3292
|
items: sortableItems,
|
|
2742
|
-
component: ScreenWithPreview,
|
|
3293
|
+
component: ScreenWithPreview$1,
|
|
2743
3294
|
onClickItem: onClickItem,
|
|
2744
3295
|
onChange: onOrderChange
|
|
2745
3296
|
}) : null, !isTree && sortable && items.length > 1 ? /*#__PURE__*/React.createElement(reactSortablejs.ReactSortable, {
|
|
@@ -2756,6 +3307,7 @@ var ScreensMenu = function ScreensMenu(_ref) {
|
|
|
2756
3307
|
};
|
|
2757
3308
|
ScreensMenu.propTypes = propTypes$7;
|
|
2758
3309
|
ScreensMenu.defaultProps = defaultProps$7;
|
|
3310
|
+
var ScreensMenu$1 = ScreensMenu;
|
|
2759
3311
|
|
|
2760
3312
|
var styles$4 = {"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","button":"micromag-editor-menus-screen-types-button"};
|
|
2761
3313
|
|
|
@@ -2848,7 +3400,7 @@ var ScreenTypes = function ScreenTypes(_ref) {
|
|
|
2848
3400
|
className: styles$4.row
|
|
2849
3401
|
}, /*#__PURE__*/React.createElement(components.Label, null, name), /*#__PURE__*/React.createElement("div", {
|
|
2850
3402
|
className: styles$4.layouts
|
|
2851
|
-
}, /*#__PURE__*/React.createElement(ScreensMenu, {
|
|
3403
|
+
}, /*#__PURE__*/React.createElement(ScreensMenu$1, {
|
|
2852
3404
|
items: items,
|
|
2853
3405
|
withPlaceholder: true,
|
|
2854
3406
|
withName: true,
|
|
@@ -2865,6 +3417,7 @@ var ScreenTypes = function ScreenTypes(_ref) {
|
|
|
2865
3417
|
};
|
|
2866
3418
|
ScreenTypes.propTypes = propTypes$6;
|
|
2867
3419
|
ScreenTypes.defaultProps = defaultProps$6;
|
|
3420
|
+
var ScreenTypesMenu = ScreenTypes;
|
|
2868
3421
|
|
|
2869
3422
|
var styles$3 = {"container":"micromag-editor-modals-screen-types-container","selected":"micromag-editor-modals-screen-types-selected"};
|
|
2870
3423
|
|
|
@@ -2895,7 +3448,7 @@ var ScreenTypesModal = function ScreenTypesModal(_ref) {
|
|
|
2895
3448
|
}),
|
|
2896
3449
|
className: classNames([styles$3.container, _defineProperty({}, className, className)]),
|
|
2897
3450
|
onClickClose: onRequestClose
|
|
2898
|
-
}, /*#__PURE__*/React.createElement(
|
|
3451
|
+
}, /*#__PURE__*/React.createElement(ScreenTypesMenu, {
|
|
2899
3452
|
selectedTypes: selectedTypes,
|
|
2900
3453
|
className: styles$3.menu,
|
|
2901
3454
|
onClickItem: onClickScreenType
|
|
@@ -2903,6 +3456,7 @@ var ScreenTypesModal = function ScreenTypesModal(_ref) {
|
|
|
2903
3456
|
};
|
|
2904
3457
|
ScreenTypesModal.propTypes = propTypes$5;
|
|
2905
3458
|
ScreenTypesModal.defaultProps = defaultProps$5;
|
|
3459
|
+
var ScreenTypesModal$1 = ScreenTypesModal;
|
|
2906
3460
|
|
|
2907
3461
|
var styles$2 = {"container":"micromag-editor-screens-container","navbar":"micromag-editor-screens-navbar"};
|
|
2908
3462
|
|
|
@@ -2974,7 +3528,7 @@ var EditorScreens = function EditorScreens(_ref) {
|
|
|
2974
3528
|
var themeScreen = themeComponents !== null ? themeComponents.find(function (it) {
|
|
2975
3529
|
return it.type === newScreenType;
|
|
2976
3530
|
}) || null : null;
|
|
2977
|
-
var newScreen = createScreen(definition, themeScreen);
|
|
3531
|
+
var newScreen = createScreen$1(definition, themeScreen);
|
|
2978
3532
|
var foundIndex = screens.findIndex(function (_ref6) {
|
|
2979
3533
|
var id = _ref6.id;
|
|
2980
3534
|
return id === currentScreenId;
|
|
@@ -3090,43 +3644,71 @@ var EditorScreens = function EditorScreens(_ref) {
|
|
|
3090
3644
|
})
|
|
3091
3645
|
})), /*#__PURE__*/React.createElement("div", {
|
|
3092
3646
|
className: "flex-grow-1 d-flex w-100 p-2"
|
|
3093
|
-
}, /*#__PURE__*/React.createElement(
|
|
3094
|
-
path:
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3647
|
+
}, /*#__PURE__*/React.createElement(Switch, null, /*#__PURE__*/React.createElement(Route, {
|
|
3648
|
+
path: "".concat(routes.screen, "/(.*)?")
|
|
3649
|
+
}, function (_ref18) {
|
|
3650
|
+
var _ref18$screen = _ref18.screen,
|
|
3651
|
+
screenId = _ref18$screen === void 0 ? null : _ref18$screen;
|
|
3652
|
+
return screens.length > 0 ? /*#__PURE__*/React.createElement(ScreensMenu$1, {
|
|
3653
|
+
items: screens.map(function (it) {
|
|
3654
|
+
return {
|
|
3655
|
+
id: it.id,
|
|
3656
|
+
screen: it,
|
|
3657
|
+
href: url('screen', {
|
|
3658
|
+
screen: it.id
|
|
3659
|
+
}),
|
|
3660
|
+
active: it.id === screenId
|
|
3661
|
+
};
|
|
3662
|
+
}),
|
|
3663
|
+
isVertical: isVertical,
|
|
3664
|
+
withPreview: true,
|
|
3665
|
+
sortable: !isTree,
|
|
3666
|
+
className: "w-100",
|
|
3667
|
+
onClickItem: onClickScreen,
|
|
3668
|
+
onOrderChange: onOrderChange,
|
|
3669
|
+
isTree: isTree
|
|
3670
|
+
}) : /*#__PURE__*/React.createElement(components.Empty, {
|
|
3671
|
+
className: "flex-grow-1 p-2"
|
|
3672
|
+
}, /*#__PURE__*/React.createElement(components.Button, {
|
|
3673
|
+
theme: "primary",
|
|
3674
|
+
onClick: onClickAdd
|
|
3675
|
+
}, /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
|
3676
|
+
id: "JoWKee",
|
|
3677
|
+
defaultMessage: [{
|
|
3678
|
+
"type": 0,
|
|
3679
|
+
"value": "Create your first screen"
|
|
3680
|
+
}]
|
|
3681
|
+
})));
|
|
3682
|
+
}), /*#__PURE__*/React.createElement(Route, null, screens.length > 0 ? /*#__PURE__*/React.createElement(ScreensMenu$1, {
|
|
3683
|
+
items: screens.map(function (it) {
|
|
3684
|
+
return {
|
|
3685
|
+
id: it.id,
|
|
3686
|
+
screen: it,
|
|
3687
|
+
href: url('screen', {
|
|
3688
|
+
screen: it.id
|
|
3108
3689
|
}),
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
|
|
3690
|
+
active: false
|
|
3691
|
+
};
|
|
3692
|
+
}),
|
|
3693
|
+
isVertical: isVertical,
|
|
3694
|
+
withPreview: true,
|
|
3695
|
+
sortable: !isTree,
|
|
3696
|
+
className: "w-100",
|
|
3697
|
+
onClickItem: onClickScreen,
|
|
3698
|
+
onOrderChange: onOrderChange,
|
|
3699
|
+
isTree: isTree
|
|
3700
|
+
}) : /*#__PURE__*/React.createElement(components.Empty, {
|
|
3701
|
+
className: "flex-grow-1 p-2"
|
|
3702
|
+
}, /*#__PURE__*/React.createElement(components.Button, {
|
|
3703
|
+
theme: "primary",
|
|
3704
|
+
onClick: onClickAdd
|
|
3705
|
+
}, /*#__PURE__*/React.createElement(reactIntl.FormattedMessage, {
|
|
3706
|
+
id: "JoWKee",
|
|
3707
|
+
defaultMessage: [{
|
|
3708
|
+
"type": 0,
|
|
3709
|
+
"value": "Create your first screen"
|
|
3710
|
+
}]
|
|
3711
|
+
})))))), createModalOpened ? /*#__PURE__*/React.createElement(ScreenTypesModal$1, {
|
|
3130
3712
|
selectedTypes: isTheme ? screens.map(function (_ref19) {
|
|
3131
3713
|
var type = _ref19.type;
|
|
3132
3714
|
return type;
|
|
@@ -3137,6 +3719,7 @@ var EditorScreens = function EditorScreens(_ref) {
|
|
|
3137
3719
|
};
|
|
3138
3720
|
EditorScreens.propTypes = propTypes$4;
|
|
3139
3721
|
EditorScreens.defaultProps = defaultProps$4;
|
|
3722
|
+
var Screens = EditorScreens;
|
|
3140
3723
|
|
|
3141
3724
|
var styles$1 = {"container":"micromag-editor-container","left":"micromag-editor-left","right":"micromag-editor-right","fullscreen":"micromag-editor-fullscreen","preview":"micromag-editor-preview","center":"micromag-editor-center","inner":"micromag-editor-inner","visible":"micromag-editor-visible","screen-medium":"micromag-editor-screen-medium","top":"micromag-editor-top"};
|
|
3142
3725
|
|
|
@@ -3312,7 +3895,7 @@ var Editor = function Editor(_ref) {
|
|
|
3312
3895
|
}, /*#__PURE__*/React.createElement("div", {
|
|
3313
3896
|
className: classNames([styles$1.left, _defineProperty({}, styles$1.visible, !isMobile || mobileView === 'screens')]),
|
|
3314
3897
|
ref: refScreensContainer
|
|
3315
|
-
}, /*#__PURE__*/React.createElement(
|
|
3898
|
+
}, /*#__PURE__*/React.createElement(Screens, {
|
|
3316
3899
|
value: story,
|
|
3317
3900
|
isTheme: isTheme,
|
|
3318
3901
|
isCreateOpened: isCreateOpened,
|
|
@@ -3324,7 +3907,7 @@ var Editor = function Editor(_ref) {
|
|
|
3324
3907
|
isTree: true
|
|
3325
3908
|
})), /*#__PURE__*/React.createElement("div", {
|
|
3326
3909
|
className: classNames([styles$1.center, _defineProperty({}, styles$1.visible, !isMobile || mobileView === 'preview')])
|
|
3327
|
-
}, /*#__PURE__*/React.createElement(EditorPreview, {
|
|
3910
|
+
}, /*#__PURE__*/React.createElement(EditorPreview$1, {
|
|
3328
3911
|
value: story,
|
|
3329
3912
|
isTheme: isTheme,
|
|
3330
3913
|
viewerTheme: viewerTheme,
|
|
@@ -3333,7 +3916,7 @@ var Editor = function Editor(_ref) {
|
|
|
3333
3916
|
onChange: onStoryChange
|
|
3334
3917
|
})), /*#__PURE__*/React.createElement("div", {
|
|
3335
3918
|
className: classNames([styles$1.right, _defineProperty({}, styles$1.visible, !isMobile || mobileView === 'form')])
|
|
3336
|
-
}, /*#__PURE__*/React.createElement(
|
|
3919
|
+
}, /*#__PURE__*/React.createElement(EditorForm, {
|
|
3337
3920
|
key: screenId,
|
|
3338
3921
|
value: story,
|
|
3339
3922
|
isTheme: isTheme,
|
|
@@ -3343,6 +3926,7 @@ var Editor = function Editor(_ref) {
|
|
|
3343
3926
|
};
|
|
3344
3927
|
Editor.propTypes = propTypes$3;
|
|
3345
3928
|
Editor.defaultProps = defaultProps$3;
|
|
3929
|
+
var Editor$1 = Editor;
|
|
3346
3930
|
|
|
3347
3931
|
// eslint-disable-next-line import/prefer-default-export
|
|
3348
3932
|
var routes = PropTypes.shape({
|
|
@@ -3415,12 +3999,13 @@ var SettingsForm = function SettingsForm(_ref) {
|
|
|
3415
3999
|
};
|
|
3416
4000
|
SettingsForm.propTypes = propTypes$2;
|
|
3417
4001
|
SettingsForm.defaultProps = defaultProps$2;
|
|
4002
|
+
var SettingsForm$1 = SettingsForm;
|
|
3418
4003
|
|
|
3419
4004
|
// eslint-disable-next-line import/prefer-default-export
|
|
3420
4005
|
|
|
3421
4006
|
var FormsComponents = /*#__PURE__*/Object.freeze({
|
|
3422
|
-
|
|
3423
|
-
|
|
4007
|
+
__proto__: null,
|
|
4008
|
+
Settings: SettingsForm$1
|
|
3424
4009
|
});
|
|
3425
4010
|
|
|
3426
4011
|
/* eslint-disable react/jsx-props-no-spreading */
|
|
@@ -3438,17 +4023,21 @@ var FormsProvider = function FormsProvider(props) {
|
|
|
3438
4023
|
};
|
|
3439
4024
|
FormsProvider.propTypes = propTypes$1;
|
|
3440
4025
|
FormsProvider.defaultProps = defaultProps$1;
|
|
4026
|
+
var FormsProvider$1 = FormsProvider;
|
|
3441
4027
|
|
|
3442
4028
|
var home = "/";
|
|
4029
|
+
var screen_wildcard = "/:screen/(.*)?";
|
|
3443
4030
|
var screen = "/:screen";
|
|
3444
4031
|
var defaultRoutes = {
|
|
3445
4032
|
home: home,
|
|
4033
|
+
screen_wildcard: screen_wildcard,
|
|
3446
4034
|
screen: screen,
|
|
3447
4035
|
"screen.field": "/:screen/:field+",
|
|
3448
4036
|
"screen.field.form": "/:screen/:field+/:form"
|
|
3449
4037
|
};
|
|
3450
4038
|
|
|
3451
4039
|
var _excluded = ["value", "memoryRouter", "routes", "basePath", "uppy", "googleApiKey", "googleMapsLibraries", "screenNamespaces"];
|
|
4040
|
+
var pathToRegexpParser = createPathToRegexpParser();
|
|
3452
4041
|
var propTypes = {
|
|
3453
4042
|
value: PropTypes.oneOfType([core.PropTypes.story, core.PropTypes.theme]),
|
|
3454
4043
|
routes: routes,
|
|
@@ -3481,15 +4070,19 @@ var EditorContainer = function EditorContainer(_ref) {
|
|
|
3481
4070
|
googleMapsLibraries = _ref.googleMapsLibraries,
|
|
3482
4071
|
screenNamespaces = _ref.screenNamespaces,
|
|
3483
4072
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
3484
|
-
var Router = memoryRouter ? reactRouter.MemoryRouter : reactRouterDom.BrowserRouter;
|
|
3485
4073
|
var _useIntl = reactIntl.useIntl(),
|
|
3486
4074
|
locale = _useIntl.locale;
|
|
3487
4075
|
|
|
3488
4076
|
// const { metadata } = value || {};
|
|
3489
4077
|
// const { language:finalLocale = locale } = metadata || {};
|
|
3490
|
-
|
|
4078
|
+
var _useMemoryRouter = useMemoryRouter(),
|
|
4079
|
+
memoryLocationHook = _useMemoryRouter.hook,
|
|
4080
|
+
memorySearchHook = _useMemoryRouter.searchHook;
|
|
3491
4081
|
return /*#__PURE__*/React.createElement(Router, {
|
|
3492
|
-
|
|
4082
|
+
hook: memoryRouter ? memoryLocationHook : null,
|
|
4083
|
+
searchHook: memoryRouter ? memorySearchHook : null,
|
|
4084
|
+
parser: pathToRegexpParser,
|
|
4085
|
+
base: !memoryRouter ? basePath : null
|
|
3493
4086
|
}, /*#__PURE__*/React.createElement(contexts.UppyProvider, uppy, /*#__PURE__*/React.createElement(contexts.StoryProvider, {
|
|
3494
4087
|
story: value
|
|
3495
4088
|
}, /*#__PURE__*/React.createElement(screens.ScreensProvider, {
|
|
@@ -3500,7 +4093,7 @@ var EditorContainer = function EditorContainer(_ref) {
|
|
|
3500
4093
|
}, /*#__PURE__*/React.createElement(contexts.GoogleMapsClientProvider, {
|
|
3501
4094
|
locale: locale,
|
|
3502
4095
|
libraries: googleMapsLibraries
|
|
3503
|
-
}, /*#__PURE__*/React.createElement(contexts.FontsProvider, null, /*#__PURE__*/React.createElement(fields.FieldsProvider, null, /*#__PURE__*/React.createElement(FormsProvider, null, /*#__PURE__*/React.createElement(contexts.EditorProvider, null, /*#__PURE__*/React.createElement(contexts.VisitorProvider, {
|
|
4096
|
+
}, /*#__PURE__*/React.createElement(contexts.FontsProvider, null, /*#__PURE__*/React.createElement(fields.FieldsProvider, null, /*#__PURE__*/React.createElement(FormsProvider$1, null, /*#__PURE__*/React.createElement(contexts.EditorProvider, null, /*#__PURE__*/React.createElement(contexts.VisitorProvider, {
|
|
3504
4097
|
visitor: "editor"
|
|
3505
4098
|
}, /*#__PURE__*/React.createElement(contexts.ComponentsContext.Consumer, null, function (manager) {
|
|
3506
4099
|
var formComponents = manager.getComponents(contexts.FORMS_NAMESPACE);
|
|
@@ -3511,16 +4104,17 @@ var EditorContainer = function EditorContainer(_ref) {
|
|
|
3511
4104
|
routes: _objectSpread(_objectSpread({}, routes), {}, {
|
|
3512
4105
|
'screen.field.form': routes['screen.field.form'].replace(/:form$/, ":form(".concat(formRegEx, ")"))
|
|
3513
4106
|
})
|
|
3514
|
-
}, /*#__PURE__*/React.createElement(Editor, Object.assign({
|
|
4107
|
+
}, /*#__PURE__*/React.createElement(Editor$1, Object.assign({
|
|
3515
4108
|
value: value
|
|
3516
4109
|
}, props)));
|
|
3517
4110
|
}))))))))))));
|
|
3518
4111
|
};
|
|
3519
4112
|
EditorContainer.propTypes = propTypes;
|
|
3520
4113
|
EditorContainer.defaultProps = defaultProps;
|
|
4114
|
+
var EditorContainer$1 = EditorContainer;
|
|
3521
4115
|
|
|
3522
|
-
exports.Editor = Editor;
|
|
3523
|
-
exports.ScreenTypes =
|
|
3524
|
-
exports.Screens = ScreensMenu;
|
|
3525
|
-
exports.createScreen = createScreen;
|
|
3526
|
-
exports.default = EditorContainer;
|
|
4116
|
+
exports.Editor = Editor$1;
|
|
4117
|
+
exports.ScreenTypes = ScreenTypesMenu;
|
|
4118
|
+
exports.Screens = ScreensMenu$1;
|
|
4119
|
+
exports.createScreen = createScreen$1;
|
|
4120
|
+
exports.default = EditorContainer$1;
|