@rozenite/sqlite-plugin 1.13.0 → 2.1.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.
- package/CHANGELOG.md +23 -0
- package/dist/devtools/assets/panel-BarPLQ4-.css +1 -0
- package/dist/devtools/assets/{panel-DjRs5NTl.js → panel-BsdCagVv.js} +45 -44
- package/dist/devtools/panel.html +2 -2
- package/dist/react-native/chunks/index.require.js +4 -16
- package/dist/react-native/chunks/sql.require.js +1 -3
- package/dist/react-native/chunks/useRozeniteSqlitePlugin.require.js +92 -110
- package/dist/react-native/index.d.ts +2 -2
- package/dist/rozenite.json +1 -1
- package/package.json +27 -31
- package/react-native.ts +7 -14
- package/src/react-native/adapters/__tests__/expo-sqlite.test.ts +4 -14
- package/src/react-native/adapters/expo-sqlite.ts +11 -40
- package/src/react-native/adapters/generic.ts +5 -13
- package/src/react-native/adapters/index.ts +1 -4
- package/src/react-native/sqlite-view.ts +2 -8
- package/src/react-native/useRozeniteSqlitePlugin.ts +110 -130
- package/src/react-native/useSqliteAgentTools.ts +5 -14
- package/src/shared/__tests__/bridge-values.test.ts +6 -11
- package/src/shared/__tests__/sql.test.ts +4 -8
- package/src/shared/bridge-values.ts +2 -5
- package/src/shared/sql.ts +3 -7
- package/src/ui/__tests__/sql-editor-utils.test.ts +1 -5
- package/src/ui/__tests__/sqlite-drop-mutations.test.ts +138 -0
- package/src/ui/__tests__/sqlite-row-mutations.test.ts +1 -3
- package/src/ui/__tests__/sqlite-table-column-order.test.ts +4 -19
- package/src/ui/cell-detail-drawer.tsx +1 -6
- package/src/ui/globals.css +26 -65
- package/src/ui/panel.tsx +442 -568
- package/src/ui/query-result-table.tsx +8 -26
- package/src/ui/sql-editor-utils.ts +24 -55
- package/src/ui/sql-editor.tsx +13 -46
- package/src/ui/sqlite-data-table.tsx +11 -28
- package/src/ui/sqlite-drop-modal.tsx +193 -0
- package/src/ui/sqlite-drop-mutations.ts +53 -0
- package/src/ui/sqlite-introspection.ts +9 -25
- package/src/ui/sqlite-row-delete-modal.tsx +5 -12
- package/src/ui/sqlite-row-edit-modal.tsx +22 -64
- package/src/ui/sqlite-row-edit-value.ts +2 -11
- package/src/ui/sqlite-row-mutations.ts +10 -32
- package/src/ui/sqlite-table-column-order.ts +8 -23
- package/src/ui/use-sqlite-requests.ts +46 -86
- package/src/ui/utils.ts +1 -5
- package/src/ui/value-utils.tsx +3 -11
- package/dist/devtools/assets/panel-CIU0JBOs.css +0 -1
- package/postcss.config.js +0 -6
package/src/ui/globals.css
CHANGED
|
@@ -41,19 +41,10 @@
|
|
|
41
41
|
body {
|
|
42
42
|
margin: 0;
|
|
43
43
|
font-size: 14px;
|
|
44
|
-
font-family:
|
|
45
|
-
'IBM Plex Sans', 'Satoshi', 'Inter', ui-sans-serif, system-ui, sans-serif;
|
|
44
|
+
font-family: 'IBM Plex Sans', 'Satoshi', 'Inter', ui-sans-serif, system-ui, sans-serif;
|
|
46
45
|
background:
|
|
47
|
-
radial-gradient(
|
|
48
|
-
|
|
49
|
-
rgba(130, 50, 255, 0.18),
|
|
50
|
-
transparent 22%
|
|
51
|
-
),
|
|
52
|
-
radial-gradient(
|
|
53
|
-
circle at right,
|
|
54
|
-
rgba(70, 193, 190, 0.08),
|
|
55
|
-
transparent 18%
|
|
56
|
-
),
|
|
46
|
+
radial-gradient(circle at top left, rgba(130, 50, 255, 0.18), transparent 22%),
|
|
47
|
+
radial-gradient(circle at right, rgba(70, 193, 190, 0.08), transparent 18%),
|
|
57
48
|
linear-gradient(180deg, #07111a 0%, #091520 52%, #07111a 100%);
|
|
58
49
|
color: var(--sqlite-text);
|
|
59
50
|
text-rendering: optimizeLegibility;
|
|
@@ -81,9 +72,7 @@
|
|
|
81
72
|
.sqlite-tabular,
|
|
82
73
|
.sqlite-editor-shell .cm-scroller,
|
|
83
74
|
.sqlite-editor-shell .cm-gutters {
|
|
84
|
-
font-family:
|
|
85
|
-
'IBM Plex Mono', 'JetBrains Mono', 'SFMono-Regular', ui-monospace,
|
|
86
|
-
monospace;
|
|
75
|
+
font-family: 'IBM Plex Mono', 'JetBrains Mono', 'SFMono-Regular', ui-monospace, monospace;
|
|
87
76
|
font-variant-numeric: tabular-nums;
|
|
88
77
|
}
|
|
89
78
|
}
|
|
@@ -145,19 +134,12 @@
|
|
|
145
134
|
inset: 0;
|
|
146
135
|
pointer-events: none;
|
|
147
136
|
border-radius: inherit;
|
|
148
|
-
background: linear-gradient(
|
|
149
|
-
180deg,
|
|
150
|
-
rgba(255, 255, 255, 0.05),
|
|
151
|
-
transparent 18%
|
|
152
|
-
);
|
|
137
|
+
background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 18%);
|
|
153
138
|
}
|
|
154
139
|
|
|
155
140
|
.sqlite-topbar {
|
|
156
141
|
display: grid;
|
|
157
|
-
grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr) minmax(
|
|
158
|
-
0,
|
|
159
|
-
1.2fr
|
|
160
|
-
);
|
|
142
|
+
grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr) minmax(0, 1.2fr);
|
|
161
143
|
gap: 0.9rem;
|
|
162
144
|
align-items: center;
|
|
163
145
|
padding: 0.9rem 1rem;
|
|
@@ -190,11 +172,7 @@
|
|
|
190
172
|
height: 2.5rem;
|
|
191
173
|
border-radius: 0.95rem;
|
|
192
174
|
border: 1px solid rgba(130, 50, 255, 0.28);
|
|
193
|
-
background: linear-gradient(
|
|
194
|
-
180deg,
|
|
195
|
-
rgba(130, 50, 255, 0.24),
|
|
196
|
-
rgba(105, 33, 214, 0.18)
|
|
197
|
-
);
|
|
175
|
+
background: linear-gradient(180deg, rgba(130, 50, 255, 0.24), rgba(105, 33, 214, 0.18));
|
|
198
176
|
color: white;
|
|
199
177
|
}
|
|
200
178
|
|
|
@@ -236,11 +214,7 @@
|
|
|
236
214
|
width: 100%;
|
|
237
215
|
border: 1px solid var(--sqlite-line);
|
|
238
216
|
border-radius: 0.95rem;
|
|
239
|
-
background: linear-gradient(
|
|
240
|
-
180deg,
|
|
241
|
-
rgba(10, 18, 29, 0.98),
|
|
242
|
-
rgba(11, 22, 34, 0.98)
|
|
243
|
-
);
|
|
217
|
+
background: linear-gradient(180deg, rgba(10, 18, 29, 0.98), rgba(11, 22, 34, 0.98));
|
|
244
218
|
color: var(--sqlite-text);
|
|
245
219
|
box-shadow:
|
|
246
220
|
inset 0 1px 0 rgba(255, 255, 255, 0.025),
|
|
@@ -353,21 +327,13 @@
|
|
|
353
327
|
|
|
354
328
|
.sqlite-button-primary {
|
|
355
329
|
border-color: rgba(130, 50, 255, 0.3);
|
|
356
|
-
background: linear-gradient(
|
|
357
|
-
180deg,
|
|
358
|
-
rgba(130, 50, 255, 0.98),
|
|
359
|
-
rgba(105, 33, 214, 0.94)
|
|
360
|
-
);
|
|
330
|
+
background: linear-gradient(180deg, rgba(130, 50, 255, 0.98), rgba(105, 33, 214, 0.94));
|
|
361
331
|
color: white;
|
|
362
332
|
box-shadow: 0 12px 32px rgba(72, 28, 142, 0.3);
|
|
363
333
|
}
|
|
364
334
|
|
|
365
335
|
.sqlite-button-primary:hover:not(:disabled) {
|
|
366
|
-
background: linear-gradient(
|
|
367
|
-
180deg,
|
|
368
|
-
rgba(145, 74, 255, 0.98),
|
|
369
|
-
rgba(114, 42, 227, 0.96)
|
|
370
|
-
);
|
|
336
|
+
background: linear-gradient(180deg, rgba(145, 74, 255, 0.98), rgba(114, 42, 227, 0.96));
|
|
371
337
|
}
|
|
372
338
|
|
|
373
339
|
.sqlite-button-secondary,
|
|
@@ -399,6 +365,18 @@
|
|
|
399
365
|
flex-shrink: 0;
|
|
400
366
|
}
|
|
401
367
|
|
|
368
|
+
.sqlite-button-danger {
|
|
369
|
+
border-color: rgba(255, 100, 100, 0.35);
|
|
370
|
+
background: rgba(255, 90, 90, 0.14);
|
|
371
|
+
color: rgba(255, 214, 214, 0.95);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
.sqlite-button-danger:hover:not(:disabled) {
|
|
375
|
+
border-color: rgba(255, 120, 120, 0.55);
|
|
376
|
+
background: rgba(255, 90, 90, 0.22);
|
|
377
|
+
color: white;
|
|
378
|
+
}
|
|
379
|
+
|
|
402
380
|
.sqlite-badge,
|
|
403
381
|
.sqlite-chip,
|
|
404
382
|
.sqlite-count-pill {
|
|
@@ -561,12 +539,7 @@
|
|
|
561
539
|
position: absolute;
|
|
562
540
|
inset: 0;
|
|
563
541
|
transform: translateX(-100%);
|
|
564
|
-
background: linear-gradient(
|
|
565
|
-
90deg,
|
|
566
|
-
transparent,
|
|
567
|
-
rgba(255, 255, 255, 0.12),
|
|
568
|
-
transparent
|
|
569
|
-
);
|
|
542
|
+
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.12), transparent);
|
|
570
543
|
animation: sqlite-shimmer 1.2s linear infinite;
|
|
571
544
|
}
|
|
572
545
|
|
|
@@ -741,11 +714,7 @@
|
|
|
741
714
|
.sqlite-editor-frame {
|
|
742
715
|
border: 1px solid var(--sqlite-line);
|
|
743
716
|
border-radius: 1.25rem;
|
|
744
|
-
background: linear-gradient(
|
|
745
|
-
180deg,
|
|
746
|
-
rgba(10, 18, 29, 0.98),
|
|
747
|
-
rgba(8, 15, 24, 0.98)
|
|
748
|
-
);
|
|
717
|
+
background: linear-gradient(180deg, rgba(10, 18, 29, 0.98), rgba(8, 15, 24, 0.98));
|
|
749
718
|
}
|
|
750
719
|
|
|
751
720
|
.sqlite-content-stack,
|
|
@@ -879,11 +848,7 @@
|
|
|
879
848
|
}
|
|
880
849
|
|
|
881
850
|
.sqlite-editor-shell .cm-sqlite-errorLine {
|
|
882
|
-
background: linear-gradient(
|
|
883
|
-
90deg,
|
|
884
|
-
rgba(255, 123, 123, 0.16),
|
|
885
|
-
rgba(255, 123, 123, 0.08)
|
|
886
|
-
);
|
|
851
|
+
background: linear-gradient(90deg, rgba(255, 123, 123, 0.16), rgba(255, 123, 123, 0.08));
|
|
887
852
|
}
|
|
888
853
|
|
|
889
854
|
.sqlite-editor-shell .cm-tooltip-autocomplete {
|
|
@@ -1345,11 +1310,7 @@
|
|
|
1345
1310
|
.sqlite-panel-shell .drawer__dialog,
|
|
1346
1311
|
.sqlite-panel-shell .modal__dialog {
|
|
1347
1312
|
border-color: var(--sqlite-line-strong);
|
|
1348
|
-
background: linear-gradient(
|
|
1349
|
-
180deg,
|
|
1350
|
-
rgba(11, 20, 30, 0.98),
|
|
1351
|
-
rgba(7, 13, 21, 0.98)
|
|
1352
|
-
);
|
|
1313
|
+
background: linear-gradient(180deg, rgba(11, 20, 30, 0.98), rgba(7, 13, 21, 0.98));
|
|
1353
1314
|
box-shadow: 0 28px 80px rgba(0, 0, 0, 0.48);
|
|
1354
1315
|
}
|
|
1355
1316
|
|