verstak 0.96.26016 → 0.96.26019

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,11 +1,10 @@
1
- import { ReactiveTreeNode, Mode, derivative } from "reactronic";
1
+ import { ReactiveTreeNode, derivative } from "reactronic";
2
2
  import { Block, OnClick } from "verstak";
3
3
  import { rxModel } from "./common/Utils.js";
4
4
  import { Theme } from "./Theme.js";
5
5
  import { Icon } from "./Icon.v.js";
6
6
  export function Button(declaration) {
7
7
  return (Block(derivative(declaration, {
8
- mode: Mode.autonomous,
9
8
  preparation() {
10
9
  var _a;
11
10
  (_a = this.model) !== null && _a !== void 0 ? _a : (this.model = rxModel({
@@ -1,9 +1,8 @@
1
- import { Mode, derivative } from "reactronic";
1
+ import { derivative } from "reactronic";
2
2
  import { Block } from "verstak";
3
3
  import { Theme } from "./Theme.js";
4
4
  export function Icon(name, declaration) {
5
5
  return (Block(derivative(declaration, {
6
- mode: Mode.autonomous,
7
6
  signalArgs: { name },
8
7
  body() {
9
8
  const theme = Theme.current.icon;
@@ -1,9 +1,8 @@
1
- import { Mode, derivative } from "reactronic";
1
+ import { derivative } from "reactronic";
2
2
  import { Block } from "verstak";
3
3
  import { rxModel } from "./common/Utils.js";
4
4
  export function Image(declaration) {
5
5
  return (Block(derivative(declaration, {
6
- mode: Mode.autonomous,
7
6
  preparation() {
8
7
  var _a;
9
8
  (_a = this.model) !== null && _a !== void 0 ? _a : (this.model = rxModel({ source: undefined }));
@@ -5,7 +5,6 @@ import { Theme } from "./Theme.js";
5
5
  import { Icon } from "./Icon.v.js";
6
6
  export function Input(declaration) {
7
7
  return (Block(derivative(declaration, {
8
- mode: Mode.autonomous,
9
8
  preparation() {
10
9
  var _a;
11
10
  (_a = this.model) !== null && _a !== void 0 ? _a : (this.model = composeInputModel());
@@ -45,6 +44,7 @@ export function composeInputModel(props) {
45
44
  function InputField(model, styling) {
46
45
  return (Block({
47
46
  key: InputField.name,
47
+ mode: Mode.primitive,
48
48
  preparation(el, base) {
49
49
  const e = this.native;
50
50
  this.useStylingPreset(styling.field);
@@ -81,6 +81,7 @@ function InputField(model, styling) {
81
81
  function InputPopup(model, styling) {
82
82
  return (Block({
83
83
  key: InputPopup.name,
84
+ mode: Mode.primitive,
84
85
  body() {
85
86
  this.useStylingPreset(styling.popup);
86
87
  Fragment(() => model.position = this.native.sensors.scroll.y);
@@ -92,6 +93,7 @@ function InputPopup(model, styling) {
92
93
  rowBreak();
93
94
  Block({
94
95
  key: x,
96
+ mode: Mode.primitive,
95
97
  preparation() {
96
98
  this.text = x;
97
99
  this.contentWrapping = false;
@@ -102,6 +104,7 @@ function InputPopup(model, styling) {
102
104
  else
103
105
  Block({
104
106
  key: "(nothing)",
107
+ mode: Mode.primitive,
105
108
  body() {
106
109
  this.text = "(nothing)";
107
110
  },
@@ -3,7 +3,6 @@ import { Block } from "verstak";
3
3
  import { rxModel } from "./common/Utils.js";
4
4
  export function Spinner(declaration) {
5
5
  return (Block(derivative(declaration, {
6
- mode: Mode.autonomous,
7
6
  preparation() {
8
7
  var _a;
9
8
  (_a = this.model) !== null && _a !== void 0 ? _a : (this.model = composeSpinnerModel());
@@ -12,6 +11,7 @@ export function Spinner(declaration) {
12
11
  const m = this.model;
13
12
  if (m.active)
14
13
  Block({
14
+ mode: Mode.primitive,
15
15
  body() {
16
16
  this.text = "loading...";
17
17
  },
@@ -5,7 +5,6 @@ import { Theme } from "./Theme.js";
5
5
  import { Icon } from "./Icon.v.js";
6
6
  export function Toggle(declaration) {
7
7
  return (Block(derivative(declaration, {
8
- mode: Mode.autonomous,
9
8
  preparation() {
10
9
  var _a;
11
10
  (_a = this.model) !== null && _a !== void 0 ? _a : (this.model = rxModel({
@@ -29,6 +28,7 @@ export function Toggle(declaration) {
29
28
  });
30
29
  if (m.label) {
31
30
  Block({
31
+ mode: Mode.primitive,
32
32
  body(el, base) {
33
33
  base();
34
34
  this.text = m.label;
@@ -2,23 +2,23 @@ import { ReactiveTreeNode, ReactiveTreeNodeDecl, ReactiveTreeNodeDriver, Script,
2
2
  import { El, ElPlace } from "./El.js";
3
3
  import { CursorCommandDriver } from "./ElDriver.js";
4
4
  import { HtmlDriver } from "./WebDriver.js";
5
- export declare function Window(body?: Script<El<HTMLBodyElement>>, bodyTask?: ScriptAsync<El<HTMLBodyElement>>, key?: string, mode?: Mode, preparation?: Script<El<HTMLBodyElement>>, preparationTask?: ScriptAsync<El<HTMLBodyElement>>, finalization?: Script<El<HTMLBodyElement>>, signalArgs?: unknown, basis?: ReactiveTreeNodeDecl<El<HTMLBodyElement>>): ReactiveTreeNode<El<HTMLBodyElement>>;
5
+ export declare function Window(body?: Script<El<HTMLBodyElement>>, bodyTask?: ScriptAsync<El<HTMLBodyElement>>, key?: string, mode?: Mode, unmounted?: boolean, preparation?: Script<El<HTMLBodyElement>>, preparationTask?: ScriptAsync<El<HTMLBodyElement>>, mounting?: Script<El<HTMLBodyElement>>, finalization?: Script<El<HTMLBodyElement>>, signalArgs?: unknown, basis?: ReactiveTreeNodeDecl<El<HTMLBodyElement>>): ReactiveTreeNode<El<HTMLBodyElement>>;
6
6
  export declare function Window(declaration?: ReactiveTreeNodeDecl<El<HTMLBodyElement>>): ReactiveTreeNode<El<HTMLBodyElement>>;
7
- export declare function Block<M = unknown>(body?: Script<El<HTMLElement, M>>, bodyTask?: ScriptAsync<El<HTMLElement, M>>, key?: string, mode?: Mode, preparation?: Script<El<HTMLElement, M>>, preparationTask?: ScriptAsync<El<HTMLElement, M>>, finalization?: Script<El<HTMLElement, M>>, signalArgs?: unknown, basis?: ReactiveTreeNodeDecl<El<HTMLElement, M>>): ReactiveTreeNode<El<HTMLElement, M>>;
7
+ export declare function Block<M = unknown>(body?: Script<El<HTMLElement, M>>, bodyTask?: ScriptAsync<El<HTMLElement, M>>, key?: string, mode?: Mode, unmounted?: boolean, preparation?: Script<El<HTMLElement, M>>, preparationTask?: ScriptAsync<El<HTMLElement, M>>, mounting?: Script<El<HTMLElement>>, finalization?: Script<El<HTMLElement, M>>, signalArgs?: unknown, basis?: ReactiveTreeNodeDecl<El<HTMLElement, M>>): ReactiveTreeNode<El<HTMLElement, M>>;
8
8
  export declare function Block<M = unknown>(declaration?: ReactiveTreeNodeDecl<El<HTMLElement, M>>): ReactiveTreeNode<El<HTMLElement, M>>;
9
- export declare function Table<M = unknown>(body?: Script<El<HTMLElement, M>>, bodyTask?: ScriptAsync<El<HTMLElement, M>>, key?: string, mode?: Mode, preparation?: Script<El<HTMLElement, M>>, preparationTask?: ScriptAsync<El<HTMLElement, M>>, finalization?: Script<El<HTMLElement, M>>, signalArgs?: unknown, basis?: ReactiveTreeNodeDecl<El<HTMLElement, M>>): ReactiveTreeNode<El<HTMLElement, M>>;
9
+ export declare function Table<M = unknown>(body?: Script<El<HTMLElement, M>>, bodyTask?: ScriptAsync<El<HTMLElement, M>>, key?: string, mode?: Mode, unmounted?: boolean, preparation?: Script<El<HTMLElement, M>>, preparationTask?: ScriptAsync<El<HTMLElement, M>>, mounting?: Script<El<HTMLElement>>, finalization?: Script<El<HTMLElement, M>>, signalArgs?: unknown, basis?: ReactiveTreeNodeDecl<El<HTMLElement, M>>): ReactiveTreeNode<El<HTMLElement, M>>;
10
10
  export declare function Table<M = unknown>(declaration?: ReactiveTreeNodeDecl<El<HTMLElement, M>>): ReactiveTreeNode<El<HTMLElement, M>>;
11
11
  export declare function row<T = void>(builder?: (element: void) => T, shiftCursorDown?: number): void;
12
- export declare function Splitter<M = unknown>(body?: Script<El<HTMLElement, M>>, bodyTask?: ScriptAsync<El<HTMLElement, M>>, key?: string, mode?: Mode, preparation?: Script<El<HTMLElement, M>>, preparationTask?: ScriptAsync<El<HTMLElement, M>>, finalization?: Script<El<HTMLElement, M>>, signalArgs?: unknown, basis?: ReactiveTreeNodeDecl<El<HTMLElement, M>>): ReactiveTreeNode<El<HTMLElement, M>>;
12
+ export declare function Splitter<M = unknown>(body?: Script<El<HTMLElement, M>>, bodyTask?: ScriptAsync<El<HTMLElement, M>>, key?: string, mode?: Mode, unmounted?: boolean, preparation?: Script<El<HTMLElement, M>>, preparationTask?: ScriptAsync<El<HTMLElement, M>>, mounting?: Script<El<HTMLElement>>, finalization?: Script<El<HTMLElement, M>>, signalArgs?: unknown, basis?: ReactiveTreeNodeDecl<El<HTMLElement, M>>): ReactiveTreeNode<El<HTMLElement, M>>;
13
13
  export declare function Splitter<M = unknown>(declaration?: ReactiveTreeNodeDecl<El<HTMLElement, M>>): ReactiveTreeNode<El<HTMLElement, M>>;
14
14
  export declare function rowBreak(shiftCursorDown?: number): void;
15
15
  export declare function declareSplitter<T>(index: number, splitViewNode: ReactiveTreeNode<El<T>>): ReactiveTreeNode<El<HTMLElement>>;
16
16
  export declare function cursor(place: ElPlace): void;
17
- export declare function Group<M = unknown>(body?: Script<El<HTMLElement, M>>, bodyTask?: ScriptAsync<El<HTMLElement, M>>, key?: string, mode?: Mode, preparation?: Script<El<HTMLElement, M>>, preparationTask?: ScriptAsync<El<HTMLElement, M>>, finalization?: Script<El<HTMLElement, M>>, signalArgs?: unknown, basis?: ReactiveTreeNodeDecl<El<HTMLElement, M>>): ReactiveTreeNode<El<HTMLElement, M>>;
17
+ export declare function Group<M = unknown>(body?: Script<El<HTMLElement, M>>, bodyTask?: ScriptAsync<El<HTMLElement, M>>, key?: string, mode?: Mode, unmounted?: boolean, preparation?: Script<El<HTMLElement, M>>, preparationTask?: ScriptAsync<El<HTMLElement, M>>, mounting?: Script<El<HTMLElement>>, finalization?: Script<El<HTMLElement, M>>, signalArgs?: unknown, basis?: ReactiveTreeNodeDecl<El<HTMLElement, M>>): ReactiveTreeNode<El<HTMLElement, M>>;
18
18
  export declare function Group<M = unknown>(declaration?: ReactiveTreeNodeDecl<El<HTMLElement, M>>): ReactiveTreeNode<El<HTMLElement, M>>;
19
19
  export declare function Fragment<M = unknown>(body: Script<El<void, M>>): ReactiveTreeNode<El<void, M>>;
20
- export declare function PseudoElement<M = unknown>(body?: Script<El<void, M>>, bodyTask?: ScriptAsync<El<void, M>>, key?: string, mode?: Mode, preparation?: Script<El<void, M>>, preparationTask?: ScriptAsync<El<void, M>>, finalization?: Script<El<void, M>>, signalArgs?: unknown, basis?: ReactiveTreeNodeDecl<El<void, M>>): ReactiveTreeNode<El<void, M>>;
21
- export declare function PseudoElement<M = unknown>(declaration?: ReactiveTreeNodeDecl<El<void, M>>): ReactiveTreeNode<El<void, M>>;
20
+ export declare function Intermediate<M = unknown>(body?: Script<El<void, M>>, bodyTask?: ScriptAsync<El<void, M>>, key?: string, mode?: Mode, unmounted?: boolean, preparation?: Script<El<void, M>>, preparationTask?: ScriptAsync<El<void, M>>, mounting?: Script<El<void>>, finalization?: Script<El<void, M>>, signalArgs?: unknown, basis?: ReactiveTreeNodeDecl<El<void, M>>): ReactiveTreeNode<El<void, M>>;
21
+ export declare function Intermediate<M = unknown>(declaration?: ReactiveTreeNodeDecl<El<void, M>>): ReactiveTreeNode<El<void, M>>;
22
22
  export declare class BlockDriver<T extends HTMLElement> extends HtmlDriver<T> {
23
23
  rebuildBody(node: ReactiveTreeNode<El<T>>): void | Promise<void>;
24
24
  declareChild(ownerNode: ReactiveTreeNode<El<T, any>>, childDriver: ReactiveTreeNodeDriver<any>, childDeclaration?: ReactiveTreeNodeDecl<any> | undefined, childBasis?: ReactiveTreeNodeDecl<any> | undefined): LinkedItem<ReactiveTreeNode> | undefined;
@@ -36,5 +36,5 @@ export declare const Drivers: {
36
36
  wrapper: HtmlDriver<HTMLElement, any>;
37
37
  splitter: HtmlDriver<HTMLElement, any>;
38
38
  cursor: CursorCommandDriver;
39
- pseudo: ReactiveTreeNodeDriver<El<void, any>>;
39
+ intermediate: ReactiveTreeNodeDriver<El<void, any>>;
40
40
  };
@@ -5,22 +5,22 @@ import { Constants, CursorCommandDriver, ElDriver, ElLayoutInfo, InitialElLayout
5
5
  import { getPrioritiesForEmptySpaceDistribution, getPrioritiesForSizeChanging, relayout, relayoutUsingSplitter } from "./SplitViewMath.js";
6
6
  import { Axis, BodyFontSize, Dimension, toPx } from "./Sizes.js";
7
7
  import { HtmlDriver, StaticDriver } from "./WebDriver.js";
8
- export function Window(bodyOrDeclaration, bodyTask, key, mode, preparation, preparationTask, finalization, signalArgs, basis) {
8
+ export function Window(bodyOrDeclaration, bodyTask, key, mode, unmounted, preparation, preparationTask, mounting, finalization, signalArgs, basis) {
9
9
  const driver = new StaticDriver(global.document.body, "Page", false, el => el.kind = ElKind.block);
10
- return declare(driver, bodyOrDeclaration, bodyTask, key, mode, preparation, preparationTask, finalization, signalArgs, basis);
10
+ return declare(driver, bodyOrDeclaration, bodyTask, key, mode, unmounted, preparation, preparationTask, mounting, finalization, signalArgs, basis);
11
11
  }
12
- export function Block(bodyOrDeclaration, bodyTask, key, mode, preparation, preparationTask, finalization, signalArgs, basis) {
13
- return declare(Drivers.block, bodyOrDeclaration, bodyTask, key, mode, preparation, preparationTask, finalization, signalArgs, basis);
12
+ export function Block(bodyOrDeclaration, bodyTask, key, mode, unmounted, preparation, preparationTask, mounting, finalization, signalArgs, basis) {
13
+ return declare(Drivers.block, bodyOrDeclaration, bodyTask, key, mode, unmounted, preparation, preparationTask, mounting, finalization, signalArgs, basis);
14
14
  }
15
- export function Table(bodyOrDeclaration, bodyTask, key, mode, preparation, preparationTask, finalization, signalArgs, basis) {
16
- return declare(Drivers.table, bodyOrDeclaration, bodyTask, key, mode, preparation, preparationTask, finalization, signalArgs, basis);
15
+ export function Table(bodyOrDeclaration, bodyTask, key, mode, unmounted, preparation, preparationTask, mounting, finalization, signalArgs, basis) {
16
+ return declare(Drivers.table, bodyOrDeclaration, bodyTask, key, mode, unmounted, preparation, preparationTask, mounting, finalization, signalArgs, basis);
17
17
  }
18
18
  export function row(builder, shiftCursorDown) {
19
19
  rowBreak(shiftCursorDown);
20
20
  builder === null || builder === void 0 ? void 0 : builder();
21
21
  }
22
- export function Splitter(bodyOrDeclaration, bodyTask, key, mode, preparation, preparationTask, finalization, signalArgs, basis) {
23
- return declare(Drivers.splitter, bodyOrDeclaration, bodyTask, key, mode, preparation, preparationTask, finalization, signalArgs, basis);
22
+ export function Splitter(bodyOrDeclaration, bodyTask, key, mode, unmounted, preparation, preparationTask, mounting, finalization, signalArgs, basis) {
23
+ return declare(Drivers.splitter, bodyOrDeclaration, bodyTask, key, mode, unmounted, preparation, preparationTask, mounting, finalization, signalArgs, basis);
24
24
  }
25
25
  export function rowBreak(shiftCursorDown) {
26
26
  declare(Drivers.partition);
@@ -29,7 +29,6 @@ export function declareSplitter(index, splitViewNode) {
29
29
  const key = `splitter-${index}`;
30
30
  return (Splitter({
31
31
  key,
32
- mode: Mode.autonomous,
33
32
  preparation() {
34
33
  this.native.className = `splitter ${key}`;
35
34
  },
@@ -86,14 +85,14 @@ export function cursor(place) {
86
85
  },
87
86
  });
88
87
  }
89
- export function Group(bodyOrDeclaration, bodyTask, key, mode, preparation, preparationTask, finalization, signalArgs, basis) {
90
- return declare(Drivers.group, bodyOrDeclaration, bodyTask, key, mode, preparation, preparationTask, finalization, signalArgs, basis);
88
+ export function Group(bodyOrDeclaration, bodyTask, key, mode, unmounted, preparation, preparationTask, mounting, finalization, signalArgs, basis) {
89
+ return declare(Drivers.group, bodyOrDeclaration, bodyTask, key, mode, unmounted, preparation, preparationTask, mounting, finalization, signalArgs, basis);
91
90
  }
92
91
  export function Fragment(body) {
93
- return PseudoElement({ mode: Mode.autonomous, body });
92
+ return Intermediate({ mode: Mode.intermediate, body });
94
93
  }
95
- export function PseudoElement(bodyOrDeclaration, bodyTask, key, mode, preparation, preparationTask, finalization, signalArgs, basis) {
96
- return declare(Drivers.pseudo, bodyOrDeclaration, bodyTask, key, mode, preparation, preparationTask, finalization, signalArgs, basis);
94
+ export function Intermediate(bodyOrDeclaration, bodyTask, key, mode, unmounted, preparation, preparationTask, mounting, finalization, signalArgs, basis) {
95
+ return declare(Drivers.intermediate, bodyOrDeclaration, bodyTask, key, mode, unmounted, preparation, preparationTask, mounting, finalization, signalArgs, basis);
97
96
  }
98
97
  export class BlockDriver extends HtmlDriver {
99
98
  rebuildBody(node) {
@@ -117,8 +116,7 @@ export class BlockDriver extends HtmlDriver {
117
116
  layoutInfo.contentSizeYpx = contentBoxPx.blockSize;
118
117
  }
119
118
  });
120
- const relayoutEl = PseudoElement({
121
- mode: Mode.autonomous,
119
+ const relayoutEl = Intermediate({
122
120
  body() {
123
121
  const native = el.native;
124
122
  const isHorizontal = el.splitView === Direction.horizontal;
@@ -207,7 +205,7 @@ export class BlockDriver extends HtmlDriver {
207
205
  }
208
206
  }
209
207
  export function isSplitViewPartition(childDriver) {
210
- return !childDriver.isPartition && childDriver !== Drivers.splitter && childDriver !== Drivers.pseudo;
208
+ return !childDriver.isPartition && childDriver !== Drivers.splitter && childDriver !== Drivers.intermediate;
211
209
  }
212
210
  function overrideMethod(declaration, method, func) {
213
211
  const baseScript = declaration[method];
@@ -265,5 +263,5 @@ export const Drivers = {
265
263
  wrapper: new HtmlDriver(Constants.wrapper, false, el => el.kind = ElKind.native),
266
264
  splitter: new HtmlDriver(Constants.splitter, false, el => el.kind = ElKind.splitter),
267
265
  cursor: new CursorCommandDriver(),
268
- pseudo: new ElDriver("pseudo", false, el => el.kind = ElKind.group),
266
+ intermediate: new ElDriver("intermediate", false, el => el.kind = ElKind.group),
269
267
  };
@@ -8,12 +8,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import { Mode, ToggleRef, runNonReactive } from "reactronic";
11
- import { PseudoElement } from "../Elements.js";
11
+ import { Intermediate } from "../Elements.js";
12
12
  export function OnClick(target, action, key) {
13
13
  if (action !== undefined) {
14
- PseudoElement({
14
+ Intermediate({
15
15
  key,
16
- mode: Mode.autonomous,
16
+ mode: Mode.intermediate,
17
17
  signalArgs: { target },
18
18
  body() {
19
19
  const pointer = target.sensors.pointer;
@@ -31,9 +31,9 @@ export function OnClick(target, action, key) {
31
31
  }
32
32
  export function OnClickAsync(target, action, key) {
33
33
  if (action !== undefined) {
34
- PseudoElement({
34
+ Intermediate({
35
35
  key,
36
- mode: Mode.autonomous,
36
+ mode: Mode.intermediate,
37
37
  signalArgs: { target },
38
38
  bodyTask() {
39
39
  return __awaiter(this, void 0, void 0, function* () {
@@ -53,9 +53,9 @@ export function OnClickAsync(target, action, key) {
53
53
  }
54
54
  export function OnResize(target, action, key) {
55
55
  if (action) {
56
- PseudoElement({
56
+ Intermediate({
57
57
  key,
58
- mode: Mode.autonomous,
58
+ mode: Mode.intermediate,
59
59
  signalArgs: { target },
60
60
  body() {
61
61
  const resize = target.sensors.resize;
@@ -67,9 +67,9 @@ export function OnResize(target, action, key) {
67
67
  }
68
68
  }
69
69
  export function OnFocus(target, model, switchEditMode = undefined, key) {
70
- PseudoElement({
70
+ Intermediate({
71
71
  key,
72
- mode: Mode.autonomous,
72
+ mode: Mode.intermediate,
73
73
  signalArgs: { target, model },
74
74
  preparation() {
75
75
  this.node.configureReactivity({ throttling: 0 });
@@ -1,9 +1,8 @@
1
- import { Mode, derivative } from "reactronic";
1
+ import { derivative } from "reactronic";
2
2
  import { Div } from "./HtmlElements.js";
3
3
  import { Fragment } from "../core/Elements.js";
4
4
  export function DraggableArea(draggingId, builder) {
5
5
  return (Div(derivative(builder, {
6
- mode: Mode.autonomous,
7
6
  body() {
8
7
  const e = this.native;
9
8
  const model = this.model;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "verstak",
3
- "version": "0.96.26016",
3
+ "version": "0.96.26019",
4
4
  "description": "Verstak - Front-End Library",
5
5
  "publisher": "Nezaboodka Software",
6
6
  "license": "Apache-2.0",
@@ -42,7 +42,7 @@
42
42
  "markdown-it": "^14.1.0",
43
43
  "markdown-it-prism": "^2.3.0",
44
44
  "prismjs": "^1.30.0",
45
- "reactronic": "^0.96.26016"
45
+ "reactronic": "^0.96.26019"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/markdown-it": "14.1.2",