@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.
Files changed (138) hide show
  1. package/AGENTS.md +14 -0
  2. package/README.md +68 -0
  3. package/dist/components/calendar/Calendar.svelte +59 -56
  4. package/dist/components/calendar/CalendarView.svelte +79 -76
  5. package/dist/components/calendar/DayView.svelte +39 -36
  6. package/dist/components/chat/MessageBubble.svelte +26 -23
  7. package/dist/components/chat/ReactionPicker.svelte +10 -7
  8. package/dist/components/chat/TypingIndicator.svelte +12 -9
  9. package/dist/components/data/CollectionList.svelte +10 -7
  10. package/dist/components/data/CollectionToolbar.svelte +5 -2
  11. package/dist/components/data/DataTable.svelte +51 -48
  12. package/dist/components/data/ListSortSelect.svelte +8 -5
  13. package/dist/components/data/SortableHeader.svelte +9 -6
  14. package/dist/components/display/ConfidenceBadge.svelte +11 -8
  15. package/dist/components/display/CurrencyDisplay.svelte +7 -4
  16. package/dist/components/display/DateDisplay.svelte +6 -3
  17. package/dist/components/display/Icon.svelte +4 -1
  18. package/dist/components/display/StatusBadge.svelte +9 -6
  19. package/dist/components/feedback/Alert.svelte +9 -6
  20. package/dist/components/feedback/ConfirmDialog.svelte +13 -10
  21. package/dist/components/feedback/LoadingOverlay.svelte +35 -32
  22. package/dist/components/feedback/Meter.svelte +4 -1
  23. package/dist/components/feedback/Modal.svelte +20 -17
  24. package/dist/components/feedback/PhoneSheet.svelte +4 -1
  25. package/dist/components/feedback/Progress.svelte +8 -5
  26. package/dist/components/feedback/ProgressBar.svelte +13 -10
  27. package/dist/components/feedback/Spinner.svelte +4 -1
  28. package/dist/components/feedback/ToastViewport.svelte +17 -14
  29. package/dist/components/feedback/WorkingStrip.svelte +6 -3
  30. package/dist/components/forms/CameraCapture.svelte +6 -3
  31. package/dist/components/forms/Checkbox.svelte +10 -7
  32. package/dist/components/forms/Combobox.svelte +4 -1
  33. package/dist/components/forms/DatePicker.svelte +7 -2
  34. package/dist/components/forms/DictationButton.svelte +17 -14
  35. package/dist/components/forms/DictationStatus.svelte +12 -9
  36. package/dist/components/forms/ErrorSummary.svelte +4 -1
  37. package/dist/components/forms/FieldLabel.svelte +9 -6
  38. package/dist/components/forms/Fieldset.svelte +4 -1
  39. package/dist/components/forms/FilePicker.svelte +4 -1
  40. package/dist/components/forms/Form.svelte +1 -1
  41. package/dist/components/forms/FormActionBar.svelte +4 -1
  42. package/dist/components/forms/FormGroup.svelte +6 -3
  43. package/dist/components/forms/Input.svelte +14 -11
  44. package/dist/components/forms/InputGroup.svelte +5 -2
  45. package/dist/components/forms/Listbox.svelte +4 -1
  46. package/dist/components/forms/MultiSelect.svelte +4 -1
  47. package/dist/components/forms/Radio.svelte +8 -5
  48. package/dist/components/forms/RadioGroup.svelte +5 -2
  49. package/dist/components/forms/RangeSlider.svelte +4 -1
  50. package/dist/components/forms/RelationInput.svelte +7 -4
  51. package/dist/components/forms/SearchInput.svelte +5 -2
  52. package/dist/components/forms/SegmentedControl.svelte +5 -2
  53. package/dist/components/forms/Select.svelte +12 -9
  54. package/dist/components/forms/SignaturePad.svelte +6 -3
  55. package/dist/components/forms/Slider.svelte +4 -1
  56. package/dist/components/forms/StagedControlReview.svelte +15 -12
  57. package/dist/components/forms/Switch.svelte +7 -4
  58. package/dist/components/forms/TagsInput.svelte +4 -1
  59. package/dist/components/forms/Textarea.svelte +13 -10
  60. package/dist/components/forms/TimePicker.svelte +7 -2
  61. package/dist/components/forms/Toggle.svelte +13 -10
  62. package/dist/components/forms/ToggleButton.svelte +4 -1
  63. package/dist/components/layout/ActionGroup.svelte +4 -1
  64. package/dist/components/layout/Container.svelte +4 -1
  65. package/dist/components/layout/EmptyState.svelte +11 -8
  66. package/dist/components/layout/Footer.svelte +4 -1
  67. package/dist/components/layout/Grid.svelte +13 -10
  68. package/dist/components/layout/Header.svelte +4 -1
  69. package/dist/components/layout/Masthead.svelte +4 -1
  70. package/dist/components/layout/PageHeader.svelte +10 -7
  71. package/dist/components/layout/PageLayout.svelte +3 -0
  72. package/dist/components/layout/SummaryCard.svelte +9 -6
  73. package/dist/components/memberships/MembershipCard.svelte +5 -2
  74. package/dist/components/memberships/MembershipList.svelte +5 -2
  75. package/dist/components/nav/FilterChips.svelte +13 -10
  76. package/dist/components/nav/Tabs.svelte +28 -24
  77. package/dist/components/permissions/PermissionPicker.svelte +4 -1
  78. package/dist/components/roles/RoleBadge.svelte +8 -5
  79. package/dist/components/roles/RoleSelector.svelte +21 -18
  80. package/dist/components/theme/ThemeProvider.svelte +7 -4
  81. package/dist/components/ui/Accordion.svelte +4 -1
  82. package/dist/components/ui/AccordionItem.svelte +4 -1
  83. package/dist/components/ui/Avatar.svelte +10 -7
  84. package/dist/components/ui/Badge.svelte +4 -1
  85. package/dist/components/ui/Button.svelte +11 -8
  86. package/dist/components/ui/Card.svelte +7 -4
  87. package/dist/components/ui/Chip.svelte +12 -9
  88. package/dist/components/ui/Disclosure.svelte +4 -1
  89. package/dist/components/ui/Dropdown.svelte +17 -14
  90. package/dist/components/ui/IconToggle.svelte +10 -7
  91. package/dist/components/ui/IconToggle.svelte.d.ts +1 -1
  92. package/dist/components/ui/IconToggle.svelte.d.ts.map +1 -1
  93. package/dist/components/ui/IconToggleGroup.svelte +8 -5
  94. package/dist/components/ui/Pagination.svelte +11 -8
  95. package/dist/components/ui/Popover.svelte +5 -2
  96. package/dist/components/ui/Skeleton.svelte +10 -7
  97. package/dist/components/ui/Tooltip.svelte +12 -9
  98. package/dist/components/ui/Tree.svelte +10 -7
  99. package/dist/styles/layers.css +8 -0
  100. package/dist/styles/layers.d.ts +9 -0
  101. package/dist/styles/layers.d.ts.map +1 -0
  102. package/dist/styles/layers.js +8 -0
  103. package/dist/styles/tokens.css +27 -69
  104. package/dist/styles/unstyled.css +65 -0
  105. package/dist/svelte/playground/BaseControlsPreview.svelte +3 -0
  106. package/dist/svelte/playground/CalendarPreview.svelte +5 -2
  107. package/dist/svelte/playground/CapturePreview.svelte +3 -0
  108. package/dist/svelte/playground/CodeSelectorsPreview.svelte +3 -0
  109. package/dist/svelte/playground/CollectionsPreview.svelte +3 -0
  110. package/dist/svelte/playground/DataTablePreview.svelte +3 -0
  111. package/dist/svelte/playground/FeedbackPreview.svelte +3 -0
  112. package/dist/svelte/playground/InteractiveControlsPreview.svelte +3 -0
  113. package/dist/svelte/playground/StylelessPreview.svelte +110 -0
  114. package/dist/svelte/playground/StylelessPreview.svelte.d.ts +4 -0
  115. package/dist/svelte/playground/StylelessPreview.svelte.d.ts.map +1 -0
  116. package/dist/svelte/playground.d.ts.map +1 -1
  117. package/dist/svelte/playground.js +10 -0
  118. package/dist/test-support/setup.js +9 -0
  119. package/dist/theme/ThemeProvider.svelte +3 -0
  120. package/dist/themes/CUSTOM_THEME_GUIDE.md +25 -0
  121. package/dist/themes/README.md +25 -0
  122. package/dist/themes/ThemeProvider.svelte +11 -2
  123. package/dist/themes/ThemeProvider.svelte.d.ts.map +1 -1
  124. package/dist/themes/components/ColorSchemeToggle.svelte +17 -14
  125. package/dist/themes/components/ThemeSwitcher.svelte +14 -11
  126. package/dist/themes/create-theme.d.ts.map +1 -1
  127. package/dist/themes/create-theme.js +8 -5
  128. package/dist/themes/css-generator.d.ts.map +1 -1
  129. package/dist/themes/css-generator.js +5 -4
  130. package/dist/themes/required-tokens.generated.json +172 -0
  131. package/dist/themes/styles/base.css +4 -1
  132. package/dist/themes/styles/glass.css +4 -1
  133. package/dist/themes/styles/happyvertical.css +7 -3
  134. package/dist/themes/styles/smrt.css +4 -1
  135. package/dist/themes/styles/studio.css +4 -1
  136. package/dist/utils/theme/typography.d.ts +21 -21
  137. package/dist/utils/theme/typography.js +21 -21
  138. 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, #ccc);
