@tari-project/tari-extension-query-builder 0.0.4

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 (175) hide show
  1. package/LICENSE +29 -0
  2. package/README.md +1 -0
  3. package/components.json +21 -0
  4. package/dist/App.d.ts +3 -0
  5. package/dist/App.d.ts.map +1 -0
  6. package/dist/codegen/BuilderCodegen.d.ts +20 -0
  7. package/dist/codegen/BuilderCodegen.d.ts.map +1 -0
  8. package/dist/codegen/sample.d.ts +3 -0
  9. package/dist/codegen/sample.d.ts.map +1 -0
  10. package/dist/components/query-builder/edges/button-edge.d.ts +3 -0
  11. package/dist/components/query-builder/edges/button-edge.d.ts.map +1 -0
  12. package/dist/components/query-builder/input/call-input-checkbox.d.ts +11 -0
  13. package/dist/components/query-builder/input/call-input-checkbox.d.ts.map +1 -0
  14. package/dist/components/query-builder/input/call-input-select.d.ts +14 -0
  15. package/dist/components/query-builder/input/call-input-select.d.ts.map +1 -0
  16. package/dist/components/query-builder/input/call-input-text.d.ts +18 -0
  17. package/dist/components/query-builder/input/call-input-text.d.ts.map +1 -0
  18. package/dist/components/query-builder/input/call-input.d.ts +13 -0
  19. package/dist/components/query-builder/input/call-input.d.ts.map +1 -0
  20. package/dist/components/query-builder/nodes/call-node.types.d.ts +4 -0
  21. package/dist/components/query-builder/nodes/call-node.types.d.ts.map +1 -0
  22. package/dist/components/query-builder/nodes/constants.d.ts +5 -0
  23. package/dist/components/query-builder/nodes/constants.d.ts.map +1 -0
  24. package/dist/components/query-builder/nodes/enter-connection.d.ts +3 -0
  25. package/dist/components/query-builder/nodes/enter-connection.d.ts.map +1 -0
  26. package/dist/components/query-builder/nodes/exit-connection.d.ts +3 -0
  27. package/dist/components/query-builder/nodes/exit-connection.d.ts.map +1 -0
  28. package/dist/components/query-builder/nodes/generic/generic-node.d.ts +5 -0
  29. package/dist/components/query-builder/nodes/generic/generic-node.d.ts.map +1 -0
  30. package/dist/components/query-builder/nodes/generic/node-icon.d.ts +8 -0
  31. package/dist/components/query-builder/nodes/generic/node-icon.d.ts.map +1 -0
  32. package/dist/components/query-builder/nodes/generic-node.types.d.ts +6 -0
  33. package/dist/components/query-builder/nodes/generic-node.types.d.ts.map +1 -0
  34. package/dist/components/query-builder/nodes/input/constants.d.ts +2 -0
  35. package/dist/components/query-builder/nodes/input/constants.d.ts.map +1 -0
  36. package/dist/components/query-builder/nodes/input/editable-label.d.ts +9 -0
  37. package/dist/components/query-builder/nodes/input/editable-label.d.ts.map +1 -0
  38. package/dist/components/query-builder/nodes/input/input-params-node.d.ts +5 -0
  39. package/dist/components/query-builder/nodes/input/input-params-node.d.ts.map +1 -0
  40. package/dist/components/query-builder/query-builder.d.ts +13 -0
  41. package/dist/components/query-builder/query-builder.d.ts.map +1 -0
  42. package/dist/components/ui/alert-dialog.d.ts +15 -0
  43. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  44. package/dist/components/ui/badge.d.ts +10 -0
  45. package/dist/components/ui/badge.d.ts.map +1 -0
  46. package/dist/components/ui/button.d.ts +11 -0
  47. package/dist/components/ui/button.d.ts.map +1 -0
  48. package/dist/components/ui/checkbox.d.ts +5 -0
  49. package/dist/components/ui/checkbox.d.ts.map +1 -0
  50. package/dist/components/ui/dropdown-menu.d.ts +26 -0
  51. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  52. package/dist/components/ui/input.d.ts +4 -0
  53. package/dist/components/ui/input.d.ts.map +1 -0
  54. package/dist/components/ui/label.d.ts +5 -0
  55. package/dist/components/ui/label.d.ts.map +1 -0
  56. package/dist/components/ui/loading-spinner.d.ts +7 -0
  57. package/dist/components/ui/loading-spinner.d.ts.map +1 -0
  58. package/dist/components/ui/popover.d.ts +8 -0
  59. package/dist/components/ui/popover.d.ts.map +1 -0
  60. package/dist/components/ui/select.d.ts +16 -0
  61. package/dist/components/ui/select.d.ts.map +1 -0
  62. package/dist/components/ui/separator.d.ts +5 -0
  63. package/dist/components/ui/separator.d.ts.map +1 -0
  64. package/dist/components/ui/sonner.d.ts +4 -0
  65. package/dist/components/ui/sonner.d.ts.map +1 -0
  66. package/dist/components/ui/textarea.d.ts +4 -0
  67. package/dist/components/ui/textarea.d.ts.map +1 -0
  68. package/dist/components/ui/tooltip.d.ts +8 -0
  69. package/dist/components/ui/tooltip.d.ts.map +1 -0
  70. package/dist/execute/AmbiguousOrderError.d.ts +6 -0
  71. package/dist/execute/AmbiguousOrderError.d.ts.map +1 -0
  72. package/dist/execute/CycleDetectedError.d.ts +4 -0
  73. package/dist/execute/CycleDetectedError.d.ts.map +1 -0
  74. package/dist/execute/ExecutionPlanner.d.ts +30 -0
  75. package/dist/execute/ExecutionPlanner.d.ts.map +1 -0
  76. package/dist/execute/ExecutionPlanner.spec.d.ts +2 -0
  77. package/dist/execute/ExecutionPlanner.spec.d.ts.map +1 -0
  78. package/dist/execute/MissingDataError.d.ts +5 -0
  79. package/dist/execute/MissingDataError.d.ts.map +1 -0
  80. package/dist/execute/types.d.ts +65 -0
  81. package/dist/execute/types.d.ts.map +1 -0
  82. package/dist/index.d.ts +6 -0
  83. package/dist/index.d.ts.map +1 -0
  84. package/dist/lib/get-next-available.d.ts +2 -0
  85. package/dist/lib/get-next-available.d.ts.map +1 -0
  86. package/dist/lib/utils.d.ts +3 -0
  87. package/dist/lib/utils.d.ts.map +1 -0
  88. package/dist/main.d.ts +2 -0
  89. package/dist/main.d.ts.map +1 -0
  90. package/dist/query-builder/tari-type.d.ts +29 -0
  91. package/dist/query-builder/tari-type.d.ts.map +1 -0
  92. package/dist/query-builder/template-reader.d.ts +13 -0
  93. package/dist/query-builder/template-reader.d.ts.map +1 -0
  94. package/dist/store/persistence/handlers.d.ts +12 -0
  95. package/dist/store/persistence/handlers.d.ts.map +1 -0
  96. package/dist/store/persistence/types.d.ts +18 -0
  97. package/dist/store/persistence/types.d.ts.map +1 -0
  98. package/dist/store/persistence/v1_0.d.ts +5 -0
  99. package/dist/store/persistence/v1_0.d.ts.map +1 -0
  100. package/dist/store/store.d.ts +4 -0
  101. package/dist/store/store.d.ts.map +1 -0
  102. package/dist/store/types.d.ts +97 -0
  103. package/dist/store/types.d.ts.map +1 -0
  104. package/dist/tari-extension-query-builder.css +1 -0
  105. package/dist/tari-extension-query-builder.es.js +183368 -0
  106. package/dist/tari-extension-query-builder.umd.js +620 -0
  107. package/dist/types.d.ts +7 -0
  108. package/dist/types.d.ts.map +1 -0
  109. package/eslint.config.js +34 -0
  110. package/index.html +12 -0
  111. package/moon.yml +43 -0
  112. package/package.json +84 -0
  113. package/src/App.tsx +114 -0
  114. package/src/assets/react.svg +1 -0
  115. package/src/codegen/BuilderCodegen.ts +516 -0
  116. package/src/codegen/sample.ts +58 -0
  117. package/src/components/query-builder/edges/button-edge.tsx +50 -0
  118. package/src/components/query-builder/input/call-input-checkbox.tsx +54 -0
  119. package/src/components/query-builder/input/call-input-select.tsx +87 -0
  120. package/src/components/query-builder/input/call-input-text.tsx +98 -0
  121. package/src/components/query-builder/input/call-input.tsx +51 -0
  122. package/src/components/query-builder/nodes/call-node.types.ts +3 -0
  123. package/src/components/query-builder/nodes/constants.ts +4 -0
  124. package/src/components/query-builder/nodes/enter-connection.tsx +16 -0
  125. package/src/components/query-builder/nodes/exit-connection.tsx +16 -0
  126. package/src/components/query-builder/nodes/generic/generic-node.tsx +252 -0
  127. package/src/components/query-builder/nodes/generic/node-icon.tsx +37 -0
  128. package/src/components/query-builder/nodes/generic-node.types.ts +5 -0
  129. package/src/components/query-builder/nodes/input/constants.ts +1 -0
  130. package/src/components/query-builder/nodes/input/editable-label.tsx +142 -0
  131. package/src/components/query-builder/nodes/input/input-params-node.tsx +190 -0
  132. package/src/components/query-builder/query-builder.tsx +577 -0
  133. package/src/components/ui/alert-dialog.tsx +111 -0
  134. package/src/components/ui/badge.tsx +37 -0
  135. package/src/components/ui/button.tsx +50 -0
  136. package/src/components/ui/checkbox.tsx +27 -0
  137. package/src/components/ui/dropdown-menu.tsx +217 -0
  138. package/src/components/ui/input.tsx +21 -0
  139. package/src/components/ui/label.tsx +19 -0
  140. package/src/components/ui/loading-spinner.tsx +46 -0
  141. package/src/components/ui/popover.tsx +40 -0
  142. package/src/components/ui/select.tsx +158 -0
  143. package/src/components/ui/separator.tsx +26 -0
  144. package/src/components/ui/sonner.tsx +23 -0
  145. package/src/components/ui/textarea.tsx +18 -0
  146. package/src/components/ui/tooltip.tsx +46 -0
  147. package/src/execute/AmbiguousOrderError.ts +13 -0
  148. package/src/execute/CycleDetectedError.ts +7 -0
  149. package/src/execute/ExecutionPlanner.spec.ts +174 -0
  150. package/src/execute/ExecutionPlanner.ts +445 -0
  151. package/src/execute/MissingDataError.ts +10 -0
  152. package/src/execute/types.ts +87 -0
  153. package/src/index.css +124 -0
  154. package/src/index.ts +5 -0
  155. package/src/lib/get-next-available.ts +12 -0
  156. package/src/lib/utils.ts +6 -0
  157. package/src/main.tsx +13 -0
  158. package/src/query-builder/tari-type.ts +185 -0
  159. package/src/query-builder/template-reader.ts +69 -0
  160. package/src/root.css +4 -0
  161. package/src/store/persistence/handlers.ts +16 -0
  162. package/src/store/persistence/types.ts +14 -0
  163. package/src/store/persistence/v1_0.ts +35 -0
  164. package/src/store/store.ts +396 -0
  165. package/src/store/types.ts +115 -0
  166. package/src/stories/data/tari-swap-pool.json +317 -0
  167. package/src/stories/data/wallet-functions.json +580 -0
  168. package/src/types.ts +7 -0
  169. package/src/vite-env.d.ts +1 -0
  170. package/src/xy-theme.css +144 -0
  171. package/tsconfig.app.json +31 -0
  172. package/tsconfig.json +15 -0
  173. package/tsconfig.lib.json +13 -0
  174. package/tsconfig.node.json +24 -0
  175. package/vite.config.ts +35 -0
