@happyvertical/smrt-svelte 0.55.16 → 0.55.17
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/README.md +5 -3
- package/agents/cookbook-shell.md +7 -1
- package/agents/overview-surfaces.md +5 -0
- package/agents/workspace.md +145 -11
- package/dist/browser-ai/svelte/components/DownloadProgress.svelte +22 -19
- package/dist/browser-ai/svelte/components/ModelStatusControl.svelte +16 -13
- package/dist/browser-ai/svelte/components/STTTest.svelte +41 -38
- package/dist/browser-ai/svelte/components/VoiceInput.svelte +17 -14
- package/dist/components/activity/ActivityList.svelte +1 -1
- package/dist/components/app/AppShell.svelte +274 -9
- package/dist/components/app/AppShell.svelte.d.ts +63 -2
- package/dist/components/app/AppShell.svelte.d.ts.map +1 -1
- package/dist/components/app/DockToggles.svelte +27 -1
- package/dist/components/app/DockToggles.svelte.d.ts.map +1 -1
- package/dist/components/app/OwnerSetupForm.svelte +98 -34
- package/dist/components/app/OwnerSetupForm.svelte.d.ts +4 -0
- package/dist/components/app/OwnerSetupForm.svelte.d.ts.map +1 -1
- package/dist/components/app/PhoneTabBar.svelte +136 -0
- package/dist/components/app/PhoneTabBar.svelte.d.ts +22 -0
- package/dist/components/app/PhoneTabBar.svelte.d.ts.map +1 -0
- package/dist/components/app/ShellSettingsPage.svelte +17 -2
- package/dist/components/app/ShellSettingsPage.svelte.d.ts +11 -16
- package/dist/components/app/ShellSettingsPage.svelte.d.ts.map +1 -1
- package/dist/components/app/dock-toggle.d.ts +3 -2
- package/dist/components/app/dock-toggle.d.ts.map +1 -1
- package/dist/components/app/index.d.ts +2 -1
- package/dist/components/app/index.d.ts.map +1 -1
- package/dist/components/app/index.js +1 -0
- package/dist/components/app/owner-setup-types.d.ts +5 -0
- package/dist/components/app/owner-setup-types.d.ts.map +1 -1
- package/dist/components/app/phone-tabs.d.ts +41 -0
- package/dist/components/app/phone-tabs.d.ts.map +1 -0
- package/dist/components/app/phone-tabs.js +66 -0
- package/dist/components/app/slot-item.d.ts +16 -0
- package/dist/components/app/slot-item.d.ts.map +1 -1
- package/dist/components/app/view-transition.d.ts +43 -0
- package/dist/components/app/view-transition.d.ts.map +1 -0
- package/dist/components/app/view-transition.js +76 -0
- package/dist/components/audit/AuditList.svelte +4 -1
- package/dist/components/audit/RecordHistory.svelte +4 -1
- package/dist/components/board/Board.svelte +4 -1
- package/dist/components/command-palette/CommandPalette.svelte +4 -1
- package/dist/components/command-palette/CommandPalette.svelte.d.ts +2 -0
- package/dist/components/command-palette/CommandPalette.svelte.d.ts.map +1 -1
- package/dist/components/command-palette/CommandPaletteDialog.svelte +3 -0
- package/dist/components/command-palette/CommandPaletteTrigger.svelte +3 -0
- package/dist/components/cookbook/CookbookApp.svelte +2 -1
- package/dist/components/cookbook/CookbookApp.svelte.d.ts.map +1 -1
- package/dist/components/cookbook/CookbookSectionPage.svelte +4 -1
- package/dist/components/cookbook/brand-theme.d.ts.map +1 -1
- package/dist/components/cookbook/brand-theme.js +21 -2
- package/dist/components/cookbook/build.js +1 -1
- package/dist/components/cookbook/theme.d.ts.map +1 -1
- package/dist/components/cookbook/theme.js +9 -5
- package/dist/components/cookbook/types.d.ts +5 -1
- package/dist/components/cookbook/types.d.ts.map +1 -1
- package/dist/components/forms/AddressInput.svelte +25 -22
- package/dist/components/forms/CheckboxInput.svelte +8 -5
- package/dist/components/forms/DateRangeInput.svelte +41 -38
- package/dist/components/forms/DateTimeInput.svelte +29 -26
- package/dist/components/forms/FileUpload.svelte +24 -21
- package/dist/components/forms/Form.svelte +34 -31
- package/dist/components/forms/FormMicButton.svelte +10 -7
- package/dist/components/forms/FormScope.svelte +4 -1
- package/dist/components/forms/MeasurementInput.svelte +26 -23
- package/dist/components/forms/MoneyInput.svelte +18 -15
- package/dist/components/forms/NumberInput.svelte +17 -14
- package/dist/components/forms/PhoneInput.svelte +37 -34
- package/dist/components/forms/SearchInput.svelte +16 -13
- package/dist/components/forms/SelectInput.svelte +17 -14
- package/dist/components/forms/TextInput.svelte +19 -16
- package/dist/components/forms/TextareaInput.svelte +21 -18
- package/dist/components/import-export/ImportExport.svelte +4 -1
- package/dist/components/module/ModulePanel.svelte +14 -11
- package/dist/components/notifications/NotificationBell.svelte +4 -1
- package/dist/components/overview/OverviewAssistantUndo.svelte +4 -1
- package/dist/components/overview/OverviewGrid.svelte +11 -6
- package/dist/components/overview/OverviewGrid.svelte.d.ts.map +1 -1
- package/dist/components/overview/WidgetOptionsForm.svelte +3 -0
- package/dist/components/overview/widgets/ChartWidget.svelte +7 -4
- package/dist/components/overview/widgets/MetricWidget.svelte +5 -2
- package/dist/components/overview/widgets/NoteWidget.svelte +5 -2
- package/dist/components/overview/widgets/RecordListWidget.svelte +6 -3
- package/dist/components/overview/widgets/ShortcutsWidget.svelte +12 -6
- package/dist/components/overview/widgets/ShortcutsWidget.svelte.d.ts.map +1 -1
- package/dist/components/screens/DetailScreen.svelte +6 -3
- package/dist/components/screens/EditForm.svelte +6 -3
- package/dist/components/screens/ListScreen.svelte +4 -1
- package/dist/components/screens/RecipeScreens.svelte +1 -1
- package/dist/components/settings/SettingsCatalog.svelte +4 -1
- package/dist/components/sortable/Sortable.svelte +11 -5
- package/dist/components/sortable/Sortable.svelte.d.ts.map +1 -1
- package/dist/components/workspace/Breadcrumbs.svelte +4 -1
- package/dist/components/workspace/NavTree.svelte +4 -1
- package/dist/components/workspace/RoleShell.svelte +4 -1
- package/dist/components/workspace/WorkspaceShell.svelte +43 -40
- package/dist/components/workspace/admin-shell/ActivityItem.svelte +4 -1
- package/dist/components/workspace/admin-shell/ActivityList.svelte +5 -2
- package/dist/components/workspace/admin-shell/ActivityTicker.svelte +6 -3
- package/dist/components/workspace/admin-shell/ActivityToasts.svelte +4 -1
- package/dist/components/workspace/admin-shell/AdminShell.svelte +502 -72
- package/dist/components/workspace/admin-shell/AdminShell.svelte.d.ts +7 -1
- package/dist/components/workspace/admin-shell/AdminShell.svelte.d.ts.map +1 -1
- package/dist/components/workspace/admin-shell/AppScopePanel.svelte +4 -1
- package/dist/components/workspace/admin-shell/HotkeyInput.svelte +4 -1
- package/dist/components/workspace/admin-shell/PhoneBottomBar.svelte +21 -8
- package/dist/components/workspace/admin-shell/PhoneBottomBar.svelte.d.ts +9 -2
- package/dist/components/workspace/admin-shell/PhoneBottomBar.svelte.d.ts.map +1 -1
- package/dist/components/workspace/admin-shell/PhoneTopBar.svelte +4 -1
- package/dist/components/workspace/admin-shell/ShellBrand.svelte +3 -0
- package/dist/components/workspace/admin-shell/ShellCorner.svelte +4 -1
- package/dist/components/workspace/admin-shell/ShellIconButton.svelte +4 -1
- package/dist/components/workspace/admin-shell/ShellLayoutEditor.svelte +4 -1
- package/dist/components/workspace/admin-shell/ShellNavEditor.svelte +13 -7
- package/dist/components/workspace/admin-shell/ShellNavEditor.svelte.d.ts +1 -1
- package/dist/components/workspace/admin-shell/ShellNavEditor.svelte.d.ts.map +1 -1
- package/dist/components/workspace/admin-shell/ShellNavToggle.svelte +4 -1
- package/dist/components/workspace/admin-shell/ShellSectionIcon.svelte +4 -1
- package/dist/components/workspace/admin-shell/ShellSectionMenu.svelte +15 -10
- package/dist/components/workspace/admin-shell/ShellSectionMenu.svelte.d.ts.map +1 -1
- package/dist/components/workspace/admin-shell/ShellSettingsPanel.svelte +236 -48
- package/dist/components/workspace/admin-shell/ShellSettingsPanel.svelte.d.ts +11 -1
- package/dist/components/workspace/admin-shell/ShellSettingsPanel.svelte.d.ts.map +1 -1
- package/dist/components/workspace/admin-shell/ShellTitle.svelte +4 -1
- package/dist/components/workspace/admin-shell/ShortcutsOverlay.svelte +4 -1
- package/dist/components/workspace/admin-shell/SystemScopePanel.svelte +4 -1
- package/dist/components/workspace/admin-shell/SystemStatusChips.svelte +5 -2
- package/dist/components/workspace/admin-shell/TenantNav.svelte +81 -36
- package/dist/components/workspace/admin-shell/TenantNav.svelte.d.ts +4 -3
- package/dist/components/workspace/admin-shell/TenantNav.svelte.d.ts.map +1 -1
- package/dist/components/workspace/admin-shell/WorkspaceAccountMenu.svelte +305 -53
- package/dist/components/workspace/admin-shell/WorkspaceAccountMenu.svelte.d.ts +15 -2
- package/dist/components/workspace/admin-shell/WorkspaceAccountMenu.svelte.d.ts.map +1 -1
- package/dist/components/workspace/admin-shell/motion.d.ts +19 -0
- package/dist/components/workspace/admin-shell/motion.d.ts.map +1 -0
- package/dist/components/workspace/admin-shell/motion.js +44 -0
- package/dist/components/workspace/admin-shell/settings.d.ts +1 -0
- package/dist/components/workspace/admin-shell/settings.d.ts.map +1 -1
- package/dist/components/workspace/admin-shell/settings.js +1 -1
- package/dist/components/workspace/admin-shell/shell-icons.d.ts +8 -0
- package/dist/components/workspace/admin-shell/shell-icons.d.ts.map +1 -1
- package/dist/components/workspace/admin-shell/shell-icons.js +8 -0
- package/dist/components/workspace/admin-shell/state.svelte.d.ts +6 -0
- package/dist/components/workspace/admin-shell/state.svelte.d.ts.map +1 -1
- package/dist/components/workspace/admin-shell/state.svelte.js +15 -0
- package/dist/components/workspace/admin-shell/types.d.ts +13 -3
- package/dist/components/workspace/admin-shell/types.d.ts.map +1 -1
- package/dist/components/workspace/tools-dock/ToolsDock.svelte +41 -38
- package/dist/i18n/strings.workspace.d.ts +37 -0
- package/dist/i18n/strings.workspace.d.ts.map +1 -1
- package/dist/i18n/strings.workspace.js +42 -2
- package/dist/mcp-apps/McpAppsBridge.svelte +4 -1
- package/package.json +14 -14
|
@@ -1529,7 +1529,7 @@ export function getInteractionRegistry(): ControlInteractionRegistry {
|
|
|
1529
1529
|
onsubmit={handleSubmit}
|
|
1530
1530
|
{method}
|
|
1531
1531
|
{action}
|
|
1532
|
-
use:applyEnhance={enhance}
|
|
1532
|
+
use:applyEnhance={enhance} data-smrt-component="Form"
|
|
1533
1533
|
>
|
|
1534
1534
|
<!--
|
|
1535
1535
|
Screen-reader status region (L1 #1420): announces async STT / field-
|
|
@@ -1642,16 +1642,18 @@ export function getInteractionRegistry(): ControlInteractionRegistry {
|
|
|
1642
1642
|
</form>
|
|
1643
1643
|
|
|
1644
1644
|
{#if isFormListening && spokenText}
|
|
1645
|
-
<div class="spoken-toaster">
|
|
1645
|
+
<div class="spoken-toaster" data-smrt-component="Form">
|
|
1646
1646
|
<strong>{t(M['ui.form.you_said'])}</strong> {spokenText}
|
|
1647
1647
|
</div>
|
|
1648
1648
|
{/if}
|
|
1649
1649
|
|
|
1650
1650
|
<style>
|
|
1651
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
1652
|
+
@layer smrt.theme {
|
|
1651
1653
|
.smrt-form {
|
|
1652
1654
|
display: flex;
|
|
1653
1655
|
flex-direction: column;
|
|
1654
|
-
gap: var(--smrt-spacing-4
|
|
1656
|
+
gap: var(--smrt-spacing-4);
|
|
1655
1657
|
}
|
|
1656
1658
|
|
|
1657
1659
|
/* Visually-hidden live region (L1 #1420) — announced to screen readers only. */
|
|
@@ -1670,23 +1672,23 @@ export function getInteractionRegistry(): ControlInteractionRegistry {
|
|
|
1670
1672
|
.form-controls {
|
|
1671
1673
|
display: flex;
|
|
1672
1674
|
align-items: center;
|
|
1673
|
-
gap: var(--smrt-spacing-4
|
|
1675
|
+
gap: var(--smrt-spacing-4);
|
|
1674
1676
|
flex-wrap: wrap;
|
|
1675
1677
|
}
|
|
1676
1678
|
|
|
1677
1679
|
.mode-toggle {
|
|
1678
1680
|
display: flex;
|
|
1679
|
-
background: var(--smrt-color-surface-container-high
|
|
1680
|
-
padding: var(--smrt-spacing-1
|
|
1681
|
-
border-radius: var(--smrt-radius-md
|
|
1681
|
+
background: var(--smrt-color-surface-container-high);
|
|
1682
|
+
padding: var(--smrt-spacing-1);
|
|
1683
|
+
border-radius: var(--smrt-radius-md);
|
|
1682
1684
|
}
|
|
1683
1685
|
|
|
1684
1686
|
.mode-btn {
|
|
1685
|
-
padding: var(--smrt-spacing-2
|
|
1687
|
+
padding: var(--smrt-spacing-2) var(--smrt-spacing-4);
|
|
1686
1688
|
border: none;
|
|
1687
1689
|
background: transparent;
|
|
1688
|
-
color: var(--smrt-color-on-surface-variant
|
|
1689
|
-
border-radius: var(--smrt-radius-md
|
|
1690
|
+
color: var(--smrt-color-on-surface-variant);
|
|
1691
|
+
border-radius: var(--smrt-radius-md);
|
|
1690
1692
|
cursor: pointer;
|
|
1691
1693
|
font-size: var(--smrt-typography-label-large-size, 0.875rem);
|
|
1692
1694
|
font-weight: var(--smrt-typography-weight-medium, 500);
|
|
@@ -1694,24 +1696,24 @@ export function getInteractionRegistry(): ControlInteractionRegistry {
|
|
|
1694
1696
|
}
|
|
1695
1697
|
|
|
1696
1698
|
.mode-btn:hover {
|
|
1697
|
-
color: var(--smrt-color-on-surface
|
|
1699
|
+
color: var(--smrt-color-on-surface);
|
|
1698
1700
|
}
|
|
1699
1701
|
|
|
1700
1702
|
.mode-btn.active {
|
|
1701
|
-
background: var(--smrt-color-surface
|
|
1702
|
-
color: var(--smrt-color-primary
|
|
1703
|
+
background: var(--smrt-color-surface);
|
|
1704
|
+
color: var(--smrt-color-primary);
|
|
1703
1705
|
box-shadow: var(--smrt-elevation-1, 0 1px 3px color-mix(in srgb, var(--smrt-color-shadow) 10%, transparent));
|
|
1704
1706
|
}
|
|
1705
1707
|
|
|
1706
1708
|
.form-listen-btn {
|
|
1707
1709
|
display: flex;
|
|
1708
1710
|
align-items: center;
|
|
1709
|
-
gap: var(--smrt-spacing-2
|
|
1710
|
-
padding: var(--smrt-spacing-3
|
|
1711
|
-
border: 2px solid var(--smrt-color-primary
|
|
1711
|
+
gap: var(--smrt-spacing-2);
|
|
1712
|
+
padding: var(--smrt-spacing-3) var(--smrt-spacing-5);
|
|
1713
|
+
border: 2px solid var(--smrt-color-primary);
|
|
1712
1714
|
background: var(--smrt-color-surface);
|
|
1713
1715
|
color: var(--smrt-color-primary);
|
|
1714
|
-
border-radius: var(--smrt-radius-md
|
|
1716
|
+
border-radius: var(--smrt-radius-md);
|
|
1715
1717
|
cursor: pointer;
|
|
1716
1718
|
font-size: var(--smrt-typography-label-large-size, 0.875rem);
|
|
1717
1719
|
font-weight: var(--smrt-typography-weight-medium, 500);
|
|
@@ -1719,20 +1721,20 @@ export function getInteractionRegistry(): ControlInteractionRegistry {
|
|
|
1719
1721
|
}
|
|
1720
1722
|
|
|
1721
1723
|
.form-listen-btn:hover {
|
|
1722
|
-
background: var(--smrt-color-primary-container
|
|
1724
|
+
background: var(--smrt-color-primary-container);
|
|
1723
1725
|
}
|
|
1724
1726
|
|
|
1725
1727
|
.form-listen-btn.listening {
|
|
1726
|
-
background: var(--smrt-color-primary
|
|
1727
|
-
border-color: var(--smrt-color-primary
|
|
1728
|
-
color: var(--smrt-color-on-primary
|
|
1728
|
+
background: var(--smrt-color-primary);
|
|
1729
|
+
border-color: var(--smrt-color-primary);
|
|
1730
|
+
color: var(--smrt-color-on-primary);
|
|
1729
1731
|
animation: pulse-btn 1.5s var(--smrt-easing-standard, ease-in-out) infinite;
|
|
1730
1732
|
}
|
|
1731
1733
|
|
|
1732
1734
|
.form-listen-btn.extracting {
|
|
1733
|
-
background: var(--smrt-color-secondary
|
|
1734
|
-
border-color: var(--smrt-color-secondary
|
|
1735
|
-
color: var(--smrt-color-on-secondary
|
|
1735
|
+
background: var(--smrt-color-secondary);
|
|
1736
|
+
border-color: var(--smrt-color-secondary);
|
|
1737
|
+
color: var(--smrt-color-on-secondary);
|
|
1736
1738
|
}
|
|
1737
1739
|
|
|
1738
1740
|
.form-listen-btn:disabled {
|
|
@@ -1769,12 +1771,12 @@ export function getInteractionRegistry(): ControlInteractionRegistry {
|
|
|
1769
1771
|
bottom: 0;
|
|
1770
1772
|
left: 0;
|
|
1771
1773
|
right: 0;
|
|
1772
|
-
padding: var(--smrt-spacing-3
|
|
1774
|
+
padding: var(--smrt-spacing-3) var(--smrt-spacing-6);
|
|
1773
1775
|
/* 90%-opacity primary. The old `--smrt-color-primary-rgb` channel token
|
|
1774
1776
|
was never emitted (issue #1431); color-mix derives the alpha from the
|
|
1775
1777
|
emitted `--smrt-color-primary` token instead. */
|
|
1776
|
-
background: color-mix(in srgb, var(--smrt-color-primary
|
|
1777
|
-
color: var(--smrt-color-on-primary
|
|
1778
|
+
background: color-mix(in srgb, var(--smrt-color-primary) 90%, transparent);
|
|
1779
|
+
color: var(--smrt-color-on-primary);
|
|
1778
1780
|
font-size: var(--smrt-typography-body-medium-size, 0.875rem);
|
|
1779
1781
|
box-shadow: 0 -2px 12px color-mix(in srgb, var(--smrt-color-shadow) 15%, transparent);
|
|
1780
1782
|
z-index: var(--smrt-z-index-toast, 1500);
|
|
@@ -1784,7 +1786,7 @@ export function getInteractionRegistry(): ControlInteractionRegistry {
|
|
|
1784
1786
|
}
|
|
1785
1787
|
|
|
1786
1788
|
.spoken-toaster strong {
|
|
1787
|
-
color: var(--smrt-color-on-primary-container
|
|
1789
|
+
color: var(--smrt-color-on-primary-container);
|
|
1788
1790
|
}
|
|
1789
1791
|
|
|
1790
1792
|
@keyframes slideUp {
|
|
@@ -1799,10 +1801,10 @@ export function getInteractionRegistry(): ControlInteractionRegistry {
|
|
|
1799
1801
|
}
|
|
1800
1802
|
|
|
1801
1803
|
.extract-error {
|
|
1802
|
-
padding: var(--smrt-spacing-3
|
|
1804
|
+
padding: var(--smrt-spacing-3) var(--smrt-spacing-4);
|
|
1803
1805
|
background: var(--smrt-color-error-container);
|
|
1804
1806
|
border: 1px solid var(--smrt-color-error);
|
|
1805
|
-
border-radius: var(--smrt-radius-md
|
|
1807
|
+
border-radius: var(--smrt-radius-md);
|
|
1806
1808
|
font-size: var(--smrt-typography-body-medium-size, 0.875rem);
|
|
1807
1809
|
color: var(--smrt-color-error);
|
|
1808
1810
|
}
|
|
@@ -1810,6 +1812,7 @@ export function getInteractionRegistry(): ControlInteractionRegistry {
|
|
|
1810
1812
|
.form-fields {
|
|
1811
1813
|
display: flex;
|
|
1812
1814
|
flex-direction: column;
|
|
1813
|
-
gap: var(--smrt-spacing-4
|
|
1815
|
+
gap: var(--smrt-spacing-4);
|
|
1814
1816
|
}
|
|
1817
|
+
}
|
|
1815
1818
|
</style>
|
|
@@ -65,7 +65,7 @@ function handleKeydown(e: KeyboardEvent) {
|
|
|
65
65
|
onkeydown={handleKeydown}
|
|
66
66
|
role="button"
|
|
67
67
|
tabindex="0"
|
|
68
|
-
aria-label={isListening ? 'Stop listening' : 'Click to speak'}
|
|
68
|
+
aria-label={isListening ? 'Stop listening' : 'Click to speak'} data-smrt-component="FormMicButton"
|
|
69
69
|
>
|
|
70
70
|
{#if isExtracting}
|
|
71
71
|
<svg
|
|
@@ -102,12 +102,14 @@ function handleKeydown(e: KeyboardEvent) {
|
|
|
102
102
|
{/if}
|
|
103
103
|
|
|
104
104
|
<style>
|
|
105
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
106
|
+
@layer smrt.theme {
|
|
105
107
|
.form-mic-icon {
|
|
106
108
|
display: inline-flex;
|
|
107
109
|
align-items: center;
|
|
108
110
|
justify-content: center;
|
|
109
111
|
position: relative;
|
|
110
|
-
color: var(--smrt-color-on-surface-variant
|
|
112
|
+
color: var(--smrt-color-on-surface-variant);
|
|
111
113
|
cursor: pointer;
|
|
112
114
|
transition: color var(--smrt-duration-short2, 150ms) var(--smrt-easing-standard, ease);
|
|
113
115
|
vertical-align: middle;
|
|
@@ -115,16 +117,16 @@ function handleKeydown(e: KeyboardEvent) {
|
|
|
115
117
|
}
|
|
116
118
|
|
|
117
119
|
.form-mic-icon:hover {
|
|
118
|
-
color: var(--smrt-color-on-surface-variant
|
|
120
|
+
color: var(--smrt-color-on-surface-variant);
|
|
119
121
|
}
|
|
120
122
|
|
|
121
123
|
.form-mic-icon.listening {
|
|
122
|
-
color: var(--smrt-color-primary
|
|
124
|
+
color: var(--smrt-color-primary);
|
|
123
125
|
animation: pulse 1.5s ease-in-out infinite;
|
|
124
126
|
}
|
|
125
127
|
|
|
126
128
|
.form-mic-icon.extracting {
|
|
127
|
-
color: var(--smrt-color-primary
|
|
129
|
+
color: var(--smrt-color-primary);
|
|
128
130
|
}
|
|
129
131
|
|
|
130
132
|
.tooltip {
|
|
@@ -134,8 +136,8 @@ function handleKeydown(e: KeyboardEvent) {
|
|
|
134
136
|
transform: translateX(-50%);
|
|
135
137
|
margin-top: 0.5rem;
|
|
136
138
|
padding: 0.5rem 0.75rem;
|
|
137
|
-
background: var(--smrt-color-inverse-surface, var(--smrt-color-on-surface
|
|
138
|
-
color: var(--smrt-color-inverse-on-surface
|
|
139
|
+
background: var(--smrt-color-inverse-surface, var(--smrt-color-on-surface));
|
|
140
|
+
color: var(--smrt-color-inverse-on-surface);
|
|
139
141
|
font-size: var(--smrt-typography-label-medium-size, 0.75rem);
|
|
140
142
|
font-weight: var(--smrt-typography-weight-normal, 400);
|
|
141
143
|
border-radius: 0.375rem;
|
|
@@ -179,4 +181,5 @@ function handleKeydown(e: KeyboardEvent) {
|
|
|
179
181
|
animation: none;
|
|
180
182
|
}
|
|
181
183
|
}
|
|
184
|
+
}
|
|
182
185
|
</style>
|
|
@@ -189,14 +189,17 @@ useWebMcpTool(
|
|
|
189
189
|
);
|
|
190
190
|
</script>
|
|
191
191
|
|
|
192
|
-
<div class="smrt-form-scope" data-smrt-form-scope={formId} bind:this={scope}>
|
|
192
|
+
<div class="smrt-form-scope" data-smrt-form-scope={formId} bind:this={scope} data-smrt-component="FormScope">
|
|
193
193
|
{@render children()}
|
|
194
194
|
<StagedControlReview {registry} {formId} {formElement} summary={stagedReview} />
|
|
195
195
|
</div>
|
|
196
196
|
|
|
197
197
|
<style>
|
|
198
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
199
|
+
@layer smrt.theme {
|
|
198
200
|
/* Layout-neutral: the wrapped content lays out exactly as before. */
|
|
199
201
|
.smrt-form-scope {
|
|
200
202
|
display: contents;
|
|
201
203
|
}
|
|
204
|
+
}
|
|
202
205
|
</style>
|
|
@@ -441,7 +441,7 @@ function handleUnitChange(e: Event) {
|
|
|
441
441
|
}
|
|
442
442
|
</script>
|
|
443
443
|
|
|
444
|
-
<div class="smrt-measurement" data-smrt-field-owner={fieldOwnerToken}>
|
|
444
|
+
<div class="smrt-measurement" data-smrt-field-owner={fieldOwnerToken} data-smrt-component="MeasurementInput">
|
|
445
445
|
{#if label}
|
|
446
446
|
<FieldLabel for={name} {label} {required} />
|
|
447
447
|
{/if}
|
|
@@ -497,31 +497,33 @@ function handleUnitChange(e: Event) {
|
|
|
497
497
|
</div>
|
|
498
498
|
|
|
499
499
|
<style>
|
|
500
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
501
|
+
@layer smrt.theme {
|
|
500
502
|
.smrt-measurement {
|
|
501
503
|
display: flex;
|
|
502
504
|
flex-direction: column;
|
|
503
|
-
gap: var(--smrt-spacing-1
|
|
505
|
+
gap: var(--smrt-spacing-1);
|
|
504
506
|
}
|
|
505
507
|
|
|
506
508
|
.input-wrapper {
|
|
507
509
|
display: flex;
|
|
508
|
-
gap: var(--smrt-spacing-2
|
|
510
|
+
gap: var(--smrt-spacing-2);
|
|
509
511
|
}
|
|
510
512
|
|
|
511
513
|
.input-wrapper.smrt-mode {
|
|
512
|
-
border: 1px solid var(--smrt-color-tertiary
|
|
513
|
-
border-radius: var(--smrt-radius-small
|
|
514
|
-
padding: var(--smrt-spacing-1
|
|
515
|
-
background: var(--smrt-color-tertiary-container
|
|
514
|
+
border: 1px solid var(--smrt-color-tertiary);
|
|
515
|
+
border-radius: var(--smrt-radius-small);
|
|
516
|
+
padding: var(--smrt-spacing-1);
|
|
517
|
+
background: var(--smrt-color-tertiary-container);
|
|
516
518
|
}
|
|
517
519
|
|
|
518
520
|
.smrt-input {
|
|
519
521
|
flex: 1;
|
|
520
|
-
padding: var(--smrt-spacing-2
|
|
522
|
+
padding: var(--smrt-spacing-2) var(--smrt-spacing-3);
|
|
521
523
|
font-size: var(--smrt-typography-body-large-size, 1rem);
|
|
522
|
-
border: 1px solid var(--smrt-color-outline-variant
|
|
523
|
-
border-radius: var(--smrt-radius-small
|
|
524
|
-
background: var(--smrt-color-surface
|
|
524
|
+
border: 1px solid var(--smrt-color-outline-variant);
|
|
525
|
+
border-radius: var(--smrt-radius-small);
|
|
526
|
+
background: var(--smrt-color-surface);
|
|
525
527
|
transition: all var(--smrt-duration-short2, 150ms) var(--smrt-easing-standard, ease);
|
|
526
528
|
min-width: 0;
|
|
527
529
|
}
|
|
@@ -533,8 +535,8 @@ function handleUnitChange(e: Event) {
|
|
|
533
535
|
|
|
534
536
|
.smrt-input:focus {
|
|
535
537
|
outline: none;
|
|
536
|
-
border-color: var(--smrt-color-primary
|
|
537
|
-
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-primary
|
|
538
|
+
border-color: var(--smrt-color-primary);
|
|
539
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-primary) 10%, transparent);
|
|
538
540
|
}
|
|
539
541
|
|
|
540
542
|
.input-wrapper.smrt-mode .smrt-input:focus {
|
|
@@ -542,12 +544,12 @@ function handleUnitChange(e: Event) {
|
|
|
542
544
|
}
|
|
543
545
|
|
|
544
546
|
.smrt-input:disabled {
|
|
545
|
-
background: var(--smrt-color-surface-container-high
|
|
547
|
+
background: var(--smrt-color-surface-container-high);
|
|
546
548
|
cursor: not-allowed;
|
|
547
549
|
}
|
|
548
550
|
|
|
549
551
|
.smrt-input.invalid {
|
|
550
|
-
border-color: var(--smrt-color-error
|
|
552
|
+
border-color: var(--smrt-color-error);
|
|
551
553
|
}
|
|
552
554
|
|
|
553
555
|
/* Hide spinner buttons */
|
|
@@ -563,11 +565,11 @@ function handleUnitChange(e: Event) {
|
|
|
563
565
|
}
|
|
564
566
|
|
|
565
567
|
.unit-select {
|
|
566
|
-
padding: var(--smrt-spacing-2
|
|
568
|
+
padding: var(--smrt-spacing-2) var(--smrt-spacing-3);
|
|
567
569
|
font-size: var(--smrt-typography-body-medium-size, 0.875rem);
|
|
568
|
-
border: 1px solid var(--smrt-color-outline-variant
|
|
569
|
-
border-radius: var(--smrt-radius-small
|
|
570
|
-
background: var(--smrt-color-surface
|
|
570
|
+
border: 1px solid var(--smrt-color-outline-variant);
|
|
571
|
+
border-radius: var(--smrt-radius-small);
|
|
572
|
+
background: var(--smrt-color-surface);
|
|
571
573
|
cursor: pointer;
|
|
572
574
|
min-width: 100px;
|
|
573
575
|
transition: all var(--smrt-duration-short2, 150ms) var(--smrt-easing-standard, ease);
|
|
@@ -580,8 +582,8 @@ function handleUnitChange(e: Event) {
|
|
|
580
582
|
|
|
581
583
|
.unit-select:focus {
|
|
582
584
|
outline: none;
|
|
583
|
-
border-color: var(--smrt-color-primary
|
|
584
|
-
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-primary
|
|
585
|
+
border-color: var(--smrt-color-primary);
|
|
586
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-primary) 10%, transparent);
|
|
585
587
|
}
|
|
586
588
|
|
|
587
589
|
.unit-select.smrt-mode:focus {
|
|
@@ -595,7 +597,8 @@ function handleUnitChange(e: Event) {
|
|
|
595
597
|
|
|
596
598
|
.validation-error {
|
|
597
599
|
font-size: var(--smrt-typography-body-small-size, 0.75rem);
|
|
598
|
-
color: var(--smrt-color-error
|
|
599
|
-
margin-top: var(--smrt-spacing-1
|
|
600
|
+
color: var(--smrt-color-error);
|
|
601
|
+
margin-top: var(--smrt-spacing-1);
|
|
600
602
|
}
|
|
603
|
+
}
|
|
601
604
|
</style>
|
|
@@ -308,7 +308,7 @@ function handleBlur() {
|
|
|
308
308
|
}
|
|
309
309
|
</script>
|
|
310
310
|
|
|
311
|
-
<div class="smrt-money">
|
|
311
|
+
<div class="smrt-money" data-smrt-component="MoneyInput">
|
|
312
312
|
{#if label}
|
|
313
313
|
<FieldLabel id={labelId} for={name} {label} {required} />
|
|
314
314
|
{/if}
|
|
@@ -353,10 +353,12 @@ function handleBlur() {
|
|
|
353
353
|
</div>
|
|
354
354
|
|
|
355
355
|
<style>
|
|
356
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
357
|
+
@layer smrt.theme {
|
|
356
358
|
.smrt-money {
|
|
357
359
|
display: flex;
|
|
358
360
|
flex-direction: column;
|
|
359
|
-
gap: var(--smrt-spacing-1
|
|
361
|
+
gap: var(--smrt-spacing-1);
|
|
360
362
|
}
|
|
361
363
|
|
|
362
364
|
.input-wrapper {
|
|
@@ -368,7 +370,7 @@ function handleBlur() {
|
|
|
368
370
|
.currency-code {
|
|
369
371
|
position: absolute;
|
|
370
372
|
right: 12px;
|
|
371
|
-
color: var(--smrt-color-on-surface-variant
|
|
373
|
+
color: var(--smrt-color-on-surface-variant);
|
|
372
374
|
font-size: var(--smrt-typography-label-medium-size, 0.75rem);
|
|
373
375
|
text-transform: uppercase;
|
|
374
376
|
pointer-events: none;
|
|
@@ -376,42 +378,43 @@ function handleBlur() {
|
|
|
376
378
|
|
|
377
379
|
.smrt-input {
|
|
378
380
|
flex: 1;
|
|
379
|
-
padding: var(--smrt-spacing-2
|
|
381
|
+
padding: var(--smrt-spacing-2) var(--smrt-spacing-12) var(--smrt-spacing-2) var(--smrt-spacing-3);
|
|
380
382
|
font-size: var(--smrt-typography-body-large-size, 1rem);
|
|
381
|
-
border: 1px solid var(--smrt-color-outline-variant
|
|
382
|
-
border-radius: var(--smrt-radius-small
|
|
383
|
-
background: var(--smrt-color-surface
|
|
383
|
+
border: 1px solid var(--smrt-color-outline-variant);
|
|
384
|
+
border-radius: var(--smrt-radius-small);
|
|
385
|
+
background: var(--smrt-color-surface);
|
|
384
386
|
transition: all var(--smrt-duration-short2, 150ms) var(--smrt-easing-standard, ease);
|
|
385
387
|
text-align: right;
|
|
386
388
|
}
|
|
387
389
|
|
|
388
390
|
.smrt-input:focus {
|
|
389
391
|
outline: none;
|
|
390
|
-
border-color: var(--smrt-color-primary
|
|
391
|
-
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-primary
|
|
392
|
+
border-color: var(--smrt-color-primary);
|
|
393
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-primary) 10%, transparent);
|
|
392
394
|
}
|
|
393
395
|
|
|
394
396
|
.smrt-input:disabled {
|
|
395
|
-
background: var(--smrt-color-surface-container-high
|
|
397
|
+
background: var(--smrt-color-surface-container-high);
|
|
396
398
|
cursor: not-allowed;
|
|
397
399
|
}
|
|
398
400
|
|
|
399
401
|
.smrt-input.smrt-mode {
|
|
400
|
-
border-color: var(--smrt-color-tertiary
|
|
402
|
+
border-color: var(--smrt-color-tertiary);
|
|
401
403
|
}
|
|
402
404
|
|
|
403
405
|
.smrt-input.invalid {
|
|
404
|
-
border-color: var(--smrt-color-error
|
|
406
|
+
border-color: var(--smrt-color-error);
|
|
405
407
|
}
|
|
406
408
|
|
|
407
409
|
.smrt-input.invalid:focus {
|
|
408
410
|
border-color: var(--smrt-color-error);
|
|
409
|
-
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-error
|
|
411
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-error) 10%, transparent);
|
|
410
412
|
}
|
|
411
413
|
|
|
412
414
|
.validation-error {
|
|
413
415
|
font-size: var(--smrt-typography-body-small-size, 0.75rem);
|
|
414
|
-
color: var(--smrt-color-error
|
|
415
|
-
margin-top: var(--smrt-spacing-1
|
|
416
|
+
color: var(--smrt-color-error);
|
|
417
|
+
margin-top: var(--smrt-spacing-1);
|
|
416
418
|
}
|
|
419
|
+
}
|
|
417
420
|
</style>
|
|
@@ -233,7 +233,7 @@ function handleInput(e: Event) {
|
|
|
233
233
|
}
|
|
234
234
|
</script>
|
|
235
235
|
|
|
236
|
-
<div class="smrt-number">
|
|
236
|
+
<div class="smrt-number" data-smrt-component="NumberInput">
|
|
237
237
|
{#if label}
|
|
238
238
|
<FieldLabel id={labelId} for={name} {label} {required} />
|
|
239
239
|
{/if}
|
|
@@ -272,12 +272,14 @@ function handleInput(e: Event) {
|
|
|
272
272
|
</div>
|
|
273
273
|
|
|
274
274
|
<style>
|
|
275
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
276
|
+
@layer smrt.theme {
|
|
275
277
|
.smrt-number {
|
|
276
278
|
display: flex;
|
|
277
279
|
flex-direction: column;
|
|
278
280
|
width: 100%;
|
|
279
281
|
min-width: 0;
|
|
280
|
-
gap: var(--smrt-spacing-1
|
|
282
|
+
gap: var(--smrt-spacing-1);
|
|
281
283
|
}
|
|
282
284
|
|
|
283
285
|
.input-wrapper {
|
|
@@ -290,36 +292,36 @@ function handleInput(e: Event) {
|
|
|
290
292
|
box-sizing: border-box;
|
|
291
293
|
min-width: 0;
|
|
292
294
|
width: 100%;
|
|
293
|
-
padding: var(--smrt-spacing-2
|
|
295
|
+
padding: var(--smrt-spacing-2) var(--smrt-spacing-3);
|
|
294
296
|
font-size: var(--smrt-typography-body-large-size, 1rem);
|
|
295
|
-
border: 1px solid var(--smrt-color-outline-variant
|
|
296
|
-
border-radius: var(--smrt-radius-small
|
|
297
|
-
background: var(--smrt-color-surface
|
|
297
|
+
border: 1px solid var(--smrt-color-outline-variant);
|
|
298
|
+
border-radius: var(--smrt-radius-small);
|
|
299
|
+
background: var(--smrt-color-surface);
|
|
298
300
|
transition: all var(--smrt-duration-short2, 150ms) var(--smrt-easing-standard, ease);
|
|
299
301
|
}
|
|
300
302
|
|
|
301
303
|
.smrt-input:focus {
|
|
302
304
|
outline: none;
|
|
303
|
-
border-color: var(--smrt-color-primary
|
|
304
|
-
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-primary
|
|
305
|
+
border-color: var(--smrt-color-primary);
|
|
306
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-primary) 10%, transparent);
|
|
305
307
|
}
|
|
306
308
|
|
|
307
309
|
.smrt-input:disabled {
|
|
308
|
-
background: var(--smrt-color-surface-container-high
|
|
310
|
+
background: var(--smrt-color-surface-container-high);
|
|
309
311
|
cursor: not-allowed;
|
|
310
312
|
}
|
|
311
313
|
|
|
312
314
|
.smrt-input.smrt-mode {
|
|
313
|
-
border-color: var(--smrt-color-tertiary
|
|
315
|
+
border-color: var(--smrt-color-tertiary);
|
|
314
316
|
}
|
|
315
317
|
|
|
316
318
|
.smrt-input.invalid {
|
|
317
|
-
border-color: var(--smrt-color-error
|
|
319
|
+
border-color: var(--smrt-color-error);
|
|
318
320
|
}
|
|
319
321
|
|
|
320
322
|
.smrt-input.invalid:focus {
|
|
321
323
|
border-color: var(--smrt-color-error);
|
|
322
|
-
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-error
|
|
324
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-error) 10%, transparent);
|
|
323
325
|
}
|
|
324
326
|
|
|
325
327
|
/* Hide spinner buttons */
|
|
@@ -336,7 +338,8 @@ function handleInput(e: Event) {
|
|
|
336
338
|
|
|
337
339
|
.validation-error {
|
|
338
340
|
font-size: var(--smrt-typography-body-small-size, 0.75rem);
|
|
339
|
-
color: var(--smrt-color-error
|
|
340
|
-
margin-top: var(--smrt-spacing-1
|
|
341
|
+
color: var(--smrt-color-error);
|
|
342
|
+
margin-top: var(--smrt-spacing-1);
|
|
341
343
|
}
|
|
344
|
+
}
|
|
342
345
|
</style>
|