@difizen/libro-core 0.3.32 → 0.3.34

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/es/index.less CHANGED
@@ -591,6 +591,21 @@
591
591
 
592
592
  .libro-output-area {
593
593
  padding-top: 12px;
594
+
595
+ .libro-output-area-oversized {
596
+ color: var(--mana-libro-link-color);
597
+ }
598
+
599
+ .libro-output-area-action {
600
+ color: var(--mana-libro-link-color);
601
+ }
602
+
603
+ .libro-output-area-action-container {
604
+ cursor: pointer;
605
+ color: var(--mana-libro-toptoolbar-icon-color);
606
+ font-style: italic;
607
+ padding: 10px 24px;
608
+ }
594
609
  }
595
610
 
596
611
  .libro-cell-output-content {
@@ -1 +1 @@
1
- {"version":3,"file":"output-area.d.ts","sourceRoot":"","sources":["../../src/output/output-area.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,uBAAuB,CAAC;AAIjE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAIL,QAAQ,EAKT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAoC,MAAM,mBAAmB,CAAC;AAI9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAsC1D,qBAEa,eAAgB,SAAQ,QAAS,YAAW,cAAc;IAC5D,IAAI,EAAE,aAAa,CAAyB;IAErD,cAAc,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC1D,IAAI,EAAE,QAAQ,CAAC;IAEf,OAAO,EAAE,cAAc,EAAE,CAAM;gBAEC,MAAM,EAAE,iBAAiB;IAIzD,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE/B,IAAI,MAAM,WAET;IAED,SAAS,CAAC,SAAS,UAAS;IAC5B,SAAS,CAAC,UAAU,SAAM;IAC1B,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAC3C,SAAS,CAAC,qBAAqB,UAAQ;IAEvC,SAAS,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEzC;;OAEG;IACH,eAAe,gBAAuB;IAEtC,IAAI,QAAQ,4CAEX;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;IAMlC,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IASnE,GAAG,WAAkB,OAAO,KAAG,QAAQ,MAAM,CAAC,CA0E5C;IAEF,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc;IAMtC,GAAG,UAAiB,MAAM,UAAU,OAAO,kBAAkB,OAAO,mBAkBlE;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS;IAYhC,QAAQ,WAAkB,OAAO,EAAE,mBAQjC;IACF,MAAM,QAAO,OAAO,EAAE,CAEpB;IAEF,aAAa,CAAC,IAAI,EAAE,QAAQ;IAI5B,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB;IAS5D;;;;;OAKG;IAEH,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE;QAC/B,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,cAAc,CAAC;KAC3B,GAAG,OAAO;CAGZ;AAoCD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAoBD;;GAEG;AAEH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,CAK1D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAQtD"}
1
+ {"version":3,"file":"output-area.d.ts","sourceRoot":"","sources":["../../src/output/output-area.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,uBAAuB,CAAC;AAIjE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAIL,QAAQ,EAKT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAoC,MAAM,mBAAmB,CAAC;AAI9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA0D1D,qBAEa,eAAgB,SAAQ,QAAS,YAAW,cAAc;IAC5D,IAAI,EAAE,aAAa,CAAyB;IAErD,cAAc,EAAE,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAC1D,IAAI,EAAE,QAAQ,CAAC;IAEf,OAAO,EAAE,cAAc,EAAE,CAAM;gBAEC,MAAM,EAAE,iBAAiB;IAIzD,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAE/B,IAAI,MAAM,WAET;IAED,SAAS,CAAC,SAAS,UAAS;IAC5B,SAAS,CAAC,UAAU,SAAM;IAC1B,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAC3C,SAAS,CAAC,qBAAqB,UAAQ;IAEvC,SAAS,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEzC;;OAEG;IACH,eAAe,gBAAuB;IAEtC,IAAI,QAAQ,4CAEX;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;IAMlC,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IASnE,GAAG,WAAkB,OAAO,KAAG,QAAQ,MAAM,CAAC,CA0E5C;IAEF,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc;IAMtC,GAAG,UAAiB,MAAM,UAAU,OAAO,kBAAkB,OAAO,mBAkBlE;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS;IAYhC,QAAQ,WAAkB,OAAO,EAAE,mBAQjC;IACF,MAAM,QAAO,OAAO,EAAE,CAEpB;IAEF,aAAa,CAAC,IAAI,EAAE,QAAQ;IAI5B,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB;IAS5D;;;;;OAKG;IAEH,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE;QAC/B,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,cAAc,CAAC;KAC3B,GAAG,OAAO;CAGZ;AAoCD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAoBD;;GAEG;AAEH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,CAK1D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAQtD"}
@@ -23,14 +23,18 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
23
23
  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
24
24
  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }
25
25
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
26
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
27
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
26
28
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
27
29
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
30
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
31
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
28
32
  import { concatMultilineString } from '@difizen/libro-common';
29
33
  import { getBundleOptions } from '@difizen/libro-common';
30
34
  import { isError, isStream } from '@difizen/libro-common';
31
35
  import { ViewOption, getOrigin, ViewRender, BaseView, Priority, useInject, view, ViewInstance } from '@difizen/mana-app';
32
36
  import { Emitter, prop, contrib, inject, transient } from '@difizen/mana-app';
33
- import { useEffect, forwardRef } from 'react';
37
+ import { useEffect, useState, forwardRef } from 'react';
34
38
  import { ExecutableCellView } from "../cell/index.js";
35
39
  import { OutputContribution } from "./output-protocol.js";
36
40
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -45,7 +49,14 @@ var LibroOutputAreaRender = /*#__PURE__*/forwardRef(function LibroOutputAreaRend
45
49
  }, [outputArea.onUpdateEmitter, outputArea.outputs]);
46
50
  var childrenCannotClear = [];
47
51
  var children = [];
48
- var _iterator = _createForOfIteratorHelper(outputArea.outputs),
52
+ var pageSize = 100;
53
+ var _useState = useState(pageSize),
54
+ _useState2 = _slicedToArray(_useState, 2),
55
+ oversizeLimit = _useState2[0],
56
+ setOversizeLimt = _useState2[1];
57
+ var oversized = outputArea.outputs.length > oversizeLimit;
58
+ var showOutputs = outputArea.outputs.slice(0, oversizeLimit);
59
+ var _iterator = _createForOfIteratorHelper(showOutputs),
49
60
  _step;
50
61
  try {
51
62
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -75,6 +86,15 @@ var LibroOutputAreaRender = /*#__PURE__*/forwardRef(function LibroOutputAreaRend
75
86
  return /*#__PURE__*/_jsx(ViewRender, {
76
87
  view: output
77
88
  }, output.id);
89
+ }), oversized && /*#__PURE__*/_jsxs("div", {
90
+ className: "libro-output-area-action-container",
91
+ children: ["\u8D85\u8FC7 ", oversizeLimit, " \u6761\u8F93\u51FA\uFF0C\u70B9\u51FB", /*#__PURE__*/_jsx("a", {
92
+ className: "libro-output-area-action",
93
+ onClick: function onClick() {
94
+ setOversizeLimt(oversizeLimit + pageSize);
95
+ },
96
+ children: "\u5C55\u5F00\u66F4\u591A"
97
+ })]
78
98
  })]
