@happyvertical/smrt-svelte 0.55.16 → 0.55.18
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 +155 -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 +279 -14
- 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 +53 -11
- 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 +9 -4
- package/dist/components/workspace/admin-shell/AdminShell.svelte +642 -126
- 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 +58 -14
- 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 +15 -6
- 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 +11 -7
- package/dist/components/workspace/admin-shell/ShellLayoutEditor.svelte +6 -3
- package/dist/components/workspace/admin-shell/ShellNavEditor.svelte +19 -13
- 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 +8 -5
- package/dist/components/workspace/admin-shell/ShellSectionIcon.svelte +4 -1
- package/dist/components/workspace/admin-shell/ShellSectionMenu.svelte +24 -17
- 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 +112 -43
- 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 +322 -55
- 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
|
@@ -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>
|
|
@@ -298,7 +298,7 @@ function handleInput(e: Event) {
|
|
|
298
298
|
}
|
|
299
299
|
</script>
|
|
300
300
|
|
|
301
|
-
<div class="smrt-phone" class:listening={isHolding}>
|
|
301
|
+
<div class="smrt-phone" class:listening={isHolding} data-smrt-component="PhoneInput">
|
|
302
302
|
{#if label}
|
|
303
303
|
<FieldLabel id={labelId} for={name} {label} {required} />
|
|
304
304
|
{/if}
|
|
@@ -391,10 +391,12 @@ function handleInput(e: Event) {
|
|
|
391
391
|
</div>
|
|
392
392
|
|
|
393
393
|
<style>
|
|
394
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
395
|
+
@layer smrt.theme {
|
|
394
396
|
.smrt-phone {
|
|
395
397
|
display: flex;
|
|
396
398
|
flex-direction: column;
|
|
397
|
-
gap: var(--smrt-spacing-1
|
|
399
|
+
gap: var(--smrt-spacing-1);
|
|
398
400
|
position: relative;
|
|
399
401
|
}
|
|
400
402
|
|
|
@@ -405,42 +407,42 @@ function handleInput(e: Event) {
|
|
|
405
407
|
|
|
406
408
|
.smrt-input {
|
|
407
409
|
flex: 1;
|
|
408
|
-
padding: var(--smrt-spacing-2
|
|
410
|
+
padding: var(--smrt-spacing-2) var(--smrt-spacing-3);
|
|
409
411
|
font-size: var(--smrt-typography-body-large-size, 1rem);
|
|
410
|
-
border: 1px solid var(--smrt-color-outline-variant
|
|
411
|
-
border-radius: var(--smrt-radius-small
|
|
412
|
-
background: var(--smrt-color-surface
|
|
412
|
+
border: 1px solid var(--smrt-color-outline-variant);
|
|
413
|
+
border-radius: var(--smrt-radius-small);
|
|
414
|
+
background: var(--smrt-color-surface);
|
|
413
415
|
transition: all var(--smrt-duration-short2, 150ms) var(--smrt-easing-standard, ease);
|
|
414
416
|
}
|
|
415
417
|
|
|
416
418
|
.smrt-input:focus {
|
|
417
419
|
outline: none;
|
|
418
|
-
border-color: var(--smrt-color-primary
|
|
419
|
-
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-primary
|
|
420
|
+
border-color: var(--smrt-color-primary);
|
|
421
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-primary) 10%, transparent);
|
|
420
422
|
}
|
|
421
423
|
|
|
422
424
|
.smrt-input.smrt-mode {
|
|
423
|
-
padding-right: var(--smrt-spacing-11
|
|
425
|
+
padding-right: var(--smrt-spacing-11);
|
|
424
426
|
cursor: pointer;
|
|
425
427
|
}
|
|
426
428
|
|
|
427
429
|
.smrt-input:disabled {
|
|
428
|
-
background: var(--smrt-color-surface-container-high
|
|
430
|
+
background: var(--smrt-color-surface-container-high);
|
|
429
431
|
cursor: not-allowed;
|
|
430
432
|
}
|
|
431
433
|
|
|
432
434
|
.smrt-phone.listening .smrt-input {
|
|
433
|
-
border-color: var(--smrt-color-success
|
|
434
|
-
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-success
|
|
435
|
+
border-color: var(--smrt-color-success);
|
|
436
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-success) 30%, transparent);
|
|
435
437
|
animation: pulse-green 1.5s var(--smrt-easing-standard, ease-in-out) infinite;
|
|
436
438
|
}
|
|
437
439
|
|
|
438
440
|
@keyframes pulse-green {
|
|
439
441
|
0%, 100% {
|
|
440
|
-
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-success
|
|
442
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-success) 30%, transparent);
|
|
441
443
|
}
|
|
442
444
|
50% {
|
|
443
|
-
box-shadow: 0 0 0 6px color-mix(in srgb, var(--smrt-color-success
|
|
445
|
+
box-shadow: 0 0 0 6px color-mix(in srgb, var(--smrt-color-success) 15%, transparent);
|
|
444
446
|
}
|
|
445
447
|
}
|
|
446
448
|
|
|
@@ -462,19 +464,19 @@ function handleInput(e: Event) {
|
|
|
462
464
|
justify-content: center;
|
|
463
465
|
background: transparent;
|
|
464
466
|
border: none;
|
|
465
|
-
border-radius: var(--smrt-radius-sm
|
|
466
|
-
color: var(--smrt-color-on-surface-variant
|
|
467
|
+
border-radius: var(--smrt-radius-sm);
|
|
468
|
+
color: var(--smrt-color-on-surface-variant);
|
|
467
469
|
cursor: pointer;
|
|
468
470
|
transition: all 0.2s;
|
|
469
471
|
}
|
|
470
472
|
|
|
471
473
|
.mic-btn:hover {
|
|
472
474
|
background: var(--smrt-color-surface-container);
|
|
473
|
-
color: var(--smrt-color-on-surface
|
|
475
|
+
color: var(--smrt-color-on-surface);
|
|
474
476
|
}
|
|
475
477
|
|
|
476
478
|
.mic-btn.active {
|
|
477
|
-
background: var(--smrt-color-primary
|
|
479
|
+
background: var(--smrt-color-primary);
|
|
478
480
|
color: var(--smrt-color-on-primary, white);
|
|
479
481
|
}
|
|
480
482
|
|
|
@@ -484,12 +486,12 @@ function handleInput(e: Event) {
|
|
|
484
486
|
}
|
|
485
487
|
|
|
486
488
|
.smrt-input.invalid {
|
|
487
|
-
border-color: var(--smrt-color-error
|
|
489
|
+
border-color: var(--smrt-color-error);
|
|
488
490
|
}
|
|
489
491
|
|
|
490
492
|
.smrt-input.invalid:focus {
|
|
491
|
-
border-color: var(--smrt-color-error
|
|
492
|
-
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-error
|
|
493
|
+
border-color: var(--smrt-color-error);
|
|
494
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--smrt-color-error) 10%, transparent);
|
|
493
495
|
}
|
|
494
496
|
|
|
495
497
|
.smrt-input.processing {
|
|
@@ -502,17 +504,17 @@ function handleInput(e: Event) {
|
|
|
502
504
|
.listening-indicator {
|
|
503
505
|
display: flex;
|
|
504
506
|
align-items: center;
|
|
505
|
-
gap: var(--smrt-spacing-2
|
|
507
|
+
gap: var(--smrt-spacing-2);
|
|
506
508
|
font-size: var(--smrt-typography-body-small-size, 0.75rem);
|
|
507
509
|
color: var(--smrt-color-on-surface-variant);
|
|
508
|
-
margin-top: var(--smrt-spacing-1
|
|
510
|
+
margin-top: var(--smrt-spacing-1);
|
|
509
511
|
}
|
|
510
512
|
|
|
511
513
|
.listening-dot {
|
|
512
514
|
width: 8px;
|
|
513
515
|
height: 8px;
|
|
514
516
|
background: var(--smrt-color-success);
|
|
515
|
-
border-radius: var(--smrt-radius-full
|
|
517
|
+
border-radius: var(--smrt-radius-full);
|
|
516
518
|
animation: pulse-dot 1s ease-in-out infinite;
|
|
517
519
|
}
|
|
518
520
|
|
|
@@ -536,19 +538,19 @@ function handleInput(e: Event) {
|
|
|
536
538
|
.processing-indicator {
|
|
537
539
|
display: flex;
|
|
538
540
|
align-items: center;
|
|
539
|
-
gap: var(--smrt-spacing-2
|
|
541
|
+
gap: var(--smrt-spacing-2);
|
|
540
542
|
font-size: var(--smrt-typography-body-small-size, 0.75rem);
|
|
541
|
-
color: var(--smrt-color-on-surface-variant
|
|
542
|
-
margin-top: var(--smrt-spacing-1
|
|
543
|
+
color: var(--smrt-color-on-surface-variant);
|
|
544
|
+
margin-top: var(--smrt-spacing-1);
|
|
543
545
|
}
|
|
544
546
|
|
|
545
547
|
.downloading-indicator {
|
|
546
548
|
display: flex;
|
|
547
549
|
align-items: center;
|
|
548
|
-
gap: var(--smrt-spacing-2
|
|
550
|
+
gap: var(--smrt-spacing-2);
|
|
549
551
|
font-size: var(--smrt-typography-body-small-size, 0.75rem);
|
|
550
552
|
color: var(--smrt-color-tertiary);
|
|
551
|
-
margin-top: var(--smrt-spacing-1
|
|
553
|
+
margin-top: var(--smrt-spacing-1);
|
|
552
554
|
}
|
|
553
555
|
|
|
554
556
|
.processing-spinner {
|
|
@@ -556,7 +558,7 @@ function handleInput(e: Event) {
|
|
|
556
558
|
height: 12px;
|
|
557
559
|
border: 2px solid var(--smrt-color-outline-variant);
|
|
558
560
|
border-top-color: var(--smrt-color-primary);
|
|
559
|
-
border-radius: var(--smrt-radius-full
|
|
561
|
+
border-radius: var(--smrt-radius-full);
|
|
560
562
|
animation: spin 0.8s linear infinite;
|
|
561
563
|
}
|
|
562
564
|
|
|
@@ -568,13 +570,14 @@ function handleInput(e: Event) {
|
|
|
568
570
|
|
|
569
571
|
.error-message {
|
|
570
572
|
font-size: var(--smrt-typography-body-small-size, 0.75rem);
|
|
571
|
-
color: var(--smrt-color-error
|
|
572
|
-
margin-top: var(--smrt-spacing-1
|
|
573
|
+
color: var(--smrt-color-error);
|
|
574
|
+
margin-top: var(--smrt-spacing-1);
|
|
573
575
|
}
|
|
574
576
|
|
|
575
577
|
.validation-error {
|
|
576
578
|
font-size: var(--smrt-typography-body-small-size, 0.75rem);
|
|
577
|
-
color: var(--smrt-color-error
|
|
578
|
-
margin-top: var(--smrt-spacing-1
|
|
579
|
+
color: var(--smrt-color-error);
|
|
580
|
+
margin-top: var(--smrt-spacing-1);
|
|
579
581
|
}
|
|
582
|
+
}
|
|
580
583
|
</style>
|
|
@@ -132,7 +132,7 @@ const sizeClasses = {
|
|
|
132
132
|
<div
|
|
133
133
|
class="search-input {sizeClasses[size]}"
|
|
134
134
|
class:search-input--disabled={disabled}
|
|
135
|
-
class:search-input--loading={loading}
|
|
135
|
+
class:search-input--loading={loading} data-smrt-component="SearchInput"
|
|
136
136
|
>
|
|
137
137
|
<span class="search-input__icon" aria-hidden="true">
|
|
138
138
|
{#if loading}
|
|
@@ -213,20 +213,22 @@ const sizeClasses = {
|
|
|
213
213
|
</div>
|
|
214
214
|
|
|
215
215
|
<style>
|
|
216
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
217
|
+
@layer smrt.theme {
|
|
216
218
|
.search-input {
|
|
217
219
|
position: relative;
|
|
218
220
|
display: flex;
|
|
219
221
|
align-items: center;
|
|
220
222
|
width: 100%;
|
|
221
|
-
background: var(--smrt-color-surface-container-low
|
|
222
|
-
border: 1px solid var(--smrt-color-outline-variant
|
|
223
|
+
background: var(--smrt-color-surface-container-low);
|
|
224
|
+
border: 1px solid var(--smrt-color-outline-variant);
|
|
223
225
|
border-radius: var(--smrt-radius-md, 0.5rem);
|
|
224
226
|
transition: all var(--smrt-duration-fast, 150ms) var(--smrt-easing-standard, ease);
|
|
225
227
|
}
|
|
226
228
|
|
|
227
229
|
.search-input:focus-within {
|
|
228
|
-
background: var(--smrt-color-surface
|
|
229
|
-
border-color: var(--smrt-color-primary
|
|
230
|
+
background: var(--smrt-color-surface);
|
|
231
|
+
border-color: var(--smrt-color-primary);
|
|
230
232
|
box-shadow: 0 0 0 3px var(--smrt-color-primary-container, rgba(0, 90, 193, 0.1));
|
|
231
233
|
}
|
|
232
234
|
|
|
@@ -240,7 +242,7 @@ const sizeClasses = {
|
|
|
240
242
|
align-items: center;
|
|
241
243
|
justify-content: center;
|
|
242
244
|
flex-shrink: 0;
|
|
243
|
-
color: var(--smrt-color-on-surface-variant
|
|
245
|
+
color: var(--smrt-color-on-surface-variant);
|
|
244
246
|
}
|
|
245
247
|
|
|
246
248
|
.search-input__spinner {
|
|
@@ -259,12 +261,12 @@ const sizeClasses = {
|
|
|
259
261
|
border: none;
|
|
260
262
|
background: transparent;
|
|
261
263
|
font-family: inherit;
|
|
262
|
-
color: var(--smrt-color-on-surface
|
|
264
|
+
color: var(--smrt-color-on-surface);
|
|
263
265
|
outline: none;
|
|
264
266
|
}
|
|
265
267
|
|
|
266
268
|
.search-input__field::placeholder {
|
|
267
|
-
color: var(--smrt-color-on-surface-variant
|
|
269
|
+
color: var(--smrt-color-on-surface-variant);
|
|
268
270
|
}
|
|
269
271
|
|
|
270
272
|
/* Hide default search clear button */
|
|
@@ -280,19 +282,19 @@ const sizeClasses = {
|
|
|
280
282
|
padding: 0;
|
|
281
283
|
border: none;
|
|
282
284
|
background: transparent;
|
|
283
|
-
color: var(--smrt-color-on-surface-variant
|
|
285
|
+
color: var(--smrt-color-on-surface-variant);
|
|
284
286
|
cursor: pointer;
|
|
285
|
-
border-radius: var(--smrt-radius-full
|
|
287
|
+
border-radius: var(--smrt-radius-full);
|
|
286
288
|
transition: all var(--smrt-duration-short2, 150ms) var(--smrt-easing-standard, ease);
|
|
287
289
|
}
|
|
288
290
|
|
|
289
291
|
.search-input__clear:hover {
|
|
290
|
-
color: var(--smrt-color-on-surface
|
|
291
|
-
background: var(--smrt-color-surface-container
|
|
292
|
+
color: var(--smrt-color-on-surface);
|
|
293
|
+
background: var(--smrt-color-surface-container);
|
|
292
294
|
}
|
|
293
295
|
|
|
294
296
|
.search-input__clear:focus-visible {
|
|
295
|
-
outline: 2px solid var(--smrt-color-primary
|
|
297
|
+
outline: 2px solid var(--smrt-color-primary);
|
|
296
298
|
outline-offset: 2px;
|
|
297
299
|
}
|
|
298
300
|
|
|
@@ -355,4 +357,5 @@ const sizeClasses = {
|
|
|
355
357
|
height: 32px;
|
|
356
358
|
margin-right: var(--smrt-spacing-3, 0.75rem);
|
|
357
359
|
}
|
|
360
|
+
}
|
|
358
361
|
</style>
|