noph-ui 0.50.0 → 0.51.1

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 (136) hide show
  1. package/dist/app-bar/AppBar.svelte +65 -23
  2. package/dist/app-bar/AppBar.svelte.d.ts +1 -1
  3. package/dist/autocomplete/AutoComplete.svelte +1 -1
  4. package/dist/autocomplete/AutoComplete.svelte.d.ts +1 -1
  5. package/dist/badge/Badge.svelte +1 -1
  6. package/dist/badge/Badge.svelte.d.ts +1 -1
  7. package/dist/button/Button.svelte +5 -13
  8. package/dist/button/Button.svelte.d.ts +1 -1
  9. package/dist/button/ButtonGroup.svelte +2 -2
  10. package/dist/button/ButtonGroup.svelte.d.ts +1 -1
  11. package/dist/button/IconButton.svelte +4 -39
  12. package/dist/button/IconButton.svelte.d.ts +1 -1
  13. package/dist/button/SegmentedButton.svelte +4 -5
  14. package/dist/button/SegmentedButton.svelte.d.ts +1 -1
  15. package/dist/button/SplitButton.svelte +2 -2
  16. package/dist/button/SplitButton.svelte.d.ts +1 -1
  17. package/dist/card/Card.svelte +1 -1
  18. package/dist/card/Card.svelte.d.ts +1 -1
  19. package/dist/carousel/Carousel.svelte +7 -3
  20. package/dist/carousel/Carousel.svelte.d.ts +1 -1
  21. package/dist/carousel/CarouselItem.svelte +2 -2
  22. package/dist/carousel/CarouselItem.svelte.d.ts +1 -1
  23. package/dist/checkbox/Checkbox.svelte +1 -1
  24. package/dist/checkbox/Checkbox.svelte.d.ts +1 -1
  25. package/dist/chip/AssistChip.svelte +1 -1
  26. package/dist/chip/AssistChip.svelte.d.ts +1 -1
  27. package/dist/chip/ChipSet.svelte +1 -1
  28. package/dist/chip/ChipSet.svelte.d.ts +1 -1
  29. package/dist/chip/FilterChip.svelte +1 -1
  30. package/dist/chip/FilterChip.svelte.d.ts +1 -1
  31. package/dist/chip/InputChip.svelte +1 -1
  32. package/dist/chip/InputChip.svelte.d.ts +1 -1
  33. package/dist/chip/SuggestionChip.svelte +3 -3
  34. package/dist/chip/SuggestionChip.svelte.d.ts +1 -1
  35. package/dist/date-picker/Calendar.svelte +1 -1
  36. package/dist/date-picker/Calendar.svelte.d.ts +1 -1
  37. package/dist/date-picker/DatePickerDialog.svelte +2 -1
  38. package/dist/date-picker/DatePickerDialog.svelte.d.ts +1 -1
  39. package/dist/date-picker/DateRangePicker.svelte +3 -6
  40. package/dist/date-picker/DateRangePicker.svelte.d.ts +1 -1
  41. package/dist/date-picker/DockedDatePicker.svelte +1 -1
  42. package/dist/date-picker/DockedDatePicker.svelte.d.ts +1 -1
  43. package/dist/date-picker/DockedDateTimePicker.svelte +1 -1
  44. package/dist/date-picker/DockedDateTimePicker.svelte.d.ts +1 -1
  45. package/dist/date-picker/SelectionList.svelte +1 -1
  46. package/dist/date-picker/SelectionList.svelte.d.ts +1 -1
  47. package/dist/date-picker/TimeColumn.svelte +1 -1
  48. package/dist/date-picker/TimeColumn.svelte.d.ts +1 -1
  49. package/dist/dialog/Dialog.svelte +3 -4
  50. package/dist/dialog/Dialog.svelte.d.ts +1 -1
  51. package/dist/divider/Divider.svelte +1 -1
  52. package/dist/divider/Divider.svelte.d.ts +1 -1
  53. package/dist/fab/ExtendedFab.svelte +2 -6
  54. package/dist/fab/ExtendedFab.svelte.d.ts +1 -1
  55. package/dist/fab/Fab.svelte +2 -7
  56. package/dist/fab/Fab.svelte.d.ts +1 -1
  57. package/dist/fab/FabMenu.svelte +6 -6
  58. package/dist/fab/FabMenu.svelte.d.ts +1 -1
  59. package/dist/icons/Icon.svelte +1 -1
  60. package/dist/icons/Icon.svelte.d.ts +1 -1
  61. package/dist/list/Item.svelte +4 -1
  62. package/dist/list/Item.svelte.d.ts +1 -1
  63. package/dist/list/List.svelte +1 -1
  64. package/dist/list/List.svelte.d.ts +1 -1
  65. package/dist/list/ListItem.svelte +1 -1
  66. package/dist/list/ListItem.svelte.d.ts +1 -1
  67. package/dist/loading-indicator/LoadingIndicator.svelte +2 -2
  68. package/dist/loading-indicator/LoadingIndicator.svelte.d.ts +1 -1
  69. package/dist/menu/Menu.svelte +1 -1
  70. package/dist/menu/Menu.svelte.d.ts +1 -1
  71. package/dist/menu/MenuItem.svelte +1 -1
  72. package/dist/menu/MenuItem.svelte.d.ts +1 -1
  73. package/dist/navigation-bar/NavigationBar.svelte +1 -1
  74. package/dist/navigation-bar/NavigationBar.svelte.d.ts +1 -1
  75. package/dist/navigation-bar/NavigationBarItem.svelte +4 -5
  76. package/dist/navigation-bar/NavigationBarItem.svelte.d.ts +1 -1
  77. package/dist/navigation-drawer/NavigationDrawer.svelte +1 -1
  78. package/dist/navigation-drawer/NavigationDrawer.svelte.d.ts +1 -1
  79. package/dist/navigation-drawer/NavigationDrawerItem.svelte +1 -2
  80. package/dist/navigation-drawer/NavigationDrawerItem.svelte.d.ts +1 -1
  81. package/dist/navigation-rail/NavigationRail.svelte +1 -1
  82. package/dist/navigation-rail/NavigationRail.svelte.d.ts +1 -1
  83. package/dist/navigation-rail/NavigationRailItem.svelte +2 -2
  84. package/dist/navigation-rail/NavigationRailItem.svelte.d.ts +1 -1
  85. package/dist/progress/CircularProgress.svelte +10 -4
  86. package/dist/progress/CircularProgress.svelte.d.ts +1 -1
  87. package/dist/progress/LinearProgress.svelte +2 -2
  88. package/dist/progress/LinearProgress.svelte.d.ts +1 -1
  89. package/dist/radio/Radio.svelte +2 -2
  90. package/dist/radio/Radio.svelte.d.ts +1 -1
  91. package/dist/ripple/Ripple.svelte +1 -1
  92. package/dist/ripple/Ripple.svelte.d.ts +1 -1
  93. package/dist/search/Search.svelte +1 -1
  94. package/dist/search/Search.svelte.d.ts +1 -1
  95. package/dist/select/NativeSelect.svelte +3 -1
  96. package/dist/select/NativeSelect.svelte.d.ts +1 -1
  97. package/dist/select/Option.svelte +1 -1
  98. package/dist/select/Option.svelte.d.ts +1 -1
  99. package/dist/select/Select.svelte +36 -17
  100. package/dist/select/Select.svelte.d.ts +1 -1
  101. package/dist/sheet/Sheet.svelte +16 -4
  102. package/dist/sheet/Sheet.svelte.d.ts +1 -1
  103. package/dist/slider/Slider.svelte +4 -3
  104. package/dist/slider/Slider.svelte.d.ts +1 -1
  105. package/dist/snackbar/Snackbar.svelte +7 -4
  106. package/dist/snackbar/Snackbar.svelte.d.ts +1 -1
  107. package/dist/switch/Switch.svelte +12 -7
  108. package/dist/switch/Switch.svelte.d.ts +1 -1
  109. package/dist/tabs/Tab.svelte +2 -2
  110. package/dist/tabs/Tab.svelte.d.ts +1 -1
  111. package/dist/tabs/Tabs.svelte +1 -1
  112. package/dist/tabs/Tabs.svelte.d.ts +1 -1
  113. package/dist/text-field/TextField.svelte +1 -1
  114. package/dist/text-field/TextField.svelte.d.ts +1 -1
  115. package/dist/themes/defaultTheme.css +1 -0
  116. package/dist/time-picker/ClockDial.svelte +1 -1
  117. package/dist/time-picker/ClockDial.svelte.d.ts +1 -1
  118. package/dist/time-picker/DockedTimePicker.svelte +1 -1
  119. package/dist/time-picker/DockedTimePicker.svelte.d.ts +1 -1
  120. package/dist/time-picker/PeriodSelector.svelte +3 -6
  121. package/dist/time-picker/PeriodSelector.svelte.d.ts +1 -1
  122. package/dist/time-picker/TimeInputs.svelte +1 -1
  123. package/dist/time-picker/TimeInputs.svelte.d.ts +1 -1
  124. package/dist/time-picker/TimePickerDialog.svelte +1 -1
  125. package/dist/time-picker/TimePickerDialog.svelte.d.ts +1 -1
  126. package/dist/time-picker/TimePickerPanel.svelte +4 -2
  127. package/dist/time-picker/TimePickerPanel.svelte.d.ts +1 -1
  128. package/dist/time-picker/TimeSelectors.svelte +1 -1
  129. package/dist/time-picker/TimeSelectors.svelte.d.ts +1 -1
  130. package/dist/toolbar/Toolbar.svelte +8 -8
  131. package/dist/toolbar/Toolbar.svelte.d.ts +1 -1
  132. package/dist/tooltip/RichTooltip.svelte +2 -2
  133. package/dist/tooltip/RichTooltip.svelte.d.ts +1 -1
  134. package/dist/tooltip/Tooltip.svelte +1 -1
  135. package/dist/tooltip/Tooltip.svelte.d.ts +1 -1
  136. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import type { AppBarProps } from './types.ts'
