@noxlovette/material 0.3.3 → 0.4.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 (288) hide show
  1. package/README.md +1 -0
  2. package/dist/actions/index.d.ts +1 -0
  3. package/dist/actions/index.js +1 -0
  4. package/dist/actions/rovingFocusGroup.d.ts +20 -0
  5. package/dist/actions/rovingFocusGroup.js +82 -0
  6. package/dist/components/badge/theme.d.ts +8 -8
  7. package/dist/components/buttons/button-group/ButtonGroup.stories.svelte +83 -0
  8. package/dist/components/buttons/button-group/ButtonGroup.stories.svelte.d.ts +19 -0
  9. package/dist/components/buttons/button-group/ButtonGroup.svelte +10 -29
  10. package/dist/components/buttons/button-group/ButtonGroup.svelte.d.ts +7 -3
  11. package/dist/components/buttons/button-group/index.d.ts +0 -1
  12. package/dist/components/buttons/button-group/index.js +3 -1
  13. package/dist/components/buttons/button-group/theme.d.ts +17 -103
  14. package/dist/components/buttons/button-group/theme.js +7 -35
  15. package/dist/components/buttons/button-group/types.d.ts +9 -20
  16. package/dist/components/buttons/connected/ConnectedButtonGroup.stories.svelte +118 -0
  17. package/dist/components/buttons/connected/ConnectedButtonGroup.stories.svelte.d.ts +19 -0
  18. package/dist/components/buttons/connected/ConnectedButtonGroup.svelte +52 -0
  19. package/dist/components/buttons/connected/ConnectedButtonGroup.svelte.d.ts +12 -0
  20. package/dist/components/buttons/connected/ConnectedButtonGroupItem.svelte +37 -0
  21. package/dist/components/buttons/connected/ConnectedButtonGroupItem.svelte.d.ts +9 -0
  22. package/dist/components/buttons/connected/index.d.ts +3 -1
  23. package/dist/components/buttons/connected/index.js +3 -1
  24. package/dist/components/buttons/connected/theme.d.ts +125 -0
  25. package/dist/components/buttons/connected/theme.js +38 -0
  26. package/dist/components/buttons/connected/types.d.ts +32 -13
  27. package/dist/components/buttons/index.d.ts +1 -0
  28. package/dist/components/buttons/index.js +1 -0
  29. package/dist/components/buttons/split-button/SplitButton.stories.svelte +103 -0
  30. package/dist/components/buttons/split-button/SplitButton.stories.svelte.d.ts +19 -0
  31. package/dist/components/buttons/split-button/SplitButton.svelte +104 -0
  32. package/dist/components/buttons/split-button/SplitButton.svelte.d.ts +19 -0
  33. package/dist/components/buttons/split-button/index.d.ts +3 -0
  34. package/dist/components/{containers/panes → buttons/split-button}/index.js +1 -3
  35. package/dist/components/buttons/split-button/theme.d.ts +35 -0
  36. package/dist/components/buttons/split-button/theme.js +26 -0
  37. package/dist/components/buttons/split-button/types.d.ts +33 -0
  38. package/dist/components/buttons/theme.d.ts +142 -142
  39. package/dist/components/buttons/theme.js +2 -2
  40. package/dist/components/cards/Card.stories.svelte +58 -0
  41. package/dist/components/cards/Card.stories.svelte.d.ts +2 -17
  42. package/dist/components/cards/Card.svelte +76 -8
  43. package/dist/components/cards/theme.d.ts +26 -14
  44. package/dist/components/cards/theme.js +5 -1
  45. package/dist/components/cards/types.d.ts +39 -1
  46. package/dist/components/chips/Chip.stories.svelte +64 -0
  47. package/dist/components/chips/Chip.stories.svelte.d.ts +19 -0
  48. package/dist/components/chips/Chip.svelte +115 -0
  49. package/dist/components/chips/Chip.svelte.d.ts +14 -0
  50. package/dist/components/chips/index.d.ts +3 -0
  51. package/dist/components/{containers/merger → chips}/index.js +2 -1
  52. package/dist/components/chips/theme.d.ts +78 -0
  53. package/dist/components/chips/theme.js +72 -0
  54. package/dist/components/chips/types.d.ts +43 -0
  55. package/dist/components/containers/action-rail/ActionRail.stories.svelte +36 -0
  56. package/dist/components/containers/{panes/SinglePane.stories.svelte.d.ts → action-rail/ActionRail.stories.svelte.d.ts} +4 -4
  57. package/dist/components/containers/action-rail/ActionRail.svelte +35 -0
  58. package/dist/components/containers/action-rail/ActionRail.svelte.d.ts +17 -0
  59. package/dist/components/containers/action-rail/index.d.ts +3 -0
  60. package/dist/components/containers/action-rail/index.js +6 -0
  61. package/dist/components/containers/action-rail/theme.d.ts +45 -0
  62. package/dist/components/containers/action-rail/theme.js +26 -0
  63. package/dist/components/containers/action-rail/types.d.ts +20 -0
  64. package/dist/components/containers/action-rail/types.js +1 -0
  65. package/dist/components/containers/app/App.svelte +6 -6
  66. package/dist/components/containers/app/App.svelte.d.ts +4 -2
  67. package/dist/components/containers/app/theme.d.ts +1 -1
  68. package/dist/components/containers/app/types.d.ts +9 -4
  69. package/dist/components/containers/bottom-sheet/BottomSheet.stories.svelte +1 -1
  70. package/dist/components/containers/bottom-sheet/BottomSheet.svelte +1 -1
  71. package/dist/components/containers/context-menu/ContextMenu.stories.svelte +44 -0
  72. package/dist/components/containers/context-menu/ContextMenu.svelte +21 -5
  73. package/dist/components/containers/context-menu/ContextMenu.svelte.d.ts +11 -0
  74. package/dist/components/containers/context-menu/theme.d.ts +20 -2
  75. package/dist/components/containers/context-menu/theme.js +31 -8
  76. package/dist/components/containers/context-menu/types.d.ts +14 -2
  77. package/dist/components/containers/dialogue/theme.d.ts +20 -20
  78. package/dist/components/containers/divider/theme.d.ts +17 -17
  79. package/dist/components/containers/index.d.ts +2 -3
  80. package/dist/components/containers/index.js +2 -3
  81. package/dist/components/containers/link-preview/theme.d.ts +11 -11
  82. package/dist/components/containers/list/theme.d.ts +14 -14
  83. package/dist/components/containers/list/theme.js +1 -1
  84. package/dist/components/containers/menu/Menu.stories.svelte +105 -3
  85. package/dist/components/containers/menu/Menu.stories.svelte.d.ts +2 -17
  86. package/dist/components/containers/menu/Menu.svelte +9 -7
  87. package/dist/components/containers/menu/MenuCheckboxItem.svelte +55 -0
  88. package/dist/components/containers/menu/MenuCheckboxItem.svelte.d.ts +25 -0
  89. package/dist/components/containers/menu/MenuGroup.svelte +43 -0
  90. package/dist/components/containers/menu/MenuGroup.svelte.d.ts +28 -0
  91. package/dist/components/containers/menu/MenuRadioGroup.svelte +39 -0
  92. package/dist/components/containers/menu/MenuRadioGroup.svelte.d.ts +27 -0
  93. package/dist/components/containers/menu/MenuRadioItem.svelte +49 -0
  94. package/dist/components/containers/menu/MenuRadioItem.svelte.d.ts +17 -0
  95. package/dist/components/containers/menu/MenuSub.svelte +91 -0
  96. package/dist/components/containers/menu/MenuSub.svelte.d.ts +29 -0
  97. package/dist/components/containers/menu/index.d.ts +7 -0
  98. package/dist/components/containers/menu/index.js +8 -0
  99. package/dist/components/containers/menu/menu-item/MenuItem.svelte +71 -0
  100. package/dist/components/containers/{menu-item → menu/menu-item}/MenuItem.svelte.d.ts +2 -1
  101. package/dist/components/containers/{menu-item → menu/menu-item}/types.d.ts +5 -1
  102. package/dist/components/containers/menu/menu-item/types.js +1 -0
  103. package/dist/components/containers/menu/theme.d.ts +68 -0
  104. package/dist/components/containers/menu/theme.js +36 -0
  105. package/dist/components/containers/menu/types.d.ts +113 -2
  106. package/dist/components/containers/pane/DraggablePane.stories.svelte +199 -0
  107. package/dist/components/containers/pane/DraggablePane.stories.svelte.d.ts +4 -0
  108. package/dist/components/containers/pane/DraggablePane.svelte +533 -0
  109. package/dist/components/containers/pane/DraggablePane.svelte.d.ts +29 -0
  110. package/dist/components/containers/pane/Pane.stories.svelte +104 -0
  111. package/dist/components/containers/pane/Pane.stories.svelte.d.ts +19 -0
  112. package/dist/components/containers/pane/Pane.svelte +78 -0
  113. package/dist/components/containers/pane/Pane.svelte.d.ts +18 -0
  114. package/dist/components/containers/pane/PaneGrid.stories.svelte +134 -0
  115. package/dist/components/containers/pane/PaneGrid.stories.svelte.d.ts +19 -0
  116. package/dist/components/containers/pane/PaneGrid.svelte +43 -0
  117. package/dist/components/containers/pane/PaneGrid.svelte.d.ts +13 -0
  118. package/dist/components/containers/pane/PaneHandle.svelte +90 -0
  119. package/dist/components/containers/pane/PaneHandle.svelte.d.ts +12 -0
  120. package/dist/components/containers/pane/dragStore.svelte.d.ts +16 -0
  121. package/dist/components/containers/pane/dragStore.svelte.js +38 -0
  122. package/dist/components/containers/pane/index.d.ts +8 -0
  123. package/dist/components/containers/pane/index.js +11 -0
  124. package/dist/components/containers/pane/resizeStore.svelte.d.ts +10 -0
  125. package/dist/components/containers/pane/resizeStore.svelte.js +30 -0
  126. package/dist/components/containers/pane/theme.d.ts +571 -0
  127. package/dist/components/containers/pane/theme.js +211 -0
  128. package/dist/components/containers/pane/types.d.ts +249 -0
  129. package/dist/components/containers/pane/types.js +1 -0
  130. package/dist/components/containers/popover/Popover.stories.svelte +4 -4
  131. package/dist/components/containers/popover/Popover.svelte +3 -1
  132. package/dist/components/containers/popover/theme.d.ts +20 -20
  133. package/dist/components/containers/popover/types.d.ts +6 -2
  134. package/dist/components/containers/scroll-area/theme.d.ts +2 -2
  135. package/dist/components/containers/side-sheet/SideSheet.stories.svelte +16 -24
  136. package/dist/components/containers/side-sheet/SideSheet.svelte +73 -7
  137. package/dist/components/containers/side-sheet/SideSheet.svelte.d.ts +5 -0
  138. package/dist/components/containers/stack/theme.d.ts +44 -44
  139. package/dist/components/date/DateField.stories.svelte +57 -0
  140. package/dist/components/{containers/panes/SplitPane.stories.svelte.d.ts → date/DateField.stories.svelte.d.ts} +4 -4
  141. package/dist/components/date/DateField.svelte +11 -2
  142. package/dist/components/date/DateRangeField.stories.svelte +53 -0
  143. package/dist/components/{containers/panes/SupportingPane.stories.svelte.d.ts → date/DateRangeField.stories.svelte.d.ts} +4 -4
  144. package/dist/components/date/DateRangeField.svelte +2 -1
  145. package/dist/components/date/theme.d.ts +73 -4
  146. package/dist/components/date/theme.js +95 -26
  147. package/dist/components/date/types.d.ts +5 -0
  148. package/dist/components/forms/checkbox/Checkbox.svelte +7 -9
  149. package/dist/components/forms/checkbox/theme.d.ts +8 -8
  150. package/dist/components/forms/checkbox/theme.js +31 -9
  151. package/dist/components/forms/command/theme.d.ts +35 -35
  152. package/dist/components/forms/pin/theme.d.ts +2 -2
  153. package/dist/components/forms/radio-group/theme.d.ts +2 -2
  154. package/dist/components/forms/search/theme.d.ts +8 -8
  155. package/dist/components/forms/select/Select.svelte +3 -2
  156. package/dist/components/forms/select/theme.d.ts +26 -2
  157. package/dist/components/forms/select/theme.js +56 -22
  158. package/dist/components/forms/slider/theme.d.ts +20 -20
  159. package/dist/components/forms/switch/theme.d.ts +2 -2
  160. package/dist/components/forms/textfield/Textfield.stories.svelte +22 -0
  161. package/dist/components/forms/textfield/Textfield.svelte +10 -1
  162. package/dist/components/forms/textfield/theme.d.ts +44 -2
  163. package/dist/components/forms/textfield/theme.js +56 -16
  164. package/dist/components/forms/toggle-group/ToggleGroup.svelte +2 -2
  165. package/dist/components/forms/toggle-group/ToggleGroup.svelte.d.ts +2 -2
  166. package/dist/components/forms/toggle-group/ToggleGroupItem.svelte +1 -1
  167. package/dist/components/forms/toggle-group/ToggleGroupItem.svelte.d.ts +1 -1
  168. package/dist/components/forms/toggle-group/theme.d.ts +16 -16
  169. package/dist/components/forms/toggle-group/types.d.ts +2 -2
  170. package/dist/components/forms/tooltip/Tooltip.svelte +1 -1
  171. package/dist/components/forms/tooltip/theme.d.ts +2 -2
  172. package/dist/components/index.d.ts +1 -0
  173. package/dist/components/index.js +1 -0
  174. package/dist/components/misc/Avatar.stories.svelte +8 -0
  175. package/dist/components/misc/Avatar.svelte +35 -10
  176. package/dist/components/misc/DicebearAvatarBuilder.d.ts +59 -0
  177. package/dist/components/misc/DicebearAvatarBuilder.js +115 -0
  178. package/dist/components/misc/ThemeSettings.svelte +1 -1
  179. package/dist/components/misc/ThemeSwitcher.svelte +2 -2
  180. package/dist/components/misc/dicebearStyles.d.ts +21 -0
  181. package/dist/components/misc/dicebearStyles.js +169 -0
  182. package/dist/components/misc/index.d.ts +3 -0
  183. package/dist/components/misc/index.js +3 -0
  184. package/dist/components/misc/materialAvatarPalette.d.ts +6 -0
  185. package/dist/components/misc/materialAvatarPalette.js +44 -0
  186. package/dist/components/misc/theme.d.ts +20 -2
  187. package/dist/components/misc/theme.js +7 -1
  188. package/dist/components/misc/types.d.ts +20 -2
  189. package/dist/components/nav/appbar/AppBar.stories.svelte +1 -1
  190. package/dist/components/nav/appbar/AppBar.svelte +46 -15
  191. package/dist/components/nav/appbar/AppBar.svelte.d.ts +5 -0
  192. package/dist/components/nav/appbar/theme.d.ts +20 -14
  193. package/dist/components/nav/appbar/theme.js +11 -7
  194. package/dist/components/nav/appbar/types.d.ts +3 -1
  195. package/dist/components/nav/breadcrumb/Breadcrumb.stories.svelte +50 -0
  196. package/dist/components/nav/breadcrumb/Breadcrumb.stories.svelte.d.ts +19 -0
  197. package/dist/components/nav/breadcrumb/Breadcrumb.svelte +46 -0
  198. package/dist/components/nav/breadcrumb/Breadcrumb.svelte.d.ts +13 -0
  199. package/dist/components/nav/breadcrumb/index.d.ts +3 -0
  200. package/dist/components/nav/breadcrumb/index.js +6 -0
  201. package/dist/components/nav/breadcrumb/theme.d.ts +84 -0
  202. package/dist/components/nav/breadcrumb/theme.js +35 -0
  203. package/dist/components/nav/breadcrumb/types.d.ts +14 -0
  204. package/dist/components/nav/breadcrumb/types.js +1 -0
  205. package/dist/components/nav/index.d.ts +1 -0
  206. package/dist/components/nav/index.js +1 -0
  207. package/dist/components/nav/navbar/theme.d.ts +19 -19
  208. package/dist/components/nav/rail/Rail.stories.svelte +1 -5
  209. package/dist/components/nav/rail/Rail.svelte +3 -25
  210. package/dist/components/nav/rail/theme.d.ts +4 -4
  211. package/dist/components/nav/rail/types.d.ts +0 -5
  212. package/dist/components/nav/tabs/TabHolder.svelte +2 -1
  213. package/dist/components/nav/tabs/theme.d.ts +21 -21
  214. package/dist/components/nav/tabs/theme.js +6 -0
  215. package/dist/components/nav/tabs/types.d.ts +2 -2
  216. package/dist/components/pill/theme.d.ts +35 -35
  217. package/dist/components/snackbar/theme.d.ts +8 -8
  218. package/dist/components/table/Table.stories.svelte +267 -0
  219. package/dist/components/table/Table.stories.svelte.d.ts +19 -0
  220. package/dist/components/table/Table.svelte +1 -1
  221. package/dist/components/table/TableBody.svelte +16 -3
  222. package/dist/components/table/TableBody.svelte.d.ts +5 -1
  223. package/dist/components/table/TableRow.svelte +1 -1
  224. package/dist/components/table/theme.d.ts +2 -2
  225. package/dist/components/table/theme.js +2 -2
  226. package/dist/components/table/types.d.ts +7 -0
  227. package/dist/components/time/theme.d.ts +29 -29
  228. package/dist/components/toolbar/Toolbar.stories.svelte +71 -0
  229. package/dist/components/toolbar/Toolbar.stories.svelte.d.ts +19 -0
  230. package/dist/components/toolbar/Toolbar.svelte +19 -3
  231. package/dist/components/toolbar/Toolbar.svelte.d.ts +8 -2
  232. package/dist/components/toolbar/ToolbarButton.svelte +28 -4
  233. package/dist/components/toolbar/ToolbarDivider.svelte +4 -3
  234. package/dist/components/toolbar/ToolbarGroup.svelte +7 -2
  235. package/dist/components/toolbar/ToolbarGroupItem.svelte +29 -4
  236. package/dist/components/toolbar/ToolbarSection.svelte +35 -0
  237. package/dist/components/toolbar/ToolbarSection.svelte.d.ts +9 -0
  238. package/dist/components/toolbar/ToolbarSpacer.svelte +18 -0
  239. package/dist/components/toolbar/ToolbarSpacer.svelte.d.ts +9 -0
  240. package/dist/components/toolbar/index.d.ts +2 -0
  241. package/dist/components/toolbar/index.js +2 -0
  242. package/dist/components/toolbar/theme.d.ts +36 -21
  243. package/dist/components/toolbar/theme.js +27 -11
  244. package/dist/components/toolbar/types.d.ts +37 -4
  245. package/dist/components/typography/body/theme.d.ts +14 -14
  246. package/dist/components/typography/display/theme.d.ts +14 -14
  247. package/dist/components/typography/headline/theme.d.ts +14 -14
  248. package/dist/components/typography/kbd/Kbd.stories.svelte +1 -1
  249. package/dist/components/typography/kbd/theme.d.ts +8 -8
  250. package/dist/components/typography/label/theme.d.ts +14 -14
  251. package/dist/components/typography/title/theme.d.ts +14 -14
  252. package/dist/styles/component.css +126 -4
  253. package/dist/styles/motion.css +6 -3
  254. package/dist/utils/Layer.svelte +7 -3
  255. package/dist/utils/Theme.svelte +20 -20
  256. package/dist/utils/ThemeScript.svelte +1 -1
  257. package/dist/utils/icon/theme.d.ts +14 -14
  258. package/package.json +38 -37
  259. package/bin/install-skill.js +0 -29
  260. package/dist/components/buttons/button-group/ButtonGroupItem.svelte +0 -41
  261. package/dist/components/buttons/button-group/ButtonGroupItem.svelte.d.ts +0 -8
  262. package/dist/components/buttons/connected/ConnectedButtons.svelte +0 -14
  263. package/dist/components/buttons/connected/ConnectedButtons.svelte.d.ts +0 -8
  264. package/dist/components/containers/menu-item/MenuItem.svelte +0 -74
  265. package/dist/components/containers/merger/InputMerger.svelte +0 -24
  266. package/dist/components/containers/merger/InputMerger.svelte.d.ts +0 -14
  267. package/dist/components/containers/merger/index.d.ts +0 -2
  268. package/dist/components/containers/merger/theme.d.ts +0 -1
  269. package/dist/components/containers/merger/theme.js +0 -4
  270. package/dist/components/containers/panes/SinglePane.stories.svelte +0 -67
  271. package/dist/components/containers/panes/SinglePane.svelte +0 -32
  272. package/dist/components/containers/panes/SinglePane.svelte.d.ts +0 -5
  273. package/dist/components/containers/panes/SplitPane.stories.svelte +0 -124
  274. package/dist/components/containers/panes/SplitPane.svelte +0 -144
  275. package/dist/components/containers/panes/SplitPane.svelte.d.ts +0 -8
  276. package/dist/components/containers/panes/SupportingPane.stories.svelte +0 -113
  277. package/dist/components/containers/panes/SupportingPane.svelte +0 -175
  278. package/dist/components/containers/panes/SupportingPane.svelte.d.ts +0 -9
  279. package/dist/components/containers/panes/index.d.ts +0 -5
  280. package/dist/components/containers/panes/theme.d.ts +0 -490
  281. package/dist/components/containers/panes/theme.js +0 -185
  282. package/dist/components/containers/panes/types.d.ts +0 -108
  283. package/dist/components/nav/rail/RailNavContext.svelte +0 -14
  284. package/dist/components/nav/rail/RailNavContext.svelte.d.ts +0 -8
  285. /package/dist/components/{containers/menu-item → buttons/split-button}/types.js +0 -0
  286. /package/dist/components/{containers/panes → chips}/types.js +0 -0
  287. /package/dist/components/containers/{menu-item → menu/menu-item}/index.d.ts +0 -0
  288. /package/dist/components/containers/{menu-item → menu/menu-item}/index.js +0 -0
