@jalvin/runtime 2.0.38 → 2.0.40

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.
Files changed (53) hide show
  1. package/dist/bibi.d.ts +4 -0
  2. package/dist/bibi.d.ts.map +1 -1
  3. package/dist/bibi.js +11 -9
  4. package/dist/bibi.js.map +1 -1
  5. package/dist/coroutines.js +22 -47
  6. package/dist/coroutines.js.map +1 -1
  7. package/dist/dom.d.ts +15 -0
  8. package/dist/dom.d.ts.map +1 -0
  9. package/dist/dom.js +212 -0
  10. package/dist/dom.js.map +1 -0
  11. package/dist/index.d.ts +3 -2
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +18 -224
  14. package/dist/index.js.map +1 -1
  15. package/dist/stateflow.js +8 -19
  16. package/dist/stateflow.js.map +1 -1
  17. package/dist/stdlib/collections.js +55 -108
  18. package/dist/stdlib/collections.js.map +1 -1
  19. package/dist/stdlib/conversions.d.ts +2 -0
  20. package/dist/stdlib/conversions.d.ts.map +1 -1
  21. package/dist/stdlib/conversions.js +17 -29
  22. package/dist/stdlib/conversions.js.map +1 -1
  23. package/dist/stdlib/delegates.js +14 -28
  24. package/dist/stdlib/delegates.js.map +1 -1
  25. package/dist/stdlib/equality.js +1 -4
  26. package/dist/stdlib/equality.js.map +1 -1
  27. package/dist/stdlib/index.js +12 -28
  28. package/dist/stdlib/index.js.map +1 -1
  29. package/dist/stdlib/io.js +2 -6
  30. package/dist/stdlib/io.js.map +1 -1
  31. package/dist/stdlib/math.js +29 -37
  32. package/dist/stdlib/math.js.map +1 -1
  33. package/dist/stdlib/random.js +3 -8
  34. package/dist/stdlib/random.js.map +1 -1
  35. package/dist/stdlib/regex.js +4 -8
  36. package/dist/stdlib/regex.js.map +1 -1
  37. package/dist/stdlib/result.js +3 -9
  38. package/dist/stdlib/result.js.map +1 -1
  39. package/dist/stdlib/strings.js +24 -51
  40. package/dist/stdlib/strings.js.map +1 -1
  41. package/dist/stdlib/timing.js +3 -8
  42. package/dist/stdlib/timing.js.map +1 -1
  43. package/dist/stdlib/types.js +13 -29
  44. package/dist/stdlib/types.js.map +1 -1
  45. package/dist/ui.d.ts +12 -69
  46. package/dist/ui.d.ts.map +1 -1
  47. package/dist/ui.js +130 -228
  48. package/dist/ui.js.map +1 -1
  49. package/package.json +4 -12
  50. package/dist/utils.d.ts +0 -375
  51. package/dist/utils.d.ts.map +0 -1
  52. package/dist/utils.js +0 -1180
  53. package/dist/utils.js.map +0 -1
@@ -1,56 +1,30 @@
1
- "use strict";
2
1
  // ─────────────────────────────────────────────────────────────────────────────
3
2
  // stdlib/strings.ts — String utilities and StringBuilder
4
3
  // ─────────────────────────────────────────────────────────────────────────────
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.StringBuilder = void 0;
7
- exports.isBlank = isBlank;
8
- exports.isNotBlank = isNotBlank;
9
- exports.isNullOrBlank = isNullOrBlank;
10
- exports.toIntOrNull = toIntOrNull;
11
- exports.toDoubleOrNull = toDoubleOrNull;
12
- exports.toBooleanOrNull = toBooleanOrNull;
13
- exports.padStart = padStart;
14
- exports.padEnd = padEnd;
15
- exports.repeat_ = repeat_;
16
- exports.capitalize = capitalize;
17
- exports.decapitalize = decapitalize;
18
- exports.substringBefore = substringBefore;
19
- exports.substringAfter = substringAfter;
20
- exports.substringBeforeLast = substringBeforeLast;
21
- exports.substringAfterLast = substringAfterLast;
22
- exports.removePrefix = removePrefix;
23
- exports.removeSuffix = removeSuffix;
24
- exports.lines = lines;
25
- exports.lineSequence = lineSequence;
26
- exports.ifEmpty = ifEmpty;
27
- exports.ifBlank = ifBlank;
28
- exports.trimIndent = trimIndent;
29
- exports.buildString = buildString;
30
4
  // ─────────────────────────────────────────────────────────────────────────────
