@yamada-ui/utils 2.0.0-dev-20240531201720 → 2.0.0-dev-20250626073729

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 (171) hide show
  1. package/README.md +7 -13
  2. package/dist/cjs/_virtual/rolldown_runtime.cjs +30 -0
  3. package/dist/cjs/array.cjs +14 -0
  4. package/dist/cjs/array.cjs.map +1 -0
  5. package/dist/cjs/assertion.cjs +73 -0
  6. package/dist/cjs/assertion.cjs.map +1 -0
  7. package/dist/cjs/calc.cjs +39 -0
  8. package/dist/cjs/calc.cjs.map +1 -0
  9. package/dist/cjs/color.cjs +247 -0
  10. package/dist/cjs/color.cjs.map +1 -0
  11. package/dist/cjs/dom.cjs +378 -0
  12. package/dist/cjs/dom.cjs.map +1 -0
  13. package/dist/cjs/event.cjs +92 -0
  14. package/dist/cjs/event.cjs.map +1 -0
  15. package/dist/cjs/function.cjs +27 -0
  16. package/dist/cjs/function.cjs.map +1 -0
  17. package/dist/cjs/i18n.cjs +46 -0
  18. package/dist/cjs/i18n.cjs.map +1 -0
  19. package/dist/cjs/index.cjs +148 -0
  20. package/dist/cjs/index.types.cjs +0 -0
  21. package/dist/cjs/module.cjs +9 -0
  22. package/dist/cjs/module.cjs.map +1 -0
  23. package/dist/cjs/number.cjs +46 -0
  24. package/dist/cjs/number.cjs.map +1 -0
  25. package/dist/cjs/object.cjs +120 -0
  26. package/dist/cjs/object.cjs.map +1 -0
  27. package/dist/cjs/string.cjs +95 -0
  28. package/dist/cjs/string.cjs.map +1 -0
  29. package/dist/esm/array.js +13 -0
  30. package/dist/esm/array.js.map +1 -0
  31. package/dist/esm/assertion.js +56 -0
  32. package/dist/esm/assertion.js.map +1 -0
  33. package/dist/esm/calc.js +38 -0
  34. package/dist/esm/calc.js.map +1 -0
  35. package/dist/esm/color.js +232 -0
  36. package/dist/esm/color.js.map +1 -0
  37. package/dist/esm/dom.js +325 -0
  38. package/dist/esm/dom.js.map +1 -0
  39. package/dist/esm/event.js +83 -0
  40. package/dist/esm/event.js.map +1 -0
  41. package/dist/esm/function.js +24 -0
  42. package/dist/esm/function.js.map +1 -0
  43. package/dist/esm/i18n.js +45 -0
  44. package/dist/esm/i18n.js.map +1 -0
  45. package/dist/esm/index.js +14 -0
  46. package/dist/esm/index.types.js +0 -0
  47. package/dist/esm/module.js +8 -0
  48. package/dist/esm/module.js.map +1 -0
  49. package/dist/esm/number.js +39 -0
  50. package/dist/esm/number.js.map +1 -0
  51. package/dist/esm/object.js +108 -0
  52. package/dist/esm/object.js.map +1 -0
  53. package/dist/esm/string.js +86 -0
  54. package/dist/esm/string.js.map +1 -0
  55. package/dist/types/array.d.ts +6 -0
  56. package/dist/types/assertion.d.ts +23 -0
  57. package/dist/types/calc.d.ts +25 -0
  58. package/dist/types/color.d.ts +20 -0
  59. package/dist/types/dom.d.ts +61 -0
  60. package/dist/types/event.d.ts +21 -0
  61. package/dist/types/function.d.ts +8 -0
  62. package/dist/types/i18n.d.ts +5 -0
  63. package/dist/types/index.d.ts +14 -0
  64. package/dist/types/index.types.d.ts +15 -0
  65. package/dist/types/module.d.ts +5 -0
  66. package/dist/types/number.d.ts +11 -0
  67. package/dist/types/object.d.ts +36 -0
  68. package/dist/types/string.d.ts +16 -0
  69. package/package.json +26 -27
  70. package/dist/array.d.mts +0 -3
  71. package/dist/array.d.ts +0 -3
  72. package/dist/array.js +0 -31
  73. package/dist/array.js.map +0 -1
  74. package/dist/array.mjs +0 -7
  75. package/dist/array.mjs.map +0 -1
  76. package/dist/assertion.d.mts +0 -17
  77. package/dist/assertion.d.ts +0 -17
  78. package/dist/assertion.js +0 -67
  79. package/dist/assertion.js.map +0 -1
  80. package/dist/assertion.mjs +0 -31
  81. package/dist/assertion.mjs.map +0 -1
  82. package/dist/calc.d.mts +0 -18
  83. package/dist/calc.d.ts +0 -18
  84. package/dist/calc.js +0 -57
  85. package/dist/calc.js.map +0 -1
  86. package/dist/calc.mjs +0 -7
  87. package/dist/calc.mjs.map +0 -1
  88. package/dist/chunk-5OUUTZYQ.mjs +0 -7
  89. package/dist/chunk-5OUUTZYQ.mjs.map +0 -1
  90. package/dist/chunk-A74F6ICI.mjs +0 -52
  91. package/dist/chunk-A74F6ICI.mjs.map +0 -1
  92. package/dist/chunk-L56KWSQO.mjs +0 -33
  93. package/dist/chunk-L56KWSQO.mjs.map +0 -1
  94. package/dist/chunk-L76GM3GN.mjs +0 -50
  95. package/dist/chunk-L76GM3GN.mjs.map +0 -1
  96. package/dist/chunk-P52P4NMT.mjs +0 -41
  97. package/dist/chunk-P52P4NMT.mjs.map +0 -1
  98. package/dist/chunk-P5JCSYB3.mjs +0 -31
  99. package/dist/chunk-P5JCSYB3.mjs.map +0 -1
  100. package/dist/chunk-PZXEZGEL.mjs +0 -811
  101. package/dist/chunk-PZXEZGEL.mjs.map +0 -1
  102. package/dist/chunk-RSDBT4DI.mjs +0 -1
  103. package/dist/chunk-RSDBT4DI.mjs.map +0 -1
  104. package/dist/chunk-WV6P7ZCI.mjs +0 -7
  105. package/dist/chunk-WV6P7ZCI.mjs.map +0 -1
  106. package/dist/color.d.mts +0 -33
  107. package/dist/color.d.ts +0 -33
  108. package/dist/color.js +0 -374
  109. package/dist/color.js.map +0 -1
  110. package/dist/color.mjs +0 -61
  111. package/dist/color.mjs.map +0 -1
  112. package/dist/dom.d.mts +0 -34
  113. package/dist/dom.d.ts +0 -34
  114. package/dist/dom.js +0 -196
  115. package/dist/dom.js.map +0 -1
  116. package/dist/dom.mjs +0 -65
  117. package/dist/dom.mjs.map +0 -1
  118. package/dist/event.d.mts +0 -30
  119. package/dist/event.d.ts +0 -30
  120. package/dist/event.js +0 -84
  121. package/dist/event.js.map +0 -1
  122. package/dist/event.mjs +0 -23
  123. package/dist/event.mjs.map +0 -1
  124. package/dist/function.d.mts +0 -6
  125. package/dist/function.d.ts +0 -6
  126. package/dist/function.js +0 -51
  127. package/dist/function.js.map +0 -1
  128. package/dist/function.mjs +0 -21
  129. package/dist/function.mjs.map +0 -1
  130. package/dist/index.d.mts +0 -14
  131. package/dist/index.d.ts +0 -14
  132. package/dist/index.js +0 -1162
  133. package/dist/index.js.map +0 -1
  134. package/dist/index.mjs +0 -270
  135. package/dist/index.mjs.map +0 -1
  136. package/dist/index.types.d.mts +0 -12
  137. package/dist/index.types.d.ts +0 -12
  138. package/dist/index.types.js +0 -19
  139. package/dist/index.types.js.map +0 -1
  140. package/dist/index.types.mjs +0 -2
  141. package/dist/index.types.mjs.map +0 -1
  142. package/dist/module.d.mts +0 -3
  143. package/dist/module.d.ts +0 -3
  144. package/dist/module.js +0 -31
  145. package/dist/module.js.map +0 -1
  146. package/dist/module.mjs +0 -7
  147. package/dist/module.mjs.map +0 -1
  148. package/dist/number.d.mts +0 -9
  149. package/dist/number.d.ts +0 -9
  150. package/dist/number.js +0 -71
  151. package/dist/number.js.map +0 -1
  152. package/dist/number.mjs +0 -19
  153. package/dist/number.mjs.map +0 -1
  154. package/dist/object.d.mts +0 -18
  155. package/dist/object.d.ts +0 -18
  156. package/dist/object.js +0 -220
  157. package/dist/object.js.map +0 -1
  158. package/dist/object.mjs +0 -41
  159. package/dist/object.mjs.map +0 -1
  160. package/dist/react.d.mts +0 -105
  161. package/dist/react.d.ts +0 -105
  162. package/dist/react.js +0 -258
  163. package/dist/react.js.map +0 -1
  164. package/dist/react.mjs +0 -55
  165. package/dist/react.mjs.map +0 -1
  166. package/dist/string.d.mts +0 -8
  167. package/dist/string.d.ts +0 -8
  168. package/dist/string.js +0 -77
  169. package/dist/string.js.map +0 -1
  170. package/dist/string.mjs +0 -13
  171. package/dist/string.mjs.map +0 -1
