UNPKG

hongluan-ui

Version:
1 lines 2.01 kB
{"version":3,"file":"utils.mjs","sources":["../../../../../../packages/components/anchor/src/utils.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport BTween from 'b-tween'\nimport { isString, isFunction } from '@vue/shared'\n\nexport function findNode(\n dom: HTMLElement | Document,\n selector: string,\n): Element | null {\n // handle id start with number\n // eg. id #123\n const s =\n isString(selector) && selector[0] === '#'\n ? `[id='${selector.replace('#', '')}']`\n : selector\n try {\n return dom.querySelector(s)\n } catch (e) {\n return null\n }\n}\n\nexport function slide(el: HTMLElement, top: number, cb: () => void): void {\n const tween = new BTween({\n from: {\n scrollTop: el.scrollTop,\n },\n to: {\n scrollTop: top,\n },\n easing: 'quartOut',\n duration: 300,\n onUpdate: (keys: any) => {\n el.scrollTop = keys.scrollTop\n },\n onFinish: () => {\n if (isFunction(cb)) {\n cb()\n }\n },\n })\n tween.start()\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE;AACxC,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;AACzG,EAAE,IAAI;AACN,IAAI,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AAChC,GAAG,CAAC,OAAO,CAAC,EAAE;AACd,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,CAAC;AACM,SAAS,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;AACnC,EAAE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC;AAC3B,IAAI,IAAI,EAAE;AACV,MAAM,SAAS,EAAE,EAAE,CAAC,SAAS;AAC7B,KAAK;AACL,IAAI,EAAE,EAAE;AACR,MAAM,SAAS,EAAE,GAAG;AACpB,KAAK;AACL,IAAI,MAAM,EAAE,UAAU;AACtB,IAAI,QAAQ,EAAE,GAAG;AACjB,IAAI,QAAQ,EAAE,CAAC,IAAI,KAAK;AACxB,MAAM,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AACpC,KAAK;AACL,IAAI,QAAQ,EAAE,MAAM;AACpB,MAAM,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE;AAC1B,QAAQ,EAAE,EAAE,CAAC;AACb,OAAO;AACP,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB;;;;"}