@jupyterlab/toc 6.0.3 → 6.0.4

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/lib/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
package/lib/toctree.js CHANGED
@@ -20,24 +20,31 @@ export class TableOfContentsTree extends React.PureComponent {
20
20
  if (this.props.headings.length === 0) {
21
21
  return [];
22
22
  }
23
- let globalIndex = 0;
24
- const getChildren = (items, level) => {
25
- const nested = new Array();
26
- while (globalIndex < items.length) {
27
- const current = items[globalIndex];
28
- if (current.level >= level) {
29
- globalIndex += 1;
30
- const next = items[globalIndex];
31
- nested.push(React.createElement(TableOfContentsItem, { key: `${current.level}-${globalIndex}-${current.text}`, isActive: !!this.props.activeHeading &&
32
- current === this.props.activeHeading, heading: current, onMouseDown: this.props.setActiveHeading, onCollapse: this.props.onCollapseChange }, next && next.level > level && getChildren(items, level + 1)));
33
- }
34
- else {
23
+ const buildOneTree = (currentIndex) => {
24
+ const items = this.props.headings;
25
+ const children = new Array();
26
+ const current = items[currentIndex];
27
+ let nextCandidateIndex = currentIndex + 1;
28
+ while (nextCandidateIndex < items.length) {
29
+ const candidateItem = items[nextCandidateIndex];
30
+ if (candidateItem.level <= current.level) {
35
31
  break;
36
32
  }
33
+ const [child, nextIndex] = buildOneTree(nextCandidateIndex);
34
+ children.push(child);
35
+ nextCandidateIndex = nextIndex;
37
36
  }
38
- return nested;
37
+ const currentTree = (React.createElement(TableOfContentsItem, { key: `${current.level}-${currentIndex}-${current.text}`, isActive: !!this.props.activeHeading && current === this.props.activeHeading, heading: current, onMouseDown: this.props.setActiveHeading, onCollapse: this.props.onCollapseChange }, children.length ? children : null));
38
+ return [currentTree, nextCandidateIndex];
39
39
  };
40
- return getChildren(this.props.headings, this.props.headings[0].level);
40
+ const trees = new Array();
41
+ let currentIndex = 0;
42
+ while (currentIndex < this.props.headings.length) {
43
+ const [tree, nextIndex] = buildOneTree(currentIndex);
44
+ trees.push(tree);
45
+ currentIndex = nextIndex;
46
+ }
47
+ return trees;
41
48
  }
42
49
  }
43
50
  //# sourceMappingURL=toctree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toctree.js","sourceRoot":"","sources":["../src/toctree.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AA6BhD;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK,CAAC,aAAwC;IACrF;;OAEG;IACH,MAAM;QACJ,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACpC,OAAO,CACL,4BACE,SAAS,EAAC,4BAA4B,KAClC,EAAE,oBAAoB,EAAE,YAAY,EAAE,IAEzC,IAAI,CAAC,SAAS,EAAE,CACd,CACN,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,SAAS;QACjB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACpC,OAAO,EAAE,CAAC;SACX;QAED,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,MAAM,WAAW,GAAG,CAClB,KAAiC,EACjC,KAAa,EACE,EAAE;YACjB,MAAM,MAAM,GAAG,IAAI,KAAK,EAAe,CAAC;YACxC,OAAO,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE;gBACjC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;gBACnC,IAAI,OAAO,CAAC,KAAK,IAAI,KAAK,EAAE;oBAC1B,WAAW,IAAI,CAAC,CAAC;oBACjB,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;oBAEhC,MAAM,CAAC,IAAI,CACT,oBAAC,mBAAmB,IAClB,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,EACtD,QAAQ,EACN,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa;4BAC1B,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,EAEtC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EACxC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAEtC,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CACxC,CACvB,CAAC;iBACH;qBAAM;oBACL,MAAM;iBACP;aACF;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACxE,CAAC;CACF"}
1
+ {"version":3,"file":"toctree.js","sourceRoot":"","sources":["../src/toctree.tsx"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AA6BhD;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK,CAAC,aAAwC;IACrF;;OAEG;IACH,MAAM;QACJ,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACpC,OAAO,CACL,4BACE,SAAS,EAAC,4BAA4B,KAClC,EAAE,oBAAoB,EAAE,YAAY,EAAE,IAEzC,IAAI,CAAC,SAAS,EAAE,CACd,CACN,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,SAAS;QACjB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACpC,OAAO,EAAE,CAAC;SACX;QAED,MAAM,YAAY,GAAG,CAAC,YAAoB,EAAyB,EAAE;YACnE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,KAAK,EAAe,CAAC;YAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACpC,IAAI,kBAAkB,GAAG,YAAY,GAAG,CAAC,CAAC;YAE1C,OAAO,kBAAkB,GAAG,KAAK,CAAC,MAAM,EAAE;gBACxC,MAAM,aAAa,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAChD,IAAI,aAAa,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE;oBACxC,MAAM;iBACP;gBACD,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC;gBAC5D,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,kBAAkB,GAAG,SAAS,CAAC;aAChC;YACD,MAAM,WAAW,GAAG,CAClB,oBAAC,mBAAmB,IAClB,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,IAAI,OAAO,CAAC,IAAI,EAAE,EACvD,QAAQ,EACN,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,EAEpE,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EACxC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAEtC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACd,CACvB,CAAC;YACF,OAAO,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,KAAK,EAAe,CAAC;QACvC,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,OAAO,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;YAChD,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,YAAY,GAAG,SAAS,CAAC;SAC1B;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupyterlab/toc",
3
- "version": "6.0.3",
3
+ "version": "6.0.4",
4
4
  "description": "JupyterLab - Table of Contents widget",
5
5
  "keywords": [
6
6
  "jupyterlab"
@@ -41,13 +41,13 @@
41
41
  "watch": "tsc -b --watch"
42
42
  },
43
43
  "dependencies": {
44
- "@jupyterlab/apputils": "^4.1.3",
45
- "@jupyterlab/coreutils": "^6.0.3",
46
- "@jupyterlab/docregistry": "^4.0.3",
47
- "@jupyterlab/observables": "^5.0.3",
48
- "@jupyterlab/rendermime": "^4.0.3",
49
- "@jupyterlab/translation": "^4.0.3",
50
- "@jupyterlab/ui-components": "^4.0.3",
44
+ "@jupyterlab/apputils": "^4.1.4",
45
+ "@jupyterlab/coreutils": "^6.0.4",
46
+ "@jupyterlab/docregistry": "^4.0.4",
47
+ "@jupyterlab/observables": "^5.0.4",
48
+ "@jupyterlab/rendermime": "^4.0.4",
49
+ "@jupyterlab/translation": "^4.0.4",
50
+ "@jupyterlab/ui-components": "^4.0.4",
51
51
  "@lumino/coreutils": "^2.1.1",
52
52
  "@lumino/disposable": "^2.1.1",
53
53
  "@lumino/messaging": "^2.0.0",
@@ -56,7 +56,7 @@
56
56
  "react": "^18.2.0"
57
57
  },
58
58
  "devDependencies": {
59
- "@jupyterlab/testing": "^4.0.3",
59
+ "@jupyterlab/testing": "^4.0.4",
60
60
  "@types/jest": "^29.2.0",
61
61
  "@types/react": "^18.0.26",
62
62
  "jest": "^29.2.0",
package/src/model.ts CHANGED
@@ -23,7 +23,10 @@ export abstract class TableOfContentsModel<
23
23
  * @param widget The widget to search in
24
24
  * @param configuration Default model configuration
25
25
  */
26
- constructor(protected widget: T, configuration?: TableOfContents.IConfig) {
26
+ constructor(
27
+ protected widget: T,
28
+ configuration?: TableOfContents.IConfig
29
+ ) {
27
30
  super();
28
31
  this._activeHeading = null;
29
32
  this._activeHeadingChanged = new Signal<
package/src/toctree.tsx CHANGED
@@ -58,41 +58,45 @@ export class TableOfContentsTree extends React.PureComponent<ITableOfContentsTre
58
58
  return [];
59
59
  }
60
60
 
61
- let globalIndex = 0;
61
+ const buildOneTree = (currentIndex: number): [JSX.Element, number] => {
62
+ const items = this.props.headings;
63
+ const children = new Array<JSX.Element>();
64
+ const current = items[currentIndex];
65
+ let nextCandidateIndex = currentIndex + 1;
62
66
 
63
- const getChildren = (
64
- items: TableOfContents.IHeading[],
65
- level: number
66
- ): JSX.Element[] => {
67
- const nested = new Array<JSX.Element>();
68
- while (globalIndex < items.length) {
69
- const current = items[globalIndex];
70
- if (current.level >= level) {
71
- globalIndex += 1;
72
- const next = items[globalIndex];
73
-
74
- nested.push(
75
- <TableOfContentsItem
76
- key={`${current.level}-${globalIndex}-${current.text}`}
77
- isActive={
78
- !!this.props.activeHeading &&
79
- current === this.props.activeHeading
80
- }
81
- heading={current}
82
- onMouseDown={this.props.setActiveHeading}
83
- onCollapse={this.props.onCollapseChange}
84
- >
85
- {next && next.level > level && getChildren(items, level + 1)}
86
- </TableOfContentsItem>
87
- );
88
- } else {
67
+ while (nextCandidateIndex < items.length) {
68
+ const candidateItem = items[nextCandidateIndex];
69
+ if (candidateItem.level <= current.level) {
89
70
  break;
90
71
  }
72
+ const [child, nextIndex] = buildOneTree(nextCandidateIndex);
73
+ children.push(child);
74
+ nextCandidateIndex = nextIndex;
91
75
  }
92
-
93
- return nested;
76
+ const currentTree = (
77
+ <TableOfContentsItem
78
+ key={`${current.level}-${currentIndex}-${current.text}`}
79
+ isActive={
80
+ !!this.props.activeHeading && current === this.props.activeHeading
81
+ }
82
+ heading={current}
83
+ onMouseDown={this.props.setActiveHeading}
84
+ onCollapse={this.props.onCollapseChange}
85
+ >
86
+ {children.length ? children : null}
87
+ </TableOfContentsItem>
88
+ );
89
+ return [currentTree, nextCandidateIndex];
94
90
  };
95
91
 
96
- return getChildren(this.props.headings, this.props.headings[0].level);
92
+ const trees = new Array<JSX.Element>();
93
+ let currentIndex = 0;
94
+ while (currentIndex < this.props.headings.length) {
95
+ const [tree, nextIndex] = buildOneTree(currentIndex);
96
+ trees.push(tree);
97
+ currentIndex = nextIndex;
98
+ }
99
+
100
+ return trees;
97
101
  }
98
102
  }
package/style/index.css CHANGED
@@ -9,5 +9,4 @@
9
9
  @import url('~@jupyterlab/apputils/style/index.css');
10
10
  @import url('~@jupyterlab/rendermime/style/index.css');
11
11
  @import url('~@jupyterlab/docregistry/style/index.css');
12
-
13
12
  @import url('./base.css');