From 182d36afa4b61d9f01df6f664dc8bb1b4e0e82ce Mon Sep 17 00:00:00 2001 From: fushen Date: Mon, 17 Feb 2020 21:20:14 +0800 Subject: [PATCH 1/3] feat: suport universal-dom-info --- packages/dom-info/README-zh_CN.md | 61 +++++++++++++++++++ packages/dom-info/README.md | 61 +++++++++++++++++++ packages/dom-info/build.json | 11 ++++ .../dom-info/docs-template/README-zh_CN.md | 61 +++++++++++++++++++ packages/dom-info/docs-template/README.md | 61 +++++++++++++++++++ packages/dom-info/package.json | 31 ++++++++++ packages/dom-info/src/Cache.ts | 24 ++++++++ packages/dom-info/src/index.ts | 23 +++++++ packages/dom-info/src/miniapp/index.ts | 24 ++++++++ packages/dom-info/src/types.ts | 4 ++ packages/dom-info/src/web/index.ts | 25 ++++++++ packages/dom-info/tsconfig.json | 21 +++++++ 12 files changed, 407 insertions(+) create mode 100644 packages/dom-info/README-zh_CN.md create mode 100644 packages/dom-info/README.md create mode 100644 packages/dom-info/build.json create mode 100644 packages/dom-info/docs-template/README-zh_CN.md create mode 100644 packages/dom-info/docs-template/README.md create mode 100644 packages/dom-info/package.json create mode 100644 packages/dom-info/src/Cache.ts create mode 100644 packages/dom-info/src/index.ts create mode 100644 packages/dom-info/src/miniapp/index.ts create mode 100644 packages/dom-info/src/types.ts create mode 100644 packages/dom-info/src/web/index.ts create mode 100755 packages/dom-info/tsconfig.json diff --git a/packages/dom-info/README-zh_CN.md b/packages/dom-info/README-zh_CN.md new file mode 100644 index 00000000..df6a4ab9 --- /dev/null +++ b/packages/dom-info/README-zh_CN.md @@ -0,0 +1,61 @@ +# universal-dom-info [![npm](https://img.shields.io/npm/v/universal-dom-info.svg)](https://www.npmjs.com/package/universal-dom-info) + +获取 DOM 节点的信息. + +## 支持 +miniApp wechatMiniprogram browser + +## 安装 + +```bash +$ npm install universal-dom-info --save +``` + +## 使用 + +```js +import { createElement, useEffect, Fragment } from 'rax'; +import { getScrollOffset, getBoundingClientRect } from 'universal-dom-info'; + +function App() { + useEffect({ + getScrollOffset('#container').then((ret) => { + const { scrollTop, scrollLeft } = ret[0]; + console.log(scrollTop, scrollLeft); + }); + + getBoundingClientRect('#container').then((ret) => { + const { width, height, top, left, right, bottom } = ret[0]; + console.log(width, height, top, left, right, bottom); + }); + }, []); + + return (<> + test + ) +} +``` + +## 方法 + +### `getScrollOffset()` + +在阿里小程序中, 不存在 `scrollWidth`, `scrollHeight`。 + +```js +getScrollOffet('#container').then((ret) => { + const { scrollTop, scrollLeft, scrollWidth, scrollHeight } = ret[0]; + console.log(scrollTop, scrollLeft, scrollWidth, scrollHeight); +}); +``` + +### `getBoundingClientRect()` + +在所有小程序中, 不存在 `x`, `y`。 + +```js +getBoundingClientRect().then((ret) => { + const { width, height, top, left, right, bottom, x, y } = ret[0]; + console.log(width, height, top, left, right, bottom, x, y); +}); +``` diff --git a/packages/dom-info/README.md b/packages/dom-info/README.md new file mode 100644 index 00000000..d4fd6883 --- /dev/null +++ b/packages/dom-info/README.md @@ -0,0 +1,61 @@ +# universal-dom-info [![npm](https://img.shields.io/npm/v/universal-dom-info.svg)](https://www.npmjs.com/package/universal-dom-info) + +Get dom info. + +## Support +miniApp wechatMiniprogram browser + +## Install + +```bash +$ npm install universal-dom-info --save +``` + +## Usage + +```js +import { createElement, useEffect, Fragment } from 'rax'; +import { getScrollOffset, getBoundingClientRect } from 'universal-dom-info'; + +function App() { + useEffect({ + getScrollOffset('#container').then((ret) => { + const { scrollTop, scrollLeft } = ret[0]; + console.log(scrollTop, scrollLeft); + }); + + getBoundingClientRect('#container').then((ret) => { + const { width, height, top, left, right, bottom } = ret[0]; + console.log(width, height, top, left, right, bottom); + }); + }, []); + + return (<> + test + ) +} +``` + +## Methods + +### `getScrollOffset()` + +In MiniApp, there isn't `scrollWidth`, `scrollHeight`. + +```js +getScrollOffet('#container').then((ret) => { + const { scrollTop, scrollLeft, scrollWidth, scrollHeight } = ret[0]; + console.log(scrollTop, scrollLeft, scrollWidth, scrollHeight); +}); +``` + +### `getBoundingClientRect()` + +In MiniApp or WechatMiniProgram, there isn't `x`, `y`. + +```js +getBoundingClientRect().then((ret) => { + const { width, height, top, left, right, bottom, x, y } = ret[0]; + console.log(width, height, top, left, right, bottom, x, y); +}); +``` diff --git a/packages/dom-info/build.json b/packages/dom-info/build.json new file mode 100644 index 00000000..3edf1438 --- /dev/null +++ b/packages/dom-info/build.json @@ -0,0 +1,11 @@ +{ + "plugins": [ + [ + "build-plugin-rax-component", + { + "type": "rax", + "targets": ["web"] + } + ] + ] +} diff --git a/packages/dom-info/docs-template/README-zh_CN.md b/packages/dom-info/docs-template/README-zh_CN.md new file mode 100644 index 00000000..75db9518 --- /dev/null +++ b/packages/dom-info/docs-template/README-zh_CN.md @@ -0,0 +1,61 @@ +# universal-dom-info [![npm](https://img.shields.io/npm/v/universal-dom-info.svg)](https://www.npmjs.com/package/universal-dom-info) + +获取 DOM 节点的信息. + +## 支持 +__icon_miniapp_mp__ __icon_miniapp_wx__ __icon_web__ + +## 安装 + +```bash +$ npm install universal-dom-info --save +``` + +## 使用 + +```js +import { createElement, useEffect, Fragment } from 'rax'; +import { getScrollOffset, getBoundingClientRect } from 'universal-dom-info'; + +function App() { + useEffect({ + getScrollOffset('#container').then((ret) => { + const { scrollTop, scrollLeft } = ret[0]; + console.log(scrollTop, scrollLeft); + }); + + getBoundingClientRect('#container').then((ret) => { + const { width, height, top, left, right, bottom } = ret[0]; + console.log(width, height, top, left, right, bottom); + }); + }, []); + + return (<> + test + ) +} +``` + +## 方法 + +### `getScrollOffset()` + +在阿里小程序中, 不存在 `scrollWidth`, `scrollHeight`。 + +```js +getScrollOffet('#container').then((ret) => { + const { scrollTop, scrollLeft, scrollWidth, scrollHeight } = ret[0]; + console.log(scrollTop, scrollLeft, scrollWidth, scrollHeight); +}); +``` + +### `getBoundingClientRect()` + +在所有小程序中, 不存在 `x`, `y`。 + +```js +getBoundingClientRect().then((ret) => { + const { width, height, top, left, right, bottom, x, y } = ret[0]; + console.log(width, height, top, left, right, bottom, x, y); +}); +``` diff --git a/packages/dom-info/docs-template/README.md b/packages/dom-info/docs-template/README.md new file mode 100644 index 00000000..907bfecd --- /dev/null +++ b/packages/dom-info/docs-template/README.md @@ -0,0 +1,61 @@ +# universal-dom-info [![npm](https://img.shields.io/npm/v/universal-dom-info.svg)](https://www.npmjs.com/package/universal-dom-info) + +Get dom info. + +## Support +__icon_miniapp_mp__ __icon_miniapp_wx__ __icon_web__ + +## Install + +```bash +$ npm install universal-dom-info --save +``` + +## Usage + +```js +import { createElement, useEffect, Fragment } from 'rax'; +import { getScrollOffset, getBoundingClientRect } from 'universal-dom-info'; + +function App() { + useEffect({ + getScrollOffset('#container').then((ret) => { + const { scrollTop, scrollLeft } = ret[0]; + console.log(scrollTop, scrollLeft); + }); + + getBoundingClientRect('#container').then((ret) => { + const { width, height, top, left, right, bottom } = ret[0]; + console.log(width, height, top, left, right, bottom); + }); + }, []); + + return (<> + test + ) +} +``` + +## Methods + +### `getScrollOffset()` + +In MiniApp, there isn't `scrollWidth`, `scrollHeight`. + +```js +getScrollOffet('#container').then((ret) => { + const { scrollTop, scrollLeft, scrollWidth, scrollHeight } = ret[0]; + console.log(scrollTop, scrollLeft, scrollWidth, scrollHeight); +}); +``` + +### `getBoundingClientRect()` + +In MiniApp or WechatMiniProgram, there isn't `x`, `y`. + +```js +getBoundingClientRect().then((ret) => { + const { width, height, top, left, right, bottom, x, y } = ret[0]; + console.log(width, height, top, left, right, bottom, x, y); +}); +``` diff --git a/packages/dom-info/package.json b/packages/dom-info/package.json new file mode 100644 index 00000000..b50e6135 --- /dev/null +++ b/packages/dom-info/package.json @@ -0,0 +1,31 @@ +{ + "name": "dom-info", + "author": "rax", + "version": "0.0.1", + "description": "", + "main": "lib/index.js", + "module": "src/index.js", + "files": [ + "src", + "lib", + "dist" + ], + "scripts": { + "start": "build-scripts start", + "build": "build-scripts build" + }, + "pre-commit": [ + "lint" + ], + "keywords": [ + "Rax" + ], + "engines": { + "npm": ">=3.0.0" + }, + "devDependencies": { + "@alib/build-scripts": "^0.1.0", + "build-plugin-rax-component": "^0.1.0", + "universal-env": "^3.0.0" + } +} diff --git a/packages/dom-info/src/Cache.ts b/packages/dom-info/src/Cache.ts new file mode 100644 index 00000000..20e1b1f8 --- /dev/null +++ b/packages/dom-info/src/Cache.ts @@ -0,0 +1,24 @@ +// eslint disable import/no-extraneous-dependencies +import { isWeb, isMiniApp, isWeChatMiniProgram } from 'universal-env'; + +declare const my :any; +declare const wx :any; +export default class Cache { + private cache = {}; + public getInfo(selector) { + if (this.cache[selector]) return this.cache[selector]; + if (isMiniApp && !isWeb) { + const selectorQuery = my.createSelectorQuery().selectAll(selector); + this.cache[selector] = selectorQuery; + return selectorQuery; + } else if (isWeChatMiniProgram && !isWeb) { + const selectorQuery = wx.createSelectorQuery().selectAll(selector); + this.cache[selector] = selectorQuery; + return selectorQuery; + } else { + const nodes = document.querySelectorAll(selector); + this.cache[selector] = nodes; + return document.querySelectorAll(selector); + } + } +} diff --git a/packages/dom-info/src/index.ts b/packages/dom-info/src/index.ts new file mode 100644 index 00000000..fdd22ccd --- /dev/null +++ b/packages/dom-info/src/index.ts @@ -0,0 +1,23 @@ +// eslint disable import/no-extraneous-dependencies +import { isWeb, isMiniApp, isWeChatMiniProgram } from 'universal-env'; +import miniapp from './miniapp'; +import web from './web'; +import { DomInfo } from './types'; + +let domInfo:DomInfo; + +if ((isMiniApp || isWeChatMiniProgram) && !isWeb) { + // For cased that import wechat or miniapp sdk in web + domInfo = miniapp; +} else { + // Web as default + domInfo = web; +} + +const getScrollOffset = domInfo.getScrollOffset; +const getBoundingClientRect = domInfo.getBoundingClientRect; + +export { + getScrollOffset, + getBoundingClientRect +}; diff --git a/packages/dom-info/src/miniapp/index.ts b/packages/dom-info/src/miniapp/index.ts new file mode 100644 index 00000000..f0b90b7a --- /dev/null +++ b/packages/dom-info/src/miniapp/index.ts @@ -0,0 +1,24 @@ +import Cache from '../Cache'; + +const cache = new Cache(); + +function getScrollOffset(selector: string) :Promise> { + return new Promise(resolve => { + cache.getInfo(selector).scrollOffset().exec(ret => { + resolve(ret); + }); + }); +} + +function getBoundingClientRect(selector: string) :Promise> { + return new Promise(resolve => { + cache.getInfo(selector).boundingClientRect().exec(ret => { + resolve(ret); + }); + }); +} + +export default { + getScrollOffset, + getBoundingClientRect +} diff --git a/packages/dom-info/src/types.ts b/packages/dom-info/src/types.ts new file mode 100644 index 00000000..443d7947 --- /dev/null +++ b/packages/dom-info/src/types.ts @@ -0,0 +1,4 @@ +export interface DomInfo { + getScrollOffset: (string) => Promise>, + getBoundingClientRect: (string) => Promise>, +} diff --git a/packages/dom-info/src/web/index.ts b/packages/dom-info/src/web/index.ts new file mode 100644 index 00000000..00080885 --- /dev/null +++ b/packages/dom-info/src/web/index.ts @@ -0,0 +1,25 @@ +import Cache from '../Cache'; + +const cache = new Cache(); + +function getScrollOffset(selector: string) :Promise> { + return new Promise(resolve => { + resolve(cache.getInfo(selector).map(node => ({ + scrollTop: node.scrollTop, + scrollLeft: node.scrollLeft, + scrollWidth: node.scrollWidth, + scrollHeight: node.scrollHeight + }))); + }); +} + +function getBoundingClientRect(selector: string) :Promise> { + return new Promise(resolve => { + resolve(cache.getInfo(selector).map(node => node.getBoundingClientRect())); + }); +} + +export default { + getScrollOffset, + getBoundingClientRect +} diff --git a/packages/dom-info/tsconfig.json b/packages/dom-info/tsconfig.json new file mode 100755 index 00000000..f4c449e8 --- /dev/null +++ b/packages/dom-info/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "module": "esNext", + "target": "es2015", + "moduleResolution": "node", + "baseUrl": ".", + "rootDir": "src", + "downlevelIteration": true, + "alwaysStrict": true, + "outDir": "lib", + "strict": true, + "preserveConstEnums": true, + "experimentalDecorators": true, + "noImplicitReturns": true, + "noUnusedLocals": true, + "noImplicitAny": false, + "noImplicitThis": false + }, + "include": ["src/**/*"], + "exclude": ["**/__tests__"] +} From 33076bace5dc2e63bfb8b2254e4e4e7cf726221f Mon Sep 17 00:00:00 2001 From: fushen Date: Mon, 17 Feb 2020 21:25:06 +0800 Subject: [PATCH 2/3] chore: lint --- packages/dom-info/src/Cache.ts | 6 +++--- packages/dom-info/src/index.ts | 4 ++-- packages/dom-info/src/miniapp/index.ts | 6 +++--- packages/dom-info/src/types.ts | 4 ++-- packages/dom-info/src/web/index.ts | 6 +++--- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/dom-info/src/Cache.ts b/packages/dom-info/src/Cache.ts index 20e1b1f8..abed5aeb 100644 --- a/packages/dom-info/src/Cache.ts +++ b/packages/dom-info/src/Cache.ts @@ -1,8 +1,8 @@ -// eslint disable import/no-extraneous-dependencies +// eslint-disable-next-line import/no-extraneous-dependencies import { isWeb, isMiniApp, isWeChatMiniProgram } from 'universal-env'; -declare const my :any; -declare const wx :any; +declare const my: any; +declare const wx: any; export default class Cache { private cache = {}; public getInfo(selector) { diff --git a/packages/dom-info/src/index.ts b/packages/dom-info/src/index.ts index fdd22ccd..aedced95 100644 --- a/packages/dom-info/src/index.ts +++ b/packages/dom-info/src/index.ts @@ -1,10 +1,10 @@ -// eslint disable import/no-extraneous-dependencies +// eslint-disable-next-line import/no-extraneous-dependencies import { isWeb, isMiniApp, isWeChatMiniProgram } from 'universal-env'; import miniapp from './miniapp'; import web from './web'; import { DomInfo } from './types'; -let domInfo:DomInfo; +let domInfo: DomInfo; if ((isMiniApp || isWeChatMiniProgram) && !isWeb) { // For cased that import wechat or miniapp sdk in web diff --git a/packages/dom-info/src/miniapp/index.ts b/packages/dom-info/src/miniapp/index.ts index f0b90b7a..017b6087 100644 --- a/packages/dom-info/src/miniapp/index.ts +++ b/packages/dom-info/src/miniapp/index.ts @@ -2,7 +2,7 @@ import Cache from '../Cache'; const cache = new Cache(); -function getScrollOffset(selector: string) :Promise> { +function getScrollOffset(selector: string): Promise { return new Promise(resolve => { cache.getInfo(selector).scrollOffset().exec(ret => { resolve(ret); @@ -10,7 +10,7 @@ function getScrollOffset(selector: string) :Promise> { }); } -function getBoundingClientRect(selector: string) :Promise> { +function getBoundingClientRect(selector: string): Promise { return new Promise(resolve => { cache.getInfo(selector).boundingClientRect().exec(ret => { resolve(ret); @@ -21,4 +21,4 @@ function getBoundingClientRect(selector: string) :Promise> { export default { getScrollOffset, getBoundingClientRect -} +}; diff --git a/packages/dom-info/src/types.ts b/packages/dom-info/src/types.ts index 443d7947..11af48aa 100644 --- a/packages/dom-info/src/types.ts +++ b/packages/dom-info/src/types.ts @@ -1,4 +1,4 @@ export interface DomInfo { - getScrollOffset: (string) => Promise>, - getBoundingClientRect: (string) => Promise>, + getScrollOffset: (string) => Promise; + getBoundingClientRect: (string) => Promise; } diff --git a/packages/dom-info/src/web/index.ts b/packages/dom-info/src/web/index.ts index 00080885..9cc2da84 100644 --- a/packages/dom-info/src/web/index.ts +++ b/packages/dom-info/src/web/index.ts @@ -2,7 +2,7 @@ import Cache from '../Cache'; const cache = new Cache(); -function getScrollOffset(selector: string) :Promise> { +function getScrollOffset(selector: string): Promise { return new Promise(resolve => { resolve(cache.getInfo(selector).map(node => ({ scrollTop: node.scrollTop, @@ -13,7 +13,7 @@ function getScrollOffset(selector: string) :Promise> { }); } -function getBoundingClientRect(selector: string) :Promise> { +function getBoundingClientRect(selector: string): Promise { return new Promise(resolve => { resolve(cache.getInfo(selector).map(node => node.getBoundingClientRect())); }); @@ -22,4 +22,4 @@ function getBoundingClientRect(selector: string) :Promise> { export default { getScrollOffset, getBoundingClientRect -} +}; From b9e2f571d12f9ed41a260ca19c226f52f46e1412 Mon Sep 17 00:00:00 2001 From: fushen Date: Mon, 17 Feb 2020 21:34:53 +0800 Subject: [PATCH 3/3] chore: rename dom info to dom --- packages/{dom-info => dom}/README-zh_CN.md | 6 +++--- packages/{dom-info => dom}/README.md | 6 +++--- packages/{dom-info => dom}/build.json | 0 .../{dom-info => dom}/docs-template/README-zh_CN.md | 6 +++--- packages/{dom-info => dom}/docs-template/README.md | 6 +++--- packages/{dom-info => dom}/package.json | 0 packages/{dom-info => dom}/src/Cache.ts | 0 packages/{dom-info => dom}/src/index.ts | 12 ++++++------ packages/{dom-info => dom}/src/miniapp/index.ts | 0 packages/{dom-info => dom}/src/types.ts | 2 +- packages/{dom-info => dom}/src/web/index.ts | 0 packages/{dom-info => dom}/tsconfig.json | 0 12 files changed, 19 insertions(+), 19 deletions(-) rename packages/{dom-info => dom}/README-zh_CN.md (89%) rename packages/{dom-info => dom}/README.md (89%) rename packages/{dom-info => dom}/build.json (100%) rename packages/{dom-info => dom}/docs-template/README-zh_CN.md (87%) rename packages/{dom-info => dom}/docs-template/README.md (87%) rename packages/{dom-info => dom}/package.json (100%) rename packages/{dom-info => dom}/src/Cache.ts (100%) rename packages/{dom-info => dom}/src/index.ts (65%) rename packages/{dom-info => dom}/src/miniapp/index.ts (100%) rename packages/{dom-info => dom}/src/types.ts (79%) rename packages/{dom-info => dom}/src/web/index.ts (100%) rename packages/{dom-info => dom}/tsconfig.json (100%) diff --git a/packages/dom-info/README-zh_CN.md b/packages/dom/README-zh_CN.md similarity index 89% rename from packages/dom-info/README-zh_CN.md rename to packages/dom/README-zh_CN.md index df6a4ab9..f494a7ef 100644 --- a/packages/dom-info/README-zh_CN.md +++ b/packages/dom/README-zh_CN.md @@ -1,4 +1,4 @@ -# universal-dom-info [![npm](https://img.shields.io/npm/v/universal-dom-info.svg)](https://www.npmjs.com/package/universal-dom-info) +# universal-dom [![npm](https://img.shields.io/npm/v/universal-dom.svg)](https://www.npmjs.com/package/universal-dom) 获取 DOM 节点的信息. @@ -8,14 +8,14 @@ ## 安装 ```bash -$ npm install universal-dom-info --save +$ npm install universal-dom --save ``` ## 使用 ```js import { createElement, useEffect, Fragment } from 'rax'; -import { getScrollOffset, getBoundingClientRect } from 'universal-dom-info'; +import { getScrollOffset, getBoundingClientRect } from 'universal-dom'; function App() { useEffect({ diff --git a/packages/dom-info/README.md b/packages/dom/README.md similarity index 89% rename from packages/dom-info/README.md rename to packages/dom/README.md index d4fd6883..4b37835f 100644 --- a/packages/dom-info/README.md +++ b/packages/dom/README.md @@ -1,4 +1,4 @@ -# universal-dom-info [![npm](https://img.shields.io/npm/v/universal-dom-info.svg)](https://www.npmjs.com/package/universal-dom-info) +# universal-dom [![npm](https://img.shields.io/npm/v/universal-dom.svg)](https://www.npmjs.com/package/universal-dom) Get dom info. @@ -8,14 +8,14 @@ Get dom info. ## Install ```bash -$ npm install universal-dom-info --save +$ npm install universal-dom --save ``` ## Usage ```js import { createElement, useEffect, Fragment } from 'rax'; -import { getScrollOffset, getBoundingClientRect } from 'universal-dom-info'; +import { getScrollOffset, getBoundingClientRect } from 'universal-dom'; function App() { useEffect({ diff --git a/packages/dom-info/build.json b/packages/dom/build.json similarity index 100% rename from packages/dom-info/build.json rename to packages/dom/build.json diff --git a/packages/dom-info/docs-template/README-zh_CN.md b/packages/dom/docs-template/README-zh_CN.md similarity index 87% rename from packages/dom-info/docs-template/README-zh_CN.md rename to packages/dom/docs-template/README-zh_CN.md index 75db9518..15e58dfb 100644 --- a/packages/dom-info/docs-template/README-zh_CN.md +++ b/packages/dom/docs-template/README-zh_CN.md @@ -1,4 +1,4 @@ -# universal-dom-info [![npm](https://img.shields.io/npm/v/universal-dom-info.svg)](https://www.npmjs.com/package/universal-dom-info) +# universal-dom [![npm](https://img.shields.io/npm/v/universal-dom.svg)](https://www.npmjs.com/package/universal-dom) 获取 DOM 节点的信息. @@ -8,14 +8,14 @@ __icon_miniapp_mp__ __icon_miniapp_wx__ __icon_web__ ## 安装 ```bash -$ npm install universal-dom-info --save +$ npm install universal-dom --save ``` ## 使用 ```js import { createElement, useEffect, Fragment } from 'rax'; -import { getScrollOffset, getBoundingClientRect } from 'universal-dom-info'; +import { getScrollOffset, getBoundingClientRect } from 'universal-dom'; function App() { useEffect({ diff --git a/packages/dom-info/docs-template/README.md b/packages/dom/docs-template/README.md similarity index 87% rename from packages/dom-info/docs-template/README.md rename to packages/dom/docs-template/README.md index 907bfecd..6ab8a71d 100644 --- a/packages/dom-info/docs-template/README.md +++ b/packages/dom/docs-template/README.md @@ -1,4 +1,4 @@ -# universal-dom-info [![npm](https://img.shields.io/npm/v/universal-dom-info.svg)](https://www.npmjs.com/package/universal-dom-info) +# universal-dom [![npm](https://img.shields.io/npm/v/universal-dom.svg)](https://www.npmjs.com/package/universal-dom) Get dom info. @@ -8,14 +8,14 @@ __icon_miniapp_mp__ __icon_miniapp_wx__ __icon_web__ ## Install ```bash -$ npm install universal-dom-info --save +$ npm install universal-dom --save ``` ## Usage ```js import { createElement, useEffect, Fragment } from 'rax'; -import { getScrollOffset, getBoundingClientRect } from 'universal-dom-info'; +import { getScrollOffset, getBoundingClientRect } from 'universal-dom'; function App() { useEffect({ diff --git a/packages/dom-info/package.json b/packages/dom/package.json similarity index 100% rename from packages/dom-info/package.json rename to packages/dom/package.json diff --git a/packages/dom-info/src/Cache.ts b/packages/dom/src/Cache.ts similarity index 100% rename from packages/dom-info/src/Cache.ts rename to packages/dom/src/Cache.ts diff --git a/packages/dom-info/src/index.ts b/packages/dom/src/index.ts similarity index 65% rename from packages/dom-info/src/index.ts rename to packages/dom/src/index.ts index aedced95..30c4b5f9 100644 --- a/packages/dom-info/src/index.ts +++ b/packages/dom/src/index.ts @@ -2,20 +2,20 @@ import { isWeb, isMiniApp, isWeChatMiniProgram } from 'universal-env'; import miniapp from './miniapp'; import web from './web'; -import { DomInfo } from './types'; +import { Dom } from './types'; -let domInfo: DomInfo; +let dom: Dom; if ((isMiniApp || isWeChatMiniProgram) && !isWeb) { // For cased that import wechat or miniapp sdk in web - domInfo = miniapp; + dom = miniapp; } else { // Web as default - domInfo = web; + dom = web; } -const getScrollOffset = domInfo.getScrollOffset; -const getBoundingClientRect = domInfo.getBoundingClientRect; +const getScrollOffset = dom.getScrollOffset; +const getBoundingClientRect = dom.getBoundingClientRect; export { getScrollOffset, diff --git a/packages/dom-info/src/miniapp/index.ts b/packages/dom/src/miniapp/index.ts similarity index 100% rename from packages/dom-info/src/miniapp/index.ts rename to packages/dom/src/miniapp/index.ts diff --git a/packages/dom-info/src/types.ts b/packages/dom/src/types.ts similarity index 79% rename from packages/dom-info/src/types.ts rename to packages/dom/src/types.ts index 11af48aa..f120e7df 100644 --- a/packages/dom-info/src/types.ts +++ b/packages/dom/src/types.ts @@ -1,4 +1,4 @@ -export interface DomInfo { +export interface Dom { getScrollOffset: (string) => Promise; getBoundingClientRect: (string) => Promise; } diff --git a/packages/dom-info/src/web/index.ts b/packages/dom/src/web/index.ts similarity index 100% rename from packages/dom-info/src/web/index.ts rename to packages/dom/src/web/index.ts diff --git a/packages/dom-info/tsconfig.json b/packages/dom/tsconfig.json similarity index 100% rename from packages/dom-info/tsconfig.json rename to packages/dom/tsconfig.json