@noxlovette/material 0.5.1 → 0.6.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 (296) hide show
  1. package/bin/material-claude-skill.js +31 -0
  2. package/claude-skill/material-design/SKILL.md +68 -0
  3. package/claude-skill/material-design/references/accessibility-checklist.md +29 -0
  4. package/claude-skill/material-design/references/component-patterns.md +55 -0
  5. package/claude-skill/material-design/references/motion-guide.md +163 -0
  6. package/claude-skill/material-design/references/tokens-and-styles.md +68 -0
  7. package/dist/animation/Shapes.stories.svelte +10 -6
  8. package/dist/animation/TransitionPatterns.stories.svelte +30 -20
  9. package/dist/animation/containerTransform.d.ts +4 -2
  10. package/dist/animation/containerTransform.js +4 -2
  11. package/dist/animation/enterExit.js +5 -2
  12. package/dist/animation/skeleton.d.ts +1 -1
  13. package/dist/animation/skeleton.js +1 -1
  14. package/dist/components/badge/Badge.mdx +70 -0
  15. package/dist/components/badge/Badge.stories.svelte +38 -20
  16. package/dist/components/badge/Badge.svelte +12 -5
  17. package/dist/components/badge/theme.d.ts +30 -7
  18. package/dist/components/badge/theme.js +24 -4
  19. package/dist/components/badge/types.d.ts +18 -4
  20. package/dist/components/buttons/Button.mdx +85 -0
  21. package/dist/components/buttons/Button.stories.svelte +62 -27
  22. package/dist/components/buttons/Button.svelte +29 -25
  23. package/dist/components/buttons/Button.svelte.d.ts +11 -9
  24. package/dist/components/buttons/ButtonIcon.mdx +52 -0
  25. package/dist/components/buttons/ButtonIcon.stories.svelte +72 -48
  26. package/dist/components/buttons/ButtonIcon.svelte +58 -36
  27. package/dist/components/buttons/ButtonIcon.svelte.d.ts +9 -7
  28. package/dist/components/buttons/FAB.mdx +84 -0
  29. package/dist/components/buttons/FAB.stories.svelte +103 -24
  30. package/dist/components/buttons/FAB.stories.svelte.d.ts +2 -17
  31. package/dist/components/buttons/FAB.svelte +353 -29
  32. package/dist/components/buttons/FAB.svelte.d.ts +11 -6
  33. package/dist/components/buttons/FABMenu.svelte +27 -8
  34. package/dist/components/buttons/FABMenu.svelte.d.ts +7 -3
  35. package/dist/components/buttons/FABMenuItem.svelte +20 -16
  36. package/dist/components/buttons/FABMenuItem.svelte.d.ts +3 -3
  37. package/dist/components/buttons/Toggle.stories.svelte +31 -23
  38. package/dist/components/buttons/Toggle.stories.svelte.d.ts +2 -17
  39. package/dist/components/buttons/Toggle.svelte +28 -25
  40. package/dist/components/buttons/Toggle.svelte.d.ts +5 -5
  41. package/dist/components/buttons/button-group/ButtonGroup.mdx +39 -0
  42. package/dist/components/buttons/button-group/ButtonGroup.stories.svelte +62 -43
  43. package/dist/components/buttons/button-group/ButtonGroup.stories.svelte.d.ts +2 -17
  44. package/dist/components/buttons/button-group/ButtonGroup.svelte +102 -8
  45. package/dist/components/buttons/button-group/ButtonGroup.svelte.d.ts +6 -7
  46. package/dist/components/buttons/button-group/theme.d.ts +45 -15
  47. package/dist/components/buttons/button-group/theme.js +13 -8
  48. package/dist/components/buttons/button-group/types.d.ts +13 -7
  49. package/dist/components/buttons/connected/ConnectedButtonGroup.mdx +43 -0
  50. package/dist/components/buttons/connected/ConnectedButtonGroup.stories.svelte +56 -74
  51. package/dist/components/buttons/connected/ConnectedButtonGroup.stories.svelte.d.ts +2 -17
  52. package/dist/components/buttons/connected/ConnectedButtonGroup.svelte +16 -4
  53. package/dist/components/buttons/connected/ConnectedButtonGroup.svelte.d.ts +4 -4
  54. package/dist/components/buttons/connected/ConnectedButtonGroupItem.svelte +35 -8
  55. package/dist/components/buttons/connected/ConnectedButtonGroupItem.svelte.d.ts +2 -3
  56. package/dist/components/buttons/connected/theme.d.ts +33 -18
  57. package/dist/components/buttons/connected/theme.js +32 -9
  58. package/dist/components/buttons/connected/types.d.ts +36 -9
  59. package/dist/components/buttons/shapeMorph.d.ts +26 -0
  60. package/dist/components/buttons/shapeMorph.js +142 -0
  61. package/dist/components/buttons/split-button/SplitButton.mdx +48 -0
  62. package/dist/components/buttons/split-button/SplitButton.stories.svelte +9 -14
  63. package/dist/components/buttons/split-button/SplitButton.svelte +65 -48
  64. package/dist/components/buttons/split-button/SplitButton.svelte.d.ts +6 -11
  65. package/dist/components/buttons/split-button/theme.d.ts +110 -17
  66. package/dist/components/buttons/split-button/theme.js +74 -16
  67. package/dist/components/buttons/split-button/types.d.ts +24 -18
  68. package/dist/components/buttons/theme.d.ts +422 -230
  69. package/dist/components/buttons/theme.js +286 -380
  70. package/dist/components/buttons/types.d.ts +130 -125
  71. package/dist/components/cards/Card.mdx +44 -0
  72. package/dist/components/cards/Card.stories.svelte +11 -11
  73. package/dist/components/cards/theme.js +5 -5
  74. package/dist/components/chips/Chip.mdx +68 -0
  75. package/dist/components/chips/Chip.stories.svelte +4 -4
  76. package/dist/components/chips/theme.js +3 -3
  77. package/dist/components/containers/action-rail/ActionRail.stories.svelte +1 -0
  78. package/dist/components/containers/action-rail/theme.js +1 -1
  79. package/dist/components/containers/bottom-sheet/BottomSheet.mdx +64 -0
  80. package/dist/components/containers/bottom-sheet/BottomSheet.stories.svelte +108 -12
  81. package/dist/components/containers/bottom-sheet/BottomSheet.svelte +179 -109
  82. package/dist/components/containers/bottom-sheet/BottomSheet.svelte.d.ts +10 -5
  83. package/dist/components/containers/bottom-sheet/index.d.ts +1 -0
  84. package/dist/components/containers/bottom-sheet/index.js +1 -0
  85. package/dist/components/containers/bottom-sheet/theme.d.ts +45 -0
  86. package/dist/components/containers/bottom-sheet/theme.js +42 -0
  87. package/dist/components/containers/bottom-sheet/types.d.ts +37 -5
  88. package/dist/components/containers/carousel/Carousel.mdx +80 -0
  89. package/dist/components/containers/carousel/Carousel.stories.svelte +131 -0
  90. package/dist/components/containers/carousel/Carousel.stories.svelte.d.ts +4 -0
  91. package/dist/components/containers/carousel/Carousel.svelte +194 -0
  92. package/dist/components/containers/carousel/Carousel.svelte.d.ts +25 -0
  93. package/dist/components/containers/carousel/index.d.ts +3 -0
  94. package/dist/components/containers/{stack → carousel}/index.js +1 -2
  95. package/dist/components/containers/carousel/keylines.d.ts +32 -0
  96. package/dist/components/containers/carousel/keylines.js +88 -0
  97. package/dist/components/containers/carousel/theme.d.ts +162 -0
  98. package/dist/components/containers/carousel/theme.js +67 -0
  99. package/dist/components/containers/carousel/types.d.ts +52 -0
  100. package/dist/components/containers/context-menu/ContextMenu.stories.svelte +1 -0
  101. package/dist/components/containers/context-menu/ContextMenu.svelte +2 -2
  102. package/dist/components/containers/context-menu/ContextMenu.svelte.d.ts +1 -1
  103. package/dist/components/containers/context-menu/theme.js +10 -10
  104. package/dist/components/containers/dialogue/Dialogue.mdx +65 -0
  105. package/dist/components/containers/dialogue/Dialogue.stories.svelte +4 -4
  106. package/dist/components/containers/dialogue/Dialogue.svelte +1 -1
  107. package/dist/components/containers/dialogue/theme.js +3 -3
  108. package/dist/components/containers/divider/Divider.stories.svelte +2 -1
  109. package/dist/components/containers/divider/Divider.svelte +2 -2
  110. package/dist/components/containers/divider/theme.d.ts +6 -6
  111. package/dist/components/containers/divider/theme.js +2 -2
  112. package/dist/components/containers/index.d.ts +1 -1
  113. package/dist/components/containers/index.js +1 -1
  114. package/dist/components/containers/link-preview/theme.js +2 -2
  115. package/dist/components/containers/list/List.svelte +18 -0
  116. package/dist/components/containers/list/List.svelte.d.ts +4 -0
  117. package/dist/components/containers/list/ListItem.mdx +100 -0
  118. package/dist/components/containers/list/ListItem.stories.svelte +177 -42
  119. package/dist/components/containers/list/ListItem.stories.svelte.d.ts +2 -17
  120. package/dist/components/containers/list/ListItem.svelte +92 -37
  121. package/dist/components/containers/list/ListItem.svelte.d.ts +1 -1
  122. package/dist/components/containers/list/context.d.ts +6 -0
  123. package/dist/components/containers/list/context.js +4 -0
  124. package/dist/components/containers/list/index.d.ts +1 -0
  125. package/dist/components/containers/list/index.js +1 -0
  126. package/dist/components/containers/list/theme.d.ts +487 -12
  127. package/dist/components/containers/list/theme.js +140 -13
  128. package/dist/components/containers/list/types.d.ts +39 -5
  129. package/dist/components/containers/menu/Menu.mdx +52 -0
  130. package/dist/components/containers/menu/Menu.stories.svelte +14 -14
  131. package/dist/components/containers/menu/Menu.svelte +1 -1
  132. package/dist/components/containers/menu/MenuGroup.svelte +1 -1
  133. package/dist/components/containers/menu/MenuGroup.svelte.d.ts +1 -1
  134. package/dist/components/containers/menu/menu-item/MenuItem.svelte +1 -1
  135. package/dist/components/containers/menu/theme.js +8 -8
  136. package/dist/components/containers/pane/DraggablePane.stories.svelte +4 -3
  137. package/dist/components/containers/pane/DraggablePane.svelte +2 -2
  138. package/dist/components/containers/pane/Pane.stories.svelte +11 -10
  139. package/dist/components/containers/pane/Pane.svelte +24 -2
  140. package/dist/components/containers/pane/PaneGrid.stories.svelte +19 -18
  141. package/dist/components/containers/pane/PaneGrid.svelte +3 -2
  142. package/dist/components/containers/pane/PaneGrid.svelte.d.ts +2 -1
  143. package/dist/components/containers/pane/PaneHandle.svelte +48 -2
  144. package/dist/components/containers/pane/PaneHandle.svelte.d.ts +4 -0
  145. package/dist/components/containers/pane/resizeStore.svelte.d.ts +10 -1
  146. package/dist/components/containers/pane/resizeStore.svelte.js +13 -2
  147. package/dist/components/containers/pane/theme.js +129 -45
  148. package/dist/components/containers/pane/types.d.ts +3 -2
  149. package/dist/components/containers/popover/Popover.mdx +45 -0
  150. package/dist/components/containers/popover/Popover.stories.svelte +1 -1
  151. package/dist/components/containers/popover/Popover.svelte +1 -1
  152. package/dist/components/containers/popover/theme.js +3 -3
  153. package/dist/components/containers/scroll-area/theme.js +2 -2
  154. package/dist/components/containers/side-sheet/SideSheet.mdx +71 -0
  155. package/dist/components/containers/side-sheet/SideSheet.stories.svelte +113 -17
  156. package/dist/components/containers/side-sheet/SideSheet.svelte +113 -66
  157. package/dist/components/containers/side-sheet/SideSheet.svelte.d.ts +8 -7
  158. package/dist/components/containers/side-sheet/index.d.ts +1 -0
  159. package/dist/components/containers/side-sheet/index.js +1 -0
  160. package/dist/components/containers/side-sheet/theme.d.ts +108 -0
  161. package/dist/components/containers/side-sheet/theme.js +72 -0
  162. package/dist/components/containers/side-sheet/types.d.ts +35 -7
  163. package/dist/components/date/DateField.stories.svelte +4 -3
  164. package/dist/components/date/DateField.svelte +11 -2
  165. package/dist/components/date/DateRangeField.stories.svelte +4 -3
  166. package/dist/components/date/DateRangeField.svelte +12 -3
  167. package/dist/components/date/theme.d.ts +7 -7
  168. package/dist/components/date/theme.js +31 -31
  169. package/dist/components/forms/checkbox/Checkbox.mdx +35 -0
  170. package/dist/components/forms/checkbox/Checkbox.stories.svelte +2 -2
  171. package/dist/components/forms/checkbox/Checkbox.svelte +1 -1
  172. package/dist/components/forms/checkbox/theme.js +3 -3
  173. package/dist/components/forms/command/Command.stories.svelte +1 -0
  174. package/dist/components/forms/command/theme.js +9 -9
  175. package/dist/components/forms/pin/theme.js +4 -4
  176. package/dist/components/forms/radio-group/RadioGroup.svelte +1 -1
  177. package/dist/components/forms/radio-group/theme.js +5 -5
  178. package/dist/components/forms/search/Search.mdx +38 -0
  179. package/dist/components/forms/search/Search.stories.svelte +19 -9
  180. package/dist/components/forms/search/Search.svelte +40 -17
  181. package/dist/components/forms/search/Search.svelte.d.ts +2 -2
  182. package/dist/components/forms/search/theme.d.ts +45 -12
  183. package/dist/components/forms/search/theme.js +13 -8
  184. package/dist/components/forms/search/types.d.ts +18 -12
  185. package/dist/components/forms/select/Select.mdx +53 -0
  186. package/dist/components/forms/select/Select.stories.svelte +4 -4
  187. package/dist/components/forms/select/Select.svelte +10 -2
  188. package/dist/components/forms/select/SelectItem.svelte +1 -1
  189. package/dist/components/forms/select/theme.js +12 -12
  190. package/dist/components/forms/slider/Slider.mdx +85 -0
  191. package/dist/components/forms/slider/Slider.stories.svelte +7 -7
  192. package/dist/components/forms/slider/Slider.svelte +46 -28
  193. package/dist/components/forms/slider/theme.d.ts +14 -0
  194. package/dist/components/forms/slider/theme.js +28 -17
  195. package/dist/components/forms/slider/types.d.ts +3 -2
  196. package/dist/components/forms/switch/Switch.mdx +38 -0
  197. package/dist/components/forms/switch/Switch.stories.svelte +3 -3
  198. package/dist/components/forms/switch/theme.js +6 -6
  199. package/dist/components/forms/textfield/Textfield.mdx +53 -0
  200. package/dist/components/forms/textfield/Textfield.stories.svelte +6 -6
  201. package/dist/components/forms/textfield/Textfield.svelte +1 -0
  202. package/dist/components/forms/textfield/theme.js +19 -19
  203. package/dist/components/forms/toggle-group/theme.js +2 -2
  204. package/dist/components/forms/tooltip/Tooltip.stories.svelte +1 -0
  205. package/dist/components/forms/tooltip/theme.js +3 -3
  206. package/dist/components/misc/Avatar.stories.svelte +5 -4
  207. package/dist/components/misc/ThemeSettings.svelte +9 -9
  208. package/dist/components/misc/ThemeSwitcher.svelte +3 -3
  209. package/dist/components/misc/theme.js +4 -4
  210. package/dist/components/nav/appbar/AppBar.mdx +71 -0
  211. package/dist/components/nav/appbar/AppBar.stories.svelte +93 -3
  212. package/dist/components/nav/appbar/AppBar.stories.svelte.d.ts +2 -17
  213. package/dist/components/nav/appbar/AppBar.svelte +90 -37
  214. package/dist/components/nav/appbar/AppBar.svelte.d.ts +9 -2
  215. package/dist/components/nav/appbar/theme.d.ts +85 -18
  216. package/dist/components/nav/appbar/theme.js +159 -23
  217. package/dist/components/nav/appbar/types.d.ts +46 -9
  218. package/dist/components/nav/breadcrumb/Breadcrumb.stories.svelte +1 -0
  219. package/dist/components/nav/breadcrumb/theme.js +5 -5
  220. package/dist/components/nav/navbar/Navbar.mdx +38 -0
  221. package/dist/components/nav/navbar/Navbar.svelte +1 -1
  222. package/dist/components/nav/navbar/NavbarItem.svelte +12 -9
  223. package/dist/components/nav/navbar/theme.js +6 -6
  224. package/dist/components/nav/rail/Rail.mdx +73 -0
  225. package/dist/components/nav/rail/Rail.stories.svelte +3 -7
  226. package/dist/components/nav/rail/Rail.svelte +1 -0
  227. package/dist/components/nav/rail/RailItem.svelte +12 -9
  228. package/dist/components/nav/rail/theme.js +13 -13
  229. package/dist/components/nav/rail/types.d.ts +4 -1
  230. package/dist/components/nav/tabs/Tabs.mdx +62 -0
  231. package/dist/components/nav/tabs/Tabs.stories.svelte +1 -1
  232. package/dist/components/nav/tabs/theme.js +4 -4
  233. package/dist/components/pill/Pill.mdx +32 -0
  234. package/dist/components/pill/Pill.stories.svelte +1 -1
  235. package/dist/components/pill/theme.d.ts +1 -1
  236. package/dist/components/pill/theme.js +1 -1
  237. package/dist/components/progress/LinearProgress.svelte +1 -1
  238. package/dist/components/progress/Progress.mdx +50 -0
  239. package/dist/components/progress/Progress.stories.svelte +6 -6
  240. package/dist/components/snackbar/Snackbar.mdx +52 -0
  241. package/dist/components/snackbar/Snackbar.stories.svelte +5 -5
  242. package/dist/components/snackbar/Snackbar.svelte +1 -1
  243. package/dist/components/snackbar/theme.d.ts +3 -3
  244. package/dist/components/snackbar/theme.js +4 -4
  245. package/dist/components/table/Table.stories.svelte +1 -0
  246. package/dist/components/table/TableHeader.svelte +1 -1
  247. package/dist/components/table/theme.js +3 -3
  248. package/dist/components/time/TimeField.stories.svelte +3 -2
  249. package/dist/components/time/TimeField.svelte +1 -1
  250. package/dist/components/time/TimepickerInput.svelte +1 -1
  251. package/dist/components/time/theme.js +5 -5
  252. package/dist/components/toolbar/Toolbar.stories.svelte +1 -0
  253. package/dist/components/toolbar/Toolbar.svelte +1 -1
  254. package/dist/components/toolbar/Toolbar.svelte.d.ts +1 -1
  255. package/dist/components/toolbar/theme.js +14 -14
  256. package/dist/components/typography/Typography.mdx +67 -0
  257. package/dist/components/typography/body/Body.stories.svelte +2 -1
  258. package/dist/components/typography/body/theme.d.ts +15 -12
  259. package/dist/components/typography/body/theme.js +19 -4
  260. package/dist/components/typography/body/types.d.ts +2 -1
  261. package/dist/components/typography/display/Display.stories.svelte +2 -1
  262. package/dist/components/typography/display/theme.d.ts +15 -12
  263. package/dist/components/typography/display/theme.js +19 -4
  264. package/dist/components/typography/display/types.d.ts +2 -1
  265. package/dist/components/typography/headline/Headline.stories.svelte +2 -1
  266. package/dist/components/typography/headline/theme.d.ts +15 -12
  267. package/dist/components/typography/headline/theme.js +19 -4
  268. package/dist/components/typography/headline/types.d.ts +2 -1
  269. package/dist/components/typography/kbd/Kbd.stories.svelte +2 -1
  270. package/dist/components/typography/kbd/theme.d.ts +4 -4
  271. package/dist/components/typography/kbd/theme.js +2 -2
  272. package/dist/components/typography/label/Label.stories.svelte +2 -1
  273. package/dist/components/typography/label/theme.d.ts +15 -12
  274. package/dist/components/typography/label/theme.js +19 -4
  275. package/dist/components/typography/label/types.d.ts +2 -1
  276. package/dist/components/typography/title/Title.stories.svelte +2 -1
  277. package/dist/components/typography/title/theme.d.ts +15 -12
  278. package/dist/components/typography/title/theme.js +19 -4
  279. package/dist/components/typography/title/types.d.ts +2 -1
  280. package/dist/index.css +1 -0
  281. package/dist/styles/component.css +78 -175
  282. package/dist/styles/elevation.css +9 -0
  283. package/dist/styles/spacing.css +29 -0
  284. package/dist/styles/typescale.css +635 -20
  285. package/dist/utils/Layer.svelte +1 -1
  286. package/dist/utils/icon/Icon.svelte +8 -6
  287. package/package.json +19 -15
  288. package/dist/components/containers/stack/HStack.svelte +0 -23
  289. package/dist/components/containers/stack/HStack.svelte.d.ts +0 -5
  290. package/dist/components/containers/stack/VStack.svelte +0 -23
  291. package/dist/components/containers/stack/VStack.svelte.d.ts +0 -5
  292. package/dist/components/containers/stack/index.d.ts +0 -4
  293. package/dist/components/containers/stack/theme.d.ts +0 -66
  294. package/dist/components/containers/stack/theme.js +0 -26
  295. package/dist/components/containers/stack/types.d.ts +0 -12
  296. /package/dist/components/containers/{stack → carousel}/types.js +0 -0
