@elaraai/e3-ui 1.0.12 → 1.0.14

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 (94) hide show
  1. package/dist/src/{data.d.ts → bind/data.d.ts} +7 -0
  2. package/dist/src/bind/data.d.ts.map +1 -0
  3. package/dist/src/{data.js → bind/data.js} +7 -0
  4. package/dist/src/bind/data.js.map +1 -0
  5. package/dist/src/bind/func.d.ts.map +1 -0
  6. package/dist/src/bind/func.js.map +1 -0
  7. package/dist/src/bind/record.d.ts +275 -0
  8. package/dist/src/bind/record.d.ts.map +1 -0
  9. package/dist/src/bind/record.js +239 -0
  10. package/dist/src/bind/record.js.map +1 -0
  11. package/dist/src/decision/bind.d.ts +1 -1
  12. package/dist/src/decision/bind.d.ts.map +1 -1
  13. package/dist/src/decision/bind.js +1 -1
  14. package/dist/src/decision/bind.js.map +1 -1
  15. package/dist/src/{diff.d.ts → diff/index.d.ts} +3 -3
  16. package/dist/src/diff/index.d.ts.map +1 -0
  17. package/dist/src/{diff.js → diff/index.js} +3 -3
  18. package/dist/src/diff/index.js.map +1 -0
  19. package/dist/src/experiment/index.d.ts +379 -325
  20. package/dist/src/experiment/index.d.ts.map +1 -1
  21. package/dist/src/experiment/index.js +59 -60
  22. package/dist/src/experiment/index.js.map +1 -1
  23. package/dist/src/experiment/types.d.ts +439 -475
  24. package/dist/src/experiment/types.d.ts.map +1 -1
  25. package/dist/src/experiment/types.js +218 -256
  26. package/dist/src/experiment/types.js.map +1 -1
  27. package/dist/src/index.d.ts +7 -6
  28. package/dist/src/index.d.ts.map +1 -1
  29. package/dist/src/index.js +11 -10
  30. package/dist/src/index.js.map +1 -1
  31. package/dist/src/internal.d.ts +7 -6
  32. package/dist/src/internal.d.ts.map +1 -1
  33. package/dist/src/internal.js +7 -6
  34. package/dist/src/internal.js.map +1 -1
  35. package/dist/src/{ontology.d.ts → ontology/index.d.ts} +3 -3
  36. package/dist/src/ontology/index.d.ts.map +1 -0
  37. package/dist/src/{ontology.js → ontology/index.js} +3 -3
  38. package/dist/src/ontology/index.js.map +1 -0
  39. package/dist/src/runtime/diff.d.ts +1 -1
  40. package/dist/src/runtime/diff.d.ts.map +1 -1
  41. package/dist/src/runtime/diff.js +1 -1
  42. package/dist/src/runtime/diff.js.map +1 -1
  43. package/dist/src/runtime/ontology.d.ts +1 -1
  44. package/dist/src/runtime/ontology.d.ts.map +1 -1
  45. package/dist/src/runtime/ontology.js +1 -1
  46. package/dist/src/runtime/ontology.js.map +1 -1
  47. package/dist/src/ui.js +3 -3
  48. package/dist/src/ui.js.map +1 -1
  49. package/dist/src/utils/derive.d.ts +29 -0
  50. package/dist/src/utils/derive.d.ts.map +1 -0
  51. package/dist/src/utils/derive.js +57 -0
  52. package/dist/src/utils/derive.js.map +1 -0
  53. package/dist/src/{manifest.d.ts → utils/manifest.d.ts} +9 -14
  54. package/dist/src/utils/manifest.d.ts.map +1 -0
  55. package/dist/src/utils/manifest.js +37 -0
  56. package/dist/src/utils/manifest.js.map +1 -0
  57. package/dist/test/bind/data/data.examples.d.ts.map +1 -0
  58. package/dist/test/bind/data/data.examples.js.map +1 -0
  59. package/dist/test/bind/func/func.examples.d.ts.map +1 -0
  60. package/dist/test/bind/func/func.examples.js.map +1 -0
  61. package/dist/test/bind/record/record.examples.d.ts +13 -0
  62. package/dist/test/bind/record/record.examples.d.ts.map +1 -0
  63. package/dist/test/bind/record/record.examples.js +73 -0
  64. package/dist/test/bind/record/record.examples.js.map +1 -0
  65. package/dist/test/experiment/experiment.examples.d.ts +285 -385
  66. package/dist/test/experiment/experiment.examples.d.ts.map +1 -1
  67. package/dist/test/experiment/experiment.examples.js +148 -79
  68. package/dist/test/experiment/experiment.examples.js.map +1 -1
  69. package/package.json +7 -7
  70. package/dist/src/data.d.ts.map +0 -1
  71. package/dist/src/data.js.map +0 -1
  72. package/dist/src/derive.d.ts +0 -34
  73. package/dist/src/derive.d.ts.map +0 -1
  74. package/dist/src/derive.js +0 -86
  75. package/dist/src/derive.js.map +0 -1
  76. package/dist/src/diff.d.ts.map +0 -1
  77. package/dist/src/diff.js.map +0 -1
  78. package/dist/src/func.d.ts.map +0 -1
  79. package/dist/src/func.js.map +0 -1
  80. package/dist/src/manifest.d.ts.map +0 -1
  81. package/dist/src/manifest.js +0 -53
  82. package/dist/src/manifest.js.map +0 -1
  83. package/dist/src/ontology.d.ts.map +0 -1
  84. package/dist/src/ontology.js.map +0 -1
  85. package/dist/test/data/data.examples.d.ts.map +0 -1
  86. package/dist/test/data/data.examples.js.map +0 -1
  87. package/dist/test/func/func.examples.d.ts.map +0 -1
  88. package/dist/test/func/func.examples.js.map +0 -1
  89. /package/dist/src/{func.d.ts → bind/func.d.ts} +0 -0
  90. /package/dist/src/{func.js → bind/func.js} +0 -0
  91. /package/dist/test/{data → bind/data}/data.examples.d.ts +0 -0
  92. /package/dist/test/{data → bind/data}/data.examples.js +0 -0
  93. /package/dist/test/{func → bind/func}/func.examples.d.ts +0 -0
  94. /package/dist/test/{func → bind/func}/func.examples.js +0 -0
