@goplasmatic/datalogic-ui 5.2.0 → 5.4.0

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 (186) hide show
  1. package/README.md +163 -32
  2. package/dist/components/logic-editor/DataLogicEditor.d.ts +1 -1
  3. package/dist/components/logic-editor/DataLogicEditor.d.ts.map +1 -1
  4. package/dist/components/logic-editor/EditorToolbar.d.ts +8 -1
  5. package/dist/components/logic-editor/EditorToolbar.d.ts.map +1 -1
  6. package/dist/components/logic-editor/KeyboardHandler.d.ts.map +1 -1
  7. package/dist/components/logic-editor/config/arity.d.ts +3 -0
  8. package/dist/components/logic-editor/config/arity.d.ts.map +1 -0
  9. package/dist/components/logic-editor/config/categories.d.ts +7 -2
  10. package/dist/components/logic-editor/config/categories.d.ts.map +1 -1
  11. package/dist/components/logic-editor/config/docs.d.ts +11 -0
  12. package/dist/components/logic-editor/config/docs.d.ts.map +1 -0
  13. package/dist/components/logic-editor/config/literalPanel.d.ts +4 -0
  14. package/dist/components/logic-editor/config/literalPanel.d.ts.map +1 -1
  15. package/dist/components/logic-editor/config/operators/arithmetic-basic.d.ts.map +1 -1
  16. package/dist/components/logic-editor/config/operators/arithmetic-functions.d.ts.map +1 -1
  17. package/dist/components/logic-editor/config/operators/array-iteration.d.ts.map +1 -1
  18. package/dist/components/logic-editor/config/operators/array-manipulation.d.ts.map +1 -1
  19. package/dist/components/logic-editor/config/operators/array.d.ts +1 -1
  20. package/dist/components/logic-editor/config/operators/control.d.ts.map +1 -1
  21. package/dist/components/logic-editor/config/operators/datetime.d.ts.map +1 -1
  22. package/dist/components/logic-editor/config/operators/error.d.ts.map +1 -1
  23. package/dist/components/logic-editor/config/operators/flagd.d.ts +3 -0
  24. package/dist/components/logic-editor/config/operators/flagd.d.ts.map +1 -0
  25. package/dist/components/logic-editor/config/operators/index.d.ts +2 -1
  26. package/dist/components/logic-editor/config/operators/index.d.ts.map +1 -1
  27. package/dist/components/logic-editor/config/operators/logical.d.ts.map +1 -1
  28. package/dist/components/logic-editor/config/operators/string-core.d.ts.map +1 -1
  29. package/dist/components/logic-editor/config/operators/string-transform.d.ts.map +1 -1
  30. package/dist/components/logic-editor/config/operators/utility.d.ts.map +1 -1
  31. package/dist/components/logic-editor/config/operators/validation.d.ts.map +1 -1
  32. package/dist/components/logic-editor/config/operators/variable.d.ts.map +1 -1
  33. package/dist/components/logic-editor/config/operators.types.d.ts +13 -11
  34. package/dist/components/logic-editor/config/operators.types.d.ts.map +1 -1
  35. package/dist/components/logic-editor/constants/colors.d.ts.map +1 -1
  36. package/dist/components/logic-editor/context/debugger/DebuggerProvider.d.ts +6 -1
  37. package/dist/components/logic-editor/context/debugger/DebuggerProvider.d.ts.map +1 -1
  38. package/dist/components/logic-editor/context/debugger/hooks.d.ts +3 -1
  39. package/dist/components/logic-editor/context/debugger/hooks.d.ts.map +1 -1
  40. package/dist/components/logic-editor/context/debugger/types.d.ts +18 -0
  41. package/dist/components/logic-editor/context/debugger/types.d.ts.map +1 -1
  42. package/dist/components/logic-editor/context/editor/EditorContext.d.ts.map +1 -1
  43. package/dist/components/logic-editor/context/editor/useNodeCreation.d.ts.map +1 -1
  44. package/dist/components/logic-editor/context/editor/useNodeEdgeInsert.d.ts +16 -0
  45. package/dist/components/logic-editor/context/editor/useNodeEdgeInsert.d.ts.map +1 -1
  46. package/dist/components/logic-editor/context/editor/useNodeOperations.d.ts.map +1 -1
  47. package/dist/components/logic-editor/context/index.d.ts +0 -1
  48. package/dist/components/logic-editor/context/index.d.ts.map +1 -1
  49. package/dist/components/logic-editor/context-menu/CanvasContextMenu.d.ts +1 -1
  50. package/dist/components/logic-editor/context-menu/CanvasContextMenu.d.ts.map +1 -1
  51. package/dist/components/logic-editor/context-menu/index.d.ts +0 -1
  52. package/dist/components/logic-editor/context-menu/index.d.ts.map +1 -1
  53. package/dist/components/logic-editor/context-menu/menu-helpers.d.ts +2 -1
  54. package/dist/components/logic-editor/context-menu/menu-helpers.d.ts.map +1 -1
  55. package/dist/components/logic-editor/context-menu/useContextMenuItems.d.ts.map +1 -1
  56. package/dist/components/logic-editor/debugger-controls/DebuggerControls.d.ts.map +1 -1
  57. package/dist/components/logic-editor/debugger-controls/StepTimeline.d.ts +14 -0
  58. package/dist/components/logic-editor/debugger-controls/StepTimeline.d.ts.map +1 -0
  59. package/dist/components/logic-editor/debugger-controls/index.d.ts +2 -0
  60. package/dist/components/logic-editor/debugger-controls/index.d.ts.map +1 -1
  61. package/dist/components/logic-editor/debugger-controls/keyboard-guard.d.ts +6 -0
  62. package/dist/components/logic-editor/debugger-controls/keyboard-guard.d.ts.map +1 -0
  63. package/dist/components/logic-editor/edges/EdgeOperatorPicker.d.ts.map +1 -1
  64. package/dist/components/logic-editor/hooks/index.d.ts +2 -3
  65. package/dist/components/logic-editor/hooks/index.d.ts.map +1 -1
  66. package/dist/components/logic-editor/hooks/useDebugClassName.d.ts +2 -0
  67. package/dist/components/logic-editor/hooks/useDebugClassName.d.ts.map +1 -1
  68. package/dist/components/logic-editor/hooks/useLogicEditor.d.ts +15 -8
  69. package/dist/components/logic-editor/hooks/useLogicEditor.d.ts.map +1 -1
  70. package/dist/components/logic-editor/hooks/useWasmEvaluator.d.ts +72 -4
  71. package/dist/components/logic-editor/hooks/useWasmEvaluator.d.ts.map +1 -1
  72. package/dist/components/logic-editor/index.d.ts +3 -4
  73. package/dist/components/logic-editor/index.d.ts.map +1 -1
  74. package/dist/components/logic-editor/nodes/DebugInfoBubble.d.ts +9 -2
  75. package/dist/components/logic-editor/nodes/DebugInfoBubble.d.ts.map +1 -1
  76. package/dist/components/logic-editor/nodes/shared/NodeDebugBubble.d.ts +2 -1
  77. package/dist/components/logic-editor/nodes/shared/NodeDebugBubble.d.ts.map +1 -1
  78. package/dist/components/logic-editor/panel-inputs/PanelRenderer.d.ts +12 -1
  79. package/dist/components/logic-editor/panel-inputs/PanelRenderer.d.ts.map +1 -1
  80. package/dist/components/logic-editor/panel-inputs/index.d.ts +1 -1
  81. package/dist/components/logic-editor/panel-inputs/index.d.ts.map +1 -1
  82. package/dist/components/logic-editor/properties-panel/ArgumentItem.d.ts.map +1 -1
  83. package/dist/components/logic-editor/properties-panel/ArgumentsSection.d.ts.map +1 -1
  84. package/dist/components/logic-editor/properties-panel/HelpSection.d.ts +8 -2
  85. package/dist/components/logic-editor/properties-panel/HelpSection.d.ts.map +1 -1
  86. package/dist/components/logic-editor/properties-panel/utils/argument-parser.d.ts +4 -0
  87. package/dist/components/logic-editor/properties-panel/utils/argument-parser.d.ts.map +1 -1
  88. package/dist/components/logic-editor/properties-panel/utils/expression-rebuilder.d.ts +6 -2
  89. package/dist/components/logic-editor/properties-panel/utils/expression-rebuilder.d.ts.map +1 -1
  90. package/dist/components/logic-editor/properties-panel/utils.d.ts.map +1 -1
  91. package/dist/components/logic-editor/services/argument-service.d.ts +4 -1
  92. package/dist/components/logic-editor/services/argument-service.d.ts.map +1 -1
  93. package/dist/components/logic-editor/services/index.d.ts +1 -1
  94. package/dist/components/logic-editor/services/index.d.ts.map +1 -1
  95. package/dist/components/logic-editor/services/inline-edit-service.d.ts +13 -0
  96. package/dist/components/logic-editor/services/inline-edit-service.d.ts.map +1 -0
  97. package/dist/components/logic-editor/services/node-mutation-service.d.ts +3 -2
  98. package/dist/components/logic-editor/services/node-mutation-service.d.ts.map +1 -1
  99. package/dist/components/logic-editor/services/node-transform-service.d.ts +14 -4
  100. package/dist/components/logic-editor/services/node-transform-service.d.ts.map +1 -1
  101. package/dist/components/logic-editor/types/editor.d.ts +51 -19
  102. package/dist/components/logic-editor/types/editor.d.ts.map +1 -1
  103. package/dist/components/logic-editor/types/index.d.ts +1 -1
  104. package/dist/components/logic-editor/types/index.d.ts.map +1 -1
  105. package/dist/components/logic-editor/types/jsonlogic.d.ts +1 -1
  106. package/dist/components/logic-editor/types/jsonlogic.d.ts.map +1 -1
  107. package/dist/components/logic-editor/types/trace.d.ts +16 -5
  108. package/dist/components/logic-editor/types/trace.d.ts.map +1 -1
  109. package/dist/components/logic-editor/utils/Icon.d.ts.map +1 -1
  110. package/dist/components/logic-editor/utils/converters/if-else-converter.d.ts +29 -3
  111. package/dist/components/logic-editor/utils/converters/if-else-converter.d.ts.map +1 -1
  112. package/dist/components/logic-editor/utils/converters/index.d.ts.map +1 -1
  113. package/dist/components/logic-editor/utils/converters/operator-converter.d.ts +1 -1
  114. package/dist/components/logic-editor/utils/converters/operator-converter.d.ts.map +1 -1
  115. package/dist/components/logic-editor/utils/converters/structure-converter.d.ts +4 -0
  116. package/dist/components/logic-editor/utils/converters/structure-converter.d.ts.map +1 -1
  117. package/dist/components/logic-editor/utils/converters/structure-paths.d.ts +52 -0
  118. package/dist/components/logic-editor/utils/converters/structure-paths.d.ts.map +1 -0
  119. package/dist/components/logic-editor/utils/converters/switch-cells.d.ts +40 -0
  120. package/dist/components/logic-editor/utils/converters/switch-cells.d.ts.map +1 -0
  121. package/dist/components/logic-editor/utils/converters/switch-converter.d.ts +1 -1
  122. package/dist/components/logic-editor/utils/converters/switch-converter.d.ts.map +1 -1
  123. package/dist/components/logic-editor/utils/converters/variable-cells.d.ts +62 -0
  124. package/dist/components/logic-editor/utils/converters/variable-cells.d.ts.map +1 -0
  125. package/dist/components/logic-editor/utils/converters/variable-converter.d.ts +1 -3
  126. package/dist/components/logic-editor/utils/converters/variable-converter.d.ts.map +1 -1
  127. package/dist/components/logic-editor/utils/index.d.ts +1 -1
  128. package/dist/components/logic-editor/utils/index.d.ts.map +1 -1
  129. package/dist/components/logic-editor/utils/layout.d.ts.map +1 -1
  130. package/dist/components/logic-editor/utils/menu-builder.d.ts +7 -1
  131. package/dist/components/logic-editor/utils/menu-builder.d.ts.map +1 -1
  132. package/dist/components/logic-editor/utils/node-cloning.d.ts +9 -1
  133. package/dist/components/logic-editor/utils/node-cloning.d.ts.map +1 -1
  134. package/dist/components/logic-editor/utils/node-deletion.d.ts +17 -0
  135. package/dist/components/logic-editor/utils/node-deletion.d.ts.map +1 -1
  136. package/dist/components/logic-editor/utils/node-factory.d.ts +7 -3
  137. package/dist/components/logic-editor/utils/node-factory.d.ts.map +1 -1
  138. package/dist/components/logic-editor/utils/node-updaters.d.ts +6 -0
  139. package/dist/components/logic-editor/utils/node-updaters.d.ts.map +1 -1
  140. package/dist/components/logic-editor/utils/nodeShape.d.ts.map +1 -1
  141. package/dist/components/logic-editor/utils/nodes-to-jsonlogic.d.ts.map +1 -1
  142. package/dist/components/logic-editor/utils/signal.d.ts.map +1 -1
  143. package/dist/components/logic-editor/utils/trace/child-matching.d.ts +47 -1
  144. package/dist/components/logic-editor/utils/trace/child-matching.d.ts.map +1 -1
  145. package/dist/components/logic-editor/utils/trace/index.d.ts +3 -2
  146. package/dist/components/logic-editor/utils/trace/index.d.ts.map +1 -1
  147. package/dist/components/logic-editor/utils/trace/node-creators/if-else.d.ts +1 -1
  148. package/dist/components/logic-editor/utils/trace/node-creators/if-else.d.ts.map +1 -1
  149. package/dist/components/logic-editor/utils/trace/node-creators/index.d.ts +0 -1
  150. package/dist/components/logic-editor/utils/trace/node-creators/index.d.ts.map +1 -1
  151. package/dist/components/logic-editor/utils/trace/node-creators/structure.d.ts +8 -1
  152. package/dist/components/logic-editor/utils/trace/node-creators/structure.d.ts.map +1 -1
  153. package/dist/components/logic-editor/utils/trace/node-creators/switch.d.ts +9 -4
  154. package/dist/components/logic-editor/utils/trace/node-creators/switch.d.ts.map +1 -1
  155. package/dist/components/logic-editor/utils/trace/node-creators/variable.d.ts +14 -2
  156. package/dist/components/logic-editor/utils/trace/node-creators/variable.d.ts.map +1 -1
  157. package/dist/components/logic-editor/utils/trace/node-creators/vertical-cell.d.ts +3 -1
  158. package/dist/components/logic-editor/utils/trace/node-creators/vertical-cell.d.ts.map +1 -1
  159. package/dist/components/logic-editor/utils/trace/trace-failure.d.ts +29 -0
  160. package/dist/components/logic-editor/utils/trace/trace-failure.d.ts.map +1 -0
  161. package/dist/components/logic-editor/utils/trace/trace-ids.d.ts +6 -0
  162. package/dist/components/logic-editor/utils/trace/trace-ids.d.ts.map +1 -0
  163. package/dist/components/logic-editor/utils/trace/trace-to-nodes.d.ts +5 -1
  164. package/dist/components/logic-editor/utils/trace/trace-to-nodes.d.ts.map +1 -1
  165. package/dist/datalogic_wasm-6KTmUP2q.cjs +1125 -0
  166. package/dist/datalogic_wasm-DJxb6g5L.js +1124 -0
  167. package/dist/index.cjs +6979 -3844
  168. package/dist/index.js +6975 -3844
  169. package/dist/lib.d.ts +5 -1
  170. package/dist/lib.d.ts.map +1 -1
  171. package/dist/styles.css +440 -0
  172. package/package.json +26 -23
  173. package/dist/components/logic-editor/context/EvaluationContext.d.ts +0 -5
  174. package/dist/components/logic-editor/context/EvaluationContext.d.ts.map +0 -1
  175. package/dist/components/logic-editor/context-menu/AddArgumentMenu.d.ts +0 -24
  176. package/dist/components/logic-editor/context-menu/AddArgumentMenu.d.ts.map +0 -1
  177. package/dist/components/logic-editor/hooks/useDebugEvaluation.d.ts +0 -16
  178. package/dist/components/logic-editor/hooks/useDebugEvaluation.d.ts.map +0 -1
  179. package/dist/components/logic-editor/utils/expression-builder.d.ts +0 -16
  180. package/dist/components/logic-editor/utils/expression-builder.d.ts.map +0 -1
  181. package/dist/components/logic-editor/utils/trace/evaluation-results.d.ts +0 -15
  182. package/dist/components/logic-editor/utils/trace/evaluation-results.d.ts.map +0 -1
  183. package/dist/components/logic-editor/utils/trace/node-creators/operator.d.ts +0 -11
  184. package/dist/components/logic-editor/utils/trace/node-creators/operator.d.ts.map +0 -1
  185. package/dist/datalogic_wasm-CQhNPxpU.js +0 -1146
  186. package/dist/datalogic_wasm-Da8EOl2Z.cjs +0 -1149
