@yamada-ui/utils 1.2.1 → 1.3.0-dev-20240618074731

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.
Files changed (38) hide show
  1. package/dist/{chunk-OTCPXJQG.mjs → chunk-COLJSKIW.mjs} +12 -19
  2. package/dist/{chunk-OTCPXJQG.mjs.map → chunk-COLJSKIW.mjs.map} +1 -1
  3. package/dist/{chunk-NIEOK6MQ.mjs → chunk-HISQMFVV.mjs} +20 -38
  4. package/dist/{chunk-NIEOK6MQ.mjs.map → chunk-HISQMFVV.mjs.map} +1 -1
  5. package/dist/{chunk-SSSHE5NG.mjs → chunk-HWOJKZRC.mjs} +13 -25
  6. package/dist/{chunk-SSSHE5NG.mjs.map → chunk-HWOJKZRC.mjs.map} +1 -1
  7. package/dist/{chunk-P52P4NMT.mjs → chunk-KT4SLZO6.mjs} +2 -3
  8. package/dist/{chunk-P52P4NMT.mjs.map → chunk-KT4SLZO6.mjs.map} +1 -1
  9. package/dist/{chunk-A74F6ICI.mjs → chunk-MMZ4T26E.mjs} +2 -3
  10. package/dist/{chunk-A74F6ICI.mjs.map → chunk-MMZ4T26E.mjs.map} +1 -1
  11. package/dist/{chunk-OYISHZVU.mjs → chunk-XZCHGXBI.mjs} +7 -13
  12. package/dist/{chunk-OYISHZVU.mjs.map → chunk-XZCHGXBI.mjs.map} +1 -1
  13. package/dist/color.js +22 -44
  14. package/dist/color.js.map +1 -1
  15. package/dist/color.mjs +2 -2
  16. package/dist/dom.d.mts +2 -1
  17. package/dist/dom.d.ts +2 -1
  18. package/dist/dom.js +12 -18
  19. package/dist/dom.js.map +1 -1
  20. package/dist/dom.mjs +3 -1
  21. package/dist/event.js +1 -2
  22. package/dist/event.js.map +1 -1
  23. package/dist/event.mjs +1 -1
  24. package/dist/index.d.mts +1 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.js +50 -94
  27. package/dist/index.js.map +1 -1
  28. package/dist/index.mjs +8 -6
  29. package/dist/number.js +1 -2
  30. package/dist/number.js.map +1 -1
  31. package/dist/number.mjs +1 -1
  32. package/dist/object.js +12 -24
  33. package/dist/object.js.map +1 -1
  34. package/dist/object.mjs +1 -1
  35. package/dist/react.js +6 -12
  36. package/dist/react.js.map +1 -1
  37. package/dist/react.mjs +1 -1
  38. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -107,6 +107,7 @@ __export(src_exports, {
107
107
  isString: () => isString,
108
108
  isTabbable: () => isTabbable,
109
109
  isTone: () => isTone,
110
+ isTouchDevice: () => isTouchDevice,
110
111
  isTouchEvent: () => isTouchEvent,
111
112
  isUndefined: () => isUndefined,
112
113
  isUnit: () => isUnit,
@@ -175,8 +176,7 @@ var cast = (value) => value;
175
176
 
176
177
  // src/object.ts
177
178
  var omitObjectHelper = (obj, path) => {
178
- if (!path.length)
179
- return obj;
179
+ if (!path.length) return obj;
180
180
  const [primaryKey, ...restKeys] = path;
181
181
  if (restKeys.length === 0 && primaryKey in obj) {
182
182
  const { [primaryKey]: _, ...rest } = obj;
@@ -198,11 +198,9 @@ var omitObject = (obj, keys) => {
198
198
  };
199
199
  var pickObject = (obj, keys, fallbackValue = "__fallback") => keys.reduce((prev, key) => {
200
200
  const path = isString(key) ? key.split(".") : [];
201
- if (!path.length)
202
- return prev;
201
+ if (!path.length) return prev;
203
202
  const value = getMemoizedObject(obj, key, fallbackValue);
204
- if (value === fallbackValue)
205
- return prev;
203
+ if (value === fallbackValue) return prev;
206
204
  prev = merge(
207
205
  prev,
208
206
  path.reduceRight(
@@ -228,8 +226,7 @@ var filterObject = (obj, func) => {
228
226
  const result = {};
229
227
  Object.entries(obj).forEach(([key, value]) => {
230
228
  const shouldPass = func(key, value, obj);
231
- if (shouldPass)
232
- result[key] = value;
229
+ if (shouldPass) result[key] = value;
233
230
  });
234
231
  return result;
235
232
  };
@@ -255,8 +252,7 @@ var merge = (target, source, mergeArray = false) => {
255
252
  return result;
256
253
  };
257
254
  var flattenObject = (obj, maxDepth = Infinity, omitKeys = []) => {
258
- if (!isObject(obj) && !isArray(obj) || !maxDepth)
259
- return obj;
255
+ if (!isObject(obj) && !isArray(obj) || !maxDepth) return obj;
260
256
  return Object.entries(obj).reduce((result, [key, value]) => {
261
257
  if (isObject(value) && !Object.keys(value).some((key2) => omitKeys.includes(key2))) {
262
258
  Object.entries(flattenObject(value, maxDepth - 1, omitKeys)).forEach(
@@ -290,8 +286,7 @@ var replaceObject = (objOrArray, callBack) => {
290
286
  var getObject = (obj, path, fallback, i) => {
291
287
  const k = typeof path === "string" ? path.split(".") : [path];
292
288
  for (i = 0; i < k.length; i += 1) {
293
- if (!obj)
294
- break;
289
+ if (!obj) break;
295
290
  obj = obj[k[i]];
296
291
  }
297
292
  return obj === void 0 ? fallback : obj;
@@ -299,13 +294,10 @@ var getObject = (obj, path, fallback, i) => {
299
294
  var memoizeObject = (func) => {
300
295
  const cache = /* @__PURE__ */ new WeakMap();
301
296
  const memoizedFunc = (obj, path, fallback, i) => {
302
- if (typeof obj === "undefined")
303
- return func(obj, path, fallback);
304
- if (!cache.has(obj))
305
- cache.set(obj, /* @__PURE__ */ new Map());
297
+ if (typeof obj === "undefined") return func(obj, path, fallback);
298
+ if (!cache.has(obj)) cache.set(obj, /* @__PURE__ */ new Map());
306
299
  const map = cache.get(obj);
307
- if (map.has(path))
308
- return map.get(path);
300
+ if (map.has(path)) return map.get(path);
309
301
  const value = func(obj, path, fallback, i);
310
302
  map.set(path, value);
311
303
  return value;
@@ -318,13 +310,10 @@ var assignAfter = (target, ...sources) => {
318
310
  throw new TypeError("Cannot convert undefined or null to object");
319
311
  const result = { ...target };
320
312
  for (const nextSource of sources) {
321
- if (nextSource == null)
322
- continue;
313
+ if (nextSource == null) continue;
323
314
  for (const nextKey in nextSource) {
324
- if (!Object.prototype.hasOwnProperty.call(nextSource, nextKey))
325
- continue;
326
- if (nextKey in result)
327
- delete result[nextKey];
315
+ if (!Object.prototype.hasOwnProperty.call(nextSource, nextKey)) continue;
316
+ if (nextKey in result) delete result[nextKey];
328
317
  result[nextKey] = nextSource[nextKey];
329
318
  }
330
319
  }
@@ -393,10 +382,8 @@ var useIsMounted = ({
393
382
  }
394
383
  return () => {
395
384
  isMountedRef.current = false;
396
- if (rerender)
397
- setIsMounted(false);
398
- if (timeoutId)
399
- clearTimeout(timeoutId);
385
+ if (rerender) setIsMounted(false);
386
+ if (timeoutId) clearTimeout(timeoutId);
400
387
  };
401
388
  }, [delay, rerender]);
402
389
  return [React.useCallback(() => isMountedRef.current, []), isMounted];
@@ -409,8 +396,7 @@ var findChildren = (children, ...types) => children.find((child) => types.some((
409
396
  (a, b) => types.some((type) => a.type === type) ? -1 : types.some((type) => b.type === type) ? 1 : 0
410
397
  ) : [void 0, ...children];
411
398
  var includesChildren = (children, ...types) => children.some((child) => {
412
- if (types.some((type) => child.type === type))
413
- return true;
399
+ if (types.some((type) => child.type === type)) return true;
414
400
  const children2 = getValidChildren(child.props.children);
415
401
  return children2.length ? includesChildren(children2, ...types) : false;
416
402
  });
@@ -419,8 +405,7 @@ var pickChildren = (children, ...types) => children.filter((child) => types.ever
419
405
  var cx = (...classNames) => classNames.filter(Boolean).join(" ");
420
406
  var isRefObject = (val) => isObject(val) && "current" in val;
421
407
  var assignRef = (ref, value) => {
422
- if (ref == null)
423
- return;
408
+ if (ref == null) return;
424
409
  if (typeof ref === "function") {
425
410
  ref(value);
426
411
  return;
@@ -456,8 +441,7 @@ var useUpdateEffect = (callback, deps) => {
456
441
  React.useEffect(() => {
457
442
  const mounted = renderCycleRef.current;
458
443
  const run = mounted && effectCycleRef.current;
459
- if (run)
460
- return callback();
444
+ if (run) return callback();
461
445
  effectCycleRef.current = true;
462
446
  }, deps);
463
447
  React.useEffect(() => {
@@ -506,8 +490,7 @@ var useAsyncRetry = (func, deps = []) => {
506
490
  const state = useAsync(func, [...deps, attempt]);
507
491
  const stateLoading = state.loading;
508
492
  const retry = React.useCallback(() => {
509
- if (stateLoading)
510
- return;
493
+ if (stateLoading) return;
511
494
  setAttempt((currentAttempt) => currentAttempt + 1);
512
495
  }, [...deps, stateLoading]);
513
496
  return { ...state, retry };
@@ -529,14 +512,12 @@ var isSafari = () => isApple() && vendor(/apple/i);
529
512
  var isElement = (el) => el != null && typeof el == "object" && "nodeType" in el && el.nodeType === Node.ELEMENT_NODE;
530
513
  var isHTMLElement = (el) => {
531
514
  var _a;
532
- if (!isElement(el))
533
- return false;
515
+ if (!isElement(el)) return false;
534
516
  const win = (_a = el.ownerDocument.defaultView) != null ? _a : window;
535
517
  return el instanceof win.HTMLElement;
536
518
  };
537
519
  var isHidden = (el) => {
538
- if (el.parentElement && isHidden(el.parentElement))
539
- return true;
520
+ if (el.parentElement && isHidden(el.parentElement)) return true;
540
521
  return el.hidden;
541
522
  };
542
523
  var isDisabled = (el) => Boolean(el.getAttribute("disabled")) === true || Boolean(el.getAttribute("data-disabled")) === true || Boolean(el.getAttribute("aria-disabled")) === true;
@@ -550,19 +531,15 @@ var isContains = (parent, child) => {
550
531
  return parent === child || (parent == null ? void 0 : parent.contains(child));
551
532
  };
552
533
  var getPx = (value) => {
553
- if (isNumber(value))
554
- return value;
555
- if (isUndefined(value))
556
- return 0;
557
- if (value.includes("px"))
558
- return parseFloat(value);
534
+ if (isNumber(value)) return value;
535
+ if (isUndefined(value)) return 0;
536
+ if (value.includes("px")) return parseFloat(value);
559
537
  const isBrowser = createdDom();
560
538
  let fontSize = 16;
561
539
  if (isBrowser) {
562
540
  const style = window.getComputedStyle(document.documentElement);
563
541
  const computedFontSize = parseFloat(style.fontSize);
564
- if (!isNaN(computedFontSize))
565
- fontSize = computedFontSize;
542
+ if (!isNaN(computedFontSize)) fontSize = computedFontSize;
566
543
  }
567
544
  return parseFloat(value) * fontSize;
568
545
  };
@@ -602,21 +579,19 @@ var isFocusable = (el) => {
602
579
  }
603
580
  const { localName } = el;
604
581
  const focusableTags = ["input", "select", "textarea", "button"];
605
- if (focusableTags.indexOf(localName) >= 0)
606
- return true;
582
+ if (focusableTags.indexOf(localName) >= 0) return true;
607
583
  const others = {
608
584
  a: () => el.hasAttribute("href"),
609
585
  audio: () => el.hasAttribute("controls"),
610
586
  video: () => el.hasAttribute("controls")
611
587
  };
612
- if (localName in others)
613
- return others[localName]();
614
- if (isContentEditable(el))
615
- return true;
588
+ if (localName in others) return others[localName]();
589
+ if (isContentEditable(el)) return true;
616
590
  return hasTabIndex(el);
617
591
  };
618
592
  var hasNegativeTabIndex = (el) => hasTabIndex(el) && el.tabIndex === -1;
619
593
  var isTabbable = (el) => el ? isHTMLElement(el) && isFocusable(el) && !hasNegativeTabIndex(el) : false;
594
+ var isTouchDevice = () => "ontouchstart" in window;
620
595
  var getOwnerWindow = (node) => {
621
596
  var _a, _b;
622
597
  return (_b = (_a = getOwnerDocument(node)) == null ? void 0 : _a.defaultView) != null ? _b : window;
@@ -722,8 +697,7 @@ var getColor = (color, fallback = "#000000") => (theme = {}, colorMode) => {
722
697
  const [, relatedToken] = (_c = Object.entries((_b = (_a = theme.semantics) == null ? void 0 : _a.colorSchemes) != null ? _b : {}).find(
723
698
  ([semanticToken]) => token === semanticToken
724
699
  )) != null ? _c : [];
725
- if (relatedToken)
726
- color = `${relatedToken}.${hue}`;
700
+ if (relatedToken) color = `${relatedToken}.${hue}`;
727
701
  const hex = getMemoizedObject(theme, `colors.${color}`, color);
728
702
  try {
729
703
  if (isArray(hex)) {
@@ -764,19 +738,15 @@ var randomColor = ({
764
738
  colors
765
739
  } = {}) => {
766
740
  const fallback = randomHex();
767
- if (string && colors)
768
- return randomColorFromList(string, colors);
769
- if (string && !colors)
770
- return randomColorFromString(string);
771
- if (colors && !string)
772
- return randomFromList(colors);
741
+ if (string && colors) return randomColorFromList(string, colors);
742
+ if (string && !colors) return randomColorFromString(string);
743
+ if (colors && !string) return randomFromList(colors);
773
744
  return fallback;
774
745
  };
775
746
  var randomHex = () => `#${Math.floor(Math.random() * 16777215).toString(16).padEnd(6, "0")}`;
776
747
  var randomColorFromString = (str) => {
777
748
  let hash = 0;
778
- if (str.length === 0)
779
- return hash.toString();
749
+ if (str.length === 0) return hash.toString();
780
750
  for (let i = 0; i < str.length; i += 1) {
781
751
  hash = str.charCodeAt(i) + ((hash << 5) - hash);
782
752
  hash = hash & hash;
@@ -790,8 +760,7 @@ var randomColorFromString = (str) => {
790
760
  };
791
761
  var randomColorFromList = (str, list) => {
792
762
  let index = 0;
793
- if (str.length === 0)
794
- return list[0];
763
+ if (str.length === 0) return list[0];
795
764
  for (let i = 0; i < str.length; i += 1) {
796
765
  index = str.charCodeAt(i) + ((index << 5) - index);
797
766
  index = index & index;
@@ -815,13 +784,11 @@ var isDark = (color) => (theme, colorMode) => isTone(color)(theme, colorMode) ==
815
784
  var convertColor = (color, fallback) => (format) => {
816
785
  try {
817
786
  const isAlpha = format.endsWith("a");
818
- if (/^[0-9a-fA-F]{6}$/.test(color))
819
- color = "#" + color;
787
+ if (/^[0-9a-fA-F]{6}$/.test(color)) color = "#" + color;
820
788
  if (format.startsWith("hex")) {
821
789
  let hexa = c.toHex(color);
822
790
  if (isAlpha) {
823
- if (hexa.length === 7)
824
- hexa += "ff";
791
+ if (hexa.length === 7) hexa += "ff";
825
792
  } else {
826
793
  hexa = hexa.replace(/(?<=^#([0-9a-fA-F]{6}))[0-9a-fA-F]{2}$/, "");
827
794
  }
@@ -842,8 +809,7 @@ var convertColor = (color, fallback) => (format) => {
842
809
  return rgba2;
843
810
  }
844
811
  } catch {
845
- if (fallback)
846
- return convertColor(fallback)(format);
812
+ if (fallback) return convertColor(fallback)(format);
847
813
  }
848
814
  };
849
815
  var calcFormat = (color) => {
@@ -857,30 +823,24 @@ var calcFormat = (color) => {
857
823
  };
858
824
  var getAlpha = (color) => c.parseToRgba(color)[3];
859
825
  var alphaToHex = (a) => {
860
- if (0 > a)
861
- a = 0;
862
- if (1 < a)
863
- a = 1;
826
+ if (0 > a) a = 0;
827
+ if (1 < a) a = 1;
864
828
  return Math.round(a * 255).toString(16).padStart(2, "0");
865
829
  };
866
830
  var parseToRgba2 = (color, fallback) => {
867
831
  try {
868
- if (/^[0-9a-fA-F]{6}$/.test(color))
869
- color = "#" + color;
832
+ if (/^[0-9a-fA-F]{6}$/.test(color)) color = "#" + color;
870
833
  return c.parseToRgba(color);
871
834
  } catch {
872
- if (fallback)
873
- return c.parseToRgba(fallback);
835
+ if (fallback) return c.parseToRgba(fallback);
874
836
  }
875
837
  };
876
838
  var parseToHsla2 = (color, fallback) => {
877
839
  try {
878
- if (/^[0-9a-fA-F]{6}$/.test(color))
879
- color = "#" + color;
840
+ if (/^[0-9a-fA-F]{6}$/.test(color)) color = "#" + color;
880
841
  return c.parseToHsla(color);
881
842
  } catch {
882
- if (fallback)
883
- return c.parseToHsla(fallback);
843
+ if (fallback) return c.parseToHsla(fallback);
884
844
  }
885
845
  };
886
846
  var parseToHsv = (color, fallback) => {
@@ -940,16 +900,13 @@ var hsvTo = ([h, s, v, a], fallback) => (format = "hex") => {
940
900
  break;
941
901
  }
942
902
  let color = `rgb(${rgb.map((v2) => Math.round(v2 * 255)).join(", ")})`;
943
- if (isNumber(a))
944
- color = color.replace(/\)$/, `, ${a})`);
903
+ if (isNumber(a)) color = color.replace(/\)$/, `, ${a})`);
945
904
  return convertColor(color, fallback)(format);
946
905
  };
947
906
  var sameColor = (color, comparison) => {
948
907
  var _a, _b;
949
- if (!color)
950
- return false;
951
- if (!comparison)
952
- return false;
908
+ if (!color) return false;
909
+ if (!comparison) return false;
953
910
  const a = (_a = parseToRgba2(color)) != null ? _a : [];
954
911
  const b = (_b = parseToRgba2(comparison)) != null ? _b : [];
955
912
  return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3];
@@ -970,8 +927,7 @@ var toPrecision = (n, precision) => {
970
927
  return precision ? n.toFixed(precision) : n.toString();
971
928
  };
972
929
  var countDecimal = (n) => {
973
- if (!Number.isFinite(n))
974
- return 0;
930
+ if (!Number.isFinite(n)) return 0;
975
931
  let e = 1;
976
932
  let p = 0;
977
933
  while (Math.round(n * e) / e !== n) {
@@ -1019,8 +975,7 @@ var addDomEvent = (target, type, cb, options) => {
1019
975
  };
1020
976
  var filter = (cb) => (ev) => {
1021
977
  const isMouse = isMouseEvent(ev);
1022
- if (!isMouse || isMouse && ev.button === 0)
1023
- cb(ev);
978
+ if (!isMouse || isMouse && ev.button === 0) cb(ev);
1024
979
  };
1025
980
  var wrap = (cb, filterPrimary = false) => {
1026
981
  const listener = (ev) => cb(ev, { point: getEventPoint(ev) });
@@ -1110,6 +1065,7 @@ var interopDefault = (module2) => module2.default || module2;
1110
1065
  isString,
1111
1066
  isTabbable,
1112
1067
  isTone,
1068
+ isTouchDevice,
1113
1069
  isTouchEvent,
1114
1070
  isUndefined,
1115
1071
  isUnit,