@@ -0,0 +1,144 @@
1
+ /* xyflow theme files. Delete these to start from our base */
2
+
3
+ .react-flow {
4
+ /* Custom Variables */
5
+ /* --xy-theme-selected: #f57dbd; */
6
+ /* --xy-theme-hover: #c5c5c5; */
7
+ --xy-theme-edge-hover: black;
8
+ --xy-theme-color-focus: #e8e8e8;
9
+
10
+ /* Built-in Variables see https://reactflow.dev/learn/customization/theming */
11
+ --xy-node-border-default: 1px solid #ededed;
12
+
13
+ --xy-node-boxshadow-default:
14
+ 0px 3.54px 4.55px 0px #00000005, 0px 3.54px 4.55px 0px #0000000d, 0px 0.51px 1.01px 0px #0000001a;
15
+
16
+ --xy-node-border-radius-default: 8px;
17
+
18
+ /* --xy-handle-background-color-default: #ffffff; */
19
+ /* --xy-handle-border-color-default: #aaaaaa; */
20
+
21
+ /* --xy-edge-label-color-default: #505050; */
22
+ }
23
+
24
+ .react-flow.dark {
25
+ --xy-node-boxshadow-default:
26
+ 0px 3.54px 4.55px 0px rgba(255, 255, 255, 0.05), 0px 3.54px 4.55px 0px rgba(255, 255, 255, 0.13),
27
+ 0px 0.51px 1.01px 0px rgba(255, 255, 255, 0.2);
28
+ --xy-theme-edge-hover: white;
29
+ --xy-theme-color-focus: #535353;
30
+ }
31
+
32
+ /* Customizing Default Theming */
33
+
34
+ .react-flow__node {
35
+ box-shadow: var(--xy-node-boxshadow-default);
36
+ border-radius: var(--xy-node-border-radius-default);
37
+ background-color: var(--xy-node-background-color-default);
38
+ display: flex;
39
+ justify-content: center;
40
+ align-items: center;
41
+ text-align: center;
42
+ padding: 10px;
43
+ font-size: 12px;
44
+ flex-direction: column;
45
+ border: var(--xy-node-border-default);
46
+ color: var(--xy-node-color, var(--xy-node-color-default));
47
+ }
48
+
49
+ .react-flow__node.selectable:focus {
50
+ box-shadow: 0px 0px 0px 4px var(--xy-theme-color-focus);
51
+ border-color: #d9d9d9;
52
+ }
53
+
54
+ .react-flow__node.selectable:focus:active {
55
+ box-shadow: var(--xy-node-boxshadow-default);
56
+ }
57
+
58
+ .react-flow__node.selectable:hover,
59
+ .react-flow__node.draggable:hover {
60
+ border-color: var(--xy-theme-hover);
61
+ }
62
+
63
+ .react-flow__node.selectable.selected {
64
+ border-color: var(--xy-theme-selected);
65
+ box-shadow: var(--xy-node-boxshadow-default);
66
+ }
67
+
68
+ .react-flow__node-group {
69
+ background-color: rgba(207, 182, 255, 0.4);
70
+ border-color: #9e86ed;
71
+ }
72
+
73
+ .react-flow__edge.selectable:hover .react-flow__edge-path,
74
+ .react-flow__edge.selectable.selected .react-flow__edge-path {
75
+ stroke: var(--xy-theme-edge-hover);
76
+ }
77
+
78
+ /** enter-connection start */
79
+ .enter-connection.react-flow__handle {
80
+ background-color: var(--xy-handle-background-color-default);
81
+ width: 17px;
82
+ height: 17px;
83
+ border-radius: 0;
84
+ clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
85
+ }
86
+ /** enter-connection end */
87
+
88
+ /** exit-connection start */
89
+ .exit-connection.react-flow__handle {
90
+ background-color: var(--xy-handle-background-color-default);
91
+ width: 17px;
92
+ height: 17px;
93
+ border-radius: 0;
94
+ clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
95
+ }
96
+ /** exit-connection end */
97
+
98
+ .react-flow__handle {
99
+ background-color: var(--xy-handle-background-color-default);
100
+ width: 16px;
101
+ height: 16px;
102
+ border-radius: 50%;
103
+ }
104
+
105
+ .react-flow__handle.connectionindicator:hover {
106
+ pointer-events: all;
107
+ border-color: var(--xy-theme-edge-hover);
108
+ background-color: white;
109
+ }
110
+
111
+ .react-flow__handle.connectionindicator:focus,
112
+ .react-flow__handle.connectingfrom,
113
+ .react-flow__handle.connectingto {
114
+ border-color: var(--xy-theme-edge-hover);
115
+ }
116
+
117
+ .react-flow__handle.connectingto {
118
+ background: #ff6060;
119
+ }
120
+
121
+ .react-flow__handle.valid {
122
+ background: #55dd99;
123
+ }
124
+
125
+ .react-flow__node-resizer {
126
+ border-radius: 0;
127
+ border: none;
128
+ }
129
+
130
+ .react-flow__resize-control.handle {
131
+ background-color: #ffffff;
132
+ border-color: #9e86ed;
133
+ border-radius: 0;
134
+ width: 5px;
135
+ height: 5px;
136
+ }
137
+
138
+ path.react-flow__edge-path {
139
+ stroke-width: 4;
140
+ }
141
+
142
+ path.react-flow__edge-path:hover {
143
+ stroke-width: 10;
144
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "compilerOptions": {
3
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
4
+ "target": "ES2020",
5
+ "useDefineForClassFields": true,
6
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
7
+ "module": "ESNext",
8
+ "skipLibCheck": true,
9
+
10
+ "baseUrl": ".",
11
+ "paths": {
12
+ "@/*": ["./src/*"]
13
+ },
14
+
15
+ /* Bundler mode */
16
+ "moduleResolution": "bundler",
17
+ "allowImportingTsExtensions": true,
18
+ "isolatedModules": true,
19
+ "moduleDetection": "force",
20
+ "noEmit": true,
21
+ "jsx": "react-jsx",
22
+
23
+ /* Linting */
24
+ "strict": true,
25
+ "noUnusedLocals": true,
26
+ "noUnusedParameters": true,
27
+ "noFallthroughCasesInSwitch": true,
28
+ "noUncheckedSideEffectImports": true
29
+ },
30
+ "include": ["src"]
31
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,15 @@
1
+ {
2
+ "files": [],
3
+ "references": [
4
+ { "path": "./tsconfig.app.json" },
5
+ { "path": "./tsconfig.node.json" },
6
+ { "path": "./tsconfig.lib.json" },
7
+ { "path": "../tari-extension-common" }
8
+ ],
9
+ "compilerOptions": {
10
+ "baseUrl": ".",
11
+ "paths": {
12
+ "@/*": ["./src/*"]
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "extends": "./tsconfig.app.json",
3
+ "compilerOptions": {
4
+ "outDir": "dist",
5
+ "declaration": true, // Generate .d.ts files
6
+ "declarationMap": true, // Optional: Include source maps for .d.ts files
7
+ "emitDeclarationOnly": true, // Only emit type declarations
8
+ "noEmit": false, // Ensure TypeScript actually outputs files
9
+ "skipLibCheck": true,
10
+ "stripInternal": true // Optional: Remove @internal types from .d.ts
11
+ },
12
+ "include": ["src"]
13
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "compilerOptions": {
3
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
4
+ "target": "ES2022",
5
+ "lib": ["ES2023"],
6
+ "module": "ESNext",
7
+ "skipLibCheck": true,
8
+
9
+ /* Bundler mode */
10
+ "moduleResolution": "bundler",
11
+ "allowImportingTsExtensions": true,
12
+ "isolatedModules": true,
13
+ "moduleDetection": "force",
14
+ "noEmit": true,
15
+
16
+ /* Linting */
17
+ "strict": true,
18
+ "noUnusedLocals": true,
19
+ "noUnusedParameters": true,
20
+ "noFallthroughCasesInSwitch": true,
21
+ "noUncheckedSideEffectImports": true
22
+ },
23
+ "include": ["vite.config.ts"]
24
+ }
package/vite.config.ts ADDED
@@ -0,0 +1,35 @@
1
+ import path from "path";
2
+ import tailwindcss from "@tailwindcss/vite";
3
+ import { defineConfig } from "vite";
4
+ import react from "@vitejs/plugin-react";
5
+ import dts from "vite-plugin-dts";
6
+
7
+ const isLibrary = process.env.BUILD_LIB === "true";
8
+
9
+ export default defineConfig({
10
+ plugins: [react(), tailwindcss(), isLibrary && dts({ tsconfigPath: "tsconfig.lib.json" })].filter(Boolean),
11
+ resolve: {
12
+ alias: {
13
+ "@": path.resolve(__dirname, "./src"),
14
+ },
15
+ },
16
+ build: isLibrary
17
+ ? {
18
+ lib: {
19
+ entry: path.resolve(__dirname, "src/index.ts"),
20
+ name: "TariExtensionQueryBuilderLibrary",
21
+ fileName: (format) => `tari-extension-query-builder.${format}.js`,
22
+ },
23
+ rollupOptions: {
24
+ external: ["react", "react-dom", "react-flow-renderer"],
25
+ output: {
26
+ globals: {
27
+ react: "React",
28
+ "react-dom": "ReactDOM",
29
+ "react-flow-renderer": "ReactFlowRenderer",
30
+ },
31
+ },
32
+ },
33
+ }
34
+ : undefined,
35
+ });