@happyvertical/smrt-ui 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/AGENTS.md +14 -0
- package/README.md +75 -0
- package/dist/components/calendar/Calendar.svelte +59 -56
- package/dist/components/calendar/CalendarView.svelte +80 -77
- package/dist/components/calendar/DayView.svelte +39 -36
- package/dist/components/chat/MessageBubble.svelte +26 -23
- package/dist/components/chat/ReactionPicker.svelte +12 -9
- package/dist/components/chat/TypingIndicator.svelte +12 -9
- package/dist/components/data/CollectionList.svelte +11 -8
- package/dist/components/data/CollectionToolbar.svelte +5 -2
- package/dist/components/data/DataTable.svelte +74 -59
- package/dist/components/data/ListSortSelect.svelte +8 -5
- package/dist/components/data/SortableHeader.svelte +10 -7
- package/dist/components/display/ConfidenceBadge.svelte +11 -8
- package/dist/components/display/CurrencyDisplay.svelte +7 -4
- package/dist/components/display/DateDisplay.svelte +6 -3
- package/dist/components/display/Icon.svelte +4 -1
- package/dist/components/display/StatusBadge.svelte +9 -6
- package/dist/components/feedback/Alert.svelte +12 -8
- package/dist/components/feedback/ConfirmDialog.svelte +13 -10
- package/dist/components/feedback/LoadingOverlay.svelte +37 -34
- package/dist/components/feedback/Meter.svelte +4 -1
- package/dist/components/feedback/Modal.svelte +26 -21
- package/dist/components/feedback/PhoneSheet.svelte +6 -3
- package/dist/components/feedback/Progress.svelte +8 -5
- package/dist/components/feedback/ProgressBar.svelte +13 -10
- package/dist/components/feedback/Spinner.svelte +4 -1
- package/dist/components/feedback/ToastViewport.svelte +18 -15
- package/dist/components/feedback/WorkingStrip.svelte +6 -3
- package/dist/components/forms/CameraCapture.svelte +8 -5
- package/dist/components/forms/Checkbox.svelte +11 -8
- package/dist/components/forms/Combobox.svelte +5 -2
- package/dist/components/forms/DatePicker.svelte +7 -2
- package/dist/components/forms/DictationButton.svelte +17 -14
- package/dist/components/forms/DictationStatus.svelte +12 -9
- package/dist/components/forms/ErrorSummary.svelte +4 -1
- package/dist/components/forms/FieldLabel.svelte +9 -6
- package/dist/components/forms/Fieldset.svelte +4 -1
- package/dist/components/forms/FilePicker.svelte +5 -2
- package/dist/components/forms/Form.svelte +1 -1
- package/dist/components/forms/FormActionBar.svelte +4 -1
- package/dist/components/forms/FormGroup.svelte +6 -3
- package/dist/components/forms/Input.svelte +22 -15
- package/dist/components/forms/InputGroup.svelte +6 -3
- package/dist/components/forms/Listbox.svelte +5 -2
- package/dist/components/forms/MultiSelect.svelte +4 -1
- package/dist/components/forms/Radio.svelte +9 -6
- package/dist/components/forms/RadioGroup.svelte +5 -2
- package/dist/components/forms/RangeSlider.svelte +5 -2
- package/dist/components/forms/RelationInput.svelte +7 -4
- package/dist/components/forms/SearchInput.svelte +7 -4
- package/dist/components/forms/SegmentedControl.svelte +6 -3
- package/dist/components/forms/Select.svelte +20 -13
- package/dist/components/forms/SignaturePad.svelte +8 -5
- package/dist/components/forms/Slider.svelte +5 -2
- package/dist/components/forms/StagedControlReview.svelte +15 -12
- package/dist/components/forms/Switch.svelte +8 -5
- package/dist/components/forms/TagsInput.svelte +5 -2
- package/dist/components/forms/Textarea.svelte +20 -13
- package/dist/components/forms/TimePicker.svelte +7 -2
- package/dist/components/forms/Toggle.svelte +14 -11
- package/dist/components/forms/ToggleButton.svelte +5 -2
- package/dist/components/layout/ActionGroup.svelte +4 -1
- package/dist/components/layout/Container.svelte +4 -1
- package/dist/components/layout/EmptyState.svelte +11 -8
- package/dist/components/layout/Footer.svelte +4 -1
- package/dist/components/layout/Grid.svelte +13 -10
- package/dist/components/layout/Header.svelte +4 -1
- package/dist/components/layout/Masthead.svelte +4 -1
- package/dist/components/layout/PageHeader.svelte +12 -9
- package/dist/components/layout/PageLayout.svelte +3 -0
- package/dist/components/layout/SummaryCard.svelte +9 -6
- package/dist/components/memberships/MembershipCard.svelte +5 -2
- package/dist/components/memberships/MembershipList.svelte +5 -2
- package/dist/components/nav/FilterChips.svelte +13 -10
- package/dist/components/nav/Tabs.svelte +75 -41
- package/dist/components/permissions/PermissionPicker.svelte +5 -2
- package/dist/components/roles/RoleBadge.svelte +8 -5
- package/dist/components/roles/RoleSelector.svelte +22 -19
- package/dist/components/theme/ThemeProvider.svelte +7 -4
- package/dist/components/ui/Accordion.svelte +4 -1
- package/dist/components/ui/AccordionItem.svelte +5 -2
- package/dist/components/ui/Avatar.svelte +10 -7
- package/dist/components/ui/Badge.svelte +6 -2
- package/dist/components/ui/Button.svelte +49 -37
- package/dist/components/ui/Card.svelte +18 -14
- package/dist/components/ui/Chip.svelte +41 -14
- package/dist/components/ui/Disclosure.svelte +5 -2
- package/dist/components/ui/Dropdown.svelte +33 -25
- package/dist/components/ui/IconToggle.svelte +12 -9
- package/dist/components/ui/IconToggle.svelte.d.ts +1 -1
- package/dist/components/ui/IconToggle.svelte.d.ts.map +1 -1
- package/dist/components/ui/IconToggleGroup.svelte +8 -5
- package/dist/components/ui/Pagination.svelte +11 -8
- package/dist/components/ui/Popover.svelte +9 -6
- package/dist/components/ui/Skeleton.svelte +10 -7
- package/dist/components/ui/Tooltip.svelte +13 -9
- package/dist/components/ui/Tree.svelte +12 -9
- package/dist/styles/layers.css +8 -0
- package/dist/styles/layers.d.ts +9 -0
- package/dist/styles/layers.d.ts.map +1 -0
- package/dist/styles/layers.js +8 -0
- package/dist/styles/tokens.css +27 -69
- package/dist/styles/unstyled.css +65 -0
- package/dist/svelte/playground/BaseControlsPreview.svelte +3 -0
- package/dist/svelte/playground/CalendarPreview.svelte +5 -2
- package/dist/svelte/playground/CapturePreview.svelte +3 -0
- package/dist/svelte/playground/CodeSelectorsPreview.svelte +3 -0
- package/dist/svelte/playground/CollectionsPreview.svelte +3 -0
- package/dist/svelte/playground/DataTablePreview.svelte +3 -0
- package/dist/svelte/playground/FeedbackPreview.svelte +3 -0
- package/dist/svelte/playground/InteractiveControlsPreview.svelte +3 -0
- package/dist/svelte/playground/StylelessPreview.svelte +110 -0
- package/dist/svelte/playground/StylelessPreview.svelte.d.ts +4 -0
- package/dist/svelte/playground/StylelessPreview.svelte.d.ts.map +1 -0
- package/dist/svelte/playground.d.ts.map +1 -1
- package/dist/svelte/playground.js +10 -0
- package/dist/test-support/setup.js +9 -0
- package/dist/theme/ThemeProvider.svelte +3 -0
- package/dist/themes/CUSTOM_THEME_GUIDE.md +40 -0
- package/dist/themes/README.md +151 -0
- package/dist/themes/ThemeProvider.svelte +181 -12
- package/dist/themes/ThemeProvider.svelte.d.ts +7 -2
- package/dist/themes/ThemeProvider.svelte.d.ts.map +1 -1
- package/dist/themes/components/ColorSchemeToggle.svelte +17 -14
- package/dist/themes/components/ThemeSwitcher.svelte +14 -11
- package/dist/themes/create-theme.d.ts +22 -1
- package/dist/themes/create-theme.d.ts.map +1 -1
- package/dist/themes/create-theme.js +100 -9
- package/dist/themes/css-generator.d.ts.map +1 -1
- package/dist/themes/css-generator.js +20 -20
- package/dist/themes/derive.d.ts +31 -0
- package/dist/themes/derive.d.ts.map +1 -0
- package/dist/themes/derive.js +183 -0
- package/dist/themes/glass/index.d.ts.map +1 -1
- package/dist/themes/glass/index.js +127 -14
- package/dist/themes/happyvertical/index.d.ts.map +1 -1
- package/dist/themes/happyvertical/index.js +101 -20
- package/dist/themes/index.d.ts +2 -2
- package/dist/themes/index.d.ts.map +1 -1
- package/dist/themes/index.js +1 -1
- package/dist/themes/material/index.d.ts.map +1 -1
- package/dist/themes/material/index.js +129 -28
- package/dist/themes/required-tokens.generated.json +201 -0
- package/dist/themes/shared.d.ts +35 -0
- package/dist/themes/shared.d.ts.map +1 -1
- package/dist/themes/shared.js +32 -0
- package/dist/themes/smrt/index.d.ts +3 -0
- package/dist/themes/smrt/index.d.ts.map +1 -1
- package/dist/themes/smrt/index.js +108 -26
- package/dist/themes/studio/index.d.ts.map +1 -1
- package/dist/themes/studio/index.js +116 -40
- package/dist/themes/styles/base.css +229 -1
- package/dist/themes/styles/glass.css +107 -20
- package/dist/themes/styles/happyvertical.css +111 -15
- package/dist/themes/styles/material.css +127 -35
- package/dist/themes/styles/smrt.css +126 -31
- package/dist/themes/styles/studio.css +132 -37
- package/dist/themes/theme-script.d.ts +3 -1
- package/dist/themes/theme-script.d.ts.map +1 -1
- package/dist/themes/theme-script.js +7 -2
- package/dist/themes/types.d.ts +118 -6
- package/dist/themes/types.d.ts.map +1 -1
- package/dist/utils/theme/typography.d.ts +21 -21
- package/dist/utils/theme/typography.js +21 -21
- package/package.json +8 -2
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "Generated by scripts/generate-smrt-required-tokens.mjs. Do not edit by hand.",
|
|
3
|
+
"required": [
|
|
4
|
+
"--smrt-color-background",
|
|
5
|
+
"--smrt-color-error",
|
|
6
|
+
"--smrt-color-error-container",
|
|
7
|
+
"--smrt-color-inverse-on-surface",
|
|
8
|
+
"--smrt-color-inverse-surface",
|
|
9
|
+
"--smrt-color-on-background",
|
|
10
|
+
"--smrt-color-on-error",
|
|
11
|
+
"--smrt-color-on-error-container",
|
|
12
|
+
"--smrt-color-on-primary",
|
|
13
|
+
"--smrt-color-on-primary-container",
|
|
14
|
+
"--smrt-color-on-secondary",
|
|
15
|
+
"--smrt-color-on-secondary-container",
|
|
16
|
+
"--smrt-color-on-success-container",
|
|
17
|
+
"--smrt-color-on-surface",
|
|
18
|
+
"--smrt-color-on-surface-variant",
|
|
19
|
+
"--smrt-color-on-tertiary",
|
|
20
|
+
"--smrt-color-on-tertiary-container",
|
|
21
|
+
"--smrt-color-on-warning-container",
|
|
22
|
+
"--smrt-color-outline",
|
|
23
|
+
"--smrt-color-outline-variant",
|
|
24
|
+
"--smrt-color-primary",
|
|
25
|
+
"--smrt-color-primary-container",
|
|
26
|
+
"--smrt-color-scrim",
|
|
27
|
+
"--smrt-color-secondary",
|
|
28
|
+
"--smrt-color-secondary-container",
|
|
29
|
+
"--smrt-color-shadow",
|
|
30
|
+
"--smrt-color-success",
|
|
31
|
+
"--smrt-color-success-container",
|
|
32
|
+
"--smrt-color-surface",
|
|
33
|
+
"--smrt-color-surface-container",
|
|
34
|
+
"--smrt-color-surface-container-high",
|
|
35
|
+
"--smrt-color-surface-container-highest",
|
|
36
|
+
"--smrt-color-surface-container-low",
|
|
37
|
+
"--smrt-color-surface-container-lowest",
|
|
38
|
+
"--smrt-color-surface-dim",
|
|
39
|
+
"--smrt-color-surface-variant",
|
|
40
|
+
"--smrt-color-tertiary",
|
|
41
|
+
"--smrt-color-tertiary-container",
|
|
42
|
+
"--smrt-color-warning",
|
|
43
|
+
"--smrt-color-warning-container",
|
|
44
|
+
"--smrt-control-height",
|
|
45
|
+
"--smrt-control-height-small",
|
|
46
|
+
"--smrt-control-radius",
|
|
47
|
+
"--smrt-control-radius-small",
|
|
48
|
+
"--smrt-duration-fast",
|
|
49
|
+
"--smrt-duration-medium1",
|
|
50
|
+
"--smrt-duration-normal",
|
|
51
|
+
"--smrt-duration-short2",
|
|
52
|
+
"--smrt-duration-short3",
|
|
53
|
+
"--smrt-duration-short4",
|
|
54
|
+
"--smrt-easing-emphasized",
|
|
55
|
+
"--smrt-easing-emphasized-decelerate",
|
|
56
|
+
"--smrt-easing-standard",
|
|
57
|
+
"--smrt-elevation-1",
|
|
58
|
+
"--smrt-elevation-2",
|
|
59
|
+
"--smrt-elevation-3",
|
|
60
|
+
"--smrt-elevation-4",
|
|
61
|
+
"--smrt-elevation-5",
|
|
62
|
+
"--smrt-focus-ring-color",
|
|
63
|
+
"--smrt-focus-ring-offset",
|
|
64
|
+
"--smrt-focus-ring-width",
|
|
65
|
+
"--smrt-font-family",
|
|
66
|
+
"--smrt-font-family-mono",
|
|
67
|
+
"--smrt-glass-blur",
|
|
68
|
+
"--smrt-glass-saturation",
|
|
69
|
+
"--smrt-glass-surface",
|
|
70
|
+
"--smrt-glass-surface-strong",
|
|
71
|
+
"--smrt-hairline",
|
|
72
|
+
"--smrt-hairline-color",
|
|
73
|
+
"--smrt-hairline-strong",
|
|
74
|
+
"--smrt-hairline-strong-color",
|
|
75
|
+
"--smrt-inset-highlight",
|
|
76
|
+
"--smrt-radius-2xl",
|
|
77
|
+
"--smrt-radius-extra-large",
|
|
78
|
+
"--smrt-radius-extra-small",
|
|
79
|
+
"--smrt-radius-full",
|
|
80
|
+
"--smrt-radius-large",
|
|
81
|
+
"--smrt-radius-lg",
|
|
82
|
+
"--smrt-radius-md",
|
|
83
|
+
"--smrt-radius-medium",
|
|
84
|
+
"--smrt-radius-sm",
|
|
85
|
+
"--smrt-radius-small",
|
|
86
|
+
"--smrt-radius-xl",
|
|
87
|
+
"--smrt-scrollbar-thumb",
|
|
88
|
+
"--smrt-scrollbar-track",
|
|
89
|
+
"--smrt-spacing-0_5",
|
|
90
|
+
"--smrt-spacing-1",
|
|
91
|
+
"--smrt-spacing-10",
|
|
92
|
+
"--smrt-spacing-11",
|
|
93
|
+
"--smrt-spacing-12",
|
|
94
|
+
"--smrt-spacing-1_5",
|
|
95
|
+
"--smrt-spacing-2",
|
|
96
|
+
"--smrt-spacing-2xl",
|
|
97
|
+
"--smrt-spacing-3",
|
|
98
|
+
"--smrt-spacing-3xl",
|
|
99
|
+
"--smrt-spacing-4",
|
|
100
|
+
"--smrt-spacing-5",
|
|
101
|
+
"--smrt-spacing-6",
|
|
102
|
+
"--smrt-spacing-8",
|
|
103
|
+
"--smrt-spacing-lg",
|
|
104
|
+
"--smrt-spacing-md",
|
|
105
|
+
"--smrt-spacing-sm",
|
|
106
|
+
"--smrt-spacing-xl",
|
|
107
|
+
"--smrt-spacing-xs",
|
|
108
|
+
"--smrt-state-disabled",
|
|
109
|
+
"--smrt-state-dragged",
|
|
110
|
+
"--smrt-state-hover",
|
|
111
|
+
"--smrt-state-pressed",
|
|
112
|
+
"--smrt-state-selected",
|
|
113
|
+
"--smrt-surface-control",
|
|
114
|
+
"--smrt-surface-ground",
|
|
115
|
+
"--smrt-surface-overlay",
|
|
116
|
+
"--smrt-surface-panel",
|
|
117
|
+
"--smrt-surface-raised",
|
|
118
|
+
"--smrt-surface-sunken",
|
|
119
|
+
"--smrt-touch-target-min",
|
|
120
|
+
"--smrt-typography-body-large-font",
|
|
121
|
+
"--smrt-typography-body-large-line-height",
|
|
122
|
+
"--smrt-typography-body-large-size",
|
|
123
|
+
"--smrt-typography-body-large-tracking",
|
|
124
|
+
"--smrt-typography-body-medium-font",
|
|
125
|
+
"--smrt-typography-body-medium-line-height",
|
|
126
|
+
"--smrt-typography-body-medium-size",
|
|
127
|
+
"--smrt-typography-body-medium-tracking",
|
|
128
|
+
"--smrt-typography-body-medium-weight",
|
|
129
|
+
"--smrt-typography-body-small-font",
|
|
130
|
+
"--smrt-typography-body-small-line-height",
|
|
131
|
+
"--smrt-typography-body-small-size",
|
|
132
|
+
"--smrt-typography-body-small-weight",
|
|
133
|
+
"--smrt-typography-display-medium-line-height",
|
|
134
|
+
"--smrt-typography-display-medium-size",
|
|
135
|
+
"--smrt-typography-display-small-size",
|
|
136
|
+
"--smrt-typography-headline-large-line-height",
|
|
137
|
+
"--smrt-typography-headline-large-size",
|
|
138
|
+
"--smrt-typography-headline-large-weight",
|
|
139
|
+
"--smrt-typography-headline-medium-line-height",
|
|
140
|
+
"--smrt-typography-headline-medium-size",
|
|
141
|
+
"--smrt-typography-headline-medium-weight",
|
|
142
|
+
"--smrt-typography-headline-small-font",
|
|
143
|
+
"--smrt-typography-headline-small-line-height",
|
|
144
|
+
"--smrt-typography-headline-small-size",
|
|
145
|
+
"--smrt-typography-headline-small-weight",
|
|
146
|
+
"--smrt-typography-label-large-font",
|
|
147
|
+
"--smrt-typography-label-large-size",
|
|
148
|
+
"--smrt-typography-label-large-tracking",
|
|
149
|
+
"--smrt-typography-label-large-weight",
|
|
150
|
+
"--smrt-typography-label-medium-font",
|
|
151
|
+
"--smrt-typography-label-medium-size",
|
|
152
|
+
"--smrt-typography-label-medium-tracking",
|
|
153
|
+
"--smrt-typography-label-medium-weight",
|
|
154
|
+
"--smrt-typography-label-small-font",
|
|
155
|
+
"--smrt-typography-label-small-line-height",
|
|
156
|
+
"--smrt-typography-label-small-size",
|
|
157
|
+
"--smrt-typography-label-small-tracking",
|
|
158
|
+
"--smrt-typography-label-small-weight",
|
|
159
|
+
"--smrt-typography-title-large-font",
|
|
160
|
+
"--smrt-typography-title-large-line-height",
|
|
161
|
+
"--smrt-typography-title-large-size",
|
|
162
|
+
"--smrt-typography-title-medium-font",
|
|
163
|
+
"--smrt-typography-title-medium-font-family",
|
|
164
|
+
"--smrt-typography-title-medium-line-height",
|
|
165
|
+
"--smrt-typography-title-medium-size",
|
|
166
|
+
"--smrt-typography-title-medium-tracking",
|
|
167
|
+
"--smrt-typography-title-medium-weight",
|
|
168
|
+
"--smrt-typography-title-small-font",
|
|
169
|
+
"--smrt-typography-title-small-size",
|
|
170
|
+
"--smrt-typography-title-small-tracking",
|
|
171
|
+
"--smrt-typography-title-small-weight",
|
|
172
|
+
"--smrt-typography-weight-bold",
|
|
173
|
+
"--smrt-typography-weight-medium",
|
|
174
|
+
"--smrt-typography-weight-normal",
|
|
175
|
+
"--smrt-typography-weight-semibold",
|
|
176
|
+
"--smrt-z-index-dialog",
|
|
177
|
+
"--smrt-z-index-dropdown",
|
|
178
|
+
"--smrt-z-index-modal",
|
|
179
|
+
"--smrt-z-index-overlay",
|
|
180
|
+
"--smrt-z-index-sticky",
|
|
181
|
+
"--smrt-z-index-toast",
|
|
182
|
+
"--smrt-z-index-tooltip"
|
|
183
|
+
],
|
|
184
|
+
"optional": [
|
|
185
|
+
"--smrt-admin-shell-background",
|
|
186
|
+
"--smrt-admin-shell-scrollbar-thumb",
|
|
187
|
+
"--smrt-admin-shell-scrollbar-thumb-hover",
|
|
188
|
+
"--smrt-admin-shell-scrollbar-track",
|
|
189
|
+
"--smrt-card-background",
|
|
190
|
+
"--smrt-card-border",
|
|
191
|
+
"--smrt-card-divider",
|
|
192
|
+
"--smrt-card-shadow",
|
|
193
|
+
"--smrt-content-editor-icon-size",
|
|
194
|
+
"--smrt-control-hit-size",
|
|
195
|
+
"--smrt-popover-panel-padding",
|
|
196
|
+
"--smrt-popover-panel-width",
|
|
197
|
+
"--smrt-shell-title-font-family",
|
|
198
|
+
"--smrt-sortable-header-font-weight",
|
|
199
|
+
"--smrt-sortable-header-padding"
|
|
200
|
+
]
|
|
201
|
+
}
|
package/dist/themes/shared.d.ts
CHANGED
|
@@ -75,4 +75,39 @@ export declare const appleEasing: EasingScale;
|
|
|
75
75
|
* Studio-style easings (for Studio theme - snappier)
|
|
76
76
|
*/
|
|
77
77
|
export declare const studioEasing: EasingScale;
|
|
78
|
+
/**
|
|
79
|
+
* One shadow layer: `[offset-y, blur, spread, alpha%]`, tinted by the scheme's
|
|
80
|
+
* `--smrt-shadow-color` (the theme's own token, so the tint follows the preset).
|
|
81
|
+
*/
|
|
82
|
+
export type ShadowLayer = readonly [
|
|
83
|
+
y: number,
|
|
84
|
+
blur: number,
|
|
85
|
+
spread: number,
|
|
86
|
+
alphaPercent: number
|
|
87
|
+
];
|
|
88
|
+
/**
|
|
89
|
+
* Compose a box-shadow from layers. Elevation levels are two-layer: a contact
|
|
90
|
+
* shadow (`0 1px 2px`) that anchors the edge, and an ambient shadow (`0 Npx Mpx`
|
|
91
|
+
* with negative spread) that lifts it. `prefix` lists extra leading layers, e.g.
|
|
92
|
+
* `var(--smrt-inset-highlight)` on dark schemes.
|
|
93
|
+
*/
|
|
94
|
+
export declare function shadow(layers: readonly ShadowLayer[], prefix?: string): string;
|
|
95
|
+
/** Quiet hairline inset used as elevation 1 by the flat presets. */
|
|
96
|
+
export declare const hairlineInset = "inset 0 0 0 1px var(--smrt-hairline-color)";
|
|
97
|
+
/** Text-colour mixes used for hairlines: quiet edge and strong control edge. */
|
|
98
|
+
export declare function hairlineMix(quietPercent: number, strongPercent: number, insetHighlight: string): {
|
|
99
|
+
color: string;
|
|
100
|
+
strongColor: string;
|
|
101
|
+
insetHighlight: string;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Neutral values that are still valid box-shadow layers. Components combine
|
|
105
|
+
* `var(--smrt-inset-highlight)` with an elevation (`box-shadow: a, b`); the
|
|
106
|
+
* keyword `none` is invalid inside a list and drops the whole declaration, so
|
|
107
|
+
* the "no highlight" and "no elevation" values are transparent shadows.
|
|
108
|
+
*/
|
|
109
|
+
export declare const noInsetHighlight = "inset 0 1px 0 transparent";
|
|
110
|
+
export declare const noShadow = "0 0 0 0 transparent";
|
|
111
|
+
/** Top inner light line for dark surfaces (`--smrt-inset-highlight`). */
|
|
112
|
+
export declare const darkInsetHighlight: (alpha: number) => string;
|
|
78
113
|
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/themes/shared.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,YAsB1B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,YAAY,CAQ7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAS/B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,iBAAiB,CAMvE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,aAM3B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAalD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEpD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKnD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAW/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WAO5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,WAOzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,WAO1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/themes/shared.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,YAsB1B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,YAAY,CAQ7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAS/B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,iBAAiB,CAMvE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,aAM3B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAalD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAEpD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKnD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAW/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,WAO5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,WAOzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,WAO1B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS;IACjC,CAAC,EAAE,MAAM;IACT,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,YAAY,EAAE,MAAM;CACrB,CAAC;AAKF;;;;;GAKG;AACH,wBAAgB,MAAM,CACpB,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAMR;AAED,oEAAoE;AACpE,eAAO,MAAM,aAAa,+CAA+C,CAAC;AAE1E,gFAAgF;AAChF,wBAAgB,WAAW,CACzB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACrB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAMhE;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,8BAA8B,CAAC;AAC5D,eAAO,MAAM,QAAQ,wBAAwB,CAAC;AAE9C,yEAAyE;AACzE,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,MACN,CAAC"}
|
package/dist/themes/shared.js
CHANGED
|
@@ -177,3 +177,35 @@ export const studioEasing = {
|
|
|
177
177
|
emphasizedDecelerate: 'cubic-bezier(0.0, 0, 0.2, 1)',
|
|
178
178
|
emphasizedAccelerate: 'cubic-bezier(0.4, 0, 1, 1)',
|
|
179
179
|
};
|
|
180
|
+
/** `px` length, `0` without a unit so the value stays valid and short. */
|
|
181
|
+
const px = (n) => (n === 0 ? '0' : `${n}px`);
|
|
182
|
+
/**
|
|
183
|
+
* Compose a box-shadow from layers. Elevation levels are two-layer: a contact
|
|
184
|
+
* shadow (`0 1px 2px`) that anchors the edge, and an ambient shadow (`0 Npx Mpx`
|
|
185
|
+
* with negative spread) that lifts it. `prefix` lists extra leading layers, e.g.
|
|
186
|
+
* `var(--smrt-inset-highlight)` on dark schemes.
|
|
187
|
+
*/
|
|
188
|
+
export function shadow(layers, prefix) {
|
|
189
|
+
const parts = layers.map(([y, blur, spread, alpha]) => `0 ${px(y)} ${px(blur)} ${px(spread)} color-mix(in srgb, var(--smrt-shadow-color) ${alpha}%, transparent)`);
|
|
190
|
+
return prefix ? [prefix, ...parts].join(', ') : parts.join(', ');
|
|
191
|
+
}
|
|
192
|
+
/** Quiet hairline inset used as elevation 1 by the flat presets. */
|
|
193
|
+
export const hairlineInset = 'inset 0 0 0 1px var(--smrt-hairline-color)';
|
|
194
|
+
/** Text-colour mixes used for hairlines: quiet edge and strong control edge. */
|
|
195
|
+
export function hairlineMix(quietPercent, strongPercent, insetHighlight) {
|
|
196
|
+
return {
|
|
197
|
+
color: `color-mix(in srgb, var(--smrt-color-on-surface) ${quietPercent}%, transparent)`,
|
|
198
|
+
strongColor: `color-mix(in srgb, var(--smrt-color-on-surface) ${strongPercent}%, transparent)`,
|
|
199
|
+
insetHighlight,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Neutral values that are still valid box-shadow layers. Components combine
|
|
204
|
+
* `var(--smrt-inset-highlight)` with an elevation (`box-shadow: a, b`); the
|
|
205
|
+
* keyword `none` is invalid inside a list and drops the whole declaration, so
|
|
206
|
+
* the "no highlight" and "no elevation" values are transparent shadows.
|
|
207
|
+
*/
|
|
208
|
+
export const noInsetHighlight = 'inset 0 1px 0 transparent';
|
|
209
|
+
export const noShadow = '0 0 0 0 transparent';
|
|
210
|
+
/** Top inner light line for dark surfaces (`--smrt-inset-highlight`). */
|
|
211
|
+
export const darkInsetHighlight = (alpha) => `inset 0 1px 0 rgb(255 255 255 / ${alpha})`;
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
* accent (`#ff7a1a`), hairline outlines, deep low shadows, and a
|
|
7
7
|
* Space Grotesk / Inter / JetBrains Mono type stack.
|
|
8
8
|
*
|
|
9
|
+
* Depth is calm: two-layer shadows (contact + short ambient) and graphite surface
|
|
10
|
+
* lightness, never far-spread or glowing shadows.
|
|
11
|
+
*
|
|
9
12
|
* The token palette restyles every existing smrt-ui component; the signature
|
|
10
13
|
* motifs (engineering-grid background, glow, oscilloscope hairline, instrument
|
|
11
14
|
* readouts, monospace technical labels) ship as opt-in utility classes in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/themes/smrt/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/themes/smrt/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAcH,OAAO,KAAK,EAIV,KAAK,EAEN,MAAM,aAAa,CAAC;AA4WrB;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,KAyDvB,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -6,12 +6,16 @@
|
|
|
6
6
|
* accent (`#ff7a1a`), hairline outlines, deep low shadows, and a
|
|
7
7
|
* Space Grotesk / Inter / JetBrains Mono type stack.
|
|
8
8
|
*
|
|
9
|
+
* Depth is calm: two-layer shadows (contact + short ambient) and graphite surface
|
|
10
|
+
* lightness, never far-spread or glowing shadows.
|
|
11
|
+
*
|
|
9
12
|
* The token palette restyles every existing smrt-ui component; the signature
|
|
10
13
|
* motifs (engineering-grid background, glow, oscilloscope hairline, instrument
|
|
11
14
|
* readouts, monospace technical labels) ship as opt-in utility classes in
|
|
12
15
|
* `styles/smrt.css`, and the fonts in `styles/fonts.css`.
|
|
13
16
|
*/
|
|
14
|
-
import {
|
|
17
|
+
import { baselineTokens, opaqueGlass } from '../derive.js';
|
|
18
|
+
import { borderRadiusScale, darkInsetHighlight, durationScale, hairlineInset, hairlineMix, noInsetHighlight, noShadow, shadow, spacingScale, } from '../shared.js';
|
|
15
19
|
/** Display family (headings) — falls back gracefully when fonts.css is absent. */
|
|
16
20
|
const DISPLAY_FONT = '"Space Grotesk", system-ui, -apple-system, sans-serif';
|
|
17
21
|
/**
|
|
@@ -37,6 +41,11 @@ const lightColors = {
|
|
|
37
41
|
onTertiary: '#ffffff',
|
|
38
42
|
tertiaryContainer: '#e7e0ff',
|
|
39
43
|
onTertiaryContainer: '#3a2b8c',
|
|
44
|
+
// Info - Steel blue, distinct from the amber signal and the violet tertiary
|
|
45
|
+
info: '#2c6a96',
|
|
46
|
+
onInfo: '#ffffff',
|
|
47
|
+
infoContainer: '#dcebf5',
|
|
48
|
+
onInfoContainer: '#0f3149',
|
|
40
49
|
// Error
|
|
41
50
|
error: '#c0362c',
|
|
42
51
|
onError: '#ffffff',
|
|
@@ -104,6 +113,11 @@ const darkColors = {
|
|
|
104
113
|
onTertiary: '#241a4d',
|
|
105
114
|
tertiaryContainer: '#2a2350',
|
|
106
115
|
onTertiaryContainer: '#ddd4ff',
|
|
116
|
+
// Info - Steel blue, distinct from the amber signal and the violet tertiary
|
|
117
|
+
info: '#6fa8d6',
|
|
118
|
+
onInfo: '#08202f',
|
|
119
|
+
infoContainer: '#162a39',
|
|
120
|
+
onInfoContainer: '#b5d6ee',
|
|
107
121
|
// Error
|
|
108
122
|
error: '#ff6b6b',
|
|
109
123
|
onError: '#2a0a0a',
|
|
@@ -241,52 +255,76 @@ const typography = {
|
|
|
241
255
|
labelLarge: {
|
|
242
256
|
size: '0.8125rem',
|
|
243
257
|
lineHeight: '1.4',
|
|
244
|
-
weight: '
|
|
245
|
-
tracking: '0.
|
|
258
|
+
weight: '500',
|
|
259
|
+
tracking: '0.01em',
|
|
246
260
|
fontFamily: 'var(--smrt-font-family)',
|
|
247
261
|
},
|
|
248
262
|
labelMedium: {
|
|
249
263
|
size: '0.6875rem',
|
|
250
264
|
lineHeight: '1.4',
|
|
251
|
-
weight: '
|
|
252
|
-
tracking: '0.
|
|
265
|
+
weight: '500',
|
|
266
|
+
tracking: '0.03em',
|
|
253
267
|
fontFamily: 'var(--smrt-font-family)',
|
|
254
268
|
},
|
|
255
269
|
labelSmall: {
|
|
256
270
|
size: '0.625rem',
|
|
257
271
|
lineHeight: '1.4',
|
|
258
|
-
weight: '
|
|
259
|
-
tracking: '0.
|
|
272
|
+
weight: '500',
|
|
273
|
+
tracking: '0.05em',
|
|
260
274
|
fontFamily: 'var(--smrt-font-family)',
|
|
261
275
|
},
|
|
262
276
|
};
|
|
263
277
|
/**
|
|
264
|
-
* SMRT elevation (light) —
|
|
265
|
-
*
|
|
266
|
-
*
|
|
267
|
-
*
|
|
278
|
+
* SMRT elevation (light) — calm, visible two-layer shadows. Level 1 is the
|
|
279
|
+
* hairline; the former far-spread drop shadows (44-90px blur, -28 to -50px
|
|
280
|
+
* spread, which disappeared on paper) are replaced by a contact shadow plus a
|
|
281
|
+
* short ambient layer.
|
|
268
282
|
*/
|
|
269
283
|
const elevation = {
|
|
270
|
-
0:
|
|
271
|
-
1:
|
|
272
|
-
2:
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
284
|
+
0: noShadow,
|
|
285
|
+
1: hairlineInset,
|
|
286
|
+
2: shadow([
|
|
287
|
+
[1, 2, 0, 10],
|
|
288
|
+
[4, 10, -4, 10],
|
|
289
|
+
]),
|
|
290
|
+
3: shadow([
|
|
291
|
+
[1, 3, 0, 12],
|
|
292
|
+
[8, 18, -6, 14],
|
|
293
|
+
]),
|
|
294
|
+
4: shadow([
|
|
295
|
+
[2, 4, 0, 14],
|
|
296
|
+
[14, 28, -8, 16],
|
|
297
|
+
]),
|
|
298
|
+
5: shadow([
|
|
299
|
+
[2, 6, 0, 16],
|
|
300
|
+
[24, 48, -12, 20],
|
|
301
|
+
]),
|
|
276
302
|
};
|
|
277
303
|
/**
|
|
278
|
-
* SMRT elevation (dark) —
|
|
279
|
-
*
|
|
280
|
-
* Defined here (not only in the static `styles/smrt.css`) so the JS
|
|
304
|
+
* SMRT elevation (dark) — the hairline at level 1; above it graphite surface
|
|
305
|
+
* lightness carries altitude, with the inset top highlight and black shadows in
|
|
306
|
+
* support. Defined here (not only in the static `styles/smrt.css`) so the JS
|
|
281
307
|
* ThemeProvider output and the static dark CSS stay in lockstep (#1586).
|
|
282
308
|
*/
|
|
283
309
|
const darkElevation = {
|
|
284
|
-
0:
|
|
285
|
-
1:
|
|
286
|
-
2:
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
310
|
+
0: noShadow,
|
|
311
|
+
1: hairlineInset,
|
|
312
|
+
2: shadow([
|
|
313
|
+
[1, 2, 0, 36],
|
|
314
|
+
[4, 10, -4, 28],
|
|
315
|
+
], 'var(--smrt-inset-highlight)'),
|
|
316
|
+
3: shadow([
|
|
317
|
+
[1, 3, 0, 40],
|
|
318
|
+
[8, 18, -6, 36],
|
|
319
|
+
], 'var(--smrt-inset-highlight)'),
|
|
320
|
+
4: shadow([
|
|
321
|
+
[2, 4, 0, 44],
|
|
322
|
+
[14, 28, -8, 42],
|
|
323
|
+
], 'var(--smrt-inset-highlight)'),
|
|
324
|
+
5: shadow([
|
|
325
|
+
[2, 6, 0, 48],
|
|
326
|
+
[24, 48, -12, 50],
|
|
327
|
+
], 'var(--smrt-inset-highlight)'),
|
|
290
328
|
};
|
|
291
329
|
/**
|
|
292
330
|
* SMRT easings — the workbench reveal curve as the emphasized easing.
|
|
@@ -314,6 +352,50 @@ export const smrtTheme = {
|
|
|
314
352
|
borderRadius: borderRadiusScale,
|
|
315
353
|
duration: durationScale,
|
|
316
354
|
easing: smrtEasing,
|
|
355
|
+
glass: { ...opaqueGlass },
|
|
356
|
+
...baselineTokens(lightColors, darkColors),
|
|
357
|
+
shadowColor: { light: 'rgb(20 26 36)', dark: 'rgb(0 0 0)' },
|
|
358
|
+
// Instrument ladder: deep ground, graphite panels, then control and raised
|
|
359
|
+
// tiers that step up in lightness (dark); paper panels on a cool ground (light).
|
|
360
|
+
surfaces: {
|
|
361
|
+
light: {
|
|
362
|
+
ground: lightColors.background,
|
|
363
|
+
panel: lightColors.surface,
|
|
364
|
+
control: lightColors.surfaceContainer,
|
|
365
|
+
raised: lightColors.surfaceContainerLowest,
|
|
366
|
+
sunken: lightColors.surfaceContainerHighest,
|
|
367
|
+
overlay: lightColors.scrim,
|
|
368
|
+
},
|
|
369
|
+
dark: {
|
|
370
|
+
ground: darkColors.background,
|
|
371
|
+
panel: darkColors.surface,
|
|
372
|
+
control: darkColors.surfaceContainerHigh,
|
|
373
|
+
raised: '#1d2126',
|
|
374
|
+
sunken: '#08090b',
|
|
375
|
+
overlay: darkColors.scrim,
|
|
376
|
+
},
|
|
377
|
+
},
|
|
378
|
+
hairlines: {
|
|
379
|
+
light: hairlineMix(12, 30, noInsetHighlight),
|
|
380
|
+
dark: hairlineMix(9, 24, darkInsetHighlight(0.05)),
|
|
381
|
+
},
|
|
382
|
+
states: {
|
|
383
|
+
hover: '0.10',
|
|
384
|
+
pressed: '0.16',
|
|
385
|
+
selected: '0.14',
|
|
386
|
+
focus: '0.16',
|
|
387
|
+
dragged: '0.20',
|
|
388
|
+
disabled: '0.38',
|
|
389
|
+
},
|
|
390
|
+
controls: {
|
|
391
|
+
radius: 'var(--smrt-radius-sm)',
|
|
392
|
+
radiusSmall: 'var(--smrt-radius-sm)',
|
|
393
|
+
height: '2.5rem',
|
|
394
|
+
heightSmall: '2rem',
|
|
395
|
+
weight: '500',
|
|
396
|
+
},
|
|
397
|
+
// Inter: tabular figures and the flat-topped 1 keep columns of numbers aligned.
|
|
398
|
+
fontFeatureSettings: '"tnum" 1, "cv11" 1',
|
|
317
399
|
fontFamily: '"Inter", system-ui, -apple-system, "Segoe UI", sans-serif',
|
|
318
400
|
};
|
|
319
401
|
export default smrtTheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/themes/studio/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/themes/studio/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,OAAO,KAAK,EAGV,KAAK,EAEN,MAAM,aAAa,CAAC;AAmVrB;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAwDzB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|