124
- border-radius: var(--smrt-radius-full, 9999px);
125
- background: var(--smrt-color-surface-container-low, #f5f5f5);
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, #eee);
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, #ccc);
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, #f5f5f5);
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, #eee);
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, #e3f2fd);
161
- color: var(--smrt-color-on-primary-container, #1565c0);
162
- border-color: var(--smrt-color-primary, #2196f3);
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, #fafafa);
168
- border: 1px solid var(--smrt-color-outline, #ccc);
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, #666);
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, #ccc);
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, #ccc);
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, #f5f5f5);
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, #eee);
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, #e3f2fd);
151
- color: var(--smrt-color-on-primary-container, #1565c0);
152
- border-color: var(--smrt-color-primary, #2196f3);
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, #fafafa);
158
- border: 1px solid var(--smrt-color-outline, #ccc);
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, #666);
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;AAyPD;;;;;;;;;;;;;;;;;;;;;;;;;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"}
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: light.inversePrimary || adjustBrightness(light.primary, 1.2),
92
- onPrimary: adjustBrightness(light.onPrimary, 0.8),
93
- primaryContainer: adjustBrightness(light.primaryContainer || light.primary, 0.3),
94
- onPrimaryContainer: adjustBrightness(light.onPrimaryContainer || light.onPrimary, 1.2),
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;AAwMD;;;;;;;;;;;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"}
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
- if (token.fontFamily) {
33
- vars[`${prefix}-typography-${cssKey}-font-family`] = token.fontFamily;
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. Component-scoped `:focus-visible` rules
483
- * are more specific and still win where a primitive tunes its own offset.
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
- '--md-sys-typescale-display-large-font': string;
4
- '--md-sys-typescale-display-medium-font': string;
5
- '--md-sys-typescale-display-small-font': string;
6
- '--md-sys-typescale-headline-large-font': string;
7
- '--md-sys-typescale-headline-medium-font': string;
8
- '--md-sys-typescale-headline-small-font': string;
9
- '--md-sys-typescale-title-large-font': string;
10
- '--md-sys-typescale-title-medium-font': string;
11
- '--md-sys-typescale-title-small-font': string;
12
- '--md-sys-typescale-label-large-font': string;
13
- '--md-sys-typescale-label-medium-font': string;
14
- '--md-sys-typescale-label-small-font': string;
15
- '--md-sys-typescale-body-large-font': string;
16
- '--md-sys-typescale-body-medium-font': string;
17
- '--md-sys-typescale-body-small-font': string;
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
- '--md-sys-elevation-level0': string;
21
- '--md-sys-elevation-level1': string;
22
- '--md-sys-elevation-level2': string;
23
- '--md-sys-elevation-level3': string;
24
- '--md-sys-elevation-level4': string;
25
- '--md-sys-elevation-level5': string;
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
- '--md-sys-typescale-display-large-font': `400 57px/64px ${fontFamily}`,
7
- '--md-sys-typescale-display-medium-font': `400 45px/52px ${fontFamily}`,
8
- '--md-sys-typescale-display-small-font': `400 36px/44px ${fontFamily}`,
9
- '--md-sys-typescale-headline-large-font': `400 32px/40px ${fontFamily}`,
10
- '--md-sys-typescale-headline-medium-font': `400 28px/36px ${fontFamily}`,
11
- '--md-sys-typescale-headline-small-font': `400 24px/32px ${fontFamily}`,
12
- '--md-sys-typescale-title-large-font': `400 22px/28px ${fontFamily}`,
13
- '--md-sys-typescale-title-medium-font': `500 16px/24px ${fontFamily}`,
14
- '--md-sys-typescale-title-small-font': `500 14px/20px ${fontFamily}`,
15
- '--md-sys-typescale-label-large-font': `500 14px/20px ${fontFamily}`,
16
- '--md-sys-typescale-label-medium-font': `500 12px/16px ${fontFamily}`,
17
- '--md-sys-typescale-label-small-font': `500 11px/16px ${fontFamily}`,
18
- '--md-sys-typescale-body-large-font': `400 16px/24px ${fontFamily}`,
19
- '--md-sys-typescale-body-medium-font': `400 14px/20px ${fontFamily}`,
20
- '--md-sys-typescale-body-small-font': `400 12px/16px ${fontFamily}`,
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
- '--md-sys-elevation-level0': 'none',
25
- '--md-sys-elevation-level1': '0px 1px 2px 0px rgba(0,0,0,0.3), 0px 1px 3px 1px rgba(0,0,0,0.15)',
26
- '--md-sys-elevation-level2': '0px 1px 2px 0px rgba(0,0,0,0.3), 0px 2px 6px 2px rgba(0,0,0,0.15)',
27
- '--md-sys-elevation-level3': '0px 1px 3px 0px rgba(0,0,0,0.3), 0px 4px 8px 3px rgba(0,0,0,0.15)',
28
- '--md-sys-elevation-level4': '0px 2px 3px 0px rgba(0,0,0,0.3), 0px 6px 10px 4px rgba(0,0,0,0.15)',
29
- '--md-sys-elevation-level5': '0px 4px 4px 0px rgba(0,0,0,0.3), 0px 8px 12px 6px rgba(0,0,0,0.15)',
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.15",
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.15",
158
+ "@happyvertical/smrt-types": "0.55.17",
153
159
  "esm-env": "^1.2.2"
154
160
  },
155
161
  "peerDependencies": {