@reactuses/core 5.0.12 → 5.0.13

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/dist/index.cjs CHANGED
@@ -132,7 +132,7 @@ const useMountedState = ()=>{
132
132
  return get;
133
133
  };
134
134
 
135
- function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {
135
+ function asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, key, arg) {
136
136
  try {
137
137
  var info = gen[key](arg);
138
138
  var value = info.value;
@@ -146,16 +146,16 @@ function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {
146
146
  Promise.resolve(value).then(_next, _throw);
147
147
  }
148
148
  }
149
- function _async_to_generator$5(fn) {
149
+ function _async_to_generator$6(fn) {
150
150
  return function() {
151
151
  var self = this, args = arguments;
152
152
  return new Promise(function(resolve, reject) {
153
153
  var gen = fn.apply(self, args);
154
154
  function _next(value) {
155
- asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, "next", value);
155
+ asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, "next", value);
156
156
  }
157
157
  function _throw(err) {
158
- asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, "throw", err);
158
+ asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, "throw", err);
159
159
  }
160
160
  _next(undefined);
161
161
  });
@@ -164,7 +164,7 @@ function _async_to_generator$5(fn) {
164
164
  const useAsyncEffect = (effect, cleanup = noop, deps)=>{
165
165
  const mounted = useMountedState();
166
166
  React.useEffect(()=>{
167
- const execute = /*#__PURE__*/ _async_to_generator$5(function*() {
167
+ const execute = /*#__PURE__*/ _async_to_generator$6(function*() {
168
168
  if (!mounted()) {
169
169
  return;
170
170
  }
@@ -1158,7 +1158,7 @@ const useSupported = (callback, sync = false)=>{
1158
1158
  return supported;
1159
1159
  };
1160
1160
 
1161
- function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {
1161
+ function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {
1162
1162
  try {
1163
1163
  var info = gen[key](arg);
1164
1164
  var value = info.value;
@@ -1172,16 +1172,16 @@ function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {
1172
1172
  Promise.resolve(value).then(_next, _throw);
1173
1173
  }
1174
1174
  }
1175
- function _async_to_generator$4(fn) {
1175
+ function _async_to_generator$5(fn) {
1176
1176
  return function() {
1177
1177
  var self = this, args = arguments;
1178
1178
  return new Promise(function(resolve, reject) {
1179
1179
  var gen = fn.apply(self, args);
1180
1180
  function _next(value) {
1181
- asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, "next", value);
1181
+ asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, "next", value);
1182
1182
  }
1183
1183
  function _throw(err) {
1184
- asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, "throw", err);
1184
+ asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, "throw", err);
1185
1185
  }
1186
1186
  _next(undefined);
1187
1187
  });
@@ -1189,7 +1189,7 @@ function _async_to_generator$4(fn) {
1189
1189
  }
1190
1190
  const useEyeDropper = ()=>{
1191
1191
  const isSupported = useSupported(()=>typeof window !== "undefined" && "EyeDropper" in window, true);
1192
- const open = React.useCallback(/*#__PURE__*/ _async_to_generator$4(function*(options = {}) {
1192
+ const open = React.useCallback(/*#__PURE__*/ _async_to_generator$5(function*(options = {}) {
1193
1193
  if (!isSupported) {
1194
1194
  return {
1195
1195
  sRGBHex: ""
@@ -1224,6 +1224,35 @@ const useFavicon = (href, baseUrl = "", rel = "icon")=>{
1224
1224
  ]);
1225
1225
  };
1226
1226
 
1227
+ function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {
1228
+ try {
1229
+ var info = gen[key](arg);
1230
+ var value = info.value;
1231
+ } catch (error) {
1232
+ reject(error);
1233
+ return;
1234
+ }
1235
+ if (info.done) {
1236
+ resolve(value);
1237
+ } else {
1238
+ Promise.resolve(value).then(_next, _throw);
1239
+ }
1240
+ }
1241
+ function _async_to_generator$4(fn) {
1242
+ return function() {
1243
+ var self = this, args = arguments;
1244
+ return new Promise(function(resolve, reject) {
1245
+ var gen = fn.apply(self, args);
1246
+ function _next(value) {
1247
+ asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, "next", value);
1248
+ }
1249
+ function _throw(err) {
1250
+ asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, "throw", err);
1251
+ }
1252
+ _next(undefined);
1253
+ });
1254
+ };
1255
+ }
1227
1256
  function _extends$2() {
1228
1257
  _extends$2 = Object.assign || function(target) {
1229
1258
  for(var i = 1; i < arguments.length; i++){
@@ -1245,6 +1274,8 @@ const DEFAULT_OPTIONS = {
1245
1274
  const useFileDialog = (options = defaultOptions$1)=>{
1246
1275
  const [files, setFiles] = React.useState(null);
1247
1276
  const inputRef = React.useRef();
1277
+ const fileOpenPromiseRef = React.useRef(null);
1278
+ const resolveFileOpenPromiseRef = React.useRef();
1248
1279
  const initFn = React.useCallback(()=>{
1249
1280
  if (typeof document === "undefined") {
1250
1281
  return undefined;
@@ -1254,11 +1285,12 @@ const useFileDialog = (options = defaultOptions$1)=>{
1254
1285
  input.onchange = (event)=>{
1255
1286
  const result = event.target;
1256
1287
  setFiles(result.files);
1288
+ resolveFileOpenPromiseRef.current == null ? void 0 : resolveFileOpenPromiseRef.current.call(resolveFileOpenPromiseRef, result.files);
1257
1289
  };
1258
1290
  return input;
1259
1291
  }, []);
1260
1292
  inputRef.current = initFn();
1261
- const open = (localOptions)=>{
1293
+ const open = /*#__PURE__*/ _async_to_generator$4(function*(localOptions) {
1262
1294
  if (!inputRef.current) {
1263
1295
  return;
1264
1296
  }
@@ -1266,10 +1298,15 @@ const useFileDialog = (options = defaultOptions$1)=>{
1266
1298
  inputRef.current.multiple = _options.multiple;
1267
1299
  inputRef.current.accept = _options.accept;
1268
1300
  inputRef.current.capture = _options.capture;
1301
+ fileOpenPromiseRef.current = new Promise((resolve)=>{
1302
+ resolveFileOpenPromiseRef.current = resolve;
1303
+ });
1269
1304
  inputRef.current.click();
1270
- };
1305
+ return fileOpenPromiseRef.current;
1306
+ });
1271
1307
  const reset = ()=>{
1272
1308
  setFiles(null);
1309
+ resolveFileOpenPromiseRef.current == null ? void 0 : resolveFileOpenPromiseRef.current.call(resolveFileOpenPromiseRef, null);
1273
1310
  if (inputRef.current) {
1274
1311
  inputRef.current.value = "";
1275
1312
  }
package/dist/index.d.cts CHANGED
@@ -825,7 +825,7 @@ declare const useFavicon: (href: string, baseUrl?: string, rel?: string) => void
825
825
  */
826
826
  type UseFileDialog = (options?: UseFileDialogOptions) => readonly [
827
827
  FileList | null,
828
- (localOptions?: Partial<UseFileDialogOptions>) => void,
828
+ (localOptions?: Partial<UseFileDialogOptions>) => Promise<FileList | null | undefined>,
829
829
  () => void
830
830
  ];
831
831
  /**
@@ -1334,9 +1334,9 @@ interface UseIntervalOptions {
1334
1334
  */
1335
1335
  immediate?: boolean;
1336
1336
  /**
1337
- * @zh 是否控制执行。
1338
- * @en Whether to control execution.
1339
- */
1337
+ * @zh 是否控制执行。
1338
+ * @en Whether to control execution.
1339
+ */
1340
1340
  controls?: boolean;
1341
1341
  }
1342
1342
  /**
package/dist/index.d.mts CHANGED
@@ -825,7 +825,7 @@ declare const useFavicon: (href: string, baseUrl?: string, rel?: string) => void
825
825
  */
826
826
  type UseFileDialog = (options?: UseFileDialogOptions) => readonly [
827
827
  FileList | null,
828
- (localOptions?: Partial<UseFileDialogOptions>) => void,
828
+ (localOptions?: Partial<UseFileDialogOptions>) => Promise<FileList | null | undefined>,
829
829
  () => void
830
830
  ];
831
831
  /**
@@ -1334,9 +1334,9 @@ interface UseIntervalOptions {
1334
1334
  */
1335
1335
  immediate?: boolean;
1336
1336
  /**
1337
- * @zh 是否控制执行。
1338
- * @en Whether to control execution.
1339
- */
1337
+ * @zh 是否控制执行。
1338
+ * @en Whether to control execution.
1339
+ */
1340
1340
  controls?: boolean;
1341
1341
  }
1342
1342
  /**
package/dist/index.d.ts CHANGED
@@ -825,7 +825,7 @@ declare const useFavicon: (href: string, baseUrl?: string, rel?: string) => void
825
825
  */
826
826
  type UseFileDialog = (options?: UseFileDialogOptions) => readonly [
827
827
  FileList | null,
828
- (localOptions?: Partial<UseFileDialogOptions>) => void,
828
+ (localOptions?: Partial<UseFileDialogOptions>) => Promise<FileList | null | undefined>,
829
829
  () => void
830
830
  ];
831
831
  /**
@@ -1334,9 +1334,9 @@ interface UseIntervalOptions {
1334
1334
  */
1335
1335
  immediate?: boolean;
1336
1336
  /**
1337
- * @zh 是否控制执行。
1338
- * @en Whether to control execution.
1339
- */
1337
+ * @zh 是否控制执行。
1338
+ * @en Whether to control execution.
1339
+ */
1340
1340
  controls?: boolean;
1341
1341
  }
1342
1342
  /**
package/dist/index.mjs CHANGED
@@ -125,7 +125,7 @@ const useMountedState = ()=>{
125
125
  return get;
126
126
  };
127
127
 
128
- function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {
128
+ function asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, key, arg) {
129
129
  try {
130
130
  var info = gen[key](arg);
131
131
  var value = info.value;
@@ -139,16 +139,16 @@ function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {
139
139
  Promise.resolve(value).then(_next, _throw);
140
140
  }
141
141
  }
142
- function _async_to_generator$5(fn) {
142
+ function _async_to_generator$6(fn) {
143
143
  return function() {
144
144
  var self = this, args = arguments;
145
145
  return new Promise(function(resolve, reject) {
146
146
  var gen = fn.apply(self, args);
147
147
  function _next(value) {
148
- asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, "next", value);
148
+ asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, "next", value);
149
149
  }
150
150
  function _throw(err) {
151
- asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, "throw", err);
151
+ asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, "throw", err);
152
152
  }
153
153
  _next(undefined);
154
154
  });
@@ -157,7 +157,7 @@ function _async_to_generator$5(fn) {
157
157
  const useAsyncEffect = (effect, cleanup = noop, deps)=>{
158
158
  const mounted = useMountedState();
159
159
  useEffect(()=>{
160
- const execute = /*#__PURE__*/ _async_to_generator$5(function*() {
160
+ const execute = /*#__PURE__*/ _async_to_generator$6(function*() {
161
161
  if (!mounted()) {
162
162
  return;
163
163
  }
@@ -1151,7 +1151,7 @@ const useSupported = (callback, sync = false)=>{
1151
1151
  return supported;
1152
1152
  };
1153
1153
 
1154
- function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {
1154
+ function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {
1155
1155
  try {
1156
1156
  var info = gen[key](arg);
1157
1157
  var value = info.value;
@@ -1165,16 +1165,16 @@ function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {
1165
1165
  Promise.resolve(value).then(_next, _throw);
1166
1166
  }
1167
1167
  }
1168
- function _async_to_generator$4(fn) {
1168
+ function _async_to_generator$5(fn) {
1169
1169
  return function() {
1170
1170
  var self = this, args = arguments;
1171
1171
  return new Promise(function(resolve, reject) {
1172
1172
  var gen = fn.apply(self, args);
1173
1173
  function _next(value) {
1174
- asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, "next", value);
1174
+ asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, "next", value);
1175
1175
  }
1176
1176
  function _throw(err) {
1177
- asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, "throw", err);
1177
+ asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, "throw", err);
1178
1178
  }
1179
1179
  _next(undefined);
1180
1180
  });
@@ -1182,7 +1182,7 @@ function _async_to_generator$4(fn) {
1182
1182
  }
1183
1183
  const useEyeDropper = ()=>{
1184
1184
  const isSupported = useSupported(()=>typeof window !== "undefined" && "EyeDropper" in window, true);
1185
- const open = useCallback(/*#__PURE__*/ _async_to_generator$4(function*(options = {}) {
1185
+ const open = useCallback(/*#__PURE__*/ _async_to_generator$5(function*(options = {}) {
1186
1186
  if (!isSupported) {
1187
1187
  return {
1188
1188
  sRGBHex: ""
@@ -1217,6 +1217,35 @@ const useFavicon = (href, baseUrl = "", rel = "icon")=>{
1217
1217
  ]);
1218
1218
  };
1219
1219
 
1220
+ function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {
1221
+ try {
1222
+ var info = gen[key](arg);
1223
+ var value = info.value;
1224
+ } catch (error) {
1225
+ reject(error);
1226
+ return;
1227
+ }
1228
+ if (info.done) {
1229
+ resolve(value);
1230
+ } else {
1231
+ Promise.resolve(value).then(_next, _throw);
1232
+ }
1233
+ }
1234
+ function _async_to_generator$4(fn) {
1235
+ return function() {
1236
+ var self = this, args = arguments;
1237
+ return new Promise(function(resolve, reject) {
1238
+ var gen = fn.apply(self, args);
1239
+ function _next(value) {
1240
+ asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, "next", value);
1241
+ }
1242
+ function _throw(err) {
1243
+ asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, "throw", err);
1244
+ }
1245
+ _next(undefined);
1246
+ });
1247
+ };
1248
+ }
1220
1249
  function _extends$2() {
1221
1250
  _extends$2 = Object.assign || function(target) {
1222
1251
  for(var i = 1; i < arguments.length; i++){
@@ -1238,6 +1267,8 @@ const DEFAULT_OPTIONS = {
1238
1267
  const useFileDialog = (options = defaultOptions$1)=>{
1239
1268
  const [files, setFiles] = useState(null);
1240
1269
  const inputRef = useRef();
1270
+ const fileOpenPromiseRef = useRef(null);
1271
+ const resolveFileOpenPromiseRef = useRef();
1241
1272
  const initFn = useCallback(()=>{
1242
1273
  if (typeof document === "undefined") {
1243
1274
  return undefined;
@@ -1247,11 +1278,12 @@ const useFileDialog = (options = defaultOptions$1)=>{
1247
1278
  input.onchange = (event)=>{
1248
1279
  const result = event.target;
1249
1280
  setFiles(result.files);
1281
+ resolveFileOpenPromiseRef.current == null ? void 0 : resolveFileOpenPromiseRef.current.call(resolveFileOpenPromiseRef, result.files);
1250
1282
  };
1251
1283
  return input;
1252
1284
  }, []);
1253
1285
  inputRef.current = initFn();
1254
- const open = (localOptions)=>{
1286
+ const open = /*#__PURE__*/ _async_to_generator$4(function*(localOptions) {
1255
1287
  if (!inputRef.current) {
1256
1288
  return;
1257
1289
  }
@@ -1259,10 +1291,15 @@ const useFileDialog = (options = defaultOptions$1)=>{
1259
1291
  inputRef.current.multiple = _options.multiple;
1260
1292
  inputRef.current.accept = _options.accept;
1261
1293
  inputRef.current.capture = _options.capture;
1294
+ fileOpenPromiseRef.current = new Promise((resolve)=>{
1295
+ resolveFileOpenPromiseRef.current = resolve;
1296
+ });
1262
1297
  inputRef.current.click();
1263
- };
1298
+ return fileOpenPromiseRef.current;
1299
+ });
1264
1300
  const reset = ()=>{
1265
1301
  setFiles(null);
1302
+ resolveFileOpenPromiseRef.current == null ? void 0 : resolveFileOpenPromiseRef.current.call(resolveFileOpenPromiseRef, null);
1266
1303
  if (inputRef.current) {
1267
1304
  inputRef.current.value = "";
1268
1305
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reactuses/core",
3
- "version": "5.0.12",
3
+ "version": "5.0.13",
4
4
  "license": "Unlicense",
5
5
  "homepage": "https://www.reactuse.com/",
6
6
  "repository": {