@noxlovette/material 0.3.3 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) 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/dist/utils/theme.svelte.js +1 -1
  259. package/package.json +39 -38
  260. package/bin/install-skill.js +0 -29
  261. package/dist/components/buttons/button-group/ButtonGroupItem.svelte +0 -41
  262. package/dist/components/buttons/button-group/ButtonGroupItem.svelte.d.ts +0 -8
  263. package/dist/components/buttons/connected/ConnectedButtons.svelte +0 -14
  264. package/dist/components/buttons/connected/ConnectedButtons.svelte.d.ts +0 -8
  265. package/dist/components/containers/menu-item/MenuItem.svelte +0 -74
  266. package/dist/components/containers/merger/InputMerger.svelte +0 -24
  267. package/dist/components/containers/merger/InputMerger.svelte.d.ts +0 -14
  268. package/dist/components/containers/merger/index.d.ts +0 -2
  269. package/dist/components/containers/merger/theme.d.ts +0 -1
  270. package/dist/components/containers/merger/theme.js +0 -4
  271. package/dist/components/containers/panes/SinglePane.stories.svelte +0 -67
  272. package/dist/components/containers/panes/SinglePane.svelte +0 -32
  273. package/dist/components/containers/panes/SinglePane.svelte.d.ts +0 -5
  274. package/dist/components/containers/panes/SplitPane.stories.svelte +0 -124
  275. package/dist/components/containers/panes/SplitPane.svelte +0 -144
  276. package/dist/components/containers/panes/SplitPane.svelte.d.ts +0 -8
  277. package/dist/components/containers/panes/SupportingPane.stories.svelte +0 -113
  278. package/dist/components/containers/panes/SupportingPane.svelte +0 -175
  279. package/dist/components/containers/panes/SupportingPane.svelte.d.ts +0 -9
  280. package/dist/components/containers/panes/index.d.ts +0 -5
  281. package/dist/components/containers/panes/theme.d.ts +0 -490
  282. package/dist/components/containers/panes/theme.js +0 -185
  283. package/dist/components/containers/panes/types.d.ts +0 -108
  284. package/dist/components/nav/rail/RailNavContext.svelte +0 -14
  285. package/dist/components/nav/rail/RailNavContext.svelte.d.ts +0 -8
  286. /package/dist/components/{containers/menu-item → buttons/split-button}/types.js +0 -0
  287. /package/dist/components/{containers/panes → chips}/types.js +0 -0
  288. /package/dist/components/containers/{menu-item → menu/menu-item}/index.d.ts +0 -0
  289. /package/dist/components/containers/{menu-item → menu/menu-item}/index.js +0 -0
