@noxlovette/material 0.1.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 (537) hide show
  1. package/dist/actions/clickOutside.d.ts +3 -0
  2. package/dist/actions/clickOutside.js +13 -0
  3. package/dist/actions/floating.d.ts +20 -0
  4. package/dist/actions/floating.js +87 -0
  5. package/dist/actions/index.d.ts +4 -0
  6. package/dist/actions/index.js +4 -0
  7. package/dist/actions/keyboard.d.ts +3 -0
  8. package/dist/actions/keyboard.js +14 -0
  9. package/dist/actions/positionFloating.d.ts +10 -0
  10. package/dist/actions/positionFloating.js +59 -0
  11. package/dist/animation/containerTransform.d.ts +13 -0
  12. package/dist/animation/containerTransform.js +138 -0
  13. package/dist/animation/easing.d.ts +6 -0
  14. package/dist/animation/easing.js +78 -0
  15. package/dist/animation/enterExit.d.ts +3 -0
  16. package/dist/animation/enterExit.js +23 -0
  17. package/dist/animation/index.d.ts +5 -0
  18. package/dist/animation/index.js +5 -0
  19. package/dist/animation/outroClass.d.ts +3 -0
  20. package/dist/animation/outroClass.js +20 -0
  21. package/dist/animation/shapes.d.ts +35 -0
  22. package/dist/animation/shapes.js +37 -0
  23. package/dist/animation/shapesAnimatable.d.ts +35 -0
  24. package/dist/animation/shapesAnimatable.js +41 -0
  25. package/dist/animation/shapesAnimatableSmall.d.ts +29 -0
  26. package/dist/animation/shapesAnimatableSmall.js +33 -0
  27. package/dist/animation/sharedAxisTransition.d.ts +38 -0
  28. package/dist/animation/sharedAxisTransition.js +23 -0
  29. package/dist/animation/transition.d.ts +4 -0
  30. package/dist/animation/transition.js +4 -0
  31. package/dist/animation/transitionTypes.d.ts +8 -0
  32. package/dist/animation/transitionTypes.js +1 -0
  33. package/dist/components/badge/Badge.svelte +26 -0
  34. package/dist/components/badge/Badge.svelte.d.ts +12 -0
  35. package/dist/components/badge/index.d.ts +3 -0
  36. package/dist/components/badge/index.js +6 -0
  37. package/dist/components/badge/theme.d.ts +16 -0
  38. package/dist/components/badge/theme.js +10 -0
  39. package/dist/components/badge/types.d.ts +18 -0
  40. package/dist/components/badge/types.js +1 -0
  41. package/dist/components/buttons/Button.svelte +53 -0
  42. package/dist/components/buttons/Button.svelte.d.ts +16 -0
  43. package/dist/components/buttons/ButtonIcon.svelte +79 -0
  44. package/dist/components/buttons/ButtonIcon.svelte.d.ts +14 -0
  45. package/dist/components/buttons/FAB.svelte +81 -0
  46. package/dist/components/buttons/FAB.svelte.d.ts +14 -0
  47. package/dist/components/buttons/FABMenu.svelte +86 -0
  48. package/dist/components/buttons/FABMenu.svelte.d.ts +8 -0
  49. package/dist/components/buttons/FABMenuItem.svelte +38 -0
  50. package/dist/components/buttons/FABMenuItem.svelte.d.ts +5 -0
  51. package/dist/components/buttons/Toggle.svelte +62 -0
  52. package/dist/components/buttons/Toggle.svelte.d.ts +11 -0
  53. package/dist/components/buttons/connected/ConnectedButtons.svelte +14 -0
  54. package/dist/components/buttons/connected/ConnectedButtons.svelte.d.ts +8 -0
  55. package/dist/components/buttons/connected/index.d.ts +2 -0
  56. package/dist/components/buttons/connected/index.js +5 -0
  57. package/dist/components/buttons/connected/types.d.ts +14 -0
  58. package/dist/components/buttons/connected/types.js +1 -0
  59. package/dist/components/buttons/index.d.ts +9 -0
  60. package/dist/components/buttons/index.js +13 -0
  61. package/dist/components/buttons/theme.d.ts +539 -0
  62. package/dist/components/buttons/theme.js +495 -0
  63. package/dist/components/buttons/types.d.ts +201 -0
  64. package/dist/components/buttons/types.js +1 -0
  65. package/dist/components/cards/Card.svelte +39 -0
  66. package/dist/components/cards/Card.svelte.d.ts +13 -0
  67. package/dist/components/cards/index.d.ts +3 -0
  68. package/dist/components/cards/index.js +6 -0
  69. package/dist/components/cards/theme.d.ts +37 -0
  70. package/dist/components/cards/theme.js +34 -0
  71. package/dist/components/cards/types.d.ts +31 -0
  72. package/dist/components/cards/types.js +1 -0
  73. package/dist/components/containers/app/App.svelte +32 -0
  74. package/dist/components/containers/app/App.svelte.d.ts +8 -0
  75. package/dist/components/containers/app/index.d.ts +3 -0
  76. package/dist/components/containers/app/index.js +6 -0
  77. package/dist/components/containers/app/theme.d.ts +3 -0
  78. package/dist/components/containers/app/theme.js +4 -0
  79. package/dist/components/containers/app/types.d.ts +25 -0
  80. package/dist/components/containers/app/types.js +1 -0
  81. package/dist/components/containers/bottom-sheet/BottomSheet.svelte +125 -0
  82. package/dist/components/containers/bottom-sheet/BottomSheet.svelte.d.ts +12 -0
  83. package/dist/components/containers/bottom-sheet/index.d.ts +2 -0
  84. package/dist/components/containers/bottom-sheet/index.js +5 -0
  85. package/dist/components/containers/bottom-sheet/types.d.ts +16 -0
  86. package/dist/components/containers/bottom-sheet/types.js +1 -0
  87. package/dist/components/containers/context-menu/ContextMenu.svelte +152 -0
  88. package/dist/components/containers/context-menu/ContextMenu.svelte.d.ts +23 -0
  89. package/dist/components/containers/context-menu/index.d.ts +3 -0
  90. package/dist/components/containers/context-menu/index.js +6 -0
  91. package/dist/components/containers/context-menu/theme.d.ts +51 -0
  92. package/dist/components/containers/context-menu/theme.js +21 -0
  93. package/dist/components/containers/context-menu/types.d.ts +45 -0
  94. package/dist/components/containers/context-menu/types.js +1 -0
  95. package/dist/components/containers/dialogue/Dialogue.svelte +134 -0
  96. package/dist/components/containers/dialogue/Dialogue.svelte.d.ts +14 -0
  97. package/dist/components/containers/dialogue/index.d.ts +3 -0
  98. package/dist/components/containers/dialogue/index.js +6 -0
  99. package/dist/components/containers/dialogue/theme.d.ts +51 -0
  100. package/dist/components/containers/dialogue/theme.js +10 -0
  101. package/dist/components/containers/dialogue/types.d.ts +46 -0
  102. package/dist/components/containers/dialogue/types.js +1 -0
  103. package/dist/components/containers/divider/Divider.svelte +100 -0
  104. package/dist/components/containers/divider/Divider.svelte.d.ts +13 -0
  105. package/dist/components/containers/divider/index.d.ts +3 -0
  106. package/dist/components/containers/divider/index.js +6 -0
  107. package/dist/components/containers/divider/theme.d.ts +33 -0
  108. package/dist/components/containers/divider/theme.js +15 -0
  109. package/dist/components/containers/divider/types.d.ts +27 -0
  110. package/dist/components/containers/divider/types.js +1 -0
  111. package/dist/components/containers/index.d.ts +15 -0
  112. package/dist/components/containers/index.js +17 -0
  113. package/dist/components/containers/link-preview/LinkPreview.svelte +64 -0
  114. package/dist/components/containers/link-preview/LinkPreview.svelte.d.ts +10 -0
  115. package/dist/components/containers/link-preview/index.d.ts +3 -0
  116. package/dist/components/containers/link-preview/index.js +6 -0
  117. package/dist/components/containers/link-preview/theme.d.ts +33 -0
  118. package/dist/components/containers/link-preview/theme.js +7 -0
  119. package/dist/components/containers/link-preview/types.d.ts +22 -0
  120. package/dist/components/containers/link-preview/types.js +1 -0
  121. package/dist/components/containers/list/ListItem.svelte +79 -0
  122. package/dist/components/containers/list/ListItem.svelte.d.ts +4 -0
  123. package/dist/components/containers/list/index.d.ts +3 -0
  124. package/dist/components/containers/list/index.js +6 -0
  125. package/dist/components/containers/list/theme.d.ts +67 -0
  126. package/dist/components/containers/list/theme.js +27 -0
  127. package/dist/components/containers/list/types.d.ts +48 -0
  128. package/dist/components/containers/list/types.js +1 -0
  129. package/dist/components/containers/menu/Menu.svelte +70 -0
  130. package/dist/components/containers/menu/Menu.svelte.d.ts +20 -0
  131. package/dist/components/containers/menu/index.d.ts +2 -0
  132. package/dist/components/containers/menu/index.js +5 -0
  133. package/dist/components/containers/menu/types.d.ts +40 -0
  134. package/dist/components/containers/menu/types.js +1 -0
  135. package/dist/components/containers/menu-item/MenuItem.svelte +75 -0
  136. package/dist/components/containers/menu-item/MenuItem.svelte.d.ts +20 -0
  137. package/dist/components/containers/menu-item/index.d.ts +2 -0
  138. package/dist/components/containers/menu-item/index.js +5 -0
  139. package/dist/components/containers/menu-item/types.d.ts +36 -0
  140. package/dist/components/containers/menu-item/types.js +1 -0
  141. package/dist/components/containers/merger/InputMerger.svelte +29 -0
  142. package/dist/components/containers/merger/InputMerger.svelte.d.ts +14 -0
  143. package/dist/components/containers/merger/index.d.ts +1 -0
  144. package/dist/components/containers/merger/index.js +3 -0
  145. package/dist/components/containers/panes/SinglePane.svelte +29 -0
  146. package/dist/components/containers/panes/SinglePane.svelte.d.ts +5 -0
  147. package/dist/components/containers/panes/SplitPane.svelte +132 -0
  148. package/dist/components/containers/panes/SplitPane.svelte.d.ts +5 -0
  149. package/dist/components/containers/panes/SupportingPane.svelte +81 -0
  150. package/dist/components/containers/panes/SupportingPane.svelte.d.ts +9 -0
  151. package/dist/components/containers/panes/index.d.ts +5 -0
  152. package/dist/components/containers/panes/index.js +8 -0
  153. package/dist/components/containers/panes/theme.d.ts +331 -0
  154. package/dist/components/containers/panes/theme.js +152 -0
  155. package/dist/components/containers/panes/types.d.ts +81 -0
  156. package/dist/components/containers/panes/types.js +1 -0
  157. package/dist/components/containers/popover/Popover.svelte +82 -0
  158. package/dist/components/containers/popover/Popover.svelte.d.ts +10 -0
  159. package/dist/components/containers/popover/index.d.ts +3 -0
  160. package/dist/components/containers/popover/index.js +6 -0
  161. package/dist/components/containers/popover/theme.d.ts +51 -0
  162. package/dist/components/containers/popover/theme.js +10 -0
  163. package/dist/components/containers/popover/types.d.ts +22 -0
  164. package/dist/components/containers/popover/types.js +1 -0
  165. package/dist/components/containers/scroll-area/ScrollArea.svelte +41 -0
  166. package/dist/components/containers/scroll-area/ScrollArea.svelte.d.ts +5 -0
  167. package/dist/components/containers/scroll-area/index.d.ts +3 -0
  168. package/dist/components/containers/scroll-area/index.js +6 -0
  169. package/dist/components/containers/scroll-area/theme.d.ts +55 -0
  170. package/dist/components/containers/scroll-area/theme.js +26 -0
  171. package/dist/components/containers/scroll-area/types.d.ts +26 -0
  172. package/dist/components/containers/scroll-area/types.js +1 -0
  173. package/dist/components/containers/side-sheet/SideSheet.svelte +21 -0
  174. package/dist/components/containers/side-sheet/SideSheet.svelte.d.ts +9 -0
  175. package/dist/components/containers/side-sheet/index.d.ts +2 -0
  176. package/dist/components/containers/side-sheet/index.js +5 -0
  177. package/dist/components/containers/side-sheet/types.d.ts +18 -0
  178. package/dist/components/containers/side-sheet/types.js +1 -0
  179. package/dist/components/containers/stack/HStack.svelte +23 -0
  180. package/dist/components/containers/stack/HStack.svelte.d.ts +5 -0
  181. package/dist/components/containers/stack/VStack.svelte +23 -0
  182. package/dist/components/containers/stack/VStack.svelte.d.ts +5 -0
  183. package/dist/components/containers/stack/index.d.ts +4 -0
  184. package/dist/components/containers/stack/index.js +7 -0
  185. package/dist/components/containers/stack/theme.d.ts +60 -0
  186. package/dist/components/containers/stack/theme.js +24 -0
  187. package/dist/components/containers/stack/types.d.ts +12 -0
  188. package/dist/components/containers/stack/types.js +1 -0
  189. package/dist/components/date/DateField.svelte +155 -0
  190. package/dist/components/date/DateField.svelte.d.ts +12 -0
  191. package/dist/components/date/DateRangeField.svelte +211 -0
  192. package/dist/components/date/DateRangeField.svelte.d.ts +13 -0
  193. package/dist/components/date/index.d.ts +4 -0
  194. package/dist/components/date/index.js +7 -0
  195. package/dist/components/date/theme.d.ts +158 -0
  196. package/dist/components/date/theme.js +149 -0
  197. package/dist/components/date/types.d.ts +64 -0
  198. package/dist/components/date/types.js +1 -0
  199. package/dist/components/forms/checkbox/Checkbox.svelte +66 -0
  200. package/dist/components/forms/checkbox/Checkbox.svelte.d.ts +10 -0
  201. package/dist/components/forms/checkbox/index.d.ts +3 -0
  202. package/dist/components/forms/checkbox/index.js +6 -0
  203. package/dist/components/forms/checkbox/theme.d.ts +141 -0
  204. package/dist/components/forms/checkbox/theme.js +69 -0
  205. package/dist/components/forms/checkbox/types.d.ts +39 -0
  206. package/dist/components/forms/checkbox/types.js +1 -0
  207. package/dist/components/forms/command/Command.svelte +14 -0
  208. package/dist/components/forms/command/Command.svelte.d.ts +5 -0
  209. package/dist/components/forms/command/CommandEmpty.svelte +14 -0
  210. package/dist/components/forms/command/CommandEmpty.svelte.d.ts +4 -0
  211. package/dist/components/forms/command/CommandGroup.svelte +17 -0
  212. package/dist/components/forms/command/CommandGroup.svelte.d.ts +4 -0
  213. package/dist/components/forms/command/CommandInput.svelte +18 -0
  214. package/dist/components/forms/command/CommandInput.svelte.d.ts +4 -0
  215. package/dist/components/forms/command/CommandItem.svelte +14 -0
  216. package/dist/components/forms/command/CommandItem.svelte.d.ts +4 -0
  217. package/dist/components/forms/command/CommandList.svelte +14 -0
  218. package/dist/components/forms/command/CommandList.svelte.d.ts +4 -0
  219. package/dist/components/forms/command/CommandSeparator.svelte +12 -0
  220. package/dist/components/forms/command/CommandSeparator.svelte.d.ts +4 -0
  221. package/dist/components/forms/command/index.d.ts +9 -0
  222. package/dist/components/forms/command/index.js +12 -0
  223. package/dist/components/forms/command/theme.d.ts +81 -0
  224. package/dist/components/forms/command/theme.js +15 -0
  225. package/dist/components/forms/command/types.d.ts +31 -0
  226. package/dist/components/forms/command/types.js +1 -0
  227. package/dist/components/forms/index.d.ts +12 -0
  228. package/dist/components/forms/index.js +14 -0
  229. package/dist/components/forms/multipart/Multipart.svelte +532 -0
  230. package/dist/components/forms/multipart/Multipart.svelte.d.ts +51 -0
  231. package/dist/components/forms/multipart/index.d.ts +1 -0
  232. package/dist/components/forms/multipart/index.js +3 -0
  233. package/dist/components/forms/pin/PinInput.svelte +51 -0
  234. package/dist/components/forms/pin/PinInput.svelte.d.ts +10 -0
  235. package/dist/components/forms/pin/index.d.ts +3 -0
  236. package/dist/components/forms/pin/index.js +6 -0
  237. package/dist/components/forms/pin/theme.d.ts +60 -0
  238. package/dist/components/forms/pin/theme.js +33 -0
  239. package/dist/components/forms/pin/types.d.ts +29 -0
  240. package/dist/components/forms/pin/types.js +1 -0
  241. package/dist/components/forms/radio-group/RadioGroup.svelte +61 -0
  242. package/dist/components/forms/radio-group/RadioGroup.svelte.d.ts +10 -0
  243. package/dist/components/forms/radio-group/index.d.ts +3 -0
  244. package/dist/components/forms/radio-group/index.js +6 -0
  245. package/dist/components/forms/radio-group/theme.d.ts +132 -0
  246. package/dist/components/forms/radio-group/theme.js +48 -0
  247. package/dist/components/forms/radio-group/types.d.ts +24 -0
  248. package/dist/components/forms/radio-group/types.js +1 -0
  249. package/dist/components/forms/search/Search.svelte +52 -0
  250. package/dist/components/forms/search/Search.svelte.d.ts +11 -0
  251. package/dist/components/forms/search/index.d.ts +3 -0
  252. package/dist/components/forms/search/index.js +6 -0
  253. package/dist/components/forms/search/theme.d.ts +33 -0
  254. package/dist/components/forms/search/theme.js +15 -0
  255. package/dist/components/forms/search/types.d.ts +34 -0
  256. package/dist/components/forms/search/types.js +1 -0
  257. package/dist/components/forms/select/Select.svelte +141 -0
  258. package/dist/components/forms/select/Select.svelte.d.ts +13 -0
  259. package/dist/components/forms/select/SelectGroup.svelte +19 -0
  260. package/dist/components/forms/select/SelectGroup.svelte.d.ts +8 -0
  261. package/dist/components/forms/select/SelectItem.svelte +35 -0
  262. package/dist/components/forms/select/SelectItem.svelte.d.ts +14 -0
  263. package/dist/components/forms/select/SelectLabel.svelte +19 -0
  264. package/dist/components/forms/select/SelectLabel.svelte.d.ts +8 -0
  265. package/dist/components/forms/select/SelectSeparator.svelte +13 -0
  266. package/dist/components/forms/select/SelectSeparator.svelte.d.ts +6 -0
  267. package/dist/components/forms/select/index.d.ts +7 -0
  268. package/dist/components/forms/select/index.js +10 -0
  269. package/dist/components/forms/select/theme.d.ts +84 -0
  270. package/dist/components/forms/select/theme.js +87 -0
  271. package/dist/components/forms/select/types.d.ts +63 -0
  272. package/dist/components/forms/select/types.js +1 -0
  273. package/dist/components/forms/slider/Slider.svelte +201 -0
  274. package/dist/components/forms/slider/Slider.svelte.d.ts +12 -0
  275. package/dist/components/forms/slider/index.d.ts +3 -0
  276. package/dist/components/forms/slider/index.js +6 -0
  277. package/dist/components/forms/slider/theme.d.ts +78 -0
  278. package/dist/components/forms/slider/theme.js +33 -0
  279. package/dist/components/forms/slider/types.d.ts +56 -0
  280. package/dist/components/forms/slider/types.js +1 -0
  281. package/dist/components/forms/switch/Switch.svelte +74 -0
  282. package/dist/components/forms/switch/Switch.svelte.d.ts +12 -0
  283. package/dist/components/forms/switch/index.d.ts +3 -0
  284. package/dist/components/forms/switch/index.js +6 -0
  285. package/dist/components/forms/switch/theme.d.ts +51 -0
  286. package/dist/components/forms/switch/theme.js +71 -0
  287. package/dist/components/forms/switch/types.d.ts +25 -0
  288. package/dist/components/forms/switch/types.js +1 -0
  289. package/dist/components/forms/textfield/Textfield.svelte +82 -0
  290. package/dist/components/forms/textfield/Textfield.svelte.d.ts +11 -0
  291. package/dist/components/forms/textfield/index.d.ts +3 -0
  292. package/dist/components/forms/textfield/index.js +6 -0
  293. package/dist/components/forms/textfield/theme.d.ts +75 -0
  294. package/dist/components/forms/textfield/theme.js +74 -0
  295. package/dist/components/forms/textfield/types.d.ts +60 -0
  296. package/dist/components/forms/textfield/types.js +1 -0
  297. package/dist/components/forms/toggle-group/ToggleGroup.svelte +38 -0
  298. package/dist/components/forms/toggle-group/ToggleGroup.svelte.d.ts +11 -0
  299. package/dist/components/forms/toggle-group/ToggleGroupItem.svelte +36 -0
  300. package/dist/components/forms/toggle-group/ToggleGroupItem.svelte.d.ts +8 -0
  301. package/dist/components/forms/toggle-group/index.d.ts +4 -0
  302. package/dist/components/forms/toggle-group/index.js +7 -0
  303. package/dist/components/forms/toggle-group/theme.d.ts +74 -0
  304. package/dist/components/forms/toggle-group/theme.js +20 -0
  305. package/dist/components/forms/toggle-group/types.d.ts +25 -0
  306. package/dist/components/forms/toggle-group/types.js +1 -0
  307. package/dist/components/forms/tooltip/Tooltip.svelte +104 -0
  308. package/dist/components/forms/tooltip/Tooltip.svelte.d.ts +11 -0
  309. package/dist/components/forms/tooltip/index.d.ts +3 -0
  310. package/dist/components/forms/tooltip/index.js +6 -0
  311. package/dist/components/forms/tooltip/theme.d.ts +105 -0
  312. package/dist/components/forms/tooltip/theme.js +52 -0
  313. package/dist/components/forms/tooltip/types.d.ts +29 -0
  314. package/dist/components/forms/tooltip/types.js +1 -0
  315. package/dist/components/index.d.ts +15 -0
  316. package/dist/components/index.js +17 -0
  317. package/dist/components/misc/Avatar.svelte +70 -0
  318. package/dist/components/misc/Avatar.svelte.d.ts +9 -0
  319. package/dist/components/misc/ThemeSettings.svelte +88 -0
  320. package/dist/components/misc/ThemeSettings.svelte.d.ts +18 -0
  321. package/dist/components/misc/ThemeSwitcher.svelte +21 -0
  322. package/dist/components/misc/ThemeSwitcher.svelte.d.ts +3 -0
  323. package/dist/components/misc/index.d.ts +5 -0
  324. package/dist/components/misc/index.js +8 -0
  325. package/dist/components/misc/theme.d.ts +52 -0
  326. package/dist/components/misc/theme.js +25 -0
  327. package/dist/components/misc/types.d.ts +18 -0
  328. package/dist/components/misc/types.js +1 -0
  329. package/dist/components/nav/appbar/AppBar.svelte +60 -0
  330. package/dist/components/nav/appbar/AppBar.svelte.d.ts +12 -0
  331. package/dist/components/nav/appbar/index.d.ts +3 -0
  332. package/dist/components/nav/appbar/index.js +6 -0
  333. package/dist/components/nav/appbar/theme.d.ts +99 -0
  334. package/dist/components/nav/appbar/theme.js +33 -0
  335. package/dist/components/nav/appbar/types.d.ts +20 -0
  336. package/dist/components/nav/appbar/types.js +1 -0
  337. package/dist/components/nav/index.d.ts +5 -0
  338. package/dist/components/nav/index.js +8 -0
  339. package/dist/components/nav/navbar/Navbar.svelte +33 -0
  340. package/dist/components/nav/navbar/Navbar.svelte.d.ts +18 -0
  341. package/dist/components/nav/navbar/NavbarItem.svelte +66 -0
  342. package/dist/components/nav/navbar/NavbarItem.svelte.d.ts +9 -0
  343. package/dist/components/nav/navbar/index.d.ts +4 -0
  344. package/dist/components/nav/navbar/index.js +7 -0
  345. package/dist/components/nav/navbar/theme.d.ts +95 -0
  346. package/dist/components/nav/navbar/theme.js +31 -0
  347. package/dist/components/nav/navbar/types.d.ts +29 -0
  348. package/dist/components/nav/navbar/types.js +1 -0
  349. package/dist/components/nav/rail/Rail.svelte +75 -0
  350. package/dist/components/nav/rail/Rail.svelte.d.ts +11 -0
  351. package/dist/components/nav/rail/RailItem.svelte +104 -0
  352. package/dist/components/nav/rail/RailItem.svelte.d.ts +9 -0
  353. package/dist/components/nav/rail/index.d.ts +4 -0
  354. package/dist/components/nav/rail/index.js +7 -0
  355. package/dist/components/nav/rail/theme.d.ts +218 -0
  356. package/dist/components/nav/rail/theme.js +107 -0
  357. package/dist/components/nav/rail/types.d.ts +44 -0
  358. package/dist/components/nav/rail/types.js +1 -0
  359. package/dist/components/nav/tabs/Tab.svelte +49 -0
  360. package/dist/components/nav/tabs/Tab.svelte.d.ts +9 -0
  361. package/dist/components/nav/tabs/TabContent.svelte +11 -0
  362. package/dist/components/nav/tabs/TabContent.svelte.d.ts +8 -0
  363. package/dist/components/nav/tabs/TabHolder.svelte +44 -0
  364. package/dist/components/nav/tabs/TabHolder.svelte.d.ts +16 -0
  365. package/dist/components/nav/tabs/index.d.ts +5 -0
  366. package/dist/components/nav/tabs/index.js +8 -0
  367. package/dist/components/nav/tabs/theme.d.ts +92 -0
  368. package/dist/components/nav/tabs/theme.js +37 -0
  369. package/dist/components/nav/tabs/types.d.ts +39 -0
  370. package/dist/components/nav/tabs/types.js +1 -0
  371. package/dist/components/nav/types.d.ts +6 -0
  372. package/dist/components/nav/types.js +1 -0
  373. package/dist/components/pill/Pill.svelte +17 -0
  374. package/dist/components/pill/Pill.svelte.d.ts +5 -0
  375. package/dist/components/pill/index.d.ts +3 -0
  376. package/dist/components/pill/index.js +6 -0
  377. package/dist/components/pill/theme.d.ts +27 -0
  378. package/dist/components/pill/theme.js +16 -0
  379. package/dist/components/pill/types.d.ts +6 -0
  380. package/dist/components/pill/types.js +1 -0
  381. package/dist/components/progress/CircularProgress.svelte +58 -0
  382. package/dist/components/progress/CircularProgress.svelte.d.ts +16 -0
  383. package/dist/components/progress/LinearProgress.svelte +45 -0
  384. package/dist/components/progress/LinearProgress.svelte.d.ts +15 -0
  385. package/dist/components/progress/WavyLinearProgress.svelte +58 -0
  386. package/dist/components/progress/WavyLinearProgress.svelte.d.ts +19 -0
  387. package/dist/components/progress/_wavy.d.ts +2 -0
  388. package/dist/components/progress/_wavy.js +32 -0
  389. package/dist/components/progress/index.d.ts +4 -0
  390. package/dist/components/progress/index.js +7 -0
  391. package/dist/components/snackbar/Snackbar.svelte +102 -0
  392. package/dist/components/snackbar/Snackbar.svelte.d.ts +9 -0
  393. package/dist/components/snackbar/index.d.ts +3 -0
  394. package/dist/components/snackbar/index.js +6 -0
  395. package/dist/components/snackbar/theme.d.ts +36 -0
  396. package/dist/components/snackbar/theme.js +16 -0
  397. package/dist/components/snackbar/types.d.ts +33 -0
  398. package/dist/components/snackbar/types.js +1 -0
  399. package/dist/components/table/Table.svelte +26 -0
  400. package/dist/components/table/Table.svelte.d.ts +8 -0
  401. package/dist/components/table/TableBody.svelte +17 -0
  402. package/dist/components/table/TableBody.svelte.d.ts +5 -0
  403. package/dist/components/table/TableCell.svelte +24 -0
  404. package/dist/components/table/TableCell.svelte.d.ts +8 -0
  405. package/dist/components/table/TableFoot.svelte +17 -0
  406. package/dist/components/table/TableFoot.svelte.d.ts +5 -0
  407. package/dist/components/table/TableHead.svelte +18 -0
  408. package/dist/components/table/TableHead.svelte.d.ts +8 -0
  409. package/dist/components/table/TableHeader.svelte +43 -0
  410. package/dist/components/table/TableHeader.svelte.d.ts +8 -0
  411. package/dist/components/table/TableRow.svelte +24 -0
  412. package/dist/components/table/TableRow.svelte.d.ts +8 -0
  413. package/dist/components/table/index.d.ts +9 -0
  414. package/dist/components/table/index.js +12 -0
  415. package/dist/components/table/theme.d.ts +165 -0
  416. package/dist/components/table/theme.js +50 -0
  417. package/dist/components/table/types.d.ts +44 -0
  418. package/dist/components/table/types.js +1 -0
  419. package/dist/components/time/TimeField.svelte +111 -0
  420. package/dist/components/time/TimeField.svelte.d.ts +28 -0
  421. package/dist/components/time/TimepickerInput.svelte +75 -0
  422. package/dist/components/time/TimepickerInput.svelte.d.ts +10 -0
  423. package/dist/components/time/index.d.ts +4 -0
  424. package/dist/components/time/index.js +7 -0
  425. package/dist/components/time/theme.d.ts +69 -0
  426. package/dist/components/time/theme.js +13 -0
  427. package/dist/components/time/types.d.ts +34 -0
  428. package/dist/components/time/types.js +1 -0
  429. package/dist/components/toolbar/Toolbar.svelte +26 -0
  430. package/dist/components/toolbar/Toolbar.svelte.d.ts +10 -0
  431. package/dist/components/toolbar/ToolbarButton.svelte +25 -0
  432. package/dist/components/toolbar/ToolbarButton.svelte.d.ts +5 -0
  433. package/dist/components/toolbar/ToolbarDivider.svelte +6 -0
  434. package/dist/components/toolbar/ToolbarDivider.svelte.d.ts +18 -0
  435. package/dist/components/toolbar/ToolbarGroup.svelte +18 -0
  436. package/dist/components/toolbar/ToolbarGroup.svelte.d.ts +5 -0
  437. package/dist/components/toolbar/ToolbarGroupItem.svelte +27 -0
  438. package/dist/components/toolbar/ToolbarGroupItem.svelte.d.ts +8 -0
  439. package/dist/components/toolbar/index.d.ts +7 -0
  440. package/dist/components/toolbar/index.js +10 -0
  441. package/dist/components/toolbar/theme.d.ts +106 -0
  442. package/dist/components/toolbar/theme.js +27 -0
  443. package/dist/components/toolbar/types.d.ts +20 -0
  444. package/dist/components/toolbar/types.js +1 -0
  445. package/dist/components/typography/body/Body.svelte +33 -0
  446. package/dist/components/typography/body/Body.svelte.d.ts +10 -0
  447. package/dist/components/typography/body/index.d.ts +3 -0
  448. package/dist/components/typography/body/index.js +6 -0
  449. package/dist/components/typography/body/theme.d.ts +30 -0
  450. package/dist/components/typography/body/theme.js +14 -0
  451. package/dist/components/typography/body/types.d.ts +21 -0
  452. package/dist/components/typography/body/types.js +1 -0
  453. package/dist/components/typography/display/Display.svelte +27 -0
  454. package/dist/components/typography/display/Display.svelte.d.ts +10 -0
  455. package/dist/components/typography/display/index.d.ts +3 -0
  456. package/dist/components/typography/display/index.js +6 -0
  457. package/dist/components/typography/display/theme.d.ts +30 -0
  458. package/dist/components/typography/display/theme.js +14 -0
  459. package/dist/components/typography/display/types.d.ts +21 -0
  460. package/dist/components/typography/display/types.js +1 -0
  461. package/dist/components/typography/headline/Headline.svelte +27 -0
  462. package/dist/components/typography/headline/Headline.svelte.d.ts +10 -0
  463. package/dist/components/typography/headline/index.d.ts +3 -0
  464. package/dist/components/typography/headline/index.js +6 -0
  465. package/dist/components/typography/headline/theme.d.ts +30 -0
  466. package/dist/components/typography/headline/theme.js +14 -0
  467. package/dist/components/typography/headline/types.d.ts +21 -0
  468. package/dist/components/typography/headline/types.js +1 -0
  469. package/dist/components/typography/index.d.ts +6 -0
  470. package/dist/components/typography/index.js +8 -0
  471. package/dist/components/typography/kbd/Kbd.svelte +18 -0
  472. package/dist/components/typography/kbd/Kbd.svelte.d.ts +5 -0
  473. package/dist/components/typography/kbd/index.d.ts +3 -0
  474. package/dist/components/typography/kbd/index.js +6 -0
  475. package/dist/components/typography/kbd/theme.d.ts +18 -0
  476. package/dist/components/typography/kbd/theme.js +10 -0
  477. package/dist/components/typography/kbd/types.d.ts +17 -0
  478. package/dist/components/typography/kbd/types.js +1 -0
  479. package/dist/components/typography/label/Label.svelte +25 -0
  480. package/dist/components/typography/label/Label.svelte.d.ts +10 -0
  481. package/dist/components/typography/label/index.d.ts +3 -0
  482. package/dist/components/typography/label/index.js +6 -0
  483. package/dist/components/typography/label/theme.d.ts +28 -0
  484. package/dist/components/typography/label/theme.js +14 -0
  485. package/dist/components/typography/label/types.d.ts +23 -0
  486. package/dist/components/typography/label/types.js +1 -0
  487. package/dist/components/typography/title/Title.svelte +27 -0
  488. package/dist/components/typography/title/Title.svelte.d.ts +10 -0
  489. package/dist/components/typography/title/index.d.ts +3 -0
  490. package/dist/components/typography/title/index.js +6 -0
  491. package/dist/components/typography/title/theme.d.ts +30 -0
  492. package/dist/components/typography/title/theme.js +14 -0
  493. package/dist/components/typography/title/types.d.ts +21 -0
  494. package/dist/components/typography/title/types.js +1 -0
  495. package/dist/index.css +6 -0
  496. package/dist/index.d.ts +4 -0
  497. package/dist/index.js +4 -0
  498. package/dist/styles/component.css +154 -0
  499. package/dist/styles/elevation.css +45 -0
  500. package/dist/styles/motion.css +51 -0
  501. package/dist/styles/prose.css +48 -0
  502. package/dist/styles/rounding.css +11 -0
  503. package/dist/styles/theme/dark-hc.css +53 -0
  504. package/dist/styles/theme/dark-mc.css +53 -0
  505. package/dist/styles/theme/dark.css +51 -0
  506. package/dist/styles/theme/light-hc.css +53 -0
  507. package/dist/styles/theme/light-mc.css +53 -0
  508. package/dist/styles/theme/light.css +51 -0
  509. package/dist/styles/typescale.css +63 -0
  510. package/dist/utils/Layer.svelte +217 -0
  511. package/dist/utils/Layer.svelte.d.ts +3 -0
  512. package/dist/utils/Theme.svelte +90 -0
  513. package/dist/utils/icon/Icon.svelte +24 -0
  514. package/dist/utils/icon/Icon.svelte.d.ts +4 -0
  515. package/dist/utils/icon/LoadingIndicator.svelte +39 -0
  516. package/dist/utils/icon/LoadingIndicator.svelte.d.ts +4 -0
  517. package/dist/utils/icon/MaterialSymbolsProvider.svelte +38 -0
  518. package/dist/utils/icon/MaterialSymbolsProvider.svelte.d.ts +8 -0
  519. package/dist/utils/icon/base-icons.d.ts +1 -0
  520. package/dist/utils/icon/base-icons.js +29 -0
  521. package/dist/utils/icon/index.d.ts +6 -0
  522. package/dist/utils/icon/index.js +6 -0
  523. package/dist/utils/icon/theme.d.ts +30 -0
  524. package/dist/utils/icon/theme.js +14 -0
  525. package/dist/utils/icon/types.d.ts +23 -0
  526. package/dist/utils/icon/types.js +1 -0
  527. package/dist/utils/index.d.ts +7 -0
  528. package/dist/utils/index.js +6 -0
  529. package/dist/utils/theme.svelte.d.ts +24 -0
  530. package/dist/utils/theme.svelte.js +156 -0
  531. package/dist/utils/tutorial.d.ts +9 -0
  532. package/dist/utils/tutorial.js +46 -0
  533. package/dist/utils/types.d.ts +18 -0
  534. package/dist/utils/types.js +5 -0
  535. package/dist/utils/ui.d.ts +6 -0
  536. package/dist/utils/ui.js +56 -0
  537. package/package.json +85 -0