package/README.md CHANGED
@@ -16,12 +16,14 @@ see the [repo README](https://github.com/GoPlasmatic/datalogic-rs#readme).
16
16
  ## Features
17
17
 
18
18
  - Visual representation of JSONLogic expressions as flow diagrams
19
- - Support for all standard JSONLogic operators (logical, comparison, arithmetic, string, array, control flow, datetime, error handling)
20
- - Tree-based automatic layout using @dagrejs/dagre
19
+ - Every built-in operator the bundled engine accepts (64 canonical operators plus the `var`, `?:` and `match` aliases), across variables, comparison, logical, arithmetic, string, array, object, control flow, datetime, validation, error handling and the flagd feature-flag operators (`fractional`, `sem_ver`)
20
+ - Per-operator help with engine-verified examples and a link to that operator's documentation page
21
+ - Tree-based automatic layout using @dagrejs/dagre, in data-flow or JSON-hierarchy direction
21
22
  - Prop-based modes: read-only visualization, debugging with step-through trace, and full visual editing
22
- - Editing mode with node selection, properties panel, context menus, and undo/redo
23
+ - Editing mode with node selection, properties panel, context menus, an Insert menu (Cmd/Ctrl+K) and undo/redo
23
24
  - Templating mode for JSON templates with embedded JSONLogic
24
- - Built-in WASM-based JSONLogic evaluation with execution tracing
25
+ - Built-in WASM-based JSONLogic evaluation with execution tracing, a step timeline, and failed-node highlighting
26
+ - Engine evaluation settings (`config`) and custom operators (`customOperators`) passed straight through to the engine
25
27
  - Light/dark theme support with system preference detection
26
28
 
27
29
  ## Installation
@@ -35,17 +37,19 @@ npm install @goplasmatic/datalogic-ui @xyflow/react
35
37
  ## Quick Start
36
38
 
37
39
  ```tsx
38
- import '@xyflow/react/dist/style.css';
39
40
  import '@goplasmatic/datalogic-ui/styles.css';
40
41
 
41
- import { DataLogicEditor } from '@goplasmatic/datalogic-ui';
42
+ import { DataLogicEditor, type JsonLogicValue } from '@goplasmatic/datalogic-ui';
42
43
 
43
44
  function App() {
44
- const expression = {
45
- "and": [
46
- { ">": [{ "var": "age" }, 18] },
47
- { "==": [{ "var": "status" }, "active"] }
48
- ]
45
+ // Annotate the expression: TypeScript widens a bare object literal whose
46
+ // array holds two different operator keys into a union that is not
47
+ // assignable to JsonLogicValue.
48
+ const expression: JsonLogicValue = {
49
+ and: [
50
+ { '>': [{ var: 'age' }, 18] },
51
+ { '==': [{ var: 'status' }, 'active'] },
52
+ ],
49
53
  };
50
54
 
51
55
  return <DataLogicEditor value={expression} />;
@@ -66,7 +70,11 @@ Simply render a JSONLogic expression as a flow diagram:
66
70
 
67
71
  ### With Debugger
68
72
 
69
- Provide `data` to enable debugger controls with step-through execution trace:
73
+ Provide `data` to enable the debugger toolbar (play/pause, step, jump, and a
74
+ step timeline). As you step, the current node shows its context and result in
75
+ a bubble, executed and on-path nodes are highlighted, and a node on the
76
+ engine's failure breadcrumb is marked with its error. Nodes do not show
77
+ results at rest; step through the trace to see values:
70
78
 
71
79
  ```tsx
72
80
  <DataLogicEditor
@@ -110,8 +118,12 @@ Combine editing with live debugging:
110
118
  | `theme` | `'light' \| 'dark'` | system | Theme override. If not provided, uses system preference |
111
119
  | `className` | `string` | - | Additional CSS class |
112
120
  | `templating` | `boolean` | `false` | Enable templating mode: multi-key objects and arrays compile to output-shaping templates with embedded JSONLogic |
113
- | `onTemplatingChange` | `(value: boolean) => void` | - | Callback when templating mode changes (from toolbar checkbox) |
114
- | `editable` | `boolean` | `false` | Enable editing: node selection, properties panel, context menus, undo/redo |
121
+ | `onTemplatingChange` | `(value: boolean) => void` | - | Callback when templating mode changes. The toolbar's Templating checkbox renders only when this is provided |
122
+ | `config` | `DataLogicEvaluationConfig` | - | Engine evaluation settings (preset, NaN and division-by-zero handling, truthiness, numeric coercion, recursion cap). Applied to both the result and the trace |
123
+ | `customOperators` | `Record<string, (args: unknown[]) => unknown>` | - | Custom operators registered on the engine. Rules using them evaluate and trace normally; their nodes render with the generic "utility" styling |
124
+ | `editable` | `boolean` | `false` | Enable editing: node selection, properties panel, context menus, Insert menu, undo/redo |
125
+ | `exampleSuggestions` | `string[]` | - | Example names shown as quick-action chips in the empty state. Chips render only when `onSelectExample` is also provided |
126
+ | `onSelectExample` | `(name: string) => void` | - | Called with the example name when a user clicks an empty-state chip |
115
127
 
116
128
  ## Exports
117
129
 
@@ -126,16 +138,27 @@ import { DataLogicEditor } from '@goplasmatic/datalogic-ui';
126
138
  ```tsx
127
139
  import type {
128
140
  DataLogicEditorProps,
141
+ DataLogicEvaluationConfig,
142
+ DataLogicCustomOperator,
129
143
  JsonLogicValue,
144
+ JsonLogicToNodesOptions,
130
145
  LogicNode,
131
146
  LogicEdge,
132
147
  LogicNodeData,
133
148
  OperatorNodeData,
134
149
  VariableNodeData,
135
150
  LiteralNodeData,
151
+ StructureNodeData,
152
+ StructureElement,
153
+ CellData,
154
+ ConversionResult,
136
155
  NodeEvaluationResult,
137
156
  EvaluationResultsMap,
157
+ StructuredError,
158
+ TracedResult,
138
159
  OperatorCategory,
160
+ FlowDirection,
161
+ IconName,
139
162
  } from '@goplasmatic/datalogic-ui';
140
163
  ```
141
164
 
@@ -145,42 +168,148 @@ import type {
145
168
  import { OPERATORS, CATEGORY_COLORS } from '@goplasmatic/datalogic-ui';
146
169
  ```
147
170
 
148
- ### Utilities (for advanced use)
171
+ `OPERATORS` is the operator registry keyed by name: label, category, arity,
172
+ panel configuration, and help (summary, return type, notes, and examples that
173
+ are checked against the engine in this package's test suite). `CATEGORY_COLORS`
174
+ is a per-category palette for consumer-side legends and custom renderers; the
175
+ shipped nodes are coloured by the value type they produce, through the
176
+ `--sig-*` tokens (see Styling).
177
+
178
+ ### Utilities and hooks (for advanced use)
149
179
 
150
180
  ```tsx
151
- import { jsonLogicToNodes, applyTreeLayout } from '@goplasmatic/datalogic-ui';
181
+ import {
182
+ jsonLogicToNodes,
183
+ applyTreeLayout,
184
+ useWasmEvaluator,
185
+ DataLogicEvaluationError,
186
+ summarizeEvaluationConfig,
187
+ isDefaultEvaluationConfig,
188
+ } from '@goplasmatic/datalogic-ui';
152
189
  ```
153
190
 
154
- ## Styling
191
+ - `jsonLogicToNodes(value, options?)` converts an expression into
192
+ `{ nodes, edges, rootId }`.
193
+ - `applyTreeLayout(nodes, edges?, direction?)` positions them with dagre.
194
+ `direction` is `'flow'` (default: sources on the left, result on the right)
195
+ or `'hierarchy'` (root on the left, JSON nesting order).
196
+ - `useWasmEvaluator({ templating, config, customOperators })` is the same
197
+ engine hook the component uses: it returns `{ ready, loading, error,
198
+ evaluate, evaluateWithTrace }`.
199
+ - `DataLogicEvaluationError` carries the engine's structured error on
200
+ `.structured` (`type`, `message`, and, where the engine provides them,
201
+ `operator`, `node_ids`, `thrown`, `variable`, `index`, `length`, `stage`).
155
202
 
156
- The component requires two CSS imports:
203
+ ### Engine settings and custom operators
157
204
 
158
205
  ```tsx
159
- // React Flow base styles
160
- import '@xyflow/react/dist/style.css';
206
+ <DataLogicEditor
207
+ value={expression}
208
+ data={data}
209
+ config={{ preset: 'strict', division_by_zero: 'return_null' }}
210
+ customOperators={{ double: (args) => Number(args[0]) * 2 }}
211
+ />
212
+ ```
213
+
214
+ `config` mirrors the engine's `EvaluationConfig`: `preset`
215
+ (`'default' | 'safe_arithmetic' | 'strict'`), `arithmetic_nan_handling`,
216
+ `division_by_zero`, `loose_equality_errors`, `truthy_evaluator`,
217
+ `numeric_coercion` (`empty_string_to_zero`, `null_to_zero`, `bool_to_number`,
218
+ `reject_non_numeric`) and `max_recursion_depth`. Every key is optional and
219
+ omitted keys keep the engine default. Changing `config` or `customOperators`
220
+ rebuilds the engine, so selection and undo history reset.
161
221
 
162
- // DataLogicEditor styles
222
+ A custom operator receives the already-evaluated arguments and returns any
223
+ JSON-serializable value (`undefined` becomes `null`); a thrown exception
224
+ becomes a runtime evaluation error.
225
+
226
+ ## Styling
227
+
228
+ One CSS import is all you need. React Flow's base styles are bundled into
229
+ `styles.css`, so there is no separate `@xyflow/react/dist/style.css` import
230
+ and no import-order requirement:
231
+
232
+ ```tsx
163
233
  import '@goplasmatic/datalogic-ui/styles.css';
164
234
  ```
165
235
 
166
- The component respects the `data-theme` attribute on parent elements for theming, or you can override with the `theme` prop.
236
+ The component sets `data-theme` on its own `.logic-editor` root from the
237
+ `theme` prop, falling back to the system preference. It does not read
238
+ `data-theme` from ancestor elements: pass the `theme` prop to force a theme.
239
+
240
+ Every design decision is a CSS custom property scoped to `.logic-editor`, so
241
+ overrides never leak into the host app. The primary axis is the signal
242
+ palette (`--sig-bool-true`, `--sig-bool-false`, `--sig-bool-rest`,
243
+ `--sig-number`, `--sig-string`, `--sig-collection`, `--sig-data`,
244
+ `--sig-temporal`, `--sig-null`, each with a `-bg` variant): a node is
245
+ coloured by the type of value it produces. The neutral substrate is
246
+ `--board`, `--surface`, `--chip`, `--hairline`, `--ink`, `--muted`, and
247
+ `--accent` is reserved for selection, root and focus.
248
+
249
+ ```css
250
+ .logic-editor {
251
+ --sig-number: #0ea5e9;
252
+ --font-ui: 'Inter', sans-serif;
253
+ }
254
+ .logic-editor[data-theme="dark"] {
255
+ --board: #0b0b0f;
256
+ }
257
+ ```
258
+
259
+ The default `--font-ui` / `--font-mono` stacks name Space Grotesk and
260
+ JetBrains Mono but the package does not ship them; either install
261
+ `@fontsource/space-grotesk` and `@fontsource/jetbrains-mono` yourself or
262
+ override the two tokens. See
263
+ [Customization](https://goplasmatic.github.io/datalogic-rs/react-ui/customization.html)
264
+ for the full token list.
167
265
 
168
266
  ## Development
169
267
 
170
268
  This package lives at `ui/` in the
171
- [datalogic-rs monorepo](https://github.com/GoPlasmatic/datalogic-rs). It
172
- depends on a locally-built `@goplasmatic/datalogic-wasm` WASM bundle — see
173
- [DEVELOPMENT.md](https://github.com/GoPlasmatic/datalogic-rs/blob/main/DEVELOPMENT.md)
174
- for the full link/install dance. Day-to-day, from the repo root:
269
+ [datalogic-rs monorepo](https://github.com/GoPlasmatic/datalogic-rs) and
270
+ bundles the WASM engine into its own output. It builds against the WASM
271
+ package vendored from the repo, not against a registry download: build the
272
+ WASM once, and the `predev` / `prebuild*` hooks copy `bindings/wasm/pkg` into
273
+ `ui/vendor/datalogic` on every run (`npm run sync-wasm`).
175
274
 
176
275
  ```bash
177
- cd ui
276
+ cd bindings/wasm && ./build.sh # once, and after any engine change
277
+ cd ../../ui
178
278
  npm install # install dependencies
179
- npm run dev # start the dev playground
180
- npm run build:lib # build the publishable library bundle
279
+ npm run dev # start the dev playground (Studio)
280
+ npm test # vitest: round trips, operator help, trace, samples
181
281
  npm run lint # run ESLint
282
+ npm run build:lib # build the publishable library bundle
283
+ npm run build:embed # build the docs-site embed bundle
182
284
  ```
183
285
 
286
+ `@goplasmatic/datalogic-wasm` is a devDependency pinned to the last published
287
+ release. Nothing in the build resolves it (Vite and the tsconfigs alias the
288
+ package to `vendor/datalogic`); the release workflow rewrites the pin to the
289
+ version being published. See
290
+ [DEVELOPMENT.md](https://github.com/GoPlasmatic/datalogic-rs/blob/main/DEVELOPMENT.md)
291
+ for the repo-wide pipeline.
292
+
293
+ ### Tests
294
+
295
+ `npm test` runs vitest against the vendored engine, so the checks are real
296
+ evaluations rather than fixtures:
297
+
298
+ - **Operator registry and help** (`config/__tests__`): every registry entry
299
+ matches `builtinOperatorNames()` from the engine, and every help example is
300
+ evaluated and compared to its documented result.
301
+ - **Round trips** (`utils/__tests__`): a corpus covering every operator plus
302
+ the shipped samples must survive `jsonLogicToNodes` to `nodesToJsonLogic`
303
+ unchanged and evaluate identically.
304
+ - **Trace** (`utils/trace/__tests__`): real `evaluateWithTrace` envelopes must
305
+ map onto the diagram with no synthetic nodes.
306
+ - **Samples, sharing, menus, evaluator** (`tests/`): each sample evaluates to
307
+ its stored expected result, share URLs round trip, and every operator is
308
+ reachable from the menus.
309
+
310
+ When you add an operator config example or a sample, give it the result the
311
+ engine actually produces; the suites will tell you if it drifts.
312
+
184
313
  ## Architecture
185
314
 
186
315
  The main component is `DataLogicEditor` which:
@@ -211,9 +340,11 @@ The main component is `DataLogicEditor` which:
211
340
  - React Flow (@xyflow/react)
212
341
  - @dagrejs/dagre (graph layout)
213
342
  - lucide-react (icons)
214
- - @msgpack/msgpack (data serialization)
215
- - fflate (compression)
216
- - @goplasmatic/datalogic-wasm (bundled, for WASM evaluation)
343
+ - @goplasmatic/datalogic-wasm (bundled into the library output)
344
+
345
+ The dev playground additionally uses @msgpack/msgpack and fflate for share
346
+ links and @fontsource for its fonts; those are devDependencies and are not
347
+ installed by consumers.
217
348
 
218
349
  ## Documentation
219
350
 
@@ -1,4 +1,4 @@
1
1
  import { DataLogicEditorProps } from './types';
2
- export declare function DataLogicEditor({ value, onChange, data, theme: themeProp, className, templating, onTemplatingChange, editable, exampleSuggestions, onSelectExample, }: DataLogicEditorProps): import("react").JSX.Element;
2
+ export declare function DataLogicEditor({ value, onChange, data, theme: themeProp, className, templating, onTemplatingChange, config, customOperators, editable, exampleSuggestions, onSelectExample, }: DataLogicEditorProps): import("react").JSX.Element;
3
3
  export default DataLogicEditor;
4
4
  //# sourceMappingURL=DataLogicEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataLogicEditor.d.ts","sourceRoot":"","sources":["../../../src/components/logic-editor/DataLogicEditor.tsx"],"names":[],"mappings":"AAWA,OAAO,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,oBAAoB,EAAwB,MAAM,SAAS,CAAC;AAmB1E,OAAO,oBAAoB,CAAC;AAC5B,OAAO,mBAAmB,CAAC;AAuS3B,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,KAAK,EAAE,SAAS,EAChB,SAAc,EACd,UAAkB,EAClB,kBAAkB,EAClB,QAAgB,EAChB,kBAAkB,EAClB,eAAe,GAChB,EAAE,oBAAoB,+BAiNtB;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"DataLogicEditor.d.ts","sourceRoot":"","sources":["../../../src/components/logic-editor/DataLogicEditor.tsx"],"names":[],"mappings":"AAWA,OAAO,6BAA6B,CAAC;AAErC,OAAO,KAAK,EACV,oBAAoB,EAIrB,MAAM,SAAS,CAAC;AAqBjB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,mBAAmB,CAAC;AA8hB3B,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,KAAK,EAAE,SAAS,EAChB,SAAc,EACd,UAAkB,EAClB,kBAAkB,EAClB,MAAM,EACN,eAAe,EACf,QAAgB,EAChB,kBAAkB,EAClB,eAAe,GAChB,EAAE,oBAAoB,+BA6CtB;AAED,eAAe,eAAe,CAAC"}
@@ -6,7 +6,14 @@ interface EditorToolbarProps {
6
6
  onTemplatingChange?: (value: boolean) => void;
7
7
  direction: FlowDirection;
8
8
  onDirectionChange?: (value: FlowDirection) => void;
9
+ /**
10
+ * One-line summary of the non-default engine settings in effect
11
+ * (see `summarizeEvaluationConfig`). Renders a compact indicator when set.
12
+ */
13
+ configSummary?: string | null;
14
+ /** Makes the engine-settings indicator clickable. */
15
+ onOpenEngineSettings?: () => void;
9
16
  }
10
- export declare const EditorToolbar: import('react').MemoExoticComponent<({ isEditMode, hasDebugger, templating, onTemplatingChange, direction, onDirectionChange, }: EditorToolbarProps) => import("react").JSX.Element>;
17
+ export declare const EditorToolbar: import('react').MemoExoticComponent<({ isEditMode, hasDebugger, templating, onTemplatingChange, direction, onDirectionChange, configSummary, onOpenEngineSettings, }: EditorToolbarProps) => import("react").JSX.Element>;
11
18
  export {};
12
19
  //# sourceMappingURL=EditorToolbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditorToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/logic-editor/EditorToolbar.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,UAAU,kBAAkB;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,aAAa,CAAC;IACzB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CACpD;AAED,eAAO,MAAM,aAAa,mIAOvB,kBAAkB,iCAqDnB,CAAC"}
1
+ {"version":3,"file":"EditorToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/logic-editor/EditorToolbar.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAO/C,UAAU,kBAAkB;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,aAAa,CAAC;IACzB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qDAAqD;IACrD,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;CACnC;AAsKD,eAAO,MAAM,aAAa,wKASvB,kBAAkB,iCA0EnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardHandler.d.ts","sourceRoot":"","sources":["../../../src/components/logic-editor/KeyboardHandler.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,wBAAgB,eAAe,SA6G9B;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"KeyboardHandler.d.ts","sourceRoot":"","sources":["../../../src/components/logic-editor/KeyboardHandler.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,wBAAgB,eAAe,SAuH9B;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { AritySpec } from './operators.types';
2
+ export declare function formatArity(arity: AritySpec): string;
3
+ //# sourceMappingURL=arity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arity.d.ts","sourceRoot":"","sources":["../../../../src/components/logic-editor/config/arity.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAenD,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAyBpD"}
@@ -1,4 +1,5 @@
1
1
  import { CategoryMeta, OperatorCategory } from './operators.types';
2
+ import { IconName } from '../utils/icons';
2
3
  export declare const categories: Record<OperatorCategory, CategoryMeta>;
3
4
  /**
4
5
  * Get category metadata by name
@@ -9,11 +10,15 @@ export declare function getCategory(name: OperatorCategory): CategoryMeta;
9
10
  */
10
11
  export declare function getAllCategories(): CategoryMeta[];
11
12
  /**
12
- * Get category icon
13
+ * Get category icon (falls back to 'list' for unknown categories)
13
14
  */
14
- export declare function getCategoryIcon(name: string): string;
15
+ export declare function getCategoryIcon(name: string): IconName;
15
16
  /**
16
17
  * Get category color
17
18
  */
18
19
  export declare function getCategoryColor(name: OperatorCategory): string;
20
+ /**
21
+ * Get the docs page slug for a category
22
+ */
23
+ export declare function getCategoryDocsPage(name: OperatorCategory): string;
19
24
  //# sourceMappingURL=categories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../../src/components/logic-editor/config/categories.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAExE,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,YAAY,CAqF7D,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,CAEhE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,EAAE,CAEjD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAE/D"}
1
+ {"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../../src/components/logic-editor/config/categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,YAAY,CA0G7D,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,YAAY,CAEhE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,EAAE,CAEjD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAEtD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAElE"}
@@ -0,0 +1,11 @@
1
+ import { Operator, OperatorCategory } from './operators.types';
2
+ export declare const DOCS_BASE_URL = "https://goplasmatic.github.io/datalogic-rs/operators/";
3
+ /** mdBook's heading-id normalisation. */
4
+ export declare function mdBookAnchor(heading: string): string;
5
+ /** Anchor for an operator's section on its docs page. */
6
+ export declare function getOperatorDocsAnchor(name: string): string;
7
+ /** Full URL of an operator's documentation section. */
8
+ export declare function getOperatorDocsUrl(name: string, category: OperatorCategory): string;
9
+ /** Convenience overload for a full operator config. */
10
+ export declare function getDocsUrlForOperator(op: Operator): string;
11
+ //# sourceMappingURL=docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../../../src/components/logic-editor/config/docs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGpE,eAAO,MAAM,aAAa,0DAA0D,CAAC;AAyBrF,yCAAyC;AACzC,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOpD;AAED,yDAAyD;AACzD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,uDAAuD;AACvD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAEnF;AAED,uDAAuD;AACvD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAE1D"}
@@ -3,4 +3,8 @@ import { PanelConfig } from './operators.types';
3
3
  * Panel configuration for editing literal values
4
4
  */
5
5
  export declare const literalPanelConfig: PanelConfig;
6
+ /**
7
+ * Panel configuration for structure (array / object) nodes
8
+ */
9
+ export declare const structurePanelConfig: PanelConfig;
6
10
  //# sourceMappingURL=literalPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"literalPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/logic-editor/config/literalPanel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WA+FhC,CAAC"}
1
+ {"version":3,"file":"literalPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/logic-editor/config/literalPanel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAA8B,MAAM,mBAAmB,CAAC;AA4GjF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAEhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAMlC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"arithmetic-basic.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/arithmetic-basic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAsR7D,CAAC"}
1
+ {"version":3,"file":"arithmetic-basic.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/arithmetic-basic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAuV7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"arithmetic-functions.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/arithmetic-functions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAgQhE,CAAC"}
1
+ {"version":3,"file":"arithmetic-functions.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/arithmetic-functions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAmShE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"array-iteration.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/array-iteration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAssB5D,CAAC"}
1
+ {"version":3,"file":"array-iteration.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/array-iteration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA4sB5D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"array-manipulation.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/array-manipulation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAsU/D,CAAC"}
1
+ {"version":3,"file":"array-manipulation.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/array-manipulation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAsY/D,CAAC"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Array operations and iteration.
5
5
  * - Iteration: map, filter, reduce, all, some, none
6
- * - Manipulation: merge, sort, slice
6
+ * - Manipulation: merge, sort, slice, group_by, distinct
7
7
  */
8
8
  export declare const arrayOperators: {
9
9
  [x: string]: import('../operators.types').Operator;
@@ -1 +1 @@
1
- {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/control.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAmkBrD,CAAC"}
1
+ {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/control.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA2kBrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/datetime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA0YtD,CAAC"}
1
+ {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/datetime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAyetD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA8JnD,CAAC"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAyLnD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Operator } from '../operators.types';
2
+ export declare const flagdOperators: Record<string, Operator>;
3
+ //# sourceMappingURL=flagd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flagd.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/flagd.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA4MnD,CAAC"}
@@ -11,7 +11,8 @@ import { datetimeOperators } from './datetime';
11
11
  import { validationOperators } from './validation';
12
12
  import { errorOperators } from './error';
13
13
  import { utilityOperators } from './utility';
14
- export { variableOperators, comparisonOperators, logicalOperators, arithmeticOperators, controlOperators, stringOperators, arrayOperators, objectOperators, datetimeOperators, validationOperators, errorOperators, utilityOperators, };
14
+ import { flagdOperators } from './flagd';
15
+ export { variableOperators, comparisonOperators, logicalOperators, arithmeticOperators, controlOperators, stringOperators, arrayOperators, objectOperators, datetimeOperators, validationOperators, errorOperators, utilityOperators, flagdOperators, };
15
16
  /**
16
17
  * Combined map of all operators by name
17
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG7C,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,GACjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAa9C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,QAAQ,EAAE,CAE7E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,GAAG,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAUjF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,CASzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAc9C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,QAAQ,EAAE,CAE7E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,GAAG,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAUjF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE,CASzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"logical.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/logical.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA8SrD,CAAC"}
1
+ {"version":3,"file":"logical.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/logical.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAyTrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"string-core.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/string-core.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAmMxD,CAAC"}
1
+ {"version":3,"file":"string-core.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/string-core.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAuNxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"string-transform.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/string-transform.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA4U7D,CAAC"}
1
+ {"version":3,"file":"string-transform.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/string-transform.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA0V7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/utility.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA0FrD,CAAC"}
1
+ {"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/utility.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAqGrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/validation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAmJxD,CAAC"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/validation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA0JxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"variable.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/variable.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAwXtD,CAAC"}
1
+ {"version":3,"file":"variable.d.ts","sourceRoot":"","sources":["../../../../../src/components/logic-editor/config/operators/variable.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAqZtD,CAAC"}
@@ -1,11 +1,5 @@
1
- /**
2
- * Operator Configuration Types
3
- *
4
- * This file defines the TypeScript interfaces for the operator configuration
5
- * that serves as the single source of truth for all operator documentation
6
- * and UI rendering.
7
- */
8
- export type OperatorCategory = 'variable' | 'comparison' | 'logical' | 'arithmetic' | 'control' | 'string' | 'array' | 'object' | 'datetime' | 'validation' | 'error' | 'utility';
1
+ import { IconName } from '../utils/icons';
2
+ export type OperatorCategory = 'variable' | 'comparison' | 'logical' | 'arithmetic' | 'control' | 'string' | 'array' | 'object' | 'datetime' | 'validation' | 'error' | 'utility' | 'flagd';
9
3
  export type ArityType = 'nullary' | 'unary' | 'binary' | 'ternary' | 'nary' | 'variadic' | 'chainable' | 'range' | 'special';
10
4
  export type ArgType = 'any' | 'number' | 'string' | 'boolean' | 'array' | 'object' | 'expression' | 'path' | 'datetime' | 'duration';
11
5
  export interface ArgSpec {
@@ -27,11 +21,16 @@ export interface OperatorExample {
27
21
  title: string;
28
22
  rule: unknown;
29
23
  data?: unknown;
24
+ /** Expected engine result. Omit (together with `error`) only for
25
+ * non-deterministic rules such as `now`, and say why in `note`. */
30
26
  result?: unknown;
27
+ /** Expected structured error `type` (e.g. "Thrown", "InvalidArguments"). */
31
28
  error?: {
32
29
  type: string;
33
30
  };
34
31
  note?: string;
32
+ /** Evaluate in templating mode (multi-key object literals only parse there). */
33
+ templating?: boolean;
35
34
  }
36
35
  export interface OperatorHelp {
37
36
  summary: string;
@@ -43,7 +42,8 @@ export interface OperatorHelp {
43
42
  }
44
43
  export type NodeType = 'operator' | 'variable' | 'literal' | 'decision' | 'vertical' | 'iterator' | 'structure';
45
44
  export interface OperatorUIHints {
46
- icon?: string;
45
+ /** Icon shown in the help header; falls back to the category icon. */
46
+ icon?: IconName;
47
47
  shortLabel?: string;
48
48
  nodeType?: NodeType;
49
49
  inlineEditable?: boolean;
@@ -51,7 +51,6 @@ export interface OperatorUIHints {
51
51
  collapsible?: boolean;
52
52
  scopeJump?: boolean;
53
53
  metadata?: boolean;
54
- datetimeProps?: boolean;
55
54
  iteratorContext?: boolean;
56
55
  addArgumentLabel?: string;
57
56
  }
@@ -74,7 +73,10 @@ export interface CategoryMeta {
74
73
  label: string;
75
74
  description: string;
76
75
  color: string;
77
- icon: string;
76
+ /** Node/help icon; must be a registered IconName so it can always render. */
77
+ icon: IconName;
78
+ /** Page slug under https://goplasmatic.github.io/datalogic-rs/operators/ */
79
+ docsPage: string;
78
80
  }
79
81
  /**
80
82
  * Input widget types for panel fields
@@ -1 +1 @@
1
- {"version":3,"file":"operators.types.d.ts","sourceRoot":"","sources":["../../../../src/components/logic-editor/config/operators.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operators.types.d.ts","sourceRoot":"","sources":["../../../../src/components/logic-editor/config/operators.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../../src/components/logic-editor/constants/colors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAGX,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAaxD,CAAC"}
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../../src/components/logic-editor/constants/colors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAGX,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAexD,CAAC"}