datool 0.0.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 (45) hide show
  1. package/README.md +218 -0
  2. package/client-dist/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2 +0 -0
  3. package/client-dist/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2 +0 -0
  4. package/client-dist/assets/geist-latin-wght-normal-Dm3htQBi.woff2 +0 -0
  5. package/client-dist/assets/index-BeRNeRUq.css +1 -0
  6. package/client-dist/assets/index-uoZ4c_I8.js +164 -0
  7. package/client-dist/index.html +13 -0
  8. package/index.html +12 -0
  9. package/package.json +55 -0
  10. package/src/client/App.tsx +885 -0
  11. package/src/client/components/connection-status.tsx +43 -0
  12. package/src/client/components/data-table-cell.tsx +235 -0
  13. package/src/client/components/data-table-col-icon.tsx +73 -0
  14. package/src/client/components/data-table-header-col.tsx +225 -0
  15. package/src/client/components/data-table-search-input.tsx +729 -0
  16. package/src/client/components/data-table.tsx +2014 -0
  17. package/src/client/components/stream-controls.tsx +157 -0
  18. package/src/client/components/theme-provider.tsx +230 -0
  19. package/src/client/components/ui/button.tsx +68 -0
  20. package/src/client/components/ui/combobox.tsx +308 -0
  21. package/src/client/components/ui/context-menu.tsx +261 -0
  22. package/src/client/components/ui/dropdown-menu.tsx +267 -0
  23. package/src/client/components/ui/input-group.tsx +153 -0
  24. package/src/client/components/ui/input.tsx +19 -0
  25. package/src/client/components/ui/textarea.tsx +18 -0
  26. package/src/client/components/viewer-settings.tsx +185 -0
  27. package/src/client/index.css +192 -0
  28. package/src/client/lib/data-table-search.ts +750 -0
  29. package/src/client/lib/datool-icons.ts +37 -0
  30. package/src/client/lib/datool-url-state.ts +159 -0
  31. package/src/client/lib/filterable-table.ts +146 -0
  32. package/src/client/lib/table-search-persistence.ts +94 -0
  33. package/src/client/lib/utils.ts +6 -0
  34. package/src/client/main.tsx +14 -0
  35. package/src/index.ts +19 -0
  36. package/src/node/cli.ts +54 -0
  37. package/src/node/config.ts +231 -0
  38. package/src/node/lines.ts +82 -0
  39. package/src/node/runtime.ts +102 -0
  40. package/src/node/server.ts +403 -0
  41. package/src/node/sources/command.ts +82 -0
  42. package/src/node/sources/file.ts +116 -0
  43. package/src/node/sources/ssh.ts +59 -0
  44. package/src/shared/columns.ts +41 -0
  45. package/src/shared/types.ts +188 -0
