@yamada-ui/utils 1.5.0 → 1.5.1-dev-20240917064938

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 (111) hide show
  1. package/dist/array.d.mts +1 -1
  2. package/dist/array.d.ts +1 -1
  3. package/dist/array.js +3 -1
  4. package/dist/array.js.map +1 -1
  5. package/dist/array.mjs +1 -1
  6. package/dist/assertion.d.mts +14 -14
  7. package/dist/assertion.d.ts +14 -14
  8. package/dist/assertion.js +44 -16
  9. package/dist/assertion.js.map +1 -1
  10. package/dist/assertion.mjs +1 -1
  11. package/dist/calc.d.mts +12 -7
  12. package/dist/calc.d.ts +12 -7
  13. package/dist/calc.js +17 -7
  14. package/dist/calc.js.map +1 -1
  15. package/dist/calc.mjs +1 -1
  16. package/dist/{chunk-ZFE4ZWCP.mjs → chunk-2AWPBKLQ.mjs} +68 -47
  17. package/dist/chunk-2AWPBKLQ.mjs.map +1 -0
  18. package/dist/chunk-5EG6NSMV.mjs +9 -0
  19. package/dist/chunk-5EG6NSMV.mjs.map +1 -0
  20. package/dist/{chunk-I5E5UXSE.mjs → chunk-7XL7BPER.mjs} +52 -44
  21. package/dist/chunk-7XL7BPER.mjs.map +1 -0
  22. package/dist/{chunk-KT4SLZO6.mjs → chunk-7XRVZGET.mjs} +18 -12
  23. package/dist/chunk-7XRVZGET.mjs.map +1 -0
  24. package/dist/{chunk-S35WPDIT.mjs → chunk-AF6MSVQN.mjs} +75 -41
  25. package/dist/chunk-AF6MSVQN.mjs.map +1 -0
  26. package/dist/chunk-APJY76CK.mjs +9 -0
  27. package/dist/chunk-APJY76CK.mjs.map +1 -0
  28. package/dist/{chunk-L56KWSQO.mjs → chunk-OM7WYVSS.mjs} +18 -8
  29. package/dist/chunk-OM7WYVSS.mjs.map +1 -0
  30. package/dist/chunk-QTCZ2LU5.mjs +65 -0
  31. package/dist/chunk-QTCZ2LU5.mjs.map +1 -0
  32. package/dist/chunk-RCW53QOG.mjs +31 -0
  33. package/dist/chunk-RCW53QOG.mjs.map +1 -0
  34. package/dist/chunk-TJ7CW2M5.mjs +365 -0
  35. package/dist/chunk-TJ7CW2M5.mjs.map +1 -0
  36. package/dist/{chunk-2AQWXBLU.mjs → chunk-WU6FTFUV.mjs} +15 -7
  37. package/dist/chunk-WU6FTFUV.mjs.map +1 -0
  38. package/dist/chunk-Z4AGSEWZ.mjs +63 -0
  39. package/dist/chunk-Z4AGSEWZ.mjs.map +1 -0
  40. package/dist/color.d.mts +24 -24
  41. package/dist/color.d.ts +24 -24
  42. package/dist/color.js +212 -158
  43. package/dist/color.js.map +1 -1
  44. package/dist/color.mjs +3 -3
  45. package/dist/dom.d.mts +29 -29
  46. package/dist/dom.d.ts +29 -29
  47. package/dist/dom.js +79 -41
  48. package/dist/dom.js.map +1 -1
  49. package/dist/dom.mjs +2 -2
  50. package/dist/event.d.mts +13 -13
  51. package/dist/event.d.ts +13 -13
  52. package/dist/event.js +37 -23
  53. package/dist/event.js.map +1 -1
  54. package/dist/event.mjs +1 -1
  55. package/dist/function.d.mts +3 -3
  56. package/dist/function.d.ts +3 -3
  57. package/dist/function.js +19 -9
  58. package/dist/function.js.map +1 -1
  59. package/dist/function.mjs +2 -2
  60. package/dist/index.d.mts +2 -2
  61. package/dist/index.d.ts +2 -2
  62. package/dist/index.js +531 -346
  63. package/dist/index.js.map +1 -1
  64. package/dist/index.mjs +12 -12
  65. package/dist/index.types.d.mts +8 -4
  66. package/dist/index.types.d.ts +8 -4
  67. package/dist/index.types.js.map +1 -1
  68. package/dist/module.d.mts +1 -1
  69. package/dist/module.d.ts +1 -1
  70. package/dist/module.js +3 -1
  71. package/dist/module.js.map +1 -1
  72. package/dist/module.mjs +1 -1
  73. package/dist/number.d.mts +7 -7
  74. package/dist/number.d.ts +7 -7
  75. package/dist/number.js +17 -11
  76. package/dist/number.js.map +1 -1
  77. package/dist/number.mjs +1 -1
  78. package/dist/object.d.mts +19 -15
  79. package/dist/object.d.ts +19 -15
  80. package/dist/object.js +65 -47
  81. package/dist/object.js.map +1 -1
  82. package/dist/object.mjs +2 -2
  83. package/dist/react.d.mts +25 -35
  84. package/dist/react.d.ts +25 -35
  85. package/dist/react.js +78 -49
  86. package/dist/react.js.map +1 -1
  87. package/dist/react.mjs +2 -2
  88. package/dist/string.d.mts +5 -5
  89. package/dist/string.d.ts +5 -5
  90. package/dist/string.js +14 -6
  91. package/dist/string.js.map +1 -1
  92. package/dist/string.mjs +1 -1
  93. package/package.json +1 -1
  94. package/dist/chunk-2AQWXBLU.mjs.map +0 -1
  95. package/dist/chunk-5OUUTZYQ.mjs +0 -7
  96. package/dist/chunk-5OUUTZYQ.mjs.map +0 -1
  97. package/dist/chunk-I5E5UXSE.mjs.map +0 -1
  98. package/dist/chunk-KT4SLZO6.mjs.map +0 -1
  99. package/dist/chunk-L56KWSQO.mjs.map +0 -1
  100. package/dist/chunk-MMZ4T26E.mjs +0 -51
  101. package/dist/chunk-MMZ4T26E.mjs.map +0 -1
  102. package/dist/chunk-NBL5H4TH.mjs +0 -35
  103. package/dist/chunk-NBL5H4TH.mjs.map +0 -1
  104. package/dist/chunk-S35WPDIT.mjs.map +0 -1
  105. package/dist/chunk-VRHGQ632.mjs +0 -23
  106. package/dist/chunk-VRHGQ632.mjs.map +0 -1
  107. package/dist/chunk-WV6P7ZCI.mjs +0 -7
  108. package/dist/chunk-WV6P7ZCI.mjs.map +0 -1
  109. package/dist/chunk-ZFE4ZWCP.mjs.map +0 -1
  110. package/dist/chunk-ZMR5WZIP.mjs +0 -321
  111. package/dist/chunk-ZMR5WZIP.mjs.map +0 -1
@@ -4,10 +4,10 @@ import {
4
4
  isObject,
5
5
  isString,
6
6
  isUndefined
7
- } from "./chunk-NBL5H4TH.mjs";
7
+ } from "./chunk-Z4AGSEWZ.mjs";
8
8
 
9
9
  // src/object.ts