2
+ import type { AppBarProps } from './types.js'
3
3
 
4
4
  let {
5
5
  variant = 'small',
@@ -36,7 +36,7 @@
36
36
  'np-app-bar',
37
37
  `np-app-bar-${variant}`,
38
38
  collapses && 'np-app-bar-collapsible',
39
- collapses && scroller === 'nearest' && 'np-app-bar-scroller-nearest',
39
+ scroller === 'nearest' && 'np-app-bar-scroller-nearest',
40
40
  attributes.class,
41
41
  ]}
42
42
  >
@@ -75,6 +75,11 @@
75
75
  background-color: var(--np-app-bar-container-color, var(--np-color-surface));
76
76
  color: var(--np-color-on-surface);
77
77
  --np-icon-button-icon-color: var(--np-color-on-surface-variant);
78
+ --_timeline: scroll(root block);
79
+ --_fill-range: 0 var(--np-app-bar-fill-distance, 0.5rem);
80
+ }
81
+ .np-app-bar-scroller-nearest {
82
+ --_timeline: scroll(nearest block);
78
83
  }
79
84
 
80
85
  .np-app-bar:has(:global(.np-search-expanded)) {
@@ -110,21 +115,18 @@
110
115
  }
111
116
 
112
117
  .np-app-bar-subtitle {
113
- font-size: 0.875rem;
114
- line-height: 1.25rem;
118
+ font-size: var(--_subtitle-size);
119
+ line-height: var(--_subtitle-line-height);
115
120
  font-weight: 500;
116
121
  color: var(--np-app-bar-subtitle-color, var(--np-color-on-surface-variant));
117
122
  overflow: hidden;
118
123
  text-overflow: ellipsis;
119
124
  white-space: nowrap;
120
125
  }
