@happyvertical/smrt-ui 0.55.15 → 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/AGENTS.md +14 -0
- package/README.md +68 -0
- package/dist/components/calendar/Calendar.svelte +59 -56
- package/dist/components/calendar/CalendarView.svelte +79 -76
- package/dist/components/calendar/DayView.svelte +39 -36
- package/dist/components/chat/MessageBubble.svelte +26 -23
- package/dist/components/chat/ReactionPicker.svelte +10 -7
- package/dist/components/chat/TypingIndicator.svelte +12 -9
- package/dist/components/data/CollectionList.svelte +10 -7
- package/dist/components/data/CollectionToolbar.svelte +5 -2
- package/dist/components/data/DataTable.svelte +51 -48
- package/dist/components/data/ListSortSelect.svelte +8 -5
- package/dist/components/data/SortableHeader.svelte +9 -6
- 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 +9 -6
- package/dist/components/feedback/ConfirmDialog.svelte +13 -10
- package/dist/components/feedback/LoadingOverlay.svelte +35 -32
- package/dist/components/feedback/Meter.svelte +4 -1
- package/dist/components/feedback/Modal.svelte +20 -17
- package/dist/components/feedback/PhoneSheet.svelte +4 -1
- 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 +17 -14
- package/dist/components/feedback/WorkingStrip.svelte +6 -3
- package/dist/components/forms/CameraCapture.svelte +6 -3
- package/dist/components/forms/Checkbox.svelte +10 -7
- package/dist/components/forms/Combobox.svelte +4 -1
- 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 +4 -1
- 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 +14 -11
- package/dist/components/forms/InputGroup.svelte +5 -2
- package/dist/components/forms/Listbox.svelte +4 -1
- package/dist/components/forms/MultiSelect.svelte +4 -1
- package/dist/components/forms/Radio.svelte +8 -5
- package/dist/components/forms/RadioGroup.svelte +5 -2
- package/dist/components/forms/RangeSlider.svelte +4 -1
- package/dist/components/forms/RelationInput.svelte +7 -4
- package/dist/components/forms/SearchInput.svelte +5 -2
- package/dist/components/forms/SegmentedControl.svelte +5 -2
- package/dist/components/forms/Select.svelte +12 -9
- package/dist/components/forms/SignaturePad.svelte +6 -3
- package/dist/components/forms/Slider.svelte +4 -1
- package/dist/components/forms/StagedControlReview.svelte +15 -12
- package/dist/components/forms/Switch.svelte +7 -4
- package/dist/components/forms/TagsInput.svelte +4 -1
- package/dist/components/forms/Textarea.svelte +13 -10
- package/dist/components/forms/TimePicker.svelte +7 -2
- package/dist/components/forms/Toggle.svelte +13 -10
- package/dist/components/forms/ToggleButton.svelte +4 -1
- 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 +10 -7
- 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 +28 -24
- package/dist/components/permissions/PermissionPicker.svelte +4 -1
- package/dist/components/roles/RoleBadge.svelte +8 -5
- package/dist/components/roles/RoleSelector.svelte +21 -18
- package/dist/components/theme/ThemeProvider.svelte +7 -4
- package/dist/components/ui/Accordion.svelte +4 -1
- package/dist/components/ui/AccordionItem.svelte +4 -1
- package/dist/components/ui/Avatar.svelte +10 -7
- package/dist/components/ui/Badge.svelte +4 -1
- package/dist/components/ui/Button.svelte +11 -8
- package/dist/components/ui/Card.svelte +7 -4
- package/dist/components/ui/Chip.svelte +12 -9
- package/dist/components/ui/Disclosure.svelte +4 -1
- package/dist/components/ui/Dropdown.svelte +17 -14
- package/dist/components/ui/IconToggle.svelte +10 -7
- 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 +5 -2
- package/dist/components/ui/Skeleton.svelte +10 -7
- package/dist/components/ui/Tooltip.svelte +12 -9
- package/dist/components/ui/Tree.svelte +10 -7
- 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 +25 -0
- package/dist/themes/README.md +25 -0
- package/dist/themes/ThemeProvider.svelte +11 -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.map +1 -1
- package/dist/themes/create-theme.js +8 -5
- package/dist/themes/css-generator.d.ts.map +1 -1
- package/dist/themes/css-generator.js +5 -4
- package/dist/themes/required-tokens.generated.json +172 -0
- package/dist/themes/styles/base.css +4 -1
- package/dist/themes/styles/glass.css +4 -1
- package/dist/themes/styles/happyvertical.css +7 -3
- package/dist/themes/styles/smrt.css +4 -1
- package/dist/themes/styles/studio.css +4 -1
- package/dist/utils/theme/typography.d.ts +21 -21
- package/dist/utils/theme/typography.js +21 -21
- package/package.json +8 -2
|
@@ -44,7 +44,7 @@ const labels = {
|
|
|
44
44
|
};
|
|
45
45
|
</script>
|
|
46
46
|
|
|
47
|
-
<div class="smrt-color-scheme-toggle {variant} {className}">
|
|
47
|
+
<div class="smrt-color-scheme-toggle {variant} {className}" data-smrt-component="ColorSchemeToggle">
|
|
48
48
|
{#if variant === 'switch'}
|
|
49
49
|
<button
|
|
50
50
|
class="smrt-color-scheme-toggle__switch"
|
|
@@ -110,6 +110,8 @@ const labels = {
|
|
|
110
110
|
</div>
|
|
111
111
|
|
|
112
112
|
<style>
|
|
113
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
114
|
+
@layer smrt.theme {
|
|
113
115
|
.smrt-color-scheme-toggle {
|
|
114
116
|
display: inline-flex;
|
|
115
117
|
align-items: center;
|
|
@@ -120,9 +122,9 @@ const labels = {
|
|
|
120
122
|
align-items: center;
|
|
121
123
|
gap: var(--smrt-spacing-2, 0.5rem);
|
|
122
124
|
padding: var(--smrt-spacing-2, 0.5rem) var(--smrt-spacing-3, 0.75rem);
|
|
123
|
-
border: 1px solid var(--smrt-color-outline
|
|
124
|
-
border-radius: var(--smrt-radius-full
|
|
125
|
-
background: var(--smrt-color-surface-container-low
|
|
125
|
+
border: 1px solid var(--smrt-color-outline);
|
|
126
|
+
border-radius: var(--smrt-radius-full);
|
|
127
|
+
background: var(--smrt-color-surface-container-low);
|
|
126
128
|
color: var(--smrt-color-on-surface, inherit);
|
|
127
129
|
font-size: var(--smrt-typography-body-medium-size, 0.875rem);
|
|
128
130
|
cursor: pointer;
|
|
@@ -130,7 +132,7 @@ const labels = {
|
|
|
130
132
|
}
|
|
131
133
|
|
|
132
134
|
.smrt-color-scheme-toggle__switch:hover {
|
|
133
|
-
background: var(--smrt-color-surface-container
|
|
135
|
+
background: var(--smrt-color-surface-container);
|
|
134
136
|
}
|
|
135
137
|
|
|
136
138
|
.smrt-color-scheme-toggle__buttons {
|
|
@@ -143,9 +145,9 @@ const labels = {
|
|
|
143
145
|
align-items: center;
|
|
144
146
|
gap: var(--smrt-spacing-1, 0.25rem);
|
|
145
147
|
padding: var(--smrt-spacing-1_5, 0.375rem) var(--smrt-spacing-3, 0.75rem);
|
|
146
|
-
border: 1px solid var(--smrt-color-outline
|
|
148
|
+
border: 1px solid var(--smrt-color-outline);
|
|
147
149
|
border-radius: var(--smrt-radius-md, 0.5rem);
|
|
148
|
-
background: var(--smrt-color-surface-container-low
|
|
150
|
+
background: var(--smrt-color-surface-container-low);
|
|
149
151
|
color: var(--smrt-color-on-surface, inherit);
|
|
150
152
|
font-size: var(--smrt-typography-body-medium-size, 0.875rem);
|
|
151
153
|
cursor: pointer;
|
|
@@ -153,19 +155,19 @@ const labels = {
|
|
|
153
155
|
}
|
|
154
156
|
|
|
155
157
|
.smrt-color-scheme-toggle__button:hover {
|
|
156
|
-
background: var(--smrt-color-surface-container
|
|
158
|
+
background: var(--smrt-color-surface-container);
|
|
157
159
|
}
|
|
158
160
|
|
|
159
161
|
.smrt-color-scheme-toggle__button.active {
|
|
160
|
-
background: var(--smrt-color-primary-container
|
|
161
|
-
color: var(--smrt-color-on-primary-container
|
|
162
|
-
border-color: var(--smrt-color-primary
|
|
162
|
+
background: var(--smrt-color-primary-container);
|
|
163
|
+
color: var(--smrt-color-on-primary-container);
|
|
164
|
+
border-color: var(--smrt-color-primary);
|
|
163
165
|
}
|
|
164
166
|
|
|
165
167
|
.smrt-color-scheme-toggle__segmented {
|
|
166
168
|
display: inline-flex;
|
|
167
|
-
background: var(--smrt-color-surface-container-lowest
|
|
168
|
-
border: 1px solid var(--smrt-color-outline
|
|
169
|
+
background: var(--smrt-color-surface-container-lowest);
|
|
170
|
+
border: 1px solid var(--smrt-color-outline);
|
|
169
171
|
border-radius: var(--smrt-radius-lg, 0.75rem);
|
|
170
172
|
padding: var(--smrt-spacing-0_5, 0.125rem);
|
|
171
173
|
}
|
|
@@ -178,7 +180,7 @@ const labels = {
|
|
|
178
180
|
border: none;
|
|
179
181
|
border-radius: var(--smrt-radius-md, 0.5rem);
|
|
180
182
|
background: transparent;
|
|
181
|
-
color: var(--smrt-color-on-surface-variant
|
|
183
|
+
color: var(--smrt-color-on-surface-variant);
|
|
182
184
|
font-size: var(--smrt-typography-body-medium-size, 0.875rem);
|
|
183
185
|
cursor: pointer;
|
|
184
186
|
transition: all 200ms ease;
|
|
@@ -202,4 +204,5 @@ const labels = {
|
|
|
202
204
|
.smrt-color-scheme-toggle__label {
|
|
203
205
|
font-size: inherit;
|
|
204
206
|
}
|
|
207
|
+
}
|
|
205
208
|
</style>
|
|
@@ -43,7 +43,7 @@ const themeIcons: Record<ThemePreset, string> = {
|
|
|
43
43
|
};
|
|
44
44
|
</script>
|
|
45
45
|
|
|
46
|
-
<div class="smrt-theme-switcher {variant} {className}">
|
|
46
|
+
<div class="smrt-theme-switcher {variant} {className}" data-smrt-component="ThemeSwitcher">
|
|
47
47
|
{#if label}
|
|
48
48
|
<span class="smrt-theme-switcher__label">{label}</span>
|
|
49
49
|
{/if}
|
|
@@ -101,6 +101,8 @@ const themeIcons: Record<ThemePreset, string> = {
|
|
|
101
101
|
</div>
|
|
102
102
|
|
|
103
103
|
<style>
|
|
104
|
+
@layer smrt.reset, smrt.structure, smrt.theme;
|
|
105
|
+
@layer smrt.theme {
|
|
104
106
|
.smrt-theme-switcher {
|
|
105
107
|
display: flex;
|
|
106
108
|
align-items: center;
|
|
@@ -116,7 +118,7 @@ const themeIcons: Record<ThemePreset, string> = {
|
|
|
116
118
|
.smrt-theme-switcher__select {
|
|
117
119
|
padding: var(--smrt-spacing-1_5, 0.375rem) var(--smrt-spacing-3, 0.75rem);
|
|
118
120
|
border-radius: var(--smrt-radius-md, 0.5rem);
|
|
119
|
-
border: 1px solid var(--smrt-color-outline
|
|
121
|
+
border: 1px solid var(--smrt-color-outline);
|
|
120
122
|
background: var(--smrt-color-surface, white);
|
|
121
123
|
color: var(--smrt-color-on-surface, inherit);
|
|
122
124
|
font-size: var(--smrt-typography-body-medium-size, 0.875rem);
|
|
@@ -133,9 +135,9 @@ const themeIcons: Record<ThemePreset, string> = {
|
|
|
133
135
|
align-items: center;
|
|
134
136
|
gap: var(--smrt-spacing-1, 0.25rem);
|
|
135
137
|
padding: var(--smrt-spacing-1_5, 0.375rem) var(--smrt-spacing-3, 0.75rem);
|
|
136
|
-
border: 1px solid var(--smrt-color-outline
|
|
138
|
+
border: 1px solid var(--smrt-color-outline);
|
|
137
139
|
border-radius: var(--smrt-radius-md, 0.5rem);
|
|
138
|
-
background: var(--smrt-color-surface-container-low
|
|
140
|
+
background: var(--smrt-color-surface-container-low);
|
|
139
141
|
color: var(--smrt-color-on-surface, inherit);
|
|
140
142
|
font-size: var(--smrt-typography-body-medium-size, 0.875rem);
|
|
141
143
|
cursor: pointer;
|
|
@@ -143,19 +145,19 @@ const themeIcons: Record<ThemePreset, string> = {
|
|
|
143
145
|
}
|
|
144
146
|
|
|
145
147
|
.smrt-theme-switcher__button:hover {
|
|
146
|
-
background: var(--smrt-color-surface-container
|
|
148
|
+
background: var(--smrt-color-surface-container);
|
|
147
149
|
}
|
|
148
150
|
|
|
149
151
|
.smrt-theme-switcher__button.active {
|
|
150
|
-
background: var(--smrt-color-primary-container
|
|
151
|
-
color: var(--smrt-color-on-primary-container
|
|
152
|
-
border-color: var(--smrt-color-primary
|
|
152
|
+
background: var(--smrt-color-primary-container);
|
|
153
|
+
color: var(--smrt-color-on-primary-container);
|
|
154
|
+
border-color: var(--smrt-color-primary);
|
|
153
155
|
}
|
|
154
156
|
|
|
155
157
|
.smrt-theme-switcher__segmented {
|
|
156
158
|
display: inline-flex;
|
|
157
|
-
background: var(--smrt-color-surface-container-lowest
|
|
158
|
-
border: 1px solid var(--smrt-color-outline
|
|
159
|
+
background: var(--smrt-color-surface-container-lowest);
|
|
160
|
+
border: 1px solid var(--smrt-color-outline);
|
|
159
161
|
border-radius: var(--smrt-radius-lg, 0.75rem);
|
|
160
162
|
padding: var(--smrt-spacing-0_5, 0.125rem);
|
|
161
163
|
}
|
|
@@ -168,7 +170,7 @@ const themeIcons: Record<ThemePreset, string> = {
|
|
|
168
170
|
border: none;
|
|
169
171
|
border-radius: var(--smrt-radius-md, 0.5rem);
|
|
170
172
|
background: transparent;
|
|
171
|
-
color: var(--smrt-color-on-surface-variant
|
|
173
|
+
color: var(--smrt-color-on-surface-variant);
|
|
172
174
|
font-size: var(--smrt-typography-body-medium-size, 0.875rem);
|
|
173
175
|
cursor: pointer;
|
|
174
176
|
transition: all 200ms ease;
|
|
@@ -187,4 +189,5 @@ const themeIcons: Record<ThemePreset, string> = {
|
|
|
187
189
|
.smrt-theme-switcher__icon {
|
|
188
190
|
font-size: var(--smrt-typography-body-large-size, 1rem);
|
|
189
191
|
}
|
|
192
|
+
}
|
|
190
193
|
</style>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-theme.d.ts","sourceRoot":"","sources":["../../src/themes/create-theme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,YAAY,EACZ,KAAK,EACL,WAAW,EACX,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC;IAC5E,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7B,wDAAwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACtC,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACpC,sCAAsC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,+BAA+B;IAC/B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"create-theme.d.ts","sourceRoot":"","sources":["../../src/themes/create-theme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,YAAY,EACZ,KAAK,EACL,WAAW,EACX,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC;IAC5E,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7B,wDAAwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACtC,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACpC,sCAAsC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,+BAA+B;IAC/B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAsPD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,KAAK,CAsD9D;AAkBD;;;GAGG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAG1D;AAgBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAEhD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAIjE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEpE;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,GAC1D,KAAK,CAWP"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Helper functions for creating custom themes that match the SMRT theme system.
|
|
5
5
|
*/
|
|
6
|
-
import { hexToRgb, rgbToHex } from '../utils/theme/color.js';
|
|
6
|
+
import { generateTheme, hexToRgb, rgbToHex } from '../utils/theme/color.js';
|
|
7
7
|
import { hasCustomTheme, registerCustomTheme, themes as registeredThemes, } from './registry.js';
|
|
8
8
|
import { borderRadiusScale, durationScale, materialEasing, spacingScale, } from './shared.js';
|
|
9
9
|
/**
|
|
@@ -86,12 +86,15 @@ function generateDarkColors(light) {
|
|
|
86
86
|
}
|
|
87
87
|
return rgbToHex(r * factor, g * factor, b * factor);
|
|
88
88
|
};
|
|
89
|
+
// Multiplying a very dark brand seed stays dark. Use tonal primary pairs so
|
|
90
|
+
// icons and labels keep contrast against their containers in dark mode.
|
|
91
|
+
const primary = generateTheme(light.primary, 'dark');
|
|
89
92
|
return {
|
|
90
93
|
...light,
|
|
91
|
-
primary:
|
|
92
|
-
onPrimary:
|
|
93
|
-
primaryContainer:
|
|
94
|
-
onPrimaryContainer:
|
|
94
|
+
primary: primary.primary,
|
|
95
|
+
onPrimary: primary.onPrimary,
|
|
96
|
+
primaryContainer: primary.primaryContainer,
|
|
97
|
+
onPrimaryContainer: primary.onPrimaryContainer,
|
|
95
98
|
secondary: adjustBrightness(light.secondary, 1.3),
|
|
96
99
|
onSecondary: adjustBrightness(light.onSecondary, 0.8),
|
|
97
100
|
secondaryContainer: adjustBrightness(light.secondaryContainer, 0.3),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css-generator.d.ts","sourceRoot":"","sources":["../../src/themes/css-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,KAAK,EAQV,KAAK,EAEN,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"css-generator.d.ts","sourceRoot":"","sources":["../../src/themes/css-generator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,KAAK,EAQV,KAAK,EAEN,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAyMD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA6CxB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,MAAM,CAIR;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAaR;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAS5D"}
|
|
@@ -29,14 +29,15 @@ function generateTypographyVariables(typography, prefix) {
|
|
|
29
29
|
vars[`${prefix}-typography-${cssKey}-line-height`] = token.lineHeight;
|
|
30
30
|
vars[`${prefix}-typography-${cssKey}-weight`] = String(token.weight);
|
|
31
31
|
vars[`${prefix}-typography-${cssKey}-tracking`] = token.tracking;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
// Always emit the longhand (issue #3826): a token without its own family
|
|
33
|
+
// inherits the theme body font, so the longhand is defined for every theme
|
|
34
|
+
// and components never depend on an unset custom property.
|
|
35
|
+
const family = token.fontFamily ?? `var(${prefix}-font-family)`;
|
|
36
|
+
vars[`${prefix}-typography-${cssKey}-font-family`] = family;
|
|
35
37
|
// Additive `font` shorthand alias (issue #1431): components use
|
|
36
38
|
// `font: var(--smrt-typography-body-medium-font)`, expecting the CSS
|
|
37
39
|
// `font` shorthand order (style variant size/line-height family). Built
|
|
38
40
|
// from the emitted longhands so it stays in sync.
|
|
39
|
-
const family = token.fontFamily ?? `var(${prefix}-font-family)`;
|
|
40
41
|
vars[`${prefix}-typography-${cssKey}-font`] =
|
|
41
42
|
`${token.weight} ${token.size}/${token.lineHeight} ${family}`;
|
|
42
43
|
}
|
|
@@ -0,0 +1,172 @@
|
|
|
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-duration-fast",
|
|
45
|
+
"--smrt-duration-medium1",
|
|
46
|
+
"--smrt-duration-normal",
|
|
47
|
+
"--smrt-duration-short2",
|
|
48
|
+
"--smrt-duration-short3",
|
|
49
|
+
"--smrt-duration-short4",
|
|
50
|
+
"--smrt-easing-emphasized",
|
|
51
|
+
"--smrt-easing-emphasized-decelerate",
|
|
52
|
+
"--smrt-easing-standard",
|
|
53
|
+
"--smrt-elevation-1",
|
|
54
|
+
"--smrt-elevation-2",
|
|
55
|
+
"--smrt-elevation-3",
|
|
56
|
+
"--smrt-elevation-4",
|
|
57
|
+
"--smrt-elevation-5",
|
|
58
|
+
"--smrt-font-family",
|
|
59
|
+
"--smrt-font-family-mono",
|
|
60
|
+
"--smrt-radius-2xl",
|
|
61
|
+
"--smrt-radius-extra-large",
|
|
62
|
+
"--smrt-radius-extra-small",
|
|
63
|
+
"--smrt-radius-full",
|
|
64
|
+
"--smrt-radius-large",
|
|
65
|
+
"--smrt-radius-lg",
|
|
66
|
+
"--smrt-radius-md",
|
|
67
|
+
"--smrt-radius-medium",
|
|
68
|
+
"--smrt-radius-sm",
|
|
69
|
+
"--smrt-radius-small",
|
|
70
|
+
"--smrt-radius-xl",
|
|
71
|
+
"--smrt-spacing-0_5",
|
|
72
|
+
"--smrt-spacing-1",
|
|
73
|
+
"--smrt-spacing-10",
|
|
74
|
+
"--smrt-spacing-11",
|
|
75
|
+
"--smrt-spacing-12",
|
|
76
|
+
"--smrt-spacing-1_5",
|
|
77
|
+
"--smrt-spacing-2",
|
|
78
|
+
"--smrt-spacing-2xl",
|
|
79
|
+
"--smrt-spacing-3",
|
|
80
|
+
"--smrt-spacing-3xl",
|
|
81
|
+
"--smrt-spacing-4",
|
|
82
|
+
"--smrt-spacing-5",
|
|
83
|
+
"--smrt-spacing-6",
|
|
84
|
+
"--smrt-spacing-8",
|
|
85
|
+
"--smrt-spacing-lg",
|
|
86
|
+
"--smrt-spacing-md",
|
|
87
|
+
"--smrt-spacing-sm",
|
|
88
|
+
"--smrt-spacing-xl",
|
|
89
|
+
"--smrt-spacing-xs",
|
|
90
|
+
"--smrt-touch-target-min",
|
|
91
|
+
"--smrt-typography-body-large-font",
|
|
92
|
+
"--smrt-typography-body-large-line-height",
|
|
93
|
+
"--smrt-typography-body-large-size",
|
|
94
|
+
"--smrt-typography-body-large-tracking",
|
|
95
|
+
"--smrt-typography-body-medium-font",
|
|
96
|
+
"--smrt-typography-body-medium-line-height",
|
|
97
|
+
"--smrt-typography-body-medium-size",
|
|
98
|
+
"--smrt-typography-body-medium-tracking",
|
|
99
|
+
"--smrt-typography-body-medium-weight",
|
|
100
|
+
"--smrt-typography-body-small-font",
|
|
101
|
+
"--smrt-typography-body-small-line-height",
|
|
102
|
+
"--smrt-typography-body-small-size",
|
|
103
|
+
"--smrt-typography-body-small-weight",
|
|
104
|
+
"--smrt-typography-display-medium-line-height",
|
|
105
|
+
"--smrt-typography-display-medium-size",
|
|
106
|
+
"--smrt-typography-display-small-size",
|
|
107
|
+
"--smrt-typography-headline-large-line-height",
|
|
108
|
+
"--smrt-typography-headline-large-size",
|
|
109
|
+
"--smrt-typography-headline-large-weight",
|
|
110
|
+
"--smrt-typography-headline-medium-line-height",
|
|
111
|
+
"--smrt-typography-headline-medium-size",
|
|
112
|
+
"--smrt-typography-headline-medium-weight",
|
|
113
|
+
"--smrt-typography-headline-small-font",
|
|
114
|
+
"--smrt-typography-headline-small-line-height",
|
|
115
|
+
"--smrt-typography-headline-small-size",
|
|
116
|
+
"--smrt-typography-headline-small-weight",
|
|
117
|
+
"--smrt-typography-label-large-font",
|
|
118
|
+
"--smrt-typography-label-large-size",
|
|
119
|
+
"--smrt-typography-label-large-tracking",
|
|
120
|
+
"--smrt-typography-label-large-weight",
|
|
121
|
+
"--smrt-typography-label-medium-font",
|
|
122
|
+
"--smrt-typography-label-medium-size",
|
|
123
|
+
"--smrt-typography-label-medium-tracking",
|
|
124
|
+
"--smrt-typography-label-medium-weight",
|
|
125
|
+
"--smrt-typography-label-small-font",
|
|
126
|
+
"--smrt-typography-label-small-line-height",
|
|
127
|
+
"--smrt-typography-label-small-size",
|
|
128
|
+
"--smrt-typography-label-small-tracking",
|
|
129
|
+
"--smrt-typography-label-small-weight",
|
|
130
|
+
"--smrt-typography-title-large-font",
|
|
131
|
+
"--smrt-typography-title-large-line-height",
|
|
132
|
+
"--smrt-typography-title-large-size",
|
|
133
|
+
"--smrt-typography-title-medium-font",
|
|
134
|
+
"--smrt-typography-title-medium-font-family",
|
|
135
|
+
"--smrt-typography-title-medium-line-height",
|
|
136
|
+
"--smrt-typography-title-medium-size",
|
|
137
|
+
"--smrt-typography-title-medium-tracking",
|
|
138
|
+
"--smrt-typography-title-medium-weight",
|
|
139
|
+
"--smrt-typography-title-small-font",
|
|
140
|
+
"--smrt-typography-title-small-size",
|
|
141
|
+
"--smrt-typography-title-small-tracking",
|
|
142
|
+
"--smrt-typography-title-small-weight",
|
|
143
|
+
"--smrt-typography-weight-bold",
|
|
144
|
+
"--smrt-typography-weight-medium",
|
|
145
|
+
"--smrt-typography-weight-normal",
|
|
146
|
+
"--smrt-typography-weight-semibold",
|
|
147
|
+
"--smrt-z-index-dialog",
|
|
148
|
+
"--smrt-z-index-dropdown",
|
|
149
|
+
"--smrt-z-index-modal",
|
|
150
|
+
"--smrt-z-index-overlay",
|
|
151
|
+
"--smrt-z-index-sticky",
|
|
152
|
+
"--smrt-z-index-toast",
|
|
153
|
+
"--smrt-z-index-tooltip"
|
|
154
|
+
],
|
|
155
|
+
"optional": [
|
|
156
|
+
"--smrt-admin-shell-background",
|
|
157
|
+
"--smrt-admin-shell-scrollbar-thumb",
|
|
158
|
+
"--smrt-admin-shell-scrollbar-thumb-hover",
|
|
159
|
+
"--smrt-admin-shell-scrollbar-track",
|
|
160
|
+
"--smrt-card-background",
|
|
161
|
+
"--smrt-card-border",
|
|
162
|
+
"--smrt-card-divider",
|
|
163
|
+
"--smrt-card-shadow",
|
|
164
|
+
"--smrt-content-editor-icon-size",
|
|
165
|
+
"--smrt-control-hit-size",
|
|
166
|
+
"--smrt-popover-panel-padding",
|
|
167
|
+
"--smrt-popover-panel-width",
|
|
168
|
+
"--smrt-shell-title-font-family",
|
|
169
|
+
"--smrt-sortable-header-font-weight",
|
|
170
|
+
"--smrt-sortable-header-padding"
|
|
171
|
+
]
|
|
172
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
@layer smrt.reset, smrt.structure, smrt.theme;/**
|
|
2
3
|
* Application baseline for SMRT interfaces.
|
|
3
4
|
*
|
|
4
5
|
* Import this once at an application entry point, alongside the selected
|
|
5
6
|
* theme stylesheet. Components remain independently usable without it.
|
|
6
7
|
*/
|
|
7
8
|
|
|
9
|
+
@layer smrt.reset {
|
|
8
10
|
*,
|
|
9
11
|
*::before,
|
|
10
12
|
*::after {
|
|
@@ -29,3 +31,4 @@ select,
|
|
|
29
31
|
textarea {
|
|
30
32
|
font: inherit;
|
|
31
33
|
}
|
|
34
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
@layer smrt.reset, smrt.structure, smrt.theme;/**
|
|
2
3
|
* Glass Theme CSS
|
|
3
4
|
*
|
|
4
5
|
* Static CSS file for Glass theme.
|
|
@@ -474,6 +475,7 @@
|
|
|
474
475
|
}
|
|
475
476
|
|
|
476
477
|
/* Glass utility classes */
|
|
478
|
+
@layer smrt.theme {
|
|
477
479
|
.smrt-glass {
|
|
478
480
|
background: var(--smrt-color-surface);
|
|
479
481
|
backdrop-filter: blur(var(--smrt-glass-blur)) saturate(var(--smrt-glass-saturation));
|
|
@@ -494,6 +496,7 @@
|
|
|
494
496
|
-webkit-backdrop-filter: blur(calc(var(--smrt-glass-blur) * 0.5)) saturate(var(--smrt-glass-saturation));
|
|
495
497
|
border: 1px solid var(--smrt-color-glass-border);
|
|
496
498
|
}
|
|
499
|
+
}
|
|
497
500
|
|
|
498
501
|
/*
|
|
499
502
|
* Material-3 vocabulary aliases + helper tokens (issue #1431).
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
@layer smrt.reset, smrt.structure, smrt.theme;/**
|
|
2
3
|
* HappyVertical Theme CSS — "Day Shift"
|
|
3
4
|
*
|
|
4
5
|
* Static CSS for the HappyVertical brand theme (happyvertical/smrt#2318): a
|
|
@@ -479,10 +480,12 @@
|
|
|
479
480
|
*
|
|
480
481
|
* A 2px amber outline, offset off the control. Defined by the preset so every
|
|
481
482
|
* focusable element — including plain markup a consumer app renders itself —
|
|
482
|
-
* carries the brand focus indicator.
|
|
483
|
-
*
|
|
483
|
+
* carries the brand focus indicator. This rule and component-scoped
|
|
484
|
+
* `:focus-visible` rules both sit in `smrt.theme`, so specificity still decides:
|
|
485
|
+
* a primitive that tunes its own offset wins over this default.
|
|
484
486
|
* ========================================================================== */
|
|
485
487
|
|
|
488
|
+
@layer smrt.theme {
|
|
486
489
|
[data-theme="happyvertical"] :focus-visible {
|
|
487
490
|
outline: 2px solid var(--smrt-color-primary);
|
|
488
491
|
outline-offset: 2px;
|
|
@@ -563,3 +566,4 @@
|
|
|
563
566
|
transition: none;
|
|
564
567
|
}
|
|
565
568
|
}
|
|
569
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
@layer smrt.reset, smrt.structure, smrt.theme;/**
|
|
2
3
|
* SMRT Theme CSS
|
|
3
4
|
*
|
|
4
5
|
* Static CSS for the SMRT theme — a dark-first "engineering instrument panel"
|
|
@@ -481,6 +482,7 @@
|
|
|
481
482
|
|
|
482
483
|
/* Faint engineering-grid background with a radial fade.
|
|
483
484
|
* Put on a full-bleed section or a fixed underlay element. */
|
|
485
|
+
@layer smrt.theme {
|
|
484
486
|
.smrt-grid-bg {
|
|
485
487
|
position: relative;
|
|
486
488
|
}
|
|
@@ -648,3 +650,4 @@
|
|
|
648
650
|
transition: none;
|
|
649
651
|
}
|
|
650
652
|
}
|
|
653
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
@layer smrt.reset, smrt.structure, smrt.theme;/**
|
|
2
3
|
* Studio Theme CSS
|
|
3
4
|
*
|
|
4
5
|
* Static CSS file for Studio theme.
|
|
@@ -462,6 +463,7 @@
|
|
|
462
463
|
}
|
|
463
464
|
|
|
464
465
|
/* Studio utility classes for flat design */
|
|
466
|
+
@layer smrt.theme {
|
|
465
467
|
.smrt-flat {
|
|
466
468
|
box-shadow: none;
|
|
467
469
|
border: 1px solid var(--smrt-color-outline);
|
|
@@ -482,6 +484,7 @@
|
|
|
482
484
|
outline: 2px solid var(--smrt-color-primary);
|
|
483
485
|
outline-offset: 2px;
|
|
484
486
|
}
|
|
487
|
+
}
|
|
485
488
|
|
|
486
489
|
/*
|
|
487
490
|
* Material-3 vocabulary aliases + helper tokens (issue #1431).
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
export declare const typographyTokens: {
|
|
2
2
|
'--smrt-font-family': string;
|
|
3
|
-
'--
|
|
4
|
-
'--
|
|
5
|
-
'--
|
|
6
|
-
'--
|
|
7
|
-
'--
|
|
8
|
-
'--
|
|
9
|
-
'--
|
|
10
|
-
'--
|
|
11
|
-
'--
|
|
12
|
-
'--
|
|
13
|
-
'--
|
|
14
|
-
'--
|
|
15
|
-
'--
|
|
16
|
-
'--
|
|
17
|
-
'--
|
|
3
|
+
'--smrt-typography-display-large-font': string;
|
|
4
|
+
'--smrt-typography-display-medium-font': string;
|
|
5
|
+
'--smrt-typography-display-small-font': string;
|
|
6
|
+
'--smrt-typography-headline-large-font': string;
|
|
7
|
+
'--smrt-typography-headline-medium-font': string;
|
|
8
|
+
'--smrt-typography-headline-small-font': string;
|
|
9
|
+
'--smrt-typography-title-large-font': string;
|
|
10
|
+
'--smrt-typography-title-medium-font': string;
|
|
11
|
+
'--smrt-typography-title-small-font': string;
|
|
12
|
+
'--smrt-typography-label-large-font': string;
|
|
13
|
+
'--smrt-typography-label-medium-font': string;
|
|
14
|
+
'--smrt-typography-label-small-font': string;
|
|
15
|
+
'--smrt-typography-body-large-font': string;
|
|
16
|
+
'--smrt-typography-body-medium-font': string;
|
|
17
|
+
'--smrt-typography-body-small-font': string;
|
|
18
18
|
};
|
|
19
19
|
export declare const elevationTokens: {
|
|
20
|
-
'--
|
|
21
|
-
'--
|
|
22
|
-
'--
|
|
23
|
-
'--
|
|
24
|
-
'--
|
|
25
|
-
'--
|
|
20
|
+
'--smrt-elevation-0': string;
|
|
21
|
+
'--smrt-elevation-1': string;
|
|
22
|
+
'--smrt-elevation-2': string;
|
|
23
|
+
'--smrt-elevation-3': string;
|
|
24
|
+
'--smrt-elevation-4': string;
|
|
25
|
+
'--smrt-elevation-5': string;
|
|
26
26
|
};
|
|
27
27
|
//# sourceMappingURL=typography.d.ts.map
|
|
@@ -3,28 +3,28 @@ const fontFamily = 'var(--smrt-font-family, Roboto, sans-serif)';
|
|
|
3
3
|
export const typographyTokens = {
|
|
4
4
|
// Font family token for customization
|
|
5
5
|
'--smrt-font-family': 'Roboto, sans-serif',
|
|
6
|
-
'--
|
|
7
|
-
'--
|
|
8
|
-
'--
|
|
9
|
-
'--
|
|
10
|
-
'--
|
|
11
|
-
'--
|
|
12
|
-
'--
|
|
13
|
-
'--
|
|
14
|
-
'--
|
|
15
|
-
'--
|
|
16
|
-
'--
|
|
17
|
-
'--
|
|
18
|
-
'--
|
|
19
|
-
'--
|
|
20
|
-
'--
|
|
6
|
+
'--smrt-typography-display-large-font': `400 57px/64px ${fontFamily}`,
|
|
7
|
+
'--smrt-typography-display-medium-font': `400 45px/52px ${fontFamily}`,
|
|
8
|
+
'--smrt-typography-display-small-font': `400 36px/44px ${fontFamily}`,
|
|
9
|
+
'--smrt-typography-headline-large-font': `400 32px/40px ${fontFamily}`,
|
|
10
|
+
'--smrt-typography-headline-medium-font': `400 28px/36px ${fontFamily}`,
|
|
11
|
+
'--smrt-typography-headline-small-font': `400 24px/32px ${fontFamily}`,
|
|
12
|
+
'--smrt-typography-title-large-font': `400 22px/28px ${fontFamily}`,
|
|
13
|
+
'--smrt-typography-title-medium-font': `500 16px/24px ${fontFamily}`,
|
|
14
|
+
'--smrt-typography-title-small-font': `500 14px/20px ${fontFamily}`,
|
|
15
|
+
'--smrt-typography-label-large-font': `500 14px/20px ${fontFamily}`,
|
|
16
|
+
'--smrt-typography-label-medium-font': `500 12px/16px ${fontFamily}`,
|
|
17
|
+
'--smrt-typography-label-small-font': `500 11px/16px ${fontFamily}`,
|
|
18
|
+
'--smrt-typography-body-large-font': `400 16px/24px ${fontFamily}`,
|
|
19
|
+
'--smrt-typography-body-medium-font': `400 14px/20px ${fontFamily}`,
|
|
20
|
+
'--smrt-typography-body-small-font': `400 12px/16px ${fontFamily}`,
|
|
21
21
|
};
|
|
22
22
|
// Simplified elevation using box-shadow
|
|
23
23
|
export const elevationTokens = {
|
|
24
|
-
'--
|
|
25
|
-
'--
|
|
26
|
-
'--
|
|
27
|
-
'--
|
|
28
|
-
'--
|
|
29
|
-
'--
|
|
24
|
+
'--smrt-elevation-0': 'none',
|
|
25
|
+
'--smrt-elevation-1': '0px 1px 2px 0px rgba(0,0,0,0.3), 0px 1px 3px 1px rgba(0,0,0,0.15)',
|
|
26
|
+
'--smrt-elevation-2': '0px 1px 2px 0px rgba(0,0,0,0.3), 0px 2px 6px 2px rgba(0,0,0,0.15)',
|
|
27
|
+
'--smrt-elevation-3': '0px 1px 3px 0px rgba(0,0,0,0.3), 0px 4px 8px 3px rgba(0,0,0,0.15)',
|
|
28
|
+
'--smrt-elevation-4': '0px 2px 3px 0px rgba(0,0,0,0.3), 0px 6px 10px 4px rgba(0,0,0,0.15)',
|
|
29
|
+
'--smrt-elevation-5': '0px 4px 4px 0px rgba(0,0,0,0.3), 0px 8px 12px 6px rgba(0,0,0,0.15)',
|
|
30
30
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@happyvertical/smrt-ui",
|
|
3
|
-
"version": "0.55.
|
|
3
|
+
"version": "0.55.17",
|
|
4
4
|
"smrtJsdoc": "strict",
|
|
5
5
|
"description": "Domain-agnostic Svelte 5 UI runtime for SMRT: primitives, i18n client, theme system, and module UI registry",
|
|
6
6
|
"type": "module",
|
|
@@ -115,6 +115,12 @@
|
|
|
115
115
|
"./styles/tokens.css": {
|
|
116
116
|
"default": "./dist/styles/tokens.css"
|
|
117
117
|
},
|
|
118
|
+
"./styles/layers.css": {
|
|
119
|
+
"default": "./dist/styles/layers.css"
|
|
120
|
+
},
|
|
121
|
+
"./styles/unstyled.css": {
|
|
122
|
+
"default": "./dist/styles/unstyled.css"
|
|
123
|
+
},
|
|
118
124
|
"./utils/*": {
|
|
119
125
|
"default": "./dist/utils/*"
|
|
120
126
|
},
|
|
@@ -149,7 +155,7 @@
|
|
|
149
155
|
"access": "public"
|
|
150
156
|
},
|
|
151
157
|
"dependencies": {
|
|
152
|
-
"@happyvertical/smrt-types": "0.55.
|
|
158
|
+
"@happyvertical/smrt-types": "0.55.17",
|
|
153
159
|
"esm-env": "^1.2.2"
|
|
154
160
|
},
|
|
155
161
|
"peerDependencies": {
|