@@ -2,17 +2,7 @@ import { tv } from 'tailwind-variants';
2
2
  export const dateRangeField = tv({
3
3
  slots: {
4
4
  base: `
5
- group w-full h-14 bg-md-sys-color-surface-container-highest rounded-t-xs
6
- after:absolute after:bottom-0 after:left-0 after:right-0
7
- relative
8
- state-layer before:rounded-xs hover:before:bg-md-sys-color-on-surface/8
9
- flex items-center
10
- after:h-px after:bg-md-sys-color-on-surface-variant
11
- after:transition-[height,background-color] after:duration-200
12
- hover:after:bg-md-sys-color-on-surface
13
- focus-within:after:bg-md-sys-color-primary focus-within:after:h-[2px]
14
- disabled:bg-md-sys-color-on-surface/4
15
- disabled:after:bg-md-sys-color-on-surface/12
5
+ group w-full h-14 relative flex items-center
16
6
  `,
17
7
  inputWrapper: `
18
8
  relative flex-1 px-4 h-full flex items-center
@@ -57,6 +47,29 @@ export const dateRangeField = tv({
57
47
  `
58
48
  },
59
49
  variants: {
50
+ variant: {
51
+ filled: {
52
+ base: `
53
+ bg-md-sys-color-surface-container-highest rounded-t-xs
54
+ after:absolute after:bottom-0 after:left-0 after:right-0
55
+ state-layer before:rounded-xs hover:before:bg-md-sys-color-on-surface/8
56
+ after:h-px after:bg-md-sys-color-on-surface-variant
57
+ after:transition-[height,background-color] after:duration-200
58
+ hover:after:bg-md-sys-color-on-surface
59
+ focus-within:after:bg-md-sys-color-primary focus-within:after:h-[2px]
60
+ disabled:bg-md-sys-color-on-surface/4
61
+ disabled:after:bg-md-sys-color-on-surface/12
62
+ `
63
+ },
64
+ outlined: {
65
+ base: `
66
+ rounded-xs border border-md-sys-color-outline
67
+ transition-colors duration-150
68
+ hover:border-md-sys-color-on-surface
69
+ focus-within:border-2 focus-within:border-md-sys-color-primary
70
+ `
71
+ }
72
+ },
60
73
  error: {
61
74
  true: {
62
75
  base: 'after:bg-md-sys-color-error focus-within:after:bg-md-sys-color-error',
@@ -72,23 +85,31 @@ export const dateRangeField = tv({
72
85
  base: 'pointer-events-none opacity-60'
73
86
  }
74
87
  }
88
+ },
89
+ compoundVariants: [
90
+ {
91
+ variant: 'outlined',
92
+ error: true,
93
+ class: {
94
+ base: 'border-md-sys-color-error hover:border-md-sys-color-error focus-within:border-md-sys-color-error'
95
+ }
96
+ },
97
+ {
98
+ variant: 'outlined',
99
+ disabled: true,
100
+ class: {
101
+ base: 'border-md-sys-color-on-surface/12 hover:border-md-sys-color-on-surface/12'
102
+ }
103
+ }
104
+ ],
105
+ defaultVariants: {
106
+ variant: 'outlined'
75
107
  }
76
108
  });
77
109
  export const dateField = tv({
78
110
  slots: {
79
111
  base: `
80
- group w-full h-14 bg-md-sys-color-surface-container-highest rounded-t-xs
81
- after:absolute after:bottom-0 after:left-0 after:right-0
82
- relative
83
- state-layer before:rounded-xs hover:before:bg-md-sys-color-on-surface/8
84
- flex items-center
85
- after:h-px after:bg-md-sys-color-on-surface-variant
86
- after:transition-[height,background-color] after:duration-200
87
- hover:after:bg-md-sys-color-on-surface
88
- focus-within:after:bg-md-sys-color-primary focus-within:after:h-[2px]
89
- disabled:bg-md-sys-color-on-surface/4
90
- disabled:after:bg-md-sys-color-on-surface/12
91
- justify-between
112
+ group w-full h-14 relative flex items-center justify-between
92
113
  `,
93
114
  inputWrapper: `
94
115
  relative flex-1 px-4 h-full flex items-center
@@ -98,6 +119,9 @@ export const dateField = tv({
98
119
  md-sys-typescale-body-large text-md-sys-color-on-surface
99
120
  disabled:text-md-sys-color-on-surface/38 flex items-center
100
121
  `,
122
+ segments: `
123
+ flex w-full flex-col tabular-nums
124
+ `,
101
125
  leadingIcon: `
102
126
  text-md-sys-color-on-surface-variant size-6
103
127
  group-focus-within:text-md-sys-color-primary
@@ -127,9 +151,45 @@ export const dateField = tv({
127
151
  px-4 pt-1 flex justify-between
128
152
  md-sys-typescale-body-small
129
153
  text-md-sys-color-on-surface-variant
130
- `
154
+ `,
155
+ fieldset: `
156
+ absolute -top-[5px] left-0 right-0 bottom-0 m-0 px-2
157
+ pointer-events-none rounded-xs border border-md-sys-color-outline
158
+ transition-colors duration-150
159
+
160
+ group-hover:border-md-sys-color-on-surface
161
+ group-focus-within:border-2 group-focus-within:border-md-sys-color-primary
162
+ `,
163
+ legend: `
164
+ invisible float-none block h-auto max-w-full overflow-hidden
165
+ whitespace-nowrap md-sys-typescale-body-small
166
+ `,
167
+ legendLabel: `
168
+ px-1
169
+ `
131
170
  },
132
171
  variants: {
172
+ variant: {
173
+ filled: {
174
+ base: `
175
+ bg-md-sys-color-surface-container-highest rounded-t-xs
176
+ after:absolute after:bottom-0 after:left-0 after:right-0
177
+ state-layer before:rounded-xs hover:before:bg-md-sys-color-on-surface/8
178
+ after:h-px after:bg-md-sys-color-on-surface-variant
179
+ after:transition-[height,background-color] after:duration-200
180
+ hover:after:bg-md-sys-color-on-surface
181
+ focus-within:after:bg-md-sys-color-primary focus-within:after:h-[2px]
182
+ disabled:bg-md-sys-color-on-surface/4
183
+ disabled:after:bg-md-sys-color-on-surface/12
184
+ `,
185
+ segments: 'pt-4'
186
+ },
187
+ outlined: {
188
+ label: `
189
+ top-0 -translate-y-1/2
190
+ `
191
+ }
192
+ },
133
193
  error: {
134
194
  true: {
135
195
  base: 'after:bg-md-sys-color-error focus-within:after:bg-md-sys-color-error',
@@ -137,13 +197,22 @@ export const dateField = tv({
137
197
  requiredAsterisk: 'text-md-sys-color-error',
138
198
  supportingText: 'text-md-sys-color-error',
139
199
  leadingIcon: 'text-md-sys-color-error',
140
- trailingIcon: 'text-md-sys-color-error'
200
+ trailingIcon: 'text-md-sys-color-error',
201
+ fieldset: `
202
+ border-md-sys-color-error
203
+ group-hover:border-md-sys-color-error
204
+ group-focus-within:border-md-sys-color-error
205
+ `
141
206
  }
142
207
  },
143
208
  disabled: {
144
209
  true: {
145
- base: 'pointer-events-none opacity-60'
210
+ base: 'pointer-events-none opacity-60',
211
+ fieldset: 'border-md-sys-color-on-surface/12 group-hover:border-md-sys-color-on-surface/12'
146
212
  }
147
213
  }
214
+ },
215
+ defaultVariants: {
216
+ variant: 'outlined'
148
217
  }
149
218
  });
@@ -32,6 +32,11 @@ export interface BaseDateProps extends HTMLAttributes<HTMLDivElement> {
32
32
  * Supporting text shown below the field.
33
33
  */
34
34
  supportingText?: Snippet;
35
+ /**
36
+ * The visual style of the field.
37
+ * @default 'outlined'
38
+ */
39
+ variant?: 'filled' | 'outlined';
35
40
  }
36
41
  export interface DateFieldProps extends BaseDateProps {
37
42
  /**
@@ -47,15 +47,13 @@ Checkboxes let users select one or more items from a list, or turn an item on or
47
47
  {#if indeterminate}
48
48
  <span class={cls.indeterminateIcon()}></span>
49
49
  {:else if checked}
50
- <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class={cls.checkIcon()}>
51
- <path
52
- d="M 4.83 13.41 L 9 17.585 L 19.59 7"
53
- fill="none"
54
- stroke="currentColor"
55
- stroke-width="2"
56
- stroke-linecap="round"
57
- stroke-linejoin="round"
58
- />
50
+ <svg
51
+ viewBox="0 0 24 24"
52
+ xmlns="http://www.w3.org/2000/svg"
53
+ class={cls.checkIcon()}
54
+ fill="currentColor"
55
+ >
56
+ <path d="M9.55 18 3.85 12.3 5.275 10.875 9.55 15.15 18.725 5.975 20.15 7.4Z" />
59
57
  </svg>
60
58
  {/if}
61
59
  </div>
@@ -22,8 +22,8 @@ export declare const checkbox: import("tailwind-variants").TVReturnType<{
22
22
  };
23
23
  };
24
24
  align: {
25
- start: string;
26
- center: string;
25
+ start: "items-start";
26
+ center: "items-center";
27
27
  };
28
28
  disabled: {
29
29
  true: {
@@ -67,8 +67,8 @@ export declare const checkbox: import("tailwind-variants").TVReturnType<{
67
67
  };
68
68
  };
69
69
  align: {
70
- start: string;
71
- center: string;
70
+ start: "items-start";
71
+ center: "items-center";
72
72
  };
73
73
  disabled: {
74
74
  true: {
@@ -89,7 +89,7 @@ export declare const checkbox: import("tailwind-variants").TVReturnType<{
89
89
  checkIcon: string;
90
90
  indeterminateIcon: string;
91
91
  label: string;
92
- }, import("tailwind-variants").TVReturnType<{
92
+ }, import("tailwind-variants").TVReturnTypeLike<{
93
93
  state: {
94
94
  unchecked: {};
95
95
  checked: {
@@ -112,8 +112,8 @@ export declare const checkbox: import("tailwind-variants").TVReturnType<{
112
112
  };
113
113
  };
114
114
  align: {
115
- start: string;
116
- center: string;
115
+ start: "items-start";
116
+ center: "items-center";
117
117
  };
118
118
  disabled: {
119
119
  true: {
@@ -134,5 +134,5 @@ export declare const checkbox: import("tailwind-variants").TVReturnType<{
134
134
  checkIcon: string;
135
135
  indeterminateIcon: string;
136
136
  label: string;
137
- }, undefined, unknown, unknown, undefined>>;
137
+ }>>;
138
138
  export type CheckboxM3Variants = VariantProps<typeof checkbox>;
@@ -1,11 +1,11 @@
1
1
  import { tv } from 'tailwind-variants';
2
2
  export const checkbox = tv({
3
3
  slots: {
4
- root: 'inline-flex min-h-10 select-none items-start gap-3 text-md-sys-color-on-surface min-h-4.5 cursor-pointer',
4
+ root: 'group inline-flex min-h-10 select-none items-start gap-3 text-md-sys-color-on-surface min-h-4.5 cursor-pointer',
5
5
  container: 'relative inline-flex size-[18px] shrink-0',
6
- control: 'layer-container absolute -inset-[11px] rounded-full text-md-sys-color-on-surface-variant state-layer before:rounded-full peer-focus-visible:outline peer-focus-visible:outline-3 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-md-sys-color-secondary',
7
- box: 'absolute inset-[11px] rounded-[4px] border-2 border-current bg-md-sys-color-surface',
8
- checkIcon: 'pointer-events-none absolute inset-0 m-auto size-5 text-md-sys-color-on-primary opacity-0 scale-75',
6
+ control: 'layer-container absolute -inset-[11px] rounded-full text-md-sys-color-on-surface-variant state-layer before:rounded-full group-focus-visible:outline group-focus-visible:outline-3 group-focus-visible:outline-offset-2 group-focus-visible:outline-md-sys-color-secondary transition-colors duration-[var(--md-sys-motion-duration-fast)] ease-[var(--md-sys-motion-timing-function)]',
7
+ box: 'absolute inset-[11px] rounded-[4px] border-2 border-current bg-md-sys-color-surface transition-colors duration-[var(--md-sys-motion-duration-fast)] ease-[var(--md-sys-motion-timing-function)]',
8
+ checkIcon: 'pointer-events-none absolute inset-0 m-auto size-3.5 text-md-sys-color-on-primary opacity-0 scale-75',
9
9
  indeterminateIcon: 'pointer-events-none absolute inset-0 m-auto block h-0.5 w-3 rounded-full bg-md-sys-color-on-primary opacity-0 scale-75',
10
10
  label: 'md-sys-typescale-body-large leading-5 text-md-sys-color-on-surface cursor-pointer'
11
11
  },
@@ -25,7 +25,7 @@ export const checkbox = tv({
25
25
  },
26
26
  error: {
27
27
  true: {
28
- control: 'text-md-sys-color-error peer-focus-visible:outline-md-sys-color-error',
28
+ control: 'text-md-sys-color-error group-focus-visible:outline-md-sys-color-error',
29
29
  box: 'border-md-sys-color-error',
30
30
  label: 'text-md-sys-color-error',
31
31
  supporting: 'text-md-sys-color-error'
@@ -48,17 +48,39 @@ export const checkbox = tv({
48
48
  }
49
49
  },
50
50
  compoundVariants: [
51
+ {
52
+ state: 'checked',
53
+ error: true,
54
+ class: {
55
+ box: 'bg-md-sys-color-error',
56
+ checkIcon: 'text-md-sys-color-on-error'
57
+ }
58
+ },
59
+ {
60
+ state: 'indeterminate',
61
+ error: true,
62
+ class: {
63
+ box: 'bg-md-sys-color-error',
64
+ indeterminateIcon: 'bg-md-sys-color-on-error'
65
+ }
66
+ },
51
67
  {
52
68
  state: 'checked',
53
69
  disabled: true,
54
- control: 'text-md-sys-color-on-surface/38',
55
- box: 'bg-md-sys-color-on-surface/12 border-transparent'
70
+ class: {
71
+ control: 'text-md-sys-color-on-surface/38',
72
+ box: 'bg-md-sys-color-on-surface/38 border-transparent',
73
+ checkIcon: 'text-md-sys-color-surface'
74
+ }
56
75
  },
57
76
  {
58
77
  state: 'indeterminate',
59
78
  disabled: true,
60
- control: 'text-md-sys-color-on-surface/38',
61
- box: 'bg-md-sys-color-on-surface/12 border-transparent'
79
+ class: {
80
+ control: 'text-md-sys-color-on-surface/38',
81
+ box: 'bg-md-sys-color-on-surface/38 border-transparent',
82
+ indeterminateIcon: 'bg-md-sys-color-surface'
83
+ }
62
84
  }
63
85
  ],
64
86
  defaultVariants: {
@@ -2,32 +2,32 @@ import { type VariantProps } from 'tailwind-variants';
2
2
  export type CommandVariants = VariantProps<typeof command>;
3
3
  export declare const command: import("tailwind-variants").TVReturnType<{
4
4
  [key: string]: {
5
- [key: string]: import("tailwind-merge").ClassNameValue | {
6
- input?: import("tailwind-merge").ClassNameValue;
7
- base?: import("tailwind-merge").ClassNameValue;
8
- group?: import("tailwind-merge").ClassNameValue;
9
- list?: import("tailwind-merge").ClassNameValue;
10
- separator?: import("tailwind-merge").ClassNameValue;
11
- item?: import("tailwind-merge").ClassNameValue;
12
- inputWrapper?: import("tailwind-merge").ClassNameValue;
13
- inputIcon?: import("tailwind-merge").ClassNameValue;
14
- empty?: import("tailwind-merge").ClassNameValue;
15
- itemIcon?: import("tailwind-merge").ClassNameValue;
5
+ [key: string]: import("tailwind-variants").ClassValue | {
6
+ input?: import("tailwind-variants").ClassValue;
7
+ base?: import("tailwind-variants").ClassValue;
8
+ group?: import("tailwind-variants").ClassValue;
9
+ list?: import("tailwind-variants").ClassValue;
10
+ separator?: import("tailwind-variants").ClassValue;
11
+ item?: import("tailwind-variants").ClassValue;
12
+ inputWrapper?: import("tailwind-variants").ClassValue;
13
+ inputIcon?: import("tailwind-variants").ClassValue;
14
+ empty?: import("tailwind-variants").ClassValue;
15
+ itemIcon?: import("tailwind-variants").ClassValue;
16
16
  };
17
17
  };
18
18
  } | {
19
19
  [x: string]: {
20
- [x: string]: import("tailwind-merge").ClassNameValue | {
21
- input?: import("tailwind-merge").ClassNameValue;
22
- base?: import("tailwind-merge").ClassNameValue;
23
- group?: import("tailwind-merge").ClassNameValue;
24
- list?: import("tailwind-merge").ClassNameValue;
25
- separator?: import("tailwind-merge").ClassNameValue;
26
- item?: import("tailwind-merge").ClassNameValue;
27
- inputWrapper?: import("tailwind-merge").ClassNameValue;
28
- inputIcon?: import("tailwind-merge").ClassNameValue;
29
- empty?: import("tailwind-merge").ClassNameValue;
30
- itemIcon?: import("tailwind-merge").ClassNameValue;
20
+ [x: string]: import("tailwind-variants").ClassValue | {
21
+ input?: import("tailwind-variants").ClassValue;
22
+ base?: import("tailwind-variants").ClassValue;
23
+ group?: import("tailwind-variants").ClassValue;
24
+ list?: import("tailwind-variants").ClassValue;
25
+ separator?: import("tailwind-variants").ClassValue;
26
+ item?: import("tailwind-variants").ClassValue;
27
+ inputWrapper?: import("tailwind-variants").ClassValue;
28
+ inputIcon?: import("tailwind-variants").ClassValue;
29
+ empty?: import("tailwind-variants").ClassValue;
30
+ itemIcon?: import("tailwind-variants").ClassValue;
31
31
  };
32
32
  };
33
33
  } | {}, {
@@ -43,17 +43,17 @@ export declare const command: import("tailwind-variants").TVReturnType<{
43
43
  itemIcon: string;
44
44
  }, undefined, {
45
45
  [key: string]: {
46
- [key: string]: import("tailwind-merge").ClassNameValue | {
47
- input?: import("tailwind-merge").ClassNameValue;
48
- base?: import("tailwind-merge").ClassNameValue;
49
- group?: import("tailwind-merge").ClassNameValue;
50
- list?: import("tailwind-merge").ClassNameValue;
51
- separator?: import("tailwind-merge").ClassNameValue;
52
- item?: import("tailwind-merge").ClassNameValue;
53
- inputWrapper?: import("tailwind-merge").ClassNameValue;
54
- inputIcon?: import("tailwind-merge").ClassNameValue;
55
- empty?: import("tailwind-merge").ClassNameValue;
56
- itemIcon?: import("tailwind-merge").ClassNameValue;
46
+ [key: string]: import("tailwind-variants").ClassValue | {
47
+ input?: import("tailwind-variants").ClassValue;
48
+ base?: import("tailwind-variants").ClassValue;
49
+ group?: import("tailwind-variants").ClassValue;
50
+ list?: import("tailwind-variants").ClassValue;
51
+ separator?: import("tailwind-variants").ClassValue;
52
+ item?: import("tailwind-variants").ClassValue;
53
+ inputWrapper?: import("tailwind-variants").ClassValue;
54
+ inputIcon?: import("tailwind-variants").ClassValue;
55
+ empty?: import("tailwind-variants").ClassValue;
56
+ itemIcon?: import("tailwind-variants").ClassValue;
57
57
  };
58
58
  };
59
59
  } | {}, {
@@ -67,7 +67,7 @@ export declare const command: import("tailwind-variants").TVReturnType<{
67
67
  separator: string;
68
68
  item: string;
69
69
  itemIcon: string;
70
- }, import("tailwind-variants").TVReturnType<unknown, {
70
+ }, import("tailwind-variants").TVReturnTypeLike<unknown, {
71
71
  base: string;
72
72
  inputWrapper: string;
73
73
  inputIcon: string;
@@ -78,4 +78,4 @@ export declare const command: import("tailwind-variants").TVReturnType<{
78
78
  separator: string;
79
79
  item: string;
80
80
  itemIcon: string;
81
- }, undefined, unknown, unknown, undefined>>;
81
+ }>>;
@@ -38,7 +38,7 @@ export declare const pinInput: import("tailwind-variants").TVReturnType<{
38
38
  container: string;
39
39
  cell: string;
40
40
  supportingText: string;
41
- }, import("tailwind-variants").TVReturnType<{
41
+ }, import("tailwind-variants").TVReturnTypeLike<{
42
42
  error: {
43
43
  true: {
44
44
  cell: string;
@@ -57,4 +57,4 @@ export declare const pinInput: import("tailwind-variants").TVReturnType<{
57
57
  container: string;
58
58
  cell: string;
59
59
  supportingText: string;
60
- }, undefined, unknown, unknown, undefined>>;
60
+ }>>;
@@ -85,7 +85,7 @@ export declare const radioGroup: import("tailwind-variants").TVReturnType<{
85
85
  innerDot: string;
86
86
  label: string;
87
87
  supporting: string;
88
- }, import("tailwind-variants").TVReturnType<{
88
+ }, import("tailwind-variants").TVReturnTypeLike<{
89
89
  orientation: {
90
90
  vertical: {
91
91
  root: string;
@@ -128,5 +128,5 @@ export declare const radioGroup: import("tailwind-variants").TVReturnType<{
128
128
  innerDot: string;
129
129
  label: string;
130
130
  supporting: string;
131
- }, undefined, unknown, unknown, undefined>>;
131
+ }>>;
132
132
  export type RadioGroupVariants = VariantProps<typeof radioGroup>;
@@ -2,8 +2,8 @@ import { type VariantProps } from 'tailwind-variants';
2
2
  export type SearchVariants = VariantProps<typeof search>;
3
3
  export declare const search: import("tailwind-variants").TVReturnType<{
4
4
  shadow: {
5
- true: string;
6
- false: string;
5
+ true: "shadow-elevation-3";
6
+ false: "";
7
7
  };
8
8
  }, {
9
9
  base: string;
@@ -12,22 +12,22 @@ export declare const search: import("tailwind-variants").TVReturnType<{
12
12
  input: string;
13
13
  }, undefined, {
14
14
  shadow: {
15
- true: string;
16
- false: string;
15
+ true: "shadow-elevation-3";
16
+ false: "";
17
17
  };
18
18
  }, {
19
19
  base: string;
20
20
  leadingIcon: string;
21
21
  trailingIcon: string;
22
22
  input: string;
23
- }, import("tailwind-variants").TVReturnType<{
23
+ }, import("tailwind-variants").TVReturnTypeLike<{
24
24
  shadow: {
25
- true: string;
26
- false: string;
25
+ true: "shadow-elevation-3";
26
+ false: "";
27
27
  };
28
28
  }, {
29
29
  base: string;
30
30
  leadingIcon: string;
31
31
  trailingIcon: string;
32
32
  input: string;
33
- }, undefined, unknown, unknown, undefined>>;
33
+ }>>;
@@ -23,6 +23,7 @@ Powered by bits-ui for accessibility and behavior.
23
23
  options = [],
24
24
  placeholder,
25
25
  error = false,
26
+ variant = 'outlined',
26
27
  supportingText,
27
28
  leadingIconProps,
28
29
  triggerProps,
@@ -32,7 +33,7 @@ Powered by bits-ui for accessibility and behavior.
32
33
  ...rootProps
33
34
  }: SelectProps = $props();
34
35
 
35
- const cls = $derived(selectCls({ disabled, error }));
36
+ const cls = $derived(selectCls({ disabled, error, variant }));
36
37
 
37
38
  const selectedLabel = $derived.by(() => {
38
39
  for (const option of options as any[]) {
@@ -82,7 +83,7 @@ Powered by bits-ui for accessibility and behavior.
82
83
  easing: easeEmphasized,
83
84
  mode: 'scale'
84
85
  }}
85
- style:width="var(--bits-select-trigger-width)"
86
+ style:width="var(--bits-select-anchor-width)"
86
87
  style:max-width="min(calc(100vw - 32px), 560px)"
87
88
  >
88
89
  <Select.Viewport class="w-full">
@@ -1,6 +1,14 @@
1
1
  import { type VariantProps } from 'tailwind-variants';
2
2
  export type SelectVariants = VariantProps<typeof select>;
3
3
  export declare const select: import("tailwind-variants").TVReturnType<{
4
+ variant: {
5
+ filled: {
6
+ base: string;
7
+ };
8
+ outlined: {
9
+ base: string;
10
+ };
11
+ };
4
12
  error: {
5
13
  true: {
6
14
  base: string;
@@ -28,6 +36,14 @@ export declare const select: import("tailwind-variants").TVReturnType<{
28
36
  separator: string;
29
37
  supportingText: string;
30
38
  }, undefined, {
39
+ variant: {
40
+ filled: {
41
+ base: string;
42
+ };
43
+ outlined: {
44
+ base: string;
45
+ };
46
+ };
31
47
  error: {
32
48
  true: {
33
49
  base: string;
@@ -54,7 +70,15 @@ export declare const select: import("tailwind-variants").TVReturnType<{
54
70
  groupLabel: string;
55
71
  separator: string;
56
72
  supportingText: string;
57
- }, import("tailwind-variants").TVReturnType<{
73
+ }, import("tailwind-variants").TVReturnTypeLike<{
74
+ variant: {
75
+ filled: {
76
+ base: string;
77
+ };
78
+ outlined: {
79
+ base: string;
80
+ };
81
+ };
58
82
  error: {
59
83
  true: {
60
84
  base: string;
@@ -81,4 +105,4 @@ export declare const select: import("tailwind-variants").TVReturnType<{
81
105
  groupLabel: string;
82
106
  separator: string;
83
107
  supportingText: string;
84
- }, undefined, unknown, unknown, undefined>>;
108
+ }>>;