m3-svelte 5.7.3 → 5.9.0

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 (35) hide show
  1. package/package/buttons/Button.svelte +8 -2
  2. package/package/buttons/FAB.svelte +1 -1
  3. package/package/buttons/FAB.svelte.d.ts +3 -3
  4. package/package/buttons/SplitButton.svelte +2 -2
  5. package/package/containers/Dialog.svelte +2 -2
  6. package/package/containers/MenuItem.svelte +1 -1
  7. package/package/containers/Snackbar.svelte +1 -1
  8. package/package/containers/StandardSideSheet.svelte +1 -1
  9. package/package/forms/Chip.svelte +1 -1
  10. package/package/forms/DateField.svelte +42 -6
  11. package/package/forms/DateFieldOutlined.svelte +42 -6
  12. package/package/forms/Select.svelte +2 -2
  13. package/package/forms/SelectOutlined.svelte +2 -2
  14. package/package/forms/Slider.svelte +1 -1
  15. package/package/forms/Switch.svelte +1 -1
  16. package/package/forms/TextField.svelte +1 -1
  17. package/package/forms/TextFieldMultiline.svelte +1 -1
  18. package/package/forms/TextFieldOutlined.svelte +1 -1
  19. package/package/forms/TextFieldOutlinedMultiline.svelte +1 -1
  20. package/package/forms/_picker/FocusPicker.svelte +1 -1
  21. package/package/forms/_picker/Header.svelte +1 -1
  22. package/package/index.d.ts +1 -1
  23. package/package/index.js +1 -1
  24. package/package/misc/{_icon.svelte → Icon.svelte} +9 -11
  25. package/package/misc/{_icon.svelte.d.ts → Icon.svelte.d.ts} +3 -4
  26. package/package/misc/Layer.svelte +5 -0
  27. package/package/misc/colors.js +15 -0
  28. package/package/nav/NavCMLX.svelte.d.ts +3 -3
  29. package/package/nav/NavCMLXItem.svelte +3 -3
  30. package/package/nav/NavCMLXItem.svelte.d.ts +3 -3
  31. package/package/nav/Tabs.svelte +1 -1
  32. package/package/nav/TabsLink.svelte +1 -1
  33. package/package/nav/VariableTabs.svelte +1 -1
  34. package/package/nav/VariableTabsLink.svelte +1 -1
  35. package/package.json +16 -16
@@ -54,7 +54,14 @@
54
54
  {@render children()}
55
55
  </a>
56
56
  {:else if "summary" in props}
57
- {@const { variant = "filled", square = false, iconType = "none", children, ...extra } = props}
57
+ {@const {
58
+ variant = "filled",
59
+ square = false,
60
+ iconType = "none",
61
+ children,
62
+ summary: _,
63
+ ...extra
64
+ } = props}
58
65
  <summary
59
66
  class="m3-container m3-font-label-large {variant} icon-{iconType}"
60
67
  class:square
@@ -100,7 +107,6 @@
100
107
  cursor: pointer;
101
108
  user-select: none;
102
109
  position: relative;
103
- overflow: hidden;
104
110
 
105
111
  &:disabled,