31
5
  // String predicates
32
6
  // ─────────────────────────────────────────────────────────────────────────────
33
- function isBlank(s) {
7
+ export function isBlank(s) {
34
8
  return s.trim().length === 0;
35
9
  }
36
- function isNotBlank(s) {
10
+ export function isNotBlank(s) {
37
11
  return s.trim().length > 0;
38
12
  }
39
- function isNullOrBlank(s) {
13
+ export function isNullOrBlank(s) {
40
14
  return s == null || s.trim().length === 0;
41
15
  }
42
16
  // ─────────────────────────────────────────────────────────────────────────────
43
17
  // Parsing with fallback
44
18
  // ─────────────────────────────────────────────────────────────────────────────
45
- function toIntOrNull(s) {
19
+ export function toIntOrNull(s) {
46
20
  const n = parseInt(s, 10);
47
21
  return isNaN(n) ? null : n;
48
22
  }
49
- function toDoubleOrNull(s) {
23
+ export function toDoubleOrNull(s) {
50
24
  const n = parseFloat(s);
51
25
  return isNaN(n) ? null : n;
52
26
  }
53
- function toBooleanOrNull(s) {
27
+ export function toBooleanOrNull(s) {
54
28
  if (s.toLowerCase() === "true")
55
29
  return true;
56
30
  if (s.toLowerCase() === "false")
@@ -60,71 +34,71 @@ function toBooleanOrNull(s) {
60
34
  // ─────────────────────────────────────────────────────────────────────────────
61
35
  // Padding and repetition
62
36
  // ─────────────────────────────────────────────────────────────────────────────
63
- function padStart(s, length, padChar = " ") {
37
+ export function padStart(s, length, padChar = " ") {
64
38
  return s.padStart(length, padChar);
65
39
  }
66
- function padEnd(s, length, padChar = " ") {
40
+ export function padEnd(s, length, padChar = " ") {
67
41
  return s.padEnd(length, padChar);
68
42
  }
69
- function repeat_(s, n) {
43
+ export function repeat_(s, n) {
70
44
  return s.repeat(n);
71
45
  }
72
46
  // ─────────────────────────────────────────────────────────────────────────────
73
47
  // Case and casing helpers
74
48
  // ─────────────────────────────────────────────────────────────────────────────
75
- function capitalize(s) {
49
+ export function capitalize(s) {
76
50
  return s.length === 0 ? s : s[0].toUpperCase() + s.slice(1);
77
51
  }
78
- function decapitalize(s) {
52
+ export function decapitalize(s) {
79
53
  return s.length === 0 ? s : s[0].toLowerCase() + s.slice(1);
80
54
  }
81
55
  // ─────────────────────────────────────────────────────────────────────────────
82
56
  // Substring extraction
83
57
  // ─────────────────────────────────────────────────────────────────────────────
84
- function substringBefore(s, delimiter) {
58
+ export function substringBefore(s, delimiter) {
85
59
  const idx = s.indexOf(delimiter);
86
60
  return idx === -1 ? s : s.slice(0, idx);
87
61
  }
88
- function substringAfter(s, delimiter) {
62
+ export function substringAfter(s, delimiter) {
89
63
  const idx = s.indexOf(delimiter);
90
64
  return idx === -1 ? "" : s.slice(idx + delimiter.length);
91
65
  }
92
- function substringBeforeLast(s, delimiter) {
66
+ export function substringBeforeLast(s, delimiter) {
93
67
  const idx = s.lastIndexOf(delimiter);
94
68
  return idx === -1 ? s : s.slice(0, idx);
95
69
  }
96
- function substringAfterLast(s, delimiter) {
70
+ export function substringAfterLast(s, delimiter) {
97
71
  const idx = s.lastIndexOf(delimiter);
98
72
  return idx === -1 ? "" : s.slice(idx + delimiter.length);
99
73
  }
100
- function removePrefix(s, prefix) {
74
+ export function removePrefix(s, prefix) {
101
75
  return s.startsWith(prefix) ? s.slice(prefix.length) : s;
102
76
  }
103
- function removeSuffix(s, suffix) {
77
+ export function removeSuffix(s, suffix) {
104
78
  return s.endsWith(suffix) ? s.slice(0, s.length - suffix.length) : s;
105
79
  }
106
80
  // ─────────────────────────────────────────────────────────────────────────────
107
81
  // Line splitting
108
82
  // ─────────────────────────────────────────────────────────────────────────────
109
- function lines(s) {
83
+ export function lines(s) {
110
84
  return s.split(/\r?\n/);
111
85
  }
112
- function lineSequence(s) {
86
+ export function lineSequence(s) {
113
87
  return lines(s);
114
88
  }
115
89
  // ─────────────────────────────────────────────────────────────────────────────
116
90
  // Default-if-empty helpers
117
91
  // ─────────────────────────────────────────────────────────────────────────────
118
- function ifEmpty(value, default_) {
92
+ export function ifEmpty(value, default_) {
119
93
  return (value == null || value.length === 0) ? default_() : value;
120
94
  }
121
- function ifBlank(value, default_) {
95
+ export function ifBlank(value, default_) {
122
96
  return (value == null || value.trim().length === 0) ? default_() : value;
123
97
  }
124
98
  // ─────────────────────────────────────────────────────────────────────────────
125
99
  // Indent trimming — strips the common leading whitespace from all lines
126
100
  // ─────────────────────────────────────────────────────────────────────────────
127
- function trimIndent(s) {
101
+ export function trimIndent(s) {
128
102
  const allLines = s.split("\n");
129
103
  const nonEmpty = allLines.filter((l) => l.trim().length > 0);
130
104
  const minIndent = nonEmpty.reduce((min, l) => {
@@ -141,7 +115,7 @@ function trimIndent(s) {
141
115
  // ─────────────────────────────────────────────────────────────────────────────
142
116
  // StringBuilder — mutable string builder for efficient concatenation
143
117
  // ─────────────────────────────────────────────────────────────────────────────
144
- class StringBuilder {
118
+ export class StringBuilder {
145
119
  _parts = [];
146
120
  append(s) { this._parts.push(String(s ?? "")); return this; }
147
121
  appendLine(s = "") { this._parts.push(String(s), "\n"); return this; }
@@ -152,8 +126,7 @@ class StringBuilder {
152
126
  isNotEmpty() { return this.length > 0; }
153
127
  toString() { return this._parts.join(""); }
154
128
  }
155
- exports.StringBuilder = StringBuilder;
156
- function buildString(fn) {
129
+ export function buildString(fn) {
157
130
  const sb = new StringBuilder();
158
131
  fn(sb);
159
132
  return sb.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../src/stdlib/strings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../src/stdlib/strings.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,20 @@
1
- "use strict";
2
1
  // ─────────────────────────────────────────────────────────────────────────────
3
2
  // stdlib/timing.ts — Performance measurement utilities
4
3
  // ─────────────────────────────────────────────────────────────────────────────
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.measureTimeMillis = measureTimeMillis;
7
- exports.measureTimeMillisAsync = measureTimeMillisAsync;
8
- exports.measureTimedValue = measureTimedValue;
9
4
  /** Measures how long a synchronous block takes in milliseconds. */
10
- function measureTimeMillis(fn) {
5
+ export function measureTimeMillis(fn) {
11
6
  const start = performance.now();
12
7
  fn();
13
8
  return Math.round(performance.now() - start);
14
9
  }
15
10
  /** Measures how long an async block takes in milliseconds. */
16
- async function measureTimeMillisAsync(fn) {
11
+ export async function measureTimeMillisAsync(fn) {
17
12
  const start = performance.now();
18
13
  await fn();
19
14
  return Math.round(performance.now() - start);
20
15
  }
21
16
  /** Runs a block and returns both its result and the elapsed time. */
22
- function measureTimedValue(fn) {
17
+ export function measureTimedValue(fn) {
23
18
  const start = performance.now();
24
19
  const value = fn();
25
20
  return { value, duration: Math.round(performance.now() - start) };
@@ -1 +1 @@
1
- {"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/stdlib/timing.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,uDAAuD;AACvD,gFAAgF;;AAShF,8CAIC;AAGD,wDAIC;AAGD,8CAIC;AAnBD,mEAAmE;AACnE,SAAgB,iBAAiB,CAAC,EAAc;IAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,EAAE,EAAE,CAAC;IACL,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,8DAA8D;AACvD,KAAK,UAAU,sBAAsB,CAAC,EAAuB;IAClE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,EAAE,EAAE,CAAC;IACX,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,qEAAqE;AACrE,SAAgB,iBAAiB,CAAI,EAAW;IAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC;IACnB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/stdlib/timing.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,uDAAuD;AACvD,gFAAgF;AAQhF,mEAAmE;AACnE,MAAM,UAAU,iBAAiB,CAAC,EAAc;IAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,EAAE,EAAE,CAAC;IACL,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAAuB;IAClE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,EAAE,EAAE,CAAC;IACX,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,iBAAiB,CAAI,EAAW;IAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC;IACnB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;AACpE,CAAC"}
@@ -1,82 +1,66 @@
1
- "use strict";
2
1
  // ─────────────────────────────────────────────────────────────────────────────
3
2
  // stdlib/types.ts — Null safety, preconditions, and exception classes
4
3
  // ─────────────────────────────────────────────────────────────────────────────
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.NoSuchElementException = exports.IndexOutOfBoundsException = exports.UnsupportedOperationException = exports.IllegalStateException = exports.IllegalArgumentException = exports.NullPointerException = void 0;
7
- exports.notNull = notNull;
8
- exports.safeCast = safeCast;
9
- exports.checkNotNull = checkNotNull;
10
- exports.requireNotNull = requireNotNull;
11
- exports.requireCondition = requireCondition;
12
- exports.check = check;
13
- exports.error = error;
14
4
  /**
15
5
  * `notNull(value)` — emitted for Jalvin's `!!` operator.
16
6
  * Throws if value is null/undefined, otherwise returns the value.
17
7
  */
18
- function notNull(value) {
8
+ export function notNull(value) {
19
9
  if (value === null || value === undefined) {
20
10
  throw new NullPointerException("!! operator invoked on null or undefined value");
21
11
  }
22
12
  return value;
23
13
  }
24
- class NullPointerException extends Error {
14
+ export class NullPointerException extends Error {
25
15
  constructor(message = "Value was null") {
26
16
  super(message);
27
17
  this.name = "NullPointerException";
28
18
  }
29
19
  }
30
- exports.NullPointerException = NullPointerException;
31
20
  /**
32
21
  * `safeCast<T>(value, Type)` — emitted for Jalvin's `as?` operator.
33
22
  * Returns the value if it's an instanceof Type, otherwise returns null.
34
23
  */
35
- function safeCast(value,
24
+ export function safeCast(value,
36
25
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
26
  Type) {
38
27
  return value instanceof Type ? value : null;
39
28
  }
40
- function checkNotNull(value, message = "Value must not be null") {
29
+ export function checkNotNull(value, message = "Value must not be null") {
41
30
  return notNull(value) ?? (() => { throw new NullPointerException(message); })();
42
31
  }
43
- function requireNotNull(value, message = "Required value was null") {
32
+ export function requireNotNull(value, message = "Required value was null") {
44
33
  return notNull(value);
45
34
  }
46
- function requireCondition(condition, message = "Requirement failed") {
35
+ export function requireCondition(condition, message = "Requirement failed") {
47
36
  if (!condition) {
48
37
  throw new IllegalArgumentException(typeof message === "function" ? message() : message);
49
38
  }
50
39
  }
51
- function check(condition, message = "Check failed") {
40
+ export function check(condition, message = "Check failed") {
52
41
  if (!condition) {
53
42
  throw new IllegalStateException(typeof message === "function" ? message() : message);
54
43
  }
55
44
  }
56
- function error(message) {
45
+ export function error(message) {
57
46
  throw new IllegalStateException(message);
58
47
  }
59
48
  // ─────────────────────────────────────────────────────────────────────────────
60
49
  // Standard exception hierarchy
61
50
  // ─────────────────────────────────────────────────────────────────────────────
62
- class IllegalArgumentException extends Error {
51
+ export class IllegalArgumentException extends Error {
63
52
  constructor(message) { super(message); this.name = "IllegalArgumentException"; }
64
53
  }
65
- exports.IllegalArgumentException = IllegalArgumentException;
66
- class IllegalStateException extends Error {
54
+ export class IllegalStateException extends Error {
67
55
  constructor(message) { super(message); this.name = "IllegalStateException"; }
68
56
  }
69
- exports.IllegalStateException = IllegalStateException;
70
- class UnsupportedOperationException extends Error {
57
+ export class UnsupportedOperationException extends Error {
71
58
  constructor(message = "Operation is not supported") { super(message); this.name = "UnsupportedOperationException"; }
72
59
  }
73
- exports.UnsupportedOperationException = UnsupportedOperationException;
74
- class IndexOutOfBoundsException extends Error {
60
+ export class IndexOutOfBoundsException extends Error {
75
61
  constructor(message = "Index out of bounds") { super(message); this.name = "IndexOutOfBoundsException"; }
76
62
  }
77
- exports.IndexOutOfBoundsException = IndexOutOfBoundsException;
78
- class NoSuchElementException extends Error {
63
+ export class NoSuchElementException extends Error {
79
64
  constructor(message = "No such element") { super(message); this.name = "NoSuchElementException"; }
80
65
  }
81
- exports.NoSuchElementException = NoSuchElementException;
82
66
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/stdlib/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/stdlib/types.ts"],"names":[],"mappings":"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"}
package/dist/ui.d.ts CHANGED
@@ -1,101 +1,44 @@
1
1
  import type { StateFlow } from "./stateflow.js";
2
- import { ViewModel } from "./stateflow.js";
3
2
  export interface MutableState<T> {
4
3
  value: T;
5
4
  }
6
5
  /**
7
- * Hoisted `mutableStateOf(initial)` inside a `component fun`.
8
- * Returns a mutable object whose `.value` setter triggers a re-render.
9
- *
10
- * Compiled output:
11
- * val count = mutableStateOf(0)
12
- * → const count = mutableStateOf(0);
13
- * // count.value to read; count.value = x to update
6
+ * Returns a reactive state holder.
14
7
  */
15
8
  export declare function mutableStateOf<T>(initial: T): MutableState<T>;
16
9
  /**
17
- * Compute an expensive value once and remember it.
18
- *
19
- * val scope = remember { CoroutineScope() }
10
+ * Persists a value across re-renders.
20
11
  */
21
12
  export declare function remember<T>(compute: () => T, deps?: readonly unknown[]): T;
22
13
  /**
23
- * `remember { mutableStateOf(0) }` — convenience wrapper.
14
+ * Convenience wrapper.
24
15
  */
25
16
  export declare function rememberMutableStateOf<T>(initial: T): MutableState<T>;
26
17
  /**
27
- * Collects a StateFlow into React state. The component re-renders when
28
- * the flow emits a new value.
29
- *
30
- * val currentName by viewModel.name.collectAsState()
18
+ * Collects a StateFlow into reactive state, persisting the subscription across renders.
31
19
  */
32
20
  export declare function collectAsState<T>(flow: StateFlow<T>): T;
33
21
  /**
34
- * Returns a shared ViewModel instance for the given key.
35
- *
36
- * val vm = useViewModel("CounterVm") { CounterViewModel() }
37
- */
38
- export declare function useViewModel<T extends ViewModel>(key: string, factory: () => T): T;
39
- /**
40
- * Runs a suspend block when deps change. Cancels on unmount.
41
- *
42
- * LaunchedEffect(Unit) {
43
- * repeat(10) { delay(1_000) }
44
- * }
22
+ * Runs an effect tied to "component" execution.
45
23
  */
46
24
  export declare function LaunchedEffect(deps: readonly unknown[], fn: () => Promise<void>): void;
47
25
  export declare function DisposableEffect(deps: readonly unknown[], fn: () => (() => void)): void;
48
26
  export declare function SideEffect(fn: () => void): void;
49
27
  export type WindowSizeClass = "Compact" | "Medium" | "Expanded";
50
- /** @internal — exported for testing */
51
28
  export declare function widthToSizeClass(widthPx: number): WindowSizeClass;
52
- /** @internal — exported for testing */
53
29
  export declare function heightToSizeClass(heightPx: number): WindowSizeClass;
54
30
  export interface WindowSizeClassState {
55
31
  widthSizeClass: WindowSizeClass;
56
32
  heightSizeClass: WindowSizeClass;
57
33
  }
58
- /**
59
- * Mount once at the app root. Registers a single `resize` listener and
60
- * distributes the current {@link WindowSizeClassState} to all descendants
61
- * that call {@link calculateWindowSizeClass}.
62
- *
63
- * The vite-plugin entry module wraps the root component in this provider
64
- * automatically when the `entry` option is used.
65
- *
66
- * @example
67
- * ```jalvin
68
- * // main entry
69
- * root.render(
70
- * WindowSizeClassProvider { MyApp() }
71
- * )
72
- * ```
73
- */
34
+ export declare function calculateWindowSizeClass(): WindowSizeClassState;
74
35
  export declare function WindowSizeClassProvider({ children }: {
75
- children?: import("react").ReactNode;
76
- }): import("react").ReactElement;
36
+ children?: any;
37
+ }): any;
38
+ export { viewModel as useViewModel } from "./stateflow.js";
39
+ import type { VNode } from "./dom.js";
77
40
  /**
78
- * Returns the current {@link WindowSizeClassState}. Re-renders only when the
79
- * window crosses a breakpoint boundary.
80
- *
81
- * Requires {@link WindowSizeClassProvider} to be mounted somewhere above this
82
- * component in the tree (the vite-plugin does this automatically). If no
83
- * provider is found the hook falls back to "Expanded/Medium" and logs a
84
- * warning in development.
85
- *
86
- * Mirrors `calculateWindowSizeClass()` from Compose Material3 Adaptive.
87
- *
88
- * @example
89
- * ```jalvin
90
- * component fun AdaptiveLayout() {
91
- * val windowSize = calculateWindowSizeClass()
92
- * if (windowSize.widthSizeClass == "Compact") {
93
- * MobileLayout()
94
- * } else {
95
- * DesktopLayout()
96
- * }
97
- * }
98
- * ```
41
+ * Mounts a Jalvin component to the DOM and sets up the re-render loop.
99
42
  */
100
- export declare function calculateWindowSizeClass(): WindowSizeClassState;
43
+ export declare function render(rootComponent: () => VNode, container: HTMLElement): void;
101
44
  //# sourceMappingURL=ui.d.ts.map
package/dist/ui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAyC,MAAM,gBAAgB,CAAC;AAMlF,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CA0B7D;AAMD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,GAAE,SAAS,OAAO,EAAO,GAAG,CAAC,CAG9E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAIrE;AAMD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CASvD;AAMD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAC9C,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,GACf,CAAC,CASH;AAMD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACtB,IAAI,CAWN;AAMD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,GACrB,IAAI,CAON;AAMD,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAG/C;AAWD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEhE,uCAAuC;AACvC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAIjE;AAED,uCAAuC;AACvC,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAInE;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,eAAe,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;CAClC;AAyBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACrC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,OAAO,EAAE,SAAS,CAAA;CAAE,GACrD,OAAO,OAAO,EAAE,YAAY,CA2B9B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,IAAI,oBAAoB,CAG/D"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAqDhD,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC;CACV;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAE7D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,GAAE,SAAS,OAAO,EAAO,GAAG,CAAC,CAmB9E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAErE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAQvD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACtB,IAAI,CAKN;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,GACrB,IAAI,CAKN;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAE/C;AAID,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEhE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAIjE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAInE;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,eAAe,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;CAClC;AAgBD,wBAAgB,wBAAwB,IAAI,oBAAoB,CAE/D;AAED,wBAAgB,uBAAuB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,GAAG,CAE7E;AAID,OAAO,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAM3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,wBAAgB,MAAM,CAAC,aAAa,EAAE,MAAM,KAAK,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,CAoC/E"}