@nutui/nutui-react-taro 2.7.0 → 2.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -10
- package/dist/esm/ActionSheet.js +1 -1
- package/dist/esm/Address.js +1 -1
- package/dist/esm/Calendar.js +1 -1
- package/dist/esm/Cascader.js +1 -1
- package/dist/esm/DatePicker.js +1 -1
- package/dist/esm/Elevator.js +1 -1
- package/dist/esm/Form/style/style.css +1 -1
- package/dist/esm/Form.js +6 -5
- package/dist/esm/FormItem/style/style.css +1 -1
- package/dist/esm/FormItem.js +1 -1
- package/dist/esm/ImagePreview.js +1 -1
- package/dist/esm/NumberKeyboard.js +1 -1
- package/dist/esm/Picker.js +1 -1
- package/dist/esm/Popover.js +1 -1
- package/dist/esm/Popup.js +1 -1
- package/dist/esm/ShortPassword.js +1 -1
- package/dist/esm/SideNavBar.js +1 -1
- package/dist/esm/Table/style/style.css +1 -1
- package/dist/esm/TextArea.js +1 -1
- package/dist/esm/TimeSelect.js +1 -1
- package/dist/esm/Toast/style/index.js +1 -1
- package/dist/esm/Toast/style/style.css +1 -1
- package/dist/esm/Tour.js +1 -1
- package/dist/esm/Uploader/style/style.css +1 -1
- package/dist/esm/Uploader.js +1 -1
- package/dist/esm/{actionsheet.taro-CgfXnK1M.js → actionsheet.taro-kMhbV73n.js} +1 -1
- package/dist/esm/{address.taro-CAikNvuu.js → address.taro-C8CsajMW.js} +2 -2
- package/dist/esm/{calendar.taro-MkErd99P.js → calendar.taro-CM4yWFlF.js} +1 -1
- package/dist/esm/{cascader.taro-DEApf0aF.js → cascader.taro-DRE3asjI.js} +1 -1
- package/dist/esm/{datepicker.taro-DibmSueg.js → datepicker.taro-DU4OSraL.js} +1 -1
- package/dist/esm/{elevator.taro-Bsc8PcT0.js → elevator.taro-C0Gs93x7.js} +5 -3
- package/dist/esm/{formitem.taro-CEWRz5EJ.js → formitem.taro-CU6rrcJD.js} +105 -47
- package/dist/esm/{imagepreview.taro-C0yMREHT.js → imagepreview.taro-BE4mZT-S.js} +1 -1
- package/dist/esm/{numberkeyboard.taro-CIlStObb.js → numberkeyboard.taro-BvVO_MyJ.js} +1 -1
- package/dist/esm/nutui-react.es.js +18 -18
- package/dist/esm/{picker.taro-mCnxpFCY.js → picker.taro-CYNZBTE4.js} +1 -1
- package/dist/esm/{popover.taro-BHcidbZG.js → popover.taro-o5vHvHsm.js} +1 -1
- package/dist/esm/{popup.taro-DV32k5dP.js → popup.taro-JynjcLCn.js} +3 -3
- package/dist/esm/{shortpassword.taro-ByEtEDDl.js → shortpassword.taro-CUnXqjab.js} +1 -1
- package/dist/esm/{sidenavbar.taro-DNwoQw9u.js → sidenavbar.taro-C-AoUXLA.js} +1 -1
- package/dist/esm/{textarea.taro-EJQxRHZR.js → textarea.taro-PsaohYay.js} +2 -2
- package/dist/esm/{timeselect.taro-DE_a87DT.js → timeselect.taro-FIl91wiO.js} +1 -1
- package/dist/esm/{tour.taro-BvBZa8nq.js → tour.taro-DfOfyyte.js} +1 -1
- package/dist/esm/{uploader.taro-CceZ5Y4t.js → uploader.taro-C3hV5Aih.js} +3 -1
- package/dist/locales/base.js +1 -1
- package/dist/locales/en-US.js +1 -1
- package/dist/locales/id-ID.js +1 -1
- package/dist/locales/tr-TR.js +1 -1
- package/dist/locales/zh-CN.js +1 -1
- package/dist/locales/zh-TW.js +1 -1
- package/dist/locales/zh-UG.js +1 -1
- package/dist/nutui.react.es.js +237 -148
- package/dist/nutui.react.umd.js +236 -147
- package/dist/packages/form/form.scss +0 -68
- package/dist/packages/formitem/formitem.scss +90 -21
- package/dist/packages/table/table.scss +1 -0
- package/dist/packages/toast/toast.scss +1 -0
- package/dist/packages/uploader/uploader.scss +2 -1
- package/dist/style.css +1 -1
- package/dist/types/packages/form/form.d.ts +2 -0
- package/dist/types/packages/form/form.taro.d.ts +10 -0
- package/dist/types/packages/form/types.d.ts +2 -1
- package/dist/types/packages/formitem/formitem.d.ts +1 -0
- package/dist/types/packages/formitem/formitem.taro.d.ts +1 -0
- package/dist/types/packages/infiniteloading/infiniteloading.taro.d.ts +1 -1
- package/dist/types/utils/merge.d.ts +1 -0
- package/dist/types/utils/to-array.d.ts +1 -0
- package/package.json +1 -1
package/dist/nutui.react.es.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @nutui/nutui-react-taro v2.7.
|
|
2
|
+
* @nutui/nutui-react-taro v2.7.2 Fri Dec 06 2024 16:21:35 GMT+0800 (中国标准时间)
|
|
3
3
|
* (c) 2023 @jdf2e.
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
import * as React from "react";
|
|
7
7
|
import React__default, { useCallback, createContext, useContext, useState, useRef, useEffect, useMemo as useMemo$1, useImperativeHandle, isValidElement, forwardRef, Component, Children } from "react";
|
|
8
8
|
import Taro, { getEnv, createSelectorQuery, usePageScroll, getSystemInfoSync, pageScrollTo, nextTick, ENV_TYPE, useReady, canvasToTempFilePath, uploadFile, chooseMedia, chooseImage, Events, getCurrentInstance, createInnerAudioContext, getSystemInfo, createOffscreenCanvas } from "@tarojs/taro";
|
|
9
|
-
import { Image as Image$2, View, ScrollView, PickerView, PickerViewColumn, Input as Input$1, Textarea, Swiper as Swiper$1, SwiperItem as SwiperItem$1, Video as Video$1, Canvas } from "@tarojs/components";
|
|
9
|
+
import { Image as Image$2, View, ScrollView, PickerView, PickerViewColumn, Form as Form$1, Text, Input as Input$1, Textarea, Swiper as Swiper$1, SwiperItem as SwiperItem$1, Video as Video$1, Canvas } from "@tarojs/components";
|
|
10
10
|
import ReactDOM, { createPortal } from "react-dom";
|
|
11
11
|
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
|
|
12
12
|
function getDefaultExportFromCjs(x2) {
|
|
@@ -4180,6 +4180,21 @@ const BackTop = (props) => {
|
|
|
4180
4180
|
return /* @__PURE__ */ React__default.createElement("div", { className: cls, style: styles, onClick: (e2) => goTop(e2) }, children || /* @__PURE__ */ React__default.createElement(N, { size: 19, className: "nut-backtop-main" }));
|
|
4181
4181
|
};
|
|
4182
4182
|
BackTop.displayName = "NutBackTop";
|
|
4183
|
+
const idCounter = {};
|
|
4184
|
+
function uniqueId(prefix = "$nut$") {
|
|
4185
|
+
if (!idCounter[prefix]) {
|
|
4186
|
+
idCounter[prefix] = 0;
|
|
4187
|
+
}
|
|
4188
|
+
const id = ++idCounter[prefix];
|
|
4189
|
+
if (prefix === "$nut$") {
|
|
4190
|
+
return `${id}`;
|
|
4191
|
+
}
|
|
4192
|
+
return `${prefix}${id}`;
|
|
4193
|
+
}
|
|
4194
|
+
function useUuid() {
|
|
4195
|
+
const idRef = useRef(uniqueId());
|
|
4196
|
+
return idRef.current;
|
|
4197
|
+
}
|
|
4183
4198
|
const elevatorContext = createContext({});
|
|
4184
4199
|
const defaultProps$1i = {
|
|
4185
4200
|
...ComponentDefaults,
|
|
@@ -4211,6 +4226,7 @@ const Elevator = (props) => {
|
|
|
4211
4226
|
...defaultProps$1i,
|
|
4212
4227
|
...props
|
|
4213
4228
|
};
|
|
4229
|
+
const uuid = useUuid();
|
|
4214
4230
|
const classPrefix2 = "nut-elevator";
|
|
4215
4231
|
const listview = useRef(null);
|
|
4216
4232
|
const initData = {
|
|
@@ -4247,7 +4263,7 @@ const Elevator = (props) => {
|
|
|
4247
4263
|
state.current.listHeight.push(height2);
|
|
4248
4264
|
for (let i2 = 0; i2 < state.current.listGroup.length; i2++) {
|
|
4249
4265
|
const query = createSelectorQuery();
|
|
4250
|
-
query.selectAll(`.${
|
|
4266
|
+
query.selectAll(`.${classPrefix2}-${uuid} .nut-elevator-item-${i2}`).boundingClientRect();
|
|
4251
4267
|
query.exec((res) => {
|
|
4252
4268
|
if (res[0][0]) height2 += res[0][0].height;
|
|
4253
4269
|
state.current.listHeight.push(height2);
|
|
@@ -4306,7 +4322,7 @@ const Elevator = (props) => {
|
|
|
4306
4322
|
};
|
|
4307
4323
|
const setListGroup = () => {
|
|
4308
4324
|
if (listview.current) {
|
|
4309
|
-
createSelectorQuery().selectAll(`.${
|
|
4325
|
+
createSelectorQuery().selectAll(`.${classPrefix2}-${uuid} .nut-elevator-list-item`).node((el) => {
|
|
4310
4326
|
state.current.listGroup = [...Object.keys(el)];
|
|
4311
4327
|
calculateHeight();
|
|
4312
4328
|
}).exec();
|
|
@@ -4340,86 +4356,96 @@ const Elevator = (props) => {
|
|
|
4340
4356
|
});
|
|
4341
4357
|
}
|
|
4342
4358
|
}, [listview]);
|
|
4343
|
-
return /* @__PURE__ */ React__default.createElement(
|
|
4359
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
4344
4360
|
"div",
|
|
4345
4361
|
{
|
|
4346
|
-
className: `${classPrefix2}
|
|
4347
|
-
style
|
|
4362
|
+
className: `${classPrefix2} ${className} ${classPrefix2}-${uuid}`,
|
|
4363
|
+
style,
|
|
4364
|
+
...rest
|
|
4348
4365
|
},
|
|
4349
4366
|
/* @__PURE__ */ React__default.createElement(
|
|
4350
|
-
|
|
4367
|
+
"div",
|
|
4351
4368
|
{
|
|
4352
|
-
|
|
4353
|
-
|
|
4354
|
-
|
|
4355
|
-
|
|
4356
|
-
|
|
4357
|
-
|
|
4358
|
-
|
|
4359
|
-
|
|
4360
|
-
|
|
4361
|
-
|
|
4362
|
-
|
|
4369
|
+
className: `${classPrefix2}-list`,
|
|
4370
|
+
style: { height: Number.isNaN(+height) ? height : `${height}px` }
|
|
4371
|
+
},
|
|
4372
|
+
/* @__PURE__ */ React__default.createElement(
|
|
4373
|
+
ScrollView,
|
|
4374
|
+
{
|
|
4375
|
+
scrollTop,
|
|
4376
|
+
scrollY: true,
|
|
4377
|
+
scrollWithAnimation: true,
|
|
4378
|
+
scrollAnchoring: true,
|
|
4379
|
+
className: `${classPrefix2}-list-inner`,
|
|
4380
|
+
type: "list",
|
|
4381
|
+
ref: listview,
|
|
4382
|
+
onScroll: listViewScroll,
|
|
4383
|
+
onTouchStart: (e2) => {
|
|
4384
|
+
scrolling.current = false;
|
|
4385
|
+
}
|
|
4386
|
+
},
|
|
4387
|
+
list.map((item, idx) => {
|
|
4388
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
4389
|
+
"div",
|
|
4390
|
+
{
|
|
4391
|
+
className: `${classPrefix2}-list-item nut-elevator-item-${idx}`,
|
|
4392
|
+
key: idx
|
|
4393
|
+
},
|
|
4394
|
+
/* @__PURE__ */ React__default.createElement("div", { className: `${classPrefix2}-list-item-code` }, item[floorKey]),
|
|
4395
|
+
/* @__PURE__ */ React__default.createElement(React__default.Fragment, null, item.list.map((subitem) => {
|
|
4396
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
4397
|
+
"div",
|
|
4398
|
+
{
|
|
4399
|
+
className: classNames({
|
|
4400
|
+
[`${classPrefix2}-list-item-name`]: true,
|
|
4401
|
+
[`${classPrefix2}-list-item-name-highcolor`]: currentData.id === subitem.id && currentKey === item[floorKey]
|
|
4402
|
+
}),
|
|
4403
|
+
key: subitem.id,
|
|
4404
|
+
onClick: () => handleClickItem(item[floorKey], subitem)
|
|
4405
|
+
},
|
|
4406
|
+
children ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(elevatorContext.Provider, { value: subitem }, children)) : subitem.name
|
|
4407
|
+
);
|
|
4408
|
+
}))
|
|
4409
|
+
);
|
|
4410
|
+
})
|
|
4411
|
+
)
|
|
4412
|
+
),
|
|
4413
|
+
showKeys ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, list.length && scrollStart ? /* @__PURE__ */ React__default.createElement(
|
|
4414
|
+
"div",
|
|
4415
|
+
{
|
|
4416
|
+
className: classNames({
|
|
4417
|
+
[`${classPrefix2}-code-current`]: true,
|
|
4418
|
+
[`${classPrefix2}-code-current-current`]: true
|
|
4419
|
+
})
|
|
4363
4420
|
},
|
|
4364
|
-
list
|
|
4421
|
+
list[codeIndex][floorKey]
|
|
4422
|
+
) : null, /* @__PURE__ */ React__default.createElement("div", { className: `${classPrefix2}-bars` }, /* @__PURE__ */ React__default.createElement(
|
|
4423
|
+
"div",
|
|
4424
|
+
{
|
|
4425
|
+
className: `${classPrefix2}-bars-inner`,
|
|
4426
|
+
onTouchStart: (event) => touchStart(event),
|
|
4427
|
+
onTouchMove: (event) => touchMove(event),
|
|
4428
|
+
onTouchEnd: touchEnd,
|
|
4429
|
+
style: { touchAction: "pan-y" }
|
|
4430
|
+
},
|
|
4431
|
+
list.map((item, index) => {
|
|
4365
4432
|
return /* @__PURE__ */ React__default.createElement(
|
|
4366
4433
|
"div",
|
|
4367
4434
|
{
|
|
4368
|
-
className:
|
|
4369
|
-
|
|
4435
|
+
className: classNames({
|
|
4436
|
+
[`${classPrefix2}-bars-inner-item`]: true,
|
|
4437
|
+
[`${classPrefix2}-bars-inner-item-active`]: item[floorKey] === list[codeIndex][floorKey]
|
|
4438
|
+
}),
|
|
4439
|
+
"data-index": index,
|
|
4440
|
+
key: index,
|
|
4441
|
+
onClick: () => handleClickIndex(item[floorKey])
|
|
4370
4442
|
},
|
|
4371
|
-
|
|
4372
|
-
/* @__PURE__ */ React__default.createElement(React__default.Fragment, null, item.list.map((subitem) => {
|
|
4373
|
-
return /* @__PURE__ */ React__default.createElement(
|
|
4374
|
-
"div",
|
|
4375
|
-
{
|
|
4376
|
-
className: classNames({
|
|
4377
|
-
[`${classPrefix2}-list-item-name`]: true,
|
|
4378
|
-
[`${classPrefix2}-list-item-name-highcolor`]: currentData.id === subitem.id && currentKey === item[floorKey]
|
|
4379
|
-
}),
|
|
4380
|
-
key: subitem.id,
|
|
4381
|
-
onClick: () => handleClickItem(item[floorKey], subitem)
|
|
4382
|
-
},
|
|
4383
|
-
children ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(elevatorContext.Provider, { value: subitem }, children)) : subitem.name
|
|
4384
|
-
);
|
|
4385
|
-
}))
|
|
4443
|
+
item[floorKey]
|
|
4386
4444
|
);
|
|
4387
4445
|
})
|
|
4388
|
-
)
|
|
4389
|
-
|
|
4390
|
-
|
|
4391
|
-
{
|
|
4392
|
-
className: classNames({
|
|
4393
|
-
[`${classPrefix2}-code-current`]: true,
|
|
4394
|
-
[`${classPrefix2}-code-current-current`]: true
|
|
4395
|
-
})
|
|
4396
|
-
},
|
|
4397
|
-
list[codeIndex][floorKey]
|
|
4398
|
-
) : null, /* @__PURE__ */ React__default.createElement("div", { className: `${classPrefix2}-bars` }, /* @__PURE__ */ React__default.createElement(
|
|
4399
|
-
"div",
|
|
4400
|
-
{
|
|
4401
|
-
className: `${classPrefix2}-bars-inner`,
|
|
4402
|
-
onTouchStart: (event) => touchStart(event),
|
|
4403
|
-
onTouchMove: (event) => touchMove(event),
|
|
4404
|
-
onTouchEnd: touchEnd,
|
|
4405
|
-
style: { touchAction: "pan-y" }
|
|
4406
|
-
},
|
|
4407
|
-
list.map((item, index) => {
|
|
4408
|
-
return /* @__PURE__ */ React__default.createElement(
|
|
4409
|
-
"div",
|
|
4410
|
-
{
|
|
4411
|
-
className: classNames({
|
|
4412
|
-
[`${classPrefix2}-bars-inner-item`]: true,
|
|
4413
|
-
[`${classPrefix2}-bars-inner-item-active`]: item[floorKey] === list[codeIndex][floorKey]
|
|
4414
|
-
}),
|
|
4415
|
-
"data-index": index,
|
|
4416
|
-
key: index,
|
|
4417
|
-
onClick: () => handleClickIndex(item[floorKey])
|
|
4418
|
-
},
|
|
4419
|
-
item[floorKey]
|
|
4420
|
-
);
|
|
4421
|
-
})
|
|
4422
|
-
))) : null, sticky && scrollY > 0 ? /* @__PURE__ */ React__default.createElement("div", { className: `${classPrefix2}-list-fixed` }, /* @__PURE__ */ React__default.createElement("span", { className: `${classPrefix2}-list-fixed-title` }, list[codeIndex][floorKey])) : null);
|
|
4446
|
+
))) : null,
|
|
4447
|
+
sticky && scrollY > 0 ? /* @__PURE__ */ React__default.createElement("div", { className: `${classPrefix2}-list-fixed` }, /* @__PURE__ */ React__default.createElement("span", { className: `${classPrefix2}-list-fixed-title` }, list[codeIndex][floorKey])) : null
|
|
4448
|
+
);
|
|
4423
4449
|
};
|
|
4424
4450
|
Elevator.displayName = "NutElevator";
|
|
4425
4451
|
Elevator.Context = elevatorContext;
|
|
@@ -4779,7 +4805,7 @@ const Popup = (props) => {
|
|
|
4779
4805
|
);
|
|
4780
4806
|
};
|
|
4781
4807
|
const renderNode = () => {
|
|
4782
|
-
return /* @__PURE__ */ React__default.createElement(
|
|
4808
|
+
return /* @__PURE__ */ React__default.createElement(View, { catchMove: true }, overlay ? /* @__PURE__ */ React__default.createElement(
|
|
4783
4809
|
Overlay,
|
|
4784
4810
|
{
|
|
4785
4811
|
style: overlayStyles,
|
|
@@ -4790,7 +4816,7 @@ const Popup = (props) => {
|
|
|
4790
4816
|
duration,
|
|
4791
4817
|
onClick: onHandleClickOverlay
|
|
4792
4818
|
}
|
|
4793
|
-
) : null,
|
|
4819
|
+
) : null, renderPop());
|
|
4794
4820
|
};
|
|
4795
4821
|
useEffect(() => {
|
|
4796
4822
|
visible && open2();
|
|
@@ -5205,21 +5231,6 @@ function requestAniFrame() {
|
|
|
5205
5231
|
};
|
|
5206
5232
|
}
|
|
5207
5233
|
const requestAniFrame$1 = requestAniFrame();
|
|
5208
|
-
const idCounter = {};
|
|
5209
|
-
function uniqueId(prefix = "$nut$") {
|
|
5210
|
-
if (!idCounter[prefix]) {
|
|
5211
|
-
idCounter[prefix] = 0;
|
|
5212
|
-
}
|
|
5213
|
-
const id = ++idCounter[prefix];
|
|
5214
|
-
if (prefix === "$nut$") {
|
|
5215
|
-
return `${id}`;
|
|
5216
|
-
}
|
|
5217
|
-
return `${prefix}${id}`;
|
|
5218
|
-
}
|
|
5219
|
-
function useUuid() {
|
|
5220
|
-
const idRef = useRef(uniqueId());
|
|
5221
|
-
return idRef.current;
|
|
5222
|
-
}
|
|
5223
5234
|
const defaultProps$18 = {
|
|
5224
5235
|
...ComponentDefaults,
|
|
5225
5236
|
tabStyle: {},
|
|
@@ -9829,6 +9840,25 @@ Schema.register = function register(type4, validator) {
|
|
|
9829
9840
|
Schema.warning = warning;
|
|
9830
9841
|
Schema.messages = messages;
|
|
9831
9842
|
Schema.validators = validators;
|
|
9843
|
+
function merge(...objects) {
|
|
9844
|
+
const result = Array.isArray(objects[0]) ? [] : {};
|
|
9845
|
+
function mergeHelper(obj, path = []) {
|
|
9846
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
9847
|
+
const newPath = [...path, key];
|
|
9848
|
+
if (Array.isArray(value)) {
|
|
9849
|
+
result[key] = [...value];
|
|
9850
|
+
} else if (typeof value === "object" && value !== null) {
|
|
9851
|
+
if (path.some((p) => p === value)) continue;
|
|
9852
|
+
if (!result[key]) result[key] = {};
|
|
9853
|
+
mergeHelper(value, newPath);
|
|
9854
|
+
} else {
|
|
9855
|
+
result[key] = value;
|
|
9856
|
+
}
|
|
9857
|
+
}
|
|
9858
|
+
}
|
|
9859
|
+
objects.filter((obj) => !!obj).forEach((obj) => mergeHelper(obj));
|
|
9860
|
+
return result;
|
|
9861
|
+
}
|
|
9832
9862
|
const SECRET = "NUT_FORM_INTERNAL";
|
|
9833
9863
|
class FormStore {
|
|
9834
9864
|
constructor() {
|
|
@@ -9861,17 +9891,16 @@ class FormStore {
|
|
|
9861
9891
|
});
|
|
9862
9892
|
return fieldsValue;
|
|
9863
9893
|
};
|
|
9864
|
-
this.setInitialValues = (
|
|
9894
|
+
this.setInitialValues = (initialValues, init) => {
|
|
9895
|
+
this.initialValues = initialValues || {};
|
|
9865
9896
|
if (init) {
|
|
9866
|
-
|
|
9867
|
-
this.
|
|
9897
|
+
const nextStore = merge(initialValues, this.store);
|
|
9898
|
+
this.updateStore(nextStore);
|
|
9868
9899
|
}
|
|
9869
9900
|
};
|
|
9870
|
-
this.setFieldsValue = (newStore
|
|
9871
|
-
this.store
|
|
9872
|
-
|
|
9873
|
-
...newStore
|
|
9874
|
-
};
|
|
9901
|
+
this.setFieldsValue = (newStore) => {
|
|
9902
|
+
const nextStore = merge(this.store, newStore);
|
|
9903
|
+
this.updateStore(nextStore);
|
|
9875
9904
|
this.fieldEntities.forEach((entity) => {
|
|
9876
9905
|
const { name } = entity.props;
|
|
9877
9906
|
Object.keys(newStore).forEach((key) => {
|
|
@@ -9889,7 +9918,12 @@ class FormStore {
|
|
|
9889
9918
|
item.entity.onStoreChange("update");
|
|
9890
9919
|
}
|
|
9891
9920
|
});
|
|
9892
|
-
|
|
9921
|
+
};
|
|
9922
|
+
this.setFieldValue = (name, value) => {
|
|
9923
|
+
const store = {
|
|
9924
|
+
[name]: value
|
|
9925
|
+
};
|
|
9926
|
+
this.setFieldsValue(store);
|
|
9893
9927
|
};
|
|
9894
9928
|
this.setCallback = (callback) => {
|
|
9895
9929
|
this.callbacks = {
|
|
@@ -9900,6 +9934,10 @@ class FormStore {
|
|
|
9900
9934
|
this.validateEntities = async (entity, errs) => {
|
|
9901
9935
|
var _a;
|
|
9902
9936
|
const { name, rules: rules2 = [] } = entity.props;
|
|
9937
|
+
if (!name) {
|
|
9938
|
+
console.warn("Form field missing name property");
|
|
9939
|
+
return;
|
|
9940
|
+
}
|
|
9903
9941
|
const descriptor = {};
|
|
9904
9942
|
if (rules2.length) {
|
|
9905
9943
|
if (rules2.length > 1) {
|
|
@@ -9955,7 +9993,8 @@ class FormStore {
|
|
|
9955
9993
|
};
|
|
9956
9994
|
this.resetFields = () => {
|
|
9957
9995
|
this.errors.length = 0;
|
|
9958
|
-
|
|
9996
|
+
const nextStore = merge({}, this.initialValues);
|
|
9997
|
+
this.updateStore(nextStore);
|
|
9959
9998
|
this.fieldEntities.forEach((entity) => {
|
|
9960
9999
|
entity.onStoreChange("reset");
|
|
9961
10000
|
});
|
|
@@ -9990,6 +10029,7 @@ class FormStore {
|
|
|
9990
10029
|
getFieldValue: this.getFieldValue,
|
|
9991
10030
|
getFieldsValue: this.getFieldsValue,
|
|
9992
10031
|
setFieldsValue: this.setFieldsValue,
|
|
10032
|
+
setFieldValue: this.setFieldValue,
|
|
9993
10033
|
resetFields: this.resetFields,
|
|
9994
10034
|
validateFields: this.validateFields,
|
|
9995
10035
|
submit: this.submit,
|
|
@@ -10004,6 +10044,9 @@ class FormStore {
|
|
|
10004
10044
|
}
|
|
10005
10045
|
};
|
|
10006
10046
|
}
|
|
10047
|
+
updateStore(nextStore) {
|
|
10048
|
+
this.store = nextStore;
|
|
10049
|
+
}
|
|
10007
10050
|
}
|
|
10008
10051
|
const useForm = (form) => {
|
|
10009
10052
|
const formRef = useRef();
|
|
@@ -10021,7 +10064,9 @@ const defaultProps$Y = {
|
|
|
10021
10064
|
...ComponentDefaults,
|
|
10022
10065
|
labelPosition: "right",
|
|
10023
10066
|
starPosition: "left",
|
|
10067
|
+
disabled: false,
|
|
10024
10068
|
divider: false,
|
|
10069
|
+
validateTrigger: "onChange",
|
|
10025
10070
|
onFinish: (values) => {
|
|
10026
10071
|
},
|
|
10027
10072
|
onFinishFailed: (values, errorFields) => {
|
|
@@ -10042,8 +10087,10 @@ const Form = React__default.forwardRef(
|
|
|
10042
10087
|
children,
|
|
10043
10088
|
initialValues,
|
|
10044
10089
|
divider,
|
|
10090
|
+
disabled,
|
|
10045
10091
|
onFinish,
|
|
10046
10092
|
onFinishFailed,
|
|
10093
|
+
validateTrigger,
|
|
10047
10094
|
labelPosition,
|
|
10048
10095
|
starPosition,
|
|
10049
10096
|
form
|
|
@@ -10071,7 +10118,7 @@ const Form = React__default.forwardRef(
|
|
|
10071
10118
|
mountRef.current = true;
|
|
10072
10119
|
}
|
|
10073
10120
|
return /* @__PURE__ */ React__default.createElement(
|
|
10074
|
-
|
|
10121
|
+
Form$1,
|
|
10075
10122
|
{
|
|
10076
10123
|
className: classNames(
|
|
10077
10124
|
classPrefix2,
|
|
@@ -10090,7 +10137,13 @@ const Form = React__default.forwardRef(
|
|
|
10090
10137
|
resetFields();
|
|
10091
10138
|
}
|
|
10092
10139
|
},
|
|
10093
|
-
/* @__PURE__ */ React__default.createElement(Cell.Group, { divider }, /* @__PURE__ */ React__default.createElement(
|
|
10140
|
+
/* @__PURE__ */ React__default.createElement(Cell.Group, { divider }, /* @__PURE__ */ React__default.createElement(
|
|
10141
|
+
Context.Provider,
|
|
10142
|
+
{
|
|
10143
|
+
value: { formInstance, labelPosition, disabled, validateTrigger }
|
|
10144
|
+
},
|
|
10145
|
+
children
|
|
10146
|
+
), footer ? /* @__PURE__ */ React__default.createElement(Cell, { className: `${classPrefix2}-footer` }, footer) : null)
|
|
10094
10147
|
);
|
|
10095
10148
|
}
|
|
10096
10149
|
);
|
|
@@ -10104,6 +10157,12 @@ function isForwardRefComponent(component) {
|
|
|
10104
10157
|
}
|
|
10105
10158
|
).$$typeof === component.type.$$typeof;
|
|
10106
10159
|
}
|
|
10160
|
+
function toArray(value) {
|
|
10161
|
+
if (value === void 0 || value === null) {
|
|
10162
|
+
return [];
|
|
10163
|
+
}
|
|
10164
|
+
return Array.isArray(value) ? value : [value];
|
|
10165
|
+
}
|
|
10107
10166
|
const defaultProps$X = {
|
|
10108
10167
|
...ComponentDefaults,
|
|
10109
10168
|
required: false,
|
|
@@ -10111,7 +10170,6 @@ const defaultProps$X = {
|
|
|
10111
10170
|
label: "",
|
|
10112
10171
|
rules: [{ required: false, message: "" }],
|
|
10113
10172
|
errorMessageAlign: "left",
|
|
10114
|
-
validateTrigger: "onChange",
|
|
10115
10173
|
shouldUpdate: false,
|
|
10116
10174
|
noStyle: false
|
|
10117
10175
|
};
|
|
@@ -10120,15 +10178,21 @@ const _FormItem = class _FormItem extends React__default.Component {
|
|
|
10120
10178
|
super(props);
|
|
10121
10179
|
this.getControlled = (children) => {
|
|
10122
10180
|
var _a;
|
|
10123
|
-
const { setFieldsValue, getFieldValue } = this.context;
|
|
10124
|
-
const { dispatch } = this.context.getInternal(SECRET);
|
|
10181
|
+
const { setFieldsValue, getFieldValue } = this.context.formInstance;
|
|
10182
|
+
const { dispatch } = this.context.formInstance.getInternal(SECRET);
|
|
10125
10183
|
const { name = "" } = this.props;
|
|
10126
10184
|
if ((_a = children == null ? void 0 : children.props) == null ? void 0 : _a.defaultValue) {
|
|
10127
|
-
|
|
10185
|
+
if (process.env.NODE_ENV !== "production") {
|
|
10186
|
+
console.warn(
|
|
10187
|
+
"[NutUI] FormItem:",
|
|
10188
|
+
"请通过 initialValue 设置初始值,而不是 defaultValue"
|
|
10189
|
+
);
|
|
10190
|
+
}
|
|
10128
10191
|
}
|
|
10129
10192
|
const fieldValue = getFieldValue(name);
|
|
10130
10193
|
const controlled = {
|
|
10131
10194
|
...children.props,
|
|
10195
|
+
className: children.props.className,
|
|
10132
10196
|
[this.props.valuePropName || "value"]: fieldValue !== void 0 ? fieldValue : this.props.initialValue,
|
|
10133
10197
|
[this.props.trigger || "onChange"]: (...args) => {
|
|
10134
10198
|
const originOnChange = children.props[this.props.trigger || "onChange"];
|
|
@@ -10139,27 +10203,25 @@ const _FormItem = class _FormItem extends React__default.Component {
|
|
|
10139
10203
|
if (this.props.getValueFromEvent) {
|
|
10140
10204
|
next = this.props.getValueFromEvent(...args);
|
|
10141
10205
|
}
|
|
10142
|
-
setFieldsValue({ [name]: next }
|
|
10206
|
+
setFieldsValue({ [name]: next });
|
|
10143
10207
|
}
|
|
10144
10208
|
};
|
|
10145
10209
|
const { validateTrigger } = this.props;
|
|
10146
|
-
|
|
10147
|
-
|
|
10148
|
-
|
|
10149
|
-
|
|
10150
|
-
|
|
10151
|
-
|
|
10152
|
-
|
|
10153
|
-
|
|
10154
|
-
|
|
10155
|
-
|
|
10156
|
-
|
|
10157
|
-
|
|
10158
|
-
|
|
10159
|
-
|
|
10160
|
-
|
|
10161
|
-
});
|
|
10162
|
-
}
|
|
10210
|
+
const mergedValidateTrigger = validateTrigger || this.context.validateTrigger;
|
|
10211
|
+
const validateTriggers = toArray(mergedValidateTrigger);
|
|
10212
|
+
validateTriggers.forEach((trigger) => {
|
|
10213
|
+
const originTrigger = controlled[trigger];
|
|
10214
|
+
controlled[trigger] = (...args) => {
|
|
10215
|
+
if (originTrigger) {
|
|
10216
|
+
originTrigger(...args);
|
|
10217
|
+
}
|
|
10218
|
+
if (this.props.rules && this.props.rules.length) {
|
|
10219
|
+
dispatch({
|
|
10220
|
+
name: this.props.name
|
|
10221
|
+
});
|
|
10222
|
+
}
|
|
10223
|
+
};
|
|
10224
|
+
});
|
|
10163
10225
|
if (isForwardRefComponent(children)) {
|
|
10164
10226
|
controlled.ref = (componentInstance) => {
|
|
10165
10227
|
const originRef = children.ref;
|
|
@@ -10183,7 +10245,7 @@ const _FormItem = class _FormItem extends React__default.Component {
|
|
|
10183
10245
|
};
|
|
10184
10246
|
this.onStoreChange = (type4) => {
|
|
10185
10247
|
if (type4 === "reset") {
|
|
10186
|
-
this.context.errors[this.props.name] = [];
|
|
10248
|
+
this.context.formInstance.errors[this.props.name] = [];
|
|
10187
10249
|
this.refresh();
|
|
10188
10250
|
} else {
|
|
10189
10251
|
this.forceUpdate();
|
|
@@ -10198,37 +10260,50 @@ const _FormItem = class _FormItem extends React__default.Component {
|
|
|
10198
10260
|
rules: rules2,
|
|
10199
10261
|
className,
|
|
10200
10262
|
style,
|
|
10201
|
-
|
|
10202
|
-
|
|
10263
|
+
errorMessageAlign,
|
|
10264
|
+
align
|
|
10203
10265
|
} = {
|
|
10204
10266
|
...defaultProps$X,
|
|
10205
10267
|
...this.props
|
|
10206
10268
|
};
|
|
10207
10269
|
const requiredInRules = rules2 == null ? void 0 : rules2.some((rule) => rule.required);
|
|
10208
|
-
const item = name ? this.context.errors[name] : [];
|
|
10209
|
-
const { starPosition } = this.context;
|
|
10210
|
-
const renderStar = (required4 || requiredInRules) && /* @__PURE__ */ React__default.createElement(
|
|
10211
|
-
const renderLabel = /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, starPosition === "left" ? renderStar : null, label, starPosition === "right" ? renderStar : null);
|
|
10270
|
+
const item = name ? this.context.formInstance.errors[name] : [];
|
|
10271
|
+
const { starPosition } = this.context.formInstance;
|
|
10272
|
+
const renderStar = (required4 || requiredInRules) && /* @__PURE__ */ React__default.createElement(Text, { className: "nut-form-item-label-required required" }, "*");
|
|
10273
|
+
const renderLabel = /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(Text, { className: "nut-form-item-labeltxt" }, starPosition === "left" ? renderStar : null, label), starPosition === "right" ? renderStar : null);
|
|
10212
10274
|
return /* @__PURE__ */ React__default.createElement(
|
|
10213
10275
|
Cell,
|
|
10214
10276
|
{
|
|
10215
|
-
className:
|
|
10277
|
+
className: `${this.getClassNameWithDirection("nut-form-item")} ${className}`,
|
|
10216
10278
|
style,
|
|
10217
10279
|
align,
|
|
10218
10280
|
onClick: (e2) => this.props.onClick && this.props.onClick(e2, this.componentRef)
|
|
10219
10281
|
},
|
|
10220
|
-
label ? /* @__PURE__ */ React__default.createElement(
|
|
10221
|
-
|
|
10222
|
-
"div",
|
|
10282
|
+
label ? /* @__PURE__ */ React__default.createElement(
|
|
10283
|
+
View,
|
|
10223
10284
|
{
|
|
10224
|
-
className: "nut-form-item-
|
|
10225
|
-
|
|
10226
|
-
|
|
10227
|
-
|
|
10228
|
-
|
|
10285
|
+
className: `nut-cell-title ${this.getClassNameWithDirection("nut-form-item-label")}`
|
|
10286
|
+
},
|
|
10287
|
+
renderLabel
|
|
10288
|
+
) : null,
|
|
10289
|
+
/* @__PURE__ */ React__default.createElement(
|
|
10290
|
+
View,
|
|
10291
|
+
{
|
|
10292
|
+
className: `nut-cell-value ${this.getClassNameWithDirection("nut-form-item-body")}`
|
|
10229
10293
|
},
|
|
10230
|
-
|
|
10231
|
-
|
|
10294
|
+
/* @__PURE__ */ React__default.createElement(View, { className: "nut-form-item-body-slots" }, childNode),
|
|
10295
|
+
/* @__PURE__ */ React__default.createElement(
|
|
10296
|
+
View,
|
|
10297
|
+
{
|
|
10298
|
+
className: "nut-form-item-body-tips",
|
|
10299
|
+
style: {
|
|
10300
|
+
textAlign: errorMessageAlign,
|
|
10301
|
+
display: (item == null ? void 0 : item.length) ? "initial" : "none"
|
|
10302
|
+
}
|
|
10303
|
+
},
|
|
10304
|
+
(_a = item == null ? void 0 : item[0]) == null ? void 0 : _a.message
|
|
10305
|
+
)
|
|
10306
|
+
)
|
|
10232
10307
|
);
|
|
10233
10308
|
};
|
|
10234
10309
|
this.componentRef = React__default.createRef();
|
|
@@ -10237,14 +10312,14 @@ const _FormItem = class _FormItem extends React__default.Component {
|
|
|
10237
10312
|
};
|
|
10238
10313
|
}
|
|
10239
10314
|
componentDidMount() {
|
|
10240
|
-
const { store = {}, setInitialValues } = this.context.getInternal(SECRET);
|
|
10315
|
+
const { store = {}, setInitialValues } = this.context.formInstance.getInternal(SECRET);
|
|
10241
10316
|
if (this.props.initialValue && this.props.name && !Object.keys(store).includes(this.props.name)) {
|
|
10242
10317
|
setInitialValues(
|
|
10243
10318
|
{ ...store, [this.props.name]: this.props.initialValue },
|
|
10244
10319
|
true
|
|
10245
10320
|
);
|
|
10246
10321
|
}
|
|
10247
|
-
const { registerField, registerUpdate } = this.context.getInternal(SECRET);
|
|
10322
|
+
const { registerField, registerUpdate } = this.context.formInstance.getInternal(SECRET);
|
|
10248
10323
|
this.cancelRegister = registerField(this);
|
|
10249
10324
|
this.eventOff = registerUpdate(this, this.props.shouldUpdate);
|
|
10250
10325
|
}
|
|
@@ -10256,6 +10331,12 @@ const _FormItem = class _FormItem extends React__default.Component {
|
|
|
10256
10331
|
this.eventOff();
|
|
10257
10332
|
}
|
|
10258
10333
|
}
|
|
10334
|
+
getClassNameWithDirection(className) {
|
|
10335
|
+
if (className && this.context.labelPosition) {
|
|
10336
|
+
return `${className} ${className}-${this.context.labelPosition}`;
|
|
10337
|
+
}
|
|
10338
|
+
return className;
|
|
10339
|
+
}
|
|
10259
10340
|
render() {
|
|
10260
10341
|
const { children } = this.props;
|
|
10261
10342
|
const child = Array.isArray(children) ? children[0] : children;
|
|
@@ -10266,9 +10347,16 @@ const _FormItem = class _FormItem extends React__default.Component {
|
|
|
10266
10347
|
this.getControlled(child)
|
|
10267
10348
|
);
|
|
10268
10349
|
} else {
|
|
10269
|
-
returnChildNode = child(this.context);
|
|
10350
|
+
returnChildNode = child(this.context.formInstance);
|
|
10270
10351
|
}
|
|
10271
|
-
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, { key: this.state.resetCount },
|
|
10352
|
+
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, { key: this.state.resetCount }, /* @__PURE__ */ React__default.createElement(
|
|
10353
|
+
View,
|
|
10354
|
+
{
|
|
10355
|
+
className: this.context.disabled ? "nut-form-item-disabled" : "",
|
|
10356
|
+
catchMove: this.context.disabled
|
|
10357
|
+
},
|
|
10358
|
+
this.props.noStyle ? returnChildNode : this.renderLayout(returnChildNode)
|
|
10359
|
+
));
|
|
10272
10360
|
}
|
|
10273
10361
|
};
|
|
10274
10362
|
_FormItem.defaultProps = defaultProps$X;
|
|
@@ -12416,7 +12504,6 @@ const defaultProps$J = {
|
|
|
12416
12504
|
defaultValue: "",
|
|
12417
12505
|
showCount: false,
|
|
12418
12506
|
maxLength: 140,
|
|
12419
|
-
placeholder: "",
|
|
12420
12507
|
readOnly: false,
|
|
12421
12508
|
disabled: false,
|
|
12422
12509
|
autoSize: false
|
|
@@ -12508,7 +12595,7 @@ const TextArea = (props) => {
|
|
|
12508
12595
|
onFocus: (e2) => handleFocus(e2),
|
|
12509
12596
|
autoHeight: autoSize,
|
|
12510
12597
|
maxlength: maxLength,
|
|
12511
|
-
placeholder: placeholder
|
|
12598
|
+
placeholder: placeholder === void 0 ? locale.placeholder : placeholder,
|
|
12512
12599
|
...rest
|
|
12513
12600
|
}
|
|
12514
12601
|
),
|
|
@@ -13151,6 +13238,7 @@ const InternalUploader = (props, ref) => {
|
|
|
13151
13238
|
}
|
|
13152
13239
|
};
|
|
13153
13240
|
const readFile = (files) => {
|
|
13241
|
+
const results = [];
|
|
13154
13242
|
files.forEach((file, index) => {
|
|
13155
13243
|
var _a, _b;
|
|
13156
13244
|
let fileType = file.type;
|
|
@@ -13186,8 +13274,9 @@ const InternalUploader = (props, ref) => {
|
|
|
13186
13274
|
fileItem.url = fileType === "video" ? file.thumbTempFilePath : filepath;
|
|
13187
13275
|
}
|
|
13188
13276
|
executeUpload(fileItem, index);
|
|
13189
|
-
|
|
13277
|
+
results.push(fileItem);
|
|
13190
13278
|
});
|
|
13279
|
+
setFileList([...fileList, ...results]);
|
|
13191
13280
|
};
|
|
13192
13281
|
const filterFiles = (files) => {
|
|
13193
13282
|
const maximum = maxCount * 1;
|