@suds-cli/viewport 0.0.0 → 0.0.1-alpha.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/README.md +6 -7
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/keymap.d.ts +1 -1
- package/dist/keymap.d.ts.map +1 -1
- package/dist/keymap.js +7 -7
- package/dist/keymap.js.map +1 -1
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +2 -2
- package/dist/messages.js.map +1 -1
- package/dist/model.d.ts +3 -3
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +9 -9
- package/dist/model.js.map +1 -1
- package/dist/viewport-alpha.d.ts +135 -0
- package/dist/viewport-beta.d.ts +135 -0
- package/dist/viewport-public.d.ts +135 -0
- package/dist/viewport-untrimmed.d.ts +135 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -2,20 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
Scrollable content window for Suds terminal UIs. Ported from the Charm `bubbles/viewport` component.
|
|
4
4
|
|
|
5
|
+
<img src="../../examples/viewport-demo.gif" width="950" alt="Viewport component demo" />
|
|
6
|
+
|
|
5
7
|
## Usage
|
|
6
8
|
|
|
7
9
|
```ts
|
|
8
|
-
import { ViewportModel } from
|
|
10
|
+
import { ViewportModel } from '@suds-cli/viewport'
|
|
9
11
|
|
|
10
12
|
const viewport = ViewportModel.new({ width: 80, height: 10 }).setContent(
|
|
11
13
|
longText,
|
|
12
|
-
)
|
|
14
|
+
)
|
|
13
15
|
|
|
14
|
-
const [next] = viewport.update(keyMsg)
|
|
16
|
+
const [next] = viewport.update(keyMsg) // responds to j/k, pgup/pgdown, etc.
|
|
15
17
|
|
|
16
18
|
// Render visible slice
|
|
17
|
-
console.log(next.view())
|
|
19
|
+
console.log(next.view())
|
|
18
20
|
```
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ViewportModel, type ViewportOptions
|
|
2
|
-
export { type ViewportKeyMap, defaultKeyMap
|
|
3
|
-
export { ScrollMsg, SyncMsg } from
|
|
1
|
+
export { ViewportModel, type ViewportOptions } from './model.js';
|
|
2
|
+
export { type ViewportKeyMap, defaultKeyMap } from './keymap.js';
|
|
3
|
+
export { ScrollMsg, SyncMsg } from './messages.js';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AAEhE,OAAO,EAAE,KAAK,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ViewportModel
|
|
2
|
-
export { defaultKeyMap
|
|
3
|
-
export { ScrollMsg, SyncMsg } from
|
|
1
|
+
export { ViewportModel } from './model.js';
|
|
2
|
+
export { defaultKeyMap } from './keymap.js';
|
|
3
|
+
export { ScrollMsg, SyncMsg } from './messages.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwB,MAAM,YAAY,CAAA;AAEhE,OAAO,EAAuB,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA"}
|
package/dist/keymap.d.ts
CHANGED
package/dist/keymap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keymap.d.ts","sourceRoot":"","sources":["../src/keymap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAc,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"keymap.d.ts","sourceRoot":"","sources":["../src/keymap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAc,MAAM,eAAe,CAAA;AAEnD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,YAAY,EAAE,OAAO,CAAA;IACrB,UAAU,EAAE,OAAO,CAAA;IACnB,IAAI,EAAE,OAAO,CAAA;IACb,EAAE,EAAE,OAAO,CAAA;CACZ;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,cAO3B,CAAA"}
|
package/dist/keymap.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { newBinding } from
|
|
1
|
+
import { newBinding } from '@suds-cli/key';
|
|
2
2
|
/**
|
|
3
3
|
* Pager-like default key bindings.
|
|
4
4
|
* @public
|
|
5
5
|
*/
|
|
6
6
|
export const defaultKeyMap = {
|
|
7
|
-
pageDown: newBinding({ keys: [
|
|
8
|
-
pageUp: newBinding({ keys: [
|
|
9
|
-
halfPageDown: newBinding({ keys: [
|
|
10
|
-
halfPageUp: newBinding({ keys: [
|
|
11
|
-
down: newBinding({ keys: [
|
|
12
|
-
up: newBinding({ keys: [
|
|
7
|
+
pageDown: newBinding({ keys: ['pgdown', ' ', 'f'] }),
|
|
8
|
+
pageUp: newBinding({ keys: ['pgup', 'b'] }),
|
|
9
|
+
halfPageDown: newBinding({ keys: ['d', 'ctrl+d'] }),
|
|
10
|
+
halfPageUp: newBinding({ keys: ['u', 'ctrl+u'] }),
|
|
11
|
+
down: newBinding({ keys: ['down', 'j'] }),
|
|
12
|
+
up: newBinding({ keys: ['up', 'k'] }),
|
|
13
13
|
};
|
|
14
14
|
//# sourceMappingURL=keymap.js.map
|
package/dist/keymap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keymap.js","sourceRoot":"","sources":["../src/keymap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAE,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"keymap.js","sourceRoot":"","sources":["../src/keymap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAE,MAAM,eAAe,CAAA;AAenD;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,QAAQ,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IACpD,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAC3C,YAAY,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;IACnD,UAAU,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;IACjD,IAAI,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IACzC,EAAE,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;CACtC,CAAA"}
|
package/dist/messages.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,OAAO;aAIA,KAAK,EAAE,MAAM,EAAE;aACf,OAAO,EAAE,MAAM;aACf,UAAU,EAAE,MAAM;IALpC,QAAQ,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,OAAO;aAIA,KAAK,EAAE,MAAM,EAAE;aACf,OAAO,EAAE,MAAM;aACf,UAAU,EAAE,MAAM;IALpC,QAAQ,CAAC,IAAI,mBAAkB;gBAGb,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM;CAErC;AAED;;;GAGG;AACH,qBAAa,SAAS;aAIF,OAAO,EAAE,MAAM;aACf,OAAO,EAAE,MAAM;IAJjC,QAAQ,CAAC,IAAI,qBAAoB;gBAGf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM;CAElC"}
|
package/dist/messages.js
CHANGED
|
@@ -6,7 +6,7 @@ export class SyncMsg {
|
|
|
6
6
|
lines;
|
|
7
7
|
topLine;
|
|
8
8
|
bottomLine;
|
|
9
|
-
_tag =
|
|
9
|
+
_tag = 'viewport-sync';
|
|
10
10
|
constructor(lines, topLine, bottomLine) {
|
|
11
11
|
this.lines = lines;
|
|
12
12
|
this.topLine = topLine;
|
|
@@ -20,7 +20,7 @@ export class SyncMsg {
|
|
|
20
20
|
export class ScrollMsg {
|
|
21
21
|
percent;
|
|
22
22
|
topLine;
|
|
23
|
-
_tag =
|
|
23
|
+
_tag = 'viewport-scroll';
|
|
24
24
|
constructor(percent, topLine) {
|
|
25
25
|
this.percent = percent;
|
|
26
26
|
this.topLine = topLine;
|
package/dist/messages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,OAAO;IAIA;IACA;IACA;IALT,IAAI,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,OAAO;IAIA;IACA;IACA;IALT,IAAI,GAAG,eAAe,CAAA;IAE/B,YACkB,KAAe,EACf,OAAe,EACf,UAAkB;QAFlB,UAAK,GAAL,KAAK,CAAU;QACf,YAAO,GAAP,OAAO,CAAQ;QACf,eAAU,GAAV,UAAU,CAAQ;IACjC,CAAC;CACL;AAED;;;GAGG;AACH,MAAM,OAAO,SAAS;IAIF;IACA;IAJT,IAAI,GAAG,iBAAiB,CAAA;IAEjC,YACkB,OAAe,EACf,OAAe;QADf,YAAO,GAAP,OAAO,CAAQ;QACf,YAAO,GAAP,OAAO,CAAQ;IAC9B,CAAC;CACL"}
|
package/dist/model.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Style } from
|
|
2
|
-
import { type Cmd, type Msg } from
|
|
3
|
-
import { type ViewportKeyMap } from
|
|
1
|
+
import { Style } from '@suds-cli/chapstick';
|
|
2
|
+
import { type Cmd, type Msg } from '@suds-cli/tea';
|
|
3
|
+
import { type ViewportKeyMap } from './keymap.js';
|
|
4
4
|
/**
|
|
5
5
|
* Options for creating a viewport.
|
|
6
6
|
* @public
|
package/dist/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
package/dist/model.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Style } from
|
|
2
|
-
import { matches } from
|
|
3
|
-
import { KeyMsg, MouseAction, MouseButton, MouseMsg, } from
|
|
4
|
-
import { defaultKeyMap } from
|
|
5
|
-
import { ScrollMsg, SyncMsg } from
|
|
1
|
+
import { Style } from '@suds-cli/chapstick';
|
|
2
|
+
import { matches } from '@suds-cli/key';
|
|
3
|
+
import { KeyMsg, MouseAction, MouseButton, MouseMsg, } from '@suds-cli/tea';
|
|
4
|
+
import { defaultKeyMap } from './keymap.js';
|
|
5
|
+
import { ScrollMsg, SyncMsg } from './messages.js';
|
|
6
6
|
/**
|
|
7
7
|
* Scrollable window onto a list of lines.
|
|
8
8
|
* @public
|
|
@@ -41,8 +41,8 @@ export class ViewportModel {
|
|
|
41
41
|
}
|
|
42
42
|
/** Split string content into lines and store it. */
|
|
43
43
|
setContent(content) {
|
|
44
|
-
const normalized = content.replace(/\r\n/g,
|
|
45
|
-
return this.setContentLines(normalized.split(
|
|
44
|
+
const normalized = content.replace(/\r\n/g, '\n');
|
|
45
|
+
return this.setContentLines(normalized.split('\n'));
|
|
46
46
|
}
|
|
47
47
|
/** Replace content with a line array. Y offset is clamped if needed. */
|
|
48
48
|
setContentLines(lines) {
|
|
@@ -189,7 +189,7 @@ export class ViewportModel {
|
|
|
189
189
|
}
|
|
190
190
|
/** Render the visible window as a string (padded to height). */
|
|
191
191
|
view() {
|
|
192
|
-
return this.style.render(this.visibleLines().join(
|
|
192
|
+
return this.style.render(this.visibleLines().join('\n'));
|
|
193
193
|
}
|
|
194
194
|
/** Build a SyncMsg for high-level renderers. */
|
|
195
195
|
sync() {
|
|
@@ -245,7 +245,7 @@ export class ViewportModel {
|
|
|
245
245
|
const end = Math.min(start + this.height, this.lines.length);
|
|
246
246
|
const window = this.lines.slice(start, end);
|
|
247
247
|
while (window.length < this.height) {
|
|
248
|
-
window.push(
|
|
248
|
+
window.push('');
|
|
249
249
|
}
|
|
250
250
|
return window;
|
|
251
251
|
}
|
package/dist/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":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EACL,MAAM,EACN,WAAW,EACX,WAAW,EACX,QAAQ,GAGT,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,aAAa,EAAuB,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAelD;;;GAGG;AACH,MAAM,OAAO,aAAa;IACf,KAAK,CAAQ;IACb,MAAM,CAAQ;IACd,MAAM,CAAgB;IACtB,iBAAiB,CAAS;IAC1B,eAAe,CAAQ;IACvB,OAAO,CAAQ;IACf,KAAK,CAAU;IACf,KAAK,CAAO;IAErB,YAAoB,OASnB;QACC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAA;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;QAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QAC3C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IAC5B,CAAC;IAED,2CAA2C;IAC3C,MAAM,CAAC,GAAG,CAAC,UAA2B,EAAE;QACtC,OAAO,IAAI,aAAa,CAAC;YACvB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;YACzB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;YAC3B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,aAAa;YACvC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,IAAI;YACpD,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,CAAC;YAC7C,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI,KAAK,EAAE;SACpC,CAAC,CAAA;IACJ,CAAC;IAED,oDAAoD;IACpD,UAAU,CAAC,OAAe;QACxB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACjD,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,wEAAwE;IACxE,eAAe,CAAC,KAAe;QAC7B,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACpE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,oBAAoB;IACpB,QAAQ,CAAC,KAAa;QACpB,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;IACjD,CAAC;IAED,iEAAiE;IACjE,SAAS,CAAC,MAAc;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QACtC,IAAI,UAAU,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;QACzE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,kDAAkD;IAClD,QAAQ,CAAC,KAAa;QACpB,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAA;QACpD,IAAI,UAAU,KAAK,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,oDAAoD;IACpD,UAAU,CAAC,KAAa;QACtB,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,SAAS,CAAC,CAAA;QAC5D,IAAI,UAAU,KAAK,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,uBAAuB;IACvB,WAAW;QACT,IAAI,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,IAAI,CAAA;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;IAClC,CAAC;IAED,0BAA0B;IAC1B,cAAc;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACnC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;IAC1C,CAAC;IAKD,aAAa,CAAC,OAAgB;QAC5B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjD,OAAO,CAAC,CAAA;YACV,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrC,OAAO,CAAC,CAAA;YACV,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;YAC1D,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAA;QACtC,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,CAAA;QACpD,IAAI,YAAY,KAAK,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED,wCAAwC;IACxC,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,2CAA2C;IAC3C,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,CAAA;IAC1C,CAAC;IAED,iDAAiD;IACjD,gBAAgB;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;IAC7E,CAAC;IAED,qCAAqC;IACrC,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,uCAAuC;IACvC,MAAM,CAAC,CAAC,GAAG,CAAC;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACtC,CAAC;IAED,yCAAyC;IACzC,QAAQ,CAAC,CAAC,GAAG,CAAC;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACxC,CAAC;IAED,2CAA2C;IAC3C,UAAU;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;QACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,6CAA6C;IAC7C,YAAY;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAED,sCAAsC;IACtC,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC;IAED,wCAAwC;IACxC,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,6DAA6D;IAC7D,QAAQ,CAAC,IAAY,EAAE,QAAQ,GAAG,KAAK;QACrC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACnD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACnC,IAAI,OAAO,GAAG,UAAU,CAAA;QACxB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,GAAG,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC1D,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAA;QAC5C,IAAI,OAAO,KAAK,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,6BAA6B;IAC7B,IAAI;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,oCAAoC;IACpC,MAAM,CAAC,GAAQ;QACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC9B,CAAC;QACD,IAAI,GAAG,YAAY,MAAM,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QAC5B,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACrB,CAAC;IAED,gEAAgE;IAChE,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED,gDAAgD;IAChD,IAAI;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,MAAM,UAAU,GAAG,KAAK,CACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAC9B,OAAO,EACP,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CACzC,CAAA;QACD,OAAO,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;IACpE,CAAC;IAEO,SAAS,CAAC,GAAW;QAC3B,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;YAC5B,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;YAC1B,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;YAC5B,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;YAC1B,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;YAChC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;YAC9B,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACrB,CAAC;IAEO,WAAW,CAAC,GAAa;QAC/B,IACE,CAAC,IAAI,CAAC,iBAAiB;YACvB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,KAAK;YACtC,IAAI,CAAC,MAAM,KAAK,CAAC,EACjB,CAAC;YACD,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACrB,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YAChD,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,SAAS,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YAClD,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACrB,CAAC;IAEO,YAAY;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAA;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAC3C,OAAO,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM;QACzD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;IAC3C,CAAC;IAEO,WAAW,CAAC,MAAc,EAAE,KAAe,EAAE,MAAc;QACjE,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;IACzD,CAAC;IAEO,IAAI,CAAC,KAA6B;QACxC,OAAO,IAAI,aAAa,CAAC;YACvB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;YAChC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;YACnC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;YACnC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB;YACpE,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe;YAC9D,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;YACtC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;YAChC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;SACjC,CAAC,CAAA;IACJ,CAAC;IAEO,kBAAkB,CAAC,QAAuB;QAChD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAChE,CAAC;CACF;AAED,SAAS,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IACpD,IAAI,GAAG,GAAG,GAAG;QAAE,OAAO,GAAG,CAAA;IACzB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;AAC5C,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACjC,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAC3B,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { Binding } from '@suds-cli/key';
|
|
2
|
+
import { Cmd } from '@suds-cli/tea';
|
|
3
|
+
import { Msg } from '@suds-cli/tea';
|
|
4
|
+
import { Style } from '@suds-cli/chapstick';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Pager-like default key bindings.
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export declare const defaultKeyMap: ViewportKeyMap;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Viewport scrolled notification.
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export declare class ScrollMsg {
|
|
17
|
+
readonly percent: number;
|
|
18
|
+
readonly topLine: number;
|
|
19
|
+
readonly _tag = "viewport-scroll";
|
|
20
|
+
constructor(percent: number, topLine: number);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Sync viewport lines when content changes.
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
export declare class SyncMsg {
|
|
28
|
+
readonly lines: string[];
|
|
29
|
+
readonly topLine: number;
|
|
30
|
+
readonly bottomLine: number;
|
|
31
|
+
readonly _tag = "viewport-sync";
|
|
32
|
+
constructor(lines: string[], topLine: number, bottomLine: number);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Key bindings for viewport navigation.
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
export declare interface ViewportKeyMap {
|
|
40
|
+
pageDown: Binding;
|
|
41
|
+
pageUp: Binding;
|
|
42
|
+
halfPageDown: Binding;
|
|
43
|
+
halfPageUp: Binding;
|
|
44
|
+
down: Binding;
|
|
45
|
+
up: Binding;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Scrollable window onto a list of lines.
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
export declare class ViewportModel {
|
|
53
|
+
readonly width: number;
|
|
54
|
+
readonly height: number;
|
|
55
|
+
readonly keyMap: ViewportKeyMap;
|
|
56
|
+
readonly mouseWheelEnabled: boolean;
|
|
57
|
+
readonly mouseWheelDelta: number;
|
|
58
|
+
readonly yOffset: number;
|
|
59
|
+
readonly lines: string[];
|
|
60
|
+
readonly style: Style;
|
|
61
|
+
private constructor();
|
|
62
|
+
/** Create a new viewport with defaults. */
|
|
63
|
+
static new(options?: ViewportOptions): ViewportModel;
|
|
64
|
+
/** Split string content into lines and store it. */
|
|
65
|
+
setContent(content: string): ViewportModel;
|
|
66
|
+
/** Replace content with a line array. Y offset is clamped if needed. */
|
|
67
|
+
setContentLines(lines: string[]): ViewportModel;
|
|
68
|
+
/** Change width. */
|
|
69
|
+
setWidth(width: number): ViewportModel;
|
|
70
|
+
/** Change height (and clamp offset if new height is smaller). */
|
|
71
|
+
setHeight(height: number): ViewportModel;
|
|
72
|
+
/** Scroll upward by the given number of lines. */
|
|
73
|
+
scrollUp(lines: number): ViewportModel;
|
|
74
|
+
/** Scroll downward by the given number of lines. */
|
|
75
|
+
scrollDown(lines: number): ViewportModel;
|
|
76
|
+
/** Jump to the top. */
|
|
77
|
+
scrollToTop(): ViewportModel;
|
|
78
|
+
/** Jump to the bottom. */
|
|
79
|
+
scrollToBottom(): ViewportModel;
|
|
80
|
+
/** Get or set scroll percentage (0-1). */
|
|
81
|
+
scrollPercent(): number;
|
|
82
|
+
scrollPercent(percent: number): ViewportModel;
|
|
83
|
+
/** True when Y offset is at the top. */
|
|
84
|
+
atTop(): boolean;
|
|
85
|
+
/** True when Y offset is at the bottom. */
|
|
86
|
+
atBottom(): boolean;
|
|
87
|
+
/** Number of visible lines (without padding). */
|
|
88
|
+
visibleLineCount(): number;
|
|
89
|
+
/** Total number of content lines. */
|
|
90
|
+
totalLineCount(): number;
|
|
91
|
+
/** Move up by n lines (default: 1). */
|
|
92
|
+
lineUp(n?: number): ViewportModel;
|
|
93
|
+
/** Move down by n lines (default: 1). */
|
|
94
|
+
lineDown(n?: number): ViewportModel;
|
|
95
|
+
/** Move up by half the viewport height. */
|
|
96
|
+
halfViewUp(): ViewportModel;
|
|
97
|
+
/** Move down by half the viewport height. */
|
|
98
|
+
halfViewDown(): ViewportModel;
|
|
99
|
+
/** Move up by one viewport height. */
|
|
100
|
+
viewUp(): ViewportModel;
|
|
101
|
+
/** Move down by one viewport height. */
|
|
102
|
+
viewDown(): ViewportModel;
|
|
103
|
+
/** Go to a specific line (0-based). Optionally center it. */
|
|
104
|
+
gotoLine(line: number, centered?: boolean): ViewportModel;
|
|
105
|
+
/** Tea init hook (no-op). */
|
|
106
|
+
init(): Cmd<Msg>;
|
|
107
|
+
/** Handle key + mouse scrolling. */
|
|
108
|
+
update(msg: Msg): [ViewportModel, Cmd<Msg>];
|
|
109
|
+
/** Render the visible window as a string (padded to height). */
|
|
110
|
+
view(): string;
|
|
111
|
+
/** Build a SyncMsg for high-level renderers. */
|
|
112
|
+
sync(): Cmd<Msg>;
|
|
113
|
+
private handleKey;
|
|
114
|
+
private handleMouse;
|
|
115
|
+
private visibleLines;
|
|
116
|
+
private maxYOffset;
|
|
117
|
+
private clampOffset;
|
|
118
|
+
private with;
|
|
119
|
+
private scrollCmdIfChanged;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Options for creating a viewport.
|
|
124
|
+
* @public
|
|
125
|
+
*/
|
|
126
|
+
export declare interface ViewportOptions {
|
|
127
|
+
width?: number;
|
|
128
|
+
height?: number;
|
|
129
|
+
keyMap?: ViewportKeyMap;
|
|
130
|
+
mouseWheelEnabled?: boolean;
|
|
131
|
+
mouseWheelDelta?: number;
|
|
132
|
+
style?: Style;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export { }
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { Binding } from '@suds-cli/key';
|
|
2
|
+
import { Cmd } from '@suds-cli/tea';
|
|
3
|
+
import { Msg } from '@suds-cli/tea';
|
|
4
|
+
import { Style } from '@suds-cli/chapstick';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Pager-like default key bindings.
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export declare const defaultKeyMap: ViewportKeyMap;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Viewport scrolled notification.
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export declare class ScrollMsg {
|
|
17
|
+
readonly percent: number;
|
|
18
|
+
readonly topLine: number;
|
|
19
|
+
readonly _tag = "viewport-scroll";
|
|
20
|
+
constructor(percent: number, topLine: number);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Sync viewport lines when content changes.
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
export declare class SyncMsg {
|
|
28
|
+
readonly lines: string[];
|
|
29
|
+
readonly topLine: number;
|
|
30
|
+
readonly bottomLine: number;
|
|
31
|
+
readonly _tag = "viewport-sync";
|
|
32
|
+
constructor(lines: string[], topLine: number, bottomLine: number);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Key bindings for viewport navigation.
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
export declare interface ViewportKeyMap {
|
|
40
|
+
pageDown: Binding;
|
|
41
|
+
pageUp: Binding;
|
|
42
|
+
halfPageDown: Binding;
|
|
43
|
+
halfPageUp: Binding;
|
|
44
|
+
down: Binding;
|
|
45
|
+
up: Binding;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Scrollable window onto a list of lines.
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
export declare class ViewportModel {
|
|
53
|
+
readonly width: number;
|
|
54
|
+
readonly height: number;
|
|
55
|
+
readonly keyMap: ViewportKeyMap;
|
|
56
|
+
readonly mouseWheelEnabled: boolean;
|
|
57
|
+
readonly mouseWheelDelta: number;
|
|
58
|
+
readonly yOffset: number;
|
|
59
|
+
readonly lines: string[];
|
|
60
|
+
readonly style: Style;
|
|
61
|
+
private constructor();
|
|
62
|
+
/** Create a new viewport with defaults. */
|
|
63
|
+
static new(options?: ViewportOptions): ViewportModel;
|
|
64
|
+
/** Split string content into lines and store it. */
|
|
65
|
+
setContent(content: string): ViewportModel;
|
|
66
|
+
/** Replace content with a line array. Y offset is clamped if needed. */
|
|
67
|
+
setContentLines(lines: string[]): ViewportModel;
|
|
68
|
+
/** Change width. */
|
|
69
|
+
setWidth(width: number): ViewportModel;
|
|
70
|
+
/** Change height (and clamp offset if new height is smaller). */
|
|
71
|
+
setHeight(height: number): ViewportModel;
|
|
72
|
+
/** Scroll upward by the given number of lines. */
|
|
73
|
+
scrollUp(lines: number): ViewportModel;
|
|
74
|
+
/** Scroll downward by the given number of lines. */
|
|
75
|
+
scrollDown(lines: number): ViewportModel;
|
|
76
|
+
/** Jump to the top. */
|
|
77
|
+
scrollToTop(): ViewportModel;
|
|
78
|
+
/** Jump to the bottom. */
|
|
79
|
+
scrollToBottom(): ViewportModel;
|
|
80
|
+
/** Get or set scroll percentage (0-1). */
|
|
81
|
+
scrollPercent(): number;
|
|
82
|
+
scrollPercent(percent: number): ViewportModel;
|
|
83
|
+
/** True when Y offset is at the top. */
|
|
84
|
+
atTop(): boolean;
|
|
85
|
+
/** True when Y offset is at the bottom. */
|
|
86
|
+
atBottom(): boolean;
|
|
87
|
+
/** Number of visible lines (without padding). */
|
|
88
|
+
visibleLineCount(): number;
|
|
89
|
+
/** Total number of content lines. */
|
|
90
|
+
totalLineCount(): number;
|
|
91
|
+
/** Move up by n lines (default: 1). */
|
|
92
|
+
lineUp(n?: number): ViewportModel;
|
|
93
|
+
/** Move down by n lines (default: 1). */
|
|
94
|
+
lineDown(n?: number): ViewportModel;
|
|
95
|
+
/** Move up by half the viewport height. */
|
|
96
|
+
halfViewUp(): ViewportModel;
|
|
97
|
+
/** Move down by half the viewport height. */
|
|
98
|
+
halfViewDown(): ViewportModel;
|
|
99
|
+
/** Move up by one viewport height. */
|
|
100
|
+
viewUp(): ViewportModel;
|
|
101
|
+
/** Move down by one viewport height. */
|
|
102
|
+
viewDown(): ViewportModel;
|
|
103
|
+
/** Go to a specific line (0-based). Optionally center it. */
|
|
104
|
+
gotoLine(line: number, centered?: boolean): ViewportModel;
|
|
105
|
+
/** Tea init hook (no-op). */
|
|
106
|
+
init(): Cmd<Msg>;
|
|
107
|
+
/** Handle key + mouse scrolling. */
|
|
108
|
+
update(msg: Msg): [ViewportModel, Cmd<Msg>];
|
|
109
|
+
/** Render the visible window as a string (padded to height). */
|
|
110
|
+
view(): string;
|
|
111
|
+
/** Build a SyncMsg for high-level renderers. */
|
|
112
|
+
sync(): Cmd<Msg>;
|
|
113
|
+
private handleKey;
|
|
114
|
+
private handleMouse;
|
|
115
|
+
private visibleLines;
|
|
116
|
+
private maxYOffset;
|
|
117
|
+
private clampOffset;
|
|
118
|
+
private with;
|
|
119
|
+
private scrollCmdIfChanged;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Options for creating a viewport.
|
|
124
|
+
* @public
|
|
125
|
+
*/
|
|
126
|
+
export declare interface ViewportOptions {
|
|
127
|
+
width?: number;
|
|
128
|
+
height?: number;
|
|
129
|
+
keyMap?: ViewportKeyMap;
|
|
130
|
+
mouseWheelEnabled?: boolean;
|
|
131
|
+
mouseWheelDelta?: number;
|
|
132
|
+
style?: Style;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export { }
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { Binding } from '@suds-cli/key';
|
|
2
|
+
import { Cmd } from '@suds-cli/tea';
|
|
3
|
+
import { Msg } from '@suds-cli/tea';
|
|
4
|
+
import { Style } from '@suds-cli/chapstick';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Pager-like default key bindings.
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export declare const defaultKeyMap: ViewportKeyMap;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Viewport scrolled notification.
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export declare class ScrollMsg {
|
|
17
|
+
readonly percent: number;
|
|
18
|
+
readonly topLine: number;
|
|
19
|
+
readonly _tag = "viewport-scroll";
|
|
20
|
+
constructor(percent: number, topLine: number);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Sync viewport lines when content changes.
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
export declare class SyncMsg {
|
|
28
|
+
readonly lines: string[];
|
|
29
|
+
readonly topLine: number;
|
|
30
|
+
readonly bottomLine: number;
|
|
31
|
+
readonly _tag = "viewport-sync";
|
|
32
|
+
constructor(lines: string[], topLine: number, bottomLine: number);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Key bindings for viewport navigation.
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
export declare interface ViewportKeyMap {
|
|
40
|
+
pageDown: Binding;
|
|
41
|
+
pageUp: Binding;
|
|
42
|
+
halfPageDown: Binding;
|
|
43
|
+
halfPageUp: Binding;
|
|
44
|
+
down: Binding;
|
|
45
|
+
up: Binding;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Scrollable window onto a list of lines.
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
export declare class ViewportModel {
|
|
53
|
+
readonly width: number;
|
|
54
|
+
readonly height: number;
|
|
55
|
+
readonly keyMap: ViewportKeyMap;
|
|
56
|
+
readonly mouseWheelEnabled: boolean;
|
|
57
|
+
readonly mouseWheelDelta: number;
|
|
58
|
+
readonly yOffset: number;
|
|
59
|
+
readonly lines: string[];
|
|
60
|
+
readonly style: Style;
|
|
61
|
+
private constructor();
|
|
62
|
+
/** Create a new viewport with defaults. */
|
|
63
|
+
static new(options?: ViewportOptions): ViewportModel;
|
|
64
|
+
/** Split string content into lines and store it. */
|
|
65
|
+
setContent(content: string): ViewportModel;
|
|
66
|
+
/** Replace content with a line array. Y offset is clamped if needed. */
|
|
67
|
+
setContentLines(lines: string[]): ViewportModel;
|
|
68
|
+
/** Change width. */
|
|
69
|
+
setWidth(width: number): ViewportModel;
|
|
70
|
+
/** Change height (and clamp offset if new height is smaller). */
|
|
71
|
+
setHeight(height: number): ViewportModel;
|
|
72
|
+
/** Scroll upward by the given number of lines. */
|
|
73
|
+
scrollUp(lines: number): ViewportModel;
|
|
74
|
+
/** Scroll downward by the given number of lines. */
|
|
75
|
+
scrollDown(lines: number): ViewportModel;
|
|
76
|
+
/** Jump to the top. */
|
|
77
|
+
scrollToTop(): ViewportModel;
|
|
78
|
+
/** Jump to the bottom. */
|
|
79
|
+
scrollToBottom(): ViewportModel;
|
|
80
|
+
/** Get or set scroll percentage (0-1). */
|
|
81
|
+
scrollPercent(): number;
|
|
82
|
+
scrollPercent(percent: number): ViewportModel;
|
|
83
|
+
/** True when Y offset is at the top. */
|
|
84
|
+
atTop(): boolean;
|
|
85
|
+
/** True when Y offset is at the bottom. */
|
|
86
|
+
atBottom(): boolean;
|
|
87
|
+
/** Number of visible lines (without padding). */
|
|
88
|
+
visibleLineCount(): number;
|
|
89
|
+
/** Total number of content lines. */
|
|
90
|
+
totalLineCount(): number;
|
|
91
|
+
/** Move up by n lines (default: 1). */
|
|
92
|
+
lineUp(n?: number): ViewportModel;
|
|
93
|
+
/** Move down by n lines (default: 1). */
|
|
94
|
+
lineDown(n?: number): ViewportModel;
|
|
95
|
+
/** Move up by half the viewport height. */
|
|
96
|
+
halfViewUp(): ViewportModel;
|
|
97
|
+
/** Move down by half the viewport height. */
|
|
98
|
+
halfViewDown(): ViewportModel;
|
|
99
|
+
/** Move up by one viewport height. */
|
|
100
|
+
viewUp(): ViewportModel;
|
|
101
|
+
/** Move down by one viewport height. */
|
|
102
|
+
viewDown(): ViewportModel;
|
|
103
|
+
/** Go to a specific line (0-based). Optionally center it. */
|
|
104
|
+
gotoLine(line: number, centered?: boolean): ViewportModel;
|
|
105
|
+
/** Tea init hook (no-op). */
|
|
106
|
+
init(): Cmd<Msg>;
|
|
107
|
+
/** Handle key + mouse scrolling. */
|
|
108
|
+
update(msg: Msg): [ViewportModel, Cmd<Msg>];
|
|
109
|
+
/** Render the visible window as a string (padded to height). */
|
|
110
|
+
view(): string;
|
|
111
|
+
/** Build a SyncMsg for high-level renderers. */
|
|
112
|
+
sync(): Cmd<Msg>;
|
|
113
|
+
private handleKey;
|
|
114
|
+
private handleMouse;
|
|
115
|
+
private visibleLines;
|
|
116
|
+
private maxYOffset;
|
|
117
|
+
private clampOffset;
|
|
118
|
+
private with;
|
|
119
|
+
private scrollCmdIfChanged;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Options for creating a viewport.
|
|
124
|
+
* @public
|
|
125
|
+
*/
|
|
126
|
+
export declare interface ViewportOptions {
|
|
127
|
+
width?: number;
|
|
128
|
+
height?: number;
|
|
129
|
+
keyMap?: ViewportKeyMap;
|
|
130
|
+
mouseWheelEnabled?: boolean;
|
|
131
|
+
mouseWheelDelta?: number;
|
|
132
|
+
style?: Style;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export { }
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { Binding } from '@suds-cli/key';
|
|
2
|
+
import { Cmd } from '@suds-cli/tea';
|
|
3
|
+
import { Msg } from '@suds-cli/tea';
|
|
4
|
+
import { Style } from '@suds-cli/chapstick';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Pager-like default key bindings.
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export declare const defaultKeyMap: ViewportKeyMap;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Viewport scrolled notification.
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export declare class ScrollMsg {
|
|
17
|
+
readonly percent: number;
|
|
18
|
+
readonly topLine: number;
|
|
19
|
+
readonly _tag = "viewport-scroll";
|
|
20
|
+
constructor(percent: number, topLine: number);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Sync viewport lines when content changes.
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
export declare class SyncMsg {
|
|
28
|
+
readonly lines: string[];
|
|
29
|
+
readonly topLine: number;
|
|
30
|
+
readonly bottomLine: number;
|
|
31
|
+
readonly _tag = "viewport-sync";
|
|
32
|
+
constructor(lines: string[], topLine: number, bottomLine: number);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Key bindings for viewport navigation.
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
export declare interface ViewportKeyMap {
|
|
40
|
+
pageDown: Binding;
|
|
41
|
+
pageUp: Binding;
|
|
42
|
+
halfPageDown: Binding;
|
|
43
|
+
halfPageUp: Binding;
|
|
44
|
+
down: Binding;
|
|
45
|
+
up: Binding;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Scrollable window onto a list of lines.
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
52
|
+
export declare class ViewportModel {
|
|
53
|
+
readonly width: number;
|
|
54
|
+
readonly height: number;
|
|
55
|
+
readonly keyMap: ViewportKeyMap;
|
|
56
|
+
readonly mouseWheelEnabled: boolean;
|
|
57
|
+
readonly mouseWheelDelta: number;
|
|
58
|
+
readonly yOffset: number;
|
|
59
|
+
readonly lines: string[];
|
|
60
|
+
readonly style: Style;
|
|
61
|
+
private constructor();
|
|
62
|
+
/** Create a new viewport with defaults. */
|
|
63
|
+
static new(options?: ViewportOptions): ViewportModel;
|
|
64
|
+
/** Split string content into lines and store it. */
|
|
65
|
+
setContent(content: string): ViewportModel;
|
|
66
|
+
/** Replace content with a line array. Y offset is clamped if needed. */
|
|
67
|
+
setContentLines(lines: string[]): ViewportModel;
|
|
68
|
+
/** Change width. */
|
|
69
|
+
setWidth(width: number): ViewportModel;
|
|
70
|
+
/** Change height (and clamp offset if new height is smaller). */
|
|
71
|
+
setHeight(height: number): ViewportModel;
|
|
72
|
+
/** Scroll upward by the given number of lines. */
|
|
73
|
+
scrollUp(lines: number): ViewportModel;
|
|
74
|
+
/** Scroll downward by the given number of lines. */
|
|
75
|
+
scrollDown(lines: number): ViewportModel;
|
|
76
|
+
/** Jump to the top. */
|
|
77
|
+
scrollToTop(): ViewportModel;
|
|
78
|
+
/** Jump to the bottom. */
|
|
79
|
+
scrollToBottom(): ViewportModel;
|
|
80
|
+
/** Get or set scroll percentage (0-1). */
|
|
81
|
+
scrollPercent(): number;
|
|
82
|
+
scrollPercent(percent: number): ViewportModel;
|
|
83
|
+
/** True when Y offset is at the top. */
|
|
84
|
+
atTop(): boolean;
|
|
85
|
+
/** True when Y offset is at the bottom. */
|
|
86
|
+
atBottom(): boolean;
|
|
87
|
+
/** Number of visible lines (without padding). */
|
|
88
|
+
visibleLineCount(): number;
|
|
89
|
+
/** Total number of content lines. */
|
|
90
|
+
totalLineCount(): number;
|
|
91
|
+
/** Move up by n lines (default: 1). */
|
|
92
|
+
lineUp(n?: number): ViewportModel;
|
|
93
|
+
/** Move down by n lines (default: 1). */
|
|
94
|
+
lineDown(n?: number): ViewportModel;
|
|
95
|
+
/** Move up by half the viewport height. */
|
|
96
|
+
halfViewUp(): ViewportModel;
|
|
97
|
+
/** Move down by half the viewport height. */
|
|
98
|
+
halfViewDown(): ViewportModel;
|
|
99
|
+
/** Move up by one viewport height. */
|
|
100
|
+
viewUp(): ViewportModel;
|
|
101
|
+
/** Move down by one viewport height. */
|
|
102
|
+
viewDown(): ViewportModel;
|
|
103
|
+
/** Go to a specific line (0-based). Optionally center it. */
|
|
104
|
+
gotoLine(line: number, centered?: boolean): ViewportModel;
|
|
105
|
+
/** Tea init hook (no-op). */
|
|
106
|
+
init(): Cmd<Msg>;
|
|
107
|
+
/** Handle key + mouse scrolling. */
|
|
108
|
+
update(msg: Msg): [ViewportModel, Cmd<Msg>];
|
|
109
|
+
/** Render the visible window as a string (padded to height). */
|
|
110
|
+
view(): string;
|
|
111
|
+
/** Build a SyncMsg for high-level renderers. */
|
|
112
|
+
sync(): Cmd<Msg>;
|
|
113
|
+
private handleKey;
|
|
114
|
+
private handleMouse;
|
|
115
|
+
private visibleLines;
|
|
116
|
+
private maxYOffset;
|
|
117
|
+
private clampOffset;
|
|
118
|
+
private with;
|
|
119
|
+
private scrollCmdIfChanged;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Options for creating a viewport.
|
|
124
|
+
* @public
|
|
125
|
+
*/
|
|
126
|
+
export declare interface ViewportOptions {
|
|
127
|
+
width?: number;
|
|
128
|
+
height?: number;
|
|
129
|
+
keyMap?: ViewportKeyMap;
|
|
130
|
+
mouseWheelEnabled?: boolean;
|
|
131
|
+
mouseWheelDelta?: number;
|
|
132
|
+
style?: Style;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export { }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@suds-cli/viewport",
|
|
3
|
-
"version": "0.0.0",
|
|
3
|
+
"version": "0.0.1-alpha.0",
|
|
4
4
|
"description": "Scrollable viewport for Suds terminal UIs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"dist"
|
|
10
10
|
],
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@suds-cli/chapstick": "0.0.0",
|
|
12
|
+
"@suds-cli/chapstick": "0.1.0-alpha.0",
|
|
13
13
|
"@suds-cli/key": "0.0.0",
|
|
14
14
|
"@suds-cli/tea": "0.0.0"
|
|
15
15
|
},
|