@zag-js/utils 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/guard.d.ts +1 -1
- package/dist/guard.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +2 -2
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +2 -2
- package/package.json +1 -1
package/dist/guard.d.ts
CHANGED
|
@@ -21,6 +21,6 @@ export declare const isMouseEvent: (v: any) => v is MouseEvent;
|
|
|
21
21
|
export declare const isTouchEvent: (v: any) => v is TouchEvent;
|
|
22
22
|
export declare const isLeftClick: (v: MouseEvent | PointerEvent) => boolean;
|
|
23
23
|
export declare const isRightClick: (v: MouseEvent | PointerEvent) => boolean;
|
|
24
|
-
export declare const isModifiedEvent: (v:
|
|
24
|
+
export declare const isModifiedEvent: (v: Pick<KeyboardEvent, "ctrlKey" | "metaKey" | "altKey">) => boolean;
|
|
25
25
|
export declare const isCtrlKey: (v: KeyboardEvent) => boolean;
|
|
26
26
|
//# sourceMappingURL=guard.d.ts.map
|
package/dist/guard.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,KAAK,eAA8C,CAAA;AAChE,eAAO,MAAM,KAAK,eAA0C,CAAA;AAC5D,eAAO,MAAM,KAAK,eAAyB,CAAA;AAC3C,eAAO,MAAM,QAAQ,eAA4B,CAAA;AACjD,eAAO,MAAM,MAAM,eAAuE,CAAA;AAC1F,eAAO,MAAM,KAAK,eAA+B,CAAA;AACjD,eAAO,MAAM,QAAQ,eAA6C,CAAA;AAClE,eAAO,MAAM,SAAS,eAAuB,CAAA;AAC7C,eAAO,MAAM,QAAQ,eAAuC,CAAA;AAC5D,eAAO,MAAM,OAAO,eAA2B,CAAA;AAE/C,eAAO,MAAM,OAAO,MAAO,GAAG,eAAiC,CAAA;AAC/D,eAAO,MAAM,SAAS,MAAO,GAAG,iBAA4C,CAAA;AAC5E,eAAO,MAAM,QAAQ,MAAO,GAAG,6BAAkF,CAAA;AACjH,eAAO,MAAM,QAAQ,MAAO,GAAG,gBAA2D,CAAA;AAC1F,eAAO,MAAM,QAAQ,MAAO,GAAG,gBAAuC,CAAA;AACtE,eAAO,MAAM,UAAU,MAAO,GAAG,kBAA2C,CAAA;AAE5E,eAAO,MAAM,oBAAoB,eAAiD,CAAA;AAClF,eAAO,MAAM,kBAAkB,eAAgD,CAAA;AAC/E,eAAO,MAAM,kBAAkB,eAA+C,CAAA;AAE9E,eAAO,MAAM,YAAY,MAAO,GAAG,oBAAkD,CAAA;AACrF,eAAO,MAAM,YAAY,MAAO,GAAG,oBAAmD,CAAA;AACtF,eAAO,MAAM,WAAW,MAAO,UAAU,GAAG,YAAY,YAAmB,CAAA;AAC3E,eAAO,MAAM,YAAY,MAAO,UAAU,GAAG,YAAY,YAAmB,CAAA;AAC5E,eAAO,MAAM,eAAe,MAAO,
|
|
1
|
+
{"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,KAAK,eAA8C,CAAA;AAChE,eAAO,MAAM,KAAK,eAA0C,CAAA;AAC5D,eAAO,MAAM,KAAK,eAAyB,CAAA;AAC3C,eAAO,MAAM,QAAQ,eAA4B,CAAA;AACjD,eAAO,MAAM,MAAM,eAAuE,CAAA;AAC1F,eAAO,MAAM,KAAK,eAA+B,CAAA;AACjD,eAAO,MAAM,QAAQ,eAA6C,CAAA;AAClE,eAAO,MAAM,SAAS,eAAuB,CAAA;AAC7C,eAAO,MAAM,QAAQ,eAAuC,CAAA;AAC5D,eAAO,MAAM,OAAO,eAA2B,CAAA;AAE/C,eAAO,MAAM,OAAO,MAAO,GAAG,eAAiC,CAAA;AAC/D,eAAO,MAAM,SAAS,MAAO,GAAG,iBAA4C,CAAA;AAC5E,eAAO,MAAM,QAAQ,MAAO,GAAG,6BAAkF,CAAA;AACjH,eAAO,MAAM,QAAQ,MAAO,GAAG,gBAA2D,CAAA;AAC1F,eAAO,MAAM,QAAQ,MAAO,GAAG,gBAAuC,CAAA;AACtE,eAAO,MAAM,UAAU,MAAO,GAAG,kBAA2C,CAAA;AAE5E,eAAO,MAAM,oBAAoB,eAAiD,CAAA;AAClF,eAAO,MAAM,kBAAkB,eAAgD,CAAA;AAC/E,eAAO,MAAM,kBAAkB,eAA+C,CAAA;AAE9E,eAAO,MAAM,YAAY,MAAO,GAAG,oBAAkD,CAAA;AACrF,eAAO,MAAM,YAAY,MAAO,GAAG,oBAAmD,CAAA;AACtF,eAAO,MAAM,WAAW,MAAO,UAAU,GAAG,YAAY,YAAmB,CAAA;AAC3E,eAAO,MAAM,YAAY,MAAO,UAAU,GAAG,YAAY,YAAmB,CAAA;AAC5E,eAAO,MAAM,eAAe,MAAO,KAAK,aAAa,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC,YACpD,CAAA;AACpC,eAAO,MAAM,SAAS,MAAO,aAAa,YAAkE,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -193,7 +193,7 @@ var isMouseEvent = (v) => isObject(v) && "button" in v;
|
|
|
193
193
|
var isTouchEvent = (v) => isObject(v) && "touches" in v;
|
|
194
194
|
var isLeftClick = (v) => v.button === 0;
|
|
195
195
|
var isRightClick = (v) => v.button === 2;
|
|
196
|
-
var isModifiedEvent = (v) => v.ctrlKey || v.altKey || v.metaKey
|
|
196
|
+
var isModifiedEvent = (v) => v.ctrlKey || v.altKey || v.metaKey;
|
|
197
197
|
var isCtrlKey = (v) => isMac() ? v.metaKey && !v.ctrlKey : v.ctrlKey && !v.metaKey;
|
|
198
198
|
|
|
199
199
|
// src/warning.ts
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts", "../src/array.ts", "../src/functions.ts", "../src/guard.ts", "../src/warning.ts"],
|
|
4
|
-
"sourcesContent": ["export * from \"./array\"\nexport * from \"./functions\"\nexport * from \"./guard\"\nexport * from \"./warning\"\n", "export function toArray<T>(v: T | T[] | undefined | null): T[] {\n if (!v) return []\n return Array.isArray(v) ? v : [v]\n}\n\nexport const fromLength = (length: number) => Array.from(Array(length).keys())\n\nexport const first = <T>(v: T[]): T | undefined => v[0]\n\nexport const last = <T>(v: T[]): T | undefined => v[v.length - 1]\n\nexport const isEmpty = <T>(v: T[]): boolean => v.length === 0\n\nexport const has = <T>(v: T[], t: any): boolean => v.indexOf(t) !== -1\n\nexport const add = <T>(v: T[], ...items: T[]): T[] => v.concat(items)\n\nexport const remove = <T>(v: T[], item: T): T[] => removeAt(v, v.indexOf(item))\n\nexport const removeAt = <T>(v: T[], i: number): T[] => {\n if (i > -1) v.splice(i, 1)\n return v\n}\n\nexport function clear<T>(v: T[]): T[] {\n while (v.length > 0) v.pop()\n return v\n}\n\nexport type IndexOptions = {\n step?: number\n loop?: boolean\n}\n\nexport function nextIndex<T>(v: T[], idx: number, opts: IndexOptions = {}): number {\n const { step = 1, loop = true } = opts\n const next = idx + step\n const len = v.length\n const last = len - 1\n if (idx === -1) return step > 0 ? 0 : last\n if (next < 0) return loop ? last : 0\n if (next >= len) return loop ? 0 : idx > len ? len : idx\n return next\n}\n\nexport function next<T>(v: T[], idx: number, opts: IndexOptions = {}): T | undefined {\n return v[nextIndex(v, idx, opts)]\n}\n\nexport function prevIndex<T>(v: T[], idx: number, opts: IndexOptions = {}): number {\n const { step = 1, loop = true } = opts\n return nextIndex(v, idx, { step: -step, loop })\n}\n\nexport function prev<T>(v: T[], index: number, opts: IndexOptions = {}): T | undefined {\n return v[prevIndex(v, index, opts)]\n}\n\nexport const chunk = <T>(v: T[], size: number): T[][] => {\n const res: T[][] = []\n return v.reduce((rows, value, index) => {\n if (index % size === 0) rows.push([value])\n else last(rows)?.push(value)\n return rows\n }, res)\n}\n", "export const runIfFn = <T>(\n v: T | undefined,\n ...a: T extends (...a: any[]) => void ? Parameters<T> : never\n): T extends (...a: any[]) => void ? NonNullable<ReturnType<T>> : NonNullable<T> => {\n const res = typeof v === \"function\" ? v(...a) : v\n return res ?? undefined\n}\n\nexport const cast = <T>(v: unknown): T => v as T\n\nexport const noop = () => {}\n\nexport const pipe =\n <T>(...fns: Array<(a: T) => T>) =>\n (v: T) =>\n fns.reduce((a, b) => b(a), v)\n\nexport const callAll =\n <T extends (...a: any[]) => void>(...fns: (T | undefined)[]) =>\n (...a: Parameters<T>) => {\n fns.forEach(function (fn) {\n fn?.(...a)\n })\n }\n\nexport const uuid = /*#__PURE__*/ (() => {\n let id = 0\n return () => {\n id++\n return id.toString(36)\n }\n})()\n\nexport function merge<T, U>(origin: T, patch: U): T & U {\n if (!(typeof patch === \"object\")) return patch as any\n const result = !(typeof origin === \"object\") ? {} : Object.assign({}, origin)\n for (const key of Object.keys(patch)) {\n const value = patch[key]\n const src = result[key]\n if (value === null) delete result[key]\n else if (Array.isArray(value) || Array.isArray(src)) result[key] = (src || []).concat(value || [])\n else result[key] = merge(src, value)\n }\n return result as any\n}\n", "const platform = (v: RegExp) => isDom() && v.test(navigator.platform)\nconst ua = (v: RegExp) => isDom() && v.test(navigator.userAgent)\n\nexport const isDev = () => process.env.NODE_ENV !== \"production\"\nexport const isDom = () => !!(typeof window !== \"undefined\")\nexport const isMac = () => platform(/^Mac/)\nexport const isIPhone = () => platform(/^iPhone/)\nexport const isIPad = () => platform(/^iPad/) || (isMac() && navigator.maxTouchPoints > 1)\nexport const isIos = () => isIPhone() || isIPad()\nexport const isSafari = () => ua(/^((?!chrome|android).)*safari/i)\nexport const isFirefox = () => ua(/^Firefox/)\nexport const isWebkit = () => ua(/^WebKit/) && !ua(/Chrome/)\nexport const isApple = () => isMac() || isIos()\n\nexport const isArray = (v: any): v is any[] => Array.isArray(v)\nexport const isBoolean = (v: any): v is boolean => v === true || v === false\nexport const isObject = (v: any): v is Record<string, any> => !(v == null || typeof v !== \"object\" || isArray(v))\nexport const isNumber = (v: any): v is number => typeof v === \"number\" && !Number.isNaN(v)\nexport const isString = (v: any): v is string => typeof v === \"string\"\nexport const isFunction = (v: any): v is Function => typeof v === \"function\"\n\nexport const supportsPointerEvent = () => isDom() && window.onpointerdown === null\nexport const supportsTouchEvent = () => isDom() && window.ontouchstart === null\nexport const supportsMouseEvent = () => isDom() && window.onmousedown === null\n\nexport const isMouseEvent = (v: any): v is MouseEvent => isObject(v) && \"button\" in v\nexport const isTouchEvent = (v: any): v is TouchEvent => isObject(v) && \"touches\" in v\nexport const isLeftClick = (v: MouseEvent | PointerEvent) => v.button === 0\nexport const isRightClick = (v: MouseEvent | PointerEvent) => v.button === 2\nexport const isModifiedEvent = (v:
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["export * from \"./array\"\nexport * from \"./functions\"\nexport * from \"./guard\"\nexport * from \"./warning\"\n", "export function toArray<T>(v: T | T[] | undefined | null): T[] {\n if (!v) return []\n return Array.isArray(v) ? v : [v]\n}\n\nexport const fromLength = (length: number) => Array.from(Array(length).keys())\n\nexport const first = <T>(v: T[]): T | undefined => v[0]\n\nexport const last = <T>(v: T[]): T | undefined => v[v.length - 1]\n\nexport const isEmpty = <T>(v: T[]): boolean => v.length === 0\n\nexport const has = <T>(v: T[], t: any): boolean => v.indexOf(t) !== -1\n\nexport const add = <T>(v: T[], ...items: T[]): T[] => v.concat(items)\n\nexport const remove = <T>(v: T[], item: T): T[] => removeAt(v, v.indexOf(item))\n\nexport const removeAt = <T>(v: T[], i: number): T[] => {\n if (i > -1) v.splice(i, 1)\n return v\n}\n\nexport function clear<T>(v: T[]): T[] {\n while (v.length > 0) v.pop()\n return v\n}\n\nexport type IndexOptions = {\n step?: number\n loop?: boolean\n}\n\nexport function nextIndex<T>(v: T[], idx: number, opts: IndexOptions = {}): number {\n const { step = 1, loop = true } = opts\n const next = idx + step\n const len = v.length\n const last = len - 1\n if (idx === -1) return step > 0 ? 0 : last\n if (next < 0) return loop ? last : 0\n if (next >= len) return loop ? 0 : idx > len ? len : idx\n return next\n}\n\nexport function next<T>(v: T[], idx: number, opts: IndexOptions = {}): T | undefined {\n return v[nextIndex(v, idx, opts)]\n}\n\nexport function prevIndex<T>(v: T[], idx: number, opts: IndexOptions = {}): number {\n const { step = 1, loop = true } = opts\n return nextIndex(v, idx, { step: -step, loop })\n}\n\nexport function prev<T>(v: T[], index: number, opts: IndexOptions = {}): T | undefined {\n return v[prevIndex(v, index, opts)]\n}\n\nexport const chunk = <T>(v: T[], size: number): T[][] => {\n const res: T[][] = []\n return v.reduce((rows, value, index) => {\n if (index % size === 0) rows.push([value])\n else last(rows)?.push(value)\n return rows\n }, res)\n}\n", "export const runIfFn = <T>(\n v: T | undefined,\n ...a: T extends (...a: any[]) => void ? Parameters<T> : never\n): T extends (...a: any[]) => void ? NonNullable<ReturnType<T>> : NonNullable<T> => {\n const res = typeof v === \"function\" ? v(...a) : v\n return res ?? undefined\n}\n\nexport const cast = <T>(v: unknown): T => v as T\n\nexport const noop = () => {}\n\nexport const pipe =\n <T>(...fns: Array<(a: T) => T>) =>\n (v: T) =>\n fns.reduce((a, b) => b(a), v)\n\nexport const callAll =\n <T extends (...a: any[]) => void>(...fns: (T | undefined)[]) =>\n (...a: Parameters<T>) => {\n fns.forEach(function (fn) {\n fn?.(...a)\n })\n }\n\nexport const uuid = /*#__PURE__*/ (() => {\n let id = 0\n return () => {\n id++\n return id.toString(36)\n }\n})()\n\nexport function merge<T, U>(origin: T, patch: U): T & U {\n if (!(typeof patch === \"object\")) return patch as any\n const result = !(typeof origin === \"object\") ? {} : Object.assign({}, origin)\n for (const key of Object.keys(patch)) {\n const value = patch[key]\n const src = result[key]\n if (value === null) delete result[key]\n else if (Array.isArray(value) || Array.isArray(src)) result[key] = (src || []).concat(value || [])\n else result[key] = merge(src, value)\n }\n return result as any\n}\n", "const platform = (v: RegExp) => isDom() && v.test(navigator.platform)\nconst ua = (v: RegExp) => isDom() && v.test(navigator.userAgent)\n\nexport const isDev = () => process.env.NODE_ENV !== \"production\"\nexport const isDom = () => !!(typeof window !== \"undefined\")\nexport const isMac = () => platform(/^Mac/)\nexport const isIPhone = () => platform(/^iPhone/)\nexport const isIPad = () => platform(/^iPad/) || (isMac() && navigator.maxTouchPoints > 1)\nexport const isIos = () => isIPhone() || isIPad()\nexport const isSafari = () => ua(/^((?!chrome|android).)*safari/i)\nexport const isFirefox = () => ua(/^Firefox/)\nexport const isWebkit = () => ua(/^WebKit/) && !ua(/Chrome/)\nexport const isApple = () => isMac() || isIos()\n\nexport const isArray = (v: any): v is any[] => Array.isArray(v)\nexport const isBoolean = (v: any): v is boolean => v === true || v === false\nexport const isObject = (v: any): v is Record<string, any> => !(v == null || typeof v !== \"object\" || isArray(v))\nexport const isNumber = (v: any): v is number => typeof v === \"number\" && !Number.isNaN(v)\nexport const isString = (v: any): v is string => typeof v === \"string\"\nexport const isFunction = (v: any): v is Function => typeof v === \"function\"\n\nexport const supportsPointerEvent = () => isDom() && window.onpointerdown === null\nexport const supportsTouchEvent = () => isDom() && window.ontouchstart === null\nexport const supportsMouseEvent = () => isDom() && window.onmousedown === null\n\nexport const isMouseEvent = (v: any): v is MouseEvent => isObject(v) && \"button\" in v\nexport const isTouchEvent = (v: any): v is TouchEvent => isObject(v) && \"touches\" in v\nexport const isLeftClick = (v: MouseEvent | PointerEvent) => v.button === 0\nexport const isRightClick = (v: MouseEvent | PointerEvent) => v.button === 2\nexport const isModifiedEvent = (v: Pick<KeyboardEvent, \"ctrlKey\" | \"metaKey\" | \"altKey\">) =>\n v.ctrlKey || v.altKey || v.metaKey\nexport const isCtrlKey = (v: KeyboardEvent) => (isMac() ? v.metaKey && !v.ctrlKey : v.ctrlKey && !v.metaKey)\n", "export function warn(m: string): void\nexport function warn(c: boolean, m: string): void\nexport function warn(...a: any[]): void {\n const m = a.length === 1 ? a[0] : a[1]\n const c = a.length === 2 ? a[0] : true\n if (c && process.env.NODE_ENV !== \"production\") {\n console.warn(m)\n }\n}\n\nexport function invariant(m: string): void\nexport function invariant(c: boolean, m: string): void\nexport function invariant(...a: any[]): void {\n const m = a.length === 1 ? a[0] : a[1]\n const c = a.length === 2 ? a[0] : true\n if (c && process.env.NODE_ENV !== \"production\") {\n throw new Error(m)\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -120,7 +120,7 @@ var isMouseEvent = (v) => isObject(v) && "button" in v;
|
|
|
120
120
|
var isTouchEvent = (v) => isObject(v) && "touches" in v;
|
|
121
121
|
var isLeftClick = (v) => v.button === 0;
|
|
122
122
|
var isRightClick = (v) => v.button === 2;
|
|
123
|
-
var isModifiedEvent = (v) => v.ctrlKey || v.altKey || v.metaKey
|
|
123
|
+
var isModifiedEvent = (v) => v.ctrlKey || v.altKey || v.metaKey;
|
|
124
124
|
var isCtrlKey = (v) => isMac() ? v.metaKey && !v.ctrlKey : v.ctrlKey && !v.metaKey;
|
|
125
125
|
|
|
126
126
|
// src/warning.ts
|
package/dist/index.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/array.ts", "../src/functions.ts", "../src/guard.ts", "../src/warning.ts"],
|
|
4
|
-
"sourcesContent": ["export function toArray<T>(v: T | T[] | undefined | null): T[] {\n if (!v) return []\n return Array.isArray(v) ? v : [v]\n}\n\nexport const fromLength = (length: number) => Array.from(Array(length).keys())\n\nexport const first = <T>(v: T[]): T | undefined => v[0]\n\nexport const last = <T>(v: T[]): T | undefined => v[v.length - 1]\n\nexport const isEmpty = <T>(v: T[]): boolean => v.length === 0\n\nexport const has = <T>(v: T[], t: any): boolean => v.indexOf(t) !== -1\n\nexport const add = <T>(v: T[], ...items: T[]): T[] => v.concat(items)\n\nexport const remove = <T>(v: T[], item: T): T[] => removeAt(v, v.indexOf(item))\n\nexport const removeAt = <T>(v: T[], i: number): T[] => {\n if (i > -1) v.splice(i, 1)\n return v\n}\n\nexport function clear<T>(v: T[]): T[] {\n while (v.length > 0) v.pop()\n return v\n}\n\nexport type IndexOptions = {\n step?: number\n loop?: boolean\n}\n\nexport function nextIndex<T>(v: T[], idx: number, opts: IndexOptions = {}): number {\n const { step = 1, loop = true } = opts\n const next = idx + step\n const len = v.length\n const last = len - 1\n if (idx === -1) return step > 0 ? 0 : last\n if (next < 0) return loop ? last : 0\n if (next >= len) return loop ? 0 : idx > len ? len : idx\n return next\n}\n\nexport function next<T>(v: T[], idx: number, opts: IndexOptions = {}): T | undefined {\n return v[nextIndex(v, idx, opts)]\n}\n\nexport function prevIndex<T>(v: T[], idx: number, opts: IndexOptions = {}): number {\n const { step = 1, loop = true } = opts\n return nextIndex(v, idx, { step: -step, loop })\n}\n\nexport function prev<T>(v: T[], index: number, opts: IndexOptions = {}): T | undefined {\n return v[prevIndex(v, index, opts)]\n}\n\nexport const chunk = <T>(v: T[], size: number): T[][] => {\n const res: T[][] = []\n return v.reduce((rows, value, index) => {\n if (index % size === 0) rows.push([value])\n else last(rows)?.push(value)\n return rows\n }, res)\n}\n", "export const runIfFn = <T>(\n v: T | undefined,\n ...a: T extends (...a: any[]) => void ? Parameters<T> : never\n): T extends (...a: any[]) => void ? NonNullable<ReturnType<T>> : NonNullable<T> => {\n const res = typeof v === \"function\" ? v(...a) : v\n return res ?? undefined\n}\n\nexport const cast = <T>(v: unknown): T => v as T\n\nexport const noop = () => {}\n\nexport const pipe =\n <T>(...fns: Array<(a: T) => T>) =>\n (v: T) =>\n fns.reduce((a, b) => b(a), v)\n\nexport const callAll =\n <T extends (...a: any[]) => void>(...fns: (T | undefined)[]) =>\n (...a: Parameters<T>) => {\n fns.forEach(function (fn) {\n fn?.(...a)\n })\n }\n\nexport const uuid = /*#__PURE__*/ (() => {\n let id = 0\n return () => {\n id++\n return id.toString(36)\n }\n})()\n\nexport function merge<T, U>(origin: T, patch: U): T & U {\n if (!(typeof patch === \"object\")) return patch as any\n const result = !(typeof origin === \"object\") ? {} : Object.assign({}, origin)\n for (const key of Object.keys(patch)) {\n const value = patch[key]\n const src = result[key]\n if (value === null) delete result[key]\n else if (Array.isArray(value) || Array.isArray(src)) result[key] = (src || []).concat(value || [])\n else result[key] = merge(src, value)\n }\n return result as any\n}\n", "const platform = (v: RegExp) => isDom() && v.test(navigator.platform)\nconst ua = (v: RegExp) => isDom() && v.test(navigator.userAgent)\n\nexport const isDev = () => process.env.NODE_ENV !== \"production\"\nexport const isDom = () => !!(typeof window !== \"undefined\")\nexport const isMac = () => platform(/^Mac/)\nexport const isIPhone = () => platform(/^iPhone/)\nexport const isIPad = () => platform(/^iPad/) || (isMac() && navigator.maxTouchPoints > 1)\nexport const isIos = () => isIPhone() || isIPad()\nexport const isSafari = () => ua(/^((?!chrome|android).)*safari/i)\nexport const isFirefox = () => ua(/^Firefox/)\nexport const isWebkit = () => ua(/^WebKit/) && !ua(/Chrome/)\nexport const isApple = () => isMac() || isIos()\n\nexport const isArray = (v: any): v is any[] => Array.isArray(v)\nexport const isBoolean = (v: any): v is boolean => v === true || v === false\nexport const isObject = (v: any): v is Record<string, any> => !(v == null || typeof v !== \"object\" || isArray(v))\nexport const isNumber = (v: any): v is number => typeof v === \"number\" && !Number.isNaN(v)\nexport const isString = (v: any): v is string => typeof v === \"string\"\nexport const isFunction = (v: any): v is Function => typeof v === \"function\"\n\nexport const supportsPointerEvent = () => isDom() && window.onpointerdown === null\nexport const supportsTouchEvent = () => isDom() && window.ontouchstart === null\nexport const supportsMouseEvent = () => isDom() && window.onmousedown === null\n\nexport const isMouseEvent = (v: any): v is MouseEvent => isObject(v) && \"button\" in v\nexport const isTouchEvent = (v: any): v is TouchEvent => isObject(v) && \"touches\" in v\nexport const isLeftClick = (v: MouseEvent | PointerEvent) => v.button === 0\nexport const isRightClick = (v: MouseEvent | PointerEvent) => v.button === 2\nexport const isModifiedEvent = (v:
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["export function toArray<T>(v: T | T[] | undefined | null): T[] {\n if (!v) return []\n return Array.isArray(v) ? v : [v]\n}\n\nexport const fromLength = (length: number) => Array.from(Array(length).keys())\n\nexport const first = <T>(v: T[]): T | undefined => v[0]\n\nexport const last = <T>(v: T[]): T | undefined => v[v.length - 1]\n\nexport const isEmpty = <T>(v: T[]): boolean => v.length === 0\n\nexport const has = <T>(v: T[], t: any): boolean => v.indexOf(t) !== -1\n\nexport const add = <T>(v: T[], ...items: T[]): T[] => v.concat(items)\n\nexport const remove = <T>(v: T[], item: T): T[] => removeAt(v, v.indexOf(item))\n\nexport const removeAt = <T>(v: T[], i: number): T[] => {\n if (i > -1) v.splice(i, 1)\n return v\n}\n\nexport function clear<T>(v: T[]): T[] {\n while (v.length > 0) v.pop()\n return v\n}\n\nexport type IndexOptions = {\n step?: number\n loop?: boolean\n}\n\nexport function nextIndex<T>(v: T[], idx: number, opts: IndexOptions = {}): number {\n const { step = 1, loop = true } = opts\n const next = idx + step\n const len = v.length\n const last = len - 1\n if (idx === -1) return step > 0 ? 0 : last\n if (next < 0) return loop ? last : 0\n if (next >= len) return loop ? 0 : idx > len ? len : idx\n return next\n}\n\nexport function next<T>(v: T[], idx: number, opts: IndexOptions = {}): T | undefined {\n return v[nextIndex(v, idx, opts)]\n}\n\nexport function prevIndex<T>(v: T[], idx: number, opts: IndexOptions = {}): number {\n const { step = 1, loop = true } = opts\n return nextIndex(v, idx, { step: -step, loop })\n}\n\nexport function prev<T>(v: T[], index: number, opts: IndexOptions = {}): T | undefined {\n return v[prevIndex(v, index, opts)]\n}\n\nexport const chunk = <T>(v: T[], size: number): T[][] => {\n const res: T[][] = []\n return v.reduce((rows, value, index) => {\n if (index % size === 0) rows.push([value])\n else last(rows)?.push(value)\n return rows\n }, res)\n}\n", "export const runIfFn = <T>(\n v: T | undefined,\n ...a: T extends (...a: any[]) => void ? Parameters<T> : never\n): T extends (...a: any[]) => void ? NonNullable<ReturnType<T>> : NonNullable<T> => {\n const res = typeof v === \"function\" ? v(...a) : v\n return res ?? undefined\n}\n\nexport const cast = <T>(v: unknown): T => v as T\n\nexport const noop = () => {}\n\nexport const pipe =\n <T>(...fns: Array<(a: T) => T>) =>\n (v: T) =>\n fns.reduce((a, b) => b(a), v)\n\nexport const callAll =\n <T extends (...a: any[]) => void>(...fns: (T | undefined)[]) =>\n (...a: Parameters<T>) => {\n fns.forEach(function (fn) {\n fn?.(...a)\n })\n }\n\nexport const uuid = /*#__PURE__*/ (() => {\n let id = 0\n return () => {\n id++\n return id.toString(36)\n }\n})()\n\nexport function merge<T, U>(origin: T, patch: U): T & U {\n if (!(typeof patch === \"object\")) return patch as any\n const result = !(typeof origin === \"object\") ? {} : Object.assign({}, origin)\n for (const key of Object.keys(patch)) {\n const value = patch[key]\n const src = result[key]\n if (value === null) delete result[key]\n else if (Array.isArray(value) || Array.isArray(src)) result[key] = (src || []).concat(value || [])\n else result[key] = merge(src, value)\n }\n return result as any\n}\n", "const platform = (v: RegExp) => isDom() && v.test(navigator.platform)\nconst ua = (v: RegExp) => isDom() && v.test(navigator.userAgent)\n\nexport const isDev = () => process.env.NODE_ENV !== \"production\"\nexport const isDom = () => !!(typeof window !== \"undefined\")\nexport const isMac = () => platform(/^Mac/)\nexport const isIPhone = () => platform(/^iPhone/)\nexport const isIPad = () => platform(/^iPad/) || (isMac() && navigator.maxTouchPoints > 1)\nexport const isIos = () => isIPhone() || isIPad()\nexport const isSafari = () => ua(/^((?!chrome|android).)*safari/i)\nexport const isFirefox = () => ua(/^Firefox/)\nexport const isWebkit = () => ua(/^WebKit/) && !ua(/Chrome/)\nexport const isApple = () => isMac() || isIos()\n\nexport const isArray = (v: any): v is any[] => Array.isArray(v)\nexport const isBoolean = (v: any): v is boolean => v === true || v === false\nexport const isObject = (v: any): v is Record<string, any> => !(v == null || typeof v !== \"object\" || isArray(v))\nexport const isNumber = (v: any): v is number => typeof v === \"number\" && !Number.isNaN(v)\nexport const isString = (v: any): v is string => typeof v === \"string\"\nexport const isFunction = (v: any): v is Function => typeof v === \"function\"\n\nexport const supportsPointerEvent = () => isDom() && window.onpointerdown === null\nexport const supportsTouchEvent = () => isDom() && window.ontouchstart === null\nexport const supportsMouseEvent = () => isDom() && window.onmousedown === null\n\nexport const isMouseEvent = (v: any): v is MouseEvent => isObject(v) && \"button\" in v\nexport const isTouchEvent = (v: any): v is TouchEvent => isObject(v) && \"touches\" in v\nexport const isLeftClick = (v: MouseEvent | PointerEvent) => v.button === 0\nexport const isRightClick = (v: MouseEvent | PointerEvent) => v.button === 2\nexport const isModifiedEvent = (v: Pick<KeyboardEvent, \"ctrlKey\" | \"metaKey\" | \"altKey\">) =>\n v.ctrlKey || v.altKey || v.metaKey\nexport const isCtrlKey = (v: KeyboardEvent) => (isMac() ? v.metaKey && !v.ctrlKey : v.ctrlKey && !v.metaKey)\n", "export function warn(m: string): void\nexport function warn(c: boolean, m: string): void\nexport function warn(...a: any[]): void {\n const m = a.length === 1 ? a[0] : a[1]\n const c = a.length === 2 ? a[0] : true\n if (c && process.env.NODE_ENV !== \"production\") {\n console.warn(m)\n }\n}\n\nexport function invariant(m: string): void\nexport function invariant(c: boolean, m: string): void\nexport function invariant(...a: any[]): void {\n const m = a.length === 1 ? a[0] : a[1]\n const c = a.length === 2 ? a[0] : true\n if (c && process.env.NODE_ENV !== \"production\") {\n throw new Error(m)\n }\n}\n"],
|
|
5
|
+
"mappings": ";AAAO,iBAAoB,GAAoC;AAC7D,MAAI,CAAC;AAAG,WAAO,CAAC;AAChB,SAAO,MAAM,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC;AAClC;AAEO,IAAM,aAAa,CAAC,WAAmB,MAAM,KAAK,MAAM,MAAM,EAAE,KAAK,CAAC;AAEtE,IAAM,QAAQ,CAAI,MAA0B,EAAE;AAE9C,IAAM,OAAO,CAAI,MAA0B,EAAE,EAAE,SAAS;AAExD,IAAM,UAAU,CAAI,MAAoB,EAAE,WAAW;AAErD,IAAM,MAAM,CAAI,GAAQ,MAAoB,EAAE,QAAQ,CAAC,MAAM;AAE7D,IAAM,MAAM,CAAI,MAAW,UAAoB,EAAE,OAAO,KAAK;AAE7D,IAAM,SAAS,CAAI,GAAQ,SAAiB,SAAS,GAAG,EAAE,QAAQ,IAAI,CAAC;AAEvE,IAAM,WAAW,CAAI,GAAQ,MAAmB;AACrD,MAAI,IAAI;AAAI,MAAE,OAAO,GAAG,CAAC;AACzB,SAAO;AACT;AAEO,eAAkB,GAAa;AACpC,SAAO,EAAE,SAAS;AAAG,MAAE,IAAI;AAC3B,SAAO;AACT;AAOO,mBAAsB,GAAQ,KAAa,OAAqB,CAAC,GAAW;AACjF,QAAM,EAAE,OAAO,GAAG,OAAO,SAAS;AAClC,QAAM,QAAO,MAAM;AACnB,QAAM,MAAM,EAAE;AACd,QAAM,QAAO,MAAM;AACnB,MAAI,QAAQ;AAAI,WAAO,OAAO,IAAI,IAAI;AACtC,MAAI,QAAO;AAAG,WAAO,OAAO,QAAO;AACnC,MAAI,SAAQ;AAAK,WAAO,OAAO,IAAI,MAAM,MAAM,MAAM;AACrD,SAAO;AACT;AAEO,cAAiB,GAAQ,KAAa,OAAqB,CAAC,GAAkB;AACnF,SAAO,EAAE,UAAU,GAAG,KAAK,IAAI;AACjC;AAEO,mBAAsB,GAAQ,KAAa,OAAqB,CAAC,GAAW;AACjF,QAAM,EAAE,OAAO,GAAG,OAAO,SAAS;AAClC,SAAO,UAAU,GAAG,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;AAChD;AAEO,cAAiB,GAAQ,OAAe,OAAqB,CAAC,GAAkB;AACrF,SAAO,EAAE,UAAU,GAAG,OAAO,IAAI;AACnC;AAEO,IAAM,QAAQ,CAAI,GAAQ,SAAwB;AACvD,QAAM,MAAa,CAAC;AACpB,SAAO,EAAE,OAAO,CAAC,MAAM,OAAO,UAAU;AA5D1C;AA6DI,QAAI,QAAQ,SAAS;AAAG,WAAK,KAAK,CAAC,KAAK,CAAC;AAAA;AACpC,iBAAK,IAAI,MAAT,mBAAY,KAAK;AACtB,WAAO;AAAA,EACT,GAAG,GAAG;AACR;;;ACjEO,IAAM,UAAU,CACrB,MACG,MAC+E;AAClF,QAAM,MAAM,OAAO,MAAM,aAAa,EAAE,GAAG,CAAC,IAAI;AAChD,SAAO,oBAAO;AAChB;AAEO,IAAM,OAAO,CAAI,MAAkB;AAEnC,IAAM,OAAO,MAAM;AAAC;AAEpB,IAAM,OACX,IAAO,QACP,CAAC,MACC,IAAI,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC;AAEzB,IAAM,UACX,IAAqC,QACrC,IAAI,MAAqB;AACvB,MAAI,QAAQ,SAAU,IAAI;AACxB,6BAAK,GAAG;AAAA,EACV,CAAC;AACH;AAEK,IAAM,OAAsB,uBAAM;AACvC,MAAI,KAAK;AACT,SAAO,MAAM;AACX;AACA,WAAO,GAAG,SAAS,EAAE;AAAA,EACvB;AACF,GAAG;AAEI,eAAqB,QAAW,OAAiB;AACtD,MAAI,CAAE,QAAO,UAAU;AAAW,WAAO;AACzC,QAAM,SAAS,CAAE,QAAO,WAAW,YAAY,CAAC,IAAI,OAAO,OAAO,CAAC,GAAG,MAAM;AAC5E,aAAW,OAAO,OAAO,KAAK,KAAK,GAAG;AACpC,UAAM,QAAQ,MAAM;AACpB,UAAM,MAAM,OAAO;AACnB,QAAI,UAAU;AAAM,aAAO,OAAO;AAAA,aACzB,MAAM,QAAQ,KAAK,KAAK,MAAM,QAAQ,GAAG;AAAG,aAAO,OAAQ,QAAO,CAAC,GAAG,OAAO,SAAS,CAAC,CAAC;AAAA;AAC5F,aAAO,OAAO,MAAM,KAAK,KAAK;AAAA,EACrC;AACA,SAAO;AACT;;;AC5CA,IAAM,WAAW,CAAC,MAAc,MAAM,KAAK,EAAE,KAAK,UAAU,QAAQ;AACpE,IAAM,KAAK,CAAC,MAAc,MAAM,KAAK,EAAE,KAAK,UAAU,SAAS;AAExD,IAAM,QAAQ,MAAM,WAAyB;AAC7C,IAAM,QAAQ,MAAM,CAAC,CAAE,QAAO,WAAW;AACzC,IAAM,QAAQ,MAAM,SAAS,MAAM;AACnC,IAAM,WAAW,MAAM,SAAS,SAAS;AACzC,IAAM,SAAS,MAAM,SAAS,OAAO,KAAM,MAAM,KAAK,UAAU,iBAAiB;AACjF,IAAM,QAAQ,MAAM,SAAS,KAAK,OAAO;AACzC,IAAM,WAAW,MAAM,GAAG,gCAAgC;AAC1D,IAAM,YAAY,MAAM,GAAG,UAAU;AACrC,IAAM,WAAW,MAAM,GAAG,SAAS,KAAK,CAAC,GAAG,QAAQ;AACpD,IAAM,UAAU,MAAM,MAAM,KAAK,MAAM;AAEvC,IAAM,UAAU,CAAC,MAAuB,MAAM,QAAQ,CAAC;AACvD,IAAM,YAAY,CAAC,MAAyB,MAAM,QAAQ,MAAM;AAChE,IAAM,WAAW,CAAC,MAAqC,CAAE,MAAK,QAAQ,OAAO,MAAM,YAAY,QAAQ,CAAC;AACxG,IAAM,WAAW,CAAC,MAAwB,OAAO,MAAM,YAAY,CAAC,OAAO,MAAM,CAAC;AAClF,IAAM,WAAW,CAAC,MAAwB,OAAO,MAAM;AACvD,IAAM,aAAa,CAAC,MAA0B,OAAO,MAAM;AAE3D,IAAM,uBAAuB,MAAM,MAAM,KAAK,OAAO,kBAAkB;AACvE,IAAM,qBAAqB,MAAM,MAAM,KAAK,OAAO,iBAAiB;AACpE,IAAM,qBAAqB,MAAM,MAAM,KAAK,OAAO,gBAAgB;AAEnE,IAAM,eAAe,CAAC,MAA4B,SAAS,CAAC,KAAK,YAAY;AAC7E,IAAM,eAAe,CAAC,MAA4B,SAAS,CAAC,KAAK,aAAa;AAC9E,IAAM,cAAc,CAAC,MAAiC,EAAE,WAAW;AACnE,IAAM,eAAe,CAAC,MAAiC,EAAE,WAAW;AACpE,IAAM,kBAAkB,CAAC,MAC9B,EAAE,WAAW,EAAE,UAAU,EAAE;AACtB,IAAM,YAAY,CAAC,MAAsB,MAAM,IAAI,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE;;;AC7B7F,iBAAiB,GAAgB;AACtC,QAAM,IAAI,EAAE,WAAW,IAAI,EAAE,KAAK,EAAE;AACpC,QAAM,IAAI,EAAE,WAAW,IAAI,EAAE,KAAK;AAClC,MAAI,KAAK,WAAyB,cAAc;AAC9C,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;AAIO,sBAAsB,GAAgB;AAC3C,QAAM,IAAI,EAAE,WAAW,IAAI,EAAE,KAAK,EAAE;AACpC,QAAM,IAAI,EAAE,WAAW,IAAI,EAAE,KAAK;AAClC,MAAI,KAAK,WAAyB,cAAc;AAC9C,UAAM,IAAI,MAAM,CAAC;AAAA,EACnB;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|