funda-ui 4.5.585 → 4.5.611

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/File/index.d.ts CHANGED
@@ -15,6 +15,8 @@ export declare type FileProps = {
15
15
  multiple?: boolean;
16
16
  submitLabel?: React.ReactNode | string;
17
17
  submitClassName?: string;
18
+ progressLabel?: React.ReactNode | string;
19
+ progressClassName?: string;
18
20
  value?: string;
19
21
  requiredLabel?: React.ReactNode | string;
20
22
  label?: React.ReactNode | string;
package/File/index.js CHANGED
@@ -1245,7 +1245,7 @@ __webpack_require__.r(__webpack_exports__);
1245
1245
  /* harmony import */ var funda_utils_dist_cjs_buffer__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(funda_utils_dist_cjs_buffer__WEBPACK_IMPORTED_MODULE_2__);
1246
1246
  /* harmony import */ var funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(188);
1247
1247
  /* harmony import */ var funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3__);
1248
- var _excluded = ["contentRef", "wrapperClassName", "controlClassName", "controlExClassName", "labelClassName", "labelHoverClassName", "accept", "inline", "autoSubmit", "fetchUrl", "fetchMethod", "fetchParams", "multiple", "submitLabel", "submitClassName", "disabled", "required", "value", "requiredLabel", "label", "name", "id", "data", "tabIndex", "fetchFuncAsync", "fetchFuncMethod", "fetchFuncMethodParams", "onChange", "onComplete", "onProgress"];
1248
+ var _excluded = ["contentRef", "wrapperClassName", "controlClassName", "controlExClassName", "labelClassName", "labelHoverClassName", "accept", "inline", "autoSubmit", "fetchUrl", "fetchMethod", "fetchParams", "multiple", "submitLabel", "submitClassName", "progressLabel", "progressClassName", "disabled", "required", "value", "requiredLabel", "label", "name", "id", "data", "tabIndex", "fetchFuncAsync", "fetchFuncMethod", "fetchFuncMethodParams", "onChange", "onComplete", "onProgress"];
1249
1249
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1250
1250
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1251
1251
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -1289,6 +1289,8 @@ var File = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(functi
1289
1289
  multiple = props.multiple,
1290
1290
  submitLabel = props.submitLabel,
1291
1291
  submitClassName = props.submitClassName,
1292
+ progressLabel = props.progressLabel,
1293
+ progressClassName = props.progressClassName,
1292
1294
  disabled = props.disabled,
1293
1295
  required = props.required,
1294
1296
  value = props.value,
@@ -1323,6 +1325,10 @@ var File = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(functi
1323
1325
  _useState6 = _slicedToArray(_useState5, 2),
1324
1326
  incomingData = _useState6[0],
1325
1327
  setIncomingData = _useState6[1];
1328
+ var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
1329
+ _useState8 = _slicedToArray(_useState7, 2),
1330
+ progressing = _useState8[0],
1331
+ setProgressing = _useState8[1];
1326
1332
 
1327
1333
  // exposes the following methods
1328
1334
  (0,react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle)(contentRef, function () {
@@ -1448,6 +1454,7 @@ var File = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(functi
1448
1454
  // interceptor
1449
1455
  //----------------------------------------------------------------
1450
1456
  if (interceptRequests === false) return;
1457
+ setProgressing(true);
1451
1458
  if (fetchUrl) {
1452
1459
  var formData = new FormData();
1453
1460
  formData.append('action', 'upload_plug_action');
@@ -1461,6 +1468,7 @@ var File = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(functi
1461
1468
  }).then(function (response) {
1462
1469
  var jsonData = response.data;
1463
1470
  onComplete === null || onComplete === void 0 ? void 0 : onComplete(fileInputRef.current, submitRef.current, jsonData, incomingData);
1471
+ setProgressing(false);
1464
1472
 
1465
1473
  // update default value
1466
1474
  resetDefaultVal();
@@ -1528,6 +1536,7 @@ var File = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(functi
1528
1536
  var _params = fetchFuncMethodParams || [];
1529
1537
  fetchData(_params.join(','), values).then(function (res) {
1530
1538
  onComplete === null || onComplete === void 0 ? void 0 : onComplete(fileInputRef.current, submitRef.current, res, incomingData);
1539
+ setProgressing(false);
1531
1540
 
1532
1541
  // update default value
1533
1542
  resetDefaultVal();
@@ -1577,6 +1586,7 @@ var File = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(functi
1577
1586
  uint8ArrayData: uint8ArrayData
1578
1587
  };
1579
1588
  onComplete === null || onComplete === void 0 ? void 0 : onComplete(fileInputRef.current, submitRef.current, jsonData, incomingData);
1589
+ setProgressing(false);
1580
1590
 
1581
1591
  // update default value
1582
1592
  resetDefaultVal();
@@ -1714,14 +1724,21 @@ var File = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(functi
1714
1724
  className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3__.combinedCls)('upload-control-group__btn', {
1715
1725
  'd-none': autoSubmit
1716
1726
  })
1717
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
1727
+ }, progressing ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
1728
+ ref: submitRef,
1729
+ className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3__.combinedCls)((0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3__.clsWrite)(progressClassName, (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3__.clsWrite)(submitClassName, 'btn btn-primary mt-2')), {
1730
+ 'disabled': disabled
1731
+ }),
1732
+ type: "button",
1733
+ onClick: handleSubmit
1734
+ }, progressLabel ? progressLabel : submitLabel)) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
1718
1735
  ref: submitRef,
1719
1736
  className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3__.combinedCls)((0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3__.clsWrite)(submitClassName, 'btn btn-primary mt-2'), {
1720
1737
  'disabled': disabled
1721
1738
  }),
1722
1739
  type: "button",
1723
1740
  onClick: handleSubmit
1724
- }, submitLabel ? submitLabel : null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1741
+ }, submitLabel ? submitLabel : null)))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1725
1742
  className: "pload-control-result"
