roamjs-components 0.40.1 → 0.40.5
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.
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
declare const createBlockObserver: (
|
|
1
|
+
declare const createBlockObserver: (blockCallbackOrConfig: {
|
|
2
|
+
onBlockLoad?: ((b: HTMLDivElement) => void) | undefined;
|
|
3
|
+
onBlockUnload?: ((b: HTMLDivElement) => void) | undefined;
|
|
4
|
+
onBlockRefLoad?: ((b: HTMLSpanElement) => void) | undefined;
|
|
5
|
+
onBlockRefUnload?: ((b: HTMLSpanElement) => void) | undefined;
|
|
6
|
+
} | ((b: HTMLDivElement) => void), blockRefCallback?: ((b: HTMLSpanElement) => void) | undefined) => MutationObserver[];
|
|
2
7
|
export default createBlockObserver;
|
|
@@ -1,16 +1,39 @@
|
|
|
1
1
|
import createHTMLObserver from "./createHTMLObserver";
|
|
2
|
-
const createBlockObserver = (
|
|
2
|
+
const createBlockObserver = (blockCallbackOrConfig, blockRefCallback) => {
|
|
3
3
|
const blockObserver = createHTMLObserver({
|
|
4
|
-
callback: (e) =>
|
|
4
|
+
callback: (e) => {
|
|
5
|
+
var _a;
|
|
6
|
+
return typeof blockCallbackOrConfig === "function"
|
|
7
|
+
? blockCallbackOrConfig(e)
|
|
8
|
+
: (_a = blockCallbackOrConfig.onBlockLoad) === null || _a === void 0 ? void 0 : _a.call(blockCallbackOrConfig, e);
|
|
9
|
+
},
|
|
10
|
+
removeCallback: (e) => {
|
|
11
|
+
var _a;
|
|
12
|
+
return typeof blockCallbackOrConfig === "object" &&
|
|
13
|
+
((_a = blockCallbackOrConfig.onBlockUnload) === null || _a === void 0 ? void 0 : _a.call(blockCallbackOrConfig, e));
|
|
14
|
+
},
|
|
5
15
|
tag: "DIV",
|
|
6
16
|
className: "roam-block",
|
|
7
17
|
});
|
|
8
18
|
if (blockRefCallback) {
|
|
9
|
-
return [
|
|
10
|
-
|
|
19
|
+
return [
|
|
20
|
+
blockObserver,
|
|
21
|
+
createHTMLObserver({
|
|
22
|
+
callback: (e) => {
|
|
23
|
+
var _a;
|
|
24
|
+
return typeof blockCallbackOrConfig === "object"
|
|
25
|
+
? (_a = blockCallbackOrConfig.onBlockRefLoad) === null || _a === void 0 ? void 0 : _a.call(blockCallbackOrConfig, e)
|
|
26
|
+
: blockRefCallback === null || blockRefCallback === void 0 ? void 0 : blockRefCallback(e);
|
|
27
|
+
},
|
|
28
|
+
removeCallback: (e) => {
|
|
29
|
+
var _a;
|
|
30
|
+
return typeof blockCallbackOrConfig === "object" &&
|
|
31
|
+
((_a = blockCallbackOrConfig.onBlockRefUnload) === null || _a === void 0 ? void 0 : _a.call(blockCallbackOrConfig, e));
|
|
32
|
+
},
|
|
11
33
|
tag: "SPAN",
|
|
12
34
|
className: "rm-block-ref",
|
|
13
|
-
})
|
|
35
|
+
}),
|
|
36
|
+
];
|
|
14
37
|
}
|
|
15
38
|
return [blockObserver];
|
|
16
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createBlockObserver.js","sourceRoot":"","sources":["../src/dom/createBlockObserver.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,MAAM,mBAAmB,GAAG,CAC1B,
|
|
1
|
+
{"version":3,"file":"createBlockObserver.js","sourceRoot":"","sources":["../src/dom/createBlockObserver.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,MAAM,mBAAmB,GAAG,CAC1B,qBAOK,EACL,gBAA+C,EAC3B,EAAE;IACtB,MAAM,aAAa,GAAG,kBAAkB,CAAC;QACvC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;;YACd,OAAA,OAAO,qBAAqB,KAAK,UAAU;gBACzC,CAAC,CAAC,qBAAqB,CAAC,CAAmB,CAAC;gBAC5C,CAAC,CAAC,MAAA,qBAAqB,CAAC,WAAW,+CAAjC,qBAAqB,EAAe,CAAmB,CAAC,CAAA;SAAA;QAC9D,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE;;YACpB,OAAA,OAAO,qBAAqB,KAAK,QAAQ;iBACzC,MAAA,qBAAqB,CAAC,aAAa,+CAAnC,qBAAqB,EAAiB,CAAmB,CAAC,CAAA,CAAA;SAAA;QAC5D,GAAG,EAAE,KAAK;QACV,SAAS,EAAE,YAAY;KACxB,CAAC,CAAC;IACH,IAAI,gBAAgB,EAAE;QACpB,OAAO;YACL,aAAa;YACb,kBAAkB,CAAC;gBACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;;oBACd,OAAA,OAAO,qBAAqB,KAAK,QAAQ;wBACvC,CAAC,CAAC,MAAA,qBAAqB,CAAC,cAAc,+CAApC,qBAAqB,EAAkB,CAAoB,CAAC;wBAC9D,CAAC,CAAC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,CAAoB,CAAC,CAAA;iBAAA;gBAC9C,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE;;oBACpB,OAAA,OAAO,qBAAqB,KAAK,QAAQ;yBACzC,MAAA,qBAAqB,CAAC,gBAAgB,+CAAtC,qBAAqB,EAAoB,CAAoB,CAAC,CAAA,CAAA;iBAAA;gBAChE,GAAG,EAAE,MAAM;gBACX,SAAS,EAAE,cAAc;aAC1B,CAAC;SACH,CAAC;KACH;IACD,OAAO,CAAC,aAAa,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1,26 +1,28 @@
|
|
|
1
1
|
import createObserver from "./createObserver";
|
|
2
2
|
import createOverlayObserver from "./createOverlayObserver";
|
|
3
|
-
import getMutatedNodes from "./getMutatedNodes";
|
|
4
3
|
const createHTMLObserver = ({ callback, tag, className, removeCallback, useBody, }) => {
|
|
5
4
|
const blocks = document.getElementsByClassName(className);
|
|
6
5
|
Array.from(blocks).forEach(callback);
|
|
6
|
+
const isNode = (d) => d.nodeName === tag &&
|
|
7
|
+
Array.from(d.classList).includes(className);
|
|
7
8
|
return (useBody ? createOverlayObserver : createObserver)((ms) => {
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
9
|
+
const nodes = ms.flatMap((m) => [
|
|
10
|
+
...Array.from(m.addedNodes)
|
|
11
|
+
.filter((d) => isNode(d) || d.hasChildNodes())
|
|
12
|
+
.flatMap((d) => isNode(d)
|
|
13
|
+
? [d]
|
|
14
|
+
: Array.from(d.getElementsByClassName(className)))
|
|
15
|
+
.map((node) => ({ node, added: true })),
|
|
16
|
+
...Array.from(m.removedNodes)
|
|
17
|
+
.filter((d) => isNode(d) || d.hasChildNodes())
|
|
18
|
+
.flatMap((d) => isNode(d)
|
|
19
|
+
? [d]
|
|
20
|
+
: Array.from(d.getElementsByClassName(className)))
|
|
21
|
+
.map((node) => ({ node, added: false })),
|
|
22
|
+
]);
|
|
23
|
+
nodes.forEach((b) => b.added
|
|
24
|
+
? callback(b.node)
|
|
25
|
+
: removeCallback === null || removeCallback === void 0 ? void 0 : removeCallback(b.node));
|
|
24
26
|
});
|
|
25
27
|
};
|
|
26
28
|
export default createHTMLObserver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createHTMLObserver.js","sourceRoot":"","sources":["../src/dom/createHTMLObserver.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"createHTMLObserver.js","sourceRoot":"","sources":["../src/dom/createHTMLObserver.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAE5D,MAAM,kBAAkB,GAAG,CAAC,EAC1B,QAAQ,EACR,GAAG,EACH,SAAS,EACT,cAAc,EACd,OAAO,GAOR,EAAoB,EAAE;IACrB,MAAM,MAAM,GAAG,QAAQ,CAAC,sBAAsB,CAC5C,SAAS,CACuB,CAAC;IACnC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,CAAC,CAAO,EAAE,EAAE,CACzB,CAAC,CAAC,QAAQ,KAAK,GAAG;QAClB,KAAK,CAAC,IAAI,CAAE,CAAiB,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC9B,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;iBACxB,MAAM,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;iBACnD,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,MAAM,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,KAAK,CAAC,IAAI,CAAE,CAAiB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CACrE;iBACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;iBAC1B,MAAM,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;iBACnD,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,MAAM,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,KAAK,CAAC,IAAI,CAAE,CAAiB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CACrE;iBACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;SAC3C,CAAC,CAAC;QACH,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAClB,CAAC,CAAC,KAAK;YACL,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAmB,CAAC;YACjC,CAAC,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,CAAC,CAAC,IAAmB,CAAC,CAC5C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
package/package.json
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -32,12 +32,21 @@ export declare type PullBlock = {
|
|
|
32
32
|
":block/children"?: {
|
|
33
33
|
":db/id": number;
|
|
34
34
|
}[];
|
|
35
|
+
":block/refs"?: {
|
|
36
|
+
":db/id": number;
|
|
37
|
+
}[];
|
|
35
38
|
":block/string"?: string;
|
|
36
39
|
":block/order"?: number;
|
|
37
40
|
":block/uid"?: string;
|
|
38
41
|
":block/heading"?: number;
|
|
39
42
|
":block/open"?: boolean;
|
|
40
43
|
":block/text-align"?: TextAlignment;
|
|
44
|
+
":block/page"?: {
|
|
45
|
+
":db/id": number;
|
|
46
|
+
};
|
|
47
|
+
":block/parents"?: {
|
|
48
|
+
":db/id": number;
|
|
49
|
+
}[];
|
|
41
50
|
":children/view-type"?: `:${ViewType}`;
|
|
42
51
|
":edit/time"?: number;
|
|
43
52
|
":block/props"?: {
|
|
@@ -56,6 +65,7 @@ export declare type PullBlock = {
|
|
|
56
65
|
};
|
|
57
66
|
};
|
|
58
67
|
};
|
|
68
|
+
":db/id"?: number;
|
|
59
69
|
};
|
|
60
70
|
export declare type RoamPullResult = RoamPull | null;
|
|
61
71
|
export declare type ViewType = "document" | "bullet" | "numbered";
|