10
- var omitObjectHelper = (obj, path) => {
10
+ function omitObjectHelper(obj, path) {
11
11
  if (!path.length) return obj;
12
12
  const [primaryKey, ...restKeys] = path;
13
13
  if (restKeys.length === 0 && primaryKey in obj) {
@@ -21,28 +21,30 @@ var omitObjectHelper = (obj, path) => {
21
21
  };
22
22
  }
23
23
  return obj;
24
- };
25
- var omitObject = (obj, keys) => {
24
+ }
25
+ function omitObject(obj, keys) {
26
26
  return keys.reduce((prev, key) => {
27
27
  const path = isString(key) ? key.split(".") : [];
28
28
  return omitObjectHelper(prev, path);
29
29
  }, obj);
30
- };
31
- var pickObject = (obj, keys, fallbackValue = "__fallback") => keys.reduce((prev, key) => {
32
- const path = isString(key) ? key.split(".") : [];
33
- if (!path.length) return prev;
34
- const value = getMemoizedObject(obj, key, fallbackValue);
35
- if (value === fallbackValue) return prev;
36
- prev = merge(
37
- prev,
38
- path.reduceRight(
39
- (prev2, key2) => ({ [key2]: key2 === path.at(-1) ? value : prev2 }),
40
- {}
41
- )
42
- );
43
- return prev;
44
- }, {});
45
- var splitObject = (obj, keys) => {
30
+ }
31
+ function pickObject(obj, keys, fallbackValue = "__fallback") {
32
+ return keys.reduce((prev, key) => {
33
+ const path = isString(key) ? key.split(".") : [];
34
+ if (!path.length) return prev;
35
+ const value = getMemoizedObject(obj, key, fallbackValue);
36
+ if (value === fallbackValue) return prev;
37
+ prev = merge(
38
+ prev,
39
+ path.reduceRight(
40
+ (prev2, key2) => ({ [key2]: key2 === path.at(-1) ? value : prev2 }),
41
+ {}
42
+ )
43
+ );
44
+ return prev;
45
+ }, {});
46
+ }
47
+ function splitObject(obj, keys) {
46
48
  const picked = {};
47
49
  const omitted = {};
48
50
  for (const [key, value] of Object.entries(obj)) {
@@ -53,17 +55,19 @@ var splitObject = (obj, keys) => {
53
55
  }
54
56
  }
55
57
  return [picked, omitted];
56
- };
57
- var filterObject = (obj, func) => {
58
+ }
59
+ function filterObject(obj, func) {
58
60
  const result = {};
59
61
  Object.entries(obj).forEach(([key, value]) => {
60
62
  const shouldPass = func(key, value, obj);
61
63
  if (shouldPass) result[key] = value;
62
64
  });
63
65
  return result;
64
- };
65
- var filterUndefined = (obj) => filterObject(obj, (_, val) => val !== null && val !== void 0);
66
- var merge = (target, source, mergeArray = false) => {
66
+ }
67
+ function filterUndefined(obj) {
68
+ return filterObject(obj, (_, val) => val !== null && val !== void 0);
69
+ }
70
+ function merge(target, source, mergeArray = false) {
67
71
  let result = Object.assign({}, target);
68
72
  if (isObject(source)) {
69
73
  if (isObject(target)) {
@@ -82,8 +86,8 @@ var merge = (target, source, mergeArray = false) => {
82
86
  }
83
87
  }
84
88
  return result;
85
- };
86
- var flattenObject = (obj, { maxDepth, omitKeys, separator, shouldProcess } = {}) => {
89
+ }
90
+ function flattenObject(obj, { maxDepth, omitKeys, separator, shouldProcess } = {}) {
87
91
  maxDepth != null ? maxDepth : maxDepth = Infinity;
88
92
  omitKeys != null ? omitKeys : omitKeys = [];
89
93
  separator != null ? separator : separator = ".";
@@ -105,13 +109,17 @@ var flattenObject = (obj, { maxDepth, omitKeys, separator, shouldProcess } = {})
105
109
  }
106
110
  return result;
107
111
  }, {});
108
- };
109
- var objectFromEntries = (entries) => entries.reduce((result, [key, value]) => {
110
- result[key] = value;
111
- return result;
112
- }, {});
113
- var keysFormObject = (obj) => Object.keys(obj);
114
- var replaceObject = (objOrArray, callBack) => {
112
+ }
113
+ function objectFromEntries(entries) {
114
+ return entries.reduce((result, [key, value]) => {
115
+ result[key] = value;
116
+ return result;
117
+ }, {});
118
+ }
119
+ function keysFormObject(obj) {
120
+ return Object.keys(obj);
121
+ }
122
+ function replaceObject(objOrArray, callBack) {
115
123
  if (isArray(objOrArray)) {
116
124
  return objOrArray.map(callBack);
117
125
  } else if (isObject(objOrArray)) {
@@ -122,18 +130,18 @@ var replaceObject = (objOrArray, callBack) => {
122
130
  } else {
123
131
  return callBack(objOrArray);
124
132
  }
125
- };
126
- var getObject = (obj, path, fallback, i) => {
133
+ }
134
+ function getObject(obj, path, fallback, i) {
127
135
  const k = isString(path) ? path.split(/\[(.*?)\]|\./).filter(Boolean) : [path];
128
136
  for (i = 0; i < k.length; i += 1) {
129
137
  if (!obj) break;
130
138
  obj = obj[k[i]];
131
139
  }
132
140
  return obj === void 0 ? fallback : obj;
133
- };
134
- var memoizeObject = (func) => {
141
+ }
142
+ function memoizeObject(func) {
135
143
  const cache = /* @__PURE__ */ new WeakMap();
136
- const memoizedFunc = (obj, path, fallback, i) => {
144
+ function memoizedFunc(obj, path, fallback, i) {
137
145
  if (isUndefined(obj)) return func(obj, path, fallback);
138
146
  if (!cache.has(obj)) cache.set(obj, /* @__PURE__ */ new Map());
139
147
  const map = cache.get(obj);
@@ -141,11 +149,11 @@ var memoizeObject = (func) => {
141
149
  const value = func(obj, path, fallback, i);
142
150
  map.set(path, value);
143
151
  return value;
144
- };
152
+ }
145
153
  return memoizedFunc;
146
- };
154
+ }
147
155
  var getMemoizedObject = memoizeObject(getObject);
148
- var assignAfter = (target, ...sources) => {
156
+ function assignAfter(target, ...sources) {
149
157
  if (target == null)
150
158
  throw new TypeError("Cannot convert undefined or null to object");
151
159
  const result = { ...target };
@@ -158,7 +166,7 @@ var assignAfter = (target, ...sources) => {
158
166
  }
159
167
  }
160
168
  return result;
161
- };
169
+ }
162
170
 