@@ -0,0 +1,39 @@
1
+ import type { IconProps } from '../../../utils/index.js';
2
+ import type { TabVariants } from './theme.js';
3
+ export type TabProps = {
4
+ /** Props for the Icon component. Omit for secondary tabs. */
5
+ iconProps?: IconProps;
6
+ /** Text label for the tab. */
7
+ name: string;
8
+ /**
9
+ * Unique value identifier — required for content-panel tabs (no href).
10
+ * Omit for navigation tabs that use href for routing.
11
+ */
12
+ value?: string;
13
+ /** Optional href for navigation tabs. Renders an <a> instead of <button>. */
14
+ href?: string;
15
+ /** Whether the tab is disabled. */
16
+ disabled?: boolean;
17
+ /** Tab style variant inherited from the parent TabHolder. */
18
+ variant?: TabVariants['variant'];
19
+ /** Additional CSS classes. */
20
+ class?: string;
21
+ };
22
+ export type TabHolderProps = {
23
+ /** The currently active tab value. Bindable. */
24
+ value?: string;
25
+ /** Callback when the active tab changes. */
26
+ onValueChange?: (value: string) => void;
27
+ /** Whether tabs activate on focus (automatic) or require Enter/Space (manual). */
28
+ activationMode?: 'automatic' | 'manual';
29
+ /** Primary tabs show icon + label; secondary tabs show label only. */
30
+ variant?: TabVariants['variant'];
31
+ /** Tab items to render. */
32
+ items: TabProps[];
33
+ };
34
+ export type TabContentProps = {
35
+ /** Must match the value of the corresponding Tab. */
36
+ value: string;
37
+ /** Additional CSS classes. */
38
+ class?: string;
39
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ export type NavPage = 'dashboard' | 'flashcards' | 'lessons' | 'tasks' | 'students' | 'calendar' | 'settings' | 'legal' | 'contact' | 'why';
2
+ export interface BreadcrumbSegment {
3
+ segment?: string;
4
+ label: string;
5
+ href: string;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ <!--
2
+ @component
3
+ Standard Pill component with Material 3 color variants.
4
+ -->
5
+ <script lang="ts">
6
+ import { pill } from './theme.js';
7
+ import type { PillProps } from './types.js';
8
+ import clsx from 'clsx';
9
+
10
+ const { variant = 'primary', children, class: className, ...restProps }: PillProps = $props();
11
+
12
+ const styling = $derived(pill({ variant }));
13
+ </script>
14
+
15
+ <div class={clsx(styling, className)} {...restProps}>
16
+ {@render children?.()}
17
+ </div>
@@ -0,0 +1,5 @@
1
+ import type { PillProps } from './types.js';
2
+ /** Standard Pill component with Material 3 color variants. */
3
+ declare const Pill: import("svelte").Component<PillProps, {}, "">;
4
+ type Pill = ReturnType<typeof Pill>;
5
+ export default Pill;
@@ -0,0 +1,3 @@
1
+ export * from './theme.js';
2
+ export * from './types.js';
3
+ export { default as Pill } from './Pill.svelte';
@@ -0,0 +1,6 @@
1
+ // THIS FILE IS AUTO-GENERATED BY scripts/generate-components-index.ts - DO NOT EDIT MANUALLY
2
+ // re-export TS/JS modules from this folder
3
+ export * from './theme.js';
4
+ export * from './types.js';
5
+ // default exports for components in this folder
6
+ export { default as Pill } from './Pill.svelte';
@@ -0,0 +1,27 @@
1
+ import { type VariantProps } from 'tailwind-variants';
2
+ export type PillVariants = VariantProps<typeof pill>;
3
+ export declare const pill: import("tailwind-variants").TVReturnType<{
4
+ variant: {
5
+ primary: string;
6
+ secondary: string;
7
+ tertiary: string;
8
+ error: string;
9
+ container: string;
10
+ };
11
+ }, undefined, "relative inline-flex items-center justify-center px-4 py-1.5 md-sys-typescale-label-large select-none rounded-full", {
12
+ variant: {
13
+ primary: string;
14
+ secondary: string;
15
+ tertiary: string;
16
+ error: string;
17
+ container: string;
18
+ };
19
+ }, undefined, import("tailwind-variants").TVReturnType<{
20
+ variant: {
21
+ primary: string;
22
+ secondary: string;
23
+ tertiary: string;
24
+ error: string;
25
+ container: string;
26
+ };
27
+ }, undefined, "relative inline-flex items-center justify-center px-4 py-1.5 md-sys-typescale-label-large select-none rounded-full", unknown, unknown, undefined>>;
@@ -0,0 +1,16 @@
1
+ import { tv } from 'tailwind-variants';
2
+ export const pill = tv({
3
+ base: 'relative inline-flex items-center justify-center px-4 py-1.5 md-sys-typescale-label-large select-none rounded-full',
4
+ variants: {
5
+ variant: {
6
+ primary: 'md-component-button-filled-primary',
7
+ secondary: 'md-component-button-filled-secondary',
8
+ tertiary: 'md-component-button-filled-tertiary',
9
+ error: 'md-component-button-filled-error',
10
+ container: 'bg-md-sys-color-surface-container text-md-sys-color-on-surface'
11
+ }
12
+ },
13
+ defaultVariants: {
14
+ variant: 'primary'
15
+ }
16
+ });
@@ -0,0 +1,6 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ import type { PillVariants } from './theme.js';
4
+ export interface PillProps extends PillVariants, HTMLAttributes<HTMLDivElement> {
5
+ children?: Snippet;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,58 @@
1
+ <!--
2
+ @component
3
+ Material 3 Circular Progress Indicator.
4
+
5
+ @see https://m3.material.io/components/progress-indicators/overview#circular-progress-indicators
6
+ -->
7
+ <script lang="ts">
8
+ import { Progress } from 'bits-ui';
9
+
10
+ let {
11
+ percent,
12
+ size = 48,
13
+ thickness = 4
14
+ }: {
15
+ /** The current progress percentage (0–100). Omit or pass null for indeterminate. */
16
+ percent?: number | null;
17
+ /** Diameter of the indicator in pixels. Defaults to 48. */
18
+ size?: number;
19
+ /** Stroke thickness in pixels. Defaults to 4. */
20
+ thickness?: number;
21
+ } = $props();
22
+
23
+ let r = $derived(size / 2 - thickness / 2);
24
+ let circumference = $derived(Math.PI * r * 2);
25
+ </script>
26
+
27
+ <Progress.Root value={percent ?? null} max={100}>
28
+ {#snippet child({ props })}
29
+ <svg
30
+ {...props}
31
+ width={size}
32
+ height={size}
33
+ viewBox="0 0 {size} {size}"
34
+ xmlns="http://www.w3.org/2000/svg"
35
+ class="rotate-[-90deg]"
36
+ >
37
+ <circle
38
+ cx={size / 2}
39
+ cy={size / 2}
40
+ {r}
41
+ stroke="var(--color-md-sys-color-secondary-container)"
42
+ stroke-width={thickness}
43
+ fill="none"
44
+ />
45
+ <circle
46
+ cx={size / 2}
47
+ cy={size / 2}
48
+ {r}
49
+ stroke="var(--color-md-sys-color-primary)"
50
+ stroke-width={thickness}
51
+ stroke-dasharray="{circumference} {circumference}"
52
+ stroke-dashoffset={(percent != null ? (percent / -100) * circumference : 0) + circumference}
53
+ stroke-linecap="round"
54
+ fill="none"
55
+ />
56
+ </svg>
57
+ {/snippet}
58
+ </Progress.Root>
@@ -0,0 +1,16 @@
1
+ type $$ComponentProps = {
2
+ /** The current progress percentage (0–100). Omit or pass null for indeterminate. */
3
+ percent?: number | null;
4
+ /** Diameter of the indicator in pixels. Defaults to 48. */
5
+ size?: number;
6
+ /** Stroke thickness in pixels. Defaults to 4. */
7
+ thickness?: number;
8
+ };
9
+ /**
10
+ * Material 3 Circular Progress Indicator.
11
+ *
12
+ * @see https://m3.material.io/components/progress-indicators/overview#circular-progress-indicators
13
+ */
14
+ declare const CircularProgress: import("svelte").Component<$$ComponentProps, {}, "">;
15
+ type CircularProgress = ReturnType<typeof CircularProgress>;
16
+ export default CircularProgress;
@@ -0,0 +1,45 @@
1
+ <!--
2
+ @component
3
+ Material 3 Linear Progress Indicator.
4
+
5
+ @see https://m3.material.io/components/progress-indicators/overview#linear-progress-indicators
6
+ -->
7
+ <script lang="ts">
8
+ import clsx from 'clsx';
9
+ import { tv } from 'tailwind-variants';
10
+ import { Progress } from 'bits-ui';
11
+
12
+ let {
13
+ percent,
14
+ height = 4,
15
+ class: className
16
+ }: {
17
+ /** The current progress percentage (0–100). Omit or pass null for indeterminate. */
18
+ percent?: number | null;
19
+ /** Height of the bar in pixels. Defaults to 4. */
20
+ height?: number;
21
+ class?: string;
22
+ } = $props();
23
+
24
+ const linearProgress = tv({
25
+ slots: {
26
+ container: 'flex gap-1',
27
+ fill: 'bg-md-sys-color-primary rounded-full shrink',
28
+ track: 'bg-md-sys-color-secondary-container rounded-full grow'
29
+ }
30
+ });
31
+
32
+ const { container, fill, track } = linearProgress();
33
+ </script>
34
+
35
+ <Progress.Root
36
+ value={percent ?? null}
37
+ max={100}
38
+ class={container({ class: clsx(className) })}
39
+ style="height: {height / 16}rem"
40
+ >
41
+ {#if percent != null}
42
+ <div class={fill()} style:width="{percent}%"></div>
43
+ {/if}
44
+ <div class={track()}></div>
45
+ </Progress.Root>
@@ -0,0 +1,15 @@
1
+ type $$ComponentProps = {
2
+ /** The current progress percentage (0–100). Omit or pass null for indeterminate. */
3
+ percent?: number | null;
4
+ /** Height of the bar in pixels. Defaults to 4. */
5
+ height?: number;
6
+ class?: string;
7
+ };
8
+ /**
9
+ * Material 3 Linear Progress Indicator.
10
+ *
11
+ * @see https://m3.material.io/components/progress-indicators/overview#linear-progress-indicators
12
+ */
13
+ declare const LinearProgress: import("svelte").Component<$$ComponentProps, {}, "">;
14
+ type LinearProgress = ReturnType<typeof LinearProgress>;
15
+ export default LinearProgress;
@@ -0,0 +1,58 @@
1
+ <!--
2
+ @component
3
+ Wavy linear progress indicator — a custom M3-inspired variant.
4
+
5
+ @see https://m3.material.io/components/progress-indicators/overview
6
+ -->
7
+ <script lang="ts">
8
+ import { Progress } from 'bits-ui';
9
+ import { linear, trackOpacity } from './_wavy.js';
10
+
11
+ let {
12
+ width = 600,
13
+ height = 10,
14
+ thickness = 4,
15
+ percent,
16
+ class: className
17
+ }: {
18
+ /** Width of the SVG viewBox. */
19
+ width?: number;
20
+ /** Height of the SVG viewBox. */
21
+ height?: number;
22
+ /** Thickness of the progress line. */
23
+ thickness?: number;
24
+ /** Completion percentage (0–100). Omit or pass null for indeterminate. */
25
+ percent?: number | null;
26
+ class?: string;
27
+ } = $props();
28
+
29
+ let left = $derived(thickness * 0.5);
30
+ let right = $derived(width - thickness * 0.5);
31
+ let percentX = $derived(percent != null ? (percent / 100) * (right - left) + left : left);
32
+ let wavePath = $derived(linear(height / 2 - thickness / 2, height / 2, left, percentX, 0));
33
+ </script>
34
+
35
+ <Progress.Root value={percent ?? null} max={100}>
36
+ {#snippet child({ props })}
37
+ <svg {...props} viewBox="0 0 {width} {height}" class={className}>
38
+ <path
39
+ fill="none"
40
+ stroke="var(--color-md-sys-color-primary)"
41
+ stroke-width={thickness}
42
+ stroke-linecap="round"
43
+ d={wavePath}
44
+ />
45
+ <line
46
+ fill="none"
47
+ stroke="var(--color-md-sys-color-secondary-container)"
48
+ stroke-width={thickness}
49
+ stroke-linecap="round"
50
+ x1={percentX + thickness + 4}
51
+ y1={height / 2}
52
+ x2={right}
53
+ y2={height / 2}
54
+ opacity={trackOpacity(right, percentX + thickness + 4)}
55
+ />
56
+ </svg>
57
+ {/snippet}
58
+ </Progress.Root>
@@ -0,0 +1,19 @@
1
+ type $$ComponentProps = {
2
+ /** Width of the SVG viewBox. */
3
+ width?: number;
4
+ /** Height of the SVG viewBox. */
5
+ height?: number;
6
+ /** Thickness of the progress line. */
7
+ thickness?: number;
8
+ /** Completion percentage (0–100). Omit or pass null for indeterminate. */
9
+ percent?: number | null;
10
+ class?: string;
11
+ };
12
+ /**
13
+ * Wavy linear progress indicator — a custom M3-inspired variant.
14
+ *
15
+ * @see https://m3.material.io/components/progress-indicators/overview
16
+ */
17
+ declare const WavyLinearProgress: import("svelte").Component<$$ComponentProps, {}, "">;
18
+ type WavyLinearProgress = ReturnType<typeof WavyLinearProgress>;
19
+ export default WavyLinearProgress;
@@ -0,0 +1,2 @@
1
+ export declare const linear: (amp: number, center: number, from: number, to: number, time: number, cutoffTo?: number) => string;
2
+ export declare const trackOpacity: (right: number, x: number) => number;
@@ -0,0 +1,32 @@
1
+ const frequencyT = (Math.PI * 2) / 1000;
2
+ const frequencyX = (Math.PI * 2) / 40;
3
+ const round2 = (x) => Math.round(x * 100) / 100;
4
+ const round1 = (x) => Math.round(x * 10) / 10;
5
+ export const linear = (amp, center, from, to, time, cutoffTo) => {
6
+ time = time * frequencyT;
7
+ time %= Math.PI * 2;
8
+ if (from >= to)
9
+ return '';
10
+ let path = '';
11
+ for (let xIterator = from; xIterator <= to; xIterator += 0.5) {
12
+ const x = cutoffTo ? Math.min(cutoffTo, xIterator) : xIterator;
13
+ const sinV = Math.sin(x * frequencyX + time);
14
+ const y = sinV * amp + center;
15
+ if (x == from) {
16
+ path = `M ${round1(x)} ${round2(y)}`;
17
+ }
18
+ else {
19
+ path += ` ${round1(x)} ${round2(y)}`;
20
+ }
21
+ }
22
+ return path;
23
+ };
24
+ export const trackOpacity = (right, x) => {
25
+ let opacity = right - x;
26
+ if (opacity < 0)
27
+ opacity = 0;
28
+ if (opacity > 1)
29
+ opacity = 1;
30
+ opacity = round2(opacity);
31
+ return opacity;
32
+ };
@@ -0,0 +1,4 @@
1
+ export * from './_wavy.js';
2
+ export { default as CircularProgress } from './CircularProgress.svelte';
3
+ export { default as LinearProgress } from './LinearProgress.svelte';
4
+ export { default as WavyLinearProgress } from './WavyLinearProgress.svelte';
@@ -0,0 +1,7 @@
1
+ // THIS FILE IS AUTO-GENERATED BY scripts/generate-components-index.ts - DO NOT EDIT MANUALLY
2
+ // re-export TS/JS modules from this folder
3
+ export * from './_wavy.js';
4
+ // default exports for components in this folder
5
+ export { default as CircularProgress } from './CircularProgress.svelte';
6
+ export { default as LinearProgress } from './LinearProgress.svelte';
7
+ export { default as WavyLinearProgress } from './WavyLinearProgress.svelte';
@@ -0,0 +1,102 @@
1
+ <!--
2
+ @component
3
+ Snackbars provide brief messages about app processes at the bottom of the screen.
4
+
5
+ @see https://m3.material.io/components/snackbars/overview
6
+ -->
7
+ <script lang="ts">
8
+ import { snackbar } from './theme.js';
9
+ import type { SnackBarProps } from './types.js';
10
+ import Icon from '../../utils/icon/Icon.svelte';
11
+ import { Layer } from '../../utils/index.js';
12
+ import { enterExit } from '../../animation/enterExit.js';
13
+ import { easeEmphasizedDecel, easeEmphasizedAccel } from '../../animation/easing.js';
14
+
15
+ let {
16
+ message,
17
+ fixed = true,
18
+ static: isStatic = false,
19
+ label,
20
+ callback,
21
+ showClose = true,
22
+ ...restProps
23
+ }: SnackBarProps = $props();
24
+
25
+ let dismissed = $state(false);
26
+
27
+ $effect(() => {
28
+ if (!message) return;
29
+ if (isStatic) return;
30
+ const t = setTimeout(() => {
31
+ dismissed = true;
32
+ message = '';
33
+ }, 5000);
34
+ return () => clearTimeout(t);
35
+ });
36
+
37
+ $effect(() => {
38
+ if (!message) {
39
+ dismissed = false;
40
+ return;
41
+ }
42
+ dismissed = false;
43
+ });
44
+
45
+ const {
46
+ base,
47
+ icon,
48
+ label: labelCls,
49
+ supportingText,
50
+ actionWrapper
51
+ } = $derived(snackbar({ fixed }));
52
+ </script>
53
+
54
+ {#if message && !dismissed}
55
+ <div
56
+ class={base()}
57
+ data-cy="notification-snackbar"
58
+ {...restProps}
59
+ in:enterExit={{
60
+ duration: 400,
61
+ easing: easeEmphasizedDecel,
62
+ mode: 'slide-up'
63
+ }}
64
+ out:enterExit={{
65
+ duration: 200,
66
+ easing: easeEmphasizedAccel,
67
+ mode: 'slide-up'
68
+ }}
69
+ >
70
+ {#if typeof message === 'string'}
71
+ <p class={supportingText()}>{message}</p>
72
+ {:else}
73
+ <p class={supportingText()}>
74
+ {@render message()}
75
+ </p>
76
+ {/if}
77
+
78
+ <div class={actionWrapper()}>
79
+ {#if label}
80
+ <button class={`${labelCls()} relative`} onclick={callback}>
81
+ {label}
82
+ <Layer />
83
+ </button>
84
+ {/if}
85
+
86
+ {#if showClose}
87
+ <button
88
+ class="relative rounded-full p-1"
89
+ onclick={() => {
90
+ dismissed = true;
91
+ message = '';
92
+ }}
93
+ aria-label="Dismiss snackbar"
94
+ data-cy="notification-dismiss"
95
+ >
96
+ <Icon class={icon()} name="close" />
97
+ <Layer />
98
+ </button>
99
+ {/if}
100
+ </div>
101
+ </div>
102
+ {/if}
@@ -0,0 +1,9 @@
1
+ import type { SnackBarProps } from './types.js';
2
+ /**
3
+ * Snackbars provide brief messages about app processes at the bottom of the screen.
4
+ *
5
+ * @see https://m3.material.io/components/snackbars/overview
6
+ */
7
+ declare const Snackbar: import("svelte").Component<SnackBarProps, {}, "">;
8
+ type Snackbar = ReturnType<typeof Snackbar>;
9
+ export default Snackbar;
@@ -0,0 +1,3 @@
1
+ export * from './theme.js';
2
+ export * from './types.js';
3
+ export { default as Snackbar } from './Snackbar.svelte';
@@ -0,0 +1,6 @@
1
+ // THIS FILE IS AUTO-GENERATED BY scripts/generate-components-index.ts - DO NOT EDIT MANUALLY
2
+ // re-export TS/JS modules from this folder
3
+ export * from './theme.js';
4
+ export * from './types.js';
5
+ // default exports for components in this folder
6
+ export { default as Snackbar } from './Snackbar.svelte';
@@ -0,0 +1,36 @@
1
+ import { type VariantProps } from 'tailwind-variants';
2
+ export type SnackBarVariants = VariantProps<typeof snackbar>;
3
+ export declare const snackbar: import("tailwind-variants").TVReturnType<{
4
+ fixed: {
5
+ true: string;
6
+ false: string;
7
+ };
8
+ }, {
9
+ base: string;
10
+ label: string;
11
+ actionWrapper: string;
12
+ supportingText: string;
13
+ icon: string;
14
+ }, undefined, {
15
+ fixed: {
16
+ true: string;
17
+ false: string;
18
+ };
19
+ }, {
20
+ base: string;
21
+ label: string;
22
+ actionWrapper: string;
23
+ supportingText: string;
24
+ icon: string;
25
+ }, import("tailwind-variants").TVReturnType<{
26
+ fixed: {
27
+ true: string;
28
+ false: string;
29
+ };
30
+ }, {
31
+ base: string;
32
+ label: string;
33
+ actionWrapper: string;
34
+ supportingText: string;
35
+ icon: string;
36
+ }, undefined, unknown, unknown, undefined>>;
@@ -0,0 +1,16 @@
1
+ import { tv } from 'tailwind-variants';
2
+ export const snackbar = tv({
3
+ slots: {
4
+ base: 'rounded-xs relative min-h-12 md:max-h-17 flex z-[100] items-center bg-md-sys-color-inverse-surface shadow-elevation-3 pr-2 pl-4 justify-between h-max py-3',
5
+ label: 'text-md-sys-color-inverse-primary md-sys-typescale-label-large px-3 cursor-pointer ',
6
+ actionWrapper: 'flex items-center z-40',
7
+ supportingText: 'text-md-sys-color-inverse-on-surface md-sys-typescale-body-medium max-w-[60ch] ',
8
+ icon: 'size-6 text-[24px] text-md-sys-color-inverse-on-surface mr-1 ml-3'
9
+ },
10
+ variants: {
11
+ fixed: {
12
+ true: 'fixed bottom-20 md:bottom-6 left-1/2 -translate-x-1/2',
13
+ false: ''
14
+ }
15
+ }
16
+ });
@@ -0,0 +1,33 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ import type { SnackBarVariants } from './theme.js';
4
+ /**
5
+ * Configuration for a simple snackbar toast.
6
+ */
7
+ export interface Toast {
8
+ /** The message to display. */
9
+ message?: string;
10
+ /** Whether to show a close button. */
11
+ showClose?: boolean;
12
+ /** The label for the action button. */
13
+ label?: string;
14
+ /** Whether the snackbar should remain until manually dismissed. */
15
+ static?: boolean;
16
+ }
17
+ /**
18
+ * Props for the Snackbar component.
19
+ */
20
+ export type SnackBarProps = SnackBarVariants & HTMLAttributes<HTMLDivElement> & {
21
+ /** The message or snippet to display in the snackbar. */
22
+ message?: string | Snippet;
23
+ /** Whether the snackbar should have a fixed position. */
24
+ fixed?: boolean;
25
+ /** Callback for the action button. */
26
+ callback?: () => void;
27
+ /** The label for the action button. */
28
+ label?: string;
29
+ /** Whether to show a close button. */
30
+ showClose?: boolean;
31
+ /** Whether the snackbar should remain until manually dismissed. */
32
+ static?: boolean;
33
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,26 @@
1
+ <!--
2
+ @component
3
+ Primitive root element for building MD3-styled data tables.
4
+ Compose with TableHead, TableBody, TableFoot, TableRow, TableCell, and TableHeader.
5
+ -->
6
+ <script lang="ts">
7
+ import type { TableProps } from './types.js';
8
+ import { table } from './theme.js';
9
+ import clsx from 'clsx';
10
+
11
+ let { children, rounded = false, class: className, ...restProps }: TableProps = $props();
12
+
13
+ const { root } = table();
14
+ </script>
15
+
16
+ {#if rounded}
17
+ <div class="ring-md-sys-color-outline-variant overflow-hidden rounded-xl ring-1">
18
+ <table class={root({ class: clsx(className) })} {...restProps}>
19
+ {@render children()}
20
+ </table>
21
+ </div>
22
+ {:else}
23
+ <table class={root({ class: clsx(className) })} {...restProps}>
24
+ {@render children()}
25
+ </table>
26
+ {/if}