@esheet/renderer 0.0.3 → 0.0.4-1

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 (47) hide show
  1. package/README.md +3 -3
  2. package/dist/index.d.ts +9 -102
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +5284 -4315
  5. package/dist/lib/EsheetRenderer.d.ts +116 -0
  6. package/dist/lib/EsheetRenderer.d.ts.map +1 -0
  7. package/dist/lib/EsheetRenderer.js +115 -0
  8. package/dist/lib/components/FieldNode.d.ts +17 -0
  9. package/dist/lib/components/FieldNode.d.ts.map +1 -0
  10. package/dist/lib/components/FieldNode.js +96 -0
  11. package/dist/lib/components/RendererBody.d.ts +14 -0
  12. package/dist/lib/components/RendererBody.d.ts.map +1 -0
  13. package/dist/lib/components/RendererBody.js +45 -0
  14. package/dist/lib/components/index.d.ts +3 -0
  15. package/dist/lib/components/index.d.ts.map +1 -0
  16. package/dist/lib/components/index.js +2 -0
  17. package/dist/lib/hooks/index.d.ts +2 -0
  18. package/dist/lib/hooks/index.d.ts.map +1 -0
  19. package/dist/lib/hooks/index.js +1 -0
  20. package/dist/lib/hooks/useRendererInit.d.ts +12 -0
  21. package/dist/lib/hooks/useRendererInit.d.ts.map +1 -0
  22. package/dist/lib/hooks/useRendererInit.js +87 -0
  23. package/dist/lib/mcp/index.d.ts +7 -0
  24. package/dist/lib/mcp/index.d.ts.map +1 -0
  25. package/dist/lib/mcp/index.js +4 -0
  26. package/dist/lib/mcp/system-prompt.d.ts +2 -0
  27. package/dist/lib/mcp/system-prompt.d.ts.map +1 -0
  28. package/dist/lib/mcp/system-prompt.js +24 -0
  29. package/dist/lib/mcp/tool-definitions.d.ts +10 -0
  30. package/dist/lib/mcp/tool-definitions.d.ts.map +1 -0
  31. package/dist/lib/mcp/tool-definitions.js +66 -0
  32. package/dist/lib/mcp/tool-executor.d.ts +5 -0
  33. package/dist/lib/mcp/tool-executor.d.ts.map +1 -0
  34. package/dist/lib/mcp/tool-executor.js +55 -0
  35. package/dist/lib/mcp/useRendererToolBridge.d.ts +28 -0
  36. package/dist/lib/mcp/useRendererToolBridge.d.ts.map +1 -0
  37. package/dist/lib/mcp/useRendererToolBridge.js +53 -0
  38. package/dist/lib/register-defaults.d.ts +2 -0
  39. package/dist/lib/register-defaults.d.ts.map +1 -0
  40. package/dist/lib/register-defaults.js +36 -0
  41. package/dist/lib/renderer-tools.d.ts +56 -0
  42. package/dist/lib/renderer-tools.d.ts.map +1 -0
  43. package/dist/lib/renderer-tools.js +305 -0
  44. package/dist/lib/renderer.d.ts +28 -0
  45. package/dist/lib/renderer.d.ts.map +1 -0
  46. package/dist/lib/renderer.js +33 -0
  47. package/package.json +5 -5
@@ -0,0 +1,33 @@
1
+ import { normalizeDefinition, resolveEffect, } from '@esheet/core';
2
+ /**
3
+ * Build a render tree from form definition + responses.
4
+ *
5
+ * Sections are represented as nodes with nested `children`.
6
+ */
7
+ export function renderer(definition, responses = {}, options = {}) {
8
+ const normalized = normalizeDefinition(definition.fields);
9
+ const includeHidden = options.includeHidden === true;
10
+ function build(ids) {
11
+ const result = [];
12
+ for (const id of ids) {
13
+ const node = normalized.byId[id];
14
+ if (!node)
15
+ continue;
16
+ const visible = resolveEffect('visible', node.definition, normalized, responses);
17
+ if (!visible && !includeHidden)
18
+ continue;
19
+ result.push({
20
+ id,
21
+ definition: node.definition,
22
+ visible,
23
+ enabled: resolveEffect('enable', node.definition, normalized, responses),
24
+ required: resolveEffect('required', node.definition, normalized, responses),
25
+ children: build(node.childIds),
26
+ });
27
+ }
28
+ return result;
29
+ }
30
+ return build(normalized.rootIds);
31
+ }
32
+ /** Alias for readability in consumers that prefer explicit naming. */
33
+ export const buildRenderTree = renderer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esheet/renderer",
3
- "version": "0.0.3",
3
+ "version": "0.0.4-1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/mieweb/eSheet"
@@ -38,9 +38,9 @@
38
38
  ]
39
39
  },
40
40
  "dependencies": {
41
- "@esheet/adapters": "*",
42
- "@esheet/core": "*",
43
- "@esheet/fields": "*",
41
+ "@esheet/adapters": "0.0.4-1",
42
+ "@esheet/core": "0.0.4-1",
43
+ "@esheet/fields": "0.0.4-1",
44
44
  "js-yaml": "^4.1.0"
45
45
  },
46
46
  "peerDependencies": {
@@ -55,4 +55,4 @@
55
55
  "@tailwindcss/cli": "^4.2.1",
56
56
  "tailwindcss": "^4.2.1"
57
57
  }
58
- }
58
+ }