@@ -0,0 +1,73 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@elaraai/e3-ui/jsx-runtime";
2
+ /**
3
+ * Copyright (c) 2025 Elara AI Pty Ltd
4
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
5
+ */
6
+ /** @jsxImportSource @elaraai/e3-ui */
7
+ import { East, IntegerType, NullType, example } from "@elaraai/east";
8
+ import { Button, HStack, Reactive, Stat, Text, UIComponentType, VStack } from "@elaraai/east-ui";
9
+ import { Record } from "@elaraai/e3-ui";
10
+ import e3 from "@elaraai/e3";
11
+ // The package-side record + mutation definitions. `Record.bind` takes the
12
+ // record def + its mutations — the state type, mutation names and arg types
13
+ // all come from them, so the binding can never drift from the deployed record.
14
+ export const counter = e3.record("counter", IntegerType, 0n);
15
+ export const increment = e3.mutation("increment", counter, East.function([IntegerType, IntegerType], IntegerType, ($, state, by) => state.add(by)));
16
+ export const reset = e3.mutation("reset", counter, East.function([IntegerType], IntegerType, (_$, _state) => 0n));
17
+ export const recordBindMutate = example({
18
+ keywords: ["Record", "bind", "mutate", "Reactive", "Button", "read", "pending", "status", "system of record"],
19
+ description: "Bind an e3.record + its mutations; buttons apply typed mutations, a stat shows the current state, and the mutate lifecycle status is rendered",
20
+ fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
21
+ const r = $.let(Record.bind(counter, [increment, reset]));
22
+ const status = $.let(r.mutate.status().getTag().upperCase());
23
+ // Surface the failure detail so a failed mutation shows WHY, not just
24
+ // that it failed.
25
+ const detail = $.let(r.mutate.error().match({
26
+ some: (_$, e) => e.message,
27
+ none: _$ => East.str ``,
28
+ }));
29
+ const bump = $.const(East.function([], NullType, $ => {
30
+ $(r.mutate.increment(1n));
31
+ }));
32
+ const clear = $.const(East.function([], NullType, $ => {
33
+ $(r.mutate.reset());
34
+ }));
35
+ // A mutation commits the record but does not propagate; `start`
36
+ // launches the workspace dataflow so tasks consuming the record
37
+ // recompute. Queued behind any in-flight mutation.
38
+ const run = $.const(East.function([], NullType, $ => {
39
+ $(r.start());
40
+ }));
41
+ return (_jsxs(VStack, { gap: "3", align: "stretch", children: [_jsx(Stat, { label: "Counter", value: East.print(r.read()) }), _jsxs(HStack, { gap: "2", children: [_jsx(Button, { onClick: bump, loading: r.mutate.pending(), children: "Increment" }), _jsx(Button, { variant: "outline", onClick: clear, children: "Reset" }), _jsx(Button, { variant: "ghost", onClick: run, children: "Run downstream" })] }), _jsx(Text.MonoLabel, { children: status }), _jsx(Text, { color: "fg.muted", children: detail })] }));
42
+ } }))),
43
+ inputs: [],
44
+ });
45
+ export const recordBindStatus = example({
46
+ keywords: ["Record", "bind", "status", "error", "lifecycle", "mutate"],
47
+ description: "Render the mutation lifecycle (idle / running / committed / failed / cancelled) and any failure",
48
+ fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
49
+ const r = $.let(Record.bind(counter, [increment]));
50
+ const bump = $.const(East.function([], NullType, $ => { $(r.mutate.increment(1n)); }));
51
+ const statusLine = $.let(r.mutate.status().getTag().upperCase());
52
+ const detail = $.let(r.mutate.error().match({
53
+ some: (_$, e) => e.message,
54
+ none: _$ => East.print(r.read()),
55
+ }));
56
+ return (_jsxs(VStack, { gap: "3", align: "stretch", children: [_jsx(Button, { onClick: bump, loading: r.mutate.pending(), children: "Increment" }), _jsx(Text.MonoLabel, { children: statusLine }), _jsx(Text, { color: "fg.muted", children: detail })] }));
57
+ } }))),
58
+ inputs: [],
59
+ });
60
+ export const recordBindHistory = example({
61
+ keywords: ["Record", "bind", "history", "audit", "commit", "chain"],
62
+ description: "Read the record's commit history (the audit trail) alongside its current value",
63
+ fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
64
+ const r = $.let(Record.bind(counter, [increment]));
65
+ const count = $.let(r.history().match({
66
+ some: (_$, commits) => commits.size(),
67
+ none: _$ => 0n,
68
+ }));
69
+ return (_jsxs(VStack, { gap: "3", align: "stretch", children: [_jsx(Stat, { label: "Counter", value: East.print(r.read()) }), _jsx(Text.MonoLabel, { children: East.str `${count} COMMITS` })] }));
70
+ } }))),
71
+ inputs: [],
72
+ });
73
+ //# sourceMappingURL=record.examples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.examples.js","sourceRoot":"","sources":["../../../../test/bind/record/record.examples.tsx"],"names":[],"mappings":"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"}