@svgrid/enterprise 3.1.16 → 3.1.18
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/dist/SvGridEditPanel.svelte +14 -1
- package/dist/SvGridScheduler.svelte +15 -6
- package/dist/SvSheet.svelte +2 -0
- package/dist/cdn/svgrid-enterprise.svelte-external.js +6582 -6501
- package/dist/designer/assets/{index-C0GDyyFs.js → index-DKudY-XD.js} +357 -346
- package/dist/designer/assets/index-WCxj6WfJ.css +1 -0
- package/dist/designer/index.html +2 -2
- package/dist/fields/SvBase.svelte +36 -33
- package/dist/fields/base-connect.js +50 -9
- package/dist/fields/base-sql.d.ts +8 -0
- package/dist/fields/base-sql.js +12 -3
- package/dist/install.js +3 -3
- package/dist/node/studio.js +205 -60
- package/dist/sheet-enable.d.ts +8 -2
- package/dist/sheet-enable.js +21 -9
- package/dist/sources/introspect-supabase.d.ts +6 -3
- package/dist/sources/introspect-supabase.js +29 -11
- package/dist/sources/supabase.d.ts +10 -0
- package/dist/sources/supabase.js +11 -2
- package/dist/studio/cli.d.ts +9 -0
- package/dist/studio/cli.js +41 -7
- package/dist/studio/emit-project.d.ts +3 -1
- package/dist/studio/emit-project.js +84 -33
- package/dist/studio/emit-schema.js +9 -2
- package/dist/studio/index.d.ts +1 -1
- package/dist/studio/init-flow.d.ts +7 -0
- package/dist/studio/init-flow.js +23 -2
- package/dist/studio/introspect-db.d.ts +15 -1
- package/dist/studio/introspect-db.js +29 -5
- package/dist/sveltekit/sql-source.d.ts +24 -0
- package/dist/sveltekit/sql-source.js +34 -1
- package/dist/sveltekit/sql.js +14 -2
- package/dist/version.d.ts +2 -2
- package/dist/version.js +2 -2
- package/dist/wc/GridFooter-BgoA77TJ.js +145 -0
- package/dist/wc/{GridMenus-q9qYpzKh.js → GridMenus-DVGuqp2l.js} +430 -430
- package/dist/wc/{PinSplitter-D-qtDhSM.js → PinSplitter-Btco0txr.js} +24 -24
- package/dist/wc/{SvChartMenu-CQNrQGT2.js → SvChartMenu-Ue-HFR5c.js} +58 -58
- package/dist/wc/{SvDateRangeInput-BYNOfYxD.js → SvDateRangeInput-CJZohgBe.js} +43 -43
- package/dist/wc/{SvDateTimePicker-Bq9N0Oiy.js → SvDateTimePicker-DmK_QkkU.js} +241 -241
- package/dist/wc/{SvField-B_kurx_P.js → SvField-C-OodMMv.js} +71 -71
- package/dist/wc/SvGridCellEditor-C7ios4i_.js +582 -0
- package/dist/wc/{SvGridChart-DrmqEen2.js → SvGridChart-DWRqlhCV.js} +549 -549
- package/dist/wc/{SvGridChartBuilder-XFvW1BdT.js → SvGridChartBuilder-BXW3yUR0.js} +337 -337
- package/dist/wc/{SvGridChartPanel-oJJtUKG6.js → SvGridChartPanel-28n4tomx.js} +354 -354
- package/dist/wc/{SvGridChartView-Cetuj70H.js → SvGridChartView-CbG_WrU-.js} +7 -7
- package/dist/wc/{SvGridDropdown-45WsObLL.js → SvGridDropdown-BVnpNU_I.js} +130 -130
- package/dist/wc/{SvModal-DrfOYYyX.js → SvModal-DLppAQED.js} +91 -91
- package/dist/wc/{client-DQIzjDBG.js → client-GWAV79ON.js} +479 -476
- package/dist/wc/{date-format-DS-z_h9v.js → date-format-4_QoS4zZ.js} +393 -393
- package/dist/wc/{grid-extension.svelte-Bufq4B4C.js → grid-extension.svelte-CucBS4FL.js} +1 -1
- package/dist/wc/sv-sheet-element.js +10475 -10461
- package/dist/wc/{svelte-virtualizer.svelte-CkZaFakp.js → svelte-virtualizer.svelte-BDcouWqw.js} +3 -3
- package/package.json +17 -4
- package/dist/designer/assets/index-BdL--HXH.css +0 -1
- package/dist/wc/GridFooter-4T29pfok.js +0 -145
- package/dist/wc/SvGridCellEditor-Nnl8C3Yj.js +0 -582
|
@@ -992,7 +992,6 @@
|
|
|
992
992
|
/* The heading owns the gap above its fields, so the group reads as one thing. */
|
|
993
993
|
.sv-ep__section-title + .sv-ep__body, .sv-ep__section-desc + .sv-ep__body { padding-top: 10px; }
|
|
994
994
|
.sv-ep__discard { margin-right: auto; font-size: 12.5px; font-weight: 600; color: var(--ep-danger); }
|
|
995
|
-
.sv-ep__btn--danger { border-color: var(--ep-danger); background: var(--ep-danger); color: #fff; }
|
|
996
995
|
.sv-ep__section .sv-ep__body { flex: 0 0 auto; overflow: visible; }
|
|
997
996
|
.sv-ep-field {
|
|
998
997
|
display: flex;
|
|
@@ -1150,7 +1149,21 @@
|
|
|
1150
1149
|
background: var(--ep-accent);
|
|
1151
1150
|
border-color: var(--ep-accent);
|
|
1152
1151
|
}
|
|
1152
|
+
/* Restate the fill: `.sv-ep__btn:hover:not(:disabled)` outranks the modifier
|
|
1153
|
+
class and painted the subtle background under white text. */
|
|
1153
1154
|
.sv-ep__btn--primary:hover:not(:disabled) {
|
|
1155
|
+
background: var(--ep-accent);
|
|
1156
|
+
filter: brightness(1.06);
|
|
1157
|
+
}
|
|
1158
|
+
/* After `.sv-ep__btn`, not before it: at equal specificity the base rule
|
|
1159
|
+
came later and the Discard button rendered as a plain one. */
|
|
1160
|
+
.sv-ep__btn--danger {
|
|
1161
|
+
color: #fff;
|
|
1162
|
+
background: var(--ep-danger);
|
|
1163
|
+
border-color: var(--ep-danger);
|
|
1164
|
+
}
|
|
1165
|
+
.sv-ep__btn--danger:hover:not(:disabled) {
|
|
1166
|
+
background: var(--ep-danger);
|
|
1154
1167
|
filter: brightness(1.06);
|
|
1155
1168
|
}
|
|
1156
1169
|
.sv-ep__btn:disabled {
|
|
@@ -299,18 +299,23 @@
|
|
|
299
299
|
|
|
300
300
|
// --- resources: full list (for the legend/grouping) derived from config or
|
|
301
301
|
// the data. `hiddenResources` is a per-view filter applied to `viewEvents`. ---
|
|
302
|
+
// Read from every row, not only the events in the visible range: built from
|
|
303
|
+
// `events`, an empty week had no resources, so a grouped Week/Day view drew
|
|
304
|
+
// zero day columns, and the columns changed as the user paged through time.
|
|
305
|
+
// Events still feed in after the rows, for ids the rows do not carry.
|
|
302
306
|
const resources = $derived.by<SchedulerResource[]>(() => {
|
|
303
307
|
if (!resourceField) return [];
|
|
304
308
|
if (scheduler.resources?.length) return [...scheduler.resources];
|
|
305
309
|
const seen = new Set<string>();
|
|
306
310
|
const out: SchedulerResource[] = [];
|
|
307
|
-
|
|
308
|
-
const id = e.resourceId ?? "";
|
|
311
|
+
const add = (id: string) => {
|
|
309
312
|
if (!seen.has(id)) {
|
|
310
313
|
seen.add(id);
|
|
311
314
|
out.push({ id, title: id || "(none)" });
|
|
312
315
|
}
|
|
313
|
-
}
|
|
316
|
+
};
|
|
317
|
+
for (const r of data) add(spec.getResource?.(r) ?? "");
|
|
318
|
+
for (const e of events) add(e.resourceId ?? "");
|
|
314
319
|
return out;
|
|
315
320
|
});
|
|
316
321
|
let hiddenResources = $state<Set<string>>(new Set());
|
|
@@ -360,7 +365,8 @@
|
|
|
360
365
|
}
|
|
361
366
|
|
|
362
367
|
// Resource grouping applies to the time-grid (Week / Day) views.
|
|
363
|
-
|
|
368
|
+
// No resources at all (no rows yet) means plain day columns, not zero columns.
|
|
369
|
+
const resourcesEnabled = $derived(!!resourceField && (view === "day" || view === "week") && resources.length > 0);
|
|
364
370
|
const groupByDate = $derived(scheduler.groupByDate === true);
|
|
365
371
|
|
|
366
372
|
// --- timeline views (horizontal: time left→right, resources as rows) ---
|
|
@@ -4314,10 +4320,13 @@
|
|
|
4314
4320
|
line-height: 1.4;
|
|
4315
4321
|
}
|
|
4316
4322
|
.sv-sched-btn:hover { background: color-mix(in srgb, var(--sg-fg, #1f2937) 8%, transparent); }
|
|
4317
|
-
|
|
4323
|
+
/* `:hover` listed too: `.sv-sched-btn:hover` outranks the bare class, so the
|
|
4324
|
+
active view button lost its fill under the pointer. */
|
|
4325
|
+
.sv-sched-btn-active,
|
|
4326
|
+
.sv-sched-btn-active:hover {
|
|
4318
4327
|
background: var(--sv-sched-accent);
|
|
4319
4328
|
border-color: var(--sv-sched-accent);
|
|
4320
|
-
color: #fff;
|
|
4329
|
+
color: var(--sg-on-accent, #fff);
|
|
4321
4330
|
}
|
|
4322
4331
|
|
|
4323
4332
|
/* month */
|
package/dist/SvSheet.svelte
CHANGED
|
@@ -3255,6 +3255,8 @@
|
|
|
3255
3255
|
let hashMeasure: CanvasRenderingContext2D | null = null
|
|
3256
3256
|
function hashesFor(text: string, c: number, entry: CellFormatEntry | undefined, r = -1, general?: number): string | null {
|
|
3257
3257
|
if (!text) return null
|
|
3258
|
+
// Cells render on the server too; there is nothing to measure there.
|
|
3259
|
+
if (typeof document === 'undefined') return null
|
|
3258
3260
|
hashMeasure ??= document.createElement('canvas').getContext('2d')
|
|
3259
3261
|
if (!hashMeasure) return null
|
|
3260
3262
|
const size = entry?.fontSize ?? 13
|