amis 1.8.0-beta.0 → 1.8.0-beta.3
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/lib/SchemaRenderer.js +19 -3
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/WithRootStore.d.ts +18 -0
- package/lib/WithStore.js +2 -1
- package/lib/WithStore.js.map +2 -2
- package/lib/actions/CmptAction.js +14 -3
- package/lib/actions/CmptAction.js.map +2 -2
- package/lib/components/BarCode.js +1 -1
- package/lib/components/BarCode.js.map +2 -2
- package/lib/components/DatePicker.d.ts +3 -0
- package/lib/components/DatePicker.js +56 -11
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +92 -84
- package/lib/components/DateRangePicker.js +198 -5
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +84 -84
- package/lib/components/Progress.js +12 -9
- package/lib/components/Progress.js.map +2 -2
- package/lib/components/Radios.d.ts +1 -1
- package/lib/components/Radios.js +3 -5
- package/lib/components/Radios.js.map +2 -2
- package/lib/components/Range.d.ts +2 -2
- package/lib/components/Range.js +24 -11
- package/lib/components/Range.js.map +2 -2
- package/lib/components/Steps.d.ts +6 -0
- package/lib/components/Steps.js +13 -9
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/calendar/Calendar.js +16 -12
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/YearsView.js +3 -3
- package/lib/components/calendar/YearsView.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +3 -1
- package/lib/components/formula/Editor.js +20 -2
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/Picker.d.ts +5 -0
- package/lib/components/formula/Picker.js +19 -4
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/factory.d.ts +4 -0
- package/lib/factory.js +8 -2
- package/lib/factory.js.map +2 -2
- package/lib/index.js +1 -1
- package/lib/locale/de-DE.js +13 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +13 -0
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +13 -0
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +2 -0
- package/lib/renderers/Action.js +23 -5
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/Carousel.d.ts +1 -0
- package/lib/renderers/Carousel.js +13 -1
- package/lib/renderers/Carousel.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +4 -0
- package/lib/renderers/Dialog.js +4 -3
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +2 -0
- package/lib/renderers/DropDownButton.js +13 -4
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/Checkboxes.d.ts +2 -2
- package/lib/renderers/Form/Checkboxes.js +2 -6
- package/lib/renderers/Form/Checkboxes.js.map +2 -2
- package/lib/renderers/Form/Combo.js +3 -2
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/InputCity.d.ts +3 -0
- package/lib/renderers/Form/InputCity.js +44 -2
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.d.ts +5 -0
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +6 -3
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +4 -0
- package/lib/renderers/Form/InputFormula.js +2 -2
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputImage.js +6 -3
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputRange.js +13 -14
- package/lib/renderers/Form/InputRange.js.map +2 -2
- package/lib/renderers/Form/InputTable.js +4 -2
- package/lib/renderers/Form/InputTable.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +11 -6
- package/lib/renderers/Form/index.js +1 -1
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.d.ts +9 -0
- package/lib/renderers/Form/wrapControl.js +1 -1
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Nav.js +2 -2
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.js +2 -3
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Progress.d.ts +1 -1
- package/lib/renderers/Progress.js +1 -1
- package/lib/renderers/Progress.js.map +2 -2
- package/lib/renderers/Steps.d.ts +8 -0
- package/lib/renderers/Steps.js +2 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/TableRow.js +1 -1
- package/lib/renderers/Table/TableRow.js.map +2 -2
- package/lib/renderers/Table/index.js +7 -3
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.d.ts +4 -0
- package/lib/renderers/Tabs.js +22 -6
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/Wizard.d.ts +6 -3
- package/lib/renderers/Wizard.js +257 -152
- package/lib/renderers/Wizard.js.map +2 -2
- package/lib/store/index.d.ts +5 -0
- package/lib/store/index.js +14 -0
- package/lib/store/index.js.map +2 -2
- package/lib/store/table.js +4 -4
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +194 -23
- package/lib/themes/ang.css +193 -22
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +194 -23
- package/lib/themes/antd.css +193 -22
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +194 -23
- package/lib/themes/cxd.css +193 -22
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +194 -23
- package/lib/themes/dark.css +193 -22
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +194 -23
- package/lib/themes/default.css +193 -22
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/columnsSplit.d.ts +1 -0
- package/lib/utils/columnsSplit.js +40 -0
- package/lib/utils/columnsSplit.js.map +13 -0
- package/lib/utils/debug.d.ts +1 -1
- package/lib/utils/debug.js +16 -22
- package/lib/utils/debug.js.map +2 -2
- package/package.json +1 -1
- package/schema.json +181 -30
- package/scss/_properties.scss +2 -2
- package/scss/components/_barcode.scss +1 -1
- package/scss/components/_carousel.scss +1 -0
- package/scss/components/_debug.scss +3 -3
- package/scss/components/_formula.scss +18 -0
- package/scss/components/_progress.scss +3 -8
- package/scss/components/_steps.scss +199 -8
- package/scss/components/form/_date.scss +14 -0
- package/scss/components/form/_editor.scss +2 -1
- package/sdk/ang-ie11.css +234 -25
- package/sdk/ang.css +233 -24
- package/sdk/antd-ie11.css +234 -25
- package/sdk/antd.css +233 -24
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +234 -25
- package/sdk/cxd.css +233 -24
- package/sdk/dark-ie11.css +234 -25
- package/sdk/dark.css +233 -24
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +13 -0
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +17 -17
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +234 -25
- package/sdk/sdk.css +233 -24
- package/sdk/sdk.js +1290 -1288
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/SchemaRenderer.tsx +32 -14
- package/src/WithStore.tsx +3 -1
- package/src/actions/CmptAction.ts +18 -0
- package/src/components/BarCode.tsx +2 -2
- package/src/components/DatePicker.tsx +77 -22
- package/src/components/DateRangePicker.tsx +198 -4
- package/src/components/Progress.tsx +8 -12
- package/src/components/Radios.tsx +6 -17
- package/src/components/Range.tsx +26 -12
- package/src/components/Steps.tsx +28 -27
- package/src/components/calendar/Calendar.tsx +17 -12
- package/src/components/calendar/YearsView.tsx +3 -4
- package/src/components/formula/Editor.tsx +34 -3
- package/src/components/formula/Picker.tsx +28 -1
- package/src/factory.tsx +15 -2
- package/src/locale/de-DE.ts +13 -0
- package/src/locale/en-US.ts +13 -0
- package/src/locale/zh-CN.ts +13 -0
- package/src/renderers/Action.tsx +22 -1
- package/src/renderers/Carousel.tsx +8 -0
- package/src/renderers/Dialog.tsx +17 -3
- package/src/renderers/DropDownButton.tsx +14 -3
- package/src/renderers/Form/Checkboxes.tsx +5 -18
- package/src/renderers/Form/Combo.tsx +2 -3
- package/src/renderers/Form/InputCity.tsx +33 -4
- package/src/renderers/Form/InputDateRange.tsx +8 -1
- package/src/renderers/Form/InputFile.tsx +7 -3
- package/src/renderers/Form/InputFormula.tsx +7 -0
- package/src/renderers/Form/InputImage.tsx +7 -3
- package/src/renderers/Form/InputRange.tsx +18 -16
- package/src/renderers/Form/InputTable.tsx +6 -2
- package/src/renderers/Form/index.tsx +1 -1
- package/src/renderers/Form/wrapControl.tsx +1 -1
- package/src/renderers/Nav.tsx +1 -1
- package/src/renderers/Page.tsx +1 -2
- package/src/renderers/Progress.tsx +2 -2
- package/src/renderers/Steps.tsx +14 -0
- package/src/renderers/Table/TableRow.tsx +1 -1
- package/src/renderers/Table/index.tsx +11 -2
- package/src/renderers/Tabs.tsx +75 -28
- package/src/renderers/Wizard.tsx +154 -93
- package/src/store/index.ts +20 -0
- package/src/store/table.ts +4 -4
- package/src/types.ts +3 -1
- package/src/utils/columnsSplit.tsx +57 -0
- package/src/utils/debug.tsx +17 -24
package/lib/renderers/Tabs.d.ts
CHANGED
@@ -5,6 +5,7 @@ import { TabsMode } from '../components/Tabs';
|
|
5
5
|
import { BaseSchema, SchemaClassName, SchemaCollection, SchemaIcon } from '../Schema';
|
6
6
|
import { ActionSchema } from './Action';
|
7
7
|
import { FormSchemaHorizontal } from './Form/index';
|
8
|
+
import { IScopedContext } from '../Scoped';
|
8
9
|
export interface TabSchema extends Omit<BaseSchema, 'type'> {
|
9
10
|
/**
|
10
11
|
* Tab 标题
|
@@ -193,5 +194,8 @@ export default class Tabs extends React.Component<TabsProps, TabsState> {
|
|
193
194
|
render(): JSX.Element;
|
194
195
|
}
|
195
196
|
export declare class TabsRenderer extends Tabs {
|
197
|
+
static contextType: React.Context<IScopedContext>;
|
198
|
+
constructor(props: TabsProps, context: IScopedContext);
|
199
|
+
componentWillUnmount(): void;
|
196
200
|
}
|
197
201
|
export {};
|
package/lib/renderers/Tabs.js
CHANGED
@@ -11,6 +11,7 @@ var Tabs_1 = require("../components/Tabs");
|
|
11
11
|
var tpl_1 = require("../utils/tpl");
|
12
12
|
var tpl_builtin_1 = require("../utils/tpl-builtin");
|
13
13
|
var api_1 = require("../utils/api");
|
14
|
+
var Scoped_1 = require("../Scoped");
|
14
15
|
var Tabs = /** @class */ (function (_super) {
|
15
16
|
(0, tslib_1.__extends)(Tabs, _super);
|
16
17
|
function Tabs(props) {
|
@@ -104,7 +105,9 @@ var Tabs = /** @class */ (function (_super) {
|
|
104
105
|
});
|
105
106
|
localTabs = newLocalTabs;
|
106
107
|
}
|
107
|
-
if (props.location &&
|
108
|
+
if (props.location &&
|
109
|
+
preProps.location &&
|
110
|
+
props.location.hash !== preProps.location.hash) {
|
108
111
|
var hash_2 = props.location.hash.substring(1);
|
109
112
|
if (!hash_2) {
|
110
113
|
return;
|
@@ -193,7 +196,8 @@ var Tabs = /** @class */ (function (_super) {
|
|
193
196
|
var tabIndex = (0, findIndex_1.default)(localTabs, function (tab, index) {
|
194
197
|
return tab.hash ? tab.hash === key : index === key;
|
195
198
|
});
|
196
|
-
if (localTabs[tabIndex] &&
|
199
|
+
if (localTabs[tabIndex] &&
|
200
|
+
!(0, helper_1.isVisible)(localTabs[tabIndex], this.props.data)) {
|
197
201
|
var len = localTabs.length;
|
198
202
|
var i = tabIndex - 1 + len;
|
199
203
|
var tries = len - 1;
|
@@ -293,7 +297,7 @@ var Tabs = /** @class */ (function (_super) {
|
|
293
297
|
case 0:
|
294
298
|
_a = this.props, dispatchEvent = _a.dispatchEvent, data = _a.data, onChange = _a.onChange;
|
295
299
|
return [4 /*yield*/, dispatchEvent('change', (0, helper_1.createObject)(data, {
|
296
|
-
value: key
|
300
|
+
value: key
|
297
301
|
}))];
|
298
302
|
case 1:
|
299
303
|
rendererEvent = _b.sent();
|
@@ -461,13 +465,25 @@ var Tabs = /** @class */ (function (_super) {
|
|
461
465
|
exports.default = Tabs;
|
462
466
|
var TabsRenderer = /** @class */ (function (_super) {
|
463
467
|
(0, tslib_1.__extends)(TabsRenderer, _super);
|
464
|
-
function TabsRenderer() {
|
465
|
-
|
468
|
+
function TabsRenderer(props, context) {
|
469
|
+
var _this = _super.call(this, props) || this;
|
470
|
+
var scoped = context;
|
471
|
+
scoped.registerComponent(_this);
|
472
|
+
return _this;
|
466
473
|
}
|
474
|
+
TabsRenderer.prototype.componentWillUnmount = function () {
|
475
|
+
var _a;
|
476
|
+
(_a = _super.prototype.componentWillUnmount) === null || _a === void 0 ? void 0 : _a.call(this);
|
477
|
+
var scoped = this.context;
|
478
|
+
scoped.unRegisterComponent(this);
|
479
|
+
};
|
480
|
+
var _b;
|
481
|
+
TabsRenderer.contextType = Scoped_1.ScopedContext;
|
467
482
|
TabsRenderer = (0, tslib_1.__decorate)([
|
468
483
|
(0, factory_1.Renderer)({
|
469
484
|
type: 'tabs'
|
470
|
-
})
|
485
|
+
}),
|
486
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object, typeof (_b = typeof Scoped_1.IScopedContext !== "undefined" && Scoped_1.IScopedContext) === "function" ? _b : Object])
|
471
487
|
], TabsRenderer);
|
472
488
|
return TabsRenderer;
|
473
489
|
}(Tabs));
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Tabs.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,sCAAmD;AAEnD,kEAA+B;AAC/B,0CAQyB;AACzB,4EAAyC;AACzC,2CAAgE;AAShE,oCAAoC;AACpC,oDAI8B;AAE9B,oCAA+C;AA8L/C;IAAkC,qCAAqC;IAYrE,cAAY,KAAgB;QAA5B,YACE,kBAAM,KAAK,CAAC,SA6Bb;QAhCD,qBAAe,GAAW,CAAC,CAAC;QAK1B,IAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;QAC5C,IAAA,IAAI,GAAkB,KAAK,KAAvB,EAAE,MAAM,GAAU,KAAK,OAAf,EAAE,IAAI,GAAI,KAAK,KAAT,CAAU;QACnC,IAAI,SAAS,GAAQ,CAAC,CAAC;QAEvB,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,WAAW,EAAE;YAC1C,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;SAC7B;aAAM,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC1C,IAAM,MAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACxC,IAAM,GAAG,GAAc,IAAA,cAAI,EAAC,IAAI,EAAE,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,KAAK,MAAI,EAAjB,CAAiB,CAAc,CAAC;YAEzE,IAAI,GAAG,EAAE;gBACP,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;aACtB;iBAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE;gBACjC,SAAS,GAAG,IAAA,sBAAQ,EAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aAC1D;YAED,SAAS,GAAG,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzD;QAEK,IAAA,KAA4B,KAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAhE,SAAS,QAAA,EAAE,YAAY,QAAyC,CAAC;QAExE,KAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,CAAC,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YACvC,SAAS,WAAA;YACT,YAAY,cAAA;SACb,CAAC;;IACJ,CAAC;IAED,+BAA+B;IAE/B,2BAAY,GAAZ,UAAa,IAAsB,EAAE,MAAe,EAAE,IAAU;QAC9D,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;SACpB;QAED,IAAM,GAAG,GAAG,IAAA,sCAAwB,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACvB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACtB;QAED,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAM,UAAU,GAAqB,EAAE,CAAC;QACxC,GAAG,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,KAAK;YACvB,IAAM,GAAG,GAAG,IAAA,qBAAY,EACtB,IAAI,EACJ,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,yBAAE,KAAK,OAAA,IAAK,KAAK,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,OAAA,EAAC,CAC3D,CAAC;YAEF,UAAU,CAAC,IAAI,OAAf,UAAU,EAAS,IAAI,CAAC,GAAG,CAAC,UAAC,GAAc,IAAK,OAAA,iDAAK,GAAG,KAAE,GAAG,KAAA,IAAE,EAAf,CAAe,CAAC,EAAE;QACpE,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,gCAAiB,GAAjB;;QACE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAErC,IAAA,KAA8C,IAAI,CAAC,KAAK,EAAvD,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAA,EAAE,IAAI,UAAc,CAAC;QAE7D,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEvC,0BAA0B;QAC1B,IACE,CAAC,IAAI;YACL,OAAO,QAAQ,KAAK,UAAU;YAC9B,kBAAkB;YAClB,MAAM,EACN;YACA,OAAO;SACR;QAED,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAA,oBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEzC,kBAAkB;QAClB,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACrC,IAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC1C,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SAC7C;aAAM;YACL,IAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,GAAG,IAAI,KAAK,KAAK,CAAC,MAAC,GAAW,CAAC,KAAK,mCAAI,GAAG,CAAC,KAAK,CAAC,EAAE;gBACtD,IAAI,CAAC,YAAY,CAAC,MAAC,GAAW,CAAC,KAAK,mCAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aAC1D;SACF;IACH,CAAC;IAED,iCAAkB,GAAlB,UAAmB,QAAmB,EAAE,SAAc;;QACpD,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAErC,cAAc;QACd,IAAM,cAAc,GAAG,IAAA,gCAAuB,EAAC;YAC7C,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,IAAA,sCAAwB,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC;SACpE,EAAE;YACD,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,IAAA,sCAAwB,EAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;SAC1E,EAAE,KAAK,CAAC,CAAC;QAEV,IAAI,cAAc,EAAE;YACZ,IAAA,KAA+B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAArF,YAAY,QAAA,EAAE,YAAY,QAA2D,CAAC;YAE7F,IAAI,CAAC,QAAQ,CAAC;gBACZ,SAAS,EAAE,YAAY;gBACvB,YAAY,cAAA;aACb,CAAC,CAAC;YACH,SAAS,GAAG,YAAY,CAAC;SAC1B;QAED,IAAI,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;YACzF,IAAM,MAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAI,EAAE;gBACT,OAAO;aACR;YAED,IAAM,GAAG,GAAc,IAAA,cAAI,EACzB,SAAS,EACT,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,KAAK,MAAI,EAAjB,CAAiB,CACZ,CAAC;YACf,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBACxD,IAAI,CAAC,QAAQ,CAAC;oBACZ,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;oBACtC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;iBAC9B,CAAC,CAAC;aACJ;SACF;aAAM,IACL,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YACxB,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,EAAT,CAAS,CAAC,CAAC;gBAC9C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,IAAe,IAAK,OAAA,IAAI,CAAC,IAAI,EAAT,CAAS,CAAC,CAAC,EACzE;YACA,IAAI,WAAS,GAAQ,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAC1C,IAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAChC,IAAI,GAAG,GAAqB,IAAI,CAAC;YAEjC,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBACxC,IAAM,MAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACxC,GAAG,GAAG,IAAA,cAAI,EAAC,SAAS,EAAE,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,IAAI,KAAK,MAAI,EAAjB,CAAiB,CAAc,CAAC;aAC9D;YAED,IAAI,GAAG,EAAE;gBACP,WAAS,GAAG,GAAG,CAAC,IAAI,CAAC;aACtB;iBAAM,IACL,CAAC,SAAS;gBACV,CAAC,SAAS,CAAC,IAAI,CAAC,UAAC,IAAI,EAAE,KAAK;oBAC1B,OAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,WAAS,CAAC,CAAC,CAAC,KAAK,KAAK,WAAS;gBAAzD,CAAyD,CAC1D,EACD;gBACA,WAAS,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnE;YAED,IAAI,CAAC,QAAQ,CAAC;gBACZ,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,WAAS,CAAC;aACxC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAErC,IAAA,KAAwC,IAAI,CAAC,KAAK,EAAjD,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAc,CAAC;QAEvD,0BAA0B;QAC1B,IACE,CAAC,IAAI;YACL,OAAO,QAAQ,KAAK,UAAU;YAC9B,kBAAkB;YAClB,MAAM,EACN;YACA,OAAO;SACR;QAED,IAAI,GAAQ,CAAC;QACb,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAA,oBAAW,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzC,IAAM,SAAS,GACb,MAAA,QAAQ,CAAC,KAAK,mCAAI,IAAA,oBAAW,EAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9D,IACE,KAAK,KAAK,SAAS;YACnB,CAAC,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS;YACnD,GAAG,KAAK,IAAI,CAAC,SAAS,EACtB;YACA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SACxB;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS,EAAE;YACjD,IAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,GAAG,IAAI,KAAK,KAAK,CAAC,MAAC,GAAW,CAAC,KAAK,mCAAI,GAAG,CAAC,KAAK,CAAC,EAAE;gBACtD,IAAI,CAAC,YAAY,CAAC,MAAC,GAAW,CAAC,KAAK,mCAAI,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aAC1D;SACF;IACH,CAAC;IAED,8BAAe,GAAf,UAAgB,GAAQ;QACtB,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,OAAO;SACR;QAED,OAAO,IAAA,cAAI,EAAC,SAAS,EAAE,UAAC,GAAc,EAAE,KAAK;YAC3C,OAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG;QAA3C,CAA2C,CAC5C,CAAC;IACJ,CAAC;IAED,gCAAiB,GAAjB,UAAkB,KAAU;QAC1B,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,OAAO;SACR;QAED,IAAM,GAAG,GAAc,IAAA,cAAI,EACzB,SAAS,EACT,UAAA,GAAG,YAAI,OAAA,CAAC,MAAC,GAAW,CAAC,KAAK,mCAAI,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,CAAA,EAAA,CACtC,CAAC;QAEf,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;IAGD,kCAAmB,GAAnB,UAAoB,GAAQ;QACpB,IAAA,KAAe,IAAI,CAAC,KAAK,EAAxB,IAAI,UAAA,EAAE,IAAI,UAAc,CAAC;QAChC,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,OAAO;SACR;QAED,0CAA0C;QAC1C,IAAM,QAAQ,GAAG,IAAA,mBAAS,EAAC,SAAS,EAAE,UAAC,GAAc,EAAE,KAAK;YAC1D,OAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG;QAA3C,CAA2C,CAC5C,CAAC;QAEF,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAA,kBAAS,EAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC3E,IAAI,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC;YAC3B,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;YAEpB,OAAO,KAAK,EAAE,EAAE;gBACd,IAAM,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC;gBACxB,IAAI,IAAA,kBAAS,EAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE;oBACrC,IAAI,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC;oBAC/C,IAAI,CAAC,QAAQ,CAAC;wBACZ,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;qBACxC,CAAC,CAAC;oBACH,MAAM;iBACP;aACF;SACF;IACH,CAAC;IAGD,wBAAS,GAAT;QADA,iBAcC;QAZC,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAEhD,SAAS,CAAC,IAAI,CAAC;YACb,KAAK,EAAE,yBAAQ,IAAI,CAAC,eAAe,EAAE,CAAE;YACvC,IAAI,EAAE,UAAU;SACJ,CAAC,CAAC;QAEhB,IAAI,CAAC,QAAQ,CAAC;YACZ,SAAS,EAAE,SAAS;SACrB,EAAE;YACD,KAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,0BAAW,GAAX,UAAY,KAAa,EAAE,GAAoB;QAC7C,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAEjD,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAE5B,IAAI,CAAC,QAAQ,CAAC;YACZ,SAAS,EAAE,UAAU;SACtB,CAAC,CAAC;IACL,CAAC;IAGD,yBAAU,GAAV,UAAW,KAAa,EAAE,IAAY;QACpC,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACjD,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;QAE/B,IAAI,CAAC,QAAQ,CAAC;YACZ,SAAS,EAAE,UAAU;SACtB,CAAC,CAAC;IACL,CAAC;IAGK,+BAAgB,GAAtB,UAAuB,CAAM;;;;;gBACrB,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjD,UAAU,GAAgB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBAE9D,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEtE,IAAI,CAAC,QAAQ,CAAC;oBACZ,SAAS,EAAE,UAAU;iBACtB,EAAE;oBACD,IAAI,SAAS,EAAE;wBACb,IAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBACxD,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;qBAClC;gBACH,CAAC,CAAC,CAAC;;;;KACJ;IAGD,2BAAY,GAAZ,UAAa,GAAQ;;QACb,IAAA,KAAsB,IAAI,CAAC,KAAK,EAA/B,GAAG,SAAA,EAAE,QAAQ,cAAA,EAAE,EAAE,QAAc,CAAC;QAEvC,MAAA,GAAG,CAAC,OAAO,+CAAX,GAAG,EAAW;YACZ,SAAS,EAAE,WAAW;YACtB,SAAS,EAAE;gBACT,EAAE,IAAA;gBACF,GAAG,KAAA;aACJ;SACF,CAAC,CAAC;QAEH,kBAAkB;QAClB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE;YAClC,GAAG,CAAC,cAAc,CAAC,WAAI,GAAG,CAAE,CAAC,CAAC;SAC/B;aAAM,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,EAAE;YAC1D,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;SACzB;QAED,IAAI,CAAC,QAAQ,CAAC;YACZ,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACjC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;SAC9B,CAAC,CAAC;QAEH,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,IAAM,UAAU,GAAG,IAAA,uBAAiB,EAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC/D,UAAU,IAAI,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3C;aAAM,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;YACzC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3B;IACH,CAAC;IAGK,2BAAY,GAAlB,UAAmB,GAAQ,EAAE,IAAS;;;;;;wBAC9B,KAAkC,IAAI,CAAC,KAAK,EAA3C,aAAa,mBAAA,EAAE,IAAI,UAAA,EAAE,QAAQ,cAAA,CAAe;wBAC7B,qBAAM,aAAa,CAAC,QAAQ,EAAE,IAAA,qBAAY,EAAC,IAAI,EAAE;gCACrE,KAAK,EAAE,GAAG;6BACX,CAAC,CAAC,EAAA;;wBAFG,aAAa,GAAG,SAEnB;wBACH,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,EAAE;4BAC5B,sBAAO;yBACR;wBAED,QAAQ,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;;;;;KACjC;IAED;;OAEG;IACH,uBAAQ,GAAR,UAAS,MAAc,EAAE,IAAS;QAChC,IAAM,UAAU,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAoB,CAAC;QAChD,IAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAmB,CAAC;QAC9C,IAAI,UAAU,KAAK,iBAAiB,EAAE;YACpC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;SAC9B;IACH,CAAC;IAGD,uBAAQ,GAAR,UAAS,KAAa;QACpB,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEvC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YACtB,SAAS,CAAC,KAAK,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC;gBACZ,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC;aAC7D,CAAC,CAAC;IACP,CAAC;IAGD,2BAAY,GAAZ;QADA,iBAYC;QAVC,6BAA6B;QAC7B,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAEvC,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAC7B,CAAC,CAAC,IAAA,mBAAS,EAAC,SAAS,EAAE,UAAC,GAAc,EAAE,KAAK;gBACzC,OAAA,GAAG,CAAC,IAAI;oBACN,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,KAAI,CAAC,KAAK,CAAC,SAAS;oBACnC,CAAC,CAAC,KAAK,KAAK,KAAI,CAAC,KAAK,CAAC,SAAS;YAFlC,CAEkC,CACnC;YACH,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,4BAAa,GAAb;QACQ,IAAA,KAAsD,IAAI,CAAC,KAAK,EAA/D,OAAO,aAAA,EAAE,MAAM,YAAA,EAAc,EAAE,gBAAA,EAAE,gBAAgB,sBAAc,CAAC;QAEvE,OAAO,OAAO,CAAC,CAAC,CAAC,CACf,uCAAK,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC,IACjD,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CACvB,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,yBAAU,GAAV;QAAA,iBAwIC;QAvIO,IAAA,KA0BF,IAAI,CAAC,KAAK,EAzBA,EAAE,gBAAA,EACD,EAAE,iBAAA,EACf,gBAAgB,sBAAA,EAChB,cAAc,oBAAA,EACd,SAAS,eAAA,EACT,SAAS,eAAA,EACT,MAAM,YAAA,EACN,IAAI,UAAA,EACE,KAAK,UAAA,EACX,QAAQ,cAAA,EACR,aAAa,mBAAA,EACb,MAAM,YAAA,EACN,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,cAAc,oBAAA,EACd,WAAW,iBAAA,EACX,iBAAiB,uBAAA,EACjB,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,OAAO,aAAA,EACP,gBAAgB,sBAAA,EAChB,QAAQ,cAAA,EACR,YAAY,kBAAA,EACZ,UAAU,gBACE,CAAC;QAEf,IAAM,IAAI,GAAG,QAAQ,IAAI,KAAK,CAAC;QAC/B,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QAE3C,2BAA2B;QAC3B,uBAAuB;QACvB,IAAI,SAAS,EAAE;YACb,YAAY,GAAG,KAAK,CAAC;SACtB;QAEK,IAAA,KAAkC,IAAI,CAAC,KAAK,EAAhC,IAAI,eAAA,EAAE,YAAY,kBAAc,CAAC;QACnD,IAAI,QAAQ,GAA8B,EAAE,CAAC;QAE7C,mBAAmB;QACnB,IAAI,YAAY,EAAE;YAChB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAC,GAAc,EAAE,KAAa;;gBAChD,OAAA,IAAA,kBAAS,EAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACxB,8BAAC,UAAG,4BACG,GAAW,IAChB,KAAK,EAAE,IAAA,YAAM,EAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EACjC,QAAQ,EAAE,IAAA,mBAAU,EAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAClC,GAAG,EAAE,KAAK,EACV,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,YAAY,EAC1B,aAAa,EACX,OAAO,GAAG,CAAC,MAAM,KAAK,SAAS;wBAC7B,CAAC,CAAC,GAAG,CAAC,MAAM;wBACZ,CAAC,CAAC,OAAO,GAAG,CAAC,aAAa,KAAK,SAAS;4BACxC,CAAC,CAAC,GAAG,CAAC,aAAa;4BACnB,CAAC,CAAC,aAAa,KAGlB,MAAM,CACL,eAAQ,KAAK,CAAE,EACf,CAAA,MAAC,GAAW,0CAAE,IAAI,EAAC,CAAC,CAAE,GAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EACvD;oBACE,IAAI,EAAE,GAAG,CAAC,GAAG;oBACb,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,WAAW,IAAI,QAAQ;oBAC7C,cAAc,EACZ,GAAG,CAAC,UAAU,IAAI,iBAAiB,IAAI,cAAc;iBACxD,CACF,CACG,CACP,CAAC,CAAC,CAAC,IAAI,CAAA;aAAA,CACT,CAAC;SACH;aAAM;YACL,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,KAAK;;gBAC7B,OAAA,IAAA,kBAAS,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CACrB,8BAAC,UAAG,4BACG,GAAW,IAChB,KAAK,EAAE,IAAA,YAAM,EAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,EAC9B,QAAQ,EAAE,IAAA,mBAAU,EAAC,GAAG,EAAE,IAAI,CAAC,EAC/B,GAAG,EAAE,KAAK,EACV,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,KAAK,EAC3B,YAAY,EAAE,YAAY,EAC1B,aAAa,EACX,OAAO,GAAG,CAAC,MAAM,KAAK,SAAS;wBAC7B,CAAC,CAAC,GAAG,CAAC,MAAM;wBACZ,CAAC,CAAC,OAAO,GAAG,CAAC,aAAa,KAAK,SAAS;4BACxC,CAAC,CAAC,GAAG,CAAC,aAAa;4BACnB,CAAC,CAAC,aAAa,KAGlB,KAAI,CAAC,SAAS;oBACb,CAAC,CAAC,KAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAI,CAAC,KAAK,EAAE,KAAK,CAAC;oBACxC,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,KAAI,CAAC,KAAK,EAAE,KAAK,CAAC;wBACnC,CAAC,CAAC,MAAM,CACJ,cAAO,KAAK,CAAE,EACd,CAAA,MAAC,GAAW,0CAAE,IAAI,EAAC,CAAC,CAAE,GAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EACvD;4BACE,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,WAAW,IAAI,QAAQ;4BAC7C,cAAc,EACZ,GAAG,CAAC,UAAU,IAAI,iBAAiB,IAAI,cAAc;yBACxD,CACF,CACD,CACP,CAAC,CAAC,CAAC,IAAI,CAAA;aAAA,CACT,CAAC;SACH;QAED,OAAO,CACL,8BAAC,WAAK,IACJ,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,EAC7B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,IAErB,QAAQ,CACH,CACT,CAAC;IACJ,CAAC;IAED,qBAAM,GAAN;QACE,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;;IApiBM,iBAAY,GAAuB;QACxC,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,KAAK;KACrB,CAAC;IAwCF;QADC,iBAAQ;;0EACU,KAAK,oBAAL,KAAK;;4CAuBvB;IAoKD;QADC,iBAAQ;;;;mDA8BR;IAGD;QADC,iBAAQ;;;;yCAcR;IAGD;QADC,iBAAQ;;;;2CASR;IAGD;QADC,iBAAQ;;;;0CAQR;IAGD;QADC,iBAAQ;;;;gDAeR;IAGD;QADC,iBAAQ;;;;4CA8BR;IAGD;QADC,iBAAQ;;;;4CAWR;IAcD;QADC,iBAAQ;;;;wCASR;IAGD;QADC,iBAAQ;;;;4CAYR;IAyJH,WAAC;CAAA,AAtiBD,CAAkC,eAAK,CAAC,SAAS,GAsiBhD;kBAtiBoB,IAAI;AA0iBzB;IAAkC,6CAAI;IAAtC;;IAAwC,CAAC;IAA5B,YAAY;QAHxB,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,MAAM;SACb,CAAC;OACW,YAAY,CAAgB;IAAD,mBAAC;CAAA,AAAzC,CAAkC,IAAI,GAAG;AAA5B,oCAAY",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {Action, Schema, SchemaNode} from '../types';\nimport find from 'lodash/find';\nimport {\n isVisible,\n autobind,\n isDisabled,\n isObject,\n createObject,\n getVariable,\n isObjectShallowModified\n} from '../utils/helper';\nimport findIndex from 'lodash/findIndex';\nimport {Tabs as CTabs, Tab, TabsMode} from '../components/Tabs';\nimport {ClassNamesFn} from '../theme';\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaCollection,\n SchemaIcon\n} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {filter} from '../utils/tpl';\nimport {\n resolveVariable,\n tokenize,\n resolveVariableAndFilter\n} from '../utils/tpl-builtin';\nimport {FormSchemaHorizontal} from './Form/index';\nimport {str2AsyncFunction} from '../utils/api';\nimport {ScopedContext, IScopedContext} from '../Scoped';\n\nexport interface TabSchema extends Omit<BaseSchema, 'type'> {\n /**\n * Tab 标题\n */\n title?: string;\n\n /**\n * 内容\n * @deprecated 用 body 属性\n */\n tab?: SchemaCollection;\n\n /**\n * 内容\n */\n body?: SchemaCollection;\n\n /**\n * 徽标\n */\n badge?: number;\n\n /**\n * 设置以后将跟url的hash对应\n */\n hash?: string;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n iconPosition?: 'left' | 'right';\n\n /**\n * 设置以后内容每次都会重新渲染\n */\n reload?: boolean;\n\n /**\n * 点开时才加载卡片内容\n */\n mountOnEnter?: boolean;\n\n /**\n * 卡片隐藏就销毁卡片节点。\n */\n unmountOnExit?: boolean;\n\n /**\n * 配置子表单项默认的展示方式。\n */\n mode?: 'normal' | 'inline' | 'horizontal';\n /**\n * 如果是水平排版,这个属性可以细化水平排版的左右宽度占比。\n */\n horizontal?: FormSchemaHorizontal;\n /**\n * 是否可关闭,优先级高于 tabs 的 closable\n */\n closable?: boolean;\n /**\n * 是否禁用\n */\n disabled?: boolean;\n}\n\n/**\n * 选项卡控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/tabs\n */\nexport interface TabsSchema extends BaseSchema {\n type: 'tabs';\n\n /**\n * 选项卡成员。当配置了 source 时,选项卡成员,将会根据目标数据进行重复。\n */\n tabs: Array<TabSchema>;\n\n /**\n * 关联已有数据,选项卡直接根据目标数据重复。\n */\n source?: string;\n\n /**\n * 类名\n */\n tabsClassName?: SchemaClassName;\n\n /**\n * 展示形式\n */\n tabsMode?: TabsMode;\n\n /**\n * 内容类名\n */\n contentClassName?: SchemaClassName;\n\n /**\n * 链接外层类名\n */\n linksClassName?: SchemaClassName;\n\n /**\n * 卡片是否只有在点开的时候加载?\n */\n mountOnEnter?: boolean;\n\n /**\n * 卡片隐藏的时候是否销毁卡片内容\n */\n unmountOnExit?: boolean;\n\n /**\n * 可以在右侧配置点其他功能按钮。\n */\n toolbar?: ActionSchema;\n\n /**\n * 配置子表单项默认的展示方式。\n */\n subFormMode?: 'normal' | 'inline' | 'horizontal';\n /**\n * 如果是水平排版,这个属性可以细化水平排版的左右宽度占比。\n */\n subFormHorizontal?: FormSchemaHorizontal;\n /**\n * 是否支持新增\n */\n addable?: boolean;\n /**\n * 是否支持删除\n */\n closable?: boolean;\n /**\n * 是否支持拖拽\n */\n draggable?: boolean;\n /**\n * 是否显示提示\n */\n showTip?: boolean;\n /**\n * tooltip 提示的类名\n */\n showTipClassName?: string;\n /**\n * 是否可编辑标签名\n */\n editable?: boolean;\n /**\n * 是否导航支持内容溢出滚动。属性废弃,为了兼容暂且保留\n */\n scrollable?: boolean;\n /**\n * 编辑器模式,侧边的位置\n */\n sidePosition?: 'left' | 'right';\n /**\n * 自定义增加按钮文案\n */\n addBtnText?: string;\n}\n\nexport interface TabsProps\n extends RendererProps,\n Omit<TabsSchema, 'className' | 'contentClassName'> {\n activeKey?: string | number;\n location?: any;\n tabRender?: (tab: TabSchema, props: TabsProps, index: number) => JSX.Element;\n}\n\ninterface TabSource extends TabSchema {\n ctx?: any;\n}\n\nexport interface TabsState {\n activeKey: any;\n prevKey: any;\n localTabs: Array<TabSource>;\n isFromSource: boolean;\n}\n\nexport type TabsRendererEvent = 'change';\nexport type TabsRendererAction = 'changeActiveKey';\n\nexport default class Tabs extends React.Component<TabsProps, TabsState> {\n static defaultProps: Partial<TabsProps> = {\n className: '',\n mode: '',\n mountOnEnter: true,\n unmountOnExit: false\n };\n\n renderTab?: (tab: TabSchema, props: TabsProps, index: number) => JSX.Element;\n activeKey: any;\n newTabDefaultId: number = 3;\n\n constructor(props: TabsProps) {\n super(props);\n\n const location = props.location || window.location;\n const {tabs, source, data} = props;\n let activeKey: any = 0;\n\n if (typeof props.activeKey !== 'undefined') {\n activeKey = props.activeKey;\n } else if (location && Array.isArray(tabs)) {\n const hash = location.hash.substring(1);\n const tab: TabSource = find(tabs, tab => tab.hash === hash) as TabSource;\n\n if (tab) {\n activeKey = tab.hash;\n } else if (props.defaultActiveKey) {\n activeKey = tokenize(props.defaultActiveKey, props.data);\n }\n\n activeKey = activeKey || (tabs[0] && tabs[0].hash) || 0;\n }\n\n const [localTabs, isFromSource] = this.initTabArray(tabs, source, data);\n\n this.state = {\n prevKey: undefined,\n activeKey: (this.activeKey = activeKey),\n localTabs,\n isFromSource\n };\n }\n\n // 初始化 tabs 数组,当从 source 获取数据源时\n @autobind\n initTabArray(tabs: Array<TabSource>, source?: string, data?: any): [Array<TabSource>, boolean] {\n if (!tabs) {\n return [[], false];\n }\n\n const arr = resolveVariableAndFilter(source, data, '| raw');\n if (!Array.isArray(arr)) {\n return [tabs, false];\n }\n\n tabs = Array.isArray(tabs) ? tabs : [tabs];\n\n const sourceTabs: Array<TabSource> = [];\n arr.forEach((value, index) => {\n const ctx = createObject(\n data,\n isObject(value) ? {index, ...value} : {item: value, index}\n );\n\n sourceTabs.push(...tabs.map((tab: TabSource) => ({...tab, ctx})));\n });\n\n return [sourceTabs, true];\n }\n\n componentDidMount() {\n this.autoJumpToNeighbour(this.activeKey);\n\n let {name, value, onChange, source, tabs, data} = this.props;\n\n const localTabs = this.state.localTabs;\n\n // 如果没有配置 name ,说明不需要同步表单值\n if (\n !name ||\n typeof onChange !== 'function' ||\n // 如果关联某个变量数据,则不启用\n source\n ) {\n return;\n }\n\n value = value ?? getVariable(data, name);\n\n // 如果有值,切到对应的 tab\n if (value && Array.isArray(localTabs)) {\n const key = this.resolveKeyByValue(value);\n key !== undefined && this.handleSelect(key);\n } else {\n const tab = this.resolveTabByKey(this.activeKey);\n if (tab && value !== ((tab as any).value ?? tab.title)) {\n this.handleChange((tab as any).value ?? tab.title, name);\n }\n }\n }\n\n componentDidUpdate(preProps: TabsProps, prevState: any) {\n const props = this.props;\n let localTabs = this.state.localTabs;\n\n // 响应外部修改 tabs\n const isTabsModified = isObjectShallowModified({\n tabs: props.tabs,\n source: resolveVariableAndFilter(props.source, props.data, '| raw')\n }, {\n tabs: preProps.tabs,\n source: resolveVariableAndFilter(preProps.source, preProps.data, '| raw')\n }, false);\n\n if (isTabsModified) {\n const [newLocalTabs, isFromSource] = this.initTabArray(props.tabs, props.source, props.data);\n\n this.setState({\n localTabs: newLocalTabs,\n isFromSource\n });\n localTabs = newLocalTabs;\n }\n\n if (props.location && preProps.location && props.location.hash !== preProps.location.hash) {\n const hash = props.location.hash.substring(1);\n if (!hash) {\n return;\n }\n\n const tab: TabSource = find(\n localTabs,\n tab => tab.hash === hash\n ) as TabSource;\n if (tab && tab.hash && tab.hash !== this.state.activeKey) {\n this.setState({\n activeKey: (this.activeKey = tab.hash),\n prevKey: this.state.activeKey\n });\n }\n } else if (\n Array.isArray(localTabs) &&\n Array.isArray(prevState.localTabs) &&\n JSON.stringify(localTabs.map(item => item.hash)) !==\n JSON.stringify(prevState.localTabs.map((item: TabSource) => item.hash))\n ) {\n let activeKey: any = this.state.activeKey;\n const location = props.location;\n let tab: TabSource | null = null;\n\n if (location && Array.isArray(localTabs)) {\n const hash = location.hash.substring(1);\n tab = find(localTabs, tab => tab.hash === hash) as TabSource;\n }\n\n if (tab) {\n activeKey = tab.hash;\n } else if (\n !localTabs ||\n !localTabs.some((item, index) =>\n item.hash ? item.hash === activeKey : index === activeKey\n )\n ) {\n activeKey = (localTabs && localTabs[0] && localTabs[0].hash) || 0;\n }\n\n this.setState({\n prevKey: undefined,\n activeKey: (this.activeKey = activeKey)\n });\n }\n\n this.autoJumpToNeighbour(this.activeKey);\n\n let {name, value, onChange, source, data} = this.props;\n\n // 如果没有配置 name ,说明不需要同步表单值\n if (\n !name ||\n typeof onChange !== 'function' ||\n // 如果关联某个变量数据,则不启用\n source\n ) {\n return;\n }\n\n let key: any;\n value = value ?? getVariable(data, name);\n const prevValue =\n preProps.value ?? getVariable(preProps.data, preProps.name);\n if (\n value !== prevValue &&\n (key = this.resolveKeyByValue(value)) !== undefined &&\n key !== this.activeKey\n ) {\n this.handleSelect(key);\n } else if (this.activeKey !== prevState.activeKey) {\n const tab = this.resolveTabByKey(this.activeKey);\n if (tab && value !== ((tab as any).value ?? tab.title)) {\n this.handleChange((tab as any).value ?? tab.title, name);\n }\n }\n }\n\n resolveTabByKey(key: any) {\n const localTabs = this.state.localTabs;\n\n if (!Array.isArray(localTabs)) {\n return;\n }\n\n return find(localTabs, (tab: TabSource, index) =>\n tab.hash ? tab.hash === key : index === key\n );\n }\n\n resolveKeyByValue(value: any) {\n const localTabs = this.state.localTabs;\n\n if (!Array.isArray(localTabs)) {\n return;\n }\n\n const tab: TabSource = find(\n localTabs,\n tab => ((tab as any).value ?? tab.title) === value\n ) as TabSource;\n\n return tab && tab.hash ? tab.hash : localTabs.indexOf(tab);\n }\n\n @autobind\n autoJumpToNeighbour(key: any) {\n const {tabs, data} = this.props;\n const localTabs = this.state.localTabs;\n\n if (!Array.isArray(localTabs)) {\n return;\n }\n\n // 当前 tab 可能不可见,所以需要自动切到一个可见的 tab, 向前找,找一圈\n const tabIndex = findIndex(localTabs, (tab: TabSource, index) =>\n tab.hash ? tab.hash === key : index === key\n );\n\n if (localTabs[tabIndex] && !isVisible(localTabs[tabIndex], this.props.data)) {\n let len = localTabs.length;\n let i = tabIndex - 1 + len;\n let tries = len - 1;\n\n while (tries--) {\n const index = i-- % len;\n if (isVisible(localTabs[index], data)) {\n let activeKey = localTabs[index].hash || index;\n this.setState({\n activeKey: (this.activeKey = activeKey)\n });\n break;\n }\n }\n }\n }\n\n @autobind\n handleAdd() {\n const localTabs = this.state.localTabs.concat();\n\n localTabs.push({\n title: `新增tab${this.newTabDefaultId++}`,\n body: '新增tab 内容'\n } as TabSource);\n\n this.setState({\n localTabs: localTabs\n }, () => {\n this.switchTo(this.state.localTabs.length - 1);\n });\n }\n\n @autobind\n handleClose(index: number, key: string | number) {\n const originTabs = this.state.localTabs.concat();\n\n originTabs.splice(index, 1);\n\n this.setState({\n localTabs: originTabs\n });\n }\n\n @autobind\n handleEdit(index: number, text: string) {\n const originTabs = this.state.localTabs.concat();\n originTabs[index].title = text;\n\n this.setState({\n localTabs: originTabs\n });\n }\n\n @autobind\n async handleDragChange(e: any){\n const activeTab = this.resolveTabByKey(this.activeKey);\n const originTabs: TabSource[] = this.state.localTabs.concat();\n\n originTabs.splice(e.newIndex, 0, originTabs.splice(e.oldIndex, 1)[0]);\n\n this.setState({\n localTabs: originTabs\n }, () => {\n if (activeTab) {\n const newActiveTabIndex = originTabs.indexOf(activeTab);\n this.switchTo(newActiveTabIndex);\n }\n });\n }\n\n @autobind\n handleSelect(key: any) {\n const {env, onSelect, id} = this.props;\n\n env.tracker?.({\n eventType: 'tabChange',\n eventData: {\n id,\n key\n }\n });\n\n // 是 hash,需要更新到地址栏\n if (typeof key === 'string' && env) {\n env.updateLocation(`#${key}`);\n } else if (typeof this.state.activeKey === 'string' && env) {\n env.updateLocation(`#`);\n }\n\n this.setState({\n activeKey: (this.activeKey = key),\n prevKey: this.state.activeKey\n });\n\n if (typeof onSelect === 'string') {\n const selectFunc = str2AsyncFunction(onSelect, 'key', 'props');\n selectFunc && selectFunc(key, this.props);\n } else if (typeof onSelect === 'function') {\n onSelect(key, this.props);\n }\n }\n\n @autobind\n async handleChange(key: any, name: any) {\n const {dispatchEvent, data, onChange} = this.props;\n const rendererEvent = await dispatchEvent('change', createObject(data, {\n value: key,\n }));\n if (rendererEvent?.prevented) {\n return;\n }\n\n onChange && onChange(key, name);\n }\n\n /**\n * 动作处理\n */\n doAction(action: Action, args: any) {\n const actionType = action?.actionType as string;\n const activeKey = action?.activeKey as number;\n if (actionType === 'changeActiveKey') {\n this.handleSelect(activeKey);\n }\n }\n\n @autobind\n switchTo(index: number) {\n const localTabs = this.state.localTabs;\n\n Array.isArray(localTabs) &&\n localTabs[index] &&\n this.setState({\n activeKey: (this.activeKey = localTabs[index].hash || index)\n });\n }\n\n @autobind\n currentIndex(): number {\n // const {tabs} = this.props;\n const localTabs = this.state.localTabs;\n\n return Array.isArray(localTabs)\n ? findIndex(localTabs, (tab: TabSource, index) =>\n tab.hash\n ? tab.hash === this.state.activeKey\n : index === this.state.activeKey\n )\n : -1;\n }\n\n renderToolbar() {\n const {toolbar, render, classnames: cx, toolbarClassName} = this.props;\n\n return toolbar ? (\n <div className={cx(`Tabs-toolbar`, toolbarClassName)}>\n {render('toolbar', toolbar)}\n </div>\n ) : null;\n }\n\n renderTabs() {\n const {\n classnames: cx,\n classPrefix: ns,\n contentClassName,\n linksClassName,\n tabRender,\n className,\n render,\n data,\n mode: dMode,\n tabsMode,\n unmountOnExit,\n source,\n formStore,\n formMode,\n formHorizontal,\n subFormMode,\n subFormHorizontal,\n addable,\n closable,\n draggable,\n showTip,\n showTipClassName,\n editable,\n sidePosition,\n addBtnText\n } = this.props;\n\n const mode = tabsMode || dMode;\n let mountOnEnter = this.props.mountOnEnter;\n\n // 如果在form下面,其他tabs默认需要渲染出来\n // 否则在其他 tab 下面的必填项检测不到\n if (formStore) {\n mountOnEnter = false;\n }\n\n const {localTabs: tabs, isFromSource} = this.state;\n let children: Array<JSX.Element | null> = [];\n\n // 是否从 source 数据中生成\n if (isFromSource) {\n children = tabs.map((tab: TabSource, index: number) =>\n isVisible(tab, tab.ctx) ? (\n <Tab\n {...(tab as any)}\n title={filter(tab.title, tab.ctx)}\n disabled={isDisabled(tab, tab.ctx)}\n key={index}\n eventKey={index}\n mountOnEnter={mountOnEnter}\n unmountOnExit={\n typeof tab.reload === 'boolean'\n ? tab.reload\n : typeof tab.unmountOnExit === 'boolean'\n ? tab.unmountOnExit\n : unmountOnExit\n }\n >\n {render(\n `item/${index}`,\n (tab as any)?.type ? (tab as any) : tab.tab || tab.body,\n {\n data: tab.ctx,\n formMode: tab.mode || subFormMode || formMode,\n formHorizontal:\n tab.horizontal || subFormHorizontal || formHorizontal\n }\n )}\n </Tab>\n ) : null\n );\n } else {\n children = tabs.map((tab, index) =>\n isVisible(tab, data) ? (\n <Tab\n {...(tab as any)}\n title={filter(tab.title, data)}\n disabled={isDisabled(tab, data)}\n key={index}\n eventKey={tab.hash || index}\n mountOnEnter={mountOnEnter}\n unmountOnExit={\n typeof tab.reload === 'boolean'\n ? tab.reload\n : typeof tab.unmountOnExit === 'boolean'\n ? tab.unmountOnExit\n : unmountOnExit\n }\n >\n {this.renderTab\n ? this.renderTab(tab, this.props, index)\n : tabRender\n ? tabRender(tab, this.props, index)\n : render(\n `tab/${index}`,\n (tab as any)?.type ? (tab as any) : tab.tab || tab.body,\n {\n formMode: tab.mode || subFormMode || formMode,\n formHorizontal:\n tab.horizontal || subFormHorizontal || formHorizontal\n }\n )}\n </Tab>\n ) : null\n );\n }\n\n return (\n <CTabs\n classPrefix={ns}\n classnames={cx}\n mode={mode}\n closable={closable}\n className={className}\n contentClassName={contentClassName}\n linksClassName={linksClassName}\n onSelect={this.handleSelect}\n activeKey={this.state.activeKey}\n toolbar={this.renderToolbar()}\n addable={addable}\n onAdd={this.handleAdd}\n onClose={this.handleClose}\n draggable={draggable}\n onDragChange={this.handleDragChange}\n showTip={showTip}\n showTipClassName={showTipClassName}\n editable={editable}\n onEdit={this.handleEdit}\n sidePosition={sidePosition}\n addBtnText={addBtnText}\n >\n {children}\n </CTabs>\n );\n }\n\n render() {\n return this.renderTabs();\n }\n}\n@Renderer({\n type: 'tabs'\n})\nexport class TabsRenderer extends Tabs {}\n"
|
11
|
+
"import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {Action, Schema, SchemaNode} from '../types';\nimport find from 'lodash/find';\nimport {\n isVisible,\n autobind,\n isDisabled,\n isObject,\n createObject,\n getVariable,\n isObjectShallowModified\n} from '../utils/helper';\nimport findIndex from 'lodash/findIndex';\nimport {Tabs as CTabs, Tab, TabsMode} from '../components/Tabs';\nimport {ClassNamesFn} from '../theme';\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaCollection,\n SchemaIcon\n} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {filter} from '../utils/tpl';\nimport {\n resolveVariable,\n tokenize,\n resolveVariableAndFilter\n} from '../utils/tpl-builtin';\nimport {FormSchemaHorizontal} from './Form/index';\nimport {str2AsyncFunction} from '../utils/api';\nimport {ScopedContext, IScopedContext} from '../Scoped';\n\nexport interface TabSchema extends Omit<BaseSchema, 'type'> {\n /**\n * Tab 标题\n */\n title?: string;\n\n /**\n * 内容\n * @deprecated 用 body 属性\n */\n tab?: SchemaCollection;\n\n /**\n * 内容\n */\n body?: SchemaCollection;\n\n /**\n * 徽标\n */\n badge?: number;\n\n /**\n * 设置以后将跟url的hash对应\n */\n hash?: string;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n iconPosition?: 'left' | 'right';\n\n /**\n * 设置以后内容每次都会重新渲染\n */\n reload?: boolean;\n\n /**\n * 点开时才加载卡片内容\n */\n mountOnEnter?: boolean;\n\n /**\n * 卡片隐藏就销毁卡片节点。\n */\n unmountOnExit?: boolean;\n\n /**\n * 配置子表单项默认的展示方式。\n */\n mode?: 'normal' | 'inline' | 'horizontal';\n /**\n * 如果是水平排版,这个属性可以细化水平排版的左右宽度占比。\n */\n horizontal?: FormSchemaHorizontal;\n /**\n * 是否可关闭,优先级高于 tabs 的 closable\n */\n closable?: boolean;\n /**\n * 是否禁用\n */\n disabled?: boolean;\n}\n\n/**\n * 选项卡控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/tabs\n */\nexport interface TabsSchema extends BaseSchema {\n type: 'tabs';\n\n /**\n * 选项卡成员。当配置了 source 时,选项卡成员,将会根据目标数据进行重复。\n */\n tabs: Array<TabSchema>;\n\n /**\n * 关联已有数据,选项卡直接根据目标数据重复。\n */\n source?: string;\n\n /**\n * 类名\n */\n tabsClassName?: SchemaClassName;\n\n /**\n * 展示形式\n */\n tabsMode?: TabsMode;\n\n /**\n * 内容类名\n */\n contentClassName?: SchemaClassName;\n\n /**\n * 链接外层类名\n */\n linksClassName?: SchemaClassName;\n\n /**\n * 卡片是否只有在点开的时候加载?\n */\n mountOnEnter?: boolean;\n\n /**\n * 卡片隐藏的时候是否销毁卡片内容\n */\n unmountOnExit?: boolean;\n\n /**\n * 可以在右侧配置点其他功能按钮。\n */\n toolbar?: ActionSchema;\n\n /**\n * 配置子表单项默认的展示方式。\n */\n subFormMode?: 'normal' | 'inline' | 'horizontal';\n /**\n * 如果是水平排版,这个属性可以细化水平排版的左右宽度占比。\n */\n subFormHorizontal?: FormSchemaHorizontal;\n /**\n * 是否支持新增\n */\n addable?: boolean;\n /**\n * 是否支持删除\n */\n closable?: boolean;\n /**\n * 是否支持拖拽\n */\n draggable?: boolean;\n /**\n * 是否显示提示\n */\n showTip?: boolean;\n /**\n * tooltip 提示的类名\n */\n showTipClassName?: string;\n /**\n * 是否可编辑标签名\n */\n editable?: boolean;\n /**\n * 是否导航支持内容溢出滚动。属性废弃,为了兼容暂且保留\n */\n scrollable?: boolean;\n /**\n * 编辑器模式,侧边的位置\n */\n sidePosition?: 'left' | 'right';\n /**\n * 自定义增加按钮文案\n */\n addBtnText?: string;\n}\n\nexport interface TabsProps\n extends RendererProps,\n Omit<TabsSchema, 'className' | 'contentClassName'> {\n activeKey?: string | number;\n location?: any;\n tabRender?: (tab: TabSchema, props: TabsProps, index: number) => JSX.Element;\n}\n\ninterface TabSource extends TabSchema {\n ctx?: any;\n}\n\nexport interface TabsState {\n activeKey: any;\n prevKey: any;\n localTabs: Array<TabSource>;\n isFromSource: boolean;\n}\n\nexport type TabsRendererEvent = 'change';\nexport type TabsRendererAction = 'changeActiveKey';\n\nexport default class Tabs extends React.Component<TabsProps, TabsState> {\n static defaultProps: Partial<TabsProps> = {\n className: '',\n mode: '',\n mountOnEnter: true,\n unmountOnExit: false\n };\n\n renderTab?: (tab: TabSchema, props: TabsProps, index: number) => JSX.Element;\n activeKey: any;\n newTabDefaultId: number = 3;\n\n constructor(props: TabsProps) {\n super(props);\n\n const location = props.location || window.location;\n const {tabs, source, data} = props;\n let activeKey: any = 0;\n\n if (typeof props.activeKey !== 'undefined') {\n activeKey = props.activeKey;\n } else if (location && Array.isArray(tabs)) {\n const hash = location.hash.substring(1);\n const tab: TabSource = find(tabs, tab => tab.hash === hash) as TabSource;\n\n if (tab) {\n activeKey = tab.hash;\n } else if (props.defaultActiveKey) {\n activeKey = tokenize(props.defaultActiveKey, props.data);\n }\n\n activeKey = activeKey || (tabs[0] && tabs[0].hash) || 0;\n }\n\n const [localTabs, isFromSource] = this.initTabArray(tabs, source, data);\n\n this.state = {\n prevKey: undefined,\n activeKey: (this.activeKey = activeKey),\n localTabs,\n isFromSource\n };\n }\n\n // 初始化 tabs 数组,当从 source 获取数据源时\n @autobind\n initTabArray(\n tabs: Array<TabSource>,\n source?: string,\n data?: any\n ): [Array<TabSource>, boolean] {\n if (!tabs) {\n return [[], false];\n }\n\n const arr = resolveVariableAndFilter(source, data, '| raw');\n if (!Array.isArray(arr)) {\n return [tabs, false];\n }\n\n tabs = Array.isArray(tabs) ? tabs : [tabs];\n\n const sourceTabs: Array<TabSource> = [];\n arr.forEach((value, index) => {\n const ctx = createObject(\n data,\n isObject(value) ? {index, ...value} : {item: value, index}\n );\n\n sourceTabs.push(...tabs.map((tab: TabSource) => ({...tab, ctx})));\n });\n\n return [sourceTabs, true];\n }\n\n componentDidMount() {\n this.autoJumpToNeighbour(this.activeKey);\n\n let {name, value, onChange, source, tabs, data} = this.props;\n\n const localTabs = this.state.localTabs;\n\n // 如果没有配置 name ,说明不需要同步表单值\n if (\n !name ||\n typeof onChange !== 'function' ||\n // 如果关联某个变量数据,则不启用\n source\n ) {\n return;\n }\n\n value = value ?? getVariable(data, name);\n\n // 如果有值,切到对应的 tab\n if (value && Array.isArray(localTabs)) {\n const key = this.resolveKeyByValue(value);\n key !== undefined && this.handleSelect(key);\n } else {\n const tab = this.resolveTabByKey(this.activeKey);\n if (tab && value !== ((tab as any).value ?? tab.title)) {\n this.handleChange((tab as any).value ?? tab.title, name);\n }\n }\n }\n\n componentDidUpdate(preProps: TabsProps, prevState: any) {\n const props = this.props;\n let localTabs = this.state.localTabs;\n\n // 响应外部修改 tabs\n const isTabsModified = isObjectShallowModified(\n {\n tabs: props.tabs,\n source: resolveVariableAndFilter(props.source, props.data, '| raw')\n },\n {\n tabs: preProps.tabs,\n source: resolveVariableAndFilter(\n preProps.source,\n preProps.data,\n '| raw'\n )\n },\n false\n );\n\n if (isTabsModified) {\n const [newLocalTabs, isFromSource] = this.initTabArray(\n props.tabs,\n props.source,\n props.data\n );\n\n this.setState({\n localTabs: newLocalTabs,\n isFromSource\n });\n localTabs = newLocalTabs;\n }\n\n if (\n props.location &&\n preProps.location &&\n props.location.hash !== preProps.location.hash\n ) {\n const hash = props.location.hash.substring(1);\n if (!hash) {\n return;\n }\n\n const tab: TabSource = find(\n localTabs,\n tab => tab.hash === hash\n ) as TabSource;\n if (tab && tab.hash && tab.hash !== this.state.activeKey) {\n this.setState({\n activeKey: (this.activeKey = tab.hash),\n prevKey: this.state.activeKey\n });\n }\n } else if (\n Array.isArray(localTabs) &&\n Array.isArray(prevState.localTabs) &&\n JSON.stringify(localTabs.map(item => item.hash)) !==\n JSON.stringify(prevState.localTabs.map((item: TabSource) => item.hash))\n ) {\n let activeKey: any = this.state.activeKey;\n const location = props.location;\n let tab: TabSource | null = null;\n\n if (location && Array.isArray(localTabs)) {\n const hash = location.hash.substring(1);\n tab = find(localTabs, tab => tab.hash === hash) as TabSource;\n }\n\n if (tab) {\n activeKey = tab.hash;\n } else if (\n !localTabs ||\n !localTabs.some((item, index) =>\n item.hash ? item.hash === activeKey : index === activeKey\n )\n ) {\n activeKey = (localTabs && localTabs[0] && localTabs[0].hash) || 0;\n }\n\n this.setState({\n prevKey: undefined,\n activeKey: (this.activeKey = activeKey)\n });\n }\n\n this.autoJumpToNeighbour(this.activeKey);\n\n let {name, value, onChange, source, data} = this.props;\n\n // 如果没有配置 name ,说明不需要同步表单值\n if (\n !name ||\n typeof onChange !== 'function' ||\n // 如果关联某个变量数据,则不启用\n source\n ) {\n return;\n }\n\n let key: any;\n value = value ?? getVariable(data, name);\n const prevValue =\n preProps.value ?? getVariable(preProps.data, preProps.name);\n if (\n value !== prevValue &&\n (key = this.resolveKeyByValue(value)) !== undefined &&\n key !== this.activeKey\n ) {\n this.handleSelect(key);\n } else if (this.activeKey !== prevState.activeKey) {\n const tab = this.resolveTabByKey(this.activeKey);\n if (tab && value !== ((tab as any).value ?? tab.title)) {\n this.handleChange((tab as any).value ?? tab.title, name);\n }\n }\n }\n\n resolveTabByKey(key: any) {\n const localTabs = this.state.localTabs;\n\n if (!Array.isArray(localTabs)) {\n return;\n }\n\n return find(localTabs, (tab: TabSource, index) =>\n tab.hash ? tab.hash === key : index === key\n );\n }\n\n resolveKeyByValue(value: any) {\n const localTabs = this.state.localTabs;\n\n if (!Array.isArray(localTabs)) {\n return;\n }\n\n const tab: TabSource = find(\n localTabs,\n tab => ((tab as any).value ?? tab.title) === value\n ) as TabSource;\n\n return tab && tab.hash ? tab.hash : localTabs.indexOf(tab);\n }\n\n @autobind\n autoJumpToNeighbour(key: any) {\n const {tabs, data} = this.props;\n const localTabs = this.state.localTabs;\n\n if (!Array.isArray(localTabs)) {\n return;\n }\n\n // 当前 tab 可能不可见,所以需要自动切到一个可见的 tab, 向前找,找一圈\n const tabIndex = findIndex(localTabs, (tab: TabSource, index) =>\n tab.hash ? tab.hash === key : index === key\n );\n\n if (\n localTabs[tabIndex] &&\n !isVisible(localTabs[tabIndex], this.props.data)\n ) {\n let len = localTabs.length;\n let i = tabIndex - 1 + len;\n let tries = len - 1;\n\n while (tries--) {\n const index = i-- % len;\n if (isVisible(localTabs[index], data)) {\n let activeKey = localTabs[index].hash || index;\n this.setState({\n activeKey: (this.activeKey = activeKey)\n });\n break;\n }\n }\n }\n }\n\n @autobind\n handleAdd() {\n const localTabs = this.state.localTabs.concat();\n\n localTabs.push({\n title: `新增tab${this.newTabDefaultId++}`,\n body: '新增tab 内容'\n } as TabSource);\n\n this.setState(\n {\n localTabs: localTabs\n },\n () => {\n this.switchTo(this.state.localTabs.length - 1);\n }\n );\n }\n\n @autobind\n handleClose(index: number, key: string | number) {\n const originTabs = this.state.localTabs.concat();\n\n originTabs.splice(index, 1);\n\n this.setState({\n localTabs: originTabs\n });\n }\n\n @autobind\n handleEdit(index: number, text: string) {\n const originTabs = this.state.localTabs.concat();\n originTabs[index].title = text;\n\n this.setState({\n localTabs: originTabs\n });\n }\n\n @autobind\n async handleDragChange(e: any) {\n const activeTab = this.resolveTabByKey(this.activeKey);\n const originTabs: TabSource[] = this.state.localTabs.concat();\n\n originTabs.splice(e.newIndex, 0, originTabs.splice(e.oldIndex, 1)[0]);\n\n this.setState(\n {\n localTabs: originTabs\n },\n () => {\n if (activeTab) {\n const newActiveTabIndex = originTabs.indexOf(activeTab);\n this.switchTo(newActiveTabIndex);\n }\n }\n );\n }\n\n @autobind\n handleSelect(key: any) {\n const {env, onSelect, id} = this.props;\n\n env.tracker?.({\n eventType: 'tabChange',\n eventData: {\n id,\n key\n }\n });\n\n // 是 hash,需要更新到地址栏\n if (typeof key === 'string' && env) {\n env.updateLocation(`#${key}`);\n } else if (typeof this.state.activeKey === 'string' && env) {\n env.updateLocation(`#`);\n }\n\n this.setState({\n activeKey: (this.activeKey = key),\n prevKey: this.state.activeKey\n });\n\n if (typeof onSelect === 'string') {\n const selectFunc = str2AsyncFunction(onSelect, 'key', 'props');\n selectFunc && selectFunc(key, this.props);\n } else if (typeof onSelect === 'function') {\n onSelect(key, this.props);\n }\n }\n\n @autobind\n async handleChange(key: any, name: any) {\n const {dispatchEvent, data, onChange} = this.props;\n const rendererEvent = await dispatchEvent(\n 'change',\n createObject(data, {\n value: key\n })\n );\n if (rendererEvent?.prevented) {\n return;\n }\n\n onChange && onChange(key, name);\n }\n\n /**\n * 动作处理\n */\n doAction(action: Action, args: any) {\n const actionType = action?.actionType as string;\n const activeKey = action?.activeKey as number;\n if (actionType === 'changeActiveKey') {\n this.handleSelect(activeKey);\n }\n }\n\n @autobind\n switchTo(index: number) {\n const localTabs = this.state.localTabs;\n\n Array.isArray(localTabs) &&\n localTabs[index] &&\n this.setState({\n activeKey: (this.activeKey = localTabs[index].hash || index)\n });\n }\n\n @autobind\n currentIndex(): number {\n // const {tabs} = this.props;\n const localTabs = this.state.localTabs;\n\n return Array.isArray(localTabs)\n ? findIndex(localTabs, (tab: TabSource, index) =>\n tab.hash\n ? tab.hash === this.state.activeKey\n : index === this.state.activeKey\n )\n : -1;\n }\n\n renderToolbar() {\n const {toolbar, render, classnames: cx, toolbarClassName} = this.props;\n\n return toolbar ? (\n <div className={cx(`Tabs-toolbar`, toolbarClassName)}>\n {render('toolbar', toolbar)}\n </div>\n ) : null;\n }\n\n renderTabs() {\n const {\n classnames: cx,\n classPrefix: ns,\n contentClassName,\n linksClassName,\n tabRender,\n className,\n render,\n data,\n mode: dMode,\n tabsMode,\n unmountOnExit,\n source,\n formStore,\n formMode,\n formHorizontal,\n subFormMode,\n subFormHorizontal,\n addable,\n closable,\n draggable,\n showTip,\n showTipClassName,\n editable,\n sidePosition,\n addBtnText\n } = this.props;\n\n const mode = tabsMode || dMode;\n let mountOnEnter = this.props.mountOnEnter;\n\n // 如果在form下面,其他tabs默认需要渲染出来\n // 否则在其他 tab 下面的必填项检测不到\n if (formStore) {\n mountOnEnter = false;\n }\n\n const {localTabs: tabs, isFromSource} = this.state;\n let children: Array<JSX.Element | null> = [];\n\n // 是否从 source 数据中生成\n if (isFromSource) {\n children = tabs.map((tab: TabSource, index: number) =>\n isVisible(tab, tab.ctx) ? (\n <Tab\n {...(tab as any)}\n title={filter(tab.title, tab.ctx)}\n disabled={isDisabled(tab, tab.ctx)}\n key={index}\n eventKey={index}\n mountOnEnter={mountOnEnter}\n unmountOnExit={\n typeof tab.reload === 'boolean'\n ? tab.reload\n : typeof tab.unmountOnExit === 'boolean'\n ? tab.unmountOnExit\n : unmountOnExit\n }\n >\n {render(\n `item/${index}`,\n (tab as any)?.type ? (tab as any) : tab.tab || tab.body,\n {\n data: tab.ctx,\n formMode: tab.mode || subFormMode || formMode,\n formHorizontal:\n tab.horizontal || subFormHorizontal || formHorizontal\n }\n )}\n </Tab>\n ) : null\n );\n } else {\n children = tabs.map((tab, index) =>\n isVisible(tab, data) ? (\n <Tab\n {...(tab as any)}\n title={filter(tab.title, data)}\n disabled={isDisabled(tab, data)}\n key={index}\n eventKey={tab.hash || index}\n mountOnEnter={mountOnEnter}\n unmountOnExit={\n typeof tab.reload === 'boolean'\n ? tab.reload\n : typeof tab.unmountOnExit === 'boolean'\n ? tab.unmountOnExit\n : unmountOnExit\n }\n >\n {this.renderTab\n ? this.renderTab(tab, this.props, index)\n : tabRender\n ? tabRender(tab, this.props, index)\n : render(\n `tab/${index}`,\n (tab as any)?.type ? (tab as any) : tab.tab || tab.body,\n {\n formMode: tab.mode || subFormMode || formMode,\n formHorizontal:\n tab.horizontal || subFormHorizontal || formHorizontal\n }\n )}\n </Tab>\n ) : null\n );\n }\n\n return (\n <CTabs\n classPrefix={ns}\n classnames={cx}\n mode={mode}\n closable={closable}\n className={className}\n contentClassName={contentClassName}\n linksClassName={linksClassName}\n onSelect={this.handleSelect}\n activeKey={this.state.activeKey}\n toolbar={this.renderToolbar()}\n addable={addable}\n onAdd={this.handleAdd}\n onClose={this.handleClose}\n draggable={draggable}\n onDragChange={this.handleDragChange}\n showTip={showTip}\n showTipClassName={showTipClassName}\n editable={editable}\n onEdit={this.handleEdit}\n sidePosition={sidePosition}\n addBtnText={addBtnText}\n >\n {children}\n </CTabs>\n );\n }\n\n render() {\n return this.renderTabs();\n }\n}\n@Renderer({\n type: 'tabs'\n})\nexport class TabsRenderer extends Tabs {\n static contextType = ScopedContext;\n\n constructor(props: TabsProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount?.();\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -140,8 +140,10 @@ export default class Wizard extends React.Component<WizardProps, WizardState> {
|
|
140
140
|
componentDidMount(): void;
|
141
141
|
componentDidUpdate(prevProps: WizardProps): void;
|
142
142
|
componentWillUnmount(): void;
|
143
|
+
dispatchEvent(action: string, value?: object): Promise<any>;
|
144
|
+
handleInitEvent(data: any): Promise<void>;
|
143
145
|
affixDetect(): void;
|
144
|
-
gotoStep(index: number): void
|
146
|
+
gotoStep(index: number): Promise<void>;
|
145
147
|
formRef(ref: any): void;
|
146
148
|
submitToTarget(target: string, values: object): void;
|
147
149
|
reloadTarget(target: string, data: any): void;
|
@@ -153,10 +155,11 @@ export default class Wizard extends React.Component<WizardProps, WizardState> {
|
|
153
155
|
handleAction(e: React.UIEvent<any> | void, action: Action, data: object, throwErrors?: boolean, delegate?: IScopedContext): void | Promise<void>;
|
154
156
|
handleQuery(query: any): void;
|
155
157
|
openFeedback(dialog: any, ctx: any): Promise<unknown>;
|
156
|
-
handleChange(values: object): void
|
158
|
+
handleChange(values: object): Promise<void>;
|
157
159
|
handleInit(values: any): void;
|
158
160
|
handleReset(values: any): void;
|
159
|
-
|
161
|
+
finalSubmit(values?: object, action?: Action): Promise<void>;
|
162
|
+
handleSubmit(values: object, action: Action): Promise<boolean>;
|
160
163
|
handleDialogConfirm(values: object[], action: Action, targets: Array<any>): void;
|
161
164
|
handleDialogClose(confirmed?: boolean): void;
|
162
165
|
renderSteps(): JSX.Element;
|