verstak 0.23.108 → 0.23.109

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.
@@ -20,13 +20,13 @@ import { reactive, nonreactive, Transaction, options, Reentrance, Rx, Collection
20
20
  import { BlockKind, Priority, Mode, Align } from "./Interfaces";
21
21
  import { emitLetters, equalBlockCoords, parseBlockCoords, getCallerInfo } from "./Utils";
22
22
  export class Verstak {
23
- static claim(driver, builder, original) {
23
+ static claim(driver, builder, base) {
24
24
  var _a;
25
25
  let result;
26
26
  if (builder)
27
- builder.original = original;
27
+ builder.base = base;
28
28
  else
29
- builder = original !== null && original !== void 0 ? original : {};
29
+ builder = base !== null && base !== void 0 ? base : {};
30
30
  let key = builder.key;
31
31
  const owner = gCurrent === null || gCurrent === void 0 ? void 0 : gCurrent.instance;
32
32
  if (owner) {
@@ -49,12 +49,12 @@ export class Verstak {
49
49
  d.builder = builder;
50
50
  }
51
51
  else {
52
- result = new XBlock(key || generateKey(owner), driver, owner, builder);
52
+ result = new BlockImpl(key || generateKey(owner), driver, owner, builder);
53
53
  result.descriptor.item = children.add(result);
54
54
  }
55
55
  }
56
56
  else {
57
- result = new XBlock(key || "", driver, owner, builder);
57
+ result = new BlockImpl(key || "", driver, owner, builder);
58
58
  result.descriptor.item = Collection.createItem(result);
59
59
  triggerRendering(result.descriptor.item);
60
60
  }
@@ -69,10 +69,10 @@ export class Verstak {
69
69
  runRenderNestedTreesThenDo(undefined, action);
70
70
  }
71
71
  static getDefaultLoggingOptions() {
72
- return XBlock.logging;
72
+ return BlockImpl.logging;
73
73
  }
74
74
  static setDefaultLoggingOptions(logging) {
75
- XBlock.logging = logging;
75
+ BlockImpl.logging = logging;
76
76
  }
77
77
  }
78
78
  Verstak.shortFrameDuration = 16;
@@ -108,32 +108,19 @@ export class BaseDriver {
108
108
  chainedFinalize(b, b.descriptor.builder);
109
109
  return isLeader;
110
110
  }
111
- applyKind(block, value) {
112
- }
113
- applyCoords(block, value) {
114
- }
115
- applyWidthGrowth(block, value) {
116
- }
117
- applyMinWidth(block, value) {
118
- }
119
- applyMaxWidth(block, value) {
120
- }
121
- applyHeightGrowth(block, value) {
122
- }
123
- applyMinHeight(block, value) {
124
- }
125
- applyMaxHeight(block, value) {
126
- }
127
- applyContentAlignment(block, value) {
128
- }
129
- applyBlockAlignment(block, value) {
130
- }
131
- applyContentWrapping(block, value) {
132
- }
133
- applyOverlayVisible(block, value) {
134
- }
135
- applyStyle(block, secondary, styleName, enabled) {
136
- }
111
+ applyKind(block, value) { }
112
+ applyCoords(block, value) { }
113
+ applyWidthGrowth(block, value) { }
114
+ applyMinWidth(block, value) { }
115
+ applyMaxWidth(block, value) { }
116
+ applyHeightGrowth(block, value) { }
117
+ applyMinHeight(block, value) { }
118
+ applyMaxHeight(block, value) { }
119
+ applyContentAlignment(block, value) { }
120
+ applyBlockAlignment(block, value) { }
121
+ applyContentWrapping(block, value) { }
122
+ applyOverlayVisible(block, value) { }
123
+ applyStyle(block, secondary, styleName, enabled) { }
137
124
  }
138
125
  BaseDriver.fragment = new BaseDriver("fragment", false, b => b.kind = BlockKind.Group);
139
126
  function generateKey(owner) {
@@ -146,49 +133,49 @@ function generateKey(owner) {
146
133
  result = `·${lettered}`;
147
134
  return result;
148
135
  }
149
- function chainedMode(builder) {
136
+ function chainedMode(bb) {
150
137
  var _a;
151
- return (_a = builder === null || builder === void 0 ? void 0 : builder.modes) !== null && _a !== void 0 ? _a : ((builder === null || builder === void 0 ? void 0 : builder.original) ? chainedMode(builder === null || builder === void 0 ? void 0 : builder.original) : Mode.Default);
138
+ return (_a = bb === null || bb === void 0 ? void 0 : bb.mode) !== null && _a !== void 0 ? _a : ((bb === null || bb === void 0 ? void 0 : bb.base) ? chainedMode(bb === null || bb === void 0 ? void 0 : bb.base) : Mode.Default);
152
139
  }
153
- function chainedClaim(block, builder) {
154
- const claim = builder.claim;
155
- const original = builder.original;
140
+ function chainedClaim(block, bb) {
141
+ const claim = bb.claim;
142
+ const base = bb.base;
156
143
  if (claim)
157
- claim(block, original ? () => chainedClaim(block, original) : NOP);
158
- else if (original)
159
- chainedClaim(block, original);
144
+ claim(block, base ? () => chainedClaim(block, base) : NOP);
145
+ else if (base)
146
+ chainedClaim(block, base);
160
147
  }
161
- function chainedCreate(block, builder) {
162
- const create = builder.create;
163
- const original = builder.original;
148
+ function chainedCreate(block, bb) {
149
+ const create = bb.create;
150
+ const base = bb.base;
164
151
  if (create)
165
- create(block, original ? () => chainedCreate(block, original) : NOP);
166
- else if (original)
167
- chainedCreate(block, original);
152
+ create(block, base ? () => chainedCreate(block, base) : NOP);
153
+ else if (base)
154
+ chainedCreate(block, base);
168
155
  }
169
- function chainedInitialize(block, builder) {
170
- const initialize = builder.initialize;
171
- const original = builder.original;
156
+ function chainedInitialize(block, bb) {
157
+ const initialize = bb.initialize;
158
+ const base = bb.base;
172
159
  if (initialize)
173
- initialize(block, original ? () => chainedInitialize(block, original) : NOP);
174
- else if (original)
175
- chainedInitialize(block, original);
160
+ initialize(block, base ? () => chainedInitialize(block, base) : NOP);
161
+ else if (base)
162
+ chainedInitialize(block, base);
176
163
  }
177
- function chainedRender(block, builder) {
178
- const render = builder.render;
179
- const original = builder.original;
164
+ function chainedRender(block, bb) {
165
+ const render = bb.render;
166
+ const base = bb.base;
180
167
  if (render)
181
- render(block, original ? () => chainedRender(block, original) : NOP);
182
- else if (original)
183
- chainedRender(block, original);
168
+ render(block, base ? () => chainedRender(block, base) : NOP);
169
+ else if (base)
170
+ chainedRender(block, base);
184
171
  }
185
- function chainedFinalize(block, builder) {
186
- const finalize = builder.finalize;
187
- const original = builder.original;
172
+ function chainedFinalize(block, bb) {
173
+ const finalize = bb.finalize;
174
+ const base = bb.base;
188
175
  if (finalize)
189
- finalize(block, original ? () => chainedFinalize(block, original) : NOP);
190
- else if (original)
191
- chainedFinalize(block, original);
176
+ finalize(block, base ? () => chainedFinalize(block, base) : NOP);
177
+ else if (base)
178
+ chainedFinalize(block, base);
192
179
  }
193
180
  export class StaticDriver extends BaseDriver {
194
181
  constructor(element, name, isRow, preset) {
@@ -215,13 +202,13 @@ export class ContextVariable {
215
202
  this.defaultValue = defaultValue;
216
203
  }
217
204
  set value(value) {
218
- XBlock.setContextVariableValue(this, value);
205
+ BlockImpl.setContextVariableValue(this, value);
219
206
  }
220
207
  get value() {
221
- return XBlock.useContextVariableValue(this);
208
+ return BlockImpl.useContextVariableValue(this);
222
209
  }
223
210
  get valueOrUndefined() {
224
- return XBlock.tryUseContextVariable(this);
211
+ return BlockImpl.tryUseContextVariable(this);
225
212
  }
226
213
  }
227
214
  class CursorPosition {
@@ -242,7 +229,7 @@ var CursorFlags;
242
229
  })(CursorFlags || (CursorFlags = {}));
243
230
  const UndefinedBlockCoords = Object.freeze({ x1: 0, y1: 0, x2: 0, y2: 0 });
244
231
  const InitialCursorPosition = Object.freeze(new CursorPosition({ x: 1, y: 1, runningMaxX: 0, runningMaxY: 0, flags: CursorFlags.None }));
245
- class XBlockCtx extends ObservableObject {
232
+ class BlockCtxImpl extends ObservableObject {
246
233
  constructor(variable, value) {
247
234
  super();
248
235
  this.next = undefined;
@@ -253,12 +240,12 @@ class XBlockCtx extends ObservableObject {
253
240
  __decorate([
254
241
  raw,
255
242
  __metadata("design:type", Object)
256
- ], XBlockCtx.prototype, "next", void 0);
243
+ ], BlockCtxImpl.prototype, "next", void 0);
257
244
  __decorate([
258
245
  raw,
259
246
  __metadata("design:type", ContextVariable)
260
- ], XBlockCtx.prototype, "variable", void 0);
261
- class XBlockDescriptor {
247
+ ], BlockCtxImpl.prototype, "variable", void 0);
248
+ class BlockDescriptorImpl {
262
249
  constructor(key, driver, builder, self, owner) {
263
250
  this.maxColumnCount = 0;
264
251
  this.maxRowCount = 0;
@@ -287,9 +274,9 @@ class XBlockDescriptor {
287
274
  this.cursorPosition = undefined;
288
275
  }
289
276
  }
290
- class XBlock {
277
+ class BlockImpl {
291
278
  constructor(key, driver, owner, builder) {
292
- this.descriptor = new XBlockDescriptor(key, driver, builder, this, owner);
279
+ this.descriptor = new BlockDescriptorImpl(key, driver, builder, this, owner);
293
280
  this.native = undefined;
294
281
  this.model = undefined;
295
282
  this.controller = undefined;
@@ -306,24 +293,30 @@ class XBlock {
306
293
  this._blockAlignment = Align.Default;
307
294
  this._contentWrapping = false;
308
295
  this._overlayVisible = undefined;
309
- this.hasStyles = false;
296
+ this._hasStyles = false;
310
297
  this.childrenShuffling = false;
311
298
  this.renderingPriority = Priority.Realtime;
312
- XBlock.grandCount++;
313
- if (this.has(Mode.SeparateReaction))
314
- XBlock.disposableCount++;
299
+ BlockImpl.grandCount++;
300
+ if (this.isOn(Mode.PinpointRefresh))
301
+ BlockImpl.disposableCount++;
315
302
  }
316
303
  render(_triggers) {
317
304
  renderNow(this.descriptor.item);
318
305
  }
319
- has(mode) { return (chainedMode(this.descriptor.builder) & mode) === mode; }
306
+ prepareForRender() {
307
+ this._area = undefined;
308
+ this._hasStyles = false;
309
+ }
310
+ isOn(mode) {
311
+ return (chainedMode(this.descriptor.builder) & mode) === mode;
312
+ }
320
313
  get isInitialRendering() { return this.descriptor.stamp === 2; }
321
314
  get isSequential() { return this.descriptor.children.isStrict; }
322
315
  set isSequential(value) { this.descriptor.children.isStrict = value; }
323
316
  get isAuxiliary() { return this.kind > BlockKind.Note; }
324
317
  get isBand() { return this.kind === BlockKind.Band; }
325
318
  get isTable() { return this.kind === BlockKind.Table; }
326
- get isAutoMountEnabled() { return !this.has(Mode.ManualMount) && this.descriptor.host !== this; }
319
+ get isAutoMountingEnabled() { return !this.isOn(Mode.ManualMounting) && this.descriptor.host !== this; }
327
320
  get isMoved() { return this.descriptor.owner.descriptor.children.isMoved(this.descriptor.item); }
328
321
  get kind() { return this._kind; }
329
322
  set kind(value) {
@@ -342,7 +335,7 @@ class XBlock {
342
335
  const cursorPosition = (_b = (_a = d.item.prev) === null || _a === void 0 ? void 0 : _a.instance.descriptor.cursorPosition) !== null && _b !== void 0 ? _b : InitialCursorPosition;
343
336
  const newCursorPosition = d.cursorPosition = owner.children.isStrict ? new CursorPosition(cursorPosition) : undefined;
344
337
  const isCursorBlock = driver instanceof CursorCommandDriver;
345
- const coords = areaToCoords(!isCursorBlock, value, owner.maxColumnCount, owner.maxRowCount, cursorPosition, newCursorPosition);
338
+ const coords = getEffectiveBlockCoords(!isCursorBlock, value, owner.maxColumnCount, owner.maxRowCount, cursorPosition, newCursorPosition);
346
339
  if (!equalBlockCoords(coords, this._coords)) {
347
340
  driver.applyCoords(this, coords);
348
341
  this._coords = coords;
@@ -422,12 +415,12 @@ class XBlock {
422
415
  this._overlayVisible = value;
423
416
  }
424
417
  }
425
- style(styleName, enabled) {
426
- this.descriptor.driver.applyStyle(this, this.hasStyles, styleName, enabled);
427
- this.hasStyles = true;
418
+ useStyle(styleName, enabled) {
419
+ this.descriptor.driver.applyStyle(this, this._hasStyles, styleName, enabled);
420
+ this._hasStyles = true;
428
421
  }
429
422
  configureReactronic(options) {
430
- if (this.descriptor.stamp !== 1 || !this.has(Mode.SeparateReaction))
423
+ if (this.descriptor.stamp !== 1 || !this.isOn(Mode.PinpointRefresh))
431
424
  throw new Error("reactronic can be configured only for blocks with separate reaction mode and only inside initialize");
432
425
  return Rx.getController(this.render).configure(options);
433
426
  }
@@ -438,20 +431,20 @@ class XBlock {
438
431
  }
439
432
  static tryUseContextVariable(variable) {
440
433
  var _a, _b;
441
- let b = XBlock.curr.instance;
434
+ let b = BlockImpl.curr.instance;
442
435
  while (((_a = b.descriptor.context) === null || _a === void 0 ? void 0 : _a.variable) !== variable && b.descriptor.owner !== b)
443
436
  b = b.descriptor.outer;
444
437
  return (_b = b.descriptor.context) === null || _b === void 0 ? void 0 : _b.value;
445
438
  }
446
439
  static useContextVariableValue(variable) {
447
440
  var _a;
448
- const result = (_a = XBlock.tryUseContextVariable(variable)) !== null && _a !== void 0 ? _a : variable.defaultValue;
441
+ const result = (_a = BlockImpl.tryUseContextVariable(variable)) !== null && _a !== void 0 ? _a : variable.defaultValue;
449
442
  if (!result)
450
443
  throw new Error("context doesn't exist");
451
444
  return result;
452
445
  }
453
446
  static setContextVariableValue(variable, value) {
454
- const b = XBlock.curr.instance;
447
+ const b = BlockImpl.curr.instance;
455
448
  const d = b.descriptor;
456
449
  const owner = d.owner;
457
450
  const hostCtx = nonreactive(() => { var _a; return (_a = owner.descriptor.context) === null || _a === void 0 ? void 0 : _a.value; });
@@ -467,7 +460,7 @@ class XBlock {
467
460
  ctx.value = value;
468
461
  }
469
462
  else
470
- d.context = new XBlockCtx(variable, value);
463
+ d.context = new BlockCtxImpl(variable, value);
471
464
  });
472
465
  }
473
466
  else if (hostCtx)
@@ -484,9 +477,9 @@ class XBlock {
484
477
  newCursorPosition.y = newCursorPosition.runningMaxY + 1;
485
478
  }
486
479
  }
487
- XBlock.grandCount = 0;
488
- XBlock.disposableCount = 0;
489
- XBlock.logging = undefined;
480
+ BlockImpl.grandCount = 0;
481
+ BlockImpl.disposableCount = 0;
482
+ BlockImpl.logging = undefined;
490
483
  __decorate([
491
484
  reactive,
492
485
  options({
@@ -497,12 +490,12 @@ __decorate([
497
490
  __metadata("design:type", Function),
498
491
  __metadata("design:paramtypes", [Object]),
499
492
  __metadata("design:returntype", void 0)
500
- ], XBlock.prototype, "render", null);
493
+ ], BlockImpl.prototype, "render", null);
501
494
  function getBlockKey(block) {
502
495
  const d = block.descriptor;
503
496
  return d.stamp >= 0 ? d.key : undefined;
504
497
  }
505
- function areaToCoords(isRegularBlock, area, maxX, maxY, cursorPosition, newCursorPosition) {
498
+ function getEffectiveBlockCoords(isRegularBlock, area, maxX, maxY, cursorPosition, newCursorPosition) {
506
499
  var _a, _b;
507
500
  let result;
508
501
  if (typeof (area) === "string") {
@@ -581,7 +574,7 @@ function areaToCoords(isRegularBlock, area, maxX, maxY, cursorPosition, newCurso
581
574
  }
582
575
  function runRenderNestedTreesThenDo(error, action) {
583
576
  var _a;
584
- const curr = XBlock.curr;
577
+ const curr = BlockImpl.curr;
585
578
  const owner = curr.instance;
586
579
  const children = owner.descriptor.children;
587
580
  if (children.isMergeInProgress) {
@@ -627,7 +620,7 @@ function runRenderNestedTreesThenDo(error, action) {
627
620
  function markToMountIfNecessary(mounting, host, item, children, sequential) {
628
621
  const b = item.instance;
629
622
  const d = b.descriptor;
630
- if (b.native && !b.has(Mode.ManualMount)) {
623
+ if (b.native && !b.isOn(Mode.ManualMounting)) {
631
624
  if (mounting || d.host !== host) {
632
625
  children.markAsMoved(item);
633
626
  mounting = false;
@@ -682,7 +675,7 @@ function triggerRendering(item) {
682
675
  const b = item.instance;
683
676
  const d = b.descriptor;
684
677
  if (d.stamp >= 0) {
685
- if (b.has(Mode.SeparateReaction)) {
678
+ if (b.isOn(Mode.PinpointRefresh)) {
686
679
  if (d.stamp === 0) {
687
680
  Transaction.outside(() => {
688
681
  if (Rx.isLogging)
@@ -706,11 +699,11 @@ function mountIfNecessary(block) {
706
699
  nonreactive(() => {
707
700
  driver.create(block, block);
708
701
  driver.initialize(block);
709
- if (block.isAutoMountEnabled)
702
+ if (block.isAutoMountingEnabled)
710
703
  driver.mount(block);
711
704
  });
712
705
  }
713
- else if (block.isMoved && block.isAutoMountEnabled)
706
+ else if (block.isMoved && block.isAutoMountingEnabled)
714
707
  nonreactive(() => driver.mount(block));
715
708
  }
716
709
  function renderNow(item) {
@@ -723,12 +716,11 @@ function renderNow(item) {
723
716
  mountIfNecessary(b);
724
717
  d.stamp++;
725
718
  d.numerator = 0;
726
- b._area = undefined;
727
- b.hasStyles = false;
719
+ b.prepareForRender();
728
720
  d.children.beginMerge();
729
721
  const driver = d.driver;
730
722
  result = driver.render(b);
731
- if (b._area === undefined && d.owner.isTable)
723
+ if (b.area === undefined && d.owner.isTable)
732
724
  b.area = undefined;
733
725
  if (result instanceof Promise)
734
726
  result.then(v => { runRenderNestedTreesThenDo(undefined, NOP); return v; }, e => { console.log(e); runRenderNestedTreesThenDo(e !== null && e !== void 0 ? e : new Error("unknown error"), NOP); });
@@ -754,7 +746,7 @@ function triggerFinalization(item, isLeader, individual) {
754
746
  const childrenAreLeaders = nonreactive(() => driver.finalize(b, isLeader));
755
747
  b.native = null;
756
748
  b.controller = null;
757
- if (b.has(Mode.SeparateReaction)) {
749
+ if (b.isOn(Mode.PinpointRefresh)) {
758
750
  item.aux = undefined;
759
751
  const last = gLastToDispose;
760
752
  if (last)
@@ -768,7 +760,7 @@ function triggerFinalization(item, isLeader, individual) {
768
760
  }
769
761
  for (const item of d.children.items())
770
762
  triggerFinalization(item, childrenAreLeaders, false);
771
- XBlock.grandCount--;
763
+ BlockImpl.grandCount--;
772
764
  }
773
765
  }
774
766
  function runDisposalLoop() {
@@ -780,7 +772,7 @@ function runDisposalLoop() {
780
772
  yield Transaction.requestNextFrame();
781
773
  Rx.dispose(item.instance);
782
774
  item = item.aux;
783
- XBlock.disposableCount--;
775
+ BlockImpl.disposableCount--;
784
776
  }
785
777
  gFirstToDispose = gLastToDispose = undefined;
786
778
  });
@@ -1,27 +1,27 @@
1
- import { VBlock, BlockKind, BlockBuilder, Align, BlockCoords, BlockArea } from "../core/api";
1
+ import { Block, BlockKind, BlockBuilder, Align, BlockCoords, BlockArea } from "../core/api";
2
2
  import { HtmlDriver } from "./HtmlDriver";
3
- export declare function Band<M = unknown, R = void>(builder?: BlockBuilder<HTMLElement, M, R>, base?: BlockBuilder<HTMLElement, M, R>): VBlock<HTMLElement, M, R>;
4
- export declare function Table<M = unknown, R = void>(builder?: BlockBuilder<HTMLElement, M, R>, base?: BlockBuilder<HTMLElement, M, R>): VBlock<HTMLElement, M, R>;
3
+ export declare function Band<M = unknown, R = void>(builder?: BlockBuilder<HTMLElement, M, R>, base?: BlockBuilder<HTMLElement, M, R>): Block<HTMLElement, M, R>;
4
+ export declare function Table<M = unknown, R = void>(builder?: BlockBuilder<HTMLElement, M, R>, base?: BlockBuilder<HTMLElement, M, R>): Block<HTMLElement, M, R>;
5
5
  export declare function row<T = void>(builder?: (block: void) => T, shiftCursorDown?: number): void;
6
6
  export declare function fromNewRow(shiftCursorDown?: number): void;
7
7
  export declare function cursor(areaParams: BlockArea): void;
8
- export declare function Note(content: string, builder?: BlockBuilder<HTMLElement, void, void>): VBlock<HTMLElement, void, void>;
9
- export declare function HtmlNote(content: string, builder?: BlockBuilder<HTMLElement, void, void>): VBlock<HTMLElement, void, void>;
10
- export declare function Group<M = unknown, R = void>(builder?: BlockBuilder<HTMLElement, M, R>, base?: BlockBuilder<HTMLElement, M, R>): VBlock<HTMLElement, M, R>;
11
- export declare function Fragment<M = unknown, R = void>(builder?: BlockBuilder<void, M, R>, base?: BlockBuilder<void, M, R>): VBlock<void, M, R>;
8
+ export declare function Note(content: string, builder?: BlockBuilder<HTMLElement, void, void>): Block<HTMLElement, void, void>;
9
+ export declare function HtmlNote(content: string, builder?: BlockBuilder<HTMLElement, void, void>): Block<HTMLElement, void, void>;
10
+ export declare function Group<M = unknown, R = void>(builder?: BlockBuilder<HTMLElement, M, R>, base?: BlockBuilder<HTMLElement, M, R>): Block<HTMLElement, M, R>;
11
+ export declare function Fragment<M = unknown, R = void>(builder?: BlockBuilder<void, M, R>, base?: BlockBuilder<void, M, R>): Block<void, M, R>;
12
12
  export declare class VerstakHtmlDriver<T extends HTMLElement> extends HtmlDriver<T> {
13
- applyKind(block: VBlock<T, any, any>, value: BlockKind): void;
14
- applyCoords(block: VBlock<T>, value: BlockCoords | undefined): void;
15
- applyWidthGrowth(block: VBlock<T>, value: number): void;
16
- applyMinWidth(block: VBlock<T>, value: string): void;
17
- applyMaxWidth(block: VBlock<T>, value: string): void;
18
- applyHeightGrowth(block: VBlock<T>, value: number): void;
19
- applyMinHeight(block: VBlock<T>, value: string): void;
20
- applyMaxHeight(block: VBlock<T>, value: string): void;
21
- applyContentAlignment(block: VBlock<T>, value: Align): void;
22
- applyBlockAlignment(block: VBlock<T>, value: Align): void;
23
- applyContentWrapping(block: VBlock<T>, value: boolean): void;
24
- applyOverlayVisible(block: VBlock<T>, value: boolean | undefined): void;
25
- applyStyle(block: VBlock<T, any, any>, secondary: boolean, styleName: string, enabled?: boolean): void;
26
- render(block: VBlock<T>): void | Promise<void>;
13
+ applyKind(block: Block<T, any, any>, value: BlockKind): void;
14
+ applyCoords(block: Block<T>, value: BlockCoords | undefined): void;
15
+ applyWidthGrowth(block: Block<T>, value: number): void;
16
+ applyMinWidth(block: Block<T>, value: string): void;
17
+ applyMaxWidth(block: Block<T>, value: string): void;
18
+ applyHeightGrowth(block: Block<T>, value: number): void;
19
+ applyMinHeight(block: Block<T>, value: string): void;
20
+ applyMaxHeight(block: Block<T>, value: string): void;
21
+ applyContentAlignment(block: Block<T>, value: Align): void;
22
+ applyBlockAlignment(block: Block<T>, value: Align): void;
23
+ applyContentWrapping(block: Block<T>, value: boolean): void;
24
+ applyOverlayVisible(block: Block<T>, value: boolean | undefined): void;
25
+ applyStyle(block: Block<T, any, any>, secondary: boolean, styleName: string, enabled?: boolean): void;
26
+ render(block: Block<T>): void | Promise<void>;
27
27
  }