@tur-ng/std 0.0.10 → 0.0.12
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/package.json +2 -2
- package/src/index.d.ts +62 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tur-ng/std",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"types": "src/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -16,6 +16,6 @@
|
|
|
16
16
|
"directory": "js/packages/tur-std"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@tur-ng/core": "0.0.
|
|
19
|
+
"@tur-ng/core": "0.0.8"
|
|
20
20
|
}
|
|
21
21
|
}
|
package/src/index.d.ts
CHANGED
|
@@ -422,6 +422,45 @@ declare module "tur:std" {
|
|
|
422
422
|
queryKey?: Val<string[]>;
|
|
423
423
|
}
|
|
424
424
|
|
|
425
|
+
/** One `Table.columns` entry. `width` = fixed px; `flex` = share of the
|
|
426
|
+
* leftover width (proportional to the total flex weight). A column with
|
|
427
|
+
* neither defaults to `flex: 1`. `minWidth` clamps the distributed
|
|
428
|
+
* share up (may overflow the available width). */
|
|
429
|
+
export interface TableColumnDef {
|
|
430
|
+
width?: number;
|
|
431
|
+
flex?: number;
|
|
432
|
+
minWidth?: number;
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
/** A non-scrollable data table with shared column geometry: the header
|
|
436
|
+
* row and every body row lay their cells at the same resolved column
|
|
437
|
+
* widths (CSS `table-layout: fixed` semantics). `rows` is a reactive
|
|
438
|
+
* array — writing a new array value rebuilds the row subtrees (write a
|
|
439
|
+
* fresh array; in-place mutation of the same array object with an
|
|
440
|
+
* unchanged length is not observed). `build` returns one row's cells,
|
|
441
|
+
* positionally mapped to the columns: a `null` entry is an empty cell
|
|
442
|
+
* box (the column advances), entries beyond the column count are
|
|
443
|
+
* ignored. `buildHeader` follows the same mapping and runs ONCE at
|
|
444
|
+
* build — reactive header content flows through `Val` props inside
|
|
445
|
+
* the returned cells. Without an extent, a row's height is the max
|
|
446
|
+
* intrinsic cell height (cells get loose height constraints); with
|
|
447
|
+
* one, cells fill it. Wrap in a `ScrollView` to scroll. */
|
|
448
|
+
export interface TableProps<T> {
|
|
449
|
+
columns: TableColumnDef[];
|
|
450
|
+
rows: Readable<T[]>;
|
|
451
|
+
build: (item: T, index: number) => (Element | null)[];
|
|
452
|
+
buildHeader?: () => (Element | null)[];
|
|
453
|
+
headerExtent?: Val<number>;
|
|
454
|
+
rowExtent?: Val<number>;
|
|
455
|
+
rowSpacing?: Val<number>;
|
|
456
|
+
/** Painted under odd body rows. */
|
|
457
|
+
stripeColor?: Val<Brush | null>;
|
|
458
|
+
/** Horizontal rules between body rows + under the header. */
|
|
459
|
+
dividerColor?: Val<Brush | null>;
|
|
460
|
+
dividerThickness?: Val<number>;
|
|
461
|
+
queryKey?: Val<string[]>;
|
|
462
|
+
}
|
|
463
|
+
|
|
425
464
|
export interface EachProps<T> {
|
|
426
465
|
items: Readable<T[]>;
|
|
427
466
|
build: (item: T, index: number) => Element;
|
|
@@ -664,6 +703,7 @@ declare module "tur:std" {
|
|
|
664
703
|
export function Each<T>(props: EachProps<T>): Element;
|
|
665
704
|
export function LazyList(props: LazyListProps): Element;
|
|
666
705
|
export function Grid(props: GridProps): Element;
|
|
706
|
+
export function Table<T>(props: TableProps<T>): Element;
|
|
667
707
|
export function LazyGrid(props: LazyGridProps): Element;
|
|
668
708
|
export function ScrollView(props: ScrollViewProps): Element;
|
|
669
709
|
export function Scrollbar(props: ScrollbarProps): Element;
|
|
@@ -889,6 +929,28 @@ declare module "tur:std" {
|
|
|
889
929
|
pool?: WorkerPoolHandle;
|
|
890
930
|
/** Survive element unbind (default `false`). */
|
|
891
931
|
keepAlive?: boolean;
|
|
932
|
+
/**
|
|
933
|
+
* Notified of runtime JS errors inside the child after it reached
|
|
934
|
+
* `"running"`: throws from mutations / view closures / factories /
|
|
935
|
+
* microtask + async callbacks, and promise rejections that still
|
|
936
|
+
* have no handler at the end of a frame (a same-frame `.catch`
|
|
937
|
+
* retracts). The callback receives a reconstructed `Error` minted in
|
|
938
|
+
* the parent realm (`e instanceof Error`, `e.message`, best-effort
|
|
939
|
+
* `e.stack`) — the child's thrown value never crosses the worker
|
|
940
|
+
* boundary.
|
|
941
|
+
*
|
|
942
|
+
* Notification only: does NOT fire for module load/start failures
|
|
943
|
+
* (those ride `status$` / `errorMsg$` / `errorView`) and does not
|
|
944
|
+
* change `status$`. Coalesced: at most one dispatch per frame.
|
|
945
|
+
*
|
|
946
|
+
* ```js
|
|
947
|
+
* const app = createVirtualAppController({
|
|
948
|
+
* source,
|
|
949
|
+
* onRuntimeError$: mutate((ctx, e) => log(e.message, e.stack)),
|
|
950
|
+
* });
|
|
951
|
+
* ```
|
|
952
|
+
*/
|
|
953
|
+
onRuntimeError$?: Mutation<[unknown]>;
|
|
892
954
|
}): VirtualAppController;
|
|
893
955
|
|
|
894
956
|
/** Element hosting a virtual app; draws the child's latest frame. */
|