121
- .np-app-bar-titles-inline .np-app-bar-headline {
122
- font-size: 1.375rem;
123
- }
124
126
 
125
127
  .np-app-bar-headline {
126
128
  font-size: var(--_headline-size);
127
- line-height: 1.2;
129
+ line-height: var(--_headline-line-height);
128
130
  font-weight: 400;
129
131
  color: var(--np-app-bar-headline-color, var(--np-color-on-surface));
130
132
  overflow: hidden;
@@ -132,10 +134,22 @@
132
134
  white-space: nowrap;
133
135
  min-width: 0;
134
136
  }
137
+ .np-app-bar-second-row .np-app-bar-headline {
138
+ display: -webkit-box;
139
+ -webkit-box-orient: vertical;
140
+ -webkit-line-clamp: 2;
141
+ line-clamp: 2;
142
+ white-space: normal;
143
+ overflow-wrap: anywhere;
144
+ }
135
145
 
136
146
  .np-app-bar-small,
137
- .np-app-bar-search {
147
+ .np-app-bar-search,
148
+ .np-app-bar-inline {
138
149
  --_headline-size: 1.375rem;
150
+ --_headline-line-height: 1.75rem;
151
+ --_subtitle-size: 0.75rem;
152
+ --_subtitle-line-height: 1rem;
139
153
  }
140
154
 
141
155
  .np-app-bar-search-field {
@@ -145,17 +159,26 @@
145
159
  align-items: center;
146
160
  padding-inline: 0.25rem;
147
161
  }
162
+ .np-app-bar-search-field :global(.np-search:not(.np-search-expanded) .np-search-bar) {
163
+ background-color: var(--np-search-container-color, var(--np-color-surface-container));
164
+ }
148
165
  .np-app-bar-small .np-app-bar-titles {
149
166
  padding-inline-start: 0.75rem;
150
167
  flex: 1;
151
168
  }
152
169
 
153
170
  .np-app-bar-medium {
154
- --_headline-size: 1.5rem;
171
+ --_headline-size: 1.75rem;
172
+ --_headline-line-height: 2.25rem;
173
+ --_subtitle-size: 0.875rem;
174
+ --_subtitle-line-height: 1.25rem;
155
175
  --_second-row-height: 3rem;
156
176
  }
157
177
  .np-app-bar-large {
158
- --_headline-size: 1.75rem;
178
+ --_headline-size: 2.25rem;
179
+ --_headline-line-height: 2.75rem;
180
+ --_subtitle-size: 1rem;
181
+ --_subtitle-line-height: 1.5rem;
159
182
  --_second-row-height: 5.5rem;
160
183
  }
161
184
 
@@ -170,18 +193,15 @@
170
193
  padding-block-end: 1rem;
171
194
  overflow: hidden;
172
195
  }
196
+ .np-app-bar-medium .np-app-bar-second-row {
197
+ padding-block-end: 0.75rem;
198
+ }
173
199
 