1726
1743
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("small", null, typeof defaultValue !== 'undefined' ? fileNames() : null, defaultValue))));
1727
1744
  });
@@ -15,6 +15,8 @@ export declare type FileProps = {
15
15
  multiple?: boolean;
16
16
  submitLabel?: React.ReactNode | string;
17
17
  submitClassName?: string;
18
+ progressLabel?: React.ReactNode | string;
19
+ progressClassName?: string;
18
20
  value?: string;
19
21
  requiredLabel?: React.ReactNode | string;
20
22
  label?: React.ReactNode | string;
@@ -1245,7 +1245,7 @@ __webpack_require__.r(__webpack_exports__);
1245
1245
  /* harmony import */ var funda_utils_dist_cjs_buffer__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(funda_utils_dist_cjs_buffer__WEBPACK_IMPORTED_MODULE_2__);
1246
1246
  /* harmony import */ var funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(188);
1247
1247
  /* harmony import */ var funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3__);
1248
- var _excluded = ["contentRef", "wrapperClassName", "controlClassName", "controlExClassName", "labelClassName", "labelHoverClassName", "accept", "inline", "autoSubmit", "fetchUrl", "fetchMethod", "fetchParams", "multiple", "submitLabel", "submitClassName", "disabled", "required", "value", "requiredLabel", "label", "name", "id", "data", "tabIndex", "fetchFuncAsync", "fetchFuncMethod", "fetchFuncMethodParams", "onChange", "onComplete", "onProgress"];
1248
+ var _excluded = ["contentRef", "wrapperClassName", "controlClassName", "controlExClassName", "labelClassName", "labelHoverClassName", "accept", "inline", "autoSubmit", "fetchUrl", "fetchMethod", "fetchParams", "multiple", "submitLabel", "submitClassName", "progressLabel", "progressClassName", "disabled", "required", "value", "requiredLabel", "label", "name", "id", "data", "tabIndex", "fetchFuncAsync", "fetchFuncMethod", "fetchFuncMethodParams", "onChange", "onComplete", "onProgress"];
1249
1249
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1250
1250
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1251
1251
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -1289,6 +1289,8 @@ var File = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(functi
1289
1289
  multiple = props.multiple,
1290
1290
  submitLabel = props.submitLabel,
1291
1291
  submitClassName = props.submitClassName,
1292
+ progressLabel = props.progressLabel,
1293
+ progressClassName = props.progressClassName,
1292
1294
  disabled = props.disabled,
1293
1295
  required = props.required,
1294
1296
  value = props.value,
@@ -1323,6 +1325,10 @@ var File = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(functi
1323
1325
  _useState6 = _slicedToArray(_useState5, 2),
1324
1326
  incomingData = _useState6[0],
1325
1327
  setIncomingData = _useState6[1];
1328
+ var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
1329
+ _useState8 = _slicedToArray(_useState7, 2),
1330
+ progressing = _useState8[0],
1331
+ setProgressing = _useState8[1];
1326
1332
 
1327
1333
  // exposes the following methods
1328
1334
  (0,react__WEBPACK_IMPORTED_MODULE_0__.useImperativeHandle)(contentRef, function () {
@@ -1448,6 +1454,7 @@ var File = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(functi
1448
1454
  // interceptor
1449
1455
  //----------------------------------------------------------------
1450
1456
  if (interceptRequests === false) return;
1457
+ setProgressing(true);
1451
1458
  if (fetchUrl) {
1452
1459
  var formData = new FormData();
1453
1460
  formData.append('action', 'upload_plug_action');
@@ -1461,6 +1468,7 @@ var File = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(functi
1461
1468
  }).then(function (response) {
1462
1469
  var jsonData = response.data;
1463
1470
  onComplete === null || onComplete === void 0 ? void 0 : onComplete(fileInputRef.current, submitRef.current, jsonData, incomingData);
1471
+ setProgressing(false);
1464
1472
 
1465
1473
  // update default value
1466
1474
  resetDefaultVal();
@@ -1528,6 +1536,7 @@ var File = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(functi
1528
1536
  var _params = fetchFuncMethodParams || [];
1529
1537
  fetchData(_params.join(','), values).then(function (res) {
1530
1538
  onComplete === null || onComplete === void 0 ? void 0 : onComplete(fileInputRef.current, submitRef.current, res, incomingData);
1539
+ setProgressing(false);
1531
1540
 
1532
1541
  // update default value
1533
1542
  resetDefaultVal();
@@ -1577,6 +1586,7 @@ var File = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(functi
1577
1586
  uint8ArrayData: uint8ArrayData
1578
1587
  };
1579
1588
  onComplete === null || onComplete === void 0 ? void 0 : onComplete(fileInputRef.current, submitRef.current, jsonData, incomingData);
1589
+ setProgressing(false);
1580
1590
 
1581
1591
  // update default value
1582
1592
  resetDefaultVal();
@@ -1714,14 +1724,21 @@ var File = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(functi
1714
1724
  className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3__.combinedCls)('upload-control-group__btn', {
1715
1725
  'd-none': autoSubmit
1716
1726
  })
1717
- }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
1727
+ }, progressing ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
1728
+ ref: submitRef,
1729
+ className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3__.combinedCls)((0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3__.clsWrite)(progressClassName, (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3__.clsWrite)(submitClassName, 'btn btn-primary mt-2')), {
1730
+ 'disabled': disabled
1731
+ }),
1732
+ type: "button",
1733
+ onClick: handleSubmit
1734
+ }, progressLabel ? progressLabel : submitLabel)) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
1718
1735
  ref: submitRef,
1719
1736
  className: (0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3__.combinedCls)((0,funda_utils_dist_cjs_cls__WEBPACK_IMPORTED_MODULE_3__.clsWrite)(submitClassName, 'btn btn-primary mt-2'), {
1720
1737
  'disabled': disabled
1721
1738
  }),
1722
1739
  type: "button",
1723
1740
  onClick: handleSubmit
1724
- }, submitLabel ? submitLabel : null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1741
+ }, submitLabel ? submitLabel : null)))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
1725
1742
  className: "pload-control-result"
