@selvajs/ui 6.6.0-beta.17 → 6.6.0-beta.19
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/components/ErrorScreen.svelte +1 -1
- package/dist/components/compute/AppLayout.svelte +2 -2
- package/dist/components/compute/ComputeApp.svelte +1 -1
- package/dist/components/compute/ComputeApp.svelte.d.ts +1 -1
- package/dist/components/compute/ComputeMessagesDialog.svelte +3 -3
- package/dist/components/compute/SolveMessages.svelte +3 -3
- package/dist/components/layout/AppShell.svelte +1 -1
- package/dist/components/layout/FooterItemRenderer.svelte +1 -1
- package/dist/components/layout/FooterItemRenderer.svelte.d.ts +1 -1
- package/dist/components/layout/PageContent.svelte +3 -2
- package/dist/components/layout/PageFooter.svelte +3 -3
- package/dist/components/layout/PageHeader.svelte +2 -2
- package/dist/components/preview/ChartOutput.svelte +3 -3
- package/dist/components/preview/Group.svelte +3 -3
- package/dist/components/preview/HelpButton.svelte +1 -1
- package/dist/components/preview/ImageOutput.svelte +3 -3
- package/dist/components/preview/InputControl.svelte +12 -12
- package/dist/components/preview/OutputDisplay.svelte +4 -4
- package/dist/components/preview/TabBar.svelte +2 -2
- package/dist/components/preview/TabContent.svelte +7 -7
- package/dist/components/preview/TabLayout.svelte +3 -3
- package/dist/components/preview/inputs/CheckboxInput.svelte +1 -1
- package/dist/components/preview/inputs/ChecklistInput.svelte +2 -2
- package/dist/components/preview/inputs/ColorInput.svelte +6 -6
- package/dist/components/preview/inputs/DropdownInput.svelte +3 -3
- package/dist/components/preview/inputs/FileInput.svelte +14 -9
- package/dist/components/preview/inputs/GeometryInput.svelte +4 -4
- package/dist/components/preview/inputs/GeometryInput.svelte.d.ts +1 -1
- package/dist/components/preview/inputs/NumberInput.svelte +8 -8
- package/dist/components/preview/inputs/OptionGlyph.svelte +1 -1
- package/dist/components/preview/inputs/OptionGlyph.svelte.d.ts +1 -1
- package/dist/components/preview/inputs/SegmentedInput.svelte +4 -4
- package/dist/components/preview/inputs/TextInput.svelte +5 -5
- package/dist/components/preview/inputs/TileInput.svelte +5 -3
- package/dist/components/primitives/CalculateButton.svelte +1 -1
- package/dist/components/primitives/FilterableDropdown.svelte +13 -1
- package/dist/components/primitives/FilterableDropdown.svelte.d.ts +5 -0
- package/dist/components/primitives/button/button.svelte +1 -1
- package/dist/components/primitives/button/button.svelte.d.ts +1 -1
- package/dist/components/primitives/dialog/dialog-content.svelte +1 -1
- package/dist/components/primitives/input-group/input-group-input.svelte.d.ts +1 -1
- package/dist/components/primitives/mode-toggle/mode-toggle.svelte +2 -2
- package/dist/components/primitives/select/select-content.svelte +1 -1
- package/dist/components/primitives/tabs/tabs-list.svelte +1 -1
- package/dist/components/primitives/tabs/tabs-list.svelte.d.ts +3 -3
- package/dist/components/primitives/tabs/tabs-trigger.svelte +1 -1
- package/dist/components/primitives/tabs/tabs-trigger.svelte.d.ts +3 -3
- package/dist/components/primitives/toggle/toggle.svelte +1 -1
- package/dist/components/primitives/toggle/toggle.svelte.d.ts +3 -3
- package/dist/components/viewer/MeshMetadataPanel.svelte +1 -1
- package/dist/components/viewer/SceneManager.svelte +1 -1
- package/dist/components/viewer/Viewer.svelte +3 -35
- package/dist/components/viewer/Viewer.svelte.d.ts +1 -1
- package/dist/components/viewer/ViewerDock.svelte +10 -10
- package/dist/components/viewer/ViewerDock.svelte.d.ts +1 -1
- package/dist/composables/useFooterItem.svelte.d.ts +1 -1
- package/dist/composables/useFooterItem.svelte.js +1 -1
- package/dist/constants.js +1 -2
- package/dist/contexts/hostContext.svelte.d.ts +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/styles/base.css +49 -44
- package/package.json +17 -12
- package/src/lib/components/ErrorScreen.svelte +1 -1
- package/src/lib/components/compute/AppLayout.svelte +3 -3
- package/src/lib/components/compute/ComputeApp.svelte +1 -1
- package/src/lib/components/compute/ComputeMessagesDialog.svelte +4 -4
- package/src/lib/components/compute/SolveMessages.svelte +5 -5
- package/src/lib/components/layout/AppShell.svelte +1 -1
- package/src/lib/components/layout/FooterItemRenderer.svelte +1 -1
- package/src/lib/components/layout/PageContent.svelte +3 -2
- package/src/lib/components/layout/PageFooter.svelte +3 -3
- package/src/lib/components/layout/PageHeader.svelte +2 -2
- package/src/lib/components/layout/SideNav.svelte +1 -1
- package/src/lib/components/preview/ChartOutput.svelte +3 -3
- package/src/lib/components/preview/Group.svelte +3 -3
- package/src/lib/components/preview/HelpButton.svelte +1 -1
- package/src/lib/components/preview/ImageOutput.svelte +3 -3
- package/src/lib/components/preview/InputControl.svelte +12 -12
- package/src/lib/components/preview/OutputDisplay.svelte +4 -4
- package/src/lib/components/preview/TabBar.svelte +2 -2
- package/src/lib/components/preview/TabContent.svelte +7 -7
- package/src/lib/components/preview/TabLayout.svelte +3 -3
- package/src/lib/components/preview/inputs/CheckboxInput.svelte +1 -1
- package/src/lib/components/preview/inputs/ChecklistInput.svelte +2 -2
- package/src/lib/components/preview/inputs/ColorInput.svelte +6 -6
- package/src/lib/components/preview/inputs/DropdownInput.svelte +3 -3
- package/src/lib/components/preview/inputs/FileInput.svelte +14 -9
- package/src/lib/components/preview/inputs/GeometryInput.svelte +4 -4
- package/src/lib/components/preview/inputs/NumberInput.svelte +8 -8
- package/src/lib/components/preview/inputs/OptionGlyph.svelte +2 -2
- package/src/lib/components/preview/inputs/SegmentedInput.svelte +4 -4
- package/src/lib/components/preview/inputs/TextInput.svelte +5 -5
- package/src/lib/components/preview/inputs/TileInput.svelte +5 -3
- package/src/lib/components/primitives/CalculateButton.svelte +1 -1
- package/src/lib/components/primitives/Callout.svelte +1 -1
- package/src/lib/components/primitives/FilterableDropdown.svelte +14 -2
- package/src/lib/components/primitives/IssueList.svelte +1 -1
- package/src/lib/components/primitives/SeverityIcon.svelte +1 -1
- package/src/lib/components/primitives/StateDisplay.svelte +1 -1
- package/src/lib/components/primitives/alert-dialog/alert-dialog-action.svelte +2 -2
- package/src/lib/components/primitives/alert-dialog/alert-dialog-cancel.svelte +2 -2
- package/src/lib/components/primitives/alert-dialog/alert-dialog-content.svelte +1 -1
- package/src/lib/components/primitives/alert-dialog/alert-dialog-description.svelte +1 -1
- package/src/lib/components/primitives/alert-dialog/alert-dialog-footer.svelte +1 -1
- package/src/lib/components/primitives/alert-dialog/alert-dialog-header.svelte +1 -1
- package/src/lib/components/primitives/alert-dialog/alert-dialog-overlay.svelte +1 -1
- package/src/lib/components/primitives/alert-dialog/alert-dialog-title.svelte +1 -1
- package/src/lib/components/primitives/badge/badge.svelte +1 -1
- package/src/lib/components/primitives/button/button.svelte +1 -1
- package/src/lib/components/primitives/button-group/button-group-separator.svelte +2 -2
- package/src/lib/components/primitives/button-group/button-group-text.svelte +1 -1
- package/src/lib/components/primitives/button-group/button-group.svelte +1 -1
- package/src/lib/components/primitives/card/card-content.svelte +1 -1
- package/src/lib/components/primitives/card/card-description.svelte +1 -1
- package/src/lib/components/primitives/card/card-footer.svelte +1 -1
- package/src/lib/components/primitives/card/card-header.svelte +1 -1
- package/src/lib/components/primitives/card/card-title.svelte +1 -1
- package/src/lib/components/primitives/card/card.svelte +1 -1
- package/src/lib/components/primitives/checkbox/checkbox.svelte +1 -1
- package/src/lib/components/primitives/command/command-dialog.svelte +2 -2
- package/src/lib/components/primitives/command/command-empty.svelte +1 -1
- package/src/lib/components/primitives/command/command-group.svelte +1 -1
- package/src/lib/components/primitives/command/command-input.svelte +2 -2
- package/src/lib/components/primitives/command/command-item.svelte +1 -1
- package/src/lib/components/primitives/command/command-link-item.svelte +1 -1
- package/src/lib/components/primitives/command/command-list.svelte +1 -1
- package/src/lib/components/primitives/command/command-separator.svelte +1 -1
- package/src/lib/components/primitives/command/command-shortcut.svelte +1 -1
- package/src/lib/components/primitives/command/command.svelte +1 -1
- package/src/lib/components/primitives/context-menu/context-menu-checkbox-item.svelte +1 -1
- package/src/lib/components/primitives/context-menu/context-menu-content.svelte +1 -1
- package/src/lib/components/primitives/context-menu/context-menu-group-heading.svelte +1 -1
- package/src/lib/components/primitives/context-menu/context-menu-item.svelte +1 -1
- package/src/lib/components/primitives/context-menu/context-menu-label.svelte +1 -1
- package/src/lib/components/primitives/context-menu/context-menu-radio-item.svelte +1 -1
- package/src/lib/components/primitives/context-menu/context-menu-separator.svelte +1 -1
- package/src/lib/components/primitives/context-menu/context-menu-shortcut.svelte +1 -1
- package/src/lib/components/primitives/context-menu/context-menu-sub-content.svelte +1 -1
- package/src/lib/components/primitives/context-menu/context-menu-sub-trigger.svelte +1 -1
- package/src/lib/components/primitives/dialog/dialog-content.svelte +2 -2
- package/src/lib/components/primitives/dialog/dialog-description.svelte +1 -1
- package/src/lib/components/primitives/dialog/dialog-footer.svelte +1 -1
- package/src/lib/components/primitives/dialog/dialog-header.svelte +1 -1
- package/src/lib/components/primitives/dialog/dialog-overlay.svelte +1 -1
- package/src/lib/components/primitives/dialog/dialog-title.svelte +1 -1
- package/src/lib/components/primitives/dropdown-menu/dropdown-menu-checkbox-item.svelte +1 -1
- package/src/lib/components/primitives/dropdown-menu/dropdown-menu-content.svelte +1 -1
- package/src/lib/components/primitives/dropdown-menu/dropdown-menu-group-heading.svelte +1 -1
- package/src/lib/components/primitives/dropdown-menu/dropdown-menu-item.svelte +1 -1
- package/src/lib/components/primitives/dropdown-menu/dropdown-menu-label.svelte +1 -1
- package/src/lib/components/primitives/dropdown-menu/dropdown-menu-radio-item.svelte +1 -1
- package/src/lib/components/primitives/dropdown-menu/dropdown-menu-separator.svelte +1 -1
- package/src/lib/components/primitives/dropdown-menu/dropdown-menu-shortcut.svelte +1 -1
- package/src/lib/components/primitives/dropdown-menu/dropdown-menu-sub-content.svelte +1 -1
- package/src/lib/components/primitives/dropdown-menu/dropdown-menu-sub-trigger.svelte +1 -1
- package/src/lib/components/primitives/empty/empty-content.svelte +1 -1
- package/src/lib/components/primitives/empty/empty-description.svelte +1 -1
- package/src/lib/components/primitives/empty/empty-header.svelte +1 -1
- package/src/lib/components/primitives/empty/empty-media.svelte +1 -1
- package/src/lib/components/primitives/empty/empty-title.svelte +1 -1
- package/src/lib/components/primitives/empty/empty.svelte +1 -1
- package/src/lib/components/primitives/field/field-content.svelte +1 -1
- package/src/lib/components/primitives/field/field-description.svelte +1 -1
- package/src/lib/components/primitives/field/field-error.svelte +1 -1
- package/src/lib/components/primitives/field/field-group.svelte +1 -1
- package/src/lib/components/primitives/field/field-label.svelte +2 -2
- package/src/lib/components/primitives/field/field-legend.svelte +1 -1
- package/src/lib/components/primitives/field/field-separator.svelte +2 -2
- package/src/lib/components/primitives/field/field-set.svelte +1 -1
- package/src/lib/components/primitives/field/field-title.svelte +1 -1
- package/src/lib/components/primitives/field/field.svelte +1 -1
- package/src/lib/components/primitives/input/input.svelte +1 -1
- package/src/lib/components/primitives/input-group/input-group-addon.svelte +1 -1
- package/src/lib/components/primitives/input-group/input-group-button.svelte +2 -2
- package/src/lib/components/primitives/input-group/input-group-input.svelte +2 -2
- package/src/lib/components/primitives/input-group/input-group-text.svelte +1 -1
- package/src/lib/components/primitives/input-group/input-group-textarea.svelte +2 -2
- package/src/lib/components/primitives/input-group/input-group.svelte +1 -1
- package/src/lib/components/primitives/label/label.svelte +1 -1
- package/src/lib/components/primitives/mode-toggle/mode-toggle.svelte +2 -2
- package/src/lib/components/primitives/popover/popover-content.svelte +1 -1
- package/src/lib/components/primitives/popover/popover-description.svelte +1 -1
- package/src/lib/components/primitives/popover/popover-header.svelte +1 -1
- package/src/lib/components/primitives/popover/popover-title.svelte +1 -1
- package/src/lib/components/primitives/popover/popover-trigger.svelte +1 -1
- package/src/lib/components/primitives/resizable/resizable-handle.svelte +1 -1
- package/src/lib/components/primitives/resizable/resizable-pane-group.svelte +1 -1
- package/src/lib/components/primitives/scroll-area/scroll-area-scrollbar.svelte +1 -1
- package/src/lib/components/primitives/scroll-area/scroll-area.svelte +1 -1
- package/src/lib/components/primitives/search/search.svelte +1 -1
- package/src/lib/components/primitives/select/select-content.svelte +2 -2
- package/src/lib/components/primitives/select/select-group-heading.svelte +1 -1
- package/src/lib/components/primitives/select/select-item.svelte +1 -1
- package/src/lib/components/primitives/select/select-label.svelte +1 -1
- package/src/lib/components/primitives/select/select-scroll-down-button.svelte +1 -1
- package/src/lib/components/primitives/select/select-scroll-up-button.svelte +1 -1
- package/src/lib/components/primitives/select/select-separator.svelte +2 -2
- package/src/lib/components/primitives/select/select-trigger.svelte +1 -1
- package/src/lib/components/primitives/separator/separator.svelte +1 -1
- package/src/lib/components/primitives/slider/slider.svelte +1 -1
- package/src/lib/components/primitives/spinner/spinner.svelte +1 -1
- package/src/lib/components/primitives/switch/switch.svelte +1 -1
- package/src/lib/components/primitives/tabs/tabs-content.svelte +1 -1
- package/src/lib/components/primitives/tabs/tabs-list.svelte +2 -2
- package/src/lib/components/primitives/tabs/tabs-trigger.svelte +2 -2
- package/src/lib/components/primitives/tabs/tabs.svelte +1 -1
- package/src/lib/components/primitives/textarea/textarea.svelte +1 -1
- package/src/lib/components/primitives/toggle/toggle.svelte +2 -2
- package/src/lib/components/primitives/toggle-group/toggle-group-item.svelte +2 -2
- package/src/lib/components/primitives/toggle-group/toggle-group.svelte +2 -2
- package/src/lib/components/primitives/tooltip/tooltip-content.svelte +1 -1
- package/src/lib/components/viewer/MeshMetadataPanel.svelte +1 -1
- package/src/lib/components/viewer/SceneManager.svelte +1 -1
- package/src/lib/components/viewer/Viewer.svelte +4 -36
- package/src/lib/components/viewer/ViewerDock.svelte +11 -11
- package/src/lib/composables/useFooterItem.svelte.ts +1 -1
- package/src/lib/constants.ts +1 -2
- package/src/lib/contexts/hostContext.svelte.ts +1 -1
- package/src/lib/index.ts +1 -0
- package/src/lib/styles/base.css +49 -44
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import * as Card from './primitives/card/index.js';
|
|
4
4
|
import { Button } from './primitives/button/index.js';
|
|
5
5
|
import Callout from './primitives/Callout.svelte';
|
|
6
|
-
import { getLocaleContext } from '../i18n/localeContext.svelte';
|
|
6
|
+
import { getLocaleContext } from '../i18n/localeContext.svelte.js';
|
|
7
7
|
|
|
8
8
|
interface Props {
|
|
9
9
|
status?: number;
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
import SolvingIndicator from '../primitives/SolvingIndicator.svelte';
|
|
12
12
|
import TabLayout from '../preview/TabLayout.svelte';
|
|
13
13
|
import CollapsedPanelStrip from './CollapsedPanelStrip.svelte';
|
|
14
|
-
import * as Resizable from '../primitives/resizable';
|
|
14
|
+
import * as Resizable from '../primitives/resizable/index.js';
|
|
15
15
|
import * as DropdownMenu from '../primitives/dropdown-menu/index.js';
|
|
16
|
-
import { Button } from '
|
|
16
|
+
import { Button } from '../../index.js';
|
|
17
17
|
import ParameterPresetManager from './ParameterPresetManager.svelte';
|
|
18
18
|
import { runPanelAction } from '../../compute/run-panel-action';
|
|
19
19
|
import { getLocaleContext } from '../../i18n/localeContext.svelte';
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
footerText?: string;
|
|
58
58
|
/**
|
|
59
59
|
* How long one solve may take before the client aborts it (ms). Pass the same value the
|
|
60
|
-
* server enforces
|
|
60
|
+
* server enforces for this definition's compute server, or the client aborts solves that would
|
|
61
61
|
* have finished.
|
|
62
62
|
*/
|
|
63
63
|
solveDeadlineMs: number;
|
|
@@ -36,7 +36,7 @@ interface Props {
|
|
|
36
36
|
footerText?: string;
|
|
37
37
|
/**
|
|
38
38
|
* How long one solve may take before the client aborts it (ms). Pass the same value the
|
|
39
|
-
* server enforces
|
|
39
|
+
* server enforces for this definition's compute server, or the client aborts solves that would
|
|
40
40
|
* have finished.
|
|
41
41
|
*/
|
|
42
42
|
solveDeadlineMs: number;
|
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
|
|
9
9
|
import type { Snippet } from 'svelte';
|
|
10
10
|
import type { SolveDiagnostic } from '@selvajs/solve/shared';
|
|
11
|
-
import * as Dialog from '../primitives/dialog';
|
|
11
|
+
import * as Dialog from '../primitives/dialog/index.js';
|
|
12
12
|
import IssueList, { type Issue } from '../primitives/IssueList.svelte';
|
|
13
|
-
import { getLocaleContext } from '../../i18n/localeContext.svelte';
|
|
14
|
-
import { formatCount } from '../../i18n/messages';
|
|
13
|
+
import { getLocaleContext } from '../../i18n/localeContext.svelte.js';
|
|
14
|
+
import { formatCount } from '../../i18n/messages.js';
|
|
15
15
|
|
|
16
16
|
interface Props {
|
|
17
17
|
/** The last solve's messages. Preferred over `errors`/`warnings` when both are given. */
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
import { LoaderCircle } from '@lucide/svelte';
|
|
17
17
|
import type { SolveDiagnostic } from '@selvajs/solve/shared';
|
|
18
18
|
import type { LiveSolveState, SolvePhase } from '@selvajs/solve/client';
|
|
19
|
-
import { Button } from '../primitives/button';
|
|
19
|
+
import { Button } from '../primitives/button/index.js';
|
|
20
20
|
import IssueList, { type Issue } from '../primitives/IssueList.svelte';
|
|
21
21
|
import SeverityIcon from '../primitives/SeverityIcon.svelte';
|
|
22
|
-
import { getLocaleContext } from '../../i18n/localeContext.svelte';
|
|
22
|
+
import { getLocaleContext } from '../../i18n/localeContext.svelte.js';
|
|
23
23
|
|
|
24
24
|
interface Props {
|
|
25
25
|
/** What the running (or most recent) solve has said over the live channel. */
|
|
@@ -319,7 +319,7 @@
|
|
|
319
319
|
title={t.solveMessagesEscHint}
|
|
320
320
|
>
|
|
321
321
|
{t.solveMessagesAbort}
|
|
322
|
-
<kbd class="px-1
|
|
322
|
+
<kbd class="px-1 rounded-sm border border-border font-sans text-2xs opacity-70">
|
|
323
323
|
Esc
|
|
324
324
|
</kbd>
|
|
325
325
|
</Button>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
// from the main column's left edge — that one spans the full body height.
|
|
102
102
|
const mainClass = $derived(
|
|
103
103
|
_mode === 'fixed'
|
|
104
|
-
? 'min-h-0 flex-1 overflow-y-auto'
|
|
104
|
+
? 'min-h-0 min-w-0 flex-1 overflow-y-auto'
|
|
105
105
|
: 'min-w-0 flex-1 overflow-y-auto border-border sm:border-l'
|
|
106
106
|
);
|
|
107
107
|
</script>
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
let { class: className = '', children }: PageContentProps = $props();
|
|
8
8
|
</script>
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
<!-- One content width for every page, so moving between pages doesn't change the frame. -->
|
|
11
|
+
<div class={`max-w-6xl min-w-0 mx-auto w-full px-(--page-px) py-(--page-py) ${className}`}>
|
|
11
12
|
{@render children?.()}
|
|
12
|
-
</
|
|
13
|
+
</div>
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
import type { Snippet } from 'svelte';
|
|
3
3
|
import { CircleAlert, TriangleAlert, Info } from '@lucide/svelte';
|
|
4
4
|
import type { SolveDiagnostic } from '@selvajs/solve/shared';
|
|
5
|
-
import { useFooter } from '../../contexts/footerContext.svelte';
|
|
5
|
+
import { useFooter } from '../../contexts/footerContext.svelte.js';
|
|
6
6
|
import ComputeMessagesDialog from '../compute/ComputeMessagesDialog.svelte';
|
|
7
7
|
import FooterItemRenderer from './FooterItemRenderer.svelte';
|
|
8
|
-
import { getLocaleContext } from '../../i18n/localeContext.svelte';
|
|
9
|
-
import { formatCount, formatMessage } from '../../i18n/messages';
|
|
8
|
+
import { getLocaleContext } from '../../i18n/localeContext.svelte.js';
|
|
9
|
+
import { formatCount, formatMessage } from '../../i18n/messages.js';
|
|
10
10
|
|
|
11
11
|
interface Props {
|
|
12
12
|
errors?: string[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { Snippet } from 'svelte';
|
|
3
|
-
import { ModeToggle } from '../primitives/mode-toggle';
|
|
3
|
+
import { ModeToggle } from '../primitives/mode-toggle/index.js';
|
|
4
4
|
|
|
5
5
|
interface PageHeaderProps {
|
|
6
6
|
homeUrl?: string;
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
<div class="gap-2 sm:gap-5 flex h-(--header-h) items-center px-(--page-px)">
|
|
35
35
|
<!-- Logo -->
|
|
36
36
|
<a href={homeUrl} class="gap-2 flex shrink-0 items-center" aria-label={brandName}>
|
|
37
|
-
<img src={logo} alt="" aria-hidden="true" class="h-
|
|
37
|
+
<img src={logo} alt="" aria-hidden="true" class="h-7 w-7" />
|
|
38
38
|
<!-- On a phone the page title needs the room more than the brand does. -->
|
|
39
39
|
<span
|
|
40
40
|
class="font-semibold text-sm tracking-tight {title !== undefined ? 'sm:inline hidden' : ''}"
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
import { onMount, tick } from 'svelte';
|
|
4
4
|
import { mode } from 'mode-watcher';
|
|
5
5
|
import { Loader, Maximize, Minimize } from '@lucide/svelte';
|
|
6
|
-
import { loadScript } from '../../utils/loadScript';
|
|
7
|
-
import { getLocaleContext } from '../../i18n/localeContext.svelte';
|
|
8
|
-
import { formatMessage } from '../../i18n/messages';
|
|
6
|
+
import { loadScript } from '../../utils/loadScript.js';
|
|
7
|
+
import { getLocaleContext } from '../../i18n/localeContext.svelte.js';
|
|
8
|
+
import { formatMessage } from '../../i18n/messages.js';
|
|
9
9
|
|
|
10
10
|
interface Props {
|
|
11
11
|
item: OutputChartLayoutItem;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import type { LayoutItem, InputLayoutItem, OutputLayoutItem } from '@selvajs/schemas';
|
|
3
3
|
import type { Snippet } from 'svelte';
|
|
4
4
|
import { ChevronDown } from '@lucide/svelte';
|
|
5
|
-
import { buildVisibilityMap, itemKey } from '../../schema/visibility-rules';
|
|
5
|
+
import { buildVisibilityMap, itemKey } from '../../schema/visibility-rules.js';
|
|
6
6
|
|
|
7
7
|
interface Props {
|
|
8
8
|
label: string;
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
{/if}
|
|
108
108
|
<div class="content-wrapper" class:collapsed inert={collapsed}>
|
|
109
109
|
<div class="content-inner">
|
|
110
|
-
<div class="px-4 pt-
|
|
110
|
+
<div class="px-4 pt-2 pb-5">
|
|
111
111
|
{@render grid()}
|
|
112
112
|
</div>
|
|
113
113
|
</div>
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
.schema-grid {
|
|
153
153
|
display: grid;
|
|
154
154
|
grid-template-columns: repeat(var(--schema-cols), minmax(0, 1fr));
|
|
155
|
-
gap:
|
|
155
|
+
gap: 1.25rem var(--column-gap);
|
|
156
156
|
align-items: start;
|
|
157
157
|
}
|
|
158
158
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { HelpCircle } from '@lucide/svelte';
|
|
3
|
-
import * as Dialog from '../primitives/dialog';
|
|
3
|
+
import * as Dialog from '../primitives/dialog/index.js';
|
|
4
4
|
|
|
5
5
|
interface Props {
|
|
6
6
|
/** The field's label: the dialog title and the button's accessible name. */
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
ZoomIn,
|
|
13
13
|
ZoomOut
|
|
14
14
|
} from '@lucide/svelte';
|
|
15
|
-
import { downloadFiles, isFileData, MIME_BY_EXT } from '../../utils/file-download';
|
|
16
|
-
import { getLocaleContext } from '../../i18n/localeContext.svelte';
|
|
17
|
-
import { formatMessage } from '../../i18n/messages';
|
|
15
|
+
import { downloadFiles, isFileData, MIME_BY_EXT } from '../../utils/file-download.js';
|
|
16
|
+
import { getLocaleContext } from '../../i18n/localeContext.svelte.js';
|
|
17
|
+
import { formatMessage } from '../../i18n/messages.js';
|
|
18
18
|
|
|
19
19
|
interface Props {
|
|
20
20
|
item: OutputImageLayoutItem;
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
isFileWidget,
|
|
17
17
|
isColorWidget
|
|
18
18
|
} from '@selvajs/schemas';
|
|
19
|
-
import * as Field from '../primitives/field';
|
|
20
|
-
import { Button } from '../primitives/button';
|
|
21
|
-
import { toast } from '../primitives/sonner';
|
|
19
|
+
import * as Field from '../primitives/field/index.js';
|
|
20
|
+
import { Button } from '../primitives/button/index.js';
|
|
21
|
+
import { toast } from '../primitives/sonner/index.js';
|
|
22
22
|
import HelpButton from './HelpButton.svelte';
|
|
23
23
|
import {
|
|
24
24
|
CheckboxInput,
|
|
@@ -31,16 +31,16 @@
|
|
|
31
31
|
SegmentedInput,
|
|
32
32
|
TextInput,
|
|
33
33
|
TileInput
|
|
34
|
-
} from './inputs';
|
|
35
|
-
import { getClientSlot } from '../../contexts/clientSlotContext.svelte';
|
|
34
|
+
} from './inputs/index.js';
|
|
35
|
+
import { getClientSlot } from '../../contexts/clientSlotContext.svelte.js';
|
|
36
36
|
import {
|
|
37
37
|
getHostContext,
|
|
38
38
|
type GeometryPickTarget,
|
|
39
39
|
type PickKind
|
|
40
|
-
} from '../../contexts/hostContext.svelte';
|
|
41
|
-
import { getLocaleContext } from '../../i18n/localeContext.svelte';
|
|
42
|
-
import { isGeometryParamType, isTriggerItem } from '../../schema/host-support';
|
|
43
|
-
import { resolveOptionDisplay } from '../../schema/option-display';
|
|
40
|
+
} from '../../contexts/hostContext.svelte.js';
|
|
41
|
+
import { getLocaleContext } from '../../i18n/localeContext.svelte.js';
|
|
42
|
+
import { isGeometryParamType, isTriggerItem } from '../../schema/host-support.js';
|
|
43
|
+
import { resolveOptionDisplay } from '../../schema/option-display.js';
|
|
44
44
|
|
|
45
45
|
interface Props {
|
|
46
46
|
item: InputLayoutItem;
|
|
@@ -283,7 +283,7 @@
|
|
|
283
283
|
|
|
284
284
|
{#if isClientSlot}
|
|
285
285
|
{#if clientSlot}
|
|
286
|
-
<div role="group" class="group/field gap-
|
|
286
|
+
<div role="group" class="group/field gap-2 min-w-0 flex flex-col">
|
|
287
287
|
{@render fieldHeader()}
|
|
288
288
|
{@render clientSlot({
|
|
289
289
|
inputId: item.paramId,
|
|
@@ -294,7 +294,7 @@
|
|
|
294
294
|
</div>
|
|
295
295
|
{/if}
|
|
296
296
|
{:else if isGeometry}
|
|
297
|
-
<div role="group" class="group/field gap-
|
|
297
|
+
<div role="group" class="group/field gap-2 min-w-0 flex flex-col">
|
|
298
298
|
{@render fieldHeader(inputId)}
|
|
299
299
|
<GeometryInput
|
|
300
300
|
{inputId}
|
|
@@ -322,7 +322,7 @@
|
|
|
322
322
|
{@render helpButton()}
|
|
323
323
|
</div>
|
|
324
324
|
{:else if !hideDynamicListWhenEmpty}
|
|
325
|
-
<div role="group" class="group/field gap-
|
|
325
|
+
<div role="group" class="group/field gap-2 min-w-0 flex flex-col">
|
|
326
326
|
{#if !isCheckboxWidget(item)}
|
|
327
327
|
{@render fieldHeader(inputId)}
|
|
328
328
|
{/if}
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
formatFileSize,
|
|
9
9
|
getBase64FileSize,
|
|
10
10
|
isFileData
|
|
11
|
-
} from '../../utils/file-download';
|
|
11
|
+
} from '../../utils/file-download.js';
|
|
12
12
|
import { Button } from '../primitives';
|
|
13
13
|
import { Folder, FolderOpen, FileIcon, ChevronRight } from '@lucide/svelte';
|
|
14
14
|
import HelpButton from './HelpButton.svelte';
|
|
15
15
|
import { SvelteMap, SvelteSet } from 'svelte/reactivity';
|
|
16
|
-
import { Label } from '../primitives/label';
|
|
17
|
-
import { getLocaleContext } from '../../i18n/localeContext.svelte';
|
|
18
|
-
import { formatCount, formatMessage } from '../../i18n/messages';
|
|
16
|
+
import { Label } from '../primitives/label/index.js';
|
|
17
|
+
import { getLocaleContext } from '../../i18n/localeContext.svelte.js';
|
|
18
|
+
import { formatCount, formatMessage } from '../../i18n/messages.js';
|
|
19
19
|
|
|
20
20
|
interface Props {
|
|
21
21
|
item: OutputLayoutItem;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { TabConfig } from '@selvajs/schemas';
|
|
3
|
-
import * as Tabs from '../primitives/tabs';
|
|
3
|
+
import * as Tabs from '../primitives/tabs/index.js';
|
|
4
4
|
import { ChevronLeft, ChevronRight } from '@lucide/svelte';
|
|
5
5
|
import Icon from '@iconify/svelte';
|
|
6
|
-
import { getLocaleContext } from '../../i18n/localeContext.svelte';
|
|
6
|
+
import { getLocaleContext } from '../../i18n/localeContext.svelte.js';
|
|
7
7
|
|
|
8
8
|
const locale = getLocaleContext();
|
|
9
9
|
const t = $derived(locale.messages);
|
|
@@ -8,16 +8,16 @@
|
|
|
8
8
|
InputLayoutItem,
|
|
9
9
|
OutputLayoutItem
|
|
10
10
|
} from '@selvajs/schemas';
|
|
11
|
-
import * as Tabs from '../primitives/tabs';
|
|
12
|
-
import { ScrollArea } from '../primitives/scroll-area';
|
|
11
|
+
import * as Tabs from '../primitives/tabs/index.js';
|
|
12
|
+
import { ScrollArea } from '../primitives/scroll-area/index.js';
|
|
13
13
|
import StateDisplay from '../primitives/StateDisplay.svelte';
|
|
14
14
|
import Group from './Group.svelte';
|
|
15
15
|
import InputControl from './InputControl.svelte';
|
|
16
16
|
import OutputDisplay from './OutputDisplay.svelte';
|
|
17
|
-
import { evaluateGroupVisibility } from '../../schema/visibility-rules';
|
|
18
|
-
import { isSupportedOn, layoutItemKind } from '../../schema/host-support';
|
|
19
|
-
import { getHostContext } from '../../contexts/hostContext.svelte';
|
|
20
|
-
import { getLocaleContext } from '../../i18n/localeContext.svelte';
|
|
17
|
+
import { evaluateGroupVisibility } from '../../schema/visibility-rules.js';
|
|
18
|
+
import { isSupportedOn, layoutItemKind } from '../../schema/host-support.js';
|
|
19
|
+
import { getHostContext } from '../../contexts/hostContext.svelte.js';
|
|
20
|
+
import { getLocaleContext } from '../../i18n/localeContext.svelte.js';
|
|
21
21
|
|
|
22
22
|
const locale = getLocaleContext();
|
|
23
23
|
const t = $derived(locale.messages);
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
{#if visibleGroups.length === 0}
|
|
114
114
|
<StateDisplay type="empty" size="medium" message={t.tabNoGroups} />
|
|
115
115
|
{:else}
|
|
116
|
-
<div class="gap-
|
|
116
|
+
<div class="gap-4 py-4 flex flex-col">
|
|
117
117
|
{#each visibleGroups as group (group.id)}
|
|
118
118
|
<Group
|
|
119
119
|
label={group.label}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { UISchema, SupportedTypes } from '@selvajs/schemas';
|
|
3
|
-
import * as Tabs from '../primitives/tabs';
|
|
3
|
+
import * as Tabs from '../primitives/tabs/index.js';
|
|
4
4
|
import TabBar from './TabBar.svelte';
|
|
5
5
|
import TabContent from './TabContent.svelte';
|
|
6
|
-
import { isTabVisible } from '../../schema/visibility-rules';
|
|
7
|
-
import { buildDynamicValueListOptions } from '../../schema/dynamic-value-list';
|
|
6
|
+
import { isTabVisible } from '../../schema/visibility-rules.js';
|
|
7
|
+
import { buildDynamicValueListOptions } from '../../schema/dynamic-value-list.js';
|
|
8
8
|
|
|
9
9
|
interface Props {
|
|
10
10
|
schema: UISchema;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { Snippet } from 'svelte';
|
|
3
3
|
import type { SupportedTypes } from '@selvajs/schemas';
|
|
4
|
-
import { Checkbox } from '../../primitives/checkbox';
|
|
4
|
+
import { Checkbox } from '../../primitives/checkbox/index.js';
|
|
5
5
|
|
|
6
6
|
interface Props {
|
|
7
7
|
inputId: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { DropdownWidgetConfig, SupportedTypes, UISchema } from '@selvajs/schemas';
|
|
3
|
-
import { Checkbox } from '../../primitives/checkbox';
|
|
4
|
-
import { optionGlyph } from '../../../schema/option-display';
|
|
3
|
+
import { Checkbox } from '../../primitives/checkbox/index.js';
|
|
4
|
+
import { optionGlyph } from '../../../schema/option-display.js';
|
|
5
5
|
import OptionGlyph from './OptionGlyph.svelte';
|
|
6
6
|
import { SvelteSet } from 'svelte/reactivity';
|
|
7
7
|
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { untrack } from 'svelte';
|
|
3
3
|
import { Check, Pipette } from '@lucide/svelte';
|
|
4
|
-
import * as Popover from '../../primitives/popover';
|
|
5
|
-
import { Input } from '../../primitives/input';
|
|
6
|
-
import { getLocaleContext } from '../../../i18n/localeContext.svelte';
|
|
7
|
-
import { formatMessage } from '../../../i18n/messages';
|
|
8
|
-
import { debounce } from '../../../utils/debounce';
|
|
4
|
+
import * as Popover from '../../primitives/popover/index.js';
|
|
5
|
+
import { Input } from '../../primitives/input/index.js';
|
|
6
|
+
import { getLocaleContext } from '../../../i18n/localeContext.svelte.js';
|
|
7
|
+
import { formatMessage } from '../../../i18n/messages.js';
|
|
8
|
+
import { debounce } from '../../../utils/debounce.js';
|
|
9
9
|
import {
|
|
10
10
|
contrastRatio,
|
|
11
11
|
hexToHsv,
|
|
12
12
|
hsvToHex,
|
|
13
13
|
normalizeHex,
|
|
14
14
|
type Hsv
|
|
15
|
-
} from '../../../utils/color-space';
|
|
15
|
+
} from '../../../utils/color-space.js';
|
|
16
16
|
|
|
17
17
|
interface Props {
|
|
18
18
|
inputId: string;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { DropdownWidgetConfig, SupportedTypes, UISchema } from '@selvajs/schemas';
|
|
3
|
-
import * as Select from '../../primitives/select';
|
|
4
|
-
import { optionGlyph } from '../../../schema/option-display';
|
|
3
|
+
import * as Select from '../../primitives/select/index.js';
|
|
4
|
+
import { optionGlyph } from '../../../schema/option-display.js';
|
|
5
5
|
import OptionGlyph from './OptionGlyph.svelte';
|
|
6
|
-
import { getLocaleContext } from '../../../i18n/localeContext.svelte';
|
|
6
|
+
import { getLocaleContext } from '../../../i18n/localeContext.svelte.js';
|
|
7
7
|
|
|
8
8
|
interface Props {
|
|
9
9
|
value?: string;
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import { Input } from '../../primitives/input';
|
|
3
|
-
import { Button } from '../../primitives/button';
|
|
4
|
-
import { Label } from '../../primitives/label';
|
|
5
|
-
import { toast } from '../../primitives/sonner';
|
|
2
|
+
import { Input } from '../../primitives/input/index.js';
|
|
3
|
+
import { Button } from '../../primitives/button/index.js';
|
|
4
|
+
import { Label } from '../../primitives/label/index.js';
|
|
5
|
+
import { toast } from '../../primitives/sonner/index.js';
|
|
6
6
|
import { FileUp, Link, CircleAlert, CircleCheck } from '@lucide/svelte';
|
|
7
|
-
import { APP_DEFAULTS } from '../../../constants';
|
|
8
|
-
import { getLocaleContext } from '../../../i18n/localeContext.svelte';
|
|
9
|
-
import { formatMessage } from '../../../i18n/messages';
|
|
10
|
-
import { pickFile } from '../../../utils/host-files';
|
|
11
|
-
import {
|
|
7
|
+
import { APP_DEFAULTS } from '../../../constants.js';
|
|
8
|
+
import { getLocaleContext } from '../../../i18n/localeContext.svelte.js';
|
|
9
|
+
import { formatMessage } from '../../../i18n/messages.js';
|
|
10
|
+
import { pickFile } from '../../../utils/host-files.js';
|
|
11
|
+
import {
|
|
12
|
+
acceptsFileEnding,
|
|
13
|
+
isWebp,
|
|
14
|
+
shouldConvertWebp,
|
|
15
|
+
webpToPng
|
|
16
|
+
} from '../../../utils/webp-to-png.js';
|
|
12
17
|
|
|
13
18
|
interface Props {
|
|
14
19
|
value?: string;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import { Button } from '../../primitives/button';
|
|
3
|
-
import type { GeometryPickResult, PickKind } from '../../../contexts/hostContext.svelte';
|
|
4
|
-
import { getLocaleContext } from '../../../i18n/localeContext.svelte';
|
|
5
|
-
import type { ViewerMessages } from '../../../i18n/messages';
|
|
2
|
+
import { Button } from '../../primitives/button/index.js';
|
|
3
|
+
import type { GeometryPickResult, PickKind } from '../../../contexts/hostContext.svelte.js';
|
|
4
|
+
import { getLocaleContext } from '../../../i18n/localeContext.svelte.js';
|
|
5
|
+
import type { ViewerMessages } from '../../../i18n/messages.js';
|
|
6
6
|
|
|
7
7
|
interface Props {
|
|
8
8
|
inputId: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GeometryPickResult, PickKind } from '../../../contexts/hostContext.svelte';
|
|
1
|
+
import type { GeometryPickResult, PickKind } from '../../../contexts/hostContext.svelte.js';
|
|
2
2
|
interface Props {
|
|
3
3
|
inputId: string;
|
|
4
4
|
/** The kinds of object the input takes; one kind names the button after it. */
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { NumberWidgetConfig, SupportedTypes } from '@selvajs/schemas';
|
|
3
|
-
import { debounce } from '../../../utils/debounce';
|
|
4
|
-
import { Input } from '../../primitives/input';
|
|
5
|
-
import { Slider } from '../../primitives/slider';
|
|
6
|
-
import * as InputGroup from '../../primitives/input-group';
|
|
7
|
-
import { Separator } from '../../primitives/separator';
|
|
8
|
-
import * as Field from '../../primitives/field';
|
|
9
|
-
import { getLocaleContext } from '../../../i18n/localeContext.svelte';
|
|
10
|
-
import { formatMessage } from '../../../i18n/messages';
|
|
3
|
+
import { debounce } from '../../../utils/debounce.js';
|
|
4
|
+
import { Input } from '../../primitives/input/index.js';
|
|
5
|
+
import { Slider } from '../../primitives/slider/index.js';
|
|
6
|
+
import * as InputGroup from '../../primitives/input-group/index.js';
|
|
7
|
+
import { Separator } from '../../primitives/separator/index.js';
|
|
8
|
+
import * as Field from '../../primitives/field/index.js';
|
|
9
|
+
import { getLocaleContext } from '../../../i18n/localeContext.svelte.js';
|
|
10
|
+
import { formatMessage } from '../../../i18n/messages.js';
|
|
11
11
|
|
|
12
12
|
interface Props {
|
|
13
13
|
inputId: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { DropdownWidgetConfig, SupportedTypes, UISchema } from '@selvajs/schemas';
|
|
3
|
-
import * as ToggleGroup from '../../primitives/toggle-group';
|
|
4
|
-
import { optionGlyph } from '../../../schema/option-display';
|
|
3
|
+
import * as ToggleGroup from '../../primitives/toggle-group/index.js';
|
|
4
|
+
import { optionGlyph } from '../../../schema/option-display.js';
|
|
5
5
|
import OptionGlyph from './OptionGlyph.svelte';
|
|
6
6
|
|
|
7
7
|
interface Props {
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
|
|
24
24
|
<ToggleGroup.Root
|
|
25
25
|
type="single"
|
|
26
|
-
variant="
|
|
27
|
-
spacing={
|
|
26
|
+
variant="outline"
|
|
27
|
+
spacing={0}
|
|
28
28
|
size={hasIcons ? 'stacked' : 'default'}
|
|
29
29
|
class="w-full"
|
|
30
30
|
aria-labelledby={labelId}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { TextWidgetConfig, SupportedTypes } from '@selvajs/schemas';
|
|
3
|
-
import { debounce } from '../../../utils/debounce';
|
|
4
|
-
import { Input } from '../../primitives/input';
|
|
5
|
-
import * as Field from '../../primitives/field';
|
|
6
|
-
import { getLocaleContext } from '../../../i18n/localeContext.svelte';
|
|
7
|
-
import { formatMessage } from '../../../i18n/messages';
|
|
3
|
+
import { debounce } from '../../../utils/debounce.js';
|
|
4
|
+
import { Input } from '../../primitives/input/index.js';
|
|
5
|
+
import * as Field from '../../primitives/field/index.js';
|
|
6
|
+
import { getLocaleContext } from '../../../i18n/localeContext.svelte.js';
|
|
7
|
+
import { formatMessage } from '../../../i18n/messages.js';
|
|
8
8
|
|
|
9
9
|
interface Props {
|
|
10
10
|
inputId: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { DropdownWidgetConfig, SupportedTypes, UISchema } from '@selvajs/schemas';
|
|
3
|
-
import { optionGlyph } from '../../../schema/option-display';
|
|
3
|
+
import { optionGlyph } from '../../../schema/option-display.js';
|
|
4
4
|
import OptionGlyph from './OptionGlyph.svelte';
|
|
5
5
|
|
|
6
6
|
interface Props {
|
|
@@ -52,11 +52,13 @@
|
|
|
52
52
|
onclick={() => onChange(option.value)}
|
|
53
53
|
onkeydown={(e) => onKeydown(e, index)}
|
|
54
54
|
class="gap-1.5 p-1.5 min-w-0 flex flex-col rounded-lg border text-left transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 {selected
|
|
55
|
-
? 'border-primary bg-primary/
|
|
55
|
+
? 'border-primary bg-primary/10 ring-1 ring-primary'
|
|
56
56
|
: 'border-input hover:bg-hover'}"
|
|
57
57
|
>
|
|
58
58
|
<span
|
|
59
|
-
class="flex aspect-square w-full items-center justify-center overflow-hidden rounded-md bg-muted
|
|
59
|
+
class="flex aspect-square w-full items-center justify-center overflow-hidden rounded-md bg-muted {selected
|
|
60
|
+
? 'text-foreground'
|
|
61
|
+
: 'text-muted-foreground'}"
|
|
60
62
|
>
|
|
61
63
|
{#if glyph?.kind === 'image'}
|
|
62
64
|
<OptionGlyph {glyph} class="size-full" />
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
<Loader class="h-4 w-4 animate-spin" />
|
|
56
56
|
{t.solvingEllipsis}
|
|
57
57
|
<kbd
|
|
58
|
-
class="px-1
|
|
58
|
+
class="px-1 rounded-sm border border-current/30 font-sans text-2xs opacity-70"
|
|
59
59
|
title={t.solveMessagesEscHint}
|
|
60
60
|
>
|
|
61
61
|
Esc
|