174
200
  .np-app-bar-inline {
175
- font-size: 1.375rem;
176
- line-height: 1.2;
177
- font-weight: 400;
178
- color: var(--np-app-bar-headline-color, var(--np-color-on-surface));
179
201
  padding-inline-start: 0.75rem;
180
202
  flex: 1;
181
203
  min-width: 0;
182
204
  overflow: hidden;
183
- text-overflow: ellipsis;
184
- white-space: nowrap;
185
205
  opacity: 0;
186
206
  }
187
207
 
@@ -189,23 +209,45 @@
189
209
  :global(html:has(.np-app-bar-collapsible)) {
190
210
  overflow-anchor: none;
191
211
  }
192
- :global(:has(.np-app-bar-scroller-nearest)) {
212
+ :global(:has(.np-app-bar-collapsible.np-app-bar-scroller-nearest)) {
193
213
  overflow-anchor: none;
194
214
  }
195
215
 
216
+ .np-app-bar {
217
+ animation: np-app-bar-fill linear both;
218
+ animation-timeline: var(--_timeline);
219
+ animation-range: var(--_fill-range);
220
+ }
221
+ .np-app-bar-search-field :global(.np-search:not(.np-search-expanded) .np-search-bar) {
222
+ animation: np-app-bar-search-fill linear both;
223
+ animation-timeline: var(--_timeline);
224
+ animation-range: var(--_fill-range);
225
+ }
226
+
196
227
  .np-app-bar-collapsible .np-app-bar-second-row {
197
228
  animation: np-app-bar-collapse linear both;
198
- animation-timeline: scroll(root block);
229
+ animation-timeline: var(--_timeline);
199
230
  animation-range: 0 var(--_second-row-height);
200
231
  }
201
232
  .np-app-bar-collapsible .np-app-bar-inline {
202
233
  animation: np-app-bar-reveal linear both;
203
- animation-timeline: scroll(root block);
234
+ animation-timeline: var(--_timeline);
204
235
  animation-range: 0 var(--_second-row-height);
205
236
  }
206
- .np-app-bar-scroller-nearest .np-app-bar-second-row,
207
- .np-app-bar-scroller-nearest .np-app-bar-inline {
208
- animation-timeline: scroll(nearest block);
237
+ }
238
+
239
+ @keyframes np-app-bar-fill {
240
+ to {
241
+ background-color: var(
242
+ --np-app-bar-scrolled-container-color,
243
+ var(--np-color-surface-container)
244
+ );
245
+ }
246
+ }
247
+
248
+ @keyframes np-app-bar-search-fill {
249
+ to {
250
+ background-color: var(--np-search-container-color, var(--np-color-surface-container-highest));
209
251
  }
210
252
  }
211
253
 
@@ -1,4 +1,4 @@
1
- import type { AppBarProps } from './types.ts';
1
+ import type { AppBarProps } from './types.js';
2
2
  declare const AppBar: import("svelte").Component<AppBarProps, {}, "element">;
3
3
  type AppBar = ReturnType<typeof AppBar>;
4
4
  export default AppBar;
@@ -3,7 +3,7 @@
3
3
  import Menu from '../menu/Menu.svelte'
4
4
  import VirtualList from '../select/VirtualList.svelte'
5
5
  import TextField from '../text-field/TextField.svelte'
6
- import type { AutoCompleteOption, AutoCompleteProps } from './types.ts'
6
+ import type { AutoCompleteOption, AutoCompleteProps } from './types.js'
7
7
 
8
8
  let {
9
9
  options = [],
@@ -1,4 +1,4 @@
1
- import type { AutoCompleteProps } from './types.ts';
1
+ import type { AutoCompleteProps } from './types.js';
2
2
  declare const AutoComplete: import("svelte").Component<AutoCompleteProps, {}, "element" | "value" | "open">;
3
3
  type AutoComplete = ReturnType<typeof AutoComplete>;
4
4
  export default AutoComplete;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import type { BadgeProps } from './types.ts'
2
+ import type { BadgeProps } from './types.js'
3
3
 
4
4
  let {
5
5
  label,
@@ -1,4 +1,4 @@
1
- import type { BadgeProps } from './types.ts';
1
+ import type { BadgeProps } from './types.js';
2
2
  declare const Badge: import("svelte").Component<BadgeProps, {}, "element">;
3
3
  type Badge = ReturnType<typeof Badge>;
4
4
  export default Badge;
@@ -5,7 +5,7 @@
5
5
  import Ripple from '../ripple/Ripple.svelte'
6
6
  import Tooltip from '../tooltip/Tooltip.svelte'
7
7
  import type { HTMLButtonAttributes } from 'svelte/elements'
8
- import type { ButtonProps } from './types.ts'
8
+ import type { ButtonProps } from './types.js'
9
9
 
10
10
  let {
11
11
  variant = 'outlined',
@@ -149,6 +149,9 @@
149
149
  opacity: 0;
150
150
  }
151
151
  .np-button {
152
+ /* State layers take the content color of each variant and state. */
153
+ --np-ripple-hover-color: currentColor;
154
+ --np-ripple-pressed-color: currentColor;
152
155
  box-sizing: border-box;
153
156
  font: inherit;
154
157
  background-color: transparent;
@@ -279,14 +282,9 @@
279
282
  }
280
283
  }
281
284
  .text {
282
- --np-ripple-hover-color: var(--np-text-button-label-text-color, var(--np-color-primary));
283
- --np-ripple-pressed-color: var(--np-text-button-label-text-color, var(--np-color-primary));
284
285
  color: var(--np-text-button-label-text-color, var(--np-color-primary));
285
286
  }
286
287
  .filled {
287
- --np-ripple-hover-opacity: 0.12;
288
- --np-ripple-hover-color: var(--np-color-surface);
289
- --np-ripple-pressed-color: var(--np-color-surface);
290
288
  color: var(--np-filled-button-label-text-color, var(--np-color-on-primary));
291
289
  background-color: var(--np-filled-button-container-color, var(--np-color-primary));
292
290
  }
@@ -312,8 +310,6 @@
312
310
  }
313
311
 
314
312
  .tonal {
315
- --np-ripple-hover-color: var(--np-tonal-button-label-text-color, var(--np-color-primary));
316
- --np-ripple-pressed-color: var(--np-tonal-button-label-text-color, var(--np-color-primary));
317
313
  color: var(--np-tonal-button-label-text-color, var(--np-color-on-secondary-container));
318
314
  background-color: var(--np-tonal-button-container-color, var(--np-color-secondary-container));
319
315
  }
@@ -336,8 +332,6 @@
336
332
  }
