neo-register 1.0.9 → 1.0.10

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/README.md CHANGED
@@ -87,23 +87,6 @@ class ReactSelectPlugin {
87
87
  }
88
88
  ]
89
89
  };
90
- previewComProps = { // 设计器端预览时展示的默认数据
91
- label: 'select 自定义组件',
92
- options: [
93
- {
94
- label: 'A',
95
- value: 'a'
96
- },
97
- {
98
- label: 'B',
99
- value: 'b'
100
- },
101
- {
102
- label: 'C',
103
- value: 'c'
104
- }
105
- ]
106
- };
107
90
  propsSchema = [ // 组件面板配置,用于生成编辑器右侧属性配置面板内容
108
91
  {
109
92
  type: 'text',
package/dist/index.esm.js CHANGED
@@ -1,445 +1,17 @@
1
- import React from 'react';
2
- import Vue from 'vue';
3
-
4
- // 方便取值的时候能够把上层的取到,但是获取的时候不会全部把所有的数据获取到。
5
- function cloneObject(target, persistOwnProps = true) {
6
- const obj = target && target.__super
7
- ? Object.create(target.__super, {
8
- __super: {
9
- value: target.__super,
10
- writable: false,
11
- enumerable: false,
12
- },
13
- })
14
- : Object.create(Object.prototype);
15
- persistOwnProps &&
16
- target &&
17
- Object.keys(target).forEach((key) => (obj[key] = target[key]));
18
- return obj;
19
- }
20
- function extendObject(target, src, persistOwnProps = true) {
21
- const obj = cloneObject(target, persistOwnProps);
22
- src && Object.keys(src).forEach((key) => (obj[key] = src[key]));
23
- return obj;
24
- }
25
-
26
- const consoleTag = '[neo-register]'; // 输出标记
27
- /**
28
- * 获取技术栈标识
29
- * 目的:兼容用户非标准写法
30
- */
31
- function getFramework(_framework) {
32
- let defaultFramework = Framework.react;
33
- if (!_framework) {
34
- return defaultFramework;
35
- }
36
- let curFramework = _framework.toLowerCase().trim();
37
- switch (curFramework) {
38
- case 'jquery':
39
- case 'jq':
40
- curFramework = Framework.jquery;
41
- break;
42
- case 'vue2':
43
- case 'vue 2':
44
- case 'vue2.0':
45
- case 'vue 2.0':
46
- curFramework = Framework.vue2;
47
- break;
48
- case 'vue':
49
- case 'vue3':
50
- case 'vue 3':
51
- case 'vue3.0':
52
- case 'vue 3.0':
53
- curFramework = Framework.vue3;
54
- console.error(`${consoleTag} 暂不支持 vue3.0 技术栈。`);
55
- break;
56
- default:
57
- curFramework = Framework.react;
58
- }
59
- return curFramework;
60
- }
61
- /**
62
- * 识别自定义组件技术栈类型
63
- * react 编译后是 一个函数组件
64
- * vue 编译后是 一个类对象: { render: ƒ, __file: 'xx/xx.vue', __compiled: true, ... }
65
- */
66
- function getFrameworkByCmp(component) {
67
- if (isVueComponent(component)) {
68
- return 'vue2';
69
- }
70
- return 'react';
71
- }
72
- function isVueComponent(component) {
73
- return (typeof component === 'object' &&
74
- ((component._compiled && component.components) ||
75
- (component.__file && component.__file.endsWith('.vue'))));
76
- }
77
- var Usage;
78
- (function (Usage) {
79
- Usage["renderer"] = "renderer";
80
- Usage["formitem"] = "formitem";
81
- })(Usage || (Usage = {}));
82
- /**
83
- * 获取neo渲染器类型标识
84
- * 目的:兼容用户非标准写法
85
- */
86
- function getUsage(_usage) {
87
- let defaultUsage = Usage.renderer;
88
- if (!_usage) {
89
- return defaultUsage;
90
- }
91
- let curUsage = _usage.toLowerCase().trim();
92
- switch (curUsage) {
93
- case 'renderer':
94
- case 'renderers':
95
- curUsage = Usage.renderer;
96
- break;
97
- case 'formitem':
98
- case 'form-item':
99
- case 'form item':
100
- curUsage = Usage.formitem;
101
- break;
102
- default:
103
- curUsage = Usage.renderer;
104
- }
105
- return curUsage;
106
- }
107
- /**
108
- * 当前 neo-register 支持的技术栈
109
- * 备注:vue2 和 vue3 不能同时存在
110
- */
111
- var Framework;
112
- (function (Framework) {
113
- Framework["react"] = "react";
114
- Framework["vue2"] = "vue2";
115
- Framework["vue3"] = "vue3";
116
- Framework["jquery"] = "jquery";
117
- })(Framework || (Framework = {}));
118
- // 判断是否缺失 editor 自定义组件模型关键字段
119
- function isEditorModel(EditorModelClass) {
120
- let _isEditorModel = false;
121
- if (!EditorModelClass) {
122
- return false;
123
- }
124
- const _editorPluginObj = new EditorModelClass();
125
- if (!_editorPluginObj.label) {
126
- console.error(`${consoleTag} / registerNeoEditorModel: 自定义组件注册失败,名称(label)不能为空。`);
127
- }
128
- else if (_editorPluginObj.tags && !Array.isArray(_editorPluginObj.tags)) {
129
- console.error(`${consoleTag} / registerNeoEditorModel: 自定义组件注册失败,组件分类(tags)格式异常。`);
130
- }
131
- else {
132
- // 1.设置一个默认 icon
133
- if (!_editorPluginObj.iconSrc) {
134
- Object.assign(EditorModelClass.prototype, {
135
- iconSrc: 'https://neo-widgets.bj.bcebos.com/custom-widget.svg',
136
- });
137
- }
138
- _isEditorModel = true;
139
- }
140
- return _isEditorModel;
141
- }
142
- // 判断是否是字符串类型
143
- function isString(str) {
144
- return Object.prototype.toString.call(str).slice(8, -1) === 'String';
145
- }
146
- function isProxy(obj) {
147
- if (!obj) {
148
- return false;
149
- }
150
- const hasMSTProperties = !!(obj.$treenode ||
151
- obj.$mstObservable ||
152
- obj.$modelType ||
153
- obj.$modelId);
154
- return (hasMSTProperties || Object.prototype.toString.call(obj) === '[object Proxy]');
155
- }
156
-
157
- /**
158
- * registerNeoEditorModel: 注册 neo-editor 自定义组件模型
1
+ import e from"vue";function t(e,t,r=!0){const n=function(e,t=!0){const r=e&&e.__super?Object.create(e.__super,{__super:{value:e.__super,writable:!1,enumerable:!1}}):Object.create(Object.prototype);return t&&e&&Object.keys(e).forEach(t=>r[t]=e[t]),r}(e,r);return t&&Object.keys(t).forEach(e=>n[e]=t[e]),n}const r="[neo-register]";function n(e){return"object"==typeof e&&(e._compiled&&e.components||e.__file&&e.__file.endsWith(".vue"))}var o,a;function u(e,t,n){if(e&&function(e){let t=!1;if(!e)return!1;const n=new e;return n.label?n.tags&&!Array.isArray(n.tags)?console.error(`${r} / registerNeoEditorModel: 自定义组件注册失败,组件分类(tags)格式异常。`):(n.iconSrc||Object.assign(e.prototype,{iconSrc:"https://neo-widgets.bj.bcebos.com/custom-widget.svg"}),t=!0):console.error(`${r} / registerNeoEditorModel: 自定义组件注册失败,名称(label)不能为空。`),t}(e)){const o=t||(new e).cmpType;o||console.error(`${r} / registerNeoEditorModel: 自定义组件注册失败,cmpType 不能为空。`);const a=n||{},u=new e;if(Object.assign(e.prototype,{...u,cmpType:o,custom:!0,tags:u.tags??a.tags??["自定义组件"],targetPage:u.targetPage??a.targetPage??["customPage"],exposedToDesigner:u.exposedToDesigner??a.exposedToDesigner??!0,namespace:u.namespace??a.namespace??"neo-cmp-cli",enableDuplicate:u.enableDuplicate??a.enableDuplicate??!0}),window&&window.postMessage){const t=function(e,t){window&&!window.NEOEditorCustomModels&&(window.NEOEditorCustomModels={});if(!window.NEOEditorCustomModels[e])return window.NEOEditorCustomModels[e]=t,e;console.error(`${r}注册自定义组件模型失败,已存在重名插件(${e})。`);return null}(o,e);t&&(console.info(`${r}触发注册自定义组件模型(${o})事件`),window.postMessage({type:"neo-model-register-event",eventMsg:`${r}注册一个 neo-editor 自定义组件模型`,cmpType:o},"*"))}}}function i(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}!function(e){e.renderer="renderer",e.formitem="formitem"}(o||(o={})),function(e){e.react="react",e.vue2="vue2",e.vue3="vue3",e.jquery="jquery"}(a||(a={}));var c,s,l,f={exports:{}},p={};function d(){if(s)return c;s=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;return c=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(e){n[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(n,o){for(var a,u,i=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(n),c=1;c<arguments.length;c++){for(var s in a=Object(arguments[c]))t.call(a,s)&&(i[s]=a[s]);if(e){u=e(a);for(var l=0;l<u.length;l++)r.call(a,u[l])&&(i[u[l]]=a[u[l]])}}return i},c}
2
+ /** @license React v16.14.0
3
+ * react.production.min.js
159
4
  *
160
- * targetPage 取值说明
161
- * all: 1 全页面
162
- * indexPage: 2 首页
163
- * entityListPage: 3 实体列表页
164
- * entityFormPage: 4 实体表单页
165
- * entityDetailPage: 5 实体详情页
166
- * customPage: 6 自定义页面
167
- * bizPage: 7 业务页面
168
- */
169
- function registerNeoEditorModel(curEditorModel, cmpType, options) {
170
- if (curEditorModel && isEditorModel(curEditorModel)) {
171
- const curCmpType = cmpType || new curEditorModel().cmpType;
172
- if (!curCmpType) {
173
- console.error(`${consoleTag} / registerNeoEditorModel: 自定义组件注册失败,cmpType 不能为空。`);
174
- }
175
- const curOptions = options || {};
176
- const curEditorModelObj = new curEditorModel(); // 注册前进行一次实例化
177
- Object.assign(curEditorModel.prototype, {
178
- ...curEditorModelObj,
179
- cmpType: curCmpType,
180
- custom: true,
181
- tags: curEditorModelObj.tags ?? curOptions.tags ?? ['自定义组件'],
182
- targetPage: curEditorModelObj.targetPage ??
183
- curOptions.targetPage ?? ['customPage'],
184
- exposedToDesigner: curEditorModelObj.exposedToDesigner ??
185
- curOptions.exposedToDesigner ??
186
- true,
187
- namespace: curEditorModelObj.namespace ?? curOptions.namespace ?? 'neo-cmp-cli',
188
- enableDuplicate: curEditorModelObj.enableDuplicate ?? curOptions.enableDuplicate ?? true, // 默认在设计器中允许重复插入
189
- });
190
- // registerEditorModel(curEditorModel); // 不直接注册为 neo-editor 插件
191
- // 通过 postMessage 告知 neo-editor 注册一个新的插件
192
- if (window && window.postMessage) {
193
- const newComponentType = AddCustomEditorModel(curCmpType, curEditorModel);
194
- if (newComponentType) {
195
- console.info(`${consoleTag}触发注册自定义组件模型(${curCmpType})事件`);
196
- window.postMessage({
197
- type: 'neo-model-register-event',
198
- eventMsg: `${consoleTag}注册一个 neo-editor 自定义组件模型`,
199
- cmpType: curCmpType,
200
- }, '*');
201
- }
202
- }
203
- }
204
- }
205
- function AddCustomEditorModel(cmpType, model) {
206
- if (window && !window.NEOEditorCustomModels) {
207
- window.NEOEditorCustomModels = {};
208
- }
209
- if (!window.NEOEditorCustomModels[cmpType]) {
210
- window.NEOEditorCustomModels[cmpType] = model;
211
- return cmpType;
212
- }
213
- else {
214
- console.error(`${consoleTag}注册自定义组件模型失败,已存在重名插件(${cmpType})。`);
215
- }
216
- return null;
217
- }
218
-
219
- /**
220
- * 将 vue2.0 自定义组件包裹成一个 react组件
221
- */
222
- function createVue2Component(vueObj) {
223
- if (!vueObj || (typeof vueObj !== 'function' && typeof vueObj !== 'object')) {
224
- return;
225
- }
226
- class VueFactory extends React.Component {
227
- domRef;
228
- vm;
229
- isUnmount;
230
- // 指定 contextType 读取当前的 scope context。
231
- // React 会往上找到最近的 scope Provider,然后使用它的值。
232
- // static contextType = ScopedContext; // 待支持
233
- constructor(props, context) {
234
- super(props);
235
- this.domRef = React.createRef();
236
- this.isUnmount = false;
237
- /*
238
- // 待支持(自定义组件支持事件动作)
239
- const scoped = context;
240
- scoped.registerComponent(this);
241
- */
242
- this.resolveNeoProps = this.resolveNeoProps.bind(this);
243
- }
244
- componentDidMount() {
245
- const { neoData, neoMSTData, neoFunc } = this.resolveNeoProps();
246
- const { data, ...rest } = (vueObj =
247
- typeof vueObj === 'function' ? new vueObj() : vueObj);
248
- const vueData = typeof data === 'function' ? data() : data;
249
- const curVueData = extendObject(vueData, neoData);
250
- // 传入的Vue属性
251
- this.vm = new Vue({
252
- ...rest,
253
- data: () => curVueData,
254
- props: extendObject(neoFunc, {
255
- ...(rest.props || {}),
256
- ...neoMSTData,
257
- }),
258
- });
259
- Object.keys(neoFunc).forEach((key) => {
260
- this.vm.$props[key] = neoFunc[key];
261
- });
262
- if (this.domRef.current) {
263
- this.domRef.current.appendChild(this.vm.$mount().$el);
264
- }
265
- }
266
- componentDidUpdate() {
267
- if (!this.isUnmount) {
268
- const { neoData } = this.resolveNeoProps();
269
- if (this.vm) {
270
- Object.keys(neoData).forEach((key) => {
271
- this.vm[key] = neoData[key];
272
- });
273
- this.vm.$forceUpdate();
274
- }
275
- }
276
- }
277
- componentWillUnmount() {
278
- this.isUnmount = true;
279
- /*
280
- // 待支持
281
- const scoped = this.context;
282
- scoped.unRegisterComponent(this);
283
- */
284
- if (this.vm) {
285
- this.vm.$destroy();
286
- }
287
- }
288
- resolveNeoProps() {
289
- let neoFunc = {};
290
- let neoData = {};
291
- let neoMSTData = {};
292
- Object.keys(this.props).forEach((key) => {
293
- const value = this.props[key];
294
- if (typeof value === 'function') {
295
- neoFunc[key] = value;
296
- }
297
- else if (isProxy(value)) {
298
- neoMSTData[key] = value;
299
- }
300
- else {
301
- neoData[key] = value;
302
- }
303
- });
304
- return { neoData, neoMSTData, neoFunc };
305
- }
306
- /**
307
- * reload动作处理
308
- */
309
- reload() {
310
- if (this.vm && this.vm.reload) {
311
- this.vm.reload();
312
- }
313
- else {
314
- console.warn('自定义组件暂不支持reload动作。');
315
- }
316
- }
317
- /**
318
- * 事件动作处理:
319
- * 在这里设置自定义组件对外暴露的动作,其他组件可以通过组件动作触发自定义组件的对应动作
320
- */
321
- doAction(action, args) {
322
- if (this.vm && this.vm.doAction) {
323
- this.vm.doAction(action, args);
324
- }
325
- else {
326
- console.warn('自定义组件中不存在 doAction。');
327
- }
328
- }
329
- render() {
330
- return React.createElement("div", { ref: this.domRef });
331
- }
332
- }
333
- return VueFactory;
334
- }
335
- // 自动识别并转换 vue 组件
336
- function autoConvertVueComponent(component) {
337
- if (isVueComponent(component)) {
338
- return createVue2Component(component);
339
- }
340
- return component;
341
- }
342
-
343
- /**
344
- * registerNeoCmp: 根据type类型注册 neo 自定义组件
345
- *【方法参数说明】
346
- * newRenderer: 自定义组件,
347
- * rendererOption: {
348
- * cmpType: 自定义组件的type类型,比如:input、text-area、select-user等
349
- * usage?: neo普通渲染器、neo表单渲染器,默认值为 neo普通渲染器
350
- * weight?: 自定义组件权重
351
- * framework?: 技术栈类型,默认为 react 技术栈,可选技术栈:vue2、react
352
- * }
353
- * 备注:暂不支持 vue3.0 技术栈
354
- */
355
- function registerNeoCmp(newRenderer, rendererOption) {
356
- if (!newRenderer) {
357
- return;
358
- }
359
- // 1.默认注册配置参数
360
- const curRendererOption = {
361
- cmpType: '',
362
- usage: Usage.renderer,
363
- weight: 0,
364
- // framework: Framework.react, // 默认为 react 技术栈
365
- };
366
- // 2.获取相关配置参数
367
- if (rendererOption && isString(rendererOption)) {
368
- // rendererOption为字符串则将其设置为type
369
- Object.assign(curRendererOption, {
370
- cmpType: rendererOption,
371
- });
372
- }
373
- else {
374
- Object.assign(curRendererOption, rendererOption);
375
- }
376
- if (curRendererOption && !curRendererOption.cmpType) {
377
- console.error(`${consoleTag} / registerNeoCmp: 自定义组件注册失败,cmpType 不能为空。`);
378
- }
379
- else {
380
- // 根据组件结构自动识别组件技术栈
381
- curRendererOption.framework = curRendererOption.framework
382
- ? getFramework(curRendererOption.framework)
383
- : getFrameworkByCmp(newRenderer);
384
- // 修正usage数值
385
- curRendererOption.usage = getUsage(curRendererOption.usage);
386
- // 当前支持注册的渲染器类型
387
- const registerMap = {
388
- renderer: () => { },
389
- formitem: () => { }, // FormItem
390
- };
391
- // 当前支持的技术栈类型
392
- const resolverMap = {
393
- react: (i) => i,
394
- vue2: createVue2Component,
395
- vue3: createVue2Component, // createVue3Component,
396
- };
397
- // 支持多技术栈
398
- const curRendererComponent = resolverMap[curRendererOption.framework](newRenderer);
399
- // 注册neo渲染器
400
- if (!registerMap[curRendererOption.usage]) {
401
- console.error(`${consoleTag} / registerNeoCmp: 自定义组件注册失败,暂不支持 ${curRendererOption.usage} 组件类型。`);
402
- }
403
- else {
404
- // 通过 postMessage 告知 neo 注册一个新的渲染器
405
- if (window && window.postMessage) {
406
- const newComponentType = AddNeoCustomCmp(curRendererOption.cmpType, {
407
- cmpType: curRendererOption.cmpType,
408
- weight: curRendererOption.weight,
409
- usage: curRendererOption.usage,
410
- framework: curRendererOption.framework,
411
- component: curRendererComponent,
412
- config: curRendererOption,
413
- });
414
- if (newComponentType) {
415
- console.info(`${consoleTag}触发注册自定义组件(${newComponentType})事件`);
416
- window.postMessage({
417
- type: 'neo-cmp-register-event',
418
- eventMsg: `${consoleTag}注册一个自定义组件`,
419
- neoRenderer: {
420
- cmpType: newComponentType,
421
- weight: curRendererOption.weight,
422
- usage: curRendererOption.usage,
423
- config: curRendererOption,
424
- },
425
- }, '*');
426
- }
427
- }
428
- }
429
- }
430
- }
431
- function AddNeoCustomCmp(componentType, rendererData) {
432
- if (window && !window.NeoCustomCmps) {
433
- window.NeoCustomCmps = {};
434
- }
435
- if (!window.NeoCustomCmps[componentType]) {
436
- window.NeoCustomCmps[componentType] = rendererData;
437
- return componentType;
438
- }
439
- else {
440
- console.error(`${consoleTag} / registerNeoCmp: 自定义组件注册失败,已存在重名渲染器(${componentType})。`);
441
- }
442
- return null;
443
- }
444
-
445
- export { autoConvertVueComponent, createVue2Component, registerNeoCmp, registerNeoEditorModel };
5
+ * Copyright (c) Facebook, Inc. and its affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */function y(){if(l)return p;l=1;var e=d(),t="function"==typeof Symbol&&Symbol.for,r=t?Symbol.for("react.element"):60103,n=t?Symbol.for("react.portal"):60106,o=t?Symbol.for("react.fragment"):60107,a=t?Symbol.for("react.strict_mode"):60108,u=t?Symbol.for("react.profiler"):60114,i=t?Symbol.for("react.provider"):60109,c=t?Symbol.for("react.context"):60110,s=t?Symbol.for("react.forward_ref"):60112,f=t?Symbol.for("react.suspense"):60113,y=t?Symbol.for("react.memo"):60115,m=t?Symbol.for("react.lazy"):60116,v="function"==typeof Symbol&&Symbol.iterator;function h(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g={};function w(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||b}function _(){}function C(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||b}w.prototype.isReactComponent={},w.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(h(85));this.updater.enqueueSetState(this,e,t,"setState")},w.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},_.prototype=w.prototype;var k=C.prototype=new _;k.constructor=C,e(k,w.prototype),k.isPureReactComponent=!0;var j={current:null},O=Object.prototype.hasOwnProperty,S={key:!0,ref:!0,__self:!0,__source:!0};function $(e,t,n){var o,a={},u=null,i=null;if(null!=t)for(o in void 0!==t.ref&&(i=t.ref),void 0!==t.key&&(u=""+t.key),t)O.call(t,o)&&!S.hasOwnProperty(o)&&(a[o]=t[o]);var c=arguments.length-2;if(1===c)a.children=n;else if(1<c){for(var s=Array(c),l=0;l<c;l++)s[l]=arguments[l+2];a.children=s}if(e&&e.defaultProps)for(o in c=e.defaultProps)void 0===a[o]&&(a[o]=c[o]);return{$$typeof:r,type:e,key:u,ref:i,props:a,_owner:j.current}}function R(e){return"object"==typeof e&&null!==e&&e.$$typeof===r}var P=/\/+/g,E=[];function x(e,t,r,n){if(E.length){var o=E.pop();return o.result=e,o.keyPrefix=t,o.func=r,o.context=n,o.count=0,o}return{result:e,keyPrefix:t,func:r,context:n,count:0}}function T(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>E.length&&E.push(e)}function N(e,t,o,a){var u=typeof e;"undefined"!==u&&"boolean"!==u||(e=null);var i=!1;if(null===e)i=!0;else switch(u){case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case r:case n:i=!0}}if(i)return o(a,e,""===t?"."+A(e,0):t),1;if(i=0,t=""===t?".":t+":",Array.isArray(e))for(var c=0;c<e.length;c++){var s=t+A(u=e[c],c);i+=N(u,s,o,a)}else if(null===e||"object"!=typeof e?s=null:s="function"==typeof(s=v&&e[v]||e["@@iterator"])?s:null,"function"==typeof s)for(e=s.call(e),c=0;!(u=e.next()).done;)i+=N(u=u.value,s=t+A(u,c++),o,a);else if("object"===u)throw o=""+e,Error(h(31,"[object Object]"===o?"object with keys {"+Object.keys(e).join(", ")+"}":o,""));return i}function D(e,t,r){return null==e?0:N(e,"",t,r)}function A(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}(e.key):t.toString(36)}function I(e,t){e.func.call(e.context,t,e.count++)}function M(e,t,n){var o=e.result,a=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?U(e,o,n,function(e){return e}):null!=e&&(R(e)&&(e=function(e,t){return{$$typeof:r,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,a+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(P,"$&/")+"/")+n)),o.push(e))}function U(e,t,r,n,o){var a="";null!=r&&(a=(""+r).replace(P,"$&/")+"/"),D(e,M,t=x(t,a,n,o)),T(t)}var F={current:null};function q(){var e=F.current;if(null===e)throw Error(h(321));return e}var V={ReactCurrentDispatcher:F,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:j,IsSomeRendererActing:{current:!1},assign:e};return p.Children={map:function(e,t,r){if(null==e)return e;var n=[];return U(e,n,null,t,r),n},forEach:function(e,t,r){if(null==e)return e;D(e,I,t=x(null,null,t,r)),T(t)},count:function(e){return D(e,function(){return null},null)},toArray:function(e){var t=[];return U(e,t,null,function(e){return e}),t},only:function(e){if(!R(e))throw Error(h(143));return e}},p.Component=w,p.Fragment=o,p.Profiler=u,p.PureComponent=C,p.StrictMode=a,p.Suspense=f,p.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=V,p.cloneElement=function(t,n,o){if(null==t)throw Error(h(267,t));var a=e({},t.props),u=t.key,i=t.ref,c=t._owner;if(null!=n){if(void 0!==n.ref&&(i=n.ref,c=j.current),void 0!==n.key&&(u=""+n.key),t.type&&t.type.defaultProps)var s=t.type.defaultProps;for(l in n)O.call(n,l)&&!S.hasOwnProperty(l)&&(a[l]=void 0===n[l]&&void 0!==s?s[l]:n[l])}var l=arguments.length-2;if(1===l)a.children=o;else if(1<l){s=Array(l);for(var f=0;f<l;f++)s[f]=arguments[f+2];a.children=s}return{$$typeof:r,type:t.type,key:u,ref:i,props:a,_owner:c}},p.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:c,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:i,_context:e},e.Consumer=e},p.createElement=$,p.createFactory=function(e){var t=$.bind(null,e);return t.type=e,t},p.createRef=function(){return{current:null}},p.forwardRef=function(e){return{$$typeof:s,render:e}},p.isValidElement=R,p.lazy=function(e){return{$$typeof:m,_ctor:e,_status:-1,_result:null}},p.memo=function(e,t){return{$$typeof:y,type:e,compare:void 0===t?null:t}},p.useCallback=function(e,t){return q().useCallback(e,t)},p.useContext=function(e,t){return q().useContext(e,t)},p.useDebugValue=function(){},p.useEffect=function(e,t){return q().useEffect(e,t)},p.useImperativeHandle=function(e,t,r){return q().useImperativeHandle(e,t,r)},p.useLayoutEffect=function(e,t){return q().useLayoutEffect(e,t)},p.useMemo=function(e,t){return q().useMemo(e,t)},p.useReducer=function(e,t,r){return q().useReducer(e,t,r)},p.useRef=function(e){return q().useRef(e)},p.useState=function(e){return q().useState(e)},p.version="16.14.0",p}var m,v,h,b,g,w,_,C,k={};function j(){if(v)return m;v=1;return m="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}function O(){return b?h:(b=1,h=Function.call.bind(Object.prototype.hasOwnProperty))}function S(){if(w)return g;w=1;var e=function(){};if("production"!==process.env.NODE_ENV){var t=j(),r={},n=O();e=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw new Error(t)}catch(e){}}}function o(o,a,u,i,c){if("production"!==process.env.NODE_ENV)for(var s in o)if(n(o,s)){var l;try{if("function"!=typeof o[s]){var f=Error((i||"React class")+": "+u+" type `"+s+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof o[s]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw f.name="Invariant Violation",f}l=o[s](a,s,i,u,null,t)}catch(e){l=e}if(!l||l instanceof Error||e((i||"React class")+": type specification of "+u+" `"+s+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof l+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),l instanceof Error&&!(l.message in r)){r[l.message]=!0;var p=c?c():"";e("Failed "+u+" type: "+l.message+(null!=p?p:""))}}}return o.resetWarningCache=function(){"production"!==process.env.NODE_ENV&&(r={})},g=o}
10
+ /** @license React v16.14.0
11
+ * react.development.js
12
+ *
13
+ * Copyright (c) Facebook, Inc. and its affiliates.
14
+ *
15
+ * This source code is licensed under the MIT license found in the
16
+ * LICENSE file in the root directory of this source tree.
17
+ */function $(){return _||(_=1,"production"!==process.env.NODE_ENV&&function(){var e=d(),t=S(),r="function"==typeof Symbol&&Symbol.for,n=r?Symbol.for("react.element"):60103,o=r?Symbol.for("react.portal"):60106,a=r?Symbol.for("react.fragment"):60107,u=r?Symbol.for("react.strict_mode"):60108,i=r?Symbol.for("react.profiler"):60114,c=r?Symbol.for("react.provider"):60109,s=r?Symbol.for("react.context"):60110,l=r?Symbol.for("react.concurrent_mode"):60111,f=r?Symbol.for("react.forward_ref"):60112,p=r?Symbol.for("react.suspense"):60113,y=r?Symbol.for("react.suspense_list"):60120,m=r?Symbol.for("react.memo"):60115,v=r?Symbol.for("react.lazy"):60116,h=r?Symbol.for("react.block"):60121,b=r?Symbol.for("react.fundamental"):60117,g=r?Symbol.for("react.responder"):60118,w=r?Symbol.for("react.scope"):60119,_="function"==typeof Symbol&&Symbol.iterator;function C(e){if(null===e||"object"!=typeof e)return null;var t=_&&e[_]||e["@@iterator"];return"function"==typeof t?t:null}var j={current:null},O={current:null},$=/^(.*)[\\\/]/;function R(e){if(null==e)return null;if("number"==typeof e.tag&&D("Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case a:return"Fragment";case o:return"Portal";case i:return"Profiler";case u:return"StrictMode";case p:return"Suspense";case y:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case s:return"Context.Consumer";case c:return"Context.Provider";case f:return n=e,l=e.render,d="ForwardRef",b=l.displayName||l.name||"",n.displayName||(""!==b?d+"("+b+")":d);case m:return R(e.type);case h:return R(e.render);case v:var t=1===(r=e)._status?r._result:null;if(t)return R(t)}var r,n,l,d,b;return null}var P={},E=null;function x(e){E=e}P.getCurrentStack=null,P.getStackAddendum=function(){var e="";if(E){var t=R(E.type),r=E._owner;e+=function(e,t,r){var n="";if(t){var o=t.fileName,a=o.replace($,"");if(/^index\./.test(a)){var u=o.match($);if(u){var i=u[1];i&&(a=i.replace($,"")+"/"+a)}}n=" (at "+a+":"+t.lineNumber+")"}else r&&(n=" (created by "+r+")");return"\n in "+(e||"Unknown")+n}(t,E._source,r&&R(r.type))}var n=P.getCurrentStack;return n&&(e+=n()||""),e};var T={ReactCurrentDispatcher:j,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:O,IsSomeRendererActing:{current:!1},assign:e};function N(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];A("warn",e,r)}function D(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];A("error",e,r)}function A(e,t,r){if(!(r.length>0&&"string"==typeof r[r.length-1]&&0===r[r.length-1].indexOf("\n in"))){var n=T.ReactDebugCurrentFrame.getStackAddendum();""!==n&&(t+="%s",r=r.concat([n]))}var o=r.map(function(e){return""+e});o.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,o);try{var a=0,u="Warning: "+t.replace(/%s/g,function(){return r[a++]});throw new Error(u)}catch(e){}}e(T,{ReactDebugCurrentFrame:P,ReactComponentTreeHook:{}});var I={};function M(e,t){var r=e.constructor,n=r&&(r.displayName||r.name)||"ReactClass",o=n+"."+t;I[o]||(D("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",t,n),I[o]=!0)}var U={isMounted:function(e){return!1},enqueueForceUpdate:function(e,t,r){M(e,"forceUpdate")},enqueueReplaceState:function(e,t,r,n){M(e,"replaceState")},enqueueSetState:function(e,t,r,n){M(e,"setState")}},F={};function q(e,t,r){this.props=e,this.context=t,this.refs=F,this.updater=r||U}Object.freeze(F),q.prototype.isReactComponent={},q.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},q.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};var V={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]},L=function(e,t){Object.defineProperty(q.prototype,e,{get:function(){N("%s(...) is deprecated in plain JavaScript React classes. %s",t[0],t[1])}})};for(var z in V)V.hasOwnProperty(z)&&L(z,V[z]);function W(){}function B(e,t,r){this.props=e,this.context=t,this.refs=F,this.updater=r||U}W.prototype=q.prototype;var H=B.prototype=new W;H.constructor=B,e(H,q.prototype),H.isPureReactComponent=!0;var Y,J,X,G=Object.prototype.hasOwnProperty,K={key:!0,ref:!0,__self:!0,__source:!0};function Q(e){if(G.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}function Z(e){if(G.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}X={};var ee=function(e,t,r,o,a,u,i){var c={$$typeof:n,type:e,key:t,ref:r,props:i,_owner:u,_store:{}};return Object.defineProperty(c._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(c,"_self",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(c,"_source",{configurable:!1,enumerable:!1,writable:!1,value:a}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c};function te(e,t,r){var n,o={},a=null,u=null,i=null,c=null;if(null!=t)for(n in Q(t)&&(u=t.ref,function(e){if("string"==typeof e.ref&&O.current&&e.__self&&O.current.stateNode!==e.__self){var t=R(O.current.type);X[t]||(D('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref',R(O.current.type),e.ref),X[t]=!0)}}(t)),Z(t)&&(a=""+t.key),i=void 0===t.__self?null:t.__self,c=void 0===t.__source?null:t.__source,t)G.call(t,n)&&!K.hasOwnProperty(n)&&(o[n]=t[n]);var s=arguments.length-2;if(1===s)o.children=r;else if(s>1){for(var l=Array(s),f=0;f<s;f++)l[f]=arguments[f+2];Object.freeze&&Object.freeze(l),o.children=l}if(e&&e.defaultProps){var p=e.defaultProps;for(n in p)void 0===o[n]&&(o[n]=p[n])}if(a||u){var d="function"==typeof e?e.displayName||e.name||"Unknown":e;a&&function(e,t){var r=function(){Y||(Y=!0,D("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)",t))};r.isReactWarning=!0,Object.defineProperty(e,"key",{get:r,configurable:!0})}(o,d),u&&function(e,t){var r=function(){J||(J=!0,D("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)",t))};r.isReactWarning=!0,Object.defineProperty(e,"ref",{get:r,configurable:!0})}(o,d)}return ee(e,a,u,i,c,O.current,o)}function re(t,r,n){if(null==t)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+t+".");var o,a,u=e({},t.props),i=t.key,c=t.ref,s=t._self,l=t._source,f=t._owner;if(null!=r)for(o in Q(r)&&(c=r.ref,f=O.current),Z(r)&&(i=""+r.key),t.type&&t.type.defaultProps&&(a=t.type.defaultProps),r)G.call(r,o)&&!K.hasOwnProperty(o)&&(void 0===r[o]&&void 0!==a?u[o]=a[o]:u[o]=r[o]);var p=arguments.length-2;if(1===p)u.children=n;else if(p>1){for(var d=Array(p),y=0;y<p;y++)d[y]=arguments[y+2];u.children=d}return ee(t.type,i,c,s,l,f,u)}function ne(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var oe=!1,ae=/\/+/g;function ue(e){return(""+e).replace(ae,"$&/")}var ie,ce=[];function se(e,t,r,n){if(ce.length){var o=ce.pop();return o.result=e,o.keyPrefix=t,o.func=r,o.context=n,o.count=0,o}return{result:e,keyPrefix:t,func:r,context:n,count:0}}function le(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,ce.length<10&&ce.push(e)}function fe(e,t,r,a){var u=typeof e;"undefined"!==u&&"boolean"!==u||(e=null);var i,c=!1;if(null===e)c=!0;else switch(u){case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case n:case o:c=!0}}if(c)return r(a,e,""===t?"."+de(e,0):t),1;var s=0,l=""===t?".":t+":";if(Array.isArray(e))for(var f=0;f<e.length;f++)s+=fe(i=e[f],l+de(i,f),r,a);else{var p=C(e);if("function"==typeof p){p===e.entries&&(oe||N("Using Maps as children is deprecated and will be removed in a future major release. Consider converting children to an array of keyed ReactElements instead."),oe=!0);for(var d,y=p.call(e),m=0;!(d=y.next()).done;)s+=fe(i=d.value,l+de(i,m++),r,a)}else if("object"===u){var v;v=" If you meant to render a collection of children, use an array instead."+P.getStackAddendum();var h=""+e;throw Error("Objects are not valid as a React child (found: "+("[object Object]"===h?"object with keys {"+Object.keys(e).join(", ")+"}":h)+")."+v)}}return s}function pe(e,t,r){return null==e?0:fe(e,"",t,r)}function de(e,t){return"object"==typeof e&&null!==e&&null!=e.key?(r=e.key,n={"=":"=0",":":"=2"},"$"+(""+r).replace(/[=:]/g,function(e){return n[e]})):t.toString(36);var r,n}function ye(e,t,r){var n=e.func,o=e.context;n.call(o,t,e.count++)}function me(e,t,r){var n,o,a=e.result,u=e.keyPrefix,i=e.func,c=e.context,s=i.call(c,t,e.count++);Array.isArray(s)?ve(s,a,r,function(e){return e}):null!=s&&(ne(s)&&(n=s,o=u+(!s.key||t&&t.key===s.key?"":ue(s.key)+"/")+r,s=ee(n.type,o,n.ref,n._self,n._source,n._owner,n.props)),a.push(s))}function ve(e,t,r,n,o){var a="";null!=r&&(a=ue(r)+"/");var u=se(t,a,n,o);pe(e,me,u),le(u)}function he(e){return"string"==typeof e||"function"==typeof e||e===a||e===l||e===i||e===u||e===p||e===y||"object"==typeof e&&null!==e&&(e.$$typeof===v||e.$$typeof===m||e.$$typeof===c||e.$$typeof===s||e.$$typeof===f||e.$$typeof===b||e.$$typeof===g||e.$$typeof===w||e.$$typeof===h)}function be(){var e=j.current;if(null===e)throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.");return e}function ge(){if(O.current){var e=R(O.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}ie=!1;var we={};function _e(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var r=function(e){var t=ge();if(!t){var r="string"==typeof e?e:e.displayName||e.name;r&&(t="\n\nCheck the top-level render call using <"+r+">.")}return t}(t);if(!we[r]){we[r]=!0;var n="";e&&e._owner&&e._owner!==O.current&&(n=" It was passed a child from "+R(e._owner.type)+"."),x(e),D('Each child in a list should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.',r,n),x(null)}}}function Ce(e,t){if("object"==typeof e)if(Array.isArray(e))for(var r=0;r<e.length;r++){var n=e[r];ne(n)&&_e(n,t)}else if(ne(e))e._store&&(e._store.validated=!0);else if(e){var o=C(e);if("function"==typeof o&&o!==e.entries)for(var a,u=o.call(e);!(a=u.next()).done;)ne(a.value)&&_e(a.value,t)}}function ke(e){var r=e.type;if(null!=r&&"string"!=typeof r){var n,o=R(r);if("function"==typeof r)n=r.propTypes;else{if("object"!=typeof r||r.$$typeof!==f&&r.$$typeof!==m)return;n=r.propTypes}n?(x(e),t(n,e.props,"prop",o,P.getStackAddendum),x(null)):void 0===r.PropTypes||ie||(ie=!0,D("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",o||"Unknown")),"function"!=typeof r.getDefaultProps||r.getDefaultProps.isReactClassApproved||D("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function je(e,t,r){var o,u,i=he(e);if(!i){var c="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(c+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var s,l=null!=(o=t)&&void 0!==(u=o.__source)?"\n\nCheck your code at "+u.fileName.replace(/^.*[\\\/]/,"")+":"+u.lineNumber+".":"";c+=l||ge(),null===e?s="null":Array.isArray(e)?s="array":void 0!==e&&e.$$typeof===n?(s="<"+(R(e.type)||"Unknown")+" />",c=" Did you accidentally export a JSX literal instead of a component?"):s=typeof e,D("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",s,c)}var f=te.apply(this,arguments);if(null==f)return f;if(i)for(var p=2;p<arguments.length;p++)Ce(arguments[p],e);return e===a?function(e){x(e);for(var t=Object.keys(e.props),r=0;r<t.length;r++){var n=t[r];if("children"!==n&&"key"!==n){D("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",n);break}}null!==e.ref&&D("Invalid attribute `ref` supplied to `React.Fragment`."),x(null)}(f):ke(f),f}var Oe=!1;try{var Se=Object.freeze({}),$e=new Map([[Se,null]]),Re=new Set([Se]);$e.set(0,0),Re.add(0)}catch(e){}var Pe=je,Ee=function(e,t,r){for(var n=re.apply(this,arguments),o=2;o<arguments.length;o++)Ce(arguments[o],n.type);return ke(n),n},xe=function(e){var t=je.bind(null,e);return t.type=e,Oe||(Oe=!0,N("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.")),Object.defineProperty(t,"type",{enumerable:!1,get:function(){return N("Factory.type is deprecated. Access the class directly before passing it to createFactory."),Object.defineProperty(this,"type",{value:e}),e}}),t},Te={map:function(e,t,r){if(null==e)return e;var n=[];return ve(e,n,null,t,r),n},forEach:function(e,t,r){if(null==e)return e;var n=se(null,null,t,r);pe(e,ye,n),le(n)},count:function(e){return pe(e,function(){return null},null)},toArray:function(e){var t=[];return ve(e,t,null,function(e){return e}),t},only:function(e){if(!ne(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};k.Children=Te,k.Component=q,k.Fragment=a,k.Profiler=i,k.PureComponent=B,k.StrictMode=u,k.Suspense=p,k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=T,k.cloneElement=Ee,k.createContext=function(e,t){void 0===t?t=null:null!==t&&"function"!=typeof t&&D("createContext: Expected the optional second argument to be a function. Instead received: %s",t);var r={$$typeof:s,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null};r.Provider={$$typeof:c,_context:r};var n=!1,o=!1,a={$$typeof:s,_context:r,_calculateChangedBits:r._calculateChangedBits};return Object.defineProperties(a,{Provider:{get:function(){return o||(o=!0,D("Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. Did you mean to render <Context.Provider> instead?")),r.Provider},set:function(e){r.Provider=e}},_currentValue:{get:function(){return r._currentValue},set:function(e){r._currentValue=e}},_currentValue2:{get:function(){return r._currentValue2},set:function(e){r._currentValue2=e}},_threadCount:{get:function(){return r._threadCount},set:function(e){r._threadCount=e}},Consumer:{get:function(){return n||(n=!0,D("Rendering <Context.Consumer.Consumer> is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?")),r.Consumer}}}),r.Consumer=a,r._currentRenderer=null,r._currentRenderer2=null,r},k.createElement=Pe,k.createFactory=xe,k.createRef=function(){var e={current:null};return Object.seal(e),e},k.forwardRef=function(e){return null!=e&&e.$$typeof===m?D("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):"function"!=typeof e?D("forwardRef requires a render function but was given %s.",null===e?"null":typeof e):0!==e.length&&2!==e.length&&D("forwardRef render functions accept exactly two parameters: props and ref. %s",1===e.length?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),null!=e&&(null==e.defaultProps&&null==e.propTypes||D("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?")),{$$typeof:f,render:e}},k.isValidElement=ne,k.lazy=function(e){var t,r,n={$$typeof:v,_ctor:e,_status:-1,_result:null};return Object.defineProperties(n,{defaultProps:{configurable:!0,get:function(){return t},set:function(e){D("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),t=e,Object.defineProperty(n,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return r},set:function(e){D("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),r=e,Object.defineProperty(n,"propTypes",{enumerable:!0})}}}),n},k.memo=function(e,t){return he(e)||D("memo: The first argument must be a component. Instead received: %s",null===e?"null":typeof e),{$$typeof:m,type:e,compare:void 0===t?null:t}},k.useCallback=function(e,t){return be().useCallback(e,t)},k.useContext=function(e,t){var r=be();if(void 0!==t&&D("useContext() second argument is reserved for future use in React. Passing it is not supported. You passed: %s.%s",t,"number"==typeof t&&Array.isArray(arguments[2])?"\n\nDid you call array.map(useContext)? Calling Hooks inside a loop is not supported. Learn more at https://fb.me/rules-of-hooks":""),void 0!==e._context){var n=e._context;n.Consumer===e?D("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):n.Provider===e&&D("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return r.useContext(e,t)},k.useDebugValue=function(e,t){return be().useDebugValue(e,t)},k.useEffect=function(e,t){return be().useEffect(e,t)},k.useImperativeHandle=function(e,t,r){return be().useImperativeHandle(e,t,r)},k.useLayoutEffect=function(e,t){return be().useLayoutEffect(e,t)},k.useMemo=function(e,t){return be().useMemo(e,t)},k.useReducer=function(e,t,r){return be().useReducer(e,t,r)},k.useRef=function(e){return be().useRef(e)},k.useState=function(e){return be().useState(e)},k.version="16.14.0"}()),k}var R=i((C||(C=1,"production"===process.env.NODE_ENV?f.exports=y():f.exports=$()),f.exports));function P(r){if(r&&("function"==typeof r||"object"==typeof r)){class n extends R.Component{domRef;vm;isUnmount;constructor(e,t){super(e),this.domRef=R.createRef(),this.isUnmount=!1,this.resolveNeoProps=this.resolveNeoProps.bind(this)}componentDidMount(){const{neoData:n,neoMSTData:o,neoFunc:a}=this.resolveNeoProps(),{data:u,...i}=r="function"==typeof r?new r:r,c=t("function"==typeof u?u():u,n);this.vm=new e({...i,data:()=>c,props:t(a,{...i.props||{},...o})}),Object.keys(a).forEach(e=>{this.vm.$props[e]=a[e]}),this.domRef.current&&this.domRef.current.appendChild(this.vm.$mount().$el)}componentDidUpdate(){if(!this.isUnmount){const{neoData:e}=this.resolveNeoProps();this.vm&&(Object.keys(e).forEach(t=>{this.vm[t]=e[t]}),this.vm.$forceUpdate())}}componentWillUnmount(){this.isUnmount=!0,this.vm&&this.vm.$destroy()}resolveNeoProps(){let e={},t={},r={};return Object.keys(this.props).forEach(n=>{const o=this.props[n];var a;"function"==typeof o?e[n]=o:(a=o)&&(a.$treenode||a.$mstObservable||a.$modelType||a.$modelId||"[object Proxy]"===Object.prototype.toString.call(a))?r[n]=o:t[n]=o}),{neoData:t,neoMSTData:r,neoFunc:e}}reload(){this.vm&&this.vm.reload?this.vm.reload():console.warn("自定义组件暂不支持reload动作。")}doAction(e,t){this.vm&&this.vm.doAction?this.vm.doAction(e,t):console.warn("自定义组件中不存在 doAction。")}render(){return R.createElement("div",{ref:this.domRef})}}return n}}function E(e){return n(e)?P(e):e}function x(e,t){if(!e)return;const u={cmpType:"",usage:o.renderer,weight:0};var i;if(t&&(i=t,"String"===Object.prototype.toString.call(i).slice(8,-1))?Object.assign(u,{cmpType:t}):Object.assign(u,t),u&&!u.cmpType)console.error(`${r} / registerNeoCmp: 自定义组件注册失败,cmpType 不能为空。`);else{u.framework=u.framework?function(e){let t=a.react;if(!e)return t;let n=e.toLowerCase().trim();switch(n){case"jquery":case"jq":n=a.jquery;break;case"vue2":case"vue 2":case"vue2.0":case"vue 2.0":n=a.vue2;break;case"vue":case"vue3":case"vue 3":case"vue3.0":case"vue 3.0":n=a.vue3,console.error(`${r} 暂不支持 vue3.0 技术栈。`);break;default:n=a.react}return n}(u.framework):n(e)?"vue2":"react",u.usage=function(e){let t=o.renderer;if(!e)return t;let r=e.toLowerCase().trim();switch(r){case"renderer":case"renderers":default:r=o.renderer;break;case"formitem":case"form-item":case"form item":r=o.formitem}return r}(u.usage);const t={renderer:()=>{},formitem:()=>{}},i={react:e=>e,vue2:P,vue3:P}[u.framework](e);if(t[u.usage]){if(window&&window.postMessage){const e=function(e,t){window&&!window.NeoCustomCmps&&(window.NeoCustomCmps={});if(!window.NeoCustomCmps[e])return window.NeoCustomCmps[e]=t,e;console.error(`${r} / registerNeoCmp: 自定义组件注册失败,已存在重名渲染器(${e})。`);return null}(u.cmpType,{cmpType:u.cmpType,weight:u.weight,usage:u.usage,framework:u.framework,component:i,config:u});e&&(console.info(`${r}触发注册自定义组件(${e})事件`),window.postMessage({type:"neo-cmp-register-event",eventMsg:`${r}注册一个自定义组件`,neoRenderer:{cmpType:e,weight:u.weight,usage:u.usage,config:u}},"*"))}}else console.error(`${r} / registerNeoCmp: 自定义组件注册失败,暂不支持 ${u.usage} 组件类型。`)}}export{E as autoConvertVueComponent,P as createVue2Component,x as registerNeoCmp,u as registerNeoEditorModel};
@@ -1 +1,17 @@
1
- import e from"react";import o from"vue";function t(e,o,t=!0){const r=function(e,o=!0){const t=e&&e.__super?Object.create(e.__super,{__super:{value:e.__super,writable:!1,enumerable:!1}}):Object.create(Object.prototype);return o&&e&&Object.keys(e).forEach(o=>t[o]=e[o]),t}(e,t);return o&&Object.keys(o).forEach(e=>r[e]=o[e]),r}const r="[neo-register]";function n(e){return"object"==typeof e&&(e._compiled&&e.components||e.__file&&e.__file.endsWith(".vue"))}var s,i;function c(e,o,t){if(e&&function(e){let o=!1;if(!e)return!1;const t=new e;return t.label?t.tags&&!Array.isArray(t.tags)?console.error(`${r} / registerNeoEditorModel: 自定义组件注册失败,组件分类(tags)格式异常。`):(t.iconSrc||Object.assign(e.prototype,{iconSrc:"https://neo-widgets.bj.bcebos.com/custom-widget.svg"}),o=!0):console.error(`${r} / registerNeoEditorModel: 自定义组件注册失败,名称(label)不能为空。`),o}(e)){const n=o||(new e).cmpType;n||console.error(`${r} / registerNeoEditorModel: 自定义组件注册失败,cmpType 不能为空。`);const s=t||{},i=new e;if(Object.assign(e.prototype,{...i,cmpType:n,custom:!0,tags:i.tags??s.tags??["自定义组件"],targetPage:i.targetPage??s.targetPage??["customPage"],exposedToDesigner:i.exposedToDesigner??s.exposedToDesigner??!0,namespace:i.namespace??s.namespace??"neo-cmp-cli",enableDuplicate:i.enableDuplicate??s.enableDuplicate??!0}),window&&window.postMessage){const o=function(e,o){window&&!window.NEOEditorCustomModels&&(window.NEOEditorCustomModels={});if(!window.NEOEditorCustomModels[e])return window.NEOEditorCustomModels[e]=o,e;console.error(`${r}注册自定义组件模型失败,已存在重名插件(${e})。`);return null}(n,e);o&&(console.info(`${r}触发注册自定义组件模型(${n})事件`),window.postMessage({type:"neo-model-register-event",eventMsg:`${r}注册一个 neo-editor 自定义组件模型`,cmpType:n},"*"))}}}function a(r){if(r&&("function"==typeof r||"object"==typeof r)){class n extends e.Component{domRef;vm;isUnmount;constructor(o,t){super(o),this.domRef=e.createRef(),this.isUnmount=!1,this.resolveNeoProps=this.resolveNeoProps.bind(this)}componentDidMount(){const{neoData:e,neoMSTData:n,neoFunc:s}=this.resolveNeoProps(),{data:i,...c}=r="function"==typeof r?new r:r,a=t("function"==typeof i?i():i,e);this.vm=new o({...c,data:()=>a,props:t(s,{...c.props||{},...n})}),Object.keys(s).forEach(e=>{this.vm.$props[e]=s[e]}),this.domRef.current&&this.domRef.current.appendChild(this.vm.$mount().$el)}componentDidUpdate(){if(!this.isUnmount){const{neoData:e}=this.resolveNeoProps();this.vm&&(Object.keys(e).forEach(o=>{this.vm[o]=e[o]}),this.vm.$forceUpdate())}}componentWillUnmount(){this.isUnmount=!0,this.vm&&this.vm.$destroy()}resolveNeoProps(){let e={},o={},t={};return Object.keys(this.props).forEach(r=>{const n=this.props[r];var s;"function"==typeof n?e[r]=n:(s=n)&&(s.$treenode||s.$mstObservable||s.$modelType||s.$modelId||"[object Proxy]"===Object.prototype.toString.call(s))?t[r]=n:o[r]=n}),{neoData:o,neoMSTData:t,neoFunc:e}}reload(){this.vm&&this.vm.reload?this.vm.reload():console.warn("自定义组件暂不支持reload动作。")}doAction(e,o){this.vm&&this.vm.doAction?this.vm.doAction(e,o):console.warn("自定义组件中不存在 doAction。")}render(){return e.createElement("div",{ref:this.domRef})}}return n}}function u(e){return n(e)?a(e):e}function m(e,o){if(!e)return;const t={cmpType:"",usage:s.renderer,weight:0};var c;if(o&&(c=o,"String"===Object.prototype.toString.call(c).slice(8,-1))?Object.assign(t,{cmpType:o}):Object.assign(t,o),t&&!t.cmpType)console.error(`${r} / registerNeoCmp: 自定义组件注册失败,cmpType 不能为空。`);else{t.framework=t.framework?function(e){let o=i.react;if(!e)return o;let t=e.toLowerCase().trim();switch(t){case"jquery":case"jq":t=i.jquery;break;case"vue2":case"vue 2":case"vue2.0":case"vue 2.0":t=i.vue2;break;case"vue":case"vue3":case"vue 3":case"vue3.0":case"vue 3.0":t=i.vue3,console.error(`${r} 暂不支持 vue3.0 技术栈。`);break;default:t=i.react}return t}(t.framework):n(e)?"vue2":"react",t.usage=function(e){let o=s.renderer;if(!e)return o;let t=e.toLowerCase().trim();switch(t){case"renderer":case"renderers":default:t=s.renderer;break;case"formitem":case"form-item":case"form item":t=s.formitem}return t}(t.usage);const o={renderer:()=>{},formitem:()=>{}},c={react:e=>e,vue2:a,vue3:a}[t.framework](e);if(o[t.usage]){if(window&&window.postMessage){const e=function(e,o){window&&!window.NeoCustomCmps&&(window.NeoCustomCmps={});if(!window.NeoCustomCmps[e])return window.NeoCustomCmps[e]=o,e;console.error(`${r} / registerNeoCmp: 自定义组件注册失败,已存在重名渲染器(${e})。`);return null}(t.cmpType,{cmpType:t.cmpType,weight:t.weight,usage:t.usage,framework:t.framework,component:c,config:t});e&&(console.info(`${r}触发注册自定义组件(${e})事件`),window.postMessage({type:"neo-cmp-register-event",eventMsg:`${r}注册一个自定义组件`,neoRenderer:{cmpType:e,weight:t.weight,usage:t.usage,config:t}},"*"))}}else console.error(`${r} / registerNeoCmp: 自定义组件注册失败,暂不支持 ${t.usage} 组件类型。`)}}!function(e){e.renderer="renderer",e.formitem="formitem"}(s||(s={})),function(e){e.react="react",e.vue2="vue2",e.vue3="vue3",e.jquery="jquery"}(i||(i={}));export{u as autoConvertVueComponent,a as createVue2Component,m as registerNeoCmp,c as registerNeoEditorModel};
1
+ import e from"vue";function t(e,t,r=!0){const n=function(e,t=!0){const r=e&&e.__super?Object.create(e.__super,{__super:{value:e.__super,writable:!1,enumerable:!1}}):Object.create(Object.prototype);return t&&e&&Object.keys(e).forEach(t=>r[t]=e[t]),r}(e,r);return t&&Object.keys(t).forEach(e=>n[e]=t[e]),n}const r="[neo-register]";function n(e){return"object"==typeof e&&(e._compiled&&e.components||e.__file&&e.__file.endsWith(".vue"))}var o,a;function u(e,t,n){if(e&&function(e){let t=!1;if(!e)return!1;const n=new e;return n.label?n.tags&&!Array.isArray(n.tags)?console.error(`${r} / registerNeoEditorModel: 自定义组件注册失败,组件分类(tags)格式异常。`):(n.iconSrc||Object.assign(e.prototype,{iconSrc:"https://neo-widgets.bj.bcebos.com/custom-widget.svg"}),t=!0):console.error(`${r} / registerNeoEditorModel: 自定义组件注册失败,名称(label)不能为空。`),t}(e)){const o=t||(new e).cmpType;o||console.error(`${r} / registerNeoEditorModel: 自定义组件注册失败,cmpType 不能为空。`);const a=n||{},u=new e;if(Object.assign(e.prototype,{...u,cmpType:o,custom:!0,tags:u.tags??a.tags??["自定义组件"],targetPage:u.targetPage??a.targetPage??["customPage"],exposedToDesigner:u.exposedToDesigner??a.exposedToDesigner??!0,namespace:u.namespace??a.namespace??"neo-cmp-cli",enableDuplicate:u.enableDuplicate??a.enableDuplicate??!0}),window&&window.postMessage){const t=function(e,t){return window&&!window.NEOEditorCustomModels&&(window.NEOEditorCustomModels={}),window.NEOEditorCustomModels[e]?(console.error(`${r}注册自定义组件模型失败,已存在重名插件(${e})。`),null):(window.NEOEditorCustomModels[e]=t,e)}(o,e);t&&(console.info(`${r}触发注册自定义组件模型(${o})事件`),window.postMessage({type:"neo-model-register-event",eventMsg:`${r}注册一个 neo-editor 自定义组件模型`,cmpType:o},"*"))}}}!function(e){e.renderer="renderer",e.formitem="formitem"}(o||(o={})),function(e){e.react="react",e.vue2="vue2",e.vue3="vue3",e.jquery="jquery"}(a||(a={}));var i,c,s,l={exports:{}},f={};function p(){if(c)return i;c=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;return i=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(e){n[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(n,o){for(var a,u,i=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(n),c=1;c<arguments.length;c++){for(var s in a=Object(arguments[c]))t.call(a,s)&&(i[s]=a[s]);if(e){u=e(a);for(var l=0;l<u.length;l++)r.call(a,u[l])&&(i[u[l]]=a[u[l]])}}return i},i}
2
+ /** @license React v16.14.0
3
+ * react.production.min.js
4
+ *
5
+ * Copyright (c) Facebook, Inc. and its affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */var d,y,m,v,h,g,b,w,_={};function C(){if(g)return h;g=1;var e=function(){};if("production"!==process.env.NODE_ENV){var t=y?d:(y=1,d="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"),r={},n=v?m:(v=1,m=Function.call.bind(Object.prototype.hasOwnProperty));e=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw new Error(t)}catch(e){}}}function o(o,a,u,i,c){if("production"!==process.env.NODE_ENV)for(var s in o)if(n(o,s)){var l;try{if("function"!=typeof o[s]){var f=Error((i||"React class")+": "+u+" type `"+s+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof o[s]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw f.name="Invariant Violation",f}l=o[s](a,s,i,u,null,t)}catch(e){l=e}if(!l||l instanceof Error||e((i||"React class")+": type specification of "+u+" `"+s+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof l+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),l instanceof Error&&!(l.message in r)){r[l.message]=!0;var p=c?c():"";e("Failed "+u+" type: "+l.message+(null!=p?p:""))}}}return o.resetWarningCache=function(){"production"!==process.env.NODE_ENV&&(r={})},h=o}
10
+ /** @license React v16.14.0
11
+ * react.development.js
12
+ *
13
+ * Copyright (c) Facebook, Inc. and its affiliates.
14
+ *
15
+ * This source code is licensed under the MIT license found in the
16
+ * LICENSE file in the root directory of this source tree.
17
+ */var k=function(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}((w||(w=1,"production"===process.env.NODE_ENV?l.exports=function(){if(s)return f;s=1;var e=p(),t="function"==typeof Symbol&&Symbol.for,r=t?Symbol.for("react.element"):60103,n=t?Symbol.for("react.portal"):60106,o=t?Symbol.for("react.fragment"):60107,a=t?Symbol.for("react.strict_mode"):60108,u=t?Symbol.for("react.profiler"):60114,i=t?Symbol.for("react.provider"):60109,c=t?Symbol.for("react.context"):60110,l=t?Symbol.for("react.forward_ref"):60112,d=t?Symbol.for("react.suspense"):60113,y=t?Symbol.for("react.memo"):60115,m=t?Symbol.for("react.lazy"):60116,v="function"==typeof Symbol&&Symbol.iterator;function h(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b={};function w(e,t,r){this.props=e,this.context=t,this.refs=b,this.updater=r||g}function _(){}function C(e,t,r){this.props=e,this.context=t,this.refs=b,this.updater=r||g}w.prototype.isReactComponent={},w.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(h(85));this.updater.enqueueSetState(this,e,t,"setState")},w.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},_.prototype=w.prototype;var k=C.prototype=new _;k.constructor=C,e(k,w.prototype),k.isPureReactComponent=!0;var j={current:null},O=Object.prototype.hasOwnProperty,S={key:!0,ref:!0,__self:!0,__source:!0};function $(e,t,n){var o,a={},u=null,i=null;if(null!=t)for(o in void 0!==t.ref&&(i=t.ref),void 0!==t.key&&(u=""+t.key),t)O.call(t,o)&&!S.hasOwnProperty(o)&&(a[o]=t[o]);var c=arguments.length-2;if(1===c)a.children=n;else if(1<c){for(var s=Array(c),l=0;l<c;l++)s[l]=arguments[l+2];a.children=s}if(e&&e.defaultProps)for(o in c=e.defaultProps)void 0===a[o]&&(a[o]=c[o]);return{$$typeof:r,type:e,key:u,ref:i,props:a,_owner:j.current}}function R(e){return"object"==typeof e&&null!==e&&e.$$typeof===r}var P=/\/+/g,E=[];function x(e,t,r,n){if(E.length){var o=E.pop();return o.result=e,o.keyPrefix=t,o.func=r,o.context=n,o.count=0,o}return{result:e,keyPrefix:t,func:r,context:n,count:0}}function N(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>E.length&&E.push(e)}function T(e,t,o,a){var u=typeof e;"undefined"!==u&&"boolean"!==u||(e=null);var i=!1;if(null===e)i=!0;else switch(u){case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case r:case n:i=!0}}if(i)return o(a,e,""===t?"."+A(e,0):t),1;if(i=0,t=""===t?".":t+":",Array.isArray(e))for(var c=0;c<e.length;c++){var s=t+A(u=e[c],c);i+=T(u,s,o,a)}else if("function"==typeof(s=null===e||"object"!=typeof e?null:"function"==typeof(s=v&&e[v]||e["@@iterator"])?s:null))for(e=s.call(e),c=0;!(u=e.next()).done;)i+=T(u=u.value,s=t+A(u,c++),o,a);else if("object"===u)throw o=""+e,Error(h(31,"[object Object]"===o?"object with keys {"+Object.keys(e).join(", ")+"}":o,""));return i}function D(e,t,r){return null==e?0:T(e,"",t,r)}function A(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})}(e.key):t.toString(36)}function I(e,t){e.func.call(e.context,t,e.count++)}function M(e,t,n){var o=e.result,a=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?U(e,o,n,function(e){return e}):null!=e&&(R(e)&&(e=function(e,t){return{$$typeof:r,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,a+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(P,"$&/")+"/")+n)),o.push(e))}function U(e,t,r,n,o){var a="";null!=r&&(a=(""+r).replace(P,"$&/")+"/"),D(e,M,t=x(t,a,n,o)),N(t)}var F={current:null};function V(){var e=F.current;if(null===e)throw Error(h(321));return e}var q={ReactCurrentDispatcher:F,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:j,IsSomeRendererActing:{current:!1},assign:e};return f.Children={map:function(e,t,r){if(null==e)return e;var n=[];return U(e,n,null,t,r),n},forEach:function(e,t,r){if(null==e)return e;D(e,I,t=x(null,null,t,r)),N(t)},count:function(e){return D(e,function(){return null},null)},toArray:function(e){var t=[];return U(e,t,null,function(e){return e}),t},only:function(e){if(!R(e))throw Error(h(143));return e}},f.Component=w,f.Fragment=o,f.Profiler=u,f.PureComponent=C,f.StrictMode=a,f.Suspense=d,f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=q,f.cloneElement=function(t,n,o){if(null==t)throw Error(h(267,t));var a=e({},t.props),u=t.key,i=t.ref,c=t._owner;if(null!=n){if(void 0!==n.ref&&(i=n.ref,c=j.current),void 0!==n.key&&(u=""+n.key),t.type&&t.type.defaultProps)var s=t.type.defaultProps;for(l in n)O.call(n,l)&&!S.hasOwnProperty(l)&&(a[l]=void 0===n[l]&&void 0!==s?s[l]:n[l])}var l=arguments.length-2;if(1===l)a.children=o;else if(1<l){s=Array(l);for(var f=0;f<l;f++)s[f]=arguments[f+2];a.children=s}return{$$typeof:r,type:t.type,key:u,ref:i,props:a,_owner:c}},f.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:c,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:i,_context:e},e.Consumer=e},f.createElement=$,f.createFactory=function(e){var t=$.bind(null,e);return t.type=e,t},f.createRef=function(){return{current:null}},f.forwardRef=function(e){return{$$typeof:l,render:e}},f.isValidElement=R,f.lazy=function(e){return{$$typeof:m,_ctor:e,_status:-1,_result:null}},f.memo=function(e,t){return{$$typeof:y,type:e,compare:void 0===t?null:t}},f.useCallback=function(e,t){return V().useCallback(e,t)},f.useContext=function(e,t){return V().useContext(e,t)},f.useDebugValue=function(){},f.useEffect=function(e,t){return V().useEffect(e,t)},f.useImperativeHandle=function(e,t,r){return V().useImperativeHandle(e,t,r)},f.useLayoutEffect=function(e,t){return V().useLayoutEffect(e,t)},f.useMemo=function(e,t){return V().useMemo(e,t)},f.useReducer=function(e,t,r){return V().useReducer(e,t,r)},f.useRef=function(e){return V().useRef(e)},f.useState=function(e){return V().useState(e)},f.version="16.14.0",f}():l.exports=(b||(b=1,"production"!==process.env.NODE_ENV&&function(){var e=p(),t=C(),r="function"==typeof Symbol&&Symbol.for,n=r?Symbol.for("react.element"):60103,o=r?Symbol.for("react.portal"):60106,a=r?Symbol.for("react.fragment"):60107,u=r?Symbol.for("react.strict_mode"):60108,i=r?Symbol.for("react.profiler"):60114,c=r?Symbol.for("react.provider"):60109,s=r?Symbol.for("react.context"):60110,l=r?Symbol.for("react.concurrent_mode"):60111,f=r?Symbol.for("react.forward_ref"):60112,d=r?Symbol.for("react.suspense"):60113,y=r?Symbol.for("react.suspense_list"):60120,m=r?Symbol.for("react.memo"):60115,v=r?Symbol.for("react.lazy"):60116,h=r?Symbol.for("react.block"):60121,g=r?Symbol.for("react.fundamental"):60117,b=r?Symbol.for("react.responder"):60118,w=r?Symbol.for("react.scope"):60119,k="function"==typeof Symbol&&Symbol.iterator;function j(e){if(null===e||"object"!=typeof e)return null;var t=k&&e[k]||e["@@iterator"];return"function"==typeof t?t:null}var O={current:null},S={current:null},$=/^(.*)[\\\/]/;function R(e){if(null==e)return null;if("number"==typeof e.tag&&D("Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case a:return"Fragment";case o:return"Portal";case i:return"Profiler";case u:return"StrictMode";case d:return"Suspense";case y:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case s:return"Context.Consumer";case c:return"Context.Provider";case f:return n=e,p="ForwardRef",g=(l=e.render).displayName||l.name||"",n.displayName||(""!==g?p+"("+g+")":p);case m:return R(e.type);case h:return R(e.render);case v:var t=1===(r=e)._status?r._result:null;if(t)return R(t)}var r,n,l,p,g;return null}var P={},E=null;function x(e){E=e}P.getCurrentStack=null,P.getStackAddendum=function(){var e="";if(E){var t=R(E.type),r=E._owner;e+=function(e,t,r){var n="";if(t){var o=t.fileName,a=o.replace($,"");if(/^index\./.test(a)){var u=o.match($);if(u){var i=u[1];i&&(a=i.replace($,"")+"/"+a)}}n=" (at "+a+":"+t.lineNumber+")"}else r&&(n=" (created by "+r+")");return"\n in "+(e||"Unknown")+n}(t,E._source,r&&R(r.type))}var n=P.getCurrentStack;return n&&(e+=n()||""),e};var N={ReactCurrentDispatcher:O,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:S,IsSomeRendererActing:{current:!1},assign:e};function T(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];A("warn",e,r)}function D(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];A("error",e,r)}function A(e,t,r){if(!(r.length>0&&"string"==typeof r[r.length-1]&&0===r[r.length-1].indexOf("\n in"))){var n=N.ReactDebugCurrentFrame.getStackAddendum();""!==n&&(t+="%s",r=r.concat([n]))}var o=r.map(function(e){return""+e});o.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,o);try{var a=0,u="Warning: "+t.replace(/%s/g,function(){return r[a++]});throw new Error(u)}catch(e){}}e(N,{ReactDebugCurrentFrame:P,ReactComponentTreeHook:{}});var I={};function M(e,t){var r=e.constructor,n=r&&(r.displayName||r.name)||"ReactClass",o=n+"."+t;I[o]||(D("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",t,n),I[o]=!0)}var U={isMounted:function(e){return!1},enqueueForceUpdate:function(e,t,r){M(e,"forceUpdate")},enqueueReplaceState:function(e,t,r,n){M(e,"replaceState")},enqueueSetState:function(e,t,r,n){M(e,"setState")}},F={};function V(e,t,r){this.props=e,this.context=t,this.refs=F,this.updater=r||U}Object.freeze(F),V.prototype.isReactComponent={},V.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},V.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};var q={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]},L=function(e,t){Object.defineProperty(V.prototype,e,{get:function(){T("%s(...) is deprecated in plain JavaScript React classes. %s",t[0],t[1])}})};for(var z in q)q.hasOwnProperty(z)&&L(z,q[z]);function W(){}function B(e,t,r){this.props=e,this.context=t,this.refs=F,this.updater=r||U}W.prototype=V.prototype;var H=B.prototype=new W;H.constructor=B,e(H,V.prototype),H.isPureReactComponent=!0;var Y,J,X,G=Object.prototype.hasOwnProperty,K={key:!0,ref:!0,__self:!0,__source:!0};function Q(e){if(G.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}function Z(e){if(G.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}X={};var ee=function(e,t,r,o,a,u,i){var c={$$typeof:n,type:e,key:t,ref:r,props:i,_owner:u,_store:{}};return Object.defineProperty(c._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(c,"_self",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(c,"_source",{configurable:!1,enumerable:!1,writable:!1,value:a}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c};function te(e,t,r){var n,o={},a=null,u=null,i=null,c=null;if(null!=t)for(n in Q(t)&&(u=t.ref,function(e){if("string"==typeof e.ref&&S.current&&e.__self&&S.current.stateNode!==e.__self){var t=R(S.current.type);X[t]||(D('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref',R(S.current.type),e.ref),X[t]=!0)}}(t)),Z(t)&&(a=""+t.key),i=void 0===t.__self?null:t.__self,c=void 0===t.__source?null:t.__source,t)G.call(t,n)&&!K.hasOwnProperty(n)&&(o[n]=t[n]);var s=arguments.length-2;if(1===s)o.children=r;else if(s>1){for(var l=Array(s),f=0;f<s;f++)l[f]=arguments[f+2];Object.freeze&&Object.freeze(l),o.children=l}if(e&&e.defaultProps){var p=e.defaultProps;for(n in p)void 0===o[n]&&(o[n]=p[n])}if(a||u){var d="function"==typeof e?e.displayName||e.name||"Unknown":e;a&&function(e,t){var r=function(){Y||(Y=!0,D("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)",t))};r.isReactWarning=!0,Object.defineProperty(e,"key",{get:r,configurable:!0})}(o,d),u&&function(e,t){var r=function(){J||(J=!0,D("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)",t))};r.isReactWarning=!0,Object.defineProperty(e,"ref",{get:r,configurable:!0})}(o,d)}return ee(e,a,u,i,c,S.current,o)}function re(t,r,n){if(null==t)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+t+".");var o,a,u=e({},t.props),i=t.key,c=t.ref,s=t._self,l=t._source,f=t._owner;if(null!=r)for(o in Q(r)&&(c=r.ref,f=S.current),Z(r)&&(i=""+r.key),t.type&&t.type.defaultProps&&(a=t.type.defaultProps),r)G.call(r,o)&&!K.hasOwnProperty(o)&&(void 0===r[o]&&void 0!==a?u[o]=a[o]:u[o]=r[o]);var p=arguments.length-2;if(1===p)u.children=n;else if(p>1){for(var d=Array(p),y=0;y<p;y++)d[y]=arguments[y+2];u.children=d}return ee(t.type,i,c,s,l,f,u)}function ne(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var oe=!1,ae=/\/+/g;function ue(e){return(""+e).replace(ae,"$&/")}var ie,ce=[];function se(e,t,r,n){if(ce.length){var o=ce.pop();return o.result=e,o.keyPrefix=t,o.func=r,o.context=n,o.count=0,o}return{result:e,keyPrefix:t,func:r,context:n,count:0}}function le(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,ce.length<10&&ce.push(e)}function fe(e,t,r,a){var u=typeof e;"undefined"!==u&&"boolean"!==u||(e=null);var i,c=!1;if(null===e)c=!0;else switch(u){case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case n:case o:c=!0}}if(c)return r(a,e,""===t?"."+de(e,0):t),1;var s=0,l=""===t?".":t+":";if(Array.isArray(e))for(var f=0;f<e.length;f++)s+=fe(i=e[f],l+de(i,f),r,a);else{var p=j(e);if("function"==typeof p){p===e.entries&&(oe||T("Using Maps as children is deprecated and will be removed in a future major release. Consider converting children to an array of keyed ReactElements instead."),oe=!0);for(var d,y=p.call(e),m=0;!(d=y.next()).done;)s+=fe(i=d.value,l+de(i,m++),r,a)}else if("object"===u){var v;v=" If you meant to render a collection of children, use an array instead."+P.getStackAddendum();var h=""+e;throw Error("Objects are not valid as a React child (found: "+("[object Object]"===h?"object with keys {"+Object.keys(e).join(", ")+"}":h)+")."+v)}}return s}function pe(e,t,r){return null==e?0:fe(e,"",t,r)}function de(e,t){return"object"==typeof e&&null!==e&&null!=e.key?(r=e.key,n={"=":"=0",":":"=2"},"$"+(""+r).replace(/[=:]/g,function(e){return n[e]})):t.toString(36);var r,n}function ye(e,t,r){var n=e.func,o=e.context;n.call(o,t,e.count++)}function me(e,t,r){var n,o,a=e.result,u=e.keyPrefix,i=e.func,c=e.context,s=i.call(c,t,e.count++);Array.isArray(s)?ve(s,a,r,function(e){return e}):null!=s&&(ne(s)&&(n=s,o=u+(!s.key||t&&t.key===s.key?"":ue(s.key)+"/")+r,s=ee(n.type,o,n.ref,n._self,n._source,n._owner,n.props)),a.push(s))}function ve(e,t,r,n,o){var a="";null!=r&&(a=ue(r)+"/");var u=se(t,a,n,o);pe(e,me,u),le(u)}function he(e){return"string"==typeof e||"function"==typeof e||e===a||e===l||e===i||e===u||e===d||e===y||"object"==typeof e&&null!==e&&(e.$$typeof===v||e.$$typeof===m||e.$$typeof===c||e.$$typeof===s||e.$$typeof===f||e.$$typeof===g||e.$$typeof===b||e.$$typeof===w||e.$$typeof===h)}function ge(){var e=O.current;if(null===e)throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.");return e}function be(){if(S.current){var e=R(S.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}ie=!1;var we={};function _e(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var r=function(e){var t=be();if(!t){var r="string"==typeof e?e:e.displayName||e.name;r&&(t="\n\nCheck the top-level render call using <"+r+">.")}return t}(t);if(!we[r]){we[r]=!0;var n="";e&&e._owner&&e._owner!==S.current&&(n=" It was passed a child from "+R(e._owner.type)+"."),x(e),D('Each child in a list should have a unique "key" prop.%s%s See https://fb.me/react-warning-keys for more information.',r,n),x(null)}}}function Ce(e,t){if("object"==typeof e)if(Array.isArray(e))for(var r=0;r<e.length;r++){var n=e[r];ne(n)&&_e(n,t)}else if(ne(e))e._store&&(e._store.validated=!0);else if(e){var o=j(e);if("function"==typeof o&&o!==e.entries)for(var a,u=o.call(e);!(a=u.next()).done;)ne(a.value)&&_e(a.value,t)}}function ke(e){var r=e.type;if(null!=r&&"string"!=typeof r){var n,o=R(r);if("function"==typeof r)n=r.propTypes;else{if("object"!=typeof r||r.$$typeof!==f&&r.$$typeof!==m)return;n=r.propTypes}n?(x(e),t(n,e.props,"prop",o,P.getStackAddendum),x(null)):void 0===r.PropTypes||ie||(ie=!0,D("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",o||"Unknown")),"function"!=typeof r.getDefaultProps||r.getDefaultProps.isReactClassApproved||D("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function je(e,t,r){var o,u,i=he(e);if(!i){var c,s="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(s+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."),s+=(null!=(o=t)&&void 0!==(u=o.__source)?"\n\nCheck your code at "+u.fileName.replace(/^.*[\\\/]/,"")+":"+u.lineNumber+".":"")||be(),null===e?c="null":Array.isArray(e)?c="array":void 0!==e&&e.$$typeof===n?(c="<"+(R(e.type)||"Unknown")+" />",s=" Did you accidentally export a JSX literal instead of a component?"):c=typeof e,D("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",c,s)}var l=te.apply(this,arguments);if(null==l)return l;if(i)for(var f=2;f<arguments.length;f++)Ce(arguments[f],e);return e===a?function(e){x(e);for(var t=Object.keys(e.props),r=0;r<t.length;r++){var n=t[r];if("children"!==n&&"key"!==n){D("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",n);break}}null!==e.ref&&D("Invalid attribute `ref` supplied to `React.Fragment`."),x(null)}(l):ke(l),l}var Oe=!1;try{var Se=Object.freeze({}),$e=new Map([[Se,null]]),Re=new Set([Se]);$e.set(0,0),Re.add(0)}catch(e){}var Pe=je,Ee={map:function(e,t,r){if(null==e)return e;var n=[];return ve(e,n,null,t,r),n},forEach:function(e,t,r){if(null==e)return e;var n=se(null,null,t,r);pe(e,ye,n),le(n)},count:function(e){return pe(e,function(){return null},null)},toArray:function(e){var t=[];return ve(e,t,null,function(e){return e}),t},only:function(e){if(!ne(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};_.Children=Ee,_.Component=V,_.Fragment=a,_.Profiler=i,_.PureComponent=B,_.StrictMode=u,_.Suspense=d,_.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=N,_.cloneElement=function(e,t,r){for(var n=re.apply(this,arguments),o=2;o<arguments.length;o++)Ce(arguments[o],n.type);return ke(n),n},_.createContext=function(e,t){void 0===t?t=null:null!==t&&"function"!=typeof t&&D("createContext: Expected the optional second argument to be a function. Instead received: %s",t);var r={$$typeof:s,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null};r.Provider={$$typeof:c,_context:r};var n=!1,o=!1,a={$$typeof:s,_context:r,_calculateChangedBits:r._calculateChangedBits};return Object.defineProperties(a,{Provider:{get:function(){return o||(o=!0,D("Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. Did you mean to render <Context.Provider> instead?")),r.Provider},set:function(e){r.Provider=e}},_currentValue:{get:function(){return r._currentValue},set:function(e){r._currentValue=e}},_currentValue2:{get:function(){return r._currentValue2},set:function(e){r._currentValue2=e}},_threadCount:{get:function(){return r._threadCount},set:function(e){r._threadCount=e}},Consumer:{get:function(){return n||(n=!0,D("Rendering <Context.Consumer.Consumer> is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?")),r.Consumer}}}),r.Consumer=a,r._currentRenderer=null,r._currentRenderer2=null,r},_.createElement=Pe,_.createFactory=function(e){var t=je.bind(null,e);return t.type=e,Oe||(Oe=!0,T("React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.")),Object.defineProperty(t,"type",{enumerable:!1,get:function(){return T("Factory.type is deprecated. Access the class directly before passing it to createFactory."),Object.defineProperty(this,"type",{value:e}),e}}),t},_.createRef=function(){var e={current:null};return Object.seal(e),e},_.forwardRef=function(e){return null!=e&&e.$$typeof===m?D("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):"function"!=typeof e?D("forwardRef requires a render function but was given %s.",null===e?"null":typeof e):0!==e.length&&2!==e.length&&D("forwardRef render functions accept exactly two parameters: props and ref. %s",1===e.length?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),null!=e&&(null==e.defaultProps&&null==e.propTypes||D("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?")),{$$typeof:f,render:e}},_.isValidElement=ne,_.lazy=function(e){var t,r,n={$$typeof:v,_ctor:e,_status:-1,_result:null};return Object.defineProperties(n,{defaultProps:{configurable:!0,get:function(){return t},set:function(e){D("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),t=e,Object.defineProperty(n,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return r},set:function(e){D("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),r=e,Object.defineProperty(n,"propTypes",{enumerable:!0})}}}),n},_.memo=function(e,t){return he(e)||D("memo: The first argument must be a component. Instead received: %s",null===e?"null":typeof e),{$$typeof:m,type:e,compare:void 0===t?null:t}},_.useCallback=function(e,t){return ge().useCallback(e,t)},_.useContext=function(e,t){var r=ge();if(void 0!==t&&D("useContext() second argument is reserved for future use in React. Passing it is not supported. You passed: %s.%s",t,"number"==typeof t&&Array.isArray(arguments[2])?"\n\nDid you call array.map(useContext)? Calling Hooks inside a loop is not supported. Learn more at https://fb.me/rules-of-hooks":""),void 0!==e._context){var n=e._context;n.Consumer===e?D("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):n.Provider===e&&D("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return r.useContext(e,t)},_.useDebugValue=function(e,t){return ge().useDebugValue(e,t)},_.useEffect=function(e,t){return ge().useEffect(e,t)},_.useImperativeHandle=function(e,t,r){return ge().useImperativeHandle(e,t,r)},_.useLayoutEffect=function(e,t){return ge().useLayoutEffect(e,t)},_.useMemo=function(e,t){return ge().useMemo(e,t)},_.useReducer=function(e,t,r){return ge().useReducer(e,t,r)},_.useRef=function(e){return ge().useRef(e)},_.useState=function(e){return ge().useState(e)},_.version="16.14.0"}()),_)),l.exports));function j(r){if(r&&("function"==typeof r||"object"==typeof r)){class n extends k.Component{domRef;vm;isUnmount;constructor(e,t){super(e),this.domRef=k.createRef(),this.isUnmount=!1,this.resolveNeoProps=this.resolveNeoProps.bind(this)}componentDidMount(){const{neoData:n,neoMSTData:o,neoFunc:a}=this.resolveNeoProps(),{data:u,...i}=r="function"==typeof r?new r:r,c=t("function"==typeof u?u():u,n);this.vm=new e({...i,data:()=>c,props:t(a,{...i.props||{},...o})}),Object.keys(a).forEach(e=>{this.vm.$props[e]=a[e]}),this.domRef.current&&this.domRef.current.appendChild(this.vm.$mount().$el)}componentDidUpdate(){if(!this.isUnmount){const{neoData:e}=this.resolveNeoProps();this.vm&&(Object.keys(e).forEach(t=>{this.vm[t]=e[t]}),this.vm.$forceUpdate())}}componentWillUnmount(){this.isUnmount=!0,this.vm&&this.vm.$destroy()}resolveNeoProps(){let e={},t={},r={};return Object.keys(this.props).forEach(n=>{const o=this.props[n];var a;"function"==typeof o?e[n]=o:(a=o)&&(a.$treenode||a.$mstObservable||a.$modelType||a.$modelId||"[object Proxy]"===Object.prototype.toString.call(a))?r[n]=o:t[n]=o}),{neoData:t,neoMSTData:r,neoFunc:e}}reload(){this.vm&&this.vm.reload?this.vm.reload():console.warn("自定义组件暂不支持reload动作。")}doAction(e,t){this.vm&&this.vm.doAction?this.vm.doAction(e,t):console.warn("自定义组件中不存在 doAction。")}render(){return k.createElement("div",{ref:this.domRef})}}return n}}function O(e){return n(e)?j(e):e}function S(e,t){if(!e)return;const u={cmpType:"",usage:o.renderer,weight:0};var i;if(t&&(i=t,"String"===Object.prototype.toString.call(i).slice(8,-1))?Object.assign(u,{cmpType:t}):Object.assign(u,t),u&&!u.cmpType)console.error(`${r} / registerNeoCmp: 自定义组件注册失败,cmpType 不能为空。`);else{u.framework=u.framework?function(e){let t=a.react;if(!e)return t;let n=e.toLowerCase().trim();switch(n){case"jquery":case"jq":n=a.jquery;break;case"vue2":case"vue 2":case"vue2.0":case"vue 2.0":n=a.vue2;break;case"vue":case"vue3":case"vue 3":case"vue3.0":case"vue 3.0":n=a.vue3,console.error(`${r} 暂不支持 vue3.0 技术栈。`);break;default:n=a.react}return n}(u.framework):n(e)?"vue2":"react",u.usage=function(e){let t=o.renderer;if(!e)return t;let r=e.toLowerCase().trim();switch(r){case"renderer":case"renderers":default:r=o.renderer;break;case"formitem":case"form-item":case"form item":r=o.formitem}return r}(u.usage);const t={renderer:()=>{},formitem:()=>{}},i={react:e=>e,vue2:j,vue3:j}[u.framework](e);if(t[u.usage]){if(window&&window.postMessage){const e=function(e,t){return window&&!window.NeoCustomCmps&&(window.NeoCustomCmps={}),window.NeoCustomCmps[e]?(console.error(`${r} / registerNeoCmp: 自定义组件注册失败,已存在重名渲染器(${e})。`),null):(window.NeoCustomCmps[e]=t,e)}(u.cmpType,{cmpType:u.cmpType,weight:u.weight,usage:u.usage,framework:u.framework,component:i,config:u});e&&(console.info(`${r}触发注册自定义组件(${e})事件`),window.postMessage({type:"neo-cmp-register-event",eventMsg:`${r}注册一个自定义组件`,neoRenderer:{cmpType:e,weight:u.weight,usage:u.usage,config:u}},"*"))}}else console.error(`${r} / registerNeoCmp: 自定义组件注册失败,暂不支持 ${u.usage} 组件类型。`)}}export{O as autoConvertVueComponent,j as createVue2Component,S as registerNeoCmp,u as registerNeoEditorModel};
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * neo-register v1.0.7
2
+ * neo-register v1.0.10
3
3
  * author: wibetter
4
4
  * build tool: AKFun
5
- * build time: Fri Nov 21 2025 15:04:52 GMT+0800 (中国标准时间)
5
+ * build time: Mon Dec 01 2025 16:39:17 GMT+0800 (中国标准时间)
6
6
  * build tool info: https://github.com/wibetter/akfun
7
7
  */
@@ -7,4 +7,4 @@
7
7
  */
8
8
  export { registerNeoEditorModel } from './function/registerNeoEditorModel';
9
9
  export { registerNeoCmp } from './function/registerNeoCmp';
10
- export { createVue2Component, autoConvertVueComponent } from './frameworkFactory/vueFactory';
10
+ export { createVue2Component, autoConvertVueComponent, } from './frameworkFactory/vueFactory';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo-register",
3
- "version": "1.0.9",
3
+ "version": "1.0.10",
4
4
  "description": "Neo 自定义组件注册器(支持 react 和 vue2.0 技术栈),主要用于注册 Neo 自定义组件和自定义组件模型。",
5
5
  "keywords": [
6
6
  "neo自定义组件注册器",
@@ -53,11 +53,11 @@
53
53
  "@types/react-dom": "^16.9.15",
54
54
  "husky": "^4.2.5",
55
55
  "lint-staged": "^10.2.9",
56
- "neo-cmp-cli": "^1.7.15",
56
+ "neo-cmp-cli": "^1.8.15",
57
57
  "prettier": "^2.0.5"
58
58
  },
59
59
  "engines": {
60
- "node": ">= 10.13.0",
61
- "npm": ">= 6.4.1"
60
+ "node": ">= 16.0.0",
61
+ "npm": ">= 8.0.0"
62
62
  }
63
63
  }
File without changes
File without changes