106
112
  &:is(:global(input:disabled) + label) {
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import type { IconifyIcon } from "@iconify/types";
3
- import Icon from "../misc/_icon.svelte";
3
+ import Icon from "../misc/Icon.svelte";
4
4
  import Layer from "../misc/Layer.svelte";
5
5
  import type { ButtonAttrs } from "../misc/typing-utils";
6
6
 
@@ -13,6 +13,6 @@ type $$ComponentProps = {
13
13
  color?: "primary-container" | "secondary-container" | "tertiary-container" | "primary" | "secondary" | "tertiary";
14
14
  elevation?: "normal" | "lowered" | "none";
15
15
  } & ContentProps & ButtonAttrs;
16
- declare const Fab: import("svelte").Component<$$ComponentProps, {}, "">;
17
- type Fab = ReturnType<typeof Fab>;
18
- export default Fab;
16
+ declare const FAB: import("svelte").Component<$$ComponentProps, {}, "">;
17
+ type FAB = ReturnType<typeof FAB>;
18
+ export default FAB;
@@ -2,7 +2,7 @@
2
2
  import iconExpand from "@ktibow/iconset-material-symbols/keyboard-arrow-down";
3
3
  import type { Snippet } from "svelte";
4
4
  import Layer from "../misc/Layer.svelte";
5
- import Icon from "../misc/_icon.svelte";
5
+ import Icon from "../misc/Icon.svelte";
6
6
  import type { ButtonAttrs } from "../misc/typing-utils";
7
7
 
8
8
  let {
@@ -43,7 +43,7 @@
43
43
  <details class="align-{x} align-{y}" use:autoclose>
44
44
  <summary class="split">
45
45
  <Layer />
46
- <Icon icon={iconExpand} width="1.375rem" height="1.375rem" />
46
+ <Icon icon={iconExpand} size={22} />
47
47
  </summary>
48
48
  {@render menu()}
49
49
  </details>
@@ -2,7 +2,7 @@
2
2
  import type { IconifyIcon } from "@iconify/types";
3
3
  import type { HTMLDialogAttributes } from "svelte/elements";
4
4
  import type { Snippet } from "svelte";
5
- import Icon from "../misc/_icon.svelte";
5
+ import Icon from "../misc/Icon.svelte";
6
6
 
7
7
  let {
8
8
  icon,
@@ -64,7 +64,7 @@
64
64
  {...extra}
65
65
  >
66
66
  {#if icon}
67
- <Icon {icon} width="1.5rem" height="1.5rem" />
67
+ <Icon {icon} size={24} />
68
68
  {/if}
69
69
  <p class="headline m3-font-headline-small" class:center={icon}>{headline}</p>
70
70
  <div class="content m3-font-body-medium">
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { Snippet } from "svelte";
3
3
  import type { IconifyIcon } from "@iconify/types";
4
- import Icon from "../misc/_icon.svelte";
4
+ import Icon from "../misc/Icon.svelte";
5
5
  import Layer from "../misc/Layer.svelte";
6
6
 
7
7
  let {
@@ -16,7 +16,7 @@
16
16
  import { onDestroy, type ComponentProps } from "svelte";
17
17
  import { fade } from "svelte/transition";
18
18
  import iconX from "@ktibow/iconset-material-symbols/close";
19
- import Icon from "../misc/_icon.svelte";
19
+ import Icon from "../misc/Icon.svelte";
20
20
  import SnackbarItem from "./SnackbarItem.svelte";
21
21
  import Layer from "../misc/Layer.svelte";
22
22
  import type { DivAttrs } from "../misc/typing-utils";
@@ -2,7 +2,7 @@
2
2
  import type { Snippet } from "svelte";
3
3
  import iconX from "@ktibow/iconset-material-symbols/close";
4
4
  import Button from "../buttons/Button.svelte";
5
- import Icon from "../misc/_icon.svelte";
5
+ import Icon from "../misc/Icon.svelte";
6
6
 
7
7
  let {
8
8
  headline,
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { Snippet } from "svelte";
3
3
  import type { IconifyIcon } from "@iconify/types";
4
- import Icon from "../misc/_icon.svelte";
4
+ import Icon from "../misc/Icon.svelte";
5
5
  import Layer from "../misc/Layer.svelte";
6
6
  import type { LabelAttrs, AnchorAttrs, ButtonAttrs } from "../misc/typing-utils";
7
7
 
@@ -3,7 +3,7 @@
3
3
  import type { HTMLInputAttributes } from "svelte/elements";
4
4
  import type { TransitionConfig } from "svelte/transition";
5
5
  import iconCalendar from "@ktibow/iconset-material-symbols/calendar-today-outline";
6
- import Icon from "../misc/_icon.svelte";
6
+ import Icon from "../misc/Icon.svelte";
7
7
  import Layer from "../misc/Layer.svelte";
8
8
 
9
9
  import DatePickerDocked from "./DatePickerDocked.svelte";
@@ -58,7 +58,14 @@ opacity: ${Math.min(t * 3, 1)};`,
58
58
  };
59
59
  </script>
60
60
 
61
- <div class="m3-container" class:has-js={hasJs} class:disabled class:error use:clickOutside>
61
+ <div
62
+ class="m3-container"
63
+ class:has-js={hasJs}
64
+ class:disabled
65
+ class:error
66
+ use:clickOutside
67
+ style:--anchor-name="--{id}"
68
+ >
62
69
  <input
63
70
  type="date"
64
71
  class="focus-none m3-font-body-large"
@@ -73,7 +80,7 @@ opacity: ${Math.min(t * 3, 1)};`,
73
80
  <label class="m3-font-body-small" for={id}>{label}</label>
74
81
  <button type="button" {disabled} title={datePickerTitle} onclick={() => (picker = !picker)}>
75
82
  <Layer />
76
- <Icon icon={iconCalendar} width="1.5rem" height="1.5rem" />
83
+ <Icon icon={iconCalendar} size={24} />
77
84
  </button>
78
85
  {#if picker}
79
86
  <div class="picker" transition:enterExit>
@@ -88,6 +95,22 @@ opacity: ${Math.min(t * 3, 1)};`,
88
95
  </div>
89
96
 
90
97
  <style>
98
+ @position-try --picker-bottom-right {
99
+ position-area: bottom center;
100
+ justify-self: end;
101
+ margin-block-start: 1rem;
102
+ }
103
+ @position-try --picker-top-left {
104
+ position-area: top center;
105
+ justify-self: start;
106
+ margin-block-end: 1rem;
107
+ }
108
+ @position-try --picker-top-right {
109
+ position-area: top center;
110
+ justify-self: end;
111
+ margin-block-end: 1rem;
112
+ }
113
+
91
114
  :root {
92
115
  --m3-datefield-shape: var(--m3-util-rounding-extra-small);
93
116
  }
@@ -98,6 +121,7 @@ opacity: ${Math.min(t * 3, 1)};`,
98
121
  background-color: rgb(var(--m3-scheme-surface-container-highest));
99
122
  border-radius: var(--m3-datefield-shape) var(--m3-datefield-shape) 0 0;
100
123
  border-bottom: solid 1px rgb(var(--error, var(--m3-scheme-on-surface-variant)));
124
+ anchor-name: var(--anchor-name);
101
125
  }
102
126
  input {
103
127
  position: absolute;
@@ -164,9 +188,21 @@ opacity: ${Math.min(t * 3, 1)};`,
164
188
  }
165
189
 
166
190
  .picker {
167
- position: absolute;
168
- top: calc(100% + 1rem);
169
- right: 0;
191
+ @supports not (anchor-name: --a) {
192
+ position: absolute;
193
+ top: calc(100% + 1rem);
194
+ right: 0;
195
+ }
196
+ @supports (anchor-name: --a) {
197
+ position: fixed;
198
+ position-anchor: var(--anchor-name);
199
+ /* Default */
200
+ position-area: bottom center;
201
+ justify-self: start;
202
+ margin-block-start: 1rem;
203
+ /* Alternatives */
204
+ position-try-fallbacks: --picker-bottom-right, --picker-top-left, --picker-top-right;
205
+ }
170
206
  z-index: 1;
171
207
  }
172
208
 
@@ -3,7 +3,7 @@
3
3
  import type { HTMLInputAttributes } from "svelte/elements";
4
4
  import type { TransitionConfig } from "svelte/transition";
5
5
  import iconCalendar from "@ktibow/iconset-material-symbols/calendar-today-outline";
6
- import Icon from "../misc/_icon.svelte";
6
+ import Icon from "../misc/Icon.svelte";
7
7
  import Layer from "../misc/Layer.svelte";
8
8
 
9
9
  import DatePickerDocked from "./DatePickerDocked.svelte";
@@ -58,7 +58,14 @@ opacity: ${Math.min(t * 3, 1)};`,
58
58
  };
59
59
  </script>
60
60
 
61
- <div class="m3-container" class:has-js={hasJs} class:disabled class:error use:clickOutside>
61
+ <div
62
+ class="m3-container"
63
+ class:has-js={hasJs}
64
+ class:disabled
65
+ class:error
66
+ use:clickOutside
67
+ style:--anchor-name="--{id}"
68
+ >
62
69
  <input
63
70
  type="date"
64
71
  class="focus-none m3-font-body-large"
@@ -74,7 +81,7 @@ opacity: ${Math.min(t * 3, 1)};`,
74
81
  <label class="m3-font-body-small" for={id}>{label}</label>
75
82
  <button type="button" {disabled} title={datePickerTitle} onclick={() => (picker = !picker)}>
76
83
  <Layer />
77
- <Icon icon={iconCalendar} width="1.5rem" height="1.5rem" />
84
+ <Icon icon={iconCalendar} size={24} />
78
85
  </button>
79
86
  {#if picker}
80
87
  <div class="picker" transition:enterExit>
@@ -89,6 +96,22 @@ opacity: ${Math.min(t * 3, 1)};`,
89
96
  </div>
90
97
 
91
98
  <style>
99
+ @position-try --picker-bottom-right {
100
+ position-area: bottom center;
101
+ justify-self: end;
102
+ margin-block-start: 1rem;
103
+ }
104
+ @position-try --picker-top-left {
105
+ position-area: top center;
106
+ justify-self: start;
107
+ margin-block-end: 1rem;
108
+ }
109
+ @position-try --picker-top-right {
110
+ position-area: top center;
111
+ justify-self: end;
112
+ margin-block-end: 1rem;
113
+ }
114
+
92
115
  /*
93
116
  want to customize the label's background?
94
117
  do this: <DateFieldOutlined --m3-util-background="rgb(var(--m3-scheme-surface-container))" />
@@ -101,6 +124,7 @@ opacity: ${Math.min(t * 3, 1)};`,
101
124
  position: relative;
102
125
  height: calc(3.5rem + var(--m3-util-density-term));
103
126
  min-width: 15rem;
127
+ anchor-name: var(--anchor-name);
104
128
  }
105
129
  input {
106
130
  position: absolute;
@@ -211,9 +235,21 @@ opacity: ${Math.min(t * 3, 1)};`,
211
235
  }
212
236
 
213
237
  .picker {
214
- position: absolute;
215
- top: calc(100% + 1rem);
216
- right: 0;
238
+ @supports not (anchor-name: --a) {
239
+ position: absolute;
240
+ top: calc(100% + 1rem);
241
+ right: 0;
242
+ }
243
+ @supports (anchor-name: --a) {
244
+ position: fixed;
245
+ position-anchor: var(--anchor-name);
246
+ /* Default */
247
+ position-area: bottom center;
248
+ justify-self: start;
249
+ margin-block-start: 1rem;
250
+ /* Alternatives */
251
+ position-try-fallbacks: --picker-bottom-right, --picker-top-left, --picker-top-right;
252
+ }
217
253
  z-index: 1;
218
254
  }
219
255
 
@@ -2,7 +2,7 @@
2
2
  import type { IconifyIcon } from "@iconify/types";
3
3
  import type { HTMLOptionAttributes, HTMLSelectAttributes } from "svelte/elements";
4
4
  import Layer from "../misc/Layer.svelte";
5
- import Icon from "../misc/_icon.svelte";
5
+ import Icon from "../misc/Icon.svelte";
6
6
 
7
7
  type Option = { icon?: IconifyIcon; text: string; value: string } & HTMLOptionAttributes;
8
8
  let {
@@ -33,7 +33,7 @@
33
33
  <option class="focus-inset" {...extra}>
34
34
  <Layer />
35
35
  {#if icon}
36
- <Icon {icon} width="1.5rem" height="1.5rem" />
36
+ <Icon {icon} size={24} />
37
37
  {/if}
38
38
  {@render render(text)}
39
39
  </option>
@@ -2,7 +2,7 @@
2
2
  import type { IconifyIcon } from "@iconify/types";
3
3
  import type { HTMLOptionAttributes, HTMLSelectAttributes } from "svelte/elements";
4
4
  import Layer from "../misc/Layer.svelte";
5
- import Icon from "../misc/_icon.svelte";
5
+ import Icon from "../misc/Icon.svelte";
6
6
 
7
7
  type Option = { icon?: IconifyIcon; text: string; value: string } & HTMLOptionAttributes;
8
8
  let {
@@ -33,7 +33,7 @@
33
33
  <option class="focus-inset" {...extra}>
34
34
  <Layer />
35
35
  {#if icon}
36
- <Icon {icon} width="1.5rem" height="1.5rem" />
36
+ <Icon {icon} size={24} />
37
37
  {/if}
38
38
  {@render render(text)}
39
39
  </option>
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { HTMLInputAttributes } from "svelte/elements";
3
3
  import type { IconifyIcon } from "@iconify/types";
4
- import Icon from "../misc/_icon.svelte";
4
+ import Icon from "../misc/Icon.svelte";
5
5
  import { Spring } from "svelte/motion";
6
6
 
7
7
  let {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import Icon from "../misc/_icon.svelte";
2
+ import Icon from "../misc/Icon.svelte";
3
3
  import type { IconifyIcon } from "@iconify/types";
4
4
  import iconCheck from "@ktibow/iconset-material-symbols/check";
5
5
  import iconX from "@ktibow/iconset-material-symbols/close";
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { IconifyIcon } from "@iconify/types";
3
3
  import type { HTMLInputAttributes } from "svelte/elements";
4
- import Icon from "../misc/_icon.svelte";
4
+ import Icon from "../misc/Icon.svelte";
5
5
  import Layer from "../misc/Layer.svelte";
6
6
  import type { ButtonAttrs } from "../misc/typing-utils";
7
7
 
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import type { IconifyIcon } from "@iconify/types";
3
- import Icon from "../misc/_icon.svelte";
3
+ import Icon from "../misc/Icon.svelte";
4
4
  import type { HTMLTextareaAttributes } from "svelte/elements";
5
5
 
6
6
  let {
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { IconifyIcon } from "@iconify/types";
3
3
  import type { HTMLInputAttributes } from "svelte/elements";
4
- import Icon from "../misc/_icon.svelte";
4
+ import Icon from "../misc/Icon.svelte";
5
5
  import Layer from "../misc/Layer.svelte";
6
6
  import type { ButtonAttrs } from "../misc/typing-utils";
7
7
 
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import type { IconifyIcon } from "@iconify/types";
3
- import Icon from "../misc/_icon.svelte";
3
+ import Icon from "../misc/Icon.svelte";
4
4
  import type { HTMLTextareaAttributes } from "svelte/elements";
5
5
 
6
6
  let {
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import Icon from "../../misc/_icon.svelte";
2
+ import Icon from "../../misc/Icon.svelte";
3
3
  import Layer from "../../misc/Layer.svelte";
4
4
  import iconCheck from "@ktibow/iconset-material-symbols/check";
5
5
 
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import Icon from "../../misc/_icon.svelte";
2
+ import Icon from "../../misc/Icon.svelte";
3
3
  import iconLeft from "@ktibow/iconset-material-symbols/chevron-left";
4
4
  import iconRight from "@ktibow/iconset-material-symbols/chevron-right";
5
5
  import iconDown from "@ktibow/iconset-material-symbols/arrow-drop-down";
@@ -1,4 +1,4 @@
1
- export { default as Icon } from "./misc/_icon.svelte";
1
+ export { default as Icon } from "./misc/Icon.svelte";
2
2
  export { default as Layer } from "./misc/Layer.svelte";
3
3
  export * from "./misc/animation.js";
4
4
  export * from "./misc/colors.js";
package/package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { default as Icon } from "./misc/_icon.svelte";
1
+ export { default as Icon } from "./misc/Icon.svelte";
2
2
  export { default as Layer } from "./misc/Layer.svelte";
3
3
  export * from "./misc/animation.js";
4
4
  export * from "./misc/colors.js";
@@ -1,25 +1,23 @@
1
1
  <script lang="ts">
2
2
  import type { IconifyIcon } from "@iconify/types";
3
+ import type { SVGAttributes } from "svelte/elements";
3
4
 
4
5
  let {
5
6
  icon,
6
- width = "1em",
7
- height = "1em",
8
- class: clazz,
7
+ size,
8
+ ...extra
9
9
  }: {
10
10
  icon: IconifyIcon;
11
- width?: string;
12
- height?: string;
13
- class?: string;
14
- } = $props();
11
+ size?: number;
12
+ } & Omit<SVGAttributes<SVGElement>, "width" | "height"> = $props();
15
13
  </script>
16
14
 
17
15
  <svg
18
- {width}
19
- {height}
20
- class={clazz}
21
- data-badge={icon.body.includes("<!--badge-->") ? "" : undefined}
16
+ width={size || "1em"}
17
+ height={size || "1em"}
22
18
  viewBox="0 0 {icon.width} {icon.height}"
19
+ data-badge={icon.body.includes("<!--badge-->") ? "" : undefined}
20
+ {...extra}
23
21
  >
24
22
  {@html icon.body}
25
23
  </svg>
@@ -1,10 +1,9 @@
1
1
  import type { IconifyIcon } from "@iconify/types";
2
+ import type { SVGAttributes } from "svelte/elements";
2
3
  type $$ComponentProps = {
3
4
  icon: IconifyIcon;
4
- width?: string;
5
- height?: string;
6
- class?: string;
7
- };
5
+ size?: number;
6
+ } & Omit<SVGAttributes<SVGElement>, "width" | "height">;
8
7
  declare const Icon: import("svelte").Component<$$ComponentProps, {}, "">;
9
8
  type Icon = ReturnType<typeof Icon>;
10
9
  export default Icon;
@@ -164,10 +164,15 @@
164
164
  }}
165
165
  />
166
166
 
167
+ <div class="hitbox"></div>
167
168
  <div class="ripple-container broken" use:createRipple></div>
168
169
  <div class="tint"></div>
169
170
 
170
171
  <style>
172
+ .hitbox {
173
+ position: absolute;
174
+ inset: 0;
175
+ }
171
176
  .ripple-container {
172
177
  position: absolute;
173
178
  inset: 0;
@@ -21,6 +21,19 @@ const onPrimaryContainerSubtle = DynamicColor.fromPalette({
21
21
  background: () => primaryContainerSubtle,
22
22
  contrastCurve: () => new ContrastCurve(6, 6, 7, 11),
23
23
  });
24
+ const secondaryContainerSubtle = DynamicColor.fromPalette({
25
+ name: "secondary_container_subtle",
26
+ palette: (s) => s.secondaryPalette,
27
+ isBackground: true,
28
+ background: (s) => materialColors.highestSurface(s),
29
+ contrastCurve: () => undefined,
30
+ });
31
+ const onSecondaryContainerSubtle = DynamicColor.fromPalette({
32
+ name: "on_secondary_container_subtle",
33
+ palette: (s) => s.secondaryPalette,
34
+ background: () => secondaryContainerSubtle,
35
+ contrastCurve: () => new ContrastCurve(6, 6, 7, 11),
36
+ });
24
37
  const tertiaryContainerSubtle = DynamicColor.fromPalette({
25
38
  name: "tertiary_container_subtle",
26
39
  palette: (s) => s.tertiaryPalette,
@@ -54,6 +67,8 @@ export const colors = [
54
67
  onOnPrimary,
55
68
  primaryContainerSubtle,
56
69
  onPrimaryContainerSubtle,
70
+ secondaryContainerSubtle,
71
+ onSecondaryContainerSubtle,
57
72
  tertiaryContainerSubtle,
58
73
  onTertiaryContainerSubtle,
59
74
  errorContainerSubtle,
@@ -3,6 +3,6 @@ type $$ComponentProps = {
3
3
  variant: "compact" | "medium" | "large" | "expanded" | "auto";
4
4
  children: Snippet;
5
5
  };
6
- declare const NavCmlx: import("svelte").Component<$$ComponentProps, {}, "">;
7
- type NavCmlx = ReturnType<typeof NavCmlx>;
8
- export default NavCmlx;
6
+ declare const NavCMLX: import("svelte").Component<$$ComponentProps, {}, "">;
7
+ type NavCMLX = ReturnType<typeof NavCMLX>;
8
+ export default NavCMLX;
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { IconifyIcon } from "@iconify/types";
3
3
  import type { HTMLButtonAttributes, HTMLAnchorAttributes } from "svelte/elements";
4
- import Icon from "../misc/_icon.svelte";
4
+ import Icon from "../misc/Icon.svelte";
5
5
  import Layer from "../misc/Layer.svelte";
6
6
 
7
7
  type ActionProps =
@@ -27,7 +27,7 @@
27
27
  <div class="content" class:selected>
28
28
  <Layer />
29
29
  <div class="icon">
30
- <Icon {icon} width="1.5rem" height="1.5rem" />
30
+ <Icon {icon} size={24} />
31
31
  </div>
32
32
  {text}
33
33
  </div>
@@ -38,7 +38,7 @@
38
38
  <div class="content" class:selected>
39
39
  <Layer />
40
40
  <div class="icon">
41
- <Icon {icon} width="1.5rem" height="1.5rem" />
41
+ <Icon {icon} size={24} />
42
42
  </div>
43
43
  {text}
44
44
  </div>
@@ -11,6 +11,6 @@ type $$ComponentProps = {
11
11
  text: string;
12
12
  selected: boolean;
13
13
  } & ActionProps;
14
- declare const NavCmlxItem: import("svelte").Component<$$ComponentProps, {}, "">;
15
- type NavCmlxItem = ReturnType<typeof NavCmlxItem>;
16
- export default NavCmlxItem;
14
+ declare const NavCMLXItem: import("svelte").Component<$$ComponentProps, {}, "">;
15
+ type NavCMLXItem = ReturnType<typeof NavCMLXItem>;
16
+ export default NavCMLXItem;
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { IconifyIcon } from "@iconify/types";
3
3
  import type { HTMLInputAttributes } from "svelte/elements";
4
- import Icon from "../misc/_icon.svelte";
4
+ import Icon from "../misc/Icon.svelte";
5
5
  import Layer from "../misc/Layer.svelte";
6
6
 
7
7
  let {
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { IconifyIcon } from "@iconify/types";
3
3
  import type { HTMLAnchorAttributes } from "svelte/elements";
4
- import Icon from "../misc/_icon.svelte";
4
+ import Icon from "../misc/Icon.svelte";
5
5
  import Layer from "../misc/Layer.svelte";
6
6
 
7
7
  let {
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { IconifyIcon } from "@iconify/types";
3
3
  import type { HTMLInputAttributes } from "svelte/elements";
4
- import Icon from "../misc/_icon.svelte";
4
+ import Icon from "../misc/Icon.svelte";
5
5
  import Layer from "../misc/Layer.svelte";
6
6
 
7
7
  let {
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { IconifyIcon } from "@iconify/types";
3
3
  import type { HTMLAnchorAttributes } from "svelte/elements";
4
- import Icon from "../misc/_icon.svelte";
4
+ import Icon from "../misc/Icon.svelte";
5
5
  import Layer from "../misc/Layer.svelte";
6
6
 
7
7
  let {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "m3-svelte",
3
- "version": "5.7.3",
3
+ "version": "5.9.0",
4
4
  "license": "Apache-2.0 OR GPL-3.0-only",
5
5
  "repository": "KTibow/m3-svelte",
6
6
  "author": {
@@ -35,30 +35,30 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@iconify/types": "^2.0.0",
38
- "@ktibow/iconset-material-symbols": "^0.0.1755063979",
39
- "@ktibow/material-color-utilities-nightly": "^0.3.11756690739504",
40
- "svelte": "^5.38.6"
38
+ "@ktibow/iconset-material-symbols": "^0.0.1758086573",
39
+ "@ktibow/material-color-utilities-nightly": "^0.3.11758221177000",
40
+ "svelte": "^5.39.4"
41
41
  },
42
42
  "devDependencies": {
43
- "@eslint/compat": "^1.3.2",
44
- "@eslint/js": "^9.34.0",
43
+ "@eslint/compat": "^1.4.0",
44
+ "@eslint/js": "^9.36.0",
45
45
  "@sveltejs/adapter-static": "^3.0.9",
46
- "@sveltejs/kit": "^2.37.0",
47
- "@sveltejs/package": "^2.5.0",
48
- "@sveltejs/vite-plugin-svelte": "^6.1.3",
49
- "eslint": "^9.27.0",
46
+ "@sveltejs/kit": "^2.42.1",
47
+ "@sveltejs/package": "^2.5.3",
48
+ "@sveltejs/vite-plugin-svelte": "^6.2.0",
49
+ "eslint": "^9.35.0",
50
50
  "eslint-config-prettier": "^10.1.8",
51
- "eslint-plugin-svelte": "^3.11.0",
51
+ "eslint-plugin-svelte": "^3.12.3",
52
52
  "fast-glob": "^3.3.3",
53
- "globals": "^16.3.0",
53
+ "globals": "^16.4.0",
54
54
  "prettier": "^3.6.2",
55
55
  "prettier-plugin-svelte": "^3.4.0",
56
- "publint": "^0.3.12",
57
- "svelte-check": "^4.3.1",
56
+ "publint": "^0.3.13",
57
+ "svelte-check": "^4.3.2",
58
58
  "svelte-highlight": "^7.8.4",
59
59
  "typescript": "^5.9.2",
60
- "typescript-eslint": "^8.41.0",
61
- "vite": "^7.1.4"
60
+ "typescript-eslint": "^8.44.1",
61
+ "vite": "^7.1.7"
62
62
  },
63
63
  "keywords": [
64
64
  "svelte",