337
333
 
338
334
  .elevated {
339
- --np-ripple-hover-color: var(--np-elevated-button-label-text-color, var(--np-color-primary));
340
- --np-ripple-pressed-color: var(--np-elevated-button-label-text-color, var(--np-color-primary));
341
335
  color: var(--np-elevated-button-label-text-color, var(--np-color-primary));
342
336
  background-color: var(
343
337
  --np-elevated-button-container-color,
@@ -364,9 +358,7 @@
364
358
  --np-outlined-button-outline-color,
365
359
  var(--np-color-outline-variant)
366
360
  );
367
- --np-ripple-hover-color: var(--np-outlined-button-label-text-color, var(--np-color-primary));
368
- --np-ripple-pressed-color: var(--np-outlined-button-label-text-color, var(--np-color-primary));
369
- color: var(--np-outlined-button-label-text-color, var(--np-color-primary));
361
+ color: var(--np-outlined-button-label-text-color, var(--np-color-on-surface-variant));
370
362
  }
371
363
 
372
364
  .outlined:not(.selected)::after,
@@ -1,5 +1,5 @@
1
1
  import '../internal/focus-ring.css';
2
- import type { ButtonProps } from './types.ts';
2
+ import type { ButtonProps } from './types.js';
3
3
  declare const Button: import("svelte").Component<ButtonProps, {}, "element" | "selected">;
4
4
  type Button = ReturnType<typeof Button>;
5
5
  export default Button;
@@ -1,8 +1,8 @@
1
1
  <script lang="ts">
2
2
  import { reducedMotion } from '../media.js'
3
3
  import { onMount } from 'svelte'
4
- import { expandedWidths, parseMotion, resolveItem } from './buttonGroup.ts'
5
- import type { ButtonGroupProps } from './types.ts'
4
+ import { expandedWidths, parseMotion, resolveItem } from './buttonGroup.js'
5
+ import type { ButtonGroupProps } from './types.js'
6
6
 
