@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,175 +0,0 @@
1
- <!--
2
- @component
3
- SupportingPane provides a layout with a main content area and a supporting side pane.
4
-
5
- @see https://m3.material.io/foundations/layout/canonical-layouts/supporting-pane
6
- -->
7
- <script lang="ts">
8
- import clsx from 'clsx';
9
- import type { SupportingPaneProps } from './types.js';
10
- import { supportingPane } from './theme.js';
11
- import ButtonIcon from '../../buttons/ButtonIcon.svelte';
12
- import {
13
- easeEmphasized,
14
- easeEmphasizedAccel,
15
- easeEmphasizedDecel
16
- } from '../../../animation/easing.js';
17
- import { fade } from 'svelte/transition';
18
- import type { TransitionConfig } from 'svelte/transition';
19
-
20
- function slideWidth(node: HTMLElement): TransitionConfig {
21
- const width = node.offsetWidth;
22
- return {
23
- duration: 500,
24
- easing: easeEmphasized,
25
- css: (t) => `width: ${t * width}px; min-width: 0; overflow: hidden;`
26
- };
27
- }
28
-
29
- function sheetIn(_node: HTMLElement): TransitionConfig {
30
- return {
31
- duration: 500,
32
- easing: easeEmphasizedDecel,
33
- css: (t) => `transform: translateY(${(1 - t) * 100}%);`
34
- };
35
- }
36
-
37
- function sheetOut(_node: HTMLElement): TransitionConfig {
38
- return {
39
- duration: 280,
40
- easing: easeEmphasizedAccel,
41
- css: (t) => `transform: translateY(${(1 - t) * 100}%);`
42
- };
43
- }
44
-
45
- const {
46
- main,
47
- supporting,
48
- anchor = 'viewport',
49
- position = 'right',
50
- centered = false,
51
- rounded = true,
52
- gap = 'md',
53
- class: className,
54
- mainClass,
55
- full = true,
56
- supportingClass,
57
- collapsible,
58
- supportingWidth = 320,
59
- supportingTop = 0,
60
- mobileSheet = false,
61
- mobileSheetIcon = 'info',
62
- mobileTriggerClass
63
- }: SupportingPaneProps = $props();
64
-
65
- let supportingVisible = $state(true);
66
- let mobileSheetOpen = $state(false);
67
- let isLargeScreen = $state(false);
68
- const supportingId = 'supporting-pane';
69
-
70
- $effect(() => {
71
- const mq = window.matchMedia('(min-width: 1024px)');
72
- isLargeScreen = mq.matches;
73
- const handler = (e: MediaQueryListEvent) => {
74
- isLargeScreen = e.matches;
75
- };
76
- mq.addEventListener('change', handler);
77
- return () => mq.removeEventListener('change', handler);
78
- });
79
-
80
- const {
81
- base,
82
- main: mainCls,
83
- supporting: supportingCls
84
- } = $derived(supportingPane({ anchor, position, centered, full, rounded, gap }));
85
-
86
- const cssVars = $derived(
87
- anchor === 'viewport'
88
- ? `--supporting-pane-width: ${supportingWidth}px; --supporting-pane-top: ${supportingTop}px;`
89
- : ''
90
- );
91
-
92
- const mainViewportStyle = $derived(
93
- anchor === 'viewport' && isLargeScreen
94
- ? `transition: margin-${position === 'right' ? 'right' : 'left'} ${supportingVisible ? '500ms' : '280ms'} cubic-bezier(0.2, 0, 0, 1); margin-${position === 'right' ? 'right' : 'left'}: ${supportingVisible ? supportingWidth : 0}px;`
95
- : ''
96
- );
97
-
98
- const inlineSupportingClass = $derived(mobileSheet ? 'hidden lg:block' : '');
99
- </script>
100
-
101
- <div class={base({ class: clsx(className) })} style={cssVars}>
102
- <div class={mainCls({ class: clsx('relative', mainClass) })} style={mainViewportStyle}>
103
- {#if collapsible}
104
- <div class="top-3 right-3 z-10 hidden h-12 w-12 lg:absolute lg:block">
105
- <ButtonIcon
106
- type="button"
107
- variant="elevated"
108
- tooltipContent={supportingVisible ? 'Скрыть панель' : 'Показать панель'}
109
- size="xs"
110
- iconProps={{
111
- name: supportingVisible ? 'right_panel_close' : 'right_panel_open'
112
- }}
113
- aria-controls={supportingId}
114
- aria-expanded={supportingVisible}
115
- aria-label={supportingVisible ? 'Hide supporting pane' : 'Show supporting pane'}
116
- onclick={() => {
117
- supportingVisible = !supportingVisible;
118
- }}
119
- />
120
- </div>
121
- {/if}
122
- {@render main()}
123
- {#if mobileSheet}
124
- <ButtonIcon
125
- class={clsx('fixed right-4 bottom-6 z-30 lg:hidden', mobileTriggerClass)}
126
- type="button"
127
- variant="tonal"
128
- iconProps={{ name: mobileSheetIcon }}
129
- aria-label="Open supporting panel"
130
- onclick={() => (mobileSheetOpen = true)}
131
- />
132
- {/if}
133
- </div>
134
-
135
- {#if supportingVisible}
136
- <aside
137
- transition:slideWidth
138
- id={supportingId}
139
- class={supportingCls({
140
- class: clsx(supportingClass, inlineSupportingClass)
141
- })}
142
- data-position={position}
143
- >
144
- {@render supporting()}
145
- </aside>
146
- {/if}
147
- </div>
148
-
149
- {#if mobileSheet && mobileSheetOpen}
150
- <!-- Scrim -->
151
- <div
152
- class="bg-md-sys-color-scrim/40 fixed inset-0 z-40 lg:hidden"
153
- transition:fade={{ duration: 220 }}
154
- onclick={() => (mobileSheetOpen = false)}
155
- aria-hidden="true"
156
- ></div>
157
-
158
- <!-- Sheet -->
159
- <div
160
- class="bg-md-sys-color-surface-container-low fixed inset-x-0 bottom-0 z-50 max-h-[85dvh] scrollbar-none overflow-y-auto rounded-t-[28px] pb-[env(safe-area-inset-bottom)] lg:hidden"
161
- in:sheetIn
162
- out:sheetOut
163
- role="dialog"
164
- aria-modal="true"
165
- >
166
- <button
167
- class="flex w-full cursor-pointer items-center justify-center pt-4 pb-2"
168
- aria-label="Close supporting panel"
169
- onclick={() => (mobileSheetOpen = false)}
170
- >
171
- <div class="bg-md-sys-color-on-surface-variant/40 h-1 w-8 rounded-full"></div>
172
- </button>
173
- {@render supporting()}
174
- </div>
175
- {/if}
@@ -1,9 +0,0 @@
1
- import type { SupportingPaneProps } from './types.js';
2
- /**
3
- * SupportingPane provides a layout with a main content area and a supporting side pane.
4
- *
5
- * @see https://m3.material.io/foundations/layout/canonical-layouts/supporting-pane
6
- */
7
- declare const SupportingPane: import("svelte").Component<SupportingPaneProps, {}, "">;
8
- type SupportingPane = ReturnType<typeof SupportingPane>;
9
- export default SupportingPane;
@@ -1,5 +0,0 @@
1
- export * from './theme.js';
2
- export * from './types.js';
3
- export { default as SinglePane } from './SinglePane.svelte';
4
- export { default as SplitPane } from './SplitPane.svelte';
5
- export { default as SupportingPane } from './SupportingPane.svelte';
@@ -1,490 +0,0 @@
1
- import { type VariantProps } from 'tailwind-variants';
2
- export type SplitPaneVariants = VariantProps<typeof splitPane>;
3
- export type SinglePaneVariants = VariantProps<typeof singlePane>;
4
- export type SupportingPaneVariants = VariantProps<typeof supportingPane>;
5
- export declare const splitPane: import("tailwind-variants").TVReturnType<{
6
- anchor: {
7
- viewport: {
8
- left: string;
9
- handle: string;
10
- };
11
- parent: {
12
- base: string;
13
- left: string;
14
- handle: string;
15
- };
16
- sticky: {
17
- base: string;
18
- left: string;
19
- handle: string;
20
- right: string;
21
- };
22
- };
23
- full: {
24
- true: {
25
- left: string;
26
- right: string;
27
- };
28
- false: string;
29
- };
30
- rounded: {
31
- true: {
32
- left: string;
33
- right: string;
34
- };
35
- false: {
36
- left: string;
37
- right: string;
38
- };
39
- };
40
- }, {
41
- left: string;
42
- right: string;
43
- handle: string;
44
- handleGrip: string;
45
- handlePip: string;
46
- base: string;
47
- }, undefined, {
48
- anchor: {
49
- viewport: {
50
- left: string;
51
- handle: string;
52
- };
53
- parent: {
54
- base: string;
55
- left: string;
56
- handle: string;
57
- };
58
- sticky: {
59
- base: string;
60
- left: string;
61
- handle: string;
62
- right: string;
63
- };
64
- };
65
- full: {
66
- true: {
67
- left: string;
68
- right: string;
69
- };
70
- false: string;
71
- };
72
- rounded: {
73
- true: {
74
- left: string;
75
- right: string;
76
- };
77
- false: {
78
- left: string;
79
- right: string;
80
- };
81
- };
82
- }, {
83
- left: string;
84
- right: string;
85
- handle: string;
86
- handleGrip: string;
87
- handlePip: string;
88
- base: string;
89
- }, import("tailwind-variants").TVReturnType<{
90
- anchor: {
91
- viewport: {
92
- left: string;
93
- handle: string;
94
- };
95
- parent: {
96
- base: string;
97
- left: string;
98
- handle: string;
99
- };
100
- sticky: {
101
- base: string;
102
- left: string;
103
- handle: string;
104
- right: string;
105
- };
106
- };
107
- full: {
108
- true: {
109
- left: string;
110
- right: string;
111
- };
112
- false: string;
113
- };
114
- rounded: {
115
- true: {
116
- left: string;
117
- right: string;
118
- };
119
- false: {
120
- left: string;
121
- right: string;
122
- };
123
- };
124
- }, {
125
- left: string;
126
- right: string;
127
- handle: string;
128
- handleGrip: string;
129
- handlePip: string;
130
- base: string;
131
- }, undefined, unknown, unknown, undefined>>;
132
- export declare const singlePane: import("tailwind-variants").TVReturnType<{
133
- background: {
134
- true: string;
135
- false: string;
136
- };
137
- centered: {
138
- narrow: {
139
- content: string;
140
- };
141
- medium: {
142
- content: string;
143
- };
144
- none: string;
145
- };
146
- full: {
147
- true: string;
148
- false: string;
149
- };
150
- rounded: {
151
- true: {
152
- base: string;
153
- };
154
- false: {
155
- base: string;
156
- };
157
- };
158
- padding: {
159
- none: {
160
- content: string;
161
- };
162
- sm: {
163
- content: string;
164
- };
165
- md: {
166
- content: string;
167
- };
168
- lg: {
169
- content: string;
170
- };
171
- };
172
- gap: {
173
- none: {
174
- content: string;
175
- };
176
- sm: {
177
- content: string;
178
- };
179
- md: {
180
- content: string;
181
- };
182
- lg: {
183
- content: string;
184
- };
185
- xl: {
186
- content: string;
187
- };
188
- };
189
- }, {
190
- base: string;
191
- content: string;
192
- }, undefined, {
193
- background: {
194
- true: string;
195
- false: string;
196
- };
197
- centered: {
198
- narrow: {
199
- content: string;
200
- };
201
- medium: {
202
- content: string;
203
- };
204
- none: string;
205
- };
206
- full: {
207
- true: string;
208
- false: string;
209
- };
210
- rounded: {
211
- true: {
212
- base: string;
213
- };
214
- false: {
215
- base: string;
216
- };
217
- };
218
- padding: {
219
- none: {
220
- content: string;
221
- };
222
- sm: {
223
- content: string;
224
- };
225
- md: {
226
- content: string;
227
- };
228
- lg: {
229
- content: string;
230
- };
231
- };
232
- gap: {
233
- none: {
234
- content: string;
235
- };
236
- sm: {
237
- content: string;
238
- };
239
- md: {
240
- content: string;
241
- };
242
- lg: {
243
- content: string;
244
- };
245
- xl: {
246
- content: string;
247
- };
248
- };
249
- }, {
250
- base: string;
251
- content: string;
252
- }, import("tailwind-variants").TVReturnType<{
253
- background: {
254
- true: string;
255
- false: string;
256
- };
257
- centered: {
258
- narrow: {
259
- content: string;
260
- };
261
- medium: {
262
- content: string;
263
- };
264
- none: string;
265
- };
266
- full: {
267
- true: string;
268
- false: string;
269
- };
270
- rounded: {
271
- true: {
272
- base: string;
273
- };
274
- false: {
275
- base: string;
276
- };
277
- };
278
- padding: {
279
- none: {
280
- content: string;
281
- };
282
- sm: {
283
- content: string;
284
- };
285
- md: {
286
- content: string;
287
- };
288
- lg: {
289
- content: string;
290
- };
291
- };
292
- gap: {
293
- none: {
294
- content: string;
295
- };
296
- sm: {
297
- content: string;
298
- };
299
- md: {
300
- content: string;
301
- };
302
- lg: {
303
- content: string;
304
- };
305
- xl: {
306
- content: string;
307
- };
308
- };
309
- }, {
310
- base: string;
311
- content: string;
312
- }, undefined, unknown, unknown, undefined>>;
313
- export declare const supportingPane: import("tailwind-variants").TVReturnType<{
314
- anchor: {
315
- viewport: {
316
- supporting: string;
317
- };
318
- parent: {
319
- supporting: string;
320
- };
321
- };
322
- position: {
323
- right: {
324
- base: string;
325
- supporting: string;
326
- };
327
- left: {
328
- base: string;
329
- supporting: string;
330
- };
331
- };
332
- centered: {
333
- true: {
334
- base: string;
335
- };
336
- false: {
337
- base: string;
338
- };
339
- };
340
- gap: {
341
- none: {
342
- main: string;
343
- };
344
- sm: {
345
- main: string;
346
- };
347
- md: {
348
- main: string;
349
- };
350
- lg: {
351
- main: string;
352
- };
353
- };
354
- full: {
355
- true: {
356
- base: string;
357
- };
358
- false: string;
359
- };
360
- rounded: {
361
- true: {
362
- main: string;
363
- };
364
- false: {
365
- main: string;
366
- };
367
- };
368
- }, {
369
- base: string;
370
- main: string;
371
- supporting: string;
372
- }, undefined, {
373
- anchor: {
374
- viewport: {
375
- supporting: string;
376
- };
377
- parent: {
378
- supporting: string;
379
- };
380
- };
381
- position: {
382
- right: {
383
- base: string;
384
- supporting: string;
385
- };
386
- left: {
387
- base: string;
388
- supporting: string;
389
- };
390
- };
391
- centered: {
392
- true: {
393
- base: string;
394
- };
395
- false: {
396
- base: string;
397
- };
398
- };
399
- gap: {
400
- none: {
401
- main: string;
402
- };
403
- sm: {
404
- main: string;
405
- };
406
- md: {
407
- main: string;
408
- };
409
- lg: {
410
- main: string;
411
- };
412
- };
413
- full: {
414
- true: {
415
- base: string;
416
- };
417
- false: string;
418
- };
419
- rounded: {
420
- true: {
421
- main: string;
422
- };
423
- false: {
424
- main: string;
425
- };
426
- };
427
- }, {
428
- base: string;
429
- main: string;
430
- supporting: string;
431
- }, import("tailwind-variants").TVReturnType<{
432
- anchor: {
433
- viewport: {
434
- supporting: string;
435
- };
436
- parent: {
437
- supporting: string;
438
- };
439
- };
440
- position: {
441
- right: {
442
- base: string;
443
- supporting: string;
444
- };
445
- left: {
446
- base: string;
447
- supporting: string;
448
- };
449
- };
450
- centered: {
451
- true: {
452
- base: string;
453
- };
454
- false: {
455
- base: string;
456
- };
457
- };
458
- gap: {
459
- none: {
460
- main: string;
461
- };
462
- sm: {
463
- main: string;
464
- };
465
- md: {
466
- main: string;
467
- };
468
- lg: {
469
- main: string;
470
- };
471
- };
472
- full: {
473
- true: {
474
- base: string;
475
- };
476
- false: string;
477
- };
478
- rounded: {
479
- true: {
480
- main: string;
481
- };
482
- false: {
483
- main: string;
484
- };
485
- };
486
- }, {
487
- base: string;
488
- main: string;
489
- supporting: string;
490
- }, undefined, unknown, unknown, undefined>>;