From 11d814e019b0425fc9dd5b0ea4e4e185bb6d87fe Mon Sep 17 00:00:00 2001
From: SandObserver <260779319+SandObserver@users.noreply.github.com>
Date: Sun, 27 Sep 2026 23:56:26 -0400
Subject: [PATCH] Docs: sync the app code copies after the logo redraw
---
public/js/admin-app-form.js | 10 +++++-----
public/js/admin-auth.js | 4 ++--
public/js/admin-color-control.js | 6 +++---
public/js/admin-drag.js | 2 +-
public/js/admin-list.js | 12 ++++++------
public/js/admin-settings.js | 8 ++++----
public/js/admin-shared.js | 4 ++--
public/js/admin-widget-form.js | 10 +++++-----
public/js/admin.js | 20 ++++++++++----------
public/js/background.js | 2 +-
public/js/brand-mark.js | 6 ------
public/js/dashboard.js | 10 +++++-----
public/js/icon-set.js | 1 -
public/js/listbox.js | 4 ++--
public/js/spotlight.js | 2 +-
public/js/ui.js | 2 +-
public/js/utils.js | 10 +++++++---
public/js/widget-config-form.js | 8 ++++----
public/js/widget-glyphs.js | 2 +-
19 files changed, 60 insertions(+), 63 deletions(-)
delete mode 100644 public/js/brand-mark.js
diff --git a/public/js/admin-app-form.js b/public/js/admin-app-form.js
index ff9eaeb..80e432f 100644
--- a/public/js/admin-app-form.js
+++ b/public/js/admin-app-form.js
@@ -1,4 +1,4 @@
-import { clr, el, inp as inpById, q as qSel, qa, qi, tgt } from '/js/utils.js?v=eadafbcd';
+import { clr, el, inp as inpById, q as qSel, qa, qi, tgt } from '/js/utils.js?v=7d0a2f7d';
import { html, raw, setHtml } from '/js/html.js?v=c71f8903';
import { loadLocalIcons, resolveIcon, iconChain, cdnIconRef, splitIconRef } from '/js/icons.js?v=9c8c550c';
import { state } from '/js/admin-state.js?v=831e219e';
@@ -21,13 +21,13 @@ import {
reveal,
setTogDisabled,
swapContent,
-} from '/js/admin-shared.js?v=d2e8b6dc';
-import { createListbox } from '/js/listbox.js?v=f057351d';
+} from '/js/admin-shared.js?v=9d789975';
+import { createListbox } from '/js/listbox.js?v=c14ab216';
import { MAX_LABELS } from '/js/badge-logic.js?v=9e6d9d4b';
-import { renderColorControl, BADGE_DEFAULT } from '/js/admin-color-control.js?v=e963853a';
+import { renderColorControl, BADGE_DEFAULT } from '/js/admin-color-control.js?v=15d6a495';
import { badgeErrorAdvice, TONE } from '/js/admin-error.js?v=e4ea7820';
import { fluidHoverClear, fluidHoverKb } from '/js/fluid-hover.js?v=cb886e86';
-import { iconSvg } from '/js/icon-set.js?v=08b74a28';
+import { iconSvg } from '/js/icon-set.js?v=34af798f';
export function buildFolderForm(body, item) {
const children = item?.children || [];
diff --git a/public/js/admin-auth.js b/public/js/admin-auth.js
index bf26807..f728468 100644
--- a/public/js/admin-auth.js
+++ b/public/js/admin-auth.js
@@ -1,7 +1,7 @@
-import { apiGet, apiPost } from '/js/admin-shared.js?v=d2e8b6dc';
+import { apiGet, apiPost } from '/js/admin-shared.js?v=9d789975';
import { t } from '/js/i18n.js?v=1f1ea9c1';
import { pwStrength } from '/js/password-strength.js?v=42f45ac7';
-import { el, inp as inpById, qa } from '/js/utils.js?v=eadafbcd';
+import { el, inp as inpById, qa } from '/js/utils.js?v=7d0a2f7d';
export async function checkAuth(onLogin) {
try {
diff --git a/public/js/admin-color-control.js b/public/js/admin-color-control.js
index 18a7e73..8906f92 100644
--- a/public/js/admin-color-control.js
+++ b/public/js/admin-color-control.js
@@ -1,8 +1,8 @@
-import { PE_SVG, initInlineEdit, toast, reveal } from '/js/admin-shared.js?v=d2e8b6dc';
+import { PE_SVG, initInlineEdit, toast, reveal } from '/js/admin-shared.js?v=9d789975';
import { t } from '/js/i18n.js?v=1f1ea9c1';
import { html, raw, setHtml } from '/js/html.js?v=c71f8903';
-import { qa, q } from '/js/utils.js?v=eadafbcd';
-import { iconSvg } from '/js/icon-set.js?v=08b74a28';
+import { qa, q } from '/js/utils.js?v=7d0a2f7d';
+import { iconSvg } from '/js/icon-set.js?v=34af798f';
import { HUE_NAMES, ROLE_NAMES, TILE_KEYWORDS, pageTheme, tileColor } from '/js/palette.js?v=3fb8ae43';
const CC_SWATCHES = ['#1c1c1e', '#8e8e93', '#f2f2f7', '#ff393c', '#ffcd00', '#35c759', '#0289ff', '#cb30df'];
diff --git a/public/js/admin-drag.js b/public/js/admin-drag.js
index b624a1a..5150905 100644
--- a/public/js/admin-drag.js
+++ b/public/js/admin-drag.js
@@ -12,7 +12,7 @@
import { applyDrop, canJoinFolder, folderRowZone } from '/js/admin-drag-logic.js?v=6b767e76';
import { state } from '/js/admin-state.js?v=831e219e';
import { snapshotItems } from '/js/admin-save-logic.js?v=60a82419';
-import { qa } from '/js/utils.js?v=eadafbcd';
+import { qa } from '/js/utils.js?v=7d0a2f7d';
/** @type {(before: unknown) => void} */
let _save = () => {};
diff --git a/public/js/admin-list.js b/public/js/admin-list.js
index 9b7e806..29357a8 100644
--- a/public/js/admin-list.js
+++ b/public/js/admin-list.js
@@ -14,14 +14,14 @@
import { collapsedFolders, filter, state } from '/js/admin-state.js?v=831e219e';
import { snapshotItems } from '/js/admin-save-logic.js?v=60a82419';
import { reorderItems } from '/js/admin-logic.js?v=cbb7417d';
-import { initDrag, wireRowDrag } from '/js/admin-drag.js?v=36006b2b';
-import { paintIcon } from '/js/admin-shared.js?v=d2e8b6dc';
-import { clr, el, qa, setUserText } from '/js/utils.js?v=eadafbcd';
+import { initDrag, wireRowDrag } from '/js/admin-drag.js?v=e31d2128';
+import { paintIcon } from '/js/admin-shared.js?v=9d789975';
+import { clr, el, qa, setUserText } from '/js/utils.js?v=7d0a2f7d';
import { html, raw, setHtml } from '/js/html.js?v=c71f8903';
import { t } from '/js/i18n.js?v=1f1ea9c1';
-import { sizeLabel } from '/js/admin-widget-form.js?v=fd3dcc6c';
-import { widgetGlyph } from '/js/widget-glyphs.js?v=e1d968ad';
-import { iconSvg } from '/js/icon-set.js?v=08b74a28';
+import { sizeLabel } from '/js/admin-widget-form.js?v=f9235794';
+import { widgetGlyph } from '/js/widget-glyphs.js?v=648cc374';
+import { iconSvg } from '/js/icon-set.js?v=34af798f';
/** @type {{ openModal: (idx: number|null) => void,
openFolderPicker: (appId: string|null, targetFolderId?: string|null) => void,
diff --git a/public/js/admin-settings.js b/public/js/admin-settings.js
index 548323a..60b95e6 100644
--- a/public/js/admin-settings.js
+++ b/public/js/admin-settings.js
@@ -1,4 +1,4 @@
-import { toast, apiGet, apiPost, reveal, swapContent } from '/js/admin-shared.js?v=d2e8b6dc';
+import { toast, apiGet, apiPost, reveal, swapContent } from '/js/admin-shared.js?v=9d789975';
import { pwStrength } from '/js/password-strength.js?v=42f45ac7';
import { t } from '/js/i18n.js?v=1f1ea9c1';
import {
@@ -9,9 +9,9 @@ import {
BLOCK,
} from '/js/admin-logic.js?v=cbb7417d';
import { confirmText } from '/js/modal.js?v=11fa1eff';
-import { el, inp, setUserText } from '/js/utils.js?v=eadafbcd';
-import { renderColorControl } from '/js/admin-color-control.js?v=e963853a';
-import { BACKDROP } from '/js/background.js?v=175d9a7f';
+import { el, inp, setUserText } from '/js/utils.js?v=7d0a2f7d';
+import { renderColorControl } from '/js/admin-color-control.js?v=15d6a495';
+import { BACKDROP } from '/js/background.js?v=92d3f3c2';
/* Mirrors the server's rule: auth cannot be switched on with no password. */
let _passwordSet = false;
diff --git a/public/js/admin-shared.js b/public/js/admin-shared.js
index 32fc5f0..a22c81b 100644
--- a/public/js/admin-shared.js
+++ b/public/js/admin-shared.js
@@ -1,9 +1,9 @@
/* Stateless helpers shared by the admin modules. Mutable state stays out. */
import { recoversSession, toastHoldMs } from '/js/admin-logic.js?v=cbb7417d';
-import { el, q } from '/js/utils.js?v=eadafbcd';
+import { el, q } from '/js/utils.js?v=7d0a2f7d';
import { t } from '/js/i18n.js?v=1f1ea9c1';
import { iconChain } from '/js/icons.js?v=9c8c550c';
-import { iconSvg } from '/js/icon-set.js?v=08b74a28';
+import { iconSvg } from '/js/icon-set.js?v=34af798f';
export const API = '';
diff --git a/public/js/admin-widget-form.js b/public/js/admin-widget-form.js
index efc1580..e48a3a7 100644
--- a/public/js/admin-widget-form.js
+++ b/public/js/admin-widget-form.js
@@ -1,12 +1,12 @@
import { state } from '/js/admin-state.js?v=831e219e';
-import { PE_SVG, initInlineEdit, swapContent } from '/js/admin-shared.js?v=d2e8b6dc';
-import { createListbox } from '/js/listbox.js?v=f057351d';
-import { renderWidgetConfigForm } from '/js/widget-config-form.js?v=73604add';
+import { PE_SVG, initInlineEdit, swapContent } from '/js/admin-shared.js?v=9d789975';
+import { createListbox } from '/js/listbox.js?v=c14ab216';
+import { renderWidgetConfigForm } from '/js/widget-config-form.js?v=a57a9501';
import { html, raw, setHtml } from '/js/html.js?v=c71f8903';
import { sizesForView, widgetConfigMode, rejectionLines, carriesTypedValues } from '/js/admin-logic.js?v=cbb7417d';
import { t } from '/js/i18n.js?v=1f1ea9c1';
-import { q, qi, qa } from '/js/utils.js?v=eadafbcd';
-import { iconSvg } from '/js/icon-set.js?v=08b74a28';
+import { q, qi, qa } from '/js/utils.js?v=7d0a2f7d';
+import { iconSvg } from '/js/icon-set.js?v=34af798f';
const SIZES_WITH_ICONS = new Set(['small', 'medium', 'large', 'xlarge']);
diff --git a/public/js/admin.js b/public/js/admin.js
index 564171f..a353a07 100644
--- a/public/js/admin.js
+++ b/public/js/admin.js
@@ -1,6 +1,6 @@
-import { buildAppForm, buildFolderForm, captureActLabels, serializeKvRows } from '/js/admin-app-form.js?v=58e2b685';
-import { checkAuth, requireLogin, wirePasswordStrength } from '/js/admin-auth.js?v=2bd61e6c';
-import { initList, render, syncFilterUI } from '/js/admin-list.js?v=4e82ea4a';
+import { buildAppForm, buildFolderForm, captureActLabels, serializeKvRows } from '/js/admin-app-form.js?v=7604b201';
+import { checkAuth, requireLogin, wirePasswordStrength } from '/js/admin-auth.js?v=1d822df2';
+import { initList, render, syncFilterUI } from '/js/admin-list.js?v=fe5e00b2';
import { resolveAdminSection } from '/js/admin-logic.js?v=cbb7417d';
import {
buildAppItem,
@@ -10,7 +10,7 @@ import {
snapshotItems,
upsertItem,
} from '/js/admin-save-logic.js?v=60a82419';
-import { loadSettings, settingsDirty, showBgFields, showWallpaperFile } from '/js/admin-settings.js?v=23cfe19f';
+import { loadSettings, settingsDirty, showBgFields, showWallpaperFile } from '/js/admin-settings.js?v=9ed2fd03';
import {
apiGet,
apiPost,
@@ -19,16 +19,16 @@ import {
reveal,
setReauthHandler,
toast,
-} from '/js/admin-shared.js?v=d2e8b6dc';
+} from '/js/admin-shared.js?v=9d789975';
import { collapsedFolders, filter, state } from '/js/admin-state.js?v=831e219e';
-import { buildWidgetForm } from '/js/admin-widget-form.js?v=fd3dcc6c';
+import { buildWidgetForm } from '/js/admin-widget-form.js?v=f9235794';
import { initFluidHover } from '/js/fluid-hover.js?v=cb886e86';
import { initGlideSelect, syncGlideSelect } from '/js/glide-select.js?v=8b39e9d0';
-import { createListbox } from '/js/listbox.js?v=f057351d';
+import { createListbox } from '/js/listbox.js?v=c14ab216';
import { html, raw, setHtml } from '/js/html.js?v=c71f8903';
import { initI18n, LANGUAGES, t } from '/js/i18n.js?v=1f1ea9c1';
import { loadLocalIcons } from '/js/icons.js?v=9c8c550c';
-import { ensureSprite, iconSvg } from '/js/icon-set.js?v=08b74a28';
+import { ensureSprite, iconSvg } from '/js/icon-set.js?v=34af798f';
import {
clearSkipTls,
convert,
@@ -49,8 +49,8 @@ import {
watchSystemTheme,
writeMode,
} from '/js/theme.js?v=eeafa4b5';
-import { el, inp, q, qa, clr, setUserText, tgt } from '/js/utils.js?v=eadafbcd';
-import { applyBackground, resolveBackground } from '/js/background.js?v=175d9a7f';
+import { el, inp, q, qa, clr, setUserText, tgt } from '/js/utils.js?v=7d0a2f7d';
+import { applyBackground, resolveBackground } from '/js/background.js?v=92d3f3c2';
import { parseYamlTolerant, YamlLiteError } from '/js/yaml-lite.js?v=6ebb564c';
ensureSprite();
diff --git a/public/js/background.js b/public/js/background.js
index b76503d..0e32251 100644
--- a/public/js/background.js
+++ b/public/js/background.js
@@ -1,5 +1,5 @@
// @ts-check
-import { cssColor, sanitizeCssUrl } from '/js/utils.js?v=eadafbcd';
+import { cssColor, sanitizeCssUrl } from '/js/utils.js?v=7d0a2f7d';
import { loadWallpaper, saveWallpaper } from '/js/wallpaper-cache.js?v=c5f8a3e6';
export const BACKDROP = '#0d1117';
diff --git a/public/js/brand-mark.js b/public/js/brand-mark.js
deleted file mode 100644
index a82b167..0000000
--- a/public/js/brand-mark.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// @ts-check
-/* Do not move this to /icons. That path is a user volume. A file of the same
- name left there shadows the bundled artwork. */
-
-export const BRAND_MARK =
- 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIHdpZHRoPSIxMDI0IiBoZWlnaHQ9IjEwMjQiPgoKPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjQuNiw3My40KSBzY2FsZSgwLjg0NikiPjxwYXRoIGZpbGw9IiMwMEQyRTAiIGQ9Ik01MTIgMTA1LjVBNDA2LjUgNDA2LjUgMCAwIDEgODY0LjA0IDcxNS4yNUE3NS41IDc1LjUgMCAwIDEgNzMzLjI3IDYzOS43NUEyNTUuNSAyNTUuNSAwIDAgMCA1MTIgMjU2LjVBNzUuNSA3NS41IDAgMCAxIDUxMiAxMDUuNVoiLz48cGF0aCBmaWxsPSIjRjJGMkY3IiBkPSJNNTUxLjUgNDQzLjU4TDI2NC44NSAyNzguMDhBNzkgNzkgMCAwIDAgMTg1Ljg1IDQxNC45Mkw0NzIuNSA1ODAuNDJBNzkgNzkgMCAwIDAgNTUxLjUgNDQzLjU4Wk00NzIuNSA0NDMuNThMMTg1Ljg1IDYwOS4wOEE3OSA3OSAwIDAgMCAyNjQuODUgNzQ1LjkyTDU1MS41IDU4MC40MkE3OSA3OSAwIDAgMCA0NzIuNSA0NDMuNThaTTQzMyA1MTJMNDMzIDg0M0E3OSA3OSAwIDAgMCA1OTEgODQzTDU5MSA1MTJBNzkgNzkgMCAwIDAgNDMzIDUxMloiLz48L2c+Cjwvc3ZnPgo=';
diff --git a/public/js/dashboard.js b/public/js/dashboard.js
index aeb9726..bad2a2c 100644
--- a/public/js/dashboard.js
+++ b/public/js/dashboard.js
@@ -24,9 +24,9 @@ import {
setUserText,
teardownWidgets,
titleWhenTruncated,
-} from '/js/utils.js?v=eadafbcd';
+} from '/js/utils.js?v=7d0a2f7d';
import { initFluidHover } from '/js/fluid-hover.js?v=cb886e86';
-import { initSpotlight } from '/js/spotlight.js?v=9056fab5';
+import { initSpotlight } from '/js/spotlight.js?v=a6f5775a';
import { html, setHtml, raw } from '/js/html.js?v=c71f8903';
import { initI18n, t, currentLang } from '/js/i18n.js?v=1f1ea9c1';
import { pwStrength, passwordMismatch } from '/js/password-strength.js?v=42f45ac7';
@@ -40,7 +40,7 @@ import {
buildMobile,
resetMobileChrome,
mkFolderGlyph,
-} from '/js/ui.js?v=cdfe7685';
+} from '/js/ui.js?v=67ae7e42';
import { badgeMinimum, badgeSignature, computeBadgeVisual, readBadgeUpdate } from '/js/badge-logic.js?v=9e6d9d4b';
import { formatNumber } from '/js/format-number.js?v=4a5ccef4';
import { closeBadgePopover, wireBadgePopover } from '/js/badge-popover.js?v=aa52b1a3';
@@ -52,12 +52,12 @@ import {
landingAfterSetup,
restorePage,
} from '/js/dashboard-logic.js?v=0d519f8b';
-import { applyBackground, BACKDROP, resolveBackground } from '/js/background.js?v=175d9a7f';
+import { applyBackground, BACKDROP, resolveBackground } from '/js/background.js?v=92d3f3c2';
import { jitter } from '/js/jitter.js?v=4eeef4c9';
import { isMobileLayout, onLayoutChange } from '/js/layout.js?v=e9f4b607';
import { startWakeLock } from '/js/wake-lock.js?v=6b9591cf';
import { applyLabelTones, loadSamplingImage, sampleImage, toneForColor } from '/js/label-contrast.js?v=c1ac6fb8';
-import { ensureSprite, iconSvg } from '/js/icon-set.js?v=08b74a28';
+import { ensureSprite, iconSvg } from '/js/icon-set.js?v=34af798f';
import { pageTheme, paletteColor } from '/js/palette.js?v=3fb8ae43';
import { THEME_KEY, applyTheme, prefersDark, readMode, resolveTheme } from '/js/theme.js?v=eeafa4b5';
diff --git a/public/js/icon-set.js b/public/js/icon-set.js
index c1c6d8a..c1c5676 100644
--- a/public/js/icon-set.js
+++ b/public/js/icon-set.js
@@ -112,7 +112,6 @@ const TOGGLES = {
};
const CLOUD = 'M6 20h10a4 4 0 0 0 0-8 5 5 0 0 0-9.6 1.2A3.5 3.5 0 0 0 6 20z';
-/* Keep the fractions. Whole units drift from the logo files. */
function logoIcon() {
const f = n => +n.toFixed(3);
const k = 24 / 1024;
diff --git a/public/js/listbox.js b/public/js/listbox.js
index 4f4f102..80638fd 100644
--- a/public/js/listbox.js
+++ b/public/js/listbox.js
@@ -9,8 +9,8 @@
import { nextActiveIndex } from '/js/admin-logic.js?v=cbb7417d';
import { fluidHoverClear, fluidHoverKb } from '/js/fluid-hover.js?v=cb886e86';
import { html, raw, setHtml } from '/js/html.js?v=c71f8903';
-import { qa } from '/js/utils.js?v=eadafbcd';
-import { iconSvg } from '/js/icon-set.js?v=08b74a28';
+import { qa } from '/js/utils.js?v=7d0a2f7d';
+import { iconSvg } from '/js/icon-set.js?v=34af798f';
const CHEV = iconSvg('chevrons', 22, 'solid', 'dd-chev');
diff --git a/public/js/spotlight.js b/public/js/spotlight.js
index edd3ac5..59033dd 100644
--- a/public/js/spotlight.js
+++ b/public/js/spotlight.js
@@ -1,5 +1,5 @@
import { fluidHoverClear, fluidHoverKb } from '/js/fluid-hover.js?v=cb886e86';
-import { mk, clr, el, inp as inpById, q, qa, setUserText } from '/js/utils.js?v=eadafbcd';
+import { mk, clr, el, inp as inpById, q, qa, setUserText } from '/js/utils.js?v=7d0a2f7d';
import { t } from '/js/i18n.js?v=1f1ea9c1';
/* Attached to the window so a re-open can undo the previous one. */
diff --git a/public/js/ui.js b/public/js/ui.js
index 810ff72..de5392c 100644
--- a/public/js/ui.js
+++ b/public/js/ui.js
@@ -14,7 +14,7 @@ import {
q,
qa,
setUserText,
-} from '/js/utils.js?v=eadafbcd';
+} from '/js/utils.js?v=7d0a2f7d';
import { t, currentLang } from '/js/i18n.js?v=1f1ea9c1';
import { toneForColor } from '/js/label-contrast.js?v=c1ac6fb8';
import { mobileMetrics, gridColumnWidth, gridCellCount } from '/js/mobile-metrics.js?v=349f4300';
diff --git a/public/js/utils.js b/public/js/utils.js
index 7a94913..b96120b 100644
--- a/public/js/utils.js
+++ b/public/js/utils.js
@@ -3,7 +3,6 @@ import { toneForColor } from '/js/label-contrast.js?v=c1ac6fb8';
import { SETTINGS_ICON, SETTINGS_ICON_LIGHT } from '/js/settings-icon.js?v=4079b66a';
import { mkGlassRim } from '/js/glass-rim.js?v=3faec233';
import { smoothRectPath } from '/js/smooth-corner.js?v=b7dda7e1';
-import { BRAND_MARK } from '/js/brand-mark.js?v=e363e477';
import { t } from '/js/i18n.js?v=1f1ea9c1';
import { pageTheme, tileColor } from '/js/palette.js?v=3fb8ae43';
@@ -436,8 +435,13 @@ export function renderEmptyState(items) {
const box = mk('div');
box.className = 'empty-state';
- const mark = mk('img', { src: BRAND_MARK, alt: '' });
- mark.className = 'empty-state-mark';
+ const mark = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
+ mark.setAttribute('class', 'sy-icon empty-state-mark');
+ mark.setAttribute('aria-hidden', 'true');
+ mark.setAttribute('focusable', 'false');
+ const use = document.createElementNS('http://www.w3.org/2000/svg', 'use');
+ use.setAttribute('href', '#sy-solid-logo');
+ mark.append(use);
const title = mk('h2');
title.className = 'empty-state-title';
title.textContent = t('home.emptyTitle');
diff --git a/public/js/widget-config-form.js b/public/js/widget-config-form.js
index e8c36ec..3616477 100644
--- a/public/js/widget-config-form.js
+++ b/public/js/widget-config-form.js
@@ -3,9 +3,9 @@
import { t } from '/js/i18n.js?v=1f1ea9c1';
import { html, raw, setHtml } from '/js/html.js?v=c71f8903';
-import { reveal, wireInlineEdit } from '/js/admin-shared.js?v=d2e8b6dc';
-import { createListbox } from '/js/listbox.js?v=f057351d';
-import { renderColorControl } from '/js/admin-color-control.js?v=e963853a';
+import { reveal, wireInlineEdit } from '/js/admin-shared.js?v=9d789975';
+import { createListbox } from '/js/listbox.js?v=c14ab216';
+import { renderColorControl } from '/js/admin-color-control.js?v=15d6a495';
import {
seedCarried,
applyOptionSet,
@@ -15,7 +15,7 @@ import {
visibleFieldFlags,
} from '/js/admin-logic.js?v=cbb7417d';
import { optionsErrorAdvice, TONE } from '/js/admin-error.js?v=e4ea7820';
-import { qi } from '/js/utils.js?v=eadafbcd';
+import { qi } from '/js/utils.js?v=7d0a2f7d';
const PE =
'';
diff --git a/public/js/widget-glyphs.js b/public/js/widget-glyphs.js
index 94382e1..9cfd635 100644
--- a/public/js/widget-glyphs.js
+++ b/public/js/widget-glyphs.js
@@ -1,5 +1,5 @@
// @ts-check
-import { iconSvg } from '/js/icon-set.js?v=08b74a28';
+import { iconSvg } from '/js/icon-set.js?v=34af798f';
/* Keys are the glyph names in widget.json files. Renaming one breaks that widget. */
/** @type {Record} */