@@ -1,185 +0,0 @@
1
- import { tv } from 'tailwind-variants';
2
- export const splitPane = tv({
3
- slots: {
4
- left: 'top-0 bottom-0 z-20 overflow-y-scroll overflow-x-visible bg-md-sys-color-surface-container scrollbar-none hidden md:block',
5
- right: 'flex flex-col box-border ml-0 md:ml-[var(--splitpane-left-width)]',
6
- handle: 'handle group hidden md:block top-0 bottom-0 z-30 w-3 -ml-1 cursor-col-resize touch-none bg-transparent hover:bg-md-sys-color-outline/20 translate-x-1.5',
7
- handleGrip: 'absolute left-1/2 top-1/2 flex h-12 w-1 -translate-x-1/2 -translate-y-1/2 flex-col items-center justify-center gap-1 rounded-full bg-md-sys-color-secondary group-hover:w-0.5',
8
- handlePip: 'h-0.5 w-0.5 rounded-full bg-md-sys-color-on-primary/80',
9
- base: ''
10
- },
11
- variants: {
12
- anchor: {
13
- viewport: {
14
- left: 'md:fixed',
15
- handle: 'fixed'
16
- },
17
- parent: {
18
- base: 'relative',
19
- left: 'md:absolute',
20
- handle: 'absolute'
21
- },
22
- // In-flow flex row: left/right sit side by side and the left pane sticks
23
- // as the page scrolls, instead of being fixed/absolute. Use for nested
24
- // sidebars (e.g. a secondary docs nav) that live inside an already
25
- // width-offset content column, where "viewport" would fix to the true
26
- // left edge and "parent" would lose sticky-while-scrolling behaviour.
27
- sticky: {
28
- base: 'md:flex md:flex-row',
29
- left: 'shrink-0 md:sticky md:top-0 md:self-start md:max-h-dvh',
30
- handle: 'md:sticky md:top-0 md:ml-0 md:h-dvh md:translate-x-0 md:self-start',
31
- right: 'md:ml-0 md:grow md:min-w-0'
32
- }
33
- },
34
- full: {
35
- true: {
36
- left: 'md:bottom-[30px]',
37
- right: 'md:min-h-[calc(100dvh-30px)]'
38
- },
39
- false: ''
40
- },
41
- rounded: {
42
- true: {
43
- left: 'md:rounded-t-lg md:rounded-b-lg',
44
- right: 'md:rounded-b-lg'
45
- },
46
- false: {
47
- left: '',
48
- right: ''
49
- }
50
- }
51
- },
52
- defaultVariants: {
53
- anchor: 'viewport',
54
- rounded: true
55
- }
56
- });
57
- export const singlePane = tv({
58
- slots: {
59
- base: 'flex flex-col box-border overflow-clip items-center',
60
- content: 'flex flex-1 flex-col w-full max-w-7xl mx-auto'
61
- },
62
- variants: {
63
- background: {
64
- true: 'bg-md-sys-color-surface',
65
- false: ''
66
- },
67
- centered: {
68
- narrow: {
69
- content: 'max-w-2xl'
70
- },
71
- medium: {
72
- content: 'max-w-5xl'
73
- },
74
- none: ''
75
- },
76
- full: {
77
- true: 'min-h-dvh',
78
- false: ''
79
- },
80
- rounded: {
81
- true: {
82
- base: 'md:rounded-t-lg'
83
- },
84
- false: {
85
- base: ''
86
- }
87
- },
88
- padding: {
89
- none: { content: 'p-0' },
90
- sm: { content: 'p-3 md:p-4' },
91
- md: { content: 'p-4 md:p-6 lg:p-8' },
92
- lg: { content: 'p-6 md:p-8 lg:p-12' }
93
- },
94
- gap: {
95
- none: { content: 'gap-0' },
96
- sm: { content: 'gap-2' },
97
- md: { content: 'gap-3' },
98
- lg: { content: 'gap-4' },
99
- xl: { content: 'gap-6' }
100
- }
101
- },
102
- defaultVariants: {
103
- rounded: true
104
- }
105
- });
106
- export const supportingPane = tv({
107
- slots: {
108
- base: 'flex w-full flex-col lg:flex-row',
109
- main: 'bg-md-sys-color-surface box-border grow order-2 lg:order-1',
110
- supporting: 'text-md-sys-color-on-surface-container box-border order-1 lg:order-2 min-w-0 lg:w-80'
111
- },
112
- variants: {
113
- anchor: {
114
- // supporting scrolls independently; main scrolls the page
115
- viewport: {
116
- supporting: 'lg:fixed lg:top-[var(--supporting-pane-top,0px)] lg:bottom-0 lg:w-[var(--supporting-pane-width,320px)] lg:overflow-y-auto scrollbar-none'
117
- },
118
- // supporting sticks as user scrolls the page (classic sticky)
119
- parent: {
120
- supporting: 'lg:sticky lg:top-4 overflow-y-scroll'
121
- }
122
- },
123
- position: {
124
- right: {
125
- base: 'lg:flex-row',
126
- supporting: ''
127
- },
128
- left: {
129
- base: 'lg:flex-row-reverse',
130
- supporting: ''
131
- }
132
- },
133
- centered: {
134
- true: {
135
- base: 'max-w-5xl mx-auto'
136
- },
137
- false: {
138
- base: 'justify-between'
139
- }
140
- },
141
- gap: {
142
- none: { main: 'gap-0' },
143
- sm: { main: 'gap-4' },
144
- md: { main: 'gap-6' },
145
- lg: { main: 'gap-8' }
146
- },
147
- full: {
148
- true: { base: 'min-h-dvh' },
149
- false: ''
150
- },
151
- rounded: {
152
- true: {
153
- main: 'rounded-t-lg'
154
- },
155
- false: {
156
- main: ''
157
- }
158
- }
159
- },
160
- compoundVariants: [
161
- {
162
- anchor: 'viewport',
163
- position: 'right',
164
- class: {
165
- supporting: 'lg:right-0',
166
- main: 'lg:mr-[var(--supporting-pane-width,320px)]'
167
- }
168
- },
169
- {
170
- anchor: 'viewport',
171
- position: 'left',
172
- class: {
173
- supporting: 'lg:left-0',
174
- main: 'lg:ml-[var(--supporting-pane-width,320px)]'
175
- }
176
- }
177
- ],
178
- defaultVariants: {
179
- anchor: 'parent',
180
- position: 'right',
181
- centered: true,
182
- rounded: true,
183
- gap: 'md'
184
- }
185
- });
@@ -1,108 +0,0 @@
1
- import type { DivAttrs } from '../../../utils/index.js';
2
- import type { Snippet } from 'svelte';
3
- import type { SinglePaneVariants, SplitPaneVariants, SupportingPaneVariants } from './theme.js';
4
- /**
5
- * Props for the SplitPane component.
6
- */
7
- export type SplitPaneProps = SplitPaneVariants & DivAttrs & {
8
- /** Left pane content. */
9
- left: Snippet;
10
- /** Right pane content. */
11
- right: Snippet;
12
- /**
13
- * Initial left pane width in px.
14
- * @default 396
15
- */
16
- leftWidth?: number;
17
- /**
18
- * Minimum left pane width in px.
19
- * @default 280
20
- */
21
- minLeft?: number;
22
- /**
23
- * Maximum left pane width in px.
24
- * @default 720
25
- */
26
- maxLeft?: number;
27
- /**
28
- * LocalStorage key used to persist the split width.
29
- * @default 'splitpane:leftWidth'
30
- */
31
- storageKey?: string;
32
- /**
33
- * Whether to persist split width.
34
- * @default true
35
- */
36
- persist?: boolean;
37
- /** Called when the component wants to update external footer padding. */
38
- onPaddingChange?: (padding: number) => void;
39
- /**
40
- * The anchor mode for the panes.
41
- * - `viewport` — left pane fixes to the true browser edge (full-page app layouts).
42
- * - `parent` — left pane is absolutely positioned within a `relative` ancestor
43
- * (embedded/contained demos, does not stick while scrolling).
44
- * - `sticky` — left/right sit in normal flex flow and the left pane sticks as
45
- * the page scrolls. Use for a sidebar nested inside other offset content
46
- * (e.g. a secondary docs nav inside an already Rail-offset column), where
47
- * `viewport` would fix to the wrong edge and `parent` would lose sticky
48
- * behaviour. Typically paired with `resizable={false}`.
49
- */
50
- anchor?: SplitPaneVariants['anchor'];
51
- /**
52
- * Whether the split is user-draggable. Set to `false` for a static sidebar —
53
- * hides the drag handle and skips width persistence.
54
- * @default true
55
- */
56
- resizable?: boolean;
57
- /**
58
- * Which pane to show on mobile. On desktop both panes are always visible.
59
- * @default 'right'
60
- */
61
- mobilePane?: 'left' | 'right';
62
- /** Optional class for the left pane. */
63
- leftClass?: string;
64
- /** Optional class for the right pane. */
65
- rightClass?: string;
66
- };
67
- /**
68
- * Props for the SupportingPane component.
69
- */
70
- export type SupportingPaneProps = SupportingPaneVariants & DivAttrs & {
71
- /** Main pane content. */
72
- main: Snippet;
73
- /** Supporting pane content. */
74
- supporting: Snippet;
75
- /** Optional class for the main pane. */
76
- mainClass?: string;
77
- /** Optional class for the supporting pane. */
78
- supportingClass?: string;
79
- /** Whether the supporting pane can be collapsed (desktop). */
80
- collapsible?: boolean;
81
- /** Show a bottom sheet on mobile instead of inline stacking. @default false */
82
- mobileSheet?: boolean;
83
- /** Material symbol name for the mobile sheet trigger button. @default 'info' */
84
- mobileSheetIcon?: string;
85
- /** Extra class for the mobile trigger button (use to position above navbars). */
86
- mobileTriggerClass?: string;
87
- /**
88
- * Width of the supporting pane in px (viewport anchor mode).
89
- * @default 320
90
- */
91
- supportingWidth?: number;
92
- /**
93
- * Top offset of the fixed supporting pane in px (viewport anchor mode).
94
- * @default 0
95
- */
96
- supportingTop?: number;
97
- };
98
- /**
99
- * Props for the SinglePane component.
100
- */
101
- export type SinglePaneProps = SinglePaneVariants & DivAttrs & {
102
- /** Pane content. */
103
- children: Snippet;
104
- /** Optional root class. */
105
- class?: string;
106
- /** Optional content container class. */
107
- contentClass?: string;
108
- };
@@ -1,14 +0,0 @@
1
- <script lang="ts">
2
- import { setContext } from 'svelte';
3
- import type { Snippet } from 'svelte';
4
-
5
- let { children, mobile = false }: { children: Snippet; mobile?: boolean } = $props();
6
-
7
- setContext('railMode', {
8
- get mobile() {
9
- return mobile;
10
- }
11
- });
12
- </script>
13
-
14
- {@render children()}
@@ -1,8 +0,0 @@
1
- import type { Snippet } from 'svelte';
2
- type $$ComponentProps = {
3
- children: Snippet;
4
- mobile?: boolean;
5
- };
6
- declare const RailNavContext: import("svelte").Component<$$ComponentProps, {}, "">;
7
- type RailNavContext = ReturnType<typeof RailNavContext>;
8
- export default RailNavContext;