1726
1743
  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("small", null, typeof defaultValue !== 'undefined' ? fileNames() : null, defaultValue))));
1727
1744
  });
@@ -24,6 +24,8 @@ export type FileProps = {
24
24
  multiple?: boolean;
25
25
  submitLabel?: React.ReactNode | string;
26
26
  submitClassName?: string;
27
+ progressLabel?: React.ReactNode | string;
28
+ progressClassName?: string;
27
29
  value?: string;
28
30
  requiredLabel?: React.ReactNode | string;
29
31
  label?: React.ReactNode | string;
@@ -63,6 +65,8 @@ const File = forwardRef((props: FileProps, externalRef: any) => {
63
65
  multiple,
64
66
  submitLabel,
65
67
  submitClassName,
68
+ progressLabel,
69
+ progressClassName,
66
70
  disabled,
67
71
  required,
68
72
  value,
@@ -92,6 +96,8 @@ const File = forwardRef((props: FileProps, externalRef: any) => {
92
96
  const [defaultValue, setDefaultValue] = useState<any>(null);
93
97
  const [incomingData, setIncomingData] = useState<string | null | undefined>(null);
94
98
 
99
+ const [progressing, setProgressing] = useState<boolean>(false);
100
+
95
101
 
96
102
  // exposes the following methods
97
103
  useImperativeHandle(
@@ -177,11 +183,14 @@ const File = forwardRef((props: FileProps, externalRef: any) => {
177
183
  const curFiles = fileInputRef.current.files;
178
184
 
179
185
  const interceptRequests: any = onProgress?.(curFiles, fileInputRef.current, submitRef.current);
186
+
180
187
 
181
188
  // interceptor
182
189
  //----------------------------------------------------------------
183
190
  if (interceptRequests === false) return;
184
191
 
192
+ setProgressing(true);
193
+
185
194
 
186
195
  if (fetchUrl) {
187
196
 
@@ -197,6 +206,7 @@ const File = forwardRef((props: FileProps, externalRef: any) => {
197
206
  }).then(function (response: any) {
198
207
  const jsonData = response.data;
199
208
  onComplete?.(fileInputRef.current, submitRef.current, jsonData, incomingData);
209
+ setProgressing(false);
200
210
 
201
211
  // update default value
202
212
  resetDefaultVal();
@@ -233,6 +243,7 @@ const File = forwardRef((props: FileProps, externalRef: any) => {
233
243
  const _params: any[] = fetchFuncMethodParams || [];
234
244
  fetchData((_params).join(','), values).then((res: any) => {
235
245
  onComplete?.(fileInputRef.current, submitRef.current, res, incomingData);
246
+ setProgressing(false);
236
247
 
237
248
  // update default value
238
249
  resetDefaultVal();
@@ -280,6 +291,7 @@ const File = forwardRef((props: FileProps, externalRef: any) => {
280
291
  uint8ArrayData
281
292
  };
282
293
  onComplete?.(fileInputRef.current, submitRef.current, jsonData, incomingData);
294
+ setProgressing(false);
283
295
 
284
296
  // update default value
285
297
  resetDefaultVal();
@@ -422,12 +434,22 @@ const File = forwardRef((props: FileProps, externalRef: any) => {
422
434
  }
423
435
  )}>
424
436
  {/* BUTTON */}
425
- <button ref={submitRef} className={combinedCls(
426
- clsWrite(submitClassName, 'btn btn-primary mt-2'),
427
- {
428
- 'disabled': disabled
429
- }
430
- )} type="button" onClick={handleSubmit}>{submitLabel ? submitLabel : null}</button>
437
+ {progressing ? <>
438
+ <button ref={submitRef} className={combinedCls(
439
+ clsWrite(progressClassName, clsWrite(submitClassName, 'btn btn-primary mt-2')),
440
+ {
441
+ 'disabled': disabled
442
+ }
443
+ )} type="button" onClick={handleSubmit}>{progressLabel ? progressLabel : submitLabel}</button>
444
+ </> : <>
445
+ <button ref={submitRef} className={combinedCls(
446
+ clsWrite(submitClassName, 'btn btn-primary mt-2'),
447
+ {
448
+ 'disabled': disabled
449
+ }
450
+ )} type="button" onClick={handleSubmit}>{submitLabel ? submitLabel : null}</button>
451
+ </>}
452
+
431
453
  {/* BUTTON */}
432
454
  </div>
433
455
  </div>
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "author": "UIUX Lab",
3
3
  "email": "uiuxlab@gmail.com",
4
4
  "name": "funda-ui",
5
- "version": "4.5.585",
5
+ "version": "4.5.611",
6
6
  "description": "React components using pure Bootstrap 5+ which does not contain any external style and script libraries.",
7
7
  "repository": {
8
8
  "type": "git",