package/dist/index.js DELETED
@@ -1,1162 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
- // src/index.ts
31
- var src_exports = {};
32
- __export(src_exports, {
33
- addDomEvent: () => addDomEvent,
34
- addPointerEvent: () => addPointerEvent,
35
- alphaToHex: () => alphaToHex,
36
- antonym: () => antonym,
37
- ariaAttr: () => ariaAttr,
38
- assignAfter: () => assignAfter,
39
- assignRef: () => assignRef,
40
- calc: () => calc,
41
- calcFormat: () => calcFormat,
42
- cast: () => cast,
43
- clampNumber: () => clampNumber,
44
- convertColor: () => convertColor,
45
- countDecimal: () => countDecimal,
46
- createContext: () => createContext2,
47
- createId: () => createId,
48
- createdDom: () => createdDom,
49
- cx: () => cx,
50
- darkenColor: () => darkenColor,
51
- dataAttr: () => dataAttr,
52
- escape: () => escape,
53
- filterEmpty: () => filterEmpty,
54
- filterObject: () => filterObject,
55
- filterUndefined: () => filterUndefined,
56
- findChildren: () => findChildren,
57
- flattenObject: () => flattenObject,
58
- funcAll: () => funcAll,
59
- getActiveElement: () => getActiveElement,
60
- getAllFocusable: () => getAllFocusable,
61
- getAlpha: () => getAlpha,
62
- getColor: () => getColor,
63
- getEventPoint: () => getEventPoint,
64
- getEventRelatedTarget: () => getEventRelatedTarget,
65
- getEventWindow: () => getEventWindow,
66
- getMemoizedObject: () => getMemoizedObject,
67
- getObject: () => getObject,
68
- getOwnerDocument: () => getOwnerDocument,
69
- getOwnerWindow: () => getOwnerWindow,
70
- getPlatform: () => getPlatform,
71
- getPx: () => getPx,
72
- getValidChildren: () => getValidChildren,
73
- handlerAll: () => handlerAll,
74
- hasNegativeTabIndex: () => hasNegativeTabIndex,
75
- hasTabIndex: () => hasTabIndex,
76
- hslaTo: () => hslaTo,
77
- hsvTo: () => hsvTo,
78
- includesChildren: () => includesChildren,
79
- interopDefault: () => interopDefault,
80
- isAccessible: () => isAccessible,
81
- isActiveElement: () => isActiveElement,
82
- isApple: () => isApple,
83
- isArray: () => isArray,
84
- isBoolean: () => isBoolean,
85
- isContains: () => isContains,
86
- isContentEditable: () => isContentEditable,
87
- isDark: () => isDark,
88
- isDisabled: () => isDisabled,
89
- isElement: () => isElement,
90
- isEmpty: () => isEmpty,
91
- isFocusable: () => isFocusable,
92
- isFunction: () => isFunction,
93
- isGray: () => isGray,
94
- isHTMLElement: () => isHTMLElement,
95
- isHidden: () => isHidden,
96
- isLight: () => isLight,
97
- isMac: () => isMac,
98
- isMouseEvent: () => isMouseEvent,
99
- isMultiTouchEvent: () => isMultiTouchEvent,
100
- isNotNumber: () => isNotNumber,
101
- isNull: () => isNull,
102
- isNumber: () => isNumber,
103
- isNumeric: () => isNumeric,
104
- isObject: () => isObject,
105
- isRefObject: () => isRefObject,
106
- isSafari: () => isSafari,
107
- isString: () => isString,
108
- isTabbable: () => isTabbable,
109
- isTone: () => isTone,
110
- isTouchEvent: () => isTouchEvent,
111
- isUndefined: () => isUndefined,
112
- isUnit: () => isUnit,
113
- isValidElement: () => isValidElement2,
114
- keysFormObject: () => keysFormObject,
115
- lightenColor: () => lightenColor,
116
- memoizeObject: () => memoizeObject,
117
- merge: () => merge,
118
- mergeRefs: () => mergeRefs,
119
- noop: () => noop,
120
- objectFromEntries: () => objectFromEntries,
121
- omitChildren: () => omitChildren,
122
- omitObject: () => omitObject,
123
- parseToHsla: () => parseToHsla2,
124
- parseToHsv: () => parseToHsv,
125
- parseToRgba: () => parseToRgba2,
126
- percentToValue: () => percentToValue,
127
- pickChildren: () => pickChildren,
128
- pickObject: () => pickObject,
129
- platform: () => platform,
130
- pointFromMouse: () => pointFromMouse,
131
- pointFromTouch: () => pointFromTouch,
132
- randomColor: () => randomColor,
133
- replaceObject: () => replaceObject,
134
- rgbaTo: () => rgbaTo,
135
- roundNumberToStep: () => roundNumberToStep,
136
- runIfFunc: () => runIfFunc,
137
- sameColor: () => sameColor,
138
- shadeColor: () => shadeColor,
139
- splitObject: () => splitObject,
140
- tintColor: () => tintColor,
141
- toCamelCase: () => toCamelCase,
142
- toKebabCase: () => toKebabCase,
143
- toNumber: () => toNumber,
144
- toPrecision: () => toPrecision,
145
- tones: () => tones,
146
- transparentizeColor: () => transparentizeColor,
147
- useAsync: () => useAsync,
148
- useAsyncFunc: () => useAsyncFunc,
149
- useAsyncRetry: () => useAsyncRetry,
150
- useCallbackRef: () => useCallbackRef,
151
- useIsMounted: () => useIsMounted,
152
- useMergeRefs: () => useMergeRefs,
153
- useSafeLayoutEffect: () => useSafeLayoutEffect,
154
- useUnmountEffect: () => useUnmountEffect,
155
- useUpdateEffect: () => useUpdateEffect,
156
- valueToPercent: () => valueToPercent,
157
- vendor: () => vendor
158
- });
159
- module.exports = __toCommonJS(src_exports);
160
-
161
- // src/assertion.ts
162
- var isNumber = (value) => typeof value === "number";
163
- var isNotNumber = (value) => typeof value !== "number" || Number.isNaN(value) || !Number.isFinite(value);
164
- var isNumeric = (value) => value != null && parseFloat(value.toString()) - parseFloat(value.toString()) + 1 >= 0;
165
- var isString = (value) => Object.prototype.toString.call(value) === "[object String]";
166
- var isBoolean = (value) => typeof value === "boolean";
167
- var isUndefined = (value) => typeof value === "undefined" && value === void 0;
168
- var isNull = (value) => value === null;
169
- var isObject = (value) => value !== null && (typeof value === "object" || typeof value === "function") && !isArray(value);
170
- var isArray = (value) => Array.isArray(value);
171
- var isEmpty = (value) => !isArray(value) || !value.length || value.every((v) => v == null);
172
- var isFunction = (value) => typeof value === "function";
173
- var isUnit = (value) => /[0-9].*[px|rem|em|%|vw|vh]$/.test(value);
174
- var cast = (value) => value;
175
-
176
- // src/object.ts
177
- var omitObjectHelper = (obj, path) => {
178
- if (!path.length)
179
- return obj;
180
- const [primaryKey, ...restKeys] = path;
181
- if (restKeys.length === 0 && primaryKey in obj) {
182
- const { [primaryKey]: _, ...rest } = obj;
183
- return rest;
184
- }
185
- if (obj[primaryKey] && isObject(obj[primaryKey])) {
186
- return {
187
- ...obj,
188
- [primaryKey]: omitObjectHelper(obj[primaryKey], restKeys)
189
- };
190
- }
191
- return obj;
192
- };
193
- var omitObject = (obj, keys) => {
194
- return keys.reduce((prev, key) => {
195
- const path = isString(key) ? key.split(".") : [];
196
- return omitObjectHelper(prev, path);
197
- }, obj);
198
- };
199
- var pickObject = (obj, keys, fallbackValue = "__fallback") => keys.reduce((prev, key) => {
200
- const path = isString(key) ? key.split(".") : [];
201
- if (!path.length)
202
- return prev;
203
- const value = getMemoizedObject(obj, key, fallbackValue);
204
- if (value === fallbackValue)
205
- return prev;
206
- prev = merge(
207
- prev,
208
- path.reduceRight(
209
- (prev2, key2) => ({ [key2]: key2 === path.at(-1) ? value : prev2 }),
210
- {}
211
- )
212
- );
213
- return prev;
214
- }, {});
215
- var splitObject = (obj, keys) => {
216
- const picked = {};
217
- const omitted = {};
218
- for (const [key, value] of Object.entries(obj)) {
219
- if (keys.includes(key)) {
220
- picked[key] = value;
221
- } else {
222
- omitted[key] = value;
223
- }
224
- }
225
- return [picked, omitted];
226
- };
227
- var filterObject = (obj, func) => {
228
- const result = {};
229
- Object.entries(obj).forEach(([key, value]) => {
230
- const shouldPass = func(key, value, obj);
231
- if (shouldPass)
232
- result[key] = value;
233
- });
234
- return result;
235
- };
236
- var filterUndefined = (obj) => filterObject(obj, (_, val) => val !== null && val !== void 0);
237
- var merge = (target, source, mergeArray = false) => {
238
- let result = Object.assign({}, target);
239
- if (isObject(source)) {
240
- if (isObject(target)) {
241
- for (const [sourceKey, sourceValue] of Object.entries(source)) {
242
- const targetValue = target[sourceKey];
243
- if (mergeArray && isArray(sourceValue) && isArray(targetValue)) {
244
- result[sourceKey] = targetValue.concat(...sourceValue);
245
- } else if (!isFunction(sourceValue) && isObject(sourceValue) && target.hasOwnProperty(sourceKey)) {
246
- result[sourceKey] = merge(targetValue, sourceValue, mergeArray);
247
- } else {
248
- Object.assign(result, { [sourceKey]: sourceValue });
249
- }
250
- }
251
- } else {
252
- result = source;
253
- }
254
- }
255
- return result;
256
- };
257
- var flattenObject = (obj, maxDepth = Infinity, omitKeys = []) => {
258
- if (!isObject(obj) && !isArray(obj) || !maxDepth)
259
- return obj;
260
- return Object.entries(obj).reduce((result, [key, value]) => {
261
- if (isObject(value) && !Object.keys(value).some((key2) => omitKeys.includes(key2))) {
262
- Object.entries(flattenObject(value, maxDepth - 1, omitKeys)).forEach(
263
- ([childKey, childValue]) => {
264
- result[`${key}.${childKey}`] = childValue;
265
- }
266
- );
267
- } else {
268
- result[key] = value;
269
- }
270
- return result;
271
- }, {});
272
- };
273
- var objectFromEntries = (entries) => entries.reduce((result, [key, value]) => {
274
- result[key] = value;
275
- return result;
276
- }, {});
277
- var keysFormObject = (obj) => Object.keys(obj);
278
- var replaceObject = (objOrArray, callBack) => {
279
- if (isArray(objOrArray)) {
280
- return objOrArray.map(callBack);
281
- } else if (isObject(objOrArray)) {
282
- return Object.entries(objOrArray).reduce((obj, [key, value]) => {
283
- obj[key] = callBack(value);
284
- return obj;
285
- }, {});
286
- } else {
287
- return callBack(objOrArray);
288
- }
289
- };
290
- var getObject = (obj, path, fallback, i) => {
291
- const k = typeof path === "string" ? path.split(".") : [path];
292
- for (i = 0; i < k.length; i += 1) {
293
- if (!obj)
294
- break;
295
- obj = obj[k[i]];
296
- }
297
- return obj === void 0 ? fallback : obj;
298
- };
299
- var memoizeObject = (func) => {
300
- const cache = /* @__PURE__ */ new WeakMap();
301
- 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());
306
- const map = cache.get(obj);
307
- if (map.has(path))
308
- return map.get(path);
309
- const value = func(obj, path, fallback, i);
310
- map.set(path, value);
311
- return value;
312
- };
313
- return memoizedFunc;
314
- };
315
- var getMemoizedObject = memoizeObject(getObject);
316
- var assignAfter = (target, ...sources) => {
317
- if (target == null)
318
- throw new TypeError("Cannot convert undefined or null to object");
319
- const result = { ...target };
320
- for (const nextSource of sources) {
321
- if (nextSource == null)
322
- continue;
323
- for (const nextKey in nextSource) {
324
- if (!Object.prototype.hasOwnProperty.call(nextSource, nextKey))
325
- continue;
326
- if (nextKey in result)
327
- delete result[nextKey];
328
- result[nextKey] = nextSource[nextKey];
329
- }
330
- }
331
- return result;
332
- };
333
-
334
- // src/function.ts
335
- var noop = () => {
336
- };
337
- var runIfFunc = (valOrFunc, ...args) => isFunction(valOrFunc) ? valOrFunc(...args) : valOrFunc;
338
- var handlerAll = (...funcs) => (event, ...args) => {
339
- funcs.some((func) => {
340
- func == null ? void 0 : func(event, ...args);
341
- return event == null ? void 0 : event.defaultPrevented;
342
- });
343
- };
344
- var funcAll = (...funcs) => (...args) => funcs.forEach((func) => func == null ? void 0 : func(...args));
345
-
346
- // src/react.tsx
347
- var React = __toESM(require("react"));
348
- var createContext2 = ({
349
- strict = true,
350
- errorMessage = "useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",
351
- name,
352
- defaultValue
353
- } = {}) => {
354
- const Context = React.createContext(defaultValue);
355
- Context.displayName = name;
356
- const useContext2 = () => {
357
- var _a;
358
- const context = React.useContext(Context);
359
- if (!context && strict) {
360
- const error = new Error(errorMessage);
361
- error.name = "ContextError";
362
- (_a = Error.captureStackTrace) == null ? void 0 : _a.call(Error, error, useContext2);
363
- throw error;
364
- }
365
- return context;
366
- };
367
- return [
368
- Context.Provider,
369
- useContext2,
370
- Context
371
- ];
372
- };
373
- var useSafeLayoutEffect = Boolean(globalThis == null ? void 0 : globalThis.document) ? React.useLayoutEffect : React.useEffect;
374
- var useUnmountEffect = (callback) => (
375
- // eslint-disable-next-line react-hooks/exhaustive-deps
376
- React.useEffect(() => () => callback(), [])
377
- );
378
- var useIsMounted = ({
379
- rerender = false,
380
- delay = 0
381
- } = {}) => {
382
- const isMountedRef = React.useRef(false);
383
- const [isMounted, setIsMounted] = React.useState(false);
384
- useSafeLayoutEffect(() => {
385
- isMountedRef.current = true;
386
- let timeoutId = null;
387
- if (rerender) {
388
- if (delay > 0) {
389
- timeoutId = setTimeout(() => setIsMounted(true), delay);
390
- } else {
391
- setIsMounted(true);
392
- }
393
- }
394
- return () => {
395
- isMountedRef.current = false;
396
- if (rerender)
397
- setIsMounted(false);
398
- if (timeoutId)
399
- clearTimeout(timeoutId);
400
- };
401
- }, [delay, rerender]);
402
- return [React.useCallback(() => isMountedRef.current, []), isMounted];
403
- };
404
- var getValidChildren = (children) => React.Children.toArray(children).filter(
405
- (child) => React.isValidElement(child)
406
- );
407
- var isValidElement2 = (child) => React.isValidElement(child) || isString(child) || isNumber(child);
408
- var findChildren = (children, ...types) => children.find((child) => types.some((type) => child.type === type)) ? children.sort(
409
- (a, b) => types.some((type) => a.type === type) ? -1 : types.some((type) => b.type === type) ? 1 : 0
410
- ) : [void 0, ...children];
411
- var includesChildren = (children, ...types) => children.some((child) => {
412
- if (types.some((type) => child.type === type))
413
- return true;
414
- const children2 = getValidChildren(child.props.children);
415
- return children2.length ? includesChildren(children2, ...types) : false;
416
- });
417
- var omitChildren = (children, ...types) => children.filter((child) => types.every((type) => child.type !== type));
418
- var pickChildren = (children, ...types) => children.filter((child) => types.every((type) => child.type === type));
419
- var cx = (...classNames) => classNames.filter(Boolean).join(" ");
420
- var isRefObject = (val) => isObject(val) && "current" in val;
421
- var assignRef = (ref, value) => {
422
- if (ref == null)
423
- return;
424
- if (typeof ref === "function") {
425
- ref(value);
426
- return;
427
- }
428
- try {
429
- ref.current = value;
430
- } catch (error) {
431
- throw new Error(`Cannot assign value '${value}' to ref '${ref}'`);
432
- }
433
- };
434
- var mergeRefs = (...refs) => (node) => {
435
- refs.forEach((ref) => {
436
- assignRef(ref, node);
437
- });
438
- };
439
- var useMergeRefs = (...refs) => React.useMemo(() => mergeRefs(...refs), [refs]);
440
- var useCallbackRef = (callback, deps = []) => {
441
- const callbackRef = React.useRef(callback);
442
- React.useEffect(() => {
443
- callbackRef.current = callback;
444
- });
445
- return React.useCallback(
446
- (...args) => {
447
- var _a;
448
- return (_a = callbackRef.current) == null ? void 0 : _a.call(callbackRef, ...args);
449
- },
450
- deps
451
- );
452
- };
453
- var useUpdateEffect = (callback, deps) => {
454
- const renderCycleRef = React.useRef(false);
455
- const effectCycleRef = React.useRef(false);
456
- React.useEffect(() => {
457
- const mounted = renderCycleRef.current;
458
- const run = mounted && effectCycleRef.current;
459
- if (run)
460
- return callback();
461
- effectCycleRef.current = true;
462
- }, deps);
463
- React.useEffect(() => {
464
- renderCycleRef.current = true;
465
- return () => {
466
- renderCycleRef.current = false;
467
- };
468
- }, []);
469
- };
470
- var useAsync = (func, deps = []) => {
471
- const [state, callback] = useAsyncFunc(func, deps, { loading: true });
472
- React.useEffect(() => {
473
- callback();
474
- }, [callback]);
475
- return state;
476
- };
477
- var useAsyncFunc = (func, deps = [], initialState = { loading: false }) => {
478
- const lastCallId = React.useRef(0);
479
- const [isMounted] = useIsMounted();
480
- const [state, setState] = React.useState(initialState);
481
- const callback = React.useCallback(
482
- (...args) => {
483
- const callId = ++lastCallId.current;
484
- if (!state.loading)
485
- setState((prevState) => ({ ...prevState, loading: true }));
486
- return func(...args).then(
487
- (value) => {
488
- if (isMounted() && callId === lastCallId.current)
489
- setState({ value, loading: false });
490
- return value;
491
- },
492
- (error) => {
493
- if (isMounted() && callId === lastCallId.current)
494
- setState({ error, loading: false });
495
- return error;
496
- }
497
- );
498
- },
499
- // eslint-disable-next-line react-hooks/exhaustive-deps
500
- deps
501
- );
502
- return [state, callback];
503
- };
504
- var useAsyncRetry = (func, deps = []) => {
505
- const [attempt, setAttempt] = React.useState(0);
506
- const state = useAsync(func, [...deps, attempt]);
507
- const stateLoading = state.loading;
508
- const retry = React.useCallback(() => {
509
- if (stateLoading)
510
- return;
511
- setAttempt((currentAttempt) => currentAttempt + 1);
512
- }, [...deps, stateLoading]);
513
- return { ...state, retry };
514
- };
515
- var createIdCounter = 0;
516
- var createId = (prefix) => `${prefix}-${++createIdCounter}-${(/* @__PURE__ */ new Date()).getTime()}`;
517
-
518
- // src/dom.ts
519
- var createdDom = () => !!(typeof window !== "undefined" && window.document && window.document.createElement);
520
- var getPlatform = () => {
521
- var _a, _b;
522
- return (_b = (_a = navigator.userAgentData) == null ? void 0 : _a.platform) != null ? _b : navigator.platform;
523
- };
524
- var vendor = (v) => createdDom() && v.test(navigator.vendor);
525
- var platform = (v) => createdDom() && v.test(getPlatform());
526
- var isMac = () => platform(/^mac/i);
527
- var isApple = () => platform(/mac|iphone|ipad|ipod/i);
528
- var isSafari = () => isApple() && vendor(/apple/i);
529
- var isElement = (el) => el != null && typeof el == "object" && "nodeType" in el && el.nodeType === Node.ELEMENT_NODE;
530
- var isHTMLElement = (el) => {
531
- var _a;
532
- if (!isElement(el))
533
- return false;
534
- const win = (_a = el.ownerDocument.defaultView) != null ? _a : window;
535
- return el instanceof win.HTMLElement;
536
- };
537
- var isHidden = (el) => {
538
- if (el.parentElement && isHidden(el.parentElement))
539
- return true;
540
- return el.hidden;
541
- };
542
- var isDisabled = (el) => Boolean(el.getAttribute("disabled")) === true || Boolean(el.getAttribute("data-disabled")) === true || Boolean(el.getAttribute("aria-disabled")) === true;
543
- var isVisible = (el) => el.offsetWidth > 0 && el.offsetHeight > 0;
544
- var hasTabIndex = (el) => el.hasAttribute("tabindex");
545
- var isContentEditable = (el) => {
546
- const value = el.getAttribute("contenteditable");
547
- return value !== "false" && value != null;
548
- };
549
- var isContains = (parent, child) => {
550
- return parent === child || (parent == null ? void 0 : parent.contains(child));
551
- };
552
- 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);
559
- const isBrowser = createdDom();
560
- let fontSize = 16;
561
- if (isBrowser) {
562
- const style = window.getComputedStyle(document.documentElement);
563
- const computedFontSize = parseFloat(style.fontSize);
564
- if (!isNaN(computedFontSize))
565
- fontSize = computedFontSize;
566
- }
567
- return parseFloat(value) * fontSize;
568
- };
569
- var getEventRelatedTarget = (ev) => {
570
- var _a;
571
- return (_a = ev.relatedTarget) != null ? _a : ev.currentTarget.ownerDocument.activeElement;
572
- };
573
- var dataAttr = (condition) => condition ? "" : void 0;
574
- var ariaAttr = (condition) => condition ? true : void 0;
575
- var focusableElList = [
576
- "input:not(:disabled):not([disabled])",
577
- "select:not(:disabled):not([disabled])",
578
- "textarea:not(:disabled):not([disabled])",
579
- "embed",
580
- "iframe",
581
- "object",
582
- "a[href]",
583
- "area[href]",
584
- "button:not(:disabled):not([disabled])",
585
- "[tabindex]",
586
- "audio[controls]",
587
- "video[controls]",
588
- "*[tabindex]:not([aria-disabled])",
589
- "*[contenteditable]"
590
- ];
591
- var focusableElSelector = focusableElList.join();
592
- var getAllFocusable = (container) => {
593
- const focusableEls = Array.from(
594
- container.querySelectorAll(focusableElSelector)
595
- );
596
- focusableEls.unshift(container);
597
- return focusableEls.filter((el) => isFocusable(el) && isVisible(el));
598
- };
599
- var isFocusable = (el) => {
600
- if (!isHTMLElement(el) || isHidden(el) || isDisabled(el)) {
601
- return false;
602
- }
603
- const { localName } = el;
604
- const focusableTags = ["input", "select", "textarea", "button"];
605
- if (focusableTags.indexOf(localName) >= 0)
606
- return true;
607
- const others = {
608
- a: () => el.hasAttribute("href"),
609
- audio: () => el.hasAttribute("controls"),
610
- video: () => el.hasAttribute("controls")
611
- };
612
- if (localName in others)
613
- return others[localName]();
614
- if (isContentEditable(el))
615
- return true;
616
- return hasTabIndex(el);
617
- };
618
- var hasNegativeTabIndex = (el) => hasTabIndex(el) && el.tabIndex === -1;
619
- var isTabbable = (el) => el ? isHTMLElement(el) && isFocusable(el) && !hasNegativeTabIndex(el) : false;
620
- var getOwnerWindow = (node) => {
621
- var _a, _b;
622
- return (_b = (_a = getOwnerDocument(node)) == null ? void 0 : _a.defaultView) != null ? _b : window;
623
- };
624
- var getOwnerDocument = (el) => isElement(el) ? el.ownerDocument : document;
625
- var getActiveElement = (el) => getOwnerDocument(el).activeElement;
626
- var isActiveElement = (el) => {
627
- return getActiveElement(el) === el;
628
- };
629
-
630
- // src/string.ts
631
- var escape = (value, replaceValue = "") => value.replace(/\s+/g, replaceValue);
632
- var antonym = (value) => {
633
- switch (value) {
634
- case "top":
635
- return "bottom";
636
- case "bottom":
637
- return "top";
638
- case "left":
639
- return "right";
640
- case "right":
641
- return "left";
642
- case "start":
643
- return "end";
644
- case "end":
645
- return "start";
646
- case "x":
647
- return "y";
648
- case "y":
649
- return "x";
650
- case "enter":
651
- return "exit";
652
- case "exit":
653
- return "enter";
654
- case "vertical":
655
- return "horizontal";
656
- case "horizontal":
657
- return "vertical";
658
- case "up":
659
- return "down";
660
- case "down":
661
- return "up";
662
- case "block":
663
- return "inline";
664
- case "inline":
665
- return "block";
666
- default:
667
- return value;
668
- }
669
- };
670
- var toCamelCase = (value) => value.toLowerCase().replace(/[_-](.)/g, (_, group1) => group1.toUpperCase()).replace(/^(.)/, (_, group1) => group1.toUpperCase());
671
- var toKebabCase = (value) => value.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase().replace(/^-/, "");
672
-
673
- // src/calc.ts
674
- var toExpression = (operator, ...args) => args.join(` ${operator} `).replace(/calc/g, "");
675
- var add = (...args) => `calc(${toExpression("+", ...args)})`;
676
- var subtract = (...args) => `calc(${toExpression("-", ...args)})`;
677
- var multiply = (...args) => `calc(${toExpression("*", ...args)})`;
678
- var divide = (...args) => `calc(${toExpression("/", ...args)})`;
679
- var negate = (value) => {
680
- if (value != null && !isNaN(parseFloat(value.toString())))
681
- return String(value).startsWith("-") ? String(value).slice(1) : `-${value}`;
682
- return multiply(value, -1);
683
- };
684
- var calc = Object.assign(
685
- (x) => ({
686
- add: (...args) => calc(add(x, ...args)),
687
- subtract: (...args) => calc(subtract(x, ...args)),
688
- multiply: (...args) => calc(multiply(x, ...args)),
689
- divide: (...args) => calc(divide(x, ...args)),
690
- negate: () => calc(negate(x)),
691
- toString: () => x.toString()
692
- }),
693
- {
694
- add,
695
- subtract,
696
- multiply,
697
- divide,
698
- negate
699
- }
700
- );
701
-
702
- // src/color.ts
703
- var c = __toESM(require("color2k"));
704
- var tones = [
705
- 50,
706
- 100,
707
- 200,
708
- 300,
709
- 400,
710
- 500,
711
- 600,
712
- 700,
713
- 800,
714
- 900,
715
- 950
716
- ];
717
- var isGray = (colorScheme) => colorScheme === "gray" || colorScheme === "neutral";
718
- var isAccessible = (colorScheme) => colorScheme === "yellow" || colorScheme === "cyan" || colorScheme === "lime";
719
- var getColor = (color, fallback = "#000000") => (theme = {}, colorMode) => {
720
- var _a, _b, _c;
721
- const [token, hue] = color.split(".");
722
- const [, relatedToken] = (_c = Object.entries((_b = (_a = theme.semantics) == null ? void 0 : _a.colorSchemes) != null ? _b : {}).find(
723
- ([semanticToken]) => token === semanticToken
724
- )) != null ? _c : [];
725
- if (relatedToken)
726
- color = `${relatedToken}.${hue}`;
727
- const hex = getMemoizedObject(theme, `colors.${color}`, color);
728
- try {
729
- if (isArray(hex)) {
730
- return c.toHex(String(colorMode !== "dark" ? hex[0] : hex[1]));
731
- } else {
732
- return c.toHex(String(hex));
733
- }
734
- } catch {
735
- try {
736
- return c.toHex(fallback);
737
- } catch {
738
- return "#000000";
739
- }
740
- }
741
- };
742
- var lightenColor = (color, amount) => (theme, colorMode) => {
743
- const raw = getColor(color, color)(theme, colorMode);
744
- return c.toHex(c.lighten(raw, amount / 100));
745
- };
746
- var darkenColor = (color, amount) => (theme, colorMode) => {
747
- const raw = getColor(color, color)(theme, colorMode);
748
- return c.toHex(c.darken(raw, amount / 100));
749
- };
750
- var tintColor = (color, amount) => (theme, colorMode) => {
751
- const raw = getColor(color, color)(theme, colorMode);
752
- return c.toHex(c.mix(raw, "#fff", amount / 100));
753
- };
754
- var shadeColor = (color, amount) => (theme, colorMode) => {
755
- const raw = getColor(color, color)(theme, colorMode);
756
- return c.toHex(c.mix(raw, "#000", amount / 100));
757
- };
758
- var transparentizeColor = (color, alpha) => (theme, colorMode) => {
759
- const raw = getColor(color, color)(theme, colorMode);
760
- return c.transparentize(raw, 1 - alpha);
761
- };
762
- var randomColor = ({
763
- string,
764
- colors
765
- } = {}) => {
766
- 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);
773
- return fallback;
774
- };
775
- var randomHex = () => `#${Math.floor(Math.random() * 16777215).toString(16).padEnd(6, "0")}`;
776
- var randomColorFromString = (str) => {
777
- let hash = 0;
778
- if (str.length === 0)
779
- return hash.toString();
780
- for (let i = 0; i < str.length; i += 1) {
781
- hash = str.charCodeAt(i) + ((hash << 5) - hash);
782
- hash = hash & hash;
783
- }
784
- let color = "#";
785
- for (let j = 0; j < 3; j += 1) {
786
- const value = hash >> j * 8 & 255;
787
- color += `00${value.toString(16)}`.substr(-2);
788
- }
789
- return color;
790
- };
791
- var randomColorFromList = (str, list) => {
792
- let index = 0;
793
- if (str.length === 0)
794
- return list[0];
795
- for (let i = 0; i < str.length; i += 1) {
796
- index = str.charCodeAt(i) + ((index << 5) - index);
797
- index = index & index;
798
- }
799
- index = (index % list.length + list.length) % list.length;
800
- return list[index];
801
- };
802
- var randomFromList = (list) => list[Math.floor(Math.random() * list.length)];
803
- var getBrightness = (color) => {
804
- const [r, g, b] = c.parseToRgba(color);
805
- return (r * 299 + g * 587 + b * 114) / 1e3;
806
- };
807
- var isTone = (color) => (theme, colorMode) => {
808
- const raw = theme ? getColor(color)(theme, colorMode) : color;
809
- const brightness = getBrightness(raw);
810
- const isDark2 = brightness < 128;
811
- return isDark2 ? "dark" : "light";
812
- };
813
- var isLight = (color) => (theme, colorMode) => isTone(color)(theme, colorMode) === "dark";
814
- var isDark = (color) => (theme, colorMode) => isTone(color)(theme, colorMode) === "light";
815
- var convertColor = (color, fallback) => (format) => {
816
- try {
817
- const isAlpha = format.endsWith("a");
818
- if (/^[0-9a-fA-F]{6}$/.test(color))
819
- color = "#" + color;
820
- if (format.startsWith("hex")) {
821
- let hexa = c.toHex(color);
822
- if (isAlpha) {
823
- if (hexa.length === 7)
824
- hexa += "ff";
825
- } else {
826
- hexa = hexa.replace(/(?<=^#([0-9a-fA-F]{6}))[0-9a-fA-F]{2}$/, "");
827
- }
828
- return hexa;
829
- } else if (format.startsWith("hsl")) {
830
- let hsla2 = c.toHsla(color);
831
- if (!isAlpha) {
832
- hsla2 = hsla2.replace(/hsla/, "hsl");
833
- hsla2 = hsla2.replace(/,\s*\d+(\.\d+)?\)$/, ")");
834
- }
835
- return hsla2;
836
- } else {
837
- let rgba2 = c.toRgba(color);
838
- if (!isAlpha) {
839
- rgba2 = rgba2.replace(/rgba/, "rgb");
840
- rgba2 = rgba2.replace(/,\s*\d+(\.\d+)?\)$/, ")");
841
- }
842
- return rgba2;
843
- }
844
- } catch {
845
- if (fallback)
846
- return convertColor(fallback)(format);
847
- }
848
- };
849
- var calcFormat = (color) => {
850
- if (color.startsWith("hsl")) {
851
- return color.startsWith("hsla") ? "hsla" : "hsl";
852
- } else if (color.startsWith("rgb")) {
853
- return color.startsWith("rgba") ? "rgba" : "rgb";
854
- } else {
855
- return color.length === 9 ? "hexa" : "hex";
856
- }
857
- };
858
- var getAlpha = (color) => c.parseToRgba(color)[3];
859
- var alphaToHex = (a) => {
860
- if (0 > a)
861
- a = 0;
862
- if (1 < a)
863
- a = 1;
864
- return Math.round(a * 255).toString(16).padStart(2, "0");
865
- };
866
- var parseToRgba2 = (color, fallback) => {
867
- try {
868
- if (/^[0-9a-fA-F]{6}$/.test(color))
869
- color = "#" + color;
870
- return c.parseToRgba(color);
871
- } catch {
872
- if (fallback)
873
- return c.parseToRgba(fallback);
874
- }
875
- };
876
- var parseToHsla2 = (color, fallback) => {
877
- try {
878
- if (/^[0-9a-fA-F]{6}$/.test(color))
879
- color = "#" + color;
880
- return c.parseToHsla(color);
881
- } catch {
882
- if (fallback)
883
- return c.parseToHsla(fallback);
884
- }
885
- };
886
- var parseToHsv = (color, fallback) => {
887
- var _a;
888
- let [r, g, b, a] = (_a = parseToRgba2(color, fallback)) != null ? _a : [255, 255, 255, 1];
889
- r = r / 255;
890
- g = g / 255;
891
- b = b / 255;
892
- const [min, max] = [Math.min(r, g, b), Math.max(r, g, b)];
893
- const delta = max - min;
894
- let [h, v, s] = [0, max, max == 0 ? 0 : delta / max];
895
- switch (min) {
896
- case max:
897
- h = 0;
898
- break;
899
- case r:
900
- h = 60 * ((b - g) / delta) + 180;
901
- break;
902
- case g:
903
- h = 60 * ((r - b) / delta) + 300;
904
- break;
905
- case b:
906
- h = 60 * ((g - r) / delta) + 60;
907
- break;
908
- }
909
- return [h, s, v, a];
910
- };
911
- var rgbaTo = ([r, g, b, a], fallback) => (format = "hex") => convertColor(c.rgba(r, g, b, a), fallback)(format);
912
- var hslaTo = ([h, s, l, a], fallback) => (format = "hex") => convertColor(c.hsla(h, s, l, a), fallback)(format);
913
- var hsvTo = ([h, s, v, a], fallback) => (format = "hex") => {
914
- h = h / 60;
915
- let rgb = [v, v, v];
916
- let i = Math.floor(h);
917
- let f = h - i;
918
- let p = v * (1 - s);
919
- let q = v * (1 - s * f);
920
- let t = v * (1 - s * (1 - f));
921
- switch (i) {
922
- case 0:
923
- case 6:
924
- rgb = [v, t, p];
925
- break;
926
- case 1:
927
- rgb = [q, v, p];
928
- break;
929
- case 2:
930
- rgb = [p, v, t];
931
- break;
932
- case 3:
933
- rgb = [p, q, v];
934
- break;
935
- case 4:
936
- rgb = [t, p, v];
937
- break;
938
- case 5:
939
- rgb = [v, p, q];
940
- break;
941
- }
942
- let color = `rgb(${rgb.map((v2) => Math.round(v2 * 255)).join(", ")})`;
943
- if (isNumber(a))
944
- color = color.replace(/\)$/, `, ${a})`);
945
- return convertColor(color, fallback)(format);
946
- };
947
- var sameColor = (color, comparison) => {
948
- var _a, _b;
949
- if (!color)
950
- return false;
951
- if (!comparison)
952
- return false;
953
- const a = (_a = parseToRgba2(color)) != null ? _a : [];
954
- const b = (_b = parseToRgba2(comparison)) != null ? _b : [];
955
- return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3];
956
- };
957
-
958
- // src/array.ts
959
- var filterEmpty = (array) => array.filter((value) => value != null);
960
-
961
- // src/number.ts
962
- var toNumber = (n) => {
963
- const num = parseFloat(n);
964
- return typeof num !== "number" || Number.isNaN(num) ? 0 : num;
965
- };
966
- var toPrecision = (n, precision) => {
967
- n = toNumber(n);
968
- const scale = 10 ** (precision != null ? precision : 10);
969
- n = Math.round(n * scale) / scale;
970
- return precision ? n.toFixed(precision) : n.toString();
971
- };
972
- var countDecimal = (n) => {
973
- if (!Number.isFinite(n))
974
- return 0;
975
- let e = 1;
976
- let p = 0;
977
- while (Math.round(n * e) / e !== n) {
978
- e *= 10;
979
- p += 1;
980
- }
981
- return p;
982
- };
983
- var roundNumberToStep = (n, from, step) => {
984
- const nextValue = Math.round((n - from) / step) * step + from;
985
- const precision = countDecimal(step);
986
- return toPrecision(nextValue, precision);
987
- };
988
- var valueToPercent = (n, min, max) => (n - min) * 100 / (max - min);
989
- var percentToValue = (n, min, max) => (max - min) * n + min;
990
- var clampNumber = (n, min, max) => Math.min(Math.max(n, min), max);
991
-
992
- // src/event.ts
993
- var isMouseEvent = (ev) => {
994
- const win = getEventWindow(ev);
995
- if (typeof win.PointerEvent !== "undefined" && ev instanceof win.PointerEvent)
996
- return !!(ev.pointerType === "mouse");
997
- return ev instanceof win.MouseEvent;
998
- };
999
- var isTouchEvent = (ev) => !!ev.touches;
1000
- var isMultiTouchEvent = (ev) => isTouchEvent(ev) && ev.touches.length > 1;
1001
- var getEventWindow = (ev) => {
1002
- var _a;
1003
- return (_a = ev.view) != null ? _a : window;
1004
- };
1005
- var pointFromTouch = (e, type = "page") => {
1006
- const point = e.touches[0] || e.changedTouches[0];
1007
- return { x: point[`${type}X`], y: point[`${type}Y`] };
1008
- };
1009
- var pointFromMouse = (point, type = "page") => ({
1010
- x: point[`${type}X`],
1011
- y: point[`${type}Y`]
1012
- });
1013
- var getEventPoint = (ev, type = "page") => isTouchEvent(ev) ? pointFromTouch(ev, type) : pointFromMouse(ev, type);
1014
- var addDomEvent = (target, type, cb, options) => {
1015
- target.addEventListener(type, cb, options);
1016
- return () => {
1017
- target.removeEventListener(type, cb, options);
1018
- };
1019
- };
1020
- var filter = (cb) => (ev) => {
1021
- const isMouse = isMouseEvent(ev);
1022
- if (!isMouse || isMouse && ev.button === 0)
1023
- cb(ev);
1024
- };
1025
- var wrap = (cb, filterPrimary = false) => {
1026
- const listener = (ev) => cb(ev, { point: getEventPoint(ev) });
1027
- const fn = filterPrimary ? filter(listener) : listener;
1028
- return fn;
1029
- };
1030
- var addPointerEvent = (target, type, cb, options) => addDomEvent(target, type, wrap(cb, type === "pointerdown"), options);
1031
-
1032
- // src/module.ts
1033
- var interopDefault = (module2) => module2.default || module2;
1034
- // Annotate the CommonJS export names for ESM import in node:
1035
- 0 && (module.exports = {
1036
- addDomEvent,
1037
- addPointerEvent,
1038
- alphaToHex,
1039
- antonym,
1040
- ariaAttr,
1041
- assignAfter,
1042
- assignRef,
1043
- calc,
1044
- calcFormat,
1045
- cast,
1046
- clampNumber,
1047
- convertColor,
1048
- countDecimal,
1049
- createContext,
1050
- createId,
1051
- createdDom,
1052
- cx,
1053
- darkenColor,
1054
- dataAttr,
1055
- escape,
1056
- filterEmpty,
1057
- filterObject,
1058
- filterUndefined,
1059
- findChildren,
1060
- flattenObject,
1061
- funcAll,
1062
- getActiveElement,
1063
- getAllFocusable,
1064
- getAlpha,
1065
- getColor,
1066
- getEventPoint,
1067
- getEventRelatedTarget,
1068
- getEventWindow,
1069
- getMemoizedObject,
1070
- getObject,
1071
- getOwnerDocument,
1072
- getOwnerWindow,
1073
- getPlatform,
1074
- getPx,
1075
- getValidChildren,
1076
- handlerAll,
1077
- hasNegativeTabIndex,
1078
- hasTabIndex,
1079
- hslaTo,
1080
- hsvTo,
1081
- includesChildren,
1082
- interopDefault,
1083
- isAccessible,
1084
- isActiveElement,
1085
- isApple,
1086
- isArray,
1087
- isBoolean,
1088
- isContains,
1089
- isContentEditable,
1090
- isDark,
1091
- isDisabled,
1092
- isElement,
1093
- isEmpty,
1094
- isFocusable,
1095
- isFunction,
1096
- isGray,
1097
- isHTMLElement,
1098
- isHidden,
1099
- isLight,
1100
- isMac,
1101
- isMouseEvent,
1102
- isMultiTouchEvent,
1103
- isNotNumber,
1104
- isNull,
1105
- isNumber,
1106
- isNumeric,
1107
- isObject,
1108
- isRefObject,
1109
- isSafari,
1110
- isString,
1111
- isTabbable,
1112
- isTone,
1113
- isTouchEvent,
1114
- isUndefined,
1115
- isUnit,
1116
- isValidElement,
1117
- keysFormObject,
1118
- lightenColor,
1119
- memoizeObject,
1120
- merge,
1121
- mergeRefs,
1122
- noop,
1123
- objectFromEntries,
1124
- omitChildren,
1125
- omitObject,
1126
- parseToHsla,
1127
- parseToHsv,
1128
- parseToRgba,
1129
- percentToValue,
1130
- pickChildren,
1131
- pickObject,
1132
- platform,
1133
- pointFromMouse,
1134
- pointFromTouch,
1135
- randomColor,
1136
- replaceObject,
1137
- rgbaTo,
1138
- roundNumberToStep,
1139
- runIfFunc,
1140
- sameColor,
1141
- shadeColor,
1142
- splitObject,
1143
- tintColor,
1144
- toCamelCase,
1145
- toKebabCase,
1146
- toNumber,
1147
- toPrecision,
1148
- tones,
1149
- transparentizeColor,
1150
- useAsync,
1151
- useAsyncFunc,
1152
- useAsyncRetry,
1153
- useCallbackRef,
1154
- useIsMounted,
1155
- useMergeRefs,
1156
- useSafeLayoutEffect,
1157
- useUnmountEffect,
1158
- useUpdateEffect,
1159
- valueToPercent,
1160
- vendor
1161
- });
1162
- //# sourceMappingURL=index.js.map