Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ui/admin/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,6 @@ <h1 class="sec-title" id="ev-title">General</h1>
</div></div>
</div>

<script type="module" src="/js/admin.js?v=a760c511"></script>
<script type="module" src="/js/admin.js?v=74038701"></script>
</body>
</html>
2 changes: 1 addition & 1 deletion ui/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,5 +56,5 @@
</div>
</div>
</dialog>
<script type="module" src="/js/dashboard.js?v=18f7694e"></script>
<script type="module" src="/js/dashboard.js?v=550f6505"></script>
</body></html>
12 changes: 6 additions & 6 deletions ui/js/admin-app-form.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { clr, el, focusFirst, initial, inp as inpById, isolate, q as qSel, qa, qi, tgt } from '/js/utils.js?v=b6e6c040';
import { clr, el, focusFirst, initial, inp as inpById, isolate, q as qSel, qa, qi, tgt } from '/js/utils.js?v=14b18b8c';
import { html, raw, setHtml } from '/js/html.js?v=c71f8903';
import { loadLocalIcons, resolveIcon, iconChain, cdnIconRef, splitIconRef } from '/js/icons.js?v=9c7b5111';
import { state } from '/js/admin-state.js?v=af772a1b';
import { DOCK_MAX } from '/js/limits.js?v=31048a24';
import { formatNumber } from '/js/format-number.js?v=52226e9c';
import { formatNumber } from '/js/format-number.js?v=abcd4ae4';
import {
isDockBlocked,
clearsStoredSecret,
Expand All @@ -12,7 +12,7 @@ import {
nextActiveIndex,
sameIconName,
} from '/js/admin-logic.js?v=fc7f0836';
import { t } from '/js/i18n.js?v=f754f6fe';
import { t } from '/js/i18n.js?v=ed7c5565';
import {
toast,
errorText,
Expand All @@ -24,10 +24,10 @@ import {
reveal,
setTogDisabled,
swapContent,
} from '/js/admin-shared.js?v=38ed2b51';
import { createListbox } from '/js/listbox.js?v=ae7b9a38';
} from '/js/admin-shared.js?v=36dc5cc1';
import { createListbox } from '/js/listbox.js?v=23e87940';
import { MAX_LABELS } from '/js/badge-logic.js?v=5c72bd4c';
import { renderColorControl, BADGE_DEFAULT } from '/js/admin-color-control.js?v=44fdebde';
import { renderColorControl, BADGE_DEFAULT } from '/js/admin-color-control.js?v=e80f4a68';
import { badgeErrorAdvice, TONE } from '/js/admin-error.js?v=b0881957';
import { fluidHoverClear, fluidHoverKb } from '/js/fluid-hover.js?v=cb886e86';
import { iconSvg } from '/js/icon-set.js?v=628341d4';
Expand Down
8 changes: 4 additions & 4 deletions ui/js/admin-auth.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { apiGet, apiPost } from '/js/admin-shared.js?v=38ed2b51';
import { initI18n, t } from '/js/i18n.js?v=f754f6fe';
import { apiGet, apiPost } from '/js/admin-shared.js?v=36dc5cc1';
import { initI18n, t } from '/js/i18n.js?v=ed7c5565';
import { loginErrorKey } from '/js/admin-error.js?v=b0881957';
import { pwStrength } from '/js/password-strength.js?v=389e0ed0';
import { el, inp as inpById, qa } from '/js/utils.js?v=b6e6c040';
import { blockingScreenFor } from '/js/config-recovery.js?v=e22b5e5a';
import { el, inp as inpById, qa } from '/js/utils.js?v=14b18b8c';
import { blockingScreenFor } from '/js/config-recovery.js?v=85138697';

export async function checkAuth(onLogin) {
try {
Expand Down
6 changes: 3 additions & 3 deletions ui/js/admin-color-control.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { PE_SVG, initInlineEdit, toast, reveal } from '/js/admin-shared.js?v=38ed2b51';
import { t } from '/js/i18n.js?v=f754f6fe';
import { PE_SVG, initInlineEdit, toast, reveal } from '/js/admin-shared.js?v=36dc5cc1';
import { t } from '/js/i18n.js?v=ed7c5565';
import { html, raw, setHtml } from '/js/html.js?v=c71f8903';
import { qa, q } from '/js/utils.js?v=b6e6c040';
import { qa, q } from '/js/utils.js?v=14b18b8c';
import { iconSvg } from '/js/icon-set.js?v=628341d4';
import { HUE_NAMES, ROLE_NAMES, TILE_KEYWORDS, pageTheme, tileColor } from '/js/palette.js?v=3fb8ae43';

Expand Down
2 changes: 1 addition & 1 deletion ui/js/admin-drag.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import { applyDrop, canJoinFolder, folderRowZone } from '/js/admin-drag-logic.js?v=6b767e76';
import { state } from '/js/admin-state.js?v=af772a1b';
import { snapshotItems } from '/js/admin-save-logic.js?v=5811620e';
import { qa } from '/js/utils.js?v=b6e6c040';
import { qa } from '/js/utils.js?v=14b18b8c';

/** @type {(before: unknown) => void} */
let _save = () => {};
Expand Down
10 changes: 5 additions & 5 deletions ui/js/admin-list.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
import { collapsedFolders, filter, state } from '/js/admin-state.js?v=af772a1b';
import { snapshotItems } from '/js/admin-save-logic.js?v=5811620e';
import { reorderItems } from '/js/admin-logic.js?v=fc7f0836';
import { initDrag, wireRowDrag } from '/js/admin-drag.js?v=d522e526';
import { paintIcon } from '/js/admin-shared.js?v=38ed2b51';
import { clr, el, focusFirst, initial, qa, setUserText } from '/js/utils.js?v=b6e6c040';
import { initDrag, wireRowDrag } from '/js/admin-drag.js?v=b2422767';
import { paintIcon } from '/js/admin-shared.js?v=36dc5cc1';
import { clr, el, focusFirst, initial, qa, setUserText } from '/js/utils.js?v=14b18b8c';
import { html, raw, setHtml } from '/js/html.js?v=c71f8903';
import { t } from '/js/i18n.js?v=f754f6fe';
import { sizeLabel } from '/js/admin-widget-form.js?v=0879c8a7';
import { t } from '/js/i18n.js?v=ed7c5565';
import { sizeLabel } from '/js/admin-widget-form.js?v=8a6be17f';
import { widgetGlyph } from '/js/widget-glyphs.js?v=b383b7c8';
import { iconSvg } from '/js/icon-set.js?v=628341d4';

Expand Down
12 changes: 6 additions & 6 deletions ui/js/admin-settings.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { toast, apiGet, apiPost, errorText, reveal, swapContent } from '/js/admin-shared.js?v=38ed2b51';
import { toast, apiGet, apiPost, errorText, reveal, swapContent } from '/js/admin-shared.js?v=36dc5cc1';
import { socketProbeAdvice } from '/js/admin-error.js?v=b0881957';
import { pwStrength } from '/js/password-strength.js?v=389e0ed0';
import { t } from '/js/i18n.js?v=f754f6fe';
import { t } from '/js/i18n.js?v=ed7c5565';
import {
shouldWritePassword,
settingsSaveBlocker,
Expand All @@ -11,11 +11,11 @@ import {
BLOCK,
} from '/js/admin-logic.js?v=fc7f0836';
import { confirmText, promptModal } from '/js/modal.js?v=6b0320bd';
import { el, inp, setUserText } from '/js/utils.js?v=b6e6c040';
import { formatNumber } from '/js/format-number.js?v=52226e9c';
import { el, inp, setUserText } from '/js/utils.js?v=14b18b8c';
import { formatNumber } from '/js/format-number.js?v=abcd4ae4';
import { serialWrites } from '/js/admin-save-logic.js?v=5811620e';
import { renderColorControl } from '/js/admin-color-control.js?v=44fdebde';
import { BACKDROP } from '/js/background.js?v=1bd5f25e';
import { renderColorControl } from '/js/admin-color-control.js?v=e80f4a68';
import { BACKDROP } from '/js/background.js?v=0f4ca726';
import {
ALLOWED_HOSTS_MAX,
firstBadHost,
Expand Down
8 changes: 4 additions & 4 deletions ui/js/admin-shared.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/* Stateless helpers shared by the admin modules. Mutable state stays out. */
import { recoversSession, toastHoldMs } from '/js/admin-logic.js?v=fc7f0836';
import { el, isolate, q } from '/js/utils.js?v=b6e6c040';
import { t } from '/js/i18n.js?v=f754f6fe';
import { el, isolate, q } from '/js/utils.js?v=14b18b8c';
import { t } from '/js/i18n.js?v=ed7c5565';
import { errorAdvice } from '/js/admin-error.js?v=b0881957';
import { formatList, formatNumber } from '/js/format-number.js?v=52226e9c';
import { formatList, formatNumber } from '/js/format-number.js?v=abcd4ae4';
import { iconChain } from '/js/icons.js?v=9c7b5111';
import { iconSvg } from '/js/icon-set.js?v=628341d4';
import { blockingScreenFor, recoveryShown, showBlockingScreen } from '/js/config-recovery.js?v=e22b5e5a';
import { blockingScreenFor, recoveryShown, showBlockingScreen } from '/js/config-recovery.js?v=85138697';

export const API = '';

Expand Down
10 changes: 5 additions & 5 deletions ui/js/admin-widget-form.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { state } from '/js/admin-state.js?v=af772a1b';
import { PE_SVG, initInlineEdit, swapContent } from '/js/admin-shared.js?v=38ed2b51';
import { createListbox } from '/js/listbox.js?v=ae7b9a38';
import { renderWidgetConfigForm } from '/js/widget-config-form.js?v=8c3f820d';
import { PE_SVG, initInlineEdit, swapContent } from '/js/admin-shared.js?v=36dc5cc1';
import { createListbox } from '/js/listbox.js?v=23e87940';
import { renderWidgetConfigForm } from '/js/widget-config-form.js?v=191cb80f';
import { html, raw, setHtml } from '/js/html.js?v=c71f8903';
import { sizesForView, widgetConfigMode, rejectionLines, carriesTypedValues } from '/js/admin-logic.js?v=fc7f0836';
import { t } from '/js/i18n.js?v=f754f6fe';
import { focusFirst, q, qi, qa } from '/js/utils.js?v=b6e6c040';
import { t } from '/js/i18n.js?v=ed7c5565';
import { focusFirst, q, qi, qa } from '/js/utils.js?v=14b18b8c';
import { iconSvg } from '/js/icon-set.js?v=628341d4';

const SIZES_WITH_ICONS = new Set(['small', 'medium', 'large', 'xlarge']);
Expand Down
24 changes: 12 additions & 12 deletions ui/js/admin.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { buildAppForm, buildFolderForm, captureActLabels, serializeKvRows } from '/js/admin-app-form.js?v=a896a105';
import { checkAuth, requireLogin, wirePasswordStrength } from '/js/admin-auth.js?v=8aee98e6';
import { recoveryShown } from '/js/config-recovery.js?v=e22b5e5a';
import { focusRow, initList, render, syncFilterUI } from '/js/admin-list.js?v=547999d2';
import { buildAppForm, buildFolderForm, captureActLabels, serializeKvRows } from '/js/admin-app-form.js?v=dd5f148f';
import { checkAuth, requireLogin, wirePasswordStrength } from '/js/admin-auth.js?v=71f8a57a';
import { recoveryShown } from '/js/config-recovery.js?v=85138697';
import { focusRow, initList, render, syncFilterUI } from '/js/admin-list.js?v=5bdad01b';
import { resolveAdminSection } from '/js/admin-logic.js?v=fc7f0836';
import {
afterImport,
Expand All @@ -21,7 +21,7 @@ import {
settingsDirty,
showBgFields,
showWallpaperFile,
} from '/js/admin-settings.js?v=a310b96a';
} from '/js/admin-settings.js?v=d69636fc';
import {
apiGet,
apiPost,
Expand All @@ -35,15 +35,15 @@ import {
setReauthHandler,
toast,
withheldText,
} from '/js/admin-shared.js?v=38ed2b51';
} from '/js/admin-shared.js?v=36dc5cc1';
import { collapsedFolders, filter, state } from '/js/admin-state.js?v=af772a1b';
import { buildWidgetForm } from '/js/admin-widget-form.js?v=0879c8a7';
import { buildWidgetForm } from '/js/admin-widget-form.js?v=8a6be17f';
import { initFluidHover } from '/js/fluid-hover.js?v=cb886e86';
import { formatNumber } from '/js/format-number.js?v=52226e9c';
import { formatNumber } from '/js/format-number.js?v=abcd4ae4';
import { initGlideSelect, syncGlideSelect } from '/js/glide-select.js?v=8b39e9d0';
import { createListbox } from '/js/listbox.js?v=ae7b9a38';
import { createListbox } from '/js/listbox.js?v=23e87940';
import { html, raw, setHtml } from '/js/html.js?v=c71f8903';
import { initI18n, LANGUAGES, t } from '/js/i18n.js?v=f754f6fe';
import { initI18n, LANGUAGES, t } from '/js/i18n.js?v=ed7c5565';
import { loadLocalIcons } from '/js/icons.js?v=9c7b5111';
import { ensureSprite, iconSvg } from '/js/icon-set.js?v=628341d4';
import {
Expand Down Expand Up @@ -80,8 +80,8 @@ import {
storeGet,
storeSet,
tgt,
} from '/js/utils.js?v=b6e6c040';
import { applyBackground, resolveBackground } from '/js/background.js?v=1bd5f25e';
} from '/js/utils.js?v=14b18b8c';
import { applyBackground, resolveBackground } from '/js/background.js?v=0f4ca726';
import { parseYamlTolerant, YamlLiteError, YamlTooLargeError } from '/js/yaml-lite.js?v=a42ef914';

ensureSprite();
Expand Down
2 changes: 1 addition & 1 deletion ui/js/background.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// @ts-check
import { cssColor, sanitizeCssUrl } from '/js/utils.js?v=b6e6c040';
import { cssColor, sanitizeCssUrl } from '/js/utils.js?v=14b18b8c';
import { loadWallpaper, saveWallpaper } from '/js/wallpaper-cache.js?v=c5f8a3e6';

export const BACKDROP = '#0d1117';
Expand Down
2 changes: 1 addition & 1 deletion ui/js/badge-popover.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
/* One element for the whole dashboard. A per-tile popover outlives the tiles
the grid rebuilds on every resize. */

import { formatNumber } from '/js/format-number.js?v=52226e9c';
import { formatNumber } from '/js/format-number.js?v=abcd4ae4';

const HOVER_IN_MS = 320;
const COMPAT_CLICK_MS = 500;
Expand Down
2 changes: 1 addition & 1 deletion ui/js/config-recovery.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// @ts-check
import { esc, html, raw, setHtml } from '/js/html.js?v=c71f8903';
import { LANGUAGES, initI18n, t } from '/js/i18n.js?v=f754f6fe';
import { LANGUAGES, initI18n, t } from '/js/i18n.js?v=ed7c5565';
import { sanitizeI18nMarkup } from '/js/i18n-markup.js?v=8c90e1dd';
import { fillNames, pickLanguage, screenFor } from '/js/config-recovery-logic.js?v=e6e24763';

Expand Down
16 changes: 8 additions & 8 deletions ui/js/dashboard.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ import {
storeSet,
teardownWidgets,
titleWhenTruncated,
} from '/js/utils.js?v=b6e6c040';
} from '/js/utils.js?v=14b18b8c';
import { initFluidHover } from '/js/fluid-hover.js?v=cb886e86';
import { initSpotlight } from '/js/spotlight.js?v=c39b3f63';
import { initSpotlight } from '/js/spotlight.js?v=97143da4';
import { html, setHtml, raw } from '/js/html.js?v=c71f8903';
import { initI18n, t, currentLang } from '/js/i18n.js?v=f754f6fe';
import { blockingScreenFor, showBlockingScreen } from '/js/config-recovery.js?v=e22b5e5a';
import { initI18n, t, currentLang } from '/js/i18n.js?v=ed7c5565';
import { blockingScreenFor, showBlockingScreen } from '/js/config-recovery.js?v=85138697';
import { pwStrength, passwordMismatch } from '/js/password-strength.js?v=389e0ed0';
import { setupErrorKey } from '/js/admin-error.js?v=b0881957';
import { sanitizeItemLinks } from '/js/link-url.js?v=54adb40f';
Expand All @@ -46,10 +46,10 @@ import {
buildMobile,
resetMobileChrome,
mkFolderGlyph,
} from '/js/ui.js?v=fd480686';
} from '/js/ui.js?v=6af083c8';
import { badgeMinimum, badgeSignature, computeBadgeVisual, readBadgeUpdate } from '/js/badge-logic.js?v=5c72bd4c';
import { formatNumber } from '/js/format-number.js?v=52226e9c';
import { closeBadgePopover, wireBadgePopover } from '/js/badge-popover.js?v=9f510a4c';
import { formatNumber } from '/js/format-number.js?v=abcd4ae4';
import { closeBadgePopover, wireBadgePopover } from '/js/badge-popover.js?v=23793736';
import { observeGlass } from '/js/glass-rim.js?v=3faec233';
import {
configChanged,
Expand All @@ -59,7 +59,7 @@ import {
restorePage,
wheelPager,
} from '/js/dashboard-logic.js?v=6a29cedc';
import { applyBackground, BACKDROP, resolveBackground } from '/js/background.js?v=1bd5f25e';
import { applyBackground, BACKDROP, resolveBackground } from '/js/background.js?v=0f4ca726';
import { repeatJittered } from '/js/jitter.js?v=087a1fcf';
import { isMobileLayout, onLayoutChange } from '/js/layout.js?v=e9f4b607';
import { startWakeLock } from '/js/wake-lock.js?v=6b9591cf';
Expand Down
7 changes: 5 additions & 2 deletions ui/js/format-number.js
Original file line number Diff line number Diff line change
Expand Up @@ -60,12 +60,15 @@ export function formatNumber(value, options) {
}

/** Join items the way the interface language writes a list.
@param {string[]} items @param {'conjunction'|'unit'} [type]
@param {string[]} items @param {'conjunction'|'plain'} [type]
@returns {string} */
export function formatList(items, type = 'conjunction') {
const list = items.map(String);
try {
return new Intl.ListFormat(language || 'en', { type, style: type === 'unit' ? 'short' : 'long' }).format(list);
return new Intl.ListFormat(language || 'en', {
type: 'conjunction',
style: type === 'plain' ? 'narrow' : 'long',
}).format(list);
} catch {
return list.join(', ');
}
Expand Down
2 changes: 1 addition & 1 deletion ui/js/i18n.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

import { setHtml } from '/js/html.js?v=c71f8903';
import { i18nMarkup } from '/js/i18n-markup.js?v=8c90e1dd';
import { formatNumber, setNumberLanguage } from '/js/format-number.js?v=52226e9c';
import { formatNumber, setNumberLanguage } from '/js/format-number.js?v=abcd4ae4';

/* The locale registry: the one place a supported language is defined.

Expand Down
6 changes: 3 additions & 3 deletions ui/js/listbox.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@

import { nextActiveIndex } from '/js/admin-logic.js?v=fc7f0836';
import { fluidHoverClear, fluidHoverKb } from '/js/fluid-hover.js?v=cb886e86';
import { formatList } from '/js/format-number.js?v=52226e9c';
import { formatList } from '/js/format-number.js?v=abcd4ae4';
import { html, raw, setHtml } from '/js/html.js?v=c71f8903';
import { qa } from '/js/utils.js?v=b6e6c040';
import { qa } from '/js/utils.js?v=14b18b8c';
import { iconSvg } from '/js/icon-set.js?v=628341d4';

const CHEV = iconSvg('chevrons', 22, 'solid', 'dd-chev');
Expand Down Expand Up @@ -118,7 +118,7 @@ export function createListbox(
else
text.textContent = formatList(
sel.map(o => o.label),
'unit',
'plain',
);
text.classList.toggle('is-ph', !sel.length && !summary);
const lang = !summary && sel.length === 1 ? sel[0].lang : '';
Expand Down
4 changes: 2 additions & 2 deletions ui/js/spotlight.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { fluidHoverClear, fluidHoverKb } from '/js/fluid-hover.js?v=cb886e86';
import { mk, clr, el, initial, inp as inpById, q, qa, setUserText } from '/js/utils.js?v=b6e6c040';
import { t } from '/js/i18n.js?v=f754f6fe';
import { mk, clr, el, initial, inp as inpById, q, qa, setUserText } from '/js/utils.js?v=14b18b8c';
import { t } from '/js/i18n.js?v=ed7c5565';

/* Attached to the window so a re-open can undo the previous one. */
const _w = /** @type {any} */ (window);
Expand Down
4 changes: 2 additions & 2 deletions ui/js/ui.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ import {
q,
qa,
setUserText,
} from '/js/utils.js?v=b6e6c040';
import { t, currentLang } from '/js/i18n.js?v=f754f6fe';
} from '/js/utils.js?v=14b18b8c';
import { t, currentLang } from '/js/i18n.js?v=ed7c5565';
import { toneForColor } from '/js/label-contrast.js?v=0b1ebb19';
import { mobileMetrics, gridColumnWidth, gridCellCount } from '/js/mobile-metrics.js?v=349f4300';
import { smoothRectPath } from '/js/smooth-corner.js?v=b7dda7e1';
Expand Down
2 changes: 1 addition & 1 deletion ui/js/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { toneForColor } from '/js/label-contrast.js?v=0b1ebb19';
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 { t } from '/js/i18n.js?v=f754f6fe';
import { t } from '/js/i18n.js?v=ed7c5565';
import { pageTheme, tileColor } from '/js/palette.js?v=3fb8ae43';

export const mk = (tag, a = {}) => {
Expand Down
12 changes: 6 additions & 6 deletions ui/js/widget-config-form.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/* Renders a widget's declared `fields` into a config form and reads the values
back. Each builder returns { el, get, control, liveValue }. */

import { t } from '/js/i18n.js?v=f754f6fe';
import { t } from '/js/i18n.js?v=ed7c5565';
import { html, raw, setHtml } from '/js/html.js?v=c71f8903';
import { reveal, wireInlineEdit } from '/js/admin-shared.js?v=38ed2b51';
import { createListbox } from '/js/listbox.js?v=ae7b9a38';
import { renderColorControl } from '/js/admin-color-control.js?v=44fdebde';
import { reveal, wireInlineEdit } from '/js/admin-shared.js?v=36dc5cc1';
import { createListbox } from '/js/listbox.js?v=23e87940';
import { renderColorControl } from '/js/admin-color-control.js?v=e80f4a68';
import {
seedCarried,
applyOptionSet,
Expand All @@ -15,8 +15,8 @@ import {
visibleFieldFlags,
} from '/js/admin-logic.js?v=fc7f0836';
import { optionsErrorAdvice, TONE } from '/js/admin-error.js?v=b0881957';
import { qi } from '/js/utils.js?v=b6e6c040';
import { formatNumber } from '/js/format-number.js?v=52226e9c';
import { qi } from '/js/utils.js?v=14b18b8c';
import { formatNumber } from '/js/format-number.js?v=abcd4ae4';

const PE =
'<svg width="17" height="17" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M11 4H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5"/><path d="M18.4 2.6a1.85 1.85 0 0 1 2.6 2.6l-9.1 9.1-3.4 1 1-3.4z"/></svg>';
Expand Down
Loading
Loading