UNPKG

lisn.js

Version:

Simply handle user gestures and actions. Includes widgets.

1 lines 35.6 kB
{"version":3,"file":"minification-helpers.cjs","names":["MC","_interopRequireWildcard","require","_errors","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","root","exports","self","global","Function","userAgent","navigator","kebabToCamelCase","str","replace","m","toUpperCase","charAt","camelToKebabCase","toLowerCase","prefixName","name","PREFIX","prefixCssVar","prefixCssJsVar","prefixData","prefixLisnData","s","timeNow","Date","now","bind","timeSince","startTime","hasDOM","document","getWindow","window","getDoc","getDocElement","documentElement","getDocScrollingElement","scrollingElement","getBody","body","getReadyState","readyState","getPointerType","event","isPointerEvent","pointerType","isMouseEvent","onAnimationFrame","callback","requestAnimationFrame","createElement","tagName","options","createButton","label","tag","btn","setTabIndex","setAttr","S_ROLE","ARIA_PREFIX","isNullish","v","undefined","isEmpty","isIterableObject","isNonPrimitive","SYMBOL","iterator","isArray","isInstanceOf","ARRAY","isObject","OBJECT","typeOf","isNumber","isString","STRING","isLiteralString","isBoolean","isFunction","FUNCTION","isDoc","target","MouseEvent","PointerEvent","isTouchPointerEvent","S_TOUCH","isWheelEvent","WheelEvent","isKeyboardEvent","KeyboardEvent","isTouchEvent","TouchEvent","isNode","Node","isElement","Element","isHTMLElement","HTMLElement","isNodeBAfterA","nodeA","nodeB","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","strReplace","match","replacement","setTimer","setTimeout","clearTimer","clearTimeout","getBoundingClientRect","element","copyBoundingRectProps","rect","x","left","right","S_WIDTH","y","top","bottom","S_HEIGHT","querySelector","selector","querySelectorAll","docQuerySelector","docQuerySelectorAll","getElementById","id","getAttr","getAttribute","value","setAttribute","unsetAttr","delAttr","removeAttribute","includes","arr","startAt","indexOf","every","array","predicate","some","filter","filterFn","filterBlank","result","lengthOf","sizeOf","obj","_obj$size","size","_obj$length","length","lastOf","a","slice","firstOf","hasTagName","preventDefault","arrayFrom","from","keysOf","keys","merge","assign","copyObject","promiseResolve","PROMISE","resolve","promiseAll","all","freezeObj","freeze","hasOwnProp","prop","prototype","preventExtensions","stringify","JSON","floor","MATH","ceil","log2","sqrt","max","min","abs","round","pow","exp","parseFloat","NUMBER","isNaN","Class","constructorOf","constructor","typeOrClassOf","_constructorOf","parentOf","_element$parentElemen","parentElement","childrenOf","children","targetOf","currentTargetOf","currentTarget","classList","S_TABINDEX","getTabIndex","index","unsetTabIndex","remove","deleteObjKey","key","deleteKey","map","delete","elScrollTo","coords","behavior","scrollTo","elScrollBy","scrollBy","newPromise","executor","Promise","newMap","entries","Map","newWeakMap","newSet","values","Set","newWeakSet","WeakSet","newIntersectionObserver","IntersectionObserver","newResizeObserver","ResizeObserver","newMutationObserver","MutationObserver","usageError","msg","LisnUsageError","bugError","LisnBugError","illegalConstructorError","useWhat","CONSOLE","console","consoleDebug","debug","consoleLog","log","consoleInfo","info","consoleWarn","warn","consoleError","error"],"sources":["../../../src/ts/globals/minification-helpers.ts"],"sourcesContent":["/**\n * For minification optimization\n *\n * @module\n * @ignore\n * @internal\n */\n\nimport * as MC from \"@lisn/globals/minification-constants\";\n\nimport {\n BoundingRect,\n IterableObject,\n Constructor,\n InstanceType,\n MapBase,\n SetBase,\n Spread,\n} from \"@lisn/globals/types\";\n\nimport { LisnUsageError, LisnBugError } from \"@lisn/globals/errors\";\n\n// credit: underscore.js\nexport const root =\n (typeof self === \"object\" && self.self === self && self) ||\n (typeof global == \"object\" && global.global === global && global) ||\n Function(\"return this\")() ||\n {};\n\nexport const userAgent =\n typeof navigator === \"undefined\" ? \"\" : navigator.userAgent;\n\nexport const kebabToCamelCase = (str: string) =>\n str.replace(/-./g, (m) => toUpperCase(m.charAt(1)));\n\nexport const camelToKebabCase = (str: string) =>\n str\n .replace(/[A-Z][a-z]/g, (m) => \"-\" + toLowerCase(m))\n .replace(/[A-Z]+/, (m) => \"-\" + toLowerCase(m));\n\nexport const prefixName = (name: string) => `${MC.PREFIX}-${name}`;\n\nexport const prefixCssVar = (name: string) => \"--\" + prefixName(name);\n\nexport const prefixCssJsVar = (name: string) => prefixCssVar(\"js--\" + name);\n\nexport const prefixData = (name: string) => `data-${camelToKebabCase(name)}`;\n\nexport const prefixLisnData = (name: string) => prefixData(prefixName(name));\n\nexport const toLowerCase = (s: string) => s.toLowerCase();\n\nexport const toUpperCase = (s: string) => s.toUpperCase();\n\nexport const timeNow = Date.now.bind(Date);\n\nexport const timeSince = (startTime: number) => timeNow() - startTime;\n\nexport const hasDOM = () => typeof document !== \"undefined\";\n\nexport const getWindow = () => window;\n\nexport const getDoc = () => document;\n\nexport const getDocElement = () => getDoc().documentElement;\n\nexport const getDocScrollingElement = () =>\n getDoc().scrollingElement as HTMLElement | null;\n\nexport const getBody = () => getDoc().body;\n\nexport const getReadyState = () => getDoc().readyState;\n\nexport const getPointerType = (event: Event) =>\n isPointerEvent(event)\n ? event.pointerType\n : isMouseEvent(event)\n ? \"mouse\"\n : null;\n\nexport const onAnimationFrame = (callback: FrameRequestCallback) =>\n requestAnimationFrame(callback);\n\nexport const createElement = (\n tagName: string,\n options?: ElementCreationOptions,\n) => getDoc().createElement(tagName, options);\n\nexport const createButton = (label = \"\", tag = \"button\") => {\n const btn = createElement(tag);\n setTabIndex(btn);\n setAttr(btn, MC.S_ROLE, \"button\");\n setAttr(btn, MC.ARIA_PREFIX + \"label\", label);\n return btn;\n};\n\nexport const isNullish = (v: unknown): v is null | undefined =>\n v === undefined || v === null;\n\nexport const isEmpty = (v: unknown): v is null | undefined | \"\" =>\n isNullish(v) || v === \"\";\n\nexport const isIterableObject = (v: unknown): v is IterableObject<unknown> =>\n isNonPrimitive(v) && MC.SYMBOL.iterator in v;\n\nexport const isArray = (v: unknown) => isInstanceOf(v, MC.ARRAY);\n\nexport const isObject = (v: unknown) => isInstanceOf(v, MC.OBJECT);\n\nexport const isNonPrimitive = (v: unknown): v is object =>\n v !== null && typeOf(v) === \"object\";\n\n// only primitive number\nexport const isNumber = (v: unknown): v is number => typeOf(v) === \"number\";\n\n/* eslint-disable-next-line @typescript-eslint/no-wrapper-object-types */\nexport const isString = (v: unknown): v is string | String =>\n typeOf(v) === \"string\" || isInstanceOf(v, MC.STRING);\n\nexport const isLiteralString = (v: unknown): v is string =>\n typeOf(v) === \"string\";\n\nexport const isBoolean = (v: unknown): v is boolean => typeOf(v) === \"boolean\";\n\n/* eslint-disable-next-line @typescript-eslint/no-unsafe-function-type */\nexport const isFunction = (v: unknown): v is Function =>\n typeOf(v) === \"function\" || isInstanceOf(v, MC.FUNCTION);\n\nexport const isDoc = (target: unknown): target is Document =>\n target === getDoc();\n\nexport const isMouseEvent = (event: Event): event is MouseEvent =>\n isInstanceOf(event, MouseEvent);\n\nexport const isPointerEvent = (event: Event): event is PointerEvent =>\n typeof PointerEvent !== \"undefined\" && isInstanceOf(event, PointerEvent);\n\nexport const isTouchPointerEvent = (event: Event): event is PointerEvent =>\n isPointerEvent(event) && getPointerType(event) === MC.S_TOUCH;\n\nexport const isWheelEvent = (event: Event): event is WheelEvent =>\n isInstanceOf(event, WheelEvent);\n\nexport const isKeyboardEvent = (event: Event): event is KeyboardEvent =>\n isInstanceOf(event, KeyboardEvent);\n\nexport const isTouchEvent = (event: Event): event is TouchEvent =>\n typeof TouchEvent !== \"undefined\" && isInstanceOf(event, TouchEvent);\n\nexport const isNode = (target: unknown) => isInstanceOf(target, Node);\n\nexport const isElement = (target: unknown) => isInstanceOf(target, Element);\n\nexport const isHTMLElement = (target: unknown) =>\n isInstanceOf(target, HTMLElement);\n\nexport const isNodeBAfterA = (nodeA: Node, nodeB: Node) =>\n (nodeA.compareDocumentPosition(nodeB) & Node.DOCUMENT_POSITION_FOLLOWING) !==\n 0;\n\nexport const strReplace = (\n s: string,\n match: string | RegExp,\n replacement: string,\n) => s.replace(match, replacement);\n\nexport const setTimer = root.setTimeout.bind(root);\n\nexport const clearTimer = root.clearTimeout.bind(root);\n\nexport const getBoundingClientRect = (element: Element) =>\n element.getBoundingClientRect();\n\n// Copy size properties explicitly to another object so they can be used with\n// the spread operator (DOMRect/DOMRectReadOnly's properties are not enumerable)\nexport const copyBoundingRectProps = (rect: BoundingRect): BoundingRect => {\n return {\n x: rect.x,\n left: rect.left,\n right: rect.right,\n [MC.S_WIDTH]: rect[MC.S_WIDTH],\n y: rect.y,\n top: rect.top,\n bottom: rect.bottom,\n [MC.S_HEIGHT]: rect[MC.S_HEIGHT],\n };\n};\n\nexport const querySelector = (root: Element | Document, selector: string) =>\n root.querySelector(selector);\n\nexport const querySelectorAll = (root: Element | Document, selector: string) =>\n root.querySelectorAll(selector);\n\nexport const docQuerySelector = (selector: string) =>\n querySelector(getDoc(), selector);\n\nexport const docQuerySelectorAll = (selector: string) =>\n querySelectorAll(getDoc(), selector);\n\nexport const getElementById = (id: string) => getDoc().getElementById(id);\n\nexport const getAttr = (element: Element, name: string) =>\n element.getAttribute(name);\n\nexport const setAttr = (element: Element, name: string, value = \"true\") =>\n element.setAttribute(name, value);\n\nexport const unsetAttr = (element: Element, name: string) =>\n element.setAttribute(name, \"false\");\n\nexport const delAttr = (element: Element, name: string) =>\n element.removeAttribute(name);\n\nexport const includes = (\n arr: readonly unknown[] | string,\n v: unknown,\n startAt?: number,\n) => (arr.indexOf as (v: unknown, startAt?: number) => number)(v, startAt) >= 0;\n\nexport const every = <\n A extends readonly unknown[],\n C extends ArrayCallbackFn<A[number]>,\n>(\n array: A,\n predicate: C,\n) => array.every(predicate);\n\nexport const some = <\n A extends readonly unknown[],\n C extends ArrayCallbackFn<A[number]>,\n>(\n array: A,\n predicate: C,\n) => array.some(predicate);\n\nexport const filter = <\n A extends readonly unknown[],\n T extends A[number],\n C extends ArrayCallbackFn<A[number]> | FilterFnTypeP<A[number], T>,\n>(\n array: A,\n filterFn: C,\n) => array.filter(filterFn) as FilteredType<C, A[number], T>[];\n\nexport const filterBlank = <A extends readonly unknown[]>(\n array: A | null | undefined,\n) => {\n const result = array\n ? filter(array, (v): v is NonNullable<A[number]> => !isEmpty(v))\n : undefined;\n\n return lengthOf(result) ? result : undefined;\n};\n\nexport const sizeOf = (obj: { size: number } | null | undefined) =>\n obj?.size ?? 0;\n\nexport const lengthOf = (obj: { length: number } | null | undefined) =>\n obj?.length ?? 0;\n\nexport const lastOf = <A extends readonly unknown[]>(a: A | null | undefined) =>\n a?.slice(-1)[0] as LastElement<A>;\n\nexport const firstOf = <A extends readonly unknown[]>(\n a: A | null | undefined,\n) => a?.slice(0, 1)[0] as FirstElement<A>;\n\nexport const tagName = (element: Element) => element.tagName;\n\nexport const hasTagName = (element: Element, tag: string) =>\n toLowerCase(tagName(element)) === toLowerCase(tag);\n\nexport const preventDefault = (event: Event) => event.preventDefault();\n\nexport const arrayFrom = MC.ARRAY.from.bind(MC.ARRAY);\n\nexport const keysOf = <T extends Record<string | symbol, unknown>>(\n obj: T,\n): Array<keyof T & string> => MC.OBJECT.keys(obj);\n\nexport const defineProperty = MC.OBJECT.defineProperty.bind(MC.OBJECT);\n\n// use it in place of object spread\nexport const merge = <A extends readonly (object | null | undefined)[]>(\n ...a: [...A]\n) => {\n return MC.OBJECT.assign({}, ...a) as Spread<A>;\n};\n\nexport const copyObject = <T extends object | undefined>(obj: T) => merge(obj);\n\nexport const promiseResolve = MC.PROMISE.resolve.bind(MC.PROMISE);\n\nexport const promiseAll = MC.PROMISE.all.bind(MC.PROMISE);\n\nexport const assign = MC.OBJECT.assign.bind(MC.OBJECT);\n\nexport const freezeObj = MC.OBJECT.freeze.bind(MC.OBJECT);\n\nexport const hasOwnProp = (o: object, prop: string | symbol) =>\n MC.OBJECT.prototype.hasOwnProperty.call(o, prop);\n\nexport const preventExtensions = MC.OBJECT.preventExtensions.bind(MC.OBJECT);\n\nexport const stringify = JSON.stringify.bind(JSON);\n\nexport const floor = MC.MATH.floor.bind(MC.MATH);\n\nexport const ceil = MC.MATH.ceil.bind(MC.MATH);\n\nexport const log2 = MC.MATH.log2.bind(MC.MATH);\n\nexport const sqrt = MC.MATH.sqrt.bind(MC.MATH);\n\nexport const max = MC.MATH.max.bind(MC.MATH);\n\nexport const min = MC.MATH.min.bind(MC.MATH);\n\nexport const abs = MC.MATH.abs.bind(MC.MATH);\n\nexport const round = MC.MATH.round.bind(MC.MATH);\n\nexport const pow = MC.MATH.pow.bind(MC.MATH);\n\nexport const exp = MC.MATH.exp.bind(MC.MATH);\n\nexport const parseFloat = MC.NUMBER.parseFloat.bind(MC.NUMBER);\n\nexport const isNaN = MC.NUMBER.isNaN.bind(MC.NUMBER);\n\nexport const isInstanceOf = <C extends Constructor<unknown>>(\n value: unknown,\n Class: C,\n): value is InstanceType<C> => value instanceof Class;\n\nexport const constructorOf = (obj: object) => obj.constructor;\n\nexport const typeOf = (obj: unknown) => typeof obj;\n\nexport const typeOrClassOf = (obj: unknown) =>\n isObject(obj) ? constructorOf(obj)?.name : typeOf(obj);\n\nexport const parentOf = (element: Element | undefined | null) =>\n element?.parentElement ?? null;\n\nexport const childrenOf = (element: Element | undefined | null) =>\n element?.children || [];\n\nexport const targetOf = <O extends { target?: unknown } | null | undefined>(\n obj: O,\n) =>\n obj?.target as O extends { target: infer T }\n ? T\n : O extends { target?: infer T }\n ? T | undefined\n : undefined;\n\nexport const currentTargetOf = <\n O extends { currentTarget?: unknown } | null | undefined,\n>(\n obj: O,\n) =>\n obj?.currentTarget as O extends { currentTarget: infer T }\n ? T\n : O extends { currentTarget?: infer T }\n ? T | undefined\n : undefined;\n\nexport const classList = <T extends Element | null | undefined>(element: T) =>\n element?.classList as T extends Element ? DOMTokenList : undefined;\n\nconst S_TABINDEX = \"tabindex\";\nexport const getTabIndex = (element: Element) => getAttr(element, S_TABINDEX);\n\nexport const setTabIndex = (element: Element, index = \"0\") =>\n setAttr(element, S_TABINDEX, index);\n\nexport const unsetTabIndex = (element: Element) => delAttr(element, S_TABINDEX);\n\nexport const remove = (obj: { remove: () => void } | null | undefined) =>\n obj?.remove();\n\nexport const deleteObjKey = <O extends object>(obj: O, key: keyof O) =>\n delete obj[key];\n\nexport const deleteKey = <K, V>(\n map: MapBase<K, V> | SetBase<K> | null | undefined,\n key: K,\n) => map?.delete(key);\n\nexport const elScrollTo = (\n element: Element,\n coords: { top?: number; left?: number },\n behavior: ScrollBehavior = \"instant\",\n) => element.scrollTo(merge({ behavior }, coords));\n\nexport const elScrollBy = (\n element: Element,\n coords: { top?: number; left?: number },\n behavior: ScrollBehavior = \"instant\",\n) => element.scrollBy(merge({ behavior }, coords));\n\nexport const newPromise = <T>(\n executor: (\n resolve: (value: T) => void,\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n reject: (reason?: any) => void,\n ) => void,\n) => new Promise(executor);\n\nexport const newMap = <K, V>(entries?: readonly (readonly [K, V])[] | null) =>\n new Map(entries);\n\nexport const newWeakMap = <K extends WeakKey, V>(\n entries?: readonly (readonly [K, V])[] | null,\n) => new WeakMap(entries);\n\nexport const newSet = <T>(values?: readonly T[] | null) => new Set(values);\n\nexport const newWeakSet = <T extends WeakKey>(values?: readonly T[] | null) =>\n new WeakSet(values);\n\nexport const newIntersectionObserver = (\n callback: IntersectionObserverCallback,\n options?: IntersectionObserverInit,\n) => new IntersectionObserver(callback, options);\n\nexport const newResizeObserver = (callback: ResizeObserverCallback) =>\n typeof ResizeObserver === \"undefined\" ? null : new ResizeObserver(callback);\n\nexport const newMutationObserver = (callback: MutationCallback) =>\n new MutationObserver(callback);\n\nexport const usageError = (msg: string) => new LisnUsageError(msg);\n\nexport const bugError = (msg: string) => new LisnBugError(msg);\n\nexport const illegalConstructorError = (useWhat: string) =>\n usageError(`Illegal constructor. Use ${useWhat}.`);\n\nconst CONSOLE = console;\nexport const consoleDebug = CONSOLE.debug.bind(CONSOLE);\n\nexport const consoleLog = CONSOLE.log.bind(CONSOLE);\n\nexport const consoleInfo = CONSOLE.info.bind(CONSOLE);\n\nexport const consoleWarn = CONSOLE.warn.bind(CONSOLE);\n\nexport const consoleError = CONSOLE.error.bind(CONSOLE);\n\n// --------------------\n\ntype FirstElement<T extends readonly unknown[]> = T extends readonly [\n infer Head,\n ...infer Last__ignored,\n]\n ? Head\n : T[number] | undefined;\n\ntype LastElement<T extends readonly unknown[]> = T extends readonly [\n ...infer Head__ignored,\n infer Last,\n]\n ? Last\n : T[number] | undefined;\n\ntype ArrayCallbackFn<V> = (\n value: V,\n index: number,\n array: readonly V[],\n) => unknown;\ntype FilterFnTypeP<V, T extends V> = (\n value: V,\n index: number,\n array: readonly V[],\n) => value is T;\ntype FilteredType<\n C extends ArrayCallbackFn<V> | FilterFnTypeP<V, T>,\n V,\n T extends V,\n> = C extends FilterFnTypeP<V, infer T> ? T : V;\n"],"mappings":"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","ignoreList":[]}