79
99
  });
80
100
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@difizen/libro-core",
3
- "version": "0.3.32",
3
+ "version": "0.3.34",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "libro",
@@ -34,10 +34,10 @@
34
34
  ],
35
35
  "dependencies": {
36
36
  "@ant-design/icons": "^5.1.0",
37
- "@difizen/libro-code-editor": "^0.3.32",
38
- "@difizen/libro-common": "^0.3.32",
39
- "@difizen/libro-shared-model": "^0.3.32",
40
- "@difizen/libro-virtualized": "^0.3.32",
37
+ "@difizen/libro-code-editor": "^0.3.34",
38
+ "@difizen/libro-common": "^0.3.34",
39
+ "@difizen/libro-shared-model": "^0.3.34",
40
+ "@difizen/libro-virtualized": "^0.3.34",
41
41
  "@difizen/mana-app": "latest",
42
42
  "@difizen/mana-l10n": "latest",
43
43
  "@difizen/mana-react": "latest",
package/src/index.less CHANGED
@@ -591,6 +591,21 @@
591
591
 
592
592
  .libro-output-area {
593
593
  padding-top: 12px;
594
+
595
+ .libro-output-area-oversized {
596
+ color: var(--mana-libro-link-color);
597
+ }
598
+
599
+ .libro-output-area-action {
600
+ color: var(--mana-libro-link-color);
601
+ }
602
+
603
+ .libro-output-area-action-container {
604
+ cursor: pointer;
605
+ color: var(--mana-libro-toptoolbar-icon-color);
606
+ font-style: italic;
607
+ padding: 10px 24px;
608
+ }
594
609
  }
595
610
 
596
611
  .libro-cell-output-content {
@@ -14,7 +14,7 @@ import {
14
14
  ViewInstance,
15
15
  } from '@difizen/mana-app';
16
16
  import { Emitter, prop, contrib, inject, transient } from '@difizen/mana-app';
17
- import { useEffect, forwardRef } from 'react';
17
+ import { useEffect, useState, forwardRef, useMemo } from 'react';
18
18
 
19
19
  import { ExecutableCellView } from '../cell/index.js';
20
20
  import type { CellView } from '../libro-protocol.js';
@@ -35,15 +35,22 @@ const LibroOutputAreaRender = forwardRef<HTMLDivElement>(
35
35
  useEffect(() => {
36
36
  outputArea.onUpdateEmitter.fire();
37
37
  }, [outputArea.onUpdateEmitter, outputArea.outputs]);
38
+
38
39
  const childrenCannotClear = [];
39
40
  const children = [];
40
- for (const output of outputArea.outputs) {
41
+ const pageSize = 100;
42
+ const [oversizeLimit, setOversizeLimt] = useState(pageSize);
43
+ const oversized = outputArea.outputs.length > oversizeLimit;
44
+ const showOutputs = outputArea.outputs.slice(0, oversizeLimit);
45
+
46
+ for (const output of showOutputs) {
41
47
  if (output.allowClear === false) {
42
48
  childrenCannotClear.push(output);
43
49
  } else {
44
50
  children.push(output);
45
51
  }
46
52
  }
53
+
47
54
  return (
48
55
  <div
49
56
  className="libro-output-area"
@@ -57,6 +64,19 @@ const LibroOutputAreaRender = forwardRef<HTMLDivElement>(
57
64
  {children.map((output) => {
58
65
  return <ViewRender view={output} key={output.id} />;
59
66
  })}
67
+ {oversized && (
68
+ <div className="libro-output-area-action-container">
69
+ 超过 {oversizeLimit} 条输出,点击
70
+ <a
71
+ className="libro-output-area-action"
72
+ onClick={() => {
73
+ setOversizeLimt(oversizeLimit + pageSize);
74
+ }}
75
+ >
76
+ 展开更多
77
+ </a>
78
+ </div>
79
+ )}
60
80
  </div>
61
81
  );
62
82
  },