7
7
  let {
8
8
  variant = 'standard',
@@ -1,4 +1,4 @@
1
- import type { ButtonGroupProps } from './types.ts';
1
+ import type { ButtonGroupProps } from './types.js';
2
2
  declare const ButtonGroup: import("svelte").Component<ButtonGroupProps, {}, "element">;
3
3
  type ButtonGroup = ReturnType<typeof ButtonGroup>;
4
4
  export default ButtonGroup;
@@ -5,7 +5,7 @@
5
5
  import Ripple from '../ripple/Ripple.svelte'
6
6
  import Tooltip from '../tooltip/Tooltip.svelte'
7
7
  import type { HTMLButtonAttributes } from 'svelte/elements'
8
- import type { IconButtonProps } from './types.ts'
8
+ import type { IconButtonProps } from './types.js'
9
9
 
10
10
  let {
11
11
  variant = 'text',
@@ -123,6 +123,9 @@
123
123
 
124
124
  <style>
125
125
  .np-icon-button {
126
+ /* State layers take the content color of each variant and state. */
127
+ --np-ripple-hover-color: currentColor;
128
+ --np-ripple-pressed-color: currentColor;
126
129
  font: inherit;
127
130
  box-sizing: border-box;
128
131
  -webkit-tap-highlight-color: transparent;
@@ -281,30 +284,16 @@
281
284
  }
282
285
  }
283
286
  .text {
284
- --np-ripple-hover-color: var(--np-icon-button-icon-color, var(--np-color-on-surface-variant));
285
- --np-ripple-pressed-color: var(--np-icon-button-icon-color, var(--np-color-on-surface-variant));
286
287
  color: var(--np-icon-button-icon-color, var(--np-color-on-surface-variant));
287
288
  }
288
289
  .text.selected {
289
- --np-ripple-hover-color: var(--np-color-primary);
290
- --np-ripple-pressed-color: var(--np-color-primary);
291
290
  color: var(--np-color-primary);
292
291
  }
293
292
  .filled {
294
- --np-ripple-hover-color: var(--np-filled-icon-button-icon-color, var(--np-color-on-primary));
295
- --np-ripple-pressed-color: var(--np-filled-icon-button-icon-color, var(--np-color-on-primary));
296
293
  color: var(--np-filled-icon-button-icon-color, var(--np-color-on-primary));
297
294
  background-color: var(--np-filled-icon-button-container-color, var(--np-color-primary));
298
295
  }
299
296
  .filled.toggle {
300
- --np-ripple-hover-color: var(
301
- --np-filled-icon-button-unselected-icon-color,
302
- var(--np-color-on-surface-variant)
303
- );
304
- --np-ripple-pressed-color: var(
305
- --np-filled-icon-button-unselected-icon-color,
306
- var(--np-color-on-surface-variant)
307
- );
308
297
  color: var(--np-filled-icon-button-unselected-icon-color, var(--np-color-on-surface-variant));
309
298
  background-color: var(
310
299
  --np-filled-icon-button-unselected-container-color,
@@ -312,14 +301,6 @@
312
301
  );
313
302
  }
314
303
  .filled.selected {
315
- --np-ripple-hover-color: var(
316
- --np-filled-icon-button-selected-icon-color,
317
- var(--np-color-on-primary)
318
- );
319
- --np-ripple-pressed-color: var(
320
- --np-filled-icon-button-selected-icon-color,
321
- var(--np-color-on-primary)
322
- );
323
304
  color: var(--np-filled-icon-button-selected-icon-color, var(--np-color-on-primary));
324
305
  background-color: var(
325
306
  --np-filled-icon-button-selected-container-color,
@@ -328,14 +309,6 @@
328
309
  }
329
310
 
330
311
  .tonal {
331
- --np-ripple-hover-color: var(
332
- --np-tonal-icon-button-icon-color,
333
- var(--np-color-on-secondary-container)
334
- );
335
- --np-ripple-pressed-color: var(
336
- --np-tonal-icon-button-icon-color,
337
- var(--np-color-on-secondary-container)
338
- );
339
312
  color: var(--np-tonal-icon-button-icon-color, var(--np-color-on-secondary-container));
340
313
  background-color: var(
341
314
  --np-tonal-icon-button-container-color,
@@ -343,14 +316,10 @@
343
316
  );
344
317
  }
345
318
  .tonal.toggle {
346
- --np-ripple-hover-color: var(--np-color-on-secondary-container);
347
- --np-ripple-pressed-color: var(--np-color-on-secondary-container);
348
319
  color: var(--np-color-on-secondary-container);
349
320
  background-color: var(--np-color-secondary-container);
350
321
  }
351
322
  .tonal.selected {
352
- --np-ripple-hover-color: var(--np-color-on-secondary);
353
- --np-ripple-pressed-color: var(--np-color-on-secondary);
354
323
  color: var(--np-color-on-secondary);
355
324
  background-color: var(--np-color-secondary);
356
325
  }
@@ -360,8 +329,6 @@
360
329
  --np-outlined-icon-button-outline-color,
361
330
  var(--np-color-outline-variant)
362
331
  );
363
- --np-ripple-hover-color: var(--np-color-on-surface-variant);
364
- --np-ripple-pressed-color: var(--np-color-on-surface-variant);
365
332
  color: var(--np-color-on-surface-variant);
366
333
  }
367
334
 
@@ -376,8 +343,6 @@
376
343
  }
377
344
 
378
345
  .outlined.selected {
379
- --np-ripple-hover-color: var(--np-color-on-surface-variant);
380
- --np-ripple-pressed-color: var(--np-color-on-surface-variant);
381
346
  color: var(--np-color-inverse-on-surface);
382
347
  background-color: var(--np-color-inverse-surface);
383
348
  }
@@ -1,5 +1,5 @@
1
1
  import '../internal/focus-ring.css';
2
- import type { IconButtonProps } from './types.ts';
2
+ import type { IconButtonProps } from './types.js';
3
3
  declare const IconButton: import("svelte").Component<IconButtonProps, {}, "element" | "selected">;
4
4
  type IconButton = ReturnType<typeof IconButton>;
5
5
  export default IconButton;
@@ -2,7 +2,7 @@
2
2
  import '../internal/focus-ring.css'
3
3
  import CheckIcon from '../icons/CheckIcon.svelte'
4
4
  import Ripple from '../ripple/Ripple.svelte'
5
- import type { SegmentedButtonProps } from './types.ts'
5
+ import type { SegmentedButtonProps } from './types.js'
6
6
 