@@ -0,0 +1,192 @@
1
+ @import "tailwindcss";
2
+ @import "tw-animate-css";
3
+ @import "shadcn/tailwind.css";
4
+ @import "@fontsource-variable/geist";
5
+
6
+ @custom-variant dark (&:is(.dark *));
7
+
8
+ :root {
9
+ --background: oklch(1 0 0);
10
+ --foreground: oklch(0.141 0.005 285.823);
11
+ --card: oklch(1 0 0);
12
+ --card-foreground: oklch(0.141 0.005 285.823);
13
+ --popover: oklch(1 0 0);
14
+ --popover-foreground: oklch(0.141 0.005 285.823);
15
+ --primary: oklch(0.496 0.265 301.924);
16
+ --primary-foreground: oklch(0.977 0.014 308.299);
17
+ --secondary: oklch(0.967 0.001 286.375);
18
+ --secondary-foreground: oklch(0.21 0.006 285.885);
19
+ --muted: oklch(0.967 0.001 286.375);
20
+ --muted-foreground: oklch(0.552 0.016 285.938);
21
+ --accent: oklch(0.967 0.001 286.375);
22
+ --accent-foreground: oklch(0.21 0.006 285.885);
23
+ --destructive: oklch(0.577 0.245 27.325);
24
+ --border: oklch(0.92 0.004 286.32);
25
+ --input: oklch(0.92 0.004 286.32);
26
+ --ring: oklch(0.705 0.015 286.067);
27
+ --chart-1: oklch(0.827 0.119 306.383);
28
+ --chart-2: oklch(0.627 0.265 303.9);
29
+ --chart-3: oklch(0.558 0.288 302.321);
30
+ --chart-4: oklch(0.496 0.265 301.924);
31
+ --chart-5: oklch(0.438 0.218 303.724);
32
+ --radius: 0.45rem;
33
+ --sidebar: oklch(0.985 0 0);
34
+ --sidebar-foreground: oklch(0.141 0.005 285.823);
35
+ --sidebar-primary: oklch(0.558 0.288 302.321);
36
+ --sidebar-primary-foreground: oklch(0.977 0.014 308.299);
37
+ --sidebar-accent: oklch(0.967 0.001 286.375);
38
+ --sidebar-accent-foreground: oklch(0.21 0.006 285.885);
39
+ --sidebar-border: oklch(0.92 0.004 286.32);
40
+ --sidebar-ring: oklch(0.705 0.015 286.067);
41
+ }
42
+
43
+ .dark {
44
+ --background: oklch(0.141 0.005 285.823);
45
+ --foreground: oklch(0.985 0 0);
46
+ --card: oklch(0.21 0.006 285.885);
47
+ --card-foreground: oklch(0.985 0 0);
48
+ --popover: oklch(0.21 0.006 285.885);
49
+ --popover-foreground: oklch(0.985 0 0);
50
+ --primary: oklch(0.438 0.218 303.724);
51
+ --primary-foreground: oklch(0.977 0.014 308.299);
52
+ --secondary: oklch(0.274 0.006 286.033);
53
+ --secondary-foreground: oklch(0.985 0 0);
54
+ --muted: oklch(0.274 0.006 286.033);
55
+ --muted-foreground: oklch(0.705 0.015 286.067);
56
+ --accent: oklch(0.274 0.006 286.033);
57
+ --accent-foreground: oklch(0.985 0 0);
58
+ --destructive: oklch(0.704 0.191 22.216);
59
+ --border: oklch(1 0 0 / 10%);
60
+ --input: oklch(1 0 0 / 15%);
61
+ --ring: oklch(0.552 0.016 285.938);
62
+ --chart-1: oklch(0.827 0.119 306.383);
63
+ --chart-2: oklch(0.627 0.265 303.9);
64
+ --chart-3: oklch(0.558 0.288 302.321);
65
+ --chart-4: oklch(0.496 0.265 301.924);
66
+ --chart-5: oklch(0.438 0.218 303.724);
67
+ --sidebar: oklch(0.21 0.006 285.885);
68
+ --sidebar-foreground: oklch(0.985 0 0);
69
+ --sidebar-primary: oklch(0.627 0.265 303.9);
70
+ --sidebar-primary-foreground: oklch(0.977 0.014 308.299);
71
+ --sidebar-accent: oklch(0.274 0.006 286.033);
72
+ --sidebar-accent-foreground: oklch(0.985 0 0);
73
+ --sidebar-border: oklch(1 0 0 / 10%);
74
+ --sidebar-ring: oklch(0.552 0.016 285.938);
75
+ }
76
+
77
+ @theme inline {
78
+ --font-sans: "Geist Variable", sans-serif;
79
+ --color-sidebar-ring: var(--sidebar-ring);
80
+ --color-sidebar-border: var(--sidebar-border);
81
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
82
+ --color-sidebar-accent: var(--sidebar-accent);
83
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
84
+ --color-sidebar-primary: var(--sidebar-primary);
85
+ --color-sidebar-foreground: var(--sidebar-foreground);
86
+ --color-sidebar: var(--sidebar);
87
+ --color-chart-5: var(--chart-5);
88
+ --color-chart-4: var(--chart-4);
89
+ --color-chart-3: var(--chart-3);
90
+ --color-chart-2: var(--chart-2);
91
+ --color-chart-1: var(--chart-1);
92
+ --color-ring: var(--ring);
93
+ --color-input: var(--input);
94
+ --color-border: var(--border);
95
+ --color-destructive: var(--destructive);
96
+ --color-accent-foreground: var(--accent-foreground);
97
+ --color-accent: var(--accent);
98
+ --color-muted-foreground: var(--muted-foreground);
99
+ --color-muted: var(--muted);
100
+ --color-secondary-foreground: var(--secondary-foreground);
101
+ --color-secondary: var(--secondary);
102
+ --color-primary-foreground: var(--primary-foreground);
103
+ --color-primary: var(--primary);
104
+ --color-popover-foreground: var(--popover-foreground);
105
+ --color-popover: var(--popover);
106
+ --color-card-foreground: var(--card-foreground);
107
+ --color-card: var(--card);
108
+ --color-foreground: var(--foreground);
109
+ --color-background: var(--background);
110
+ --radius-sm: calc(var(--radius) * 0.6);
111
+ --radius-md: calc(var(--radius) * 0.8);
112
+ --radius-lg: var(--radius);
113
+ --radius-xl: calc(var(--radius) * 1.4);
114
+ --radius-2xl: calc(var(--radius) * 1.8);
115
+ --radius-3xl: calc(var(--radius) * 2.2);
116
+ --radius-4xl: calc(var(--radius) * 2.6);
117
+ }
118
+
119
+ @layer base {
120
+ html,
121
+ body,
122
+ #root {
123
+ @apply h-full min-h-full;
124
+ }
125
+ * {
126
+ @apply border-border outline-ring/50;
127
+ }
128
+ body {
129
+ @apply bg-background text-foreground;
130
+ }
131
+ html {
132
+ @apply font-sans;
133
+ }
134
+ }
135
+
136
+ @layer components {
137
+ .data-table-search-input-editor,
138
+ .log-search-editor {
139
+ scrollbar-width: none;
140
+ }
141
+
142
+ .data-table-search-input-editor::-webkit-scrollbar,
143
+ .log-search-editor::-webkit-scrollbar {
144
+ display: none;
145
+ }
146
+
147
+ .data-table-search-input-editor p,
148
+ .log-search-editor p {
149
+ min-width: max-content;
150
+ }
151
+
152
+ .data-table-search-input-editor p.is-editor-empty:first-child::before,
153
+ .log-search-editor p.is-editor-empty:first-child::before {
154
+ content: attr(data-placeholder);
155
+ color: var(--color-muted-foreground);
156
+ pointer-events: none;
157
+ float: left;
158
+ height: 0;
159
+ }
160
+
161
+ .data-table-search-input-editor .data-table-search-input-selector-token,
162
+ .log-search-editor .log-search-selector-token {
163
+ margin: 0 0.05rem;
164
+ border: 1px solid color-mix(in oklab, var(--color-border) 70%, transparent);
165
+ border-radius: calc(var(--radius-sm) - 1px);
166
+ background: color-mix(in oklab, var(--color-primary) 10%, transparent);
167
+ padding: 0.05rem 0.3rem;
168
+ font-family: inherit;
169
+ font-size: 0.95em;
170
+ font-weight: 500;
171
+ color: color-mix(
172
+ in oklab,
173
+ var(--color-primary) 70%,
174
+ var(--color-foreground)
175
+ );
176
+ }
177
+
178
+ .dark .data-table-search-input-editor .data-table-search-input-selector-token,
179
+ .dark .log-search-editor .log-search-selector-token {
180
+ background: color-mix(in oklab, var(--color-primary) 18%, transparent);
181
+ border-color: color-mix(
182
+ in oklab,
183
+ var(--color-primary) 28%,
184
+ var(--color-border)
185
+ );
186
+ color: color-mix(
187
+ in oklab,
188
+ var(--color-primary-foreground) 70%,
189
+ var(--color-foreground)
190
+ );
191
+ }
192
+ }