@zero-dependency/dom 0.0.0
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/.turbo/turbo-build.log +15 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.es.js +29 -0
- package/dist/index.umd.js +1 -0
- package/dist/observeElement.d.ts +1 -0
- package/dist/waitObserveElement.d.ts +1 -0
- package/package.json +12 -0
- package/src/index.ts +2 -0
- package/src/observeElement.ts +24 -0
- package/src/waitObserveElement.ts +21 -0
- package/tsconfig.json +9 -0
- package/vite.config.ts +17 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
[33m@zero-dependency/dom:build[0m: cache hit, replaying output [2m3d4c8a2aacd0dcb0[0m
|
|
2
|
+
[33m@zero-dependency/dom:build: [0m
|
|
3
|
+
[33m@zero-dependency/dom:build: [0m> @zero-dependency/dom@0.0.0 build /home/crashmax/github/zero-dependency/packages/dom
|
|
4
|
+
[33m@zero-dependency/dom:build: [0m> vite build
|
|
5
|
+
[33m@zero-dependency/dom:build: [0m
|
|
6
|
+
[33m@zero-dependency/dom:build: [0mvite v3.1.4 building for production...
|
|
7
|
+
[33m@zero-dependency/dom:build: [0mtransforming...
|
|
8
|
+
[33m@zero-dependency/dom:build: [0m✓ 3 modules transformed.
|
|
9
|
+
[33m@zero-dependency/dom:build: [0mrendering chunks...
|
|
10
|
+
[33m@zero-dependency/dom:build: [0mdist/index.es.js 0.54 KiB / gzip: 0.29 KiB
|
|
11
|
+
[33m@zero-dependency/dom:build: [0mdist/index.umd.js 0.68 KiB / gzip: 0.42 KiB
|
|
12
|
+
[33m@zero-dependency/dom:build: [0m
|
|
13
|
+
[33m@zero-dependency/dom:build: [0m[vite:dts] Start generate declaration files...
|
|
14
|
+
[33m@zero-dependency/dom:build: [0m[vite:dts] Declaration files built in 2196ms.
|
|
15
|
+
[33m@zero-dependency/dom:build: [0m
|
package/dist/index.d.ts
ADDED
package/dist/index.es.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
function i(t, o, r = document.body) {
|
|
2
|
+
const e = new MutationObserver((n) => {
|
|
3
|
+
for (const s of n)
|
|
4
|
+
for (const u of s.addedNodes) {
|
|
5
|
+
const c = u;
|
|
6
|
+
c.matches && c.matches(t) && o(c);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
return e.observe(r, {
|
|
10
|
+
attributes: !0,
|
|
11
|
+
childList: !0,
|
|
12
|
+
subtree: !0
|
|
13
|
+
}), e;
|
|
14
|
+
}
|
|
15
|
+
function d(t, o = !0, r = document.body) {
|
|
16
|
+
return new Promise((e) => {
|
|
17
|
+
const n = i(
|
|
18
|
+
t,
|
|
19
|
+
(s) => {
|
|
20
|
+
o && n.disconnect(), e(s);
|
|
21
|
+
},
|
|
22
|
+
r
|
|
23
|
+
);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
i as observeElement,
|
|
28
|
+
d as waitObserveElement
|
|
29
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(e,t){typeof exports=="object"&&typeof module<"u"?t(exports):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis<"u"?globalThis:e||self,t(e["@zero-dependency/dom"]={}))})(this,function(e){"use strict";function t(o,s,r=document.body){const n=new MutationObserver(i=>{for(const d of i)for(const c of d.addedNodes){const u=c;u.matches&&u.matches(o)&&s(u)}});return n.observe(r,{attributes:!0,childList:!0,subtree:!0}),n}function f(o,s=!0,r=document.body){return new Promise(n=>{const i=t(o,d=>{s&&i.disconnect(),n(d)},r)})}e.observeElement=t,e.waitObserveElement=f,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function observeElement(selector: string, callback: (el: Element) => void, target?: HTMLElement): MutationObserver;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function waitObserveElement(selector: string, disconnect?: boolean, target?: HTMLElement): Promise<Element>;
|
package/package.json
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@zero-dependency/dom",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"types": "./dist/index.d.ts",
|
|
6
|
+
"module": "./dist/index.es.js",
|
|
7
|
+
"main": "./dist/index.umd.js",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"dev": "vite build --watch",
|
|
10
|
+
"build": "vite build"
|
|
11
|
+
}
|
|
12
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export function observeElement(
|
|
2
|
+
selector: string,
|
|
3
|
+
callback: (el: Element) => void,
|
|
4
|
+
target = document.body
|
|
5
|
+
) {
|
|
6
|
+
const observer = new MutationObserver((mutations) => {
|
|
7
|
+
for (const mutation of mutations) {
|
|
8
|
+
for (const node of mutation.addedNodes) {
|
|
9
|
+
const el = node as Element
|
|
10
|
+
if (el.matches && el.matches(selector)) {
|
|
11
|
+
callback(el)
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
observer.observe(target, {
|
|
18
|
+
attributes: true,
|
|
19
|
+
childList: true,
|
|
20
|
+
subtree: true
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
return observer
|
|
24
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { observeElement } from './observeElement.js'
|
|
2
|
+
|
|
3
|
+
export function waitObserveElement(
|
|
4
|
+
selector: string,
|
|
5
|
+
disconnect = true,
|
|
6
|
+
target = document.body
|
|
7
|
+
): Promise<Element> {
|
|
8
|
+
return new Promise((resolve) => {
|
|
9
|
+
const observer = observeElement(
|
|
10
|
+
selector,
|
|
11
|
+
(el) => {
|
|
12
|
+
if (disconnect) {
|
|
13
|
+
observer.disconnect()
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
resolve(el)
|
|
17
|
+
},
|
|
18
|
+
target
|
|
19
|
+
)
|
|
20
|
+
})
|
|
21
|
+
}
|
package/tsconfig.json
ADDED
package/vite.config.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { resolve } from 'path'
|
|
2
|
+
import { defineConfig } from 'vite'
|
|
3
|
+
import dts from 'vite-plugin-dts'
|
|
4
|
+
import { name } from './package.json'
|
|
5
|
+
|
|
6
|
+
export default defineConfig({
|
|
7
|
+
plugins: [dts()],
|
|
8
|
+
build: {
|
|
9
|
+
target: 'esnext',
|
|
10
|
+
lib: {
|
|
11
|
+
entry: resolve(__dirname, 'src/index.ts'),
|
|
12
|
+
fileName: (format) => `index.${format}.js`,
|
|
13
|
+
formats: ['es', 'umd'],
|
|
14
|
+
name
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
})
|