@@ -4,6 +4,7 @@
4
4
 
5
5
  const { Story } = defineMeta({
6
6
  title: 'Typography/Headline',
7
+ tags: ['autodocs'],
7
8
  component: Headline,
8
9
  argTypes: {
9
10
  size: {
@@ -22,7 +23,7 @@
22
23
  <Story name="Playground">Headline text</Story>
23
24
 
24
25
  <Story name="Sizes" asChild>
25
- <div class="flex flex-col gap-4 p-6">
26
+ <div class="gap-spacing-200 p-spacing-300 flex flex-col">
26
27
  <Headline size="small">Headline small</Headline>
27
28
  <Headline size="medium">Headline medium</Headline>
28
29
  <Headline size="large">Headline large</Headline>
@@ -2,29 +2,32 @@ import { type VariantProps } from 'tailwind-variants';
2
2
  export type HeadlineVariants = VariantProps<typeof headline>;
3
3
  export declare const headline: import("tailwind-variants").TVReturnType<{
4
4
  emphasized: {
5
- true: "font-medium";
5
+ true: "";
6
+ false: "";
6
7
  };
7
8
  size: {
8
- small: "md-sys-typescale-headline-small";
9
- medium: "md-sys-typescale-headline-medium";
10
- large: "md-sys-typescale-headline-large";
9
+ small: "";
10
+ medium: "";
11
+ large: "";
11
12
  };
12
13
  }, undefined, "", {
13
14
  emphasized: {
14
- true: "font-medium";
15
+ true: "";
16
+ false: "";
15
17
  };
16
18
  size: {
17
- small: "md-sys-typescale-headline-small";
18
- medium: "md-sys-typescale-headline-medium";
19
- large: "md-sys-typescale-headline-large";
19
+ small: "";
20
+ medium: "";
21
+ large: "";
20
22
  };
21
23
  }, undefined, import("tailwind-variants").TVReturnTypeLike<{
22
24
  emphasized: {
23
- true: "font-medium";
25
+ true: "";
26
+ false: "";
24
27
  };
25
28
  size: {
26
- small: "md-sys-typescale-headline-small";
27
- medium: "md-sys-typescale-headline-medium";
28
- large: "md-sys-typescale-headline-large";
29
+ small: "";
30
+ medium: "";
31
+ large: "";
29
32
  };
30
33
  }, undefined>>;
@@ -2,13 +2,28 @@ import { tv } from 'tailwind-variants';
2
2
  export const headline = tv({
3
3
  base: '',
4
4
  variants: {
5
+ // `emphasized` swaps in the M3 emphasized style of the same size (heavier weight, same
6
+ // metrics). The class is picked in compoundVariants so only one typescale class is ever set.
5
7
  emphasized: {
6
- true: 'font-medium'
8
+ true: '',
9
+ false: ''
7
10
  },
8
11
  size: {
9
- small: 'md-sys-typescale-headline-small',
10
- medium: 'md-sys-typescale-headline-medium',
11
- large: 'md-sys-typescale-headline-large'
12
+ small: '',
13
+ medium: '',
14
+ large: ''
12
15
  }
16
+ },
17
+ compoundVariants: [
18
+ { size: 'small', emphasized: false, class: 'md-sys-typescale-headline-small' },
19
+ { size: 'small', emphasized: true, class: 'md-sys-typescale-emphasized-headline-small' },
20
+ { size: 'medium', emphasized: false, class: 'md-sys-typescale-headline-medium' },
21
+ { size: 'medium', emphasized: true, class: 'md-sys-typescale-emphasized-headline-medium' },
22
+ { size: 'large', emphasized: false, class: 'md-sys-typescale-headline-large' },
23
+ { size: 'large', emphasized: true, class: 'md-sys-typescale-emphasized-headline-large' }
24
+ ],
25
+ defaultVariants: {
26
+ emphasized: false,
27
+ size: 'medium'
13
28
  }
14
29
  });
@@ -10,7 +10,8 @@ export type HeadlineProps = HeadlineVariants & HTMLAttributes<HTMLElement> & {
10
10
  */
11
11
  children: Snippet;
12
12
  /**
13
- * Whether to use the emphasized weight for the headline text.
13
+ * Use the M3 emphasized style (`md-sys-typescale-emphasized-headline-*`): same size, heavier weight.
14
+ * Use it for selected, active, or unread states, or for editorial emphasis.
14
15
  */
15
16
  emphasized?: boolean;
16
17
  /**
@@ -9,6 +9,7 @@
9
9
 
10
10
  const { Story } = defineMeta({
11
11
  title: 'Typography/Kbd',
12
+ tags: ['autodocs'],
12
13
  component: Kbd,
13
14
  argTypes: {
14
15
  position: { control: 'select', options: ['relative', 'absolute'] }
@@ -33,7 +34,7 @@
33
34
 
34
35
  <Story name="Anchored in a Search Field" asChild>
35
36
  <div
36
- class="bg-md-sys-color-surface-container-high md-sys-typescale-body-large text-md-sys-color-on-surface-variant relative flex h-12 w-80 items-center rounded-full px-4"
37
+ class="bg-md-sys-color-surface-container-high md-sys-typescale-body-large text-md-sys-color-on-surface-variant h-spacing-600 px-spacing-200 relative flex w-80 items-center rounded-full"
37
38
  >
38
39
  Search...
39
40
  <Kbd position="absolute">⌘K</Kbd>
@@ -2,17 +2,17 @@ import { type VariantProps } from 'tailwind-variants';
2
2
  export type KbdVariants = VariantProps<typeof kbd>;
3
3
  export declare const kbd: import("tailwind-variants").TVReturnType<{
4
4
  position: {
5
- absolute: "right-1.5 bottom-1.5 hidden md:absolute md:right-2 md:bottom-2 md:inline-flex";
5
+ absolute: "right-spacing-75 bottom-spacing-75 hidden md:absolute md:right-spacing-100 md:bottom-spacing-100 md:inline-flex";
6
6
  relative: "";
7
7
  };
8
- }, undefined, "md-sys-typescale-label-small font-semibold text-md-sys-color-on-surface-variant", {
8
+ }, undefined, "md-sys-typescale-emphasized-label-small text-md-sys-color-on-surface-variant", {
9
9
  position: {
10
- absolute: "right-1.5 bottom-1.5 hidden md:absolute md:right-2 md:bottom-2 md:inline-flex";
10
+ absolute: "right-spacing-75 bottom-spacing-75 hidden md:absolute md:right-spacing-100 md:bottom-spacing-100 md:inline-flex";
11
11
  relative: "";
12
12
  };
13
13
  }, undefined, import("tailwind-variants").TVReturnTypeLike<{
14
14
  position: {
15
- absolute: "right-1.5 bottom-1.5 hidden md:absolute md:right-2 md:bottom-2 md:inline-flex";
15
+ absolute: "right-spacing-75 bottom-spacing-75 hidden md:absolute md:right-spacing-100 md:bottom-spacing-100 md:inline-flex";
16
16
  relative: "";
17
17
  };
18
18
  }, undefined>>;
@@ -1,9 +1,9 @@
1
1
  import { tv } from 'tailwind-variants';
2
2
  export const kbd = tv({
3
- base: 'md-sys-typescale-label-small font-semibold text-md-sys-color-on-surface-variant',
3
+ base: 'md-sys-typescale-emphasized-label-small text-md-sys-color-on-surface-variant',
4
4
  variants: {
5
5
  position: {
6
- absolute: 'right-1.5 bottom-1.5 hidden md:absolute md:right-2 md:bottom-2 md:inline-flex',
6
+ absolute: 'right-spacing-75 bottom-spacing-75 hidden md:absolute md:right-spacing-100 md:bottom-spacing-100 md:inline-flex',
7
7
  relative: ''
8
8
  }
9
9
  }
@@ -4,6 +4,7 @@
4
4
 
5
5
  const { Story } = defineMeta({
6
6
  title: 'Typography/Label',
7
+ tags: ['autodocs'],
7
8
  component: Label,
8
9
  argTypes: {
9
10
  size: {
@@ -22,7 +23,7 @@
22
23
  <Story name="Playground">Label text</Story>
23
24
 
24
25
  <Story name="Sizes" asChild>
25
- <div class="flex flex-col gap-4 p-6">
26
+ <div class="gap-spacing-200 p-spacing-300 flex flex-col">
26
27
  <Label size="small">Label small</Label>
27
28
  <Label size="medium">Label medium</Label>
28
29
  <Label size="large">Label large</Label>
@@ -1,28 +1,31 @@
1
1
  export declare const label: import("tailwind-variants").TVReturnType<{
2
2
  emphasized: {
3
- true: "font-semibold";
3
+ true: "";
4
+ false: "";
4
5
  };
5
6
  size: {
6
- small: "md-sys-typescale-label-small";
7
- medium: "md-sys-typescale-label-medium";
8
- large: "md-sys-typescale-label-large";
7
+ small: "";
8
+ medium: "";
9
+ large: "";
9
10
  };
10
11
  }, undefined, "", {
11
12
  emphasized: {
12
- true: "font-semibold";
13
+ true: "";
14
+ false: "";
13
15
  };
14
16
  size: {
15
- small: "md-sys-typescale-label-small";
16
- medium: "md-sys-typescale-label-medium";
17
- large: "md-sys-typescale-label-large";
17
+ small: "";
18
+ medium: "";
19
+ large: "";
18
20
  };
19
21
  }, undefined, import("tailwind-variants").TVReturnTypeLike<{
20
22
  emphasized: {
21
- true: "font-semibold";
23
+ true: "";
24
+ false: "";
22
25
  };
23
26
  size: {
24
- small: "md-sys-typescale-label-small";
25
- medium: "md-sys-typescale-label-medium";
26
- large: "md-sys-typescale-label-large";
27
+ small: "";
28
+ medium: "";
29
+ large: "";
27
30
  };
28
31
  }, undefined>>;
@@ -2,13 +2,28 @@ import { tv } from 'tailwind-variants';
2
2
  export const label = tv({
3
3
  base: '',
4
4
  variants: {
5
+ // `emphasized` swaps in the M3 emphasized style of the same size (heavier weight, same
6
+ // metrics). The class is picked in compoundVariants so only one typescale class is ever set.
5
7
  emphasized: {
6
- true: 'font-semibold'
8
+ true: '',
9
+ false: ''
7
10
  },
8
11
  size: {
9
- small: 'md-sys-typescale-label-small',
10
- medium: 'md-sys-typescale-label-medium',
11
- large: 'md-sys-typescale-label-large'
12
+ small: '',
13
+ medium: '',
14
+ large: ''
12
15
  }
16
+ },
17
+ compoundVariants: [
18
+ { size: 'small', emphasized: false, class: 'md-sys-typescale-label-small' },
19
+ { size: 'small', emphasized: true, class: 'md-sys-typescale-emphasized-label-small' },
20
+ { size: 'medium', emphasized: false, class: 'md-sys-typescale-label-medium' },
21
+ { size: 'medium', emphasized: true, class: 'md-sys-typescale-emphasized-label-medium' },
22
+ { size: 'large', emphasized: false, class: 'md-sys-typescale-label-large' },
23
+ { size: 'large', emphasized: true, class: 'md-sys-typescale-emphasized-label-large' }
24
+ ],
25
+ defaultVariants: {
26
+ emphasized: false,
27
+ size: 'medium'
13
28
  }
14
29
  });
@@ -12,7 +12,8 @@ export type LabelProps = LabelVariants & HTMLAttributes<HTMLElement> & {
12
12
  */
13
13
  children: Snippet;
14
14
  /**
15
- * Whether to use the emphasized weight for the label text.
15
+ * Use the M3 emphasized style (`md-sys-typescale-emphasized-label-*`): same size, heavier weight.
16
+ * Use it for selected, active, or unread states, or for editorial emphasis.
16
17
  */
17
18
  emphasized?: boolean;
18
19
  /**
@@ -4,6 +4,7 @@
4
4
 
5
5
  const { Story } = defineMeta({
6
6
  title: 'Typography/Title',
7
+ tags: ['autodocs'],
7
8
  component: Title,
8
9
  argTypes: {
9
10
  size: {
@@ -22,7 +23,7 @@
22
23
  <Story name="Playground">Title text</Story>
23
24
 
24
25
  <Story name="Sizes" asChild>
25
- <div class="flex flex-col gap-4 p-6">
26
+ <div class="gap-spacing-200 p-spacing-300 flex flex-col">
26
27
  <Title size="small">Title small</Title>
27
28
  <Title size="medium">Title medium</Title>
28
29
  <Title size="large">Title large</Title>
@@ -2,29 +2,32 @@ import { type VariantProps } from 'tailwind-variants';
2
2
  export type TitleVariants = VariantProps<typeof title>;
3
3
  export declare const title: import("tailwind-variants").TVReturnType<{
4
4
  emphasized: {
5
- true: "font-semibold";
5
+ true: "";
6
+ false: "";
6
7
  };
7
8
  size: {
8
- small: "md-sys-typescale-title-small";
9
- medium: "md-sys-typescale-title-medium";
10
- large: "md-sys-typescale-title-large";
9
+ small: "";
10
+ medium: "";
11
+ large: "";
11
12
  };
12
13
  }, undefined, "", {
13
14
  emphasized: {
14
- true: "font-semibold";
15
+ true: "";
16
+ false: "";
15
17
  };
16
18
  size: {
17
- small: "md-sys-typescale-title-small";
18
- medium: "md-sys-typescale-title-medium";
19
- large: "md-sys-typescale-title-large";
19
+ small: "";
20
+ medium: "";
21
+ large: "";
20
22
  };
21
23
  }, undefined, import("tailwind-variants").TVReturnTypeLike<{
22
24
  emphasized: {
23
- true: "font-semibold";
25
+ true: "";
26
+ false: "";
24
27
  };
25
28
  size: {
26
- small: "md-sys-typescale-title-small";
27
- medium: "md-sys-typescale-title-medium";
28
- large: "md-sys-typescale-title-large";
29
+ small: "";
30
+ medium: "";
31
+ large: "";
29
32
  };
30
33
  }, undefined>>;
@@ -2,13 +2,28 @@ import { tv } from 'tailwind-variants';
2
2
  export const title = tv({
3
3
  base: '',
4
4
  variants: {
5
+ // `emphasized` swaps in the M3 emphasized style of the same size (heavier weight, same
6
+ // metrics). The class is picked in compoundVariants so only one typescale class is ever set.
5
7
  emphasized: {
6
- true: 'font-semibold'
8
+ true: '',
9
+ false: ''
7
10
  },
8
11
  size: {
9
- small: 'md-sys-typescale-title-small',
10
- medium: 'md-sys-typescale-title-medium',
11
- large: 'md-sys-typescale-title-large'
12
+ small: '',
13
+ medium: '',
14
+ large: ''
12
15
  }
16
+ },
17
+ compoundVariants: [
18
+ { size: 'small', emphasized: false, class: 'md-sys-typescale-title-small' },
19
+ { size: 'small', emphasized: true, class: 'md-sys-typescale-emphasized-title-small' },
20
+ { size: 'medium', emphasized: false, class: 'md-sys-typescale-title-medium' },
21
+ { size: 'medium', emphasized: true, class: 'md-sys-typescale-emphasized-title-medium' },
22
+ { size: 'large', emphasized: false, class: 'md-sys-typescale-title-large' },
23
+ { size: 'large', emphasized: true, class: 'md-sys-typescale-emphasized-title-large' }
24
+ ],
25
+ defaultVariants: {
26
+ emphasized: false,
27
+ size: 'medium'
13
28
  }
14
29
  });
@@ -10,7 +10,8 @@ export type TitleProps = TitleVariants & HTMLAttributes<HTMLElement> & {
10
10
  */
11
11
  children: Snippet;
12
12
  /**
13
- * Whether to use the emphasized weight for the title text.
13
+ * Use the M3 emphasized style (`md-sys-typescale-emphasized-title-*`): same size, heavier weight.
14
+ * Use it for selected, active, or unread states, or for editorial emphasis.
14
15
  */
15
16
  emphasized?: boolean;
16
17
  /**
package/dist/index.css CHANGED
@@ -1,4 +1,5 @@
1
1
  @import './styles/typescale.css';
2
+ @import './styles/spacing.css';
2
3
  @import './styles/motion.css';
3
4
  @import './styles/rounding.css';
4
5
  @import './styles/elevation.css';