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: (blockCallback: (b: HTMLDivElement) => void, blockRefCallback?: ((b: HTMLSpanElement) => void) | undefined) => MutationObserver[];
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 = (blockCallback, blockRefCallback) => {
2
+ const createBlockObserver = (blockCallbackOrConfig, blockRefCallback) => {
3
3
  const blockObserver = createHTMLObserver({
4
- callback: (e) => blockCallback(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 [blockObserver, createHTMLObserver({
10
- callback: blockRefCallback,
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,aAA0C,EAC1C,gBAA+C,EAC3B,EAAE;IACtB,MAAM,aAAa,GAAG,kBAAkB,CAAC;QACvC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAmB,CAAC;QACnD,GAAG,EAAE,KAAK;QACV,SAAS,EAAE,YAAY;KACxB,CAAC,CAAC;IACH,IAAI,gBAAgB,EAAE;QACpB,OAAO,CAAC,aAAa,EAAE,kBAAkB,CAAC;gBACxC,QAAQ,EAAE,gBAAgB;gBAC1B,GAAG,EAAE,MAAM;gBACX,SAAS,EAAE,cAAc;aAC1B,CAAC,CAAC,CAAC;KACL;IACD,OAAO,CAAC,aAAa,CAAC,CAAA;AACxB,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
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 addedNodes = getMutatedNodes({
9
- ms,
10
- nodeList: "addedNodes",
11
- tag,
12
- className,
13
- });
14
- addedNodes.map((n) => n).forEach(callback);
15
- if (removeCallback) {
16
- const removedNodes = getMutatedNodes({
17
- ms,
18
- nodeList: "removedNodes",
19
- tag,
20
- className,
21
- });
22
- removedNodes.map((n) => n).forEach(removeCallback);
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;AAC5D,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,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,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;QAC/D,MAAM,UAAU,GAAG,eAAe,CAAC;YACjC,EAAE;YACF,QAAQ,EAAE,YAAY;YACtB,GAAG;YACH,SAAS;SACV,CAAC,CAAC;QACH,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAgB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,cAAc,EAAE;YAClB,MAAM,YAAY,GAAG,eAAe,CAAC;gBACnC,EAAE;gBACF,QAAQ,EAAE,cAAc;gBACxB,GAAG;gBACH,SAAS;aACV,CAAC,CAAC;YACH,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAgB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;SACnE;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,kBAAkB,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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "roamjs-components",
3
3
  "description": "Description for roamjs-components",
4
- "version": "0.40.1",
4
+ "version": "0.40.5",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
7
7
  "scripts": {
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";