diff --git a/docs/redesign/mockups/Settings.dc.html b/docs/redesign/mockups/Settings.dc.html
index f2f668b..bd398ce 100644
--- a/docs/redesign/mockups/Settings.dc.html
+++ b/docs/redesign/mockups/Settings.dc.html
@@ -1,239 +1,1923 @@
-
-
-QueryCraft · settings
-
-
-
-
-
-
-
-
-
-
-
-
{{c.caption}}
-
-
-
-
-
-
-
{{p.t}}{{p.t}}{{p.t}}
-
-
-
-
-
-
-
-
Parameters
-{{c.count}}
-
-
-
-
-
-
-
--
-
-
-
-
-
-
-
{{r.value}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Settings
-
-
-
-
-
-
Accent color
-
{{c.accentName}}
-
-
-
Tints the primary button, switches and URL keys. Text on the accent is picked to keep 4.5:1.
-
-
-
Preview
-
-
-
{{q.t}}{{q.t}}{{q.t}}
-
-
-
-
-
-
-
Theme
-
-
-
-
-
-
-
{{c.themeDesc}}
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ {{c.caption}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{p.t}}{{p.t}}{{p.t}}
+
+
+
+
+
+
+
+
+
+ Parameters
+
+ {{c.count}}
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
{{r.value}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Settings
+
+
+
+
+
+
+
+ Accent color
+
+
+ {{c.accentName}}
+
+
+
+
+ Tints the primary button, switches and URL keys.
+
+
+
+
+ Preview
+
+
+
+
+ {{q.t}}{{q.t}}{{q.t}}
+
+
+
+
+
+
+
+
+ Theme
+
+
+
+
+
+
+
+
+ {{c.themeDesc}}
+
+
+
+
+
+
+
+
+
+
-
+ const SW = [['Mono', 'var(--foreground)', 'var(--background)'], ['Blue', '#6690e0', '#0a0a0a'], ['Cyan', '#4fa8c9', '#0a0a0a'],
+ ['Teal', '#4fa98e', '#0a0a0a'], ['Green', '#4f9d6e', '#0a0a0a'], ['Lime', '#8db84f', '#0a0a0a'], ['Amber', '#c99a3d', '#0a0a0a'],
+ ['Orange', '#d9824f', '#0a0a0a'], ['Red', '#d9636b', '#0a0a0a'], ['Pink', '#d9709c', '#0a0a0a'], ['Violet', '#9575e0', '#0a0a0a']];
+ const PREVIEW = [{ t: '?', isB: true }, { t: 'view', isK: true }, { t: '=', isB: true }, { t: 'table', isV: true },
+ { t: '&', isB: true }, { t: 'live', isK: true }, { t: '=', isB: true }, { t: 'true', isV: true }];
+ function themes(selected) {
+ return ['System', 'Light', 'Dark'].map((label) => ({
+ label: label, sel: label === selected, unsel: label !== selected,
+ isSys: label === 'System', isLight: label === 'Light', isDark: label === 'Dark'
+ }));
+ }
+ class Component extends DCLogic {
+ renderVals() {
+ const accent = this.props.accent ?? 'violet';
+ const selName = accent === 'violet' ? 'Violet' : 'Mono';
+ const swatches = SW.map((s) => ({
+ name: s[0], paint: 'background: ' + s[1] + '; color: ' + s[2],
+ sel: s[0] === selName, unsel: s[0] !== selName
+ }));
+ const common = Object.assign(editorFields(), { swatches: swatches, accentName: selName, previewParts: PREVIEW });
+ return {
+ accentCls: accent === 'violet' ? 'qc-violet' : '',
+ cells: [
+ Object.assign({}, common, { cls: 'qc-light', caption: 'Light · theme “System”, OS is light', themes: themes('System'),
+ themeDesc: 'Follows your OS appearance — light right now.' }),
+ Object.assign({}, common, { cls: 'qc-dark', caption: 'Dark · theme set to “Dark”, overriding a light OS', themes: themes('Dark'),
+ themeDesc: 'Overrides your OS appearance for QueryCraft only.' })
+ ]
+ };
+ }
+ }
+
+