7
7
  let {
8
8
  name,
@@ -90,8 +90,9 @@
90
90
 
91
91
  <style>
92
92
  .np-segmented-buttons {
93
- --np-ripple-hover-color: var(--np-color-primary);
94
- --np-ripple-pressed-color: var(--np-color-primary);
93
+ /* State layers take the content color of each variant and state. */
94
+ --np-ripple-hover-color: currentColor;
95
+ --np-ripple-pressed-color: currentColor;
95
96
  display: grid;
96
97
  color: var(--np-color-on-surface);
97
98
  border: 1px solid var(--np-color-outline);
@@ -100,8 +101,6 @@
100
101
  }
101
102
 
102
103
  .np-segmented-buttons.np-error {
103
- --np-ripple-hover-color: var(--np-color-error);
104
- --np-ripple-pressed-color: var(--np-color-error);
105
104
  border-color: var(--np-color-error);
106
105
  color: var(--np-color-error);
107
106
  }
@@ -1,5 +1,5 @@
1
1
  import '../internal/focus-ring.css';
2
- import type { SegmentedButtonProps } from './types.ts';
2
+ import type { SegmentedButtonProps } from './types.js';
3
3
  declare const SegmentedButton: import("svelte").Component<SegmentedButtonProps, {}, "element" | "group">;
4
4
  type SegmentedButton = ReturnType<typeof SegmentedButton>;
5
5
  export default SegmentedButton;
@@ -3,7 +3,7 @@
3
3
  import Menu from '../menu/Menu.svelte'
4
4
  import Button from './Button.svelte'
5
5
  import ButtonGroup from './ButtonGroup.svelte'
6
- import type { SplitButtonProps } from './types.ts'
6
+ import type { SplitButtonProps } from './types.js'
7
7
 
8
8
  let {
9
9
  label = '',
@@ -49,7 +49,7 @@
49
49
  aria-label={menuLabel}
50
50
  start={caret}
51
51
  />
52
- <Menu id={menuId} anchor={trigger} bind:open coverAnchor={false}>
52
+ <Menu id={menuId} anchor={trigger} bind:open coverAnchor={false} style="--np-menu-margin: 4px">
53
53
  {@render menu?.(menuId)}
54
54
  </Menu>
55
55
  </ButtonGroup>
@@ -1,4 +1,4 @@
1
- import type { SplitButtonProps } from './types.ts';
1
+ import type { SplitButtonProps } from './types.js';
2
2
  declare const SplitButton: import("svelte").Component<SplitButtonProps, {}, "element" | "open">;
3
3
  type SplitButton = ReturnType<typeof SplitButton>;
4
4
  export default SplitButton;
@@ -2,7 +2,7 @@
2
2
  import '../internal/focus-ring.css'
3
3
  import { buttonType, elementTag } from '../internal/elementTag.js'
4
4
  import Ripple from '../ripple/Ripple.svelte'
5
- import type { CardProps } from './types.ts'
5
+ import type { CardProps } from './types.js'
6
6
 
7
7
  let {
8
8
  image,
@@ -1,5 +1,5 @@
1
1
  import '../internal/focus-ring.css';
2
- import type { CardProps } from './types.ts';
2
+ import type { CardProps } from './types.js';
3
3
  declare const Card: import("svelte").Component<CardProps, {}, "element">;
4
4
  type Card = ReturnType<typeof Card>;
5
5
  export default Card;
@@ -2,9 +2,9 @@
2
2
  import { arrowKeyNav } from '../keyboard-nav.js'
3
3
  import { reducedMotion } from '../media.js'
4
4
  import type { Attachment } from 'svelte/attachments'
5
- import { carouselMorph, scrollTimelines } from './carouselMorph.ts'
5
+ import { carouselMorph, scrollTimelines } from './carouselMorph.js'
6
6
  import { setCarouselContext } from './context.js'
7
- import type { CarouselContext, CarouselItemElement, CarouselProps } from './types.ts'
7
+ import type { CarouselContext, CarouselItemElement, CarouselProps } from './types.js'
8
8
 
9
9
  let {
10
10
  variant = 'multi-browse',
@@ -195,6 +195,10 @@
195
195
  padding-block: var(--_cross);
196
196
  }
197
197
 
198
+ .np-carousel-uncontained.np-carousel-horizontal .np-carousel-track {
199
+ padding-inline-end: 0;
200
+ }
201
+
198
202
  .np-carousel-vertical .np-carousel-track {
199
203
  flex-direction: column;
200
204
  padding-block: var(--_pad);
@@ -208,7 +212,7 @@
208
212
 
209
213
  .np-carousel-full-screen {
210
214
  --np-carousel-padding: 0px;
211
- --_gap: 0px;
215
+ --_gap: var(--np-carousel-item-spacing, 1rem);
212
216
  --_cross: 0px;
213
217
  --np-carousel-item-container-shape: 0px;
214
218
  --np-carousel-snap-stop: always;
@@ -1,4 +1,4 @@
1
- import type { CarouselProps } from './types.ts';
1
+ import type { CarouselProps } from './types.js';
2
2
  declare const Carousel: import("svelte").Component<CarouselProps, {}, "scroller" | "element">;
3
3
  type Carousel = ReturnType<typeof Carousel>;
4
4
  export default Carousel;
@@ -3,9 +3,9 @@
3
3
  import { pressMorph } from '../press.svelte.js'
4
4
  import { buttonType, elementTag } from '../internal/elementTag.js'
5
5
  import Ripple from '../ripple/Ripple.svelte'
6
- import { minVisibleFraction } from './carouselStrategy.ts'
6
+ import { minVisibleFraction } from './carouselStrategy.js'
7
7
  import { getCarouselContext } from './context.js'
8
- import type { CarouselItemElement, CarouselItemProps } from './types.ts'
8
+ import type { CarouselItemElement, CarouselItemProps } from './types.js'
9
9
 
10
10
  let {
11
11
  type,
@@ -1,5 +1,5 @@
1
1
  import '../internal/focus-ring.css';
2
- import type { CarouselItemProps } from './types.ts';
2
+ import type { CarouselItemProps } from './types.js';
3
3
  declare const CarouselItem: import("svelte").Component<CarouselItemProps, {}, "element">;
4
4
  type CarouselItem = ReturnType<typeof CarouselItem>;
5
5
  export default CarouselItem;
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import '../internal/focus-ring.css'
3
3
  import Ripple from '../ripple/Ripple.svelte'
4
- import type { CheckboxProps } from './types.ts'
4
+ import type { CheckboxProps } from './types.js'
5
5
 
6
6
  let {
7
7
  indeterminate = $bindable(),
@@ -1,5 +1,5 @@
1
1
  import '../internal/focus-ring.css';
2
- import type { CheckboxProps } from './types.ts';
2
+ import type { CheckboxProps } from './types.js';
3
3
  declare const Checkbox: import("svelte").Component<CheckboxProps, {}, "element" | "group" | "checked" | "indeterminate">;
4
4
  type Checkbox = ReturnType<typeof Checkbox>;
5
5
  export default Checkbox;
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import type { AssistChipProps } from './types.ts'
2
+ import type { AssistChipProps } from './types.js'
3
3
  import Button from '../button/Button.svelte'
4
4
 
5
5
  let {
@@ -1,4 +1,4 @@
1
- import type { AssistChipProps } from './types.ts';
1
+ import type { AssistChipProps } from './types.js';
2
2
  declare const AssistChip: import("svelte").Component<AssistChipProps, {}, "element">;
3
3
  type AssistChip = ReturnType<typeof AssistChip>;
4
4
  export default AssistChip;
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { arrowKeyNav, rovingTabindex } from '../keyboard-nav.js'
3
- import type { ChipSetProps } from './types.ts'
3
+ import type { ChipSetProps } from './types.js'
4
4
 
5
5
  let { children, element = $bindable(), ...attributes }: ChipSetProps = $props()
6
6
 
@@ -1,4 +1,4 @@
1
- import type { ChipSetProps } from './types.ts';
1
+ import type { ChipSetProps } from './types.js';
2
2
  declare const ChipSet: import("svelte").Component<ChipSetProps, {}, "element">;
3
3
  type ChipSet = ReturnType<typeof ChipSet>;
4
4
  export default ChipSet;
@@ -4,7 +4,7 @@
4
4
  import CheckIcon from '../icons/CheckIcon.svelte'
5
5
  import CloseIcon from '../icons/CloseIcon.svelte'
6
6
  import Ripple from '../ripple/Ripple.svelte'
7
- import type { FilterChipProps } from './types.ts'
7
+ import type { FilterChipProps } from './types.js'
8
8
 
9
9
  let {
10
10
  selected = $bindable(),
@@ -1,5 +1,5 @@
1
1
  import '../internal/focus-ring.css';
2
- import type { FilterChipProps } from './types.ts';
2
+ import type { FilterChipProps } from './types.js';
3
3
  declare const FilterChip: import("svelte").Component<FilterChipProps, {}, "element" | "group" | "selected">;
4
4
  type FilterChip = ReturnType<typeof FilterChip>;
5
5
  export default FilterChip;
@@ -3,7 +3,7 @@
3
3
  import IconButton from '../button/IconButton.svelte'
4
4
  import CloseIcon from '../icons/CloseIcon.svelte'
5
5
  import Ripple from '../ripple/Ripple.svelte'
6
- import type { InputChipProps } from './types.ts'
6
+ import type { InputChipProps } from './types.js'
7
7
 
8
8
  let {
9
9
  selected = $bindable(),
@@ -1,5 +1,5 @@
1
1
  import '../internal/focus-ring.css';
2
- import type { InputChipProps } from './types.ts';
2
+ import type { InputChipProps } from './types.js';
3
3
  declare const InputChip: import("svelte").Component<InputChipProps, {}, "element" | "selected" | "actionElement">;
4
4
  type InputChip = ReturnType<typeof InputChip>;
5
5
  export default InputChip;