163
171
  export {
164
172
  omitObject,
@@ -176,4 +184,4 @@ export {
176
184
  getMemoizedObject,
177
185
  assignAfter
178
186
  };
179
- //# sourceMappingURL=chunk-I5E5UXSE.mjs.map
187
+ //# sourceMappingURL=chunk-7XL7BPER.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/object.ts"],"sourcesContent":["import {\n isObject,\n isArray,\n isFunction,\n isString,\n isUndefined,\n} from \"./assertion\"\nimport type { Dict } from \"./index.types\"\n\nfunction omitObjectHelper<Y extends Dict, M extends keyof Y>(\n obj: Y,\n path: M[] | readonly M[],\n): any {\n if (!path.length) return obj\n\n const [primaryKey, ...restKeys] = path\n\n if (restKeys.length === 0 && primaryKey in obj) {\n const { [primaryKey]: _, ...rest } = obj\n\n return rest\n }\n\n if (obj[primaryKey] && isObject(obj[primaryKey])) {\n return {\n ...obj,\n [primaryKey]: omitObjectHelper(obj[primaryKey], restKeys),\n }\n }\n\n return obj\n}\n\nexport function omitObject<\n Y extends Dict,\n M extends keyof Y = keyof Y,\n D = any,\n>(obj: Y, keys: M[] | readonly M[]) {\n return (keys as M[]).reduce((prev, key) => {\n const path = (isString(key) ? key.split(\".\") : []) as M[]\n\n return omitObjectHelper(prev, path)\n }, obj) as unknown as D extends unknown ? Omit<Y, M> : D\n}\n\nexport function pickObject<\n Y extends Dict,\n M extends keyof Y = keyof Y,\n D = any,\n>(obj: Y, keys: M[] | readonly M[], fallbackValue = \"__fallback\") {\n return (keys as M[]).reduce((prev, key) => {\n const path = isString(key) ? key.split(\".\") : []\n\n if (!path.length) return prev\n\n const value = getMemoizedObject(obj, key as string, fallbackValue)\n\n if (value === fallbackValue) return prev\n\n prev = merge(\n prev,\n path.reduceRight(\n (prev, key) => ({ [key]: key === path.at(-1) ? value : prev }),\n {},\n ),\n )\n\n return prev\n }, {}) as D extends unknown ? { [H in M]: Y[H] } : D\n}\n\nexport function splitObject<Y extends Dict, M extends keyof Y>(\n obj: Y,\n keys: M[] | readonly M[],\n) {\n const picked: Dict = {}\n const omitted: Dict = {}\n\n for (const [key, value] of Object.entries(obj)) {\n if (keys.includes(key as Y[M])) {\n picked[key] = value\n } else {\n omitted[key] = value\n }\n }\n\n return [picked, omitted] as [{ [P in M]: Y[P] }, Omit<Y, M>]\n}\n\nexport function filterObject<Y extends Dict, M extends Dict>(\n obj: Y,\n func: (key: keyof Y, value: Y[keyof Y], obj: Y) => boolean,\n): M {\n const result: Dict = {}\n\n Object.entries(obj).forEach(([key, value]) => {\n const shouldPass = func(key, value, obj)\n\n if (shouldPass) result[key] = value\n })\n\n return result as M\n}\n\nexport function filterUndefined<Y extends Dict>(obj: Y): Y {\n return filterObject(obj, (_, val) => val !== null && val !== undefined)\n}\n\nexport function merge<Y extends Dict>(\n target: any,\n source: any,\n mergeArray: boolean = false,\n): Y {\n let result = Object.assign({}, target)\n\n if (isObject(source)) {\n if (isObject(target)) {\n for (const [sourceKey, sourceValue] of Object.entries(source)) {\n const targetValue: any = target[sourceKey]\n\n if (mergeArray && isArray(sourceValue) && isArray(targetValue)) {\n result[sourceKey] = targetValue.concat(...sourceValue)\n } else if (\n !isFunction(sourceValue) &&\n isObject(sourceValue) &&\n target.hasOwnProperty(sourceKey)\n ) {\n result[sourceKey] = merge(targetValue, sourceValue, mergeArray)\n } else {\n Object.assign(result, { [sourceKey]: sourceValue })\n }\n }\n } else {\n result = source\n }\n }\n\n return result as Y\n}\n\nexport interface FlattenObjectOptions {\n maxDepth?: number\n omitKeys?: string[]\n separator?: string\n shouldProcess?: (obj: any) => boolean\n}\n\nexport function flattenObject<Y extends Dict>(\n obj: any,\n { maxDepth, omitKeys, separator, shouldProcess }: FlattenObjectOptions = {},\n): Y {\n maxDepth ??= Infinity\n omitKeys ??= []\n separator ??= \".\"\n\n if ((!isObject(obj) && !isArray(obj)) || !maxDepth) return obj\n\n return Object.entries(obj).reduce((result, [key, value]) => {\n if (\n isObject(value) &&\n !Object.keys(value).some((key) => omitKeys?.includes(key)) &&\n (!shouldProcess || shouldProcess(value))\n ) {\n Object.entries(\n flattenObject(value, {\n maxDepth: maxDepth - 1,\n omitKeys,\n separator,\n shouldProcess,\n }),\n ).forEach(([childKey, childValue]) => {\n result[`${key}${separator}${childKey}`] = childValue\n })\n } else {\n result[key] = value\n }\n\n return result\n }, {} as any) as Y\n}\n\nexport function objectFromEntries<Y extends Dict>(entries: any[][]): Y {\n return entries.reduce((result, [key, value]) => {\n result[key] = value\n\n return result\n }, {} as any) as Y\n}\n\nexport function keysFormObject<Y extends object>(obj: Y): (keyof Y)[] {\n return Object.keys(obj) as (keyof Y)[]\n}\n\nexport function replaceObject<Y = any>(\n objOrArray: Y,\n callBack: (value: any) => any,\n): Y {\n if (isArray(objOrArray)) {\n return objOrArray.map(callBack) as Y\n } else if (isObject(objOrArray)) {\n return Object.entries(objOrArray).reduce((obj, [key, value]) => {\n obj[key] = callBack(value)\n\n return obj\n }, {} as Dict) as Y\n } else {\n return callBack(objOrArray)\n }\n}\n\nexport function getObject(\n obj: Dict,\n path: string | number,\n fallback?: any,\n i?: number,\n) {\n const k = isString(path) ? path.split(/\\[(.*?)\\]|\\./).filter(Boolean) : [path]\n\n for (i = 0; i < k.length; i += 1) {\n if (!obj) break\n\n obj = obj[k[i]]\n }\n\n return obj === undefined ? fallback : obj\n}\n\nexport function memoizeObject(func: typeof getObject) {\n const cache = new WeakMap()\n\n function memoizedFunc<Y>(\n obj: Dict,\n path: string | number,\n fallback?: any,\n i?: number,\n ): Y {\n if (isUndefined(obj)) return func(obj, path, fallback)\n\n if (!cache.has(obj)) cache.set(obj, new Map())\n\n const map = cache.get(obj)\n\n if (map.has(path)) return map.get(path)\n\n const value = func(obj, path, fallback, i)\n\n map.set(path, value)\n\n return value as Y\n }\n\n return memoizedFunc\n}\n\nexport const getMemoizedObject = memoizeObject(getObject)\n\nexport function assignAfter(target: { [key: string]: any }, ...sources: any[]) {\n if (target == null)\n throw new TypeError(\"Cannot convert undefined or null to object\")\n\n const result: { [key: string]: unknown } = { ...target }\n\n for (const nextSource of sources) {\n if (nextSource == null) continue\n\n for (const nextKey in nextSource) {\n if (!Object.prototype.hasOwnProperty.call(nextSource, nextKey)) continue\n\n if (nextKey in result) delete result[nextKey]\n\n result[nextKey] = nextSource[nextKey]\n }\n }\n\n return result\n}\n"],"mappings":"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","names":["prev","key"]}
@@ -1,15 +1,15 @@
1
1
  // src/number.ts
2
- var toNumber = (n) => {
2
+ function toNumber(n) {
3
3
  const num = parseFloat(n);
4
4
  return typeof num !== "number" || Number.isNaN(num) ? 0 : num;
5
- };
6
- var toPrecision = (n, precision) => {
5
+ }
6
+ function toPrecision(n, precision) {
7
7
  n = toNumber(n);
8
8
  const scale = 10 ** (precision != null ? precision : 10);
9
9
  n = Math.round(n * scale) / scale;
10
10
  return precision ? n.toFixed(precision) : n.toString();
11
- };
12
- var countDecimal = (n) => {
11
+ }
12
+ function countDecimal(n) {
13
13
  if (!Number.isFinite(n)) return 0;
14
14
  let e = 1;
15
15
  let p = 0;
@@ -18,15 +18,21 @@ var countDecimal = (n) => {
18
18
  p += 1;
19
19
  }
20
20
  return p;
21
- };
22
- var roundNumberToStep = (n, from, step) => {
21
+ }
22
+ function roundNumberToStep(n, from, step) {
23
23
  const nextValue = Math.round((n - from) / step) * step + from;
24
24
  const precision = countDecimal(step);
25
25
  return toPrecision(nextValue, precision);
26
- };
27
- var valueToPercent = (n, min, max) => (n - min) * 100 / (max - min);
28
- var percentToValue = (n, min, max) => (max - min) * n + min;
29
- var clampNumber = (n, min, max) => Math.min(Math.max(n, min), max);
26
+ }
27
+ function valueToPercent(n, min, max) {
28
+ return (n - min) * 100 / (max - min);
29
+ }
30
+ function percentToValue(n, min, max) {
31
+ return (max - min) * n + min;
32
+ }
33
+ function clampNumber(n, min, max) {
34
+ return Math.min(Math.max(n, min), max);
35
+ }
30
36
 
31
37
  export {
32
38
  toNumber,
@@ -37,4 +43,4 @@ export {
37
43
  percentToValue,
38
44
  clampNumber
39
45
  };
40
- //# sourceMappingURL=chunk-KT4SLZO6.mjs.map
46
+ //# sourceMappingURL=chunk-7XRVZGET.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/number.ts"],"sourcesContent":["export function toNumber(n: any): number {\n const num = parseFloat(n)\n\n return typeof num !== \"number\" || Number.isNaN(num) ? 0 : num\n}\n\nexport function toPrecision(n: number, precision?: number): string {\n n = toNumber(n)\n\n const scale = 10 ** (precision ?? 10)\n\n n = Math.round(n * scale) / scale\n\n return precision ? n.toFixed(precision) : n.toString()\n}\n\nexport function countDecimal(n: number): number {\n if (!Number.isFinite(n)) return 0\n\n let e = 1\n let p = 0\n\n while (Math.round(n * e) / e !== n) {\n e *= 10\n p += 1\n }\n\n return p\n}\n\nexport function roundNumberToStep(n: number, from: number, step: number) {\n const nextValue = Math.round((n - from) / step) * step + from\n\n const precision = countDecimal(step)\n\n return toPrecision(nextValue, precision)\n}\n\nexport function valueToPercent(n: number, min: number, max: number): number {\n return ((n - min) * 100) / (max - min)\n}\n\nexport function percentToValue(n: number, min: number, max: number) {\n return (max - min) * n + min\n}\n\nexport function clampNumber(n: number, min: number, max: number): number {\n return Math.min(Math.max(n, min), max)\n}\n"],"mappings":";AAAO,SAAS,SAAS,GAAgB;AACvC,QAAM,MAAM,WAAW,CAAC;AAExB,SAAO,OAAO,QAAQ,YAAY,OAAO,MAAM,GAAG,IAAI,IAAI;AAC5D;AAEO,SAAS,YAAY,GAAW,WAA4B;AACjE,MAAI,SAAS,CAAC;AAEd,QAAM,QAAQ,OAAO,gCAAa;AAElC,MAAI,KAAK,MAAM,IAAI,KAAK,IAAI;AAE5B,SAAO,YAAY,EAAE,QAAQ,SAAS,IAAI,EAAE,SAAS;AACvD;AAEO,SAAS,aAAa,GAAmB;AAC9C,MAAI,CAAC,OAAO,SAAS,CAAC,EAAG,QAAO;AAEhC,MAAI,IAAI;AACR,MAAI,IAAI;AAER,SAAO,KAAK,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG;AAClC,SAAK;AACL,SAAK;AAAA,EACP;AAEA,SAAO;AACT;AAEO,SAAS,kBAAkB,GAAW,MAAc,MAAc;AACvE,QAAM,YAAY,KAAK,OAAO,IAAI,QAAQ,IAAI,IAAI,OAAO;AAEzD,QAAM,YAAY,aAAa,IAAI;AAEnC,SAAO,YAAY,WAAW,SAAS;AACzC;AAEO,SAAS,eAAe,GAAW,KAAa,KAAqB;AAC1E,UAAS,IAAI,OAAO,OAAQ,MAAM;AACpC;AAEO,SAAS,eAAe,GAAW,KAAa,KAAa;AAClE,UAAQ,MAAM,OAAO,IAAI;AAC3B;AAEO,SAAS,YAAY,GAAW,KAAa,KAAqB;AACvE,SAAO,KAAK,IAAI,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG;AACvC;","names":[]}
@@ -1,41 +1,61 @@
1
1
  import {
2
2
  isNumber,
3
3
  isUndefined
4
- } from "./chunk-NBL5H4TH.mjs";
4
+ } from "./chunk-Z4AGSEWZ.mjs";
5
5
 
6
6
  // src/dom.ts
7
- var createdDom = () => !!(typeof window !== "undefined" && window.document && window.document.createElement);
8
- var getPlatform = () => {
7
+ function createdDom() {
8
+ return !!(typeof window !== "undefined" && window.document && window.document.createElement);
9
+ }
10
+ function getPlatform() {
9
11
  var _a, _b;
10
12
  return (_b = (_a = navigator.userAgentData) == null ? void 0 : _a.platform) != null ? _b : navigator.platform;
11
- };
12
- var vendor = (v) => createdDom() && v.test(navigator.vendor);
13
- var platform = (v) => createdDom() && v.test(getPlatform());
14
- var isMac = () => platform(/^mac/i);
15
- var isApple = () => platform(/mac|iphone|ipad|ipod/i);
16
- var isSafari = () => isApple() && vendor(/apple/i);
17
- var isElement = (el) => el != null && typeof el == "object" && "nodeType" in el && el.nodeType === Node.ELEMENT_NODE;
18
- var isHTMLElement = (el) => {
13
+ }
14
+ function vendor(v) {
15
+ return createdDom() && v.test(navigator.vendor);
16
+ }
17
+ function platform(v) {
18
+ return createdDom() && v.test(getPlatform());
19
+ }
20
+ function isMac() {
21
+ return platform(/^mac/i);
22
+ }
23
+ function isApple() {
24
+ return platform(/mac|iphone|ipad|ipod/i);
25
+ }
26
+ function isSafari() {
27
+ return isApple() && vendor(/apple/i);
28
+ }
29
+ function isElement(el) {
30
+ return el != null && typeof el == "object" && "nodeType" in el && el.nodeType === Node.ELEMENT_NODE;
31
+ }
32
+ function isHTMLElement(el) {
19
33
  var _a;
20
34
  if (!isElement(el)) return false;
21
35
  const win = (_a = el.ownerDocument.defaultView) != null ? _a : window;
22
36
  return el instanceof win.HTMLElement;
23
- };
24
- var isHidden = (el) => {
37
+ }
38
+ function isHidden(el) {
25
39
  if (el.parentElement && isHidden(el.parentElement)) return true;
26
40
  return el.hidden;
27
- };
28
- var isDisabled = (el) => Boolean(el.getAttribute("disabled")) === true || Boolean(el.getAttribute("data-disabled")) === true || Boolean(el.getAttribute("aria-disabled")) === true;
29
- var isVisible = (el) => el.offsetWidth > 0 && el.offsetHeight > 0;
30
- var hasTabIndex = (el) => el.hasAttribute("tabindex");
31
- var isContentEditable = (el) => {
41
+ }
42
+ function isDisabled(el) {
43
+ return Boolean(el.getAttribute("disabled")) === true || Boolean(el.getAttribute("data-disabled")) === true || Boolean(el.getAttribute("aria-disabled")) === true;
44
+ }
45
+ function isVisible(el) {
46
+ return el.offsetWidth > 0 && el.offsetHeight > 0;
47
+ }
48
+ function hasTabIndex(el) {
49
+ return el.hasAttribute("tabindex");
50
+ }
51
+ function isContentEditable(el) {
32
52
  const value = el.getAttribute("contenteditable");
33
53
  return value !== "false" && value != null;
34
- };
35
- var isContains = (parent, child) => {
54
+ }
55
+ function isContains(parent, child) {
36
56
  return parent === child || (parent == null ? void 0 : parent.contains(child));
37
- };
38
- var getPx = (value) => {
57
+ }
58
+ function getPx(value) {
39
59
  if (isNumber(value)) return value;
40
60
  if (isUndefined(value)) return 0;
41
61
  if (value.includes("px")) return parseFloat(value);
@@ -47,13 +67,17 @@ var getPx = (value) => {
47
67
  if (!isNaN(computedFontSize)) fontSize = computedFontSize;
48
68
  }
49
69
  return parseFloat(value) * fontSize;
50
- };
51
- var getEventRelatedTarget = (ev) => {
70
+ }
71
+ function getEventRelatedTarget(ev) {
52
72
  var _a;
53
73
  return (_a = ev.relatedTarget) != null ? _a : ev.currentTarget.ownerDocument.activeElement;
54
- };
55
- var dataAttr = (condition) => condition ? "" : void 0;
56
- var ariaAttr = (condition) => condition ? true : void 0;
74
+ }
75
+ function dataAttr(condition) {
76
+ return condition ? "" : void 0;
77
+ }
78
+ function ariaAttr(condition) {
79
+ return condition ? true : void 0;
80
+ }
57
81
  var focusableElList = [
58
82
  "input:not(:disabled):not([disabled])",
59
83
  "select:not(:disabled):not([disabled])",
@@ -71,14 +95,14 @@ var focusableElList = [
71
95
  "*[contenteditable]"
72
96
  ];
73
97
  var focusableElSelector = focusableElList.join();
74
- var getAllFocusable = (container) => {
98
+ function getAllFocusable(container) {
75
99
  const focusableEls = Array.from(
76
100
  container.querySelectorAll(focusableElSelector)
77
101
  );
78
102
  focusableEls.unshift(container);
79
103
  return focusableEls.filter((el) => isFocusable(el) && isVisible(el));
80
- };
81
- var isFocusable = (el) => {
104
+ }
105
+ function isFocusable(el) {
82
106
  if (!isHTMLElement(el) || isHidden(el) || isDisabled(el)) {
83
107
  return false;
84
108
  }
@@ -93,19 +117,29 @@ var isFocusable = (el) => {
93
117
  if (localName in others) return others[localName]();
94
118
  if (isContentEditable(el)) return true;
95
119
  return hasTabIndex(el);
96
- };
97
- var hasNegativeTabIndex = (el) => hasTabIndex(el) && el.tabIndex === -1;
98
- var isTabbable = (el) => el ? isHTMLElement(el) && isFocusable(el) && !hasNegativeTabIndex(el) : false;
99
- var isTouchDevice = () => "ontouchstart" in window;
100
- var getOwnerWindow = (node) => {
120
+ }
121
+ function hasNegativeTabIndex(el) {
122
+ return hasTabIndex(el) && el.tabIndex === -1;
123
+ }
124
+ function isTabbable(el) {
125
+ return el ? isHTMLElement(el) && isFocusable(el) && !hasNegativeTabIndex(el) : false;
126
+ }
127
+ function isTouchDevice() {
128
+ return "ontouchstart" in window;
129
+ }
130
+ function getOwnerWindow(node) {
101
131
  var _a, _b;
102
132
  return (_b = (_a = getOwnerDocument(node)) == null ? void 0 : _a.defaultView) != null ? _b : window;
103
- };
104
- var getOwnerDocument = (el) => isElement(el) ? el.ownerDocument : document;
105
- var getActiveElement = (el) => getOwnerDocument(el).activeElement;
106
- var isActiveElement = (el) => {
133
+ }
134
+ function getOwnerDocument(el) {
135
+ return isElement(el) ? el.ownerDocument : document;
136
+ }
137
+ function getActiveElement(el) {
138
+ return getOwnerDocument(el).activeElement;
139
+ }
140
+ function isActiveElement(el) {
107
141
  return getActiveElement(el) === el;
108
- };
142
+ }
109
143
 
110
144
  export {
111
145
  createdDom,
@@ -136,4 +170,4 @@ export {
136
170
  getActiveElement,
137
171
  isActiveElement
138
172
  };
139
- //# sourceMappingURL=chunk-S35WPDIT.mjs.map
173
+ //# sourceMappingURL=chunk-AF6MSVQN.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/dom.ts"],"sourcesContent":["import type React from \"react\"\nimport { isNumber, isUndefined } from \"./assertion\"\n\nexport function createdDom(): boolean {\n return !!(\n typeof window !== \"undefined\" &&\n window.document &&\n window.document.createElement\n )\n}\n\nexport function getPlatform(): string {\n return (navigator as any).userAgentData?.platform ?? navigator.platform\n}\n\nexport function vendor(v: RegExp): boolean {\n return createdDom() && v.test(navigator.vendor)\n}\n\nexport function platform(v: RegExp): boolean {\n return createdDom() && v.test(getPlatform())\n}\n\nexport function isMac(): boolean {\n return platform(/^mac/i)\n}\n\nexport function isApple(): boolean {\n return platform(/mac|iphone|ipad|ipod/i)\n}\n\nexport function isSafari(): boolean {\n return isApple() && vendor(/apple/i)\n}\n\nexport function isElement(el: any): el is Element {\n return (\n el != null &&\n typeof el == \"object\" &&\n \"nodeType\" in el &&\n el.nodeType === Node.ELEMENT_NODE\n )\n}\n\nexport function isHTMLElement(el: any): el is HTMLElement {\n if (!isElement(el)) return false\n\n const win = el.ownerDocument.defaultView ?? window\n\n return el instanceof win.HTMLElement\n}\n\nexport function isHidden(el: HTMLElement): boolean {\n if (el.parentElement && isHidden(el.parentElement)) return true\n\n return el.hidden\n}\n\nexport function isDisabled(el: HTMLElement): boolean {\n return (\n Boolean(el.getAttribute(\"disabled\")) === true ||\n Boolean(el.getAttribute(\"data-disabled\")) === true ||\n Boolean(el.getAttribute(\"aria-disabled\")) === true\n )\n}\n\nfunction isVisible(el: HTMLElement) {\n return el.offsetWidth > 0 && el.offsetHeight > 0\n}\n\nexport function hasTabIndex(el: HTMLElement): boolean {\n return el.hasAttribute(\"tabindex\")\n}\n\nexport function isContentEditable(el: HTMLElement): boolean {\n const value = el.getAttribute(\"contenteditable\")\n\n return value !== \"false\" && value != null\n}\n\nexport function isContains(\n parent: HTMLElement | null,\n child: HTMLElement | null,\n): boolean | undefined {\n return parent === child || parent?.contains(child)\n}\n\nexport function getPx(value: string | number | undefined): number {\n if (isNumber(value)) return value\n\n if (isUndefined(value)) return 0\n\n if (value.includes(\"px\")) return parseFloat(value)\n\n const isBrowser = createdDom()\n let fontSize = 16\n\n if (isBrowser) {\n const style = window.getComputedStyle(document.documentElement)\n\n const computedFontSize = parseFloat(style.fontSize)\n\n if (!isNaN(computedFontSize)) fontSize = computedFontSize\n }\n\n return parseFloat(value) * fontSize\n}\n\nexport function getEventRelatedTarget(ev: React.FocusEvent | React.MouseEvent) {\n return (ev.relatedTarget ??\n ev.currentTarget.ownerDocument.activeElement) as HTMLElement | null\n}\n\ntype Booleanish = boolean | \"true\" | \"false\"\n\nexport function dataAttr(condition: boolean | undefined) {\n return (condition ? \"\" : undefined) as Booleanish\n}\n\nexport function ariaAttr(condition: boolean | undefined): boolean | undefined {\n return condition ? true : undefined\n}\n\nexport interface FocusableElement {\n focus: (options?: FocusOptions) => void\n}\n\nconst focusableElList = [\n \"input:not(:disabled):not([disabled])\",\n \"select:not(:disabled):not([disabled])\",\n \"textarea:not(:disabled):not([disabled])\",\n \"embed\",\n \"iframe\",\n \"object\",\n \"a[href]\",\n \"area[href]\",\n \"button:not(:disabled):not([disabled])\",\n \"[tabindex]\",\n \"audio[controls]\",\n \"video[controls]\",\n \"*[tabindex]:not([aria-disabled])\",\n \"*[contenteditable]\",\n]\n\nconst focusableElSelector: string = focusableElList.join()\n\nexport function getAllFocusable<T extends HTMLElement>(container: T): T[] {\n const focusableEls: T[] = Array.from(\n container.querySelectorAll<T>(focusableElSelector),\n )\n\n focusableEls.unshift(container)\n\n return focusableEls.filter((el) => isFocusable(el) && isVisible(el))\n}\n\nexport function isFocusable(el: HTMLElement): boolean {\n if (!isHTMLElement(el) || isHidden(el) || isDisabled(el)) {\n return false\n }\n\n const { localName } = el\n const focusableTags = [\"input\", \"select\", \"textarea\", \"button\"]\n\n if (focusableTags.indexOf(localName) >= 0) return true\n\n const others = {\n a: () => el.hasAttribute(\"href\"),\n audio: () => el.hasAttribute(\"controls\"),\n video: () => el.hasAttribute(\"controls\"),\n }\n\n if (localName in others) return others[localName as keyof typeof others]()\n\n if (isContentEditable(el)) return true\n\n return hasTabIndex(el)\n}\n\nexport function hasNegativeTabIndex(el: HTMLElement): boolean {\n return hasTabIndex(el) && el.tabIndex === -1\n}\n\nexport function isTabbable(el?: HTMLElement | null): boolean {\n return el\n ? isHTMLElement(el) && isFocusable(el) && !hasNegativeTabIndex(el)\n : false\n}\n\nexport function isTouchDevice(): boolean {\n return \"ontouchstart\" in window\n}\n\nexport function getOwnerWindow(\n node?: Element | null,\n): Window & typeof globalThis {\n return getOwnerDocument(node)?.defaultView ?? window\n}\n\nexport function getOwnerDocument(el?: Element | null): Document {\n return isElement(el) ? el.ownerDocument : document\n}\n\nexport function getActiveElement(el?: HTMLElement): HTMLElement {\n return getOwnerDocument(el).activeElement as HTMLElement\n}\n\nexport function isActiveElement(el: HTMLElement): boolean {\n return getActiveElement(el) === el\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,9 @@
1
+ // src/module.ts
2
+ function interopDefault(module) {
3
+ return module.default || module;
4
+ }
5
+
6
+ export {
7
+ interopDefault
8
+ };
9
+ //# sourceMappingURL=chunk-APJY76CK.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/module.ts"],"sourcesContent":["export function interopDefault<T>(module: T): T {\n return (module as { default: T }).default || module\n}\n"],"mappings":";AAAO,SAAS,eAAkB,QAAc;AAC9C,SAAQ,OAA0B,WAAW;AAC/C;","names":[]}
@@ -1,14 +1,24 @@
1
1
  // src/calc.ts
2
- var toExpression = (operator, ...args) => args.join(` ${operator} `).replace(/calc/g, "");
3
- var add = (...args) => `calc(${toExpression("+", ...args)})`;
4
- var subtract = (...args) => `calc(${toExpression("-", ...args)})`;
5
- var multiply = (...args) => `calc(${toExpression("*", ...args)})`;
6
- var divide = (...args) => `calc(${toExpression("/", ...args)})`;
7
- var negate = (value) => {
2
+ function toExpression(operator, ...args) {
3
+ return args.join(` ${operator} `).replace(/calc/g, "");
4
+ }
5
+ function add(...args) {
6
+ return `calc(${toExpression("+", ...args)})`;
7
+ }
8
+ function subtract(...args) {
9
+ return `calc(${toExpression("-", ...args)})`;
10
+ }
11
+ function multiply(...args) {
12
+ return `calc(${toExpression("*", ...args)})`;
13
+ }
14
+ function divide(...args) {
15
+ return `calc(${toExpression("/", ...args)})`;
16
+ }
17
+ function negate(value) {
8
18
  if (value != null && !isNaN(parseFloat(value.toString())))
9
19
  return String(value).startsWith("-") ? String(value).slice(1) : `-${value}`;
10
20
  return multiply(value, -1);
11
- };
21
+ }
12
22
  var calc = Object.assign(
13
23
  (x) => ({
14
24
  add: (...args) => calc(add(x, ...args)),
@@ -30,4 +40,4 @@ var calc = Object.assign(
30
40
  export {
31
41
  calc
32
42
  };
33
- //# sourceMappingURL=chunk-L56KWSQO.mjs.map
43
+ //# sourceMappingURL=chunk-OM7WYVSS.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/calc.ts"],"sourcesContent":["type Operator = \"+\" | \"-\" | \"*\" | \"/\"\n\nexport type Operand = string | number\n\nfunction toExpression(operator: Operator, ...args: Operand[]) {\n return args.join(` ${operator} `).replace(/calc/g, \"\")\n}\n\nfunction add(...args: Operand[]) {\n return `calc(${toExpression(\"+\", ...args)})`\n}\n\nfunction subtract(...args: Operand[]) {\n return `calc(${toExpression(\"-\", ...args)})`\n}\n\nfunction multiply(...args: Operand[]) {\n return `calc(${toExpression(\"*\", ...args)})`\n}\n\nfunction divide(...args: Operand[]) {\n return `calc(${toExpression(\"/\", ...args)})`\n}\n\nfunction negate(value: Operand) {\n if (value != null && !isNaN(parseFloat(value.toString())))\n return String(value).startsWith(\"-\") ? String(value).slice(1) : `-${value}`\n\n return multiply(value, -1)\n}\n\ninterface Calc {\n add: (...args: Operand[]) => Calc\n subtract: (...args: Operand[]) => Calc\n multiply: (...args: Operand[]) => Calc\n divide: (...args: Operand[]) => Calc\n negate: () => Calc\n toString: () => string\n}\n\nexport const calc = Object.assign(\n (x: Operand): Calc => ({\n add: (...args) => calc(add(x, ...args)),\n subtract: (...args) => calc(subtract(x, ...args)),\n multiply: (...args) => calc(multiply(x, ...args)),\n divide: (...args) => calc(divide(x, ...args)),\n negate: () => calc(negate(x)),\n toString: () => x.toString(),\n }),\n {\n add,\n subtract,\n multiply,\n divide,\n negate,\n },\n)\n"],"mappings":";AAIA,SAAS,aAAa,aAAuB,MAAiB;AAC5D,SAAO,KAAK,KAAK,IAAI,QAAQ,GAAG,EAAE,QAAQ,SAAS,EAAE;AACvD;AAEA,SAAS,OAAO,MAAiB;AAC/B,SAAO,QAAQ,aAAa,KAAK,GAAG,IAAI,CAAC;AAC3C;AAEA,SAAS,YAAY,MAAiB;AACpC,SAAO,QAAQ,aAAa,KAAK,GAAG,IAAI,CAAC;AAC3C;AAEA,SAAS,YAAY,MAAiB;AACpC,SAAO,QAAQ,aAAa,KAAK,GAAG,IAAI,CAAC;AAC3C;AAEA,SAAS,UAAU,MAAiB;AAClC,SAAO,QAAQ,aAAa,KAAK,GAAG,IAAI,CAAC;AAC3C;AAEA,SAAS,OAAO,OAAgB;AAC9B,MAAI,SAAS,QAAQ,CAAC,MAAM,WAAW,MAAM,SAAS,CAAC,CAAC;AACtD,WAAO,OAAO,KAAK,EAAE,WAAW,GAAG,IAAI,OAAO,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,KAAK;AAE3E,SAAO,SAAS,OAAO,EAAE;AAC3B;AAWO,IAAM,OAAO,OAAO;AAAA,EACzB,CAAC,OAAsB;AAAA,IACrB,KAAK,IAAI,SAAS,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC;AAAA,IACtC,UAAU,IAAI,SAAS,KAAK,SAAS,GAAG,GAAG,IAAI,CAAC;AAAA,IAChD,UAAU,IAAI,SAAS,KAAK,SAAS,GAAG,GAAG,IAAI,CAAC;AAAA,IAChD,QAAQ,IAAI,SAAS,KAAK,OAAO,GAAG,GAAG,IAAI,CAAC;AAAA,IAC5C,QAAQ,MAAM,KAAK,OAAO,CAAC,CAAC;AAAA,IAC5B,UAAU,MAAM,EAAE,SAAS;AAAA,EAC7B;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,65 @@
1
+ // src/event.ts
2
+ function isMouseEvent(ev) {
3
+ const win = getEventWindow(ev);
4
+ if (typeof win.PointerEvent !== "undefined" && ev instanceof win.PointerEvent)
5
+ return !!(ev.pointerType === "mouse");
6
+ return ev instanceof win.MouseEvent;
7
+ }
8
+ function isTouchEvent(ev) {
9
+ return !!ev.touches;
10
+ }
11
+ function isMultiTouchEvent(ev) {
12
+ return isTouchEvent(ev) && ev.touches.length > 1;
13
+ }
14
+ function getEventWindow(ev) {
15
+ var _a;
16
+ return (_a = ev.view) != null ? _a : window;
17
+ }
18
+ function pointFromTouch(e, type = "page") {
19
+ const point = e.touches[0] || e.changedTouches[0];
20
+ return { x: point[`${type}X`], y: point[`${type}Y`] };
21
+ }
22
+ function pointFromMouse(point, type = "page") {
23
+ return {
24
+ x: point[`${type}X`],
25
+ y: point[`${type}Y`]
26
+ };
27
+ }
28
+ function getEventPoint(ev, type = "page") {
29
+ return isTouchEvent(ev) ? pointFromTouch(ev, type) : pointFromMouse(ev, type);
30
+ }
31
+ function addDomEvent(target, type, cb, options) {
32
+ target.addEventListener(type, cb, options);
33
+ return () => {
34
+ target.removeEventListener(type, cb, options);
35
+ };
36
+ }
37
+ function filter(cb) {
38
+ return function(ev) {
39
+ const isMouse = isMouseEvent(ev);
40
+ if (!isMouse || isMouse && ev.button === 0) cb(ev);
41
+ };
42
+ }
43
+ function wrap(cb, filterPrimary = false) {
44
+ function listener(ev) {
45
+ return cb(ev, { point: getEventPoint(ev) });
46
+ }
47
+ const fn = filterPrimary ? filter(listener) : listener;
48
+ return fn;
49
+ }
50
+ function addPointerEvent(target, type, cb, options) {
51
+ return addDomEvent(target, type, wrap(cb, type === "pointerdown"), options);
52
+ }
53
+
54
+ export {
55
+ isMouseEvent,
56
+ isTouchEvent,
57
+ isMultiTouchEvent,
58
+ getEventWindow,
59
+ pointFromTouch,
60
+ pointFromMouse,
61
+ getEventPoint,
62
+ addDomEvent,
63
+ addPointerEvent
64
+ };
65
+ //# sourceMappingURL=chunk-QTCZ2LU5.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/event.ts"],"sourcesContent":["export type AnyPointerEvent = MouseEvent | TouchEvent | PointerEvent\n\nexport type PointType = \"page\" | \"client\"\n\nexport interface Point {\n x: number\n y: number\n}\n\nexport interface PointerEventInfo {\n point: Point\n}\n\nexport type MixedEventListener = (\n e: AnyPointerEvent,\n info: PointerEventInfo,\n) => void\n\nexport function isMouseEvent(ev: any): ev is MouseEvent {\n const win = getEventWindow(ev)\n\n if (typeof win.PointerEvent !== \"undefined\" && ev instanceof win.PointerEvent)\n return !!(ev.pointerType === \"mouse\")\n\n return ev instanceof win.MouseEvent\n}\n\nexport function isTouchEvent(ev: AnyPointerEvent): ev is TouchEvent {\n return !!(ev as TouchEvent).touches\n}\n\nexport function isMultiTouchEvent(ev: AnyPointerEvent) {\n return isTouchEvent(ev) && ev.touches.length > 1\n}\n\nexport function getEventWindow(ev: Event): typeof globalThis {\n return ((ev as UIEvent).view ?? window) as unknown as typeof globalThis\n}\n\nexport function pointFromTouch(e: TouchEvent, type: PointType = \"page\") {\n const point = e.touches[0] || e.changedTouches[0]\n\n return { x: point[`${type}X`], y: point[`${type}Y`] }\n}\n\nexport function pointFromMouse(\n point: MouseEvent | PointerEvent,\n type: PointType = \"page\",\n) {\n return {\n x: point[`${type}X`],\n y: point[`${type}Y`],\n }\n}\n\nexport function getEventPoint(ev: AnyPointerEvent, type: PointType = \"page\") {\n return isTouchEvent(ev) ? pointFromTouch(ev, type) : pointFromMouse(ev, type)\n}\n\nexport function addDomEvent(\n target: EventTarget,\n type: string,\n cb: EventListener,\n options?: AddEventListenerOptions,\n) {\n target.addEventListener(type, cb, options)\n\n return () => {\n target.removeEventListener(type, cb, options)\n }\n}\n\nfunction filter(cb: EventListener): EventListener {\n return function (ev: Event) {\n const isMouse = isMouseEvent(ev)\n\n if (!isMouse || (isMouse && ev.button === 0)) cb(ev)\n }\n}\n\nfunction wrap(cb: MixedEventListener, filterPrimary = false): EventListener {\n function listener(ev: any) {\n return cb(ev, { point: getEventPoint(ev) })\n }\n\n const fn = filterPrimary ? filter(listener) : listener\n\n return fn as EventListener\n}\n\nexport function addPointerEvent(\n target: EventTarget,\n type: string,\n cb: MixedEventListener,\n options?: AddEventListenerOptions,\n) {\n return addDomEvent(target, type, wrap(cb, type === \"pointerdown\"), options)\n}\n"],"mappings":";AAkBO,SAAS,aAAa,IAA2B;AACtD,QAAM,MAAM,eAAe,EAAE;AAE7B,MAAI,OAAO,IAAI,iBAAiB,eAAe,cAAc,IAAI;AAC/D,WAAO,CAAC,EAAE,GAAG,gBAAgB;AAE/B,SAAO,cAAc,IAAI;AAC3B;AAEO,SAAS,aAAa,IAAuC;AAClE,SAAO,CAAC,CAAE,GAAkB;AAC9B;AAEO,SAAS,kBAAkB,IAAqB;AACrD,SAAO,aAAa,EAAE,KAAK,GAAG,QAAQ,SAAS;AACjD;AAEO,SAAS,eAAe,IAA8B;AAnC7D;AAoCE,UAAS,QAAe,SAAf,YAAuB;AAClC;AAEO,SAAS,eAAe,GAAe,OAAkB,QAAQ;AACtE,QAAM,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;AAEhD,SAAO,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,EAAE;AACtD;AAEO,SAAS,eACd,OACA,OAAkB,QAClB;AACA,SAAO;AAAA,IACL,GAAG,MAAM,GAAG,IAAI,GAAG;AAAA,IACnB,GAAG,MAAM,GAAG,IAAI,GAAG;AAAA,EACrB;AACF;AAEO,SAAS,cAAc,IAAqB,OAAkB,QAAQ;AAC3E,SAAO,aAAa,EAAE,IAAI,eAAe,IAAI,IAAI,IAAI,eAAe,IAAI,IAAI;AAC9E;AAEO,SAAS,YACd,QACA,MACA,IACA,SACA;AACA,SAAO,iBAAiB,MAAM,IAAI,OAAO;AAEzC,SAAO,MAAM;AACX,WAAO,oBAAoB,MAAM,IAAI,OAAO;AAAA,EAC9C;AACF;AAEA,SAAS,OAAO,IAAkC;AAChD,SAAO,SAAU,IAAW;AAC1B,UAAM,UAAU,aAAa,EAAE;AAE/B,QAAI,CAAC,WAAY,WAAW,GAAG,WAAW,EAAI,IAAG,EAAE;AAAA,EACrD;AACF;AAEA,SAAS,KAAK,IAAwB,gBAAgB,OAAsB;AAC1E,WAAS,SAAS,IAAS;AACzB,WAAO,GAAG,IAAI,EAAE,OAAO,cAAc,EAAE,EAAE,CAAC;AAAA,EAC5C;AAEA,QAAM,KAAK,gBAAgB,OAAO,QAAQ,IAAI;AAE9C,SAAO;AACT;AAEO,SAAS,gBACd,QACA,MACA,IACA,SACA;AACA,SAAO,YAAY,QAAQ,MAAM,KAAK,IAAI,SAAS,aAAa,GAAG,OAAO;AAC5E;","names":[]}
@@ -0,0 +1,31 @@
1
+ import {
2
+ isFunction
3
+ } from "./chunk-Z4AGSEWZ.mjs";
4
+
5
+ // src/function.ts
6
+ var noop = () => {
7
+ };
8
+ function runIfFunc(valOrFunc, ...args) {
9
+ return isFunction(valOrFunc) ? valOrFunc(...args) : valOrFunc;
10
+ }
11
+ function handlerAll(...funcs) {
12
+ return function(event, ...args) {
13
+ funcs.some((func) => {
14
+ func == null ? void 0 : func(event, ...args);
15
+ return event == null ? void 0 : event.defaultPrevented;
16
+ });
17
+ };
18
+ }
19
+ function funcAll(...funcs) {
20
+ return function(...args) {
21
+ return funcs.forEach((func) => func == null ? void 0 : func(...args));
22
+ };
23
+ }
24
+
25
+ export {
26
+ noop,
27
+ runIfFunc,
28
+ handlerAll,
29
+ funcAll
30
+ };
31
+ //# sourceMappingURL=chunk-RCW53QOG.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/function.ts"],"sourcesContent":["import { isFunction } from \"./assertion\"\n\nexport const noop = () => {}\n\nexport function runIfFunc<T, U extends any[]>(\n valOrFunc: T | ((...funcArgs: U) => T),\n ...args: U\n): T {\n return isFunction(valOrFunc) ? valOrFunc(...args) : valOrFunc\n}\n\nexport function handlerAll<T extends (event: any, ...args: any[]) => void>(\n ...funcs: (T | undefined)[]\n) {\n return function (\n event: T extends (event: infer R, ...args: any[]) => any ? R : never,\n ...args: T extends (event: any, ...args: infer R) => any ? R : never\n ) {\n funcs.some((func) => {\n func?.(event, ...args)\n\n return event?.defaultPrevented\n })\n }\n}\n\nexport function funcAll<T extends (...args: any[]) => any>(\n ...funcs: (T | undefined)[]\n) {\n return function (...args: T extends (...args: infer R) => any ? R : never) {\n return funcs.forEach((func) => func?.(...args))\n }\n}\n"],"mappings":";;;;;AAEO,IAAM,OAAO,MAAM;AAAC;AAEpB,SAAS,UACd,cACG,MACA;AACH,SAAO,WAAW,SAAS,IAAI,UAAU,GAAG,IAAI,IAAI;AACtD;AAEO,SAAS,cACX,OACH;AACA,SAAO,SACL,UACG,MACH;AACA,UAAM,KAAK,CAAC,SAAS;AACnB,mCAAO,OAAO,GAAG;AAEjB,aAAO,+BAAO;AAAA,IAChB,CAAC;AAAA,EACH;AACF;AAEO,SAAS,WACX,OACH;AACA,SAAO,YAAa,MAAuD;AACzE,WAAO,MAAM,QAAQ,CAAC,SAAS,6BAAO,GAAG,KAAK;AAAA,EAChD;AACF;","names":[]}