@human-synthesis/norns-ui 0.0.3 → 0.0.5

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 (126) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +73 -229
  3. package/package.json +7 -1
  4. package/src/auto-import.js +84 -19
  5. package/src/components/Accordion.n +38 -0
  6. package/src/components/Audio.n +24 -0
  7. package/src/components/Autocomplete.n +59 -0
  8. package/src/components/Avatar.n +27 -0
  9. package/src/components/AvatarGroup.n +25 -0
  10. package/src/components/Badge.n +20 -0
  11. package/src/components/Banner.n +25 -0
  12. package/src/components/Breadcrumbs.n +22 -0
  13. package/src/components/Btn.n +29 -8
  14. package/src/components/ButtonGroup.n +14 -0
  15. package/src/components/Calendar.n +153 -0
  16. package/src/components/Card.n +34 -0
  17. package/src/components/Carousel.n +66 -0
  18. package/src/components/Chip.n +27 -0
  19. package/src/components/Collapsible.n +32 -0
  20. package/src/components/ColorPicker.n +62 -0
  21. package/src/components/ContextMenu.n +48 -0
  22. package/src/components/CopyButton.n +50 -0
  23. package/src/components/DataTable.n +61 -0
  24. package/src/components/DatePicker.n +68 -0
  25. package/src/components/DateRangePicker.n +59 -0
  26. package/src/components/Drawer.n +49 -0
  27. package/src/components/GradientText.n +21 -0
  28. package/src/components/Header.n +23 -0
  29. package/src/components/HeroBanner.n +37 -0
  30. package/src/components/HierarchicalMenu.n +38 -0
  31. package/src/components/Icon.n +16 -0
  32. package/src/components/Image.n +31 -0
  33. package/src/components/MegaMenu.n +36 -0
  34. package/src/components/MultiSelect.n +56 -0
  35. package/src/components/NumberInput.n +49 -0
  36. package/src/components/OtpField.n +67 -0
  37. package/src/components/Pagination.n +73 -0
  38. package/src/components/PreviewCard.n +30 -0
  39. package/src/components/Progress.n +26 -0
  40. package/src/components/ProgressCircular.n +52 -0
  41. package/src/components/RichTooltip.n +33 -0
  42. package/src/components/RippleButton.n +56 -0
  43. package/src/components/ScrollArea.n +31 -0
  44. package/src/components/Separator.n +12 -0
  45. package/src/components/ShinyButton.n +36 -0
  46. package/src/components/Skeleton.n +27 -0
  47. package/src/components/Stepper.n +35 -0
  48. package/src/components/Surface.n +10 -0
  49. package/src/components/TagsInput.n +66 -0
  50. package/src/components/ThemeToggler.n +43 -0
  51. package/src/components/TimePicker.n +166 -0
  52. package/src/components/Timeline.n +27 -0
  53. package/src/components/ToggleButton.n +29 -0
  54. package/src/components/ToggleButtonGroup.n +34 -0
  55. package/src/components/Toolbar.n +15 -0
  56. package/src/components/Tree.n +57 -0
  57. package/src/components/Uploader.n +88 -0
  58. package/src/components/Video.n +26 -0
  59. package/src/index.js +66 -0
  60. package/src/motion/AnimatedNumber.n +55 -0
  61. package/src/motion/GradientBackground.n +25 -0
  62. package/src/motion/LiquidButton.n +48 -0
  63. package/src/motion/Reveal.n +37 -0
  64. package/src/motion/Sparkles.n +53 -0
  65. package/src/motion/index.js +18 -0
  66. package/src/styles/atoms.css +1673 -118
  67. package/src/styles/tokens.css +171 -40
  68. package/src/types/Accordion.d.ts +17 -0
  69. package/src/types/AnimatedNumber.d.ts +15 -0
  70. package/src/types/Audio.d.ts +18 -0
  71. package/src/types/Autocomplete.d.ts +17 -0
  72. package/src/types/Avatar.d.ts +14 -0
  73. package/src/types/AvatarGroup.d.ts +15 -0
  74. package/src/types/Badge.d.ts +14 -0
  75. package/src/types/Banner.d.ts +15 -0
  76. package/src/types/Breadcrumbs.d.ts +15 -0
  77. package/src/types/Btn.d.ts +10 -0
  78. package/src/types/ButtonGroup.d.ts +10 -0
  79. package/src/types/Calendar.d.ts +20 -0
  80. package/src/types/Card.d.ts +19 -0
  81. package/src/types/Carousel.d.ts +23 -0
  82. package/src/types/Chip.d.ts +12 -0
  83. package/src/types/Collapsible.d.ts +12 -0
  84. package/src/types/ColorPicker.d.ts +15 -0
  85. package/src/types/ContextMenu.d.ts +19 -0
  86. package/src/types/CopyButton.d.ts +16 -0
  87. package/src/types/DataTable.d.ts +27 -0
  88. package/src/types/DatePicker.d.ts +18 -0
  89. package/src/types/DateRangePicker.d.ts +17 -0
  90. package/src/types/Drawer.d.ts +18 -0
  91. package/src/types/GradientBackground.d.ts +14 -0
  92. package/src/types/GradientText.d.ts +19 -0
  93. package/src/types/Header.d.ts +12 -0
  94. package/src/types/HeroBanner.d.ts +17 -0
  95. package/src/types/HierarchicalMenu.d.ts +20 -0
  96. package/src/types/Icon.d.ts +21 -0
  97. package/src/types/Image.d.ts +15 -0
  98. package/src/types/LiquidButton.d.ts +15 -0
  99. package/src/types/MegaMenu.d.ts +29 -0
  100. package/src/types/MultiSelect.d.ts +13 -0
  101. package/src/types/NumberInput.d.ts +17 -0
  102. package/src/types/OtpField.d.ts +13 -0
  103. package/src/types/Pagination.d.ts +13 -0
  104. package/src/types/PreviewCard.d.ts +16 -0
  105. package/src/types/Progress.d.ts +14 -0
  106. package/src/types/ProgressCircular.d.ts +14 -0
  107. package/src/types/Reveal.d.ts +20 -0
  108. package/src/types/RichTooltip.d.ts +16 -0
  109. package/src/types/RippleButton.d.ts +15 -0
  110. package/src/types/ScrollArea.d.ts +11 -0
  111. package/src/types/Separator.d.ts +9 -0
  112. package/src/types/ShinyButton.d.ts +15 -0
  113. package/src/types/Skeleton.d.ts +13 -0
  114. package/src/types/Sparkles.d.ts +13 -0
  115. package/src/types/Stepper.d.ts +19 -0
  116. package/src/types/Surface.d.ts +10 -0
  117. package/src/types/TagsInput.d.ts +17 -0
  118. package/src/types/ThemeToggler.d.ts +17 -0
  119. package/src/types/TimePicker.d.ts +20 -0
  120. package/src/types/Timeline.d.ts +17 -0
  121. package/src/types/ToggleButton.d.ts +15 -0
  122. package/src/types/ToggleButtonGroup.d.ts +20 -0
  123. package/src/types/Toolbar.d.ts +12 -0
  124. package/src/types/Tree.d.ts +20 -0
  125. package/src/types/Uploader.d.ts +15 -0
  126. package/src/types/Video.d.ts +20 -0
@@ -0,0 +1,19 @@
1
+ import type { Component, Snippet } from 'svelte';
2
+
3
+ export type GradientTextProps = {
4
+ /** Start color. Default `var(--color-primary-500)`. Accepts any CSS color. */
5
+ from?: string;
6
+ /** End color. Default `var(--color-info-500)`. */
7
+ to?: string;
8
+ /** Optional middle stop. */
9
+ via?: string;
10
+ /** Animate the gradient via background-position keyframes. Default true. */
11
+ animate?: boolean;
12
+ /** Gradient angle in degrees. Default 90. */
13
+ angle?: number;
14
+ children?: Snippet;
15
+ class?: string;
16
+ };
17
+
18
+ declare const GradientText: Component<GradientTextProps>;
19
+ export default GradientText;
@@ -0,0 +1,12 @@
1
+ import type { Component, Snippet } from 'svelte';
2
+
3
+ export type HeaderProps = {
4
+ sticky?: boolean;
5
+ brand?: Snippet;
6
+ nav?: Snippet;
7
+ actions?: Snippet;
8
+ class?: string;
9
+ };
10
+
11
+ declare const Header: Component<HeaderProps>;
12
+ export default Header;
@@ -0,0 +1,17 @@
1
+ import type { Component, Snippet } from 'svelte';
2
+
3
+ export type HeroBannerProps = {
4
+ title: string;
5
+ description?: string;
6
+ /** Background/decorative image src; rendered with reduced opacity behind the content. */
7
+ image?: string;
8
+ align?: 'left' | 'center';
9
+ /** Apply animated `GradientText` to the title. Default false. */
10
+ gradient?: boolean;
11
+ actions?: Snippet;
12
+ children?: Snippet;
13
+ class?: string;
14
+ };
15
+
16
+ declare const HeroBanner: Component<HeroBannerProps>;
17
+ export default HeroBanner;
@@ -0,0 +1,20 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type HierarchicalMenuItem = {
4
+ label: string;
5
+ href?: string;
6
+ icon?: string;
7
+ description?: string;
8
+ children?: HierarchicalMenuItem[];
9
+ };
10
+
11
+ export type HierarchicalMenuProps = {
12
+ items?: HierarchicalMenuItem[];
13
+ /** aria-label for the <nav> wrapper. */
14
+ label?: string;
15
+ onSelect?: (item: HierarchicalMenuItem) => void;
16
+ class?: string;
17
+ };
18
+
19
+ declare const HierarchicalMenu: Component<HierarchicalMenuProps>;
20
+ export default HierarchicalMenu;
@@ -0,0 +1,21 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type IconProps = {
4
+ /**
5
+ * Iconify icon name in `<set>:<name>` form, e.g. `"lucide:check"` or
6
+ * `"mdi:home"`. The `@iconify-json/lucide` package ships with the library;
7
+ * other sets can be installed alongside (`@iconify-json/heroicons`, etc.).
8
+ */
9
+ name: string;
10
+ /**
11
+ * Tailwind size utility for the icon, e.g. `"size-4"`, `"size-5"`. Default
12
+ * `"size-4"`. Pass any class string accepted by Tailwind.
13
+ */
14
+ size?: string;
15
+ flip?: 'horizontal' | 'vertical' | 'horizontal,vertical';
16
+ rotate?: 90 | 180 | 270 | string;
17
+ class?: string;
18
+ };
19
+
20
+ declare const Icon: Component<IconProps>;
21
+ export default Icon;
@@ -0,0 +1,15 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type ImageProps = {
4
+ src: string;
5
+ alt?: string;
6
+ loading?: 'lazy' | 'eager';
7
+ fit?: 'cover' | 'contain' | 'fill' | 'none' | 'scale-down';
8
+ rounded?: boolean | 'sm' | 'md' | 'lg' | 'full';
9
+ width?: number | string;
10
+ height?: number | string;
11
+ class?: string;
12
+ };
13
+
14
+ declare const Image: Component<ImageProps>;
15
+ export default Image;
@@ -0,0 +1,15 @@
1
+ import type { Component, Snippet } from 'svelte';
2
+
3
+ export type LiquidButtonProps = {
4
+ variant?: 'primary' | 'secondary' | 'ghost' | 'danger' | 'link';
5
+ size?: 'sm' | 'md' | 'lg';
6
+ type?: 'button' | 'submit' | 'reset';
7
+ disabled?: boolean;
8
+ onclick?: (event: MouseEvent) => void;
9
+ icon?: string;
10
+ children?: Snippet;
11
+ class?: string;
12
+ };
13
+
14
+ declare const LiquidButton: Component<LiquidButtonProps>;
15
+ export default LiquidButton;
@@ -0,0 +1,29 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type MegaMenuItem = {
4
+ label: string;
5
+ href?: string;
6
+ icon?: string;
7
+ description?: string;
8
+ };
9
+
10
+ export type MegaMenuColumn = {
11
+ title?: string;
12
+ items: MegaMenuItem[];
13
+ };
14
+
15
+ export type MegaMenuSection = {
16
+ label: string;
17
+ cols?: 2 | 3 | 4;
18
+ columns: MegaMenuColumn[];
19
+ };
20
+
21
+ export type MegaMenuProps = {
22
+ sections?: MegaMenuSection[];
23
+ /** aria-label for the <nav> wrapper. */
24
+ label?: string;
25
+ class?: string;
26
+ };
27
+
28
+ declare const MegaMenu: Component<MegaMenuProps>;
29
+ export default MegaMenu;
@@ -0,0 +1,13 @@
1
+ import type { Component } from 'svelte';
2
+ import type { ComboboxItem } from './Autocomplete';
3
+
4
+ export type MultiSelectProps = {
5
+ items?: ComboboxItem[];
6
+ value?: string[];
7
+ open?: boolean;
8
+ placeholder?: string;
9
+ disabled?: boolean;
10
+ };
11
+
12
+ declare const MultiSelect: Component<MultiSelectProps>;
13
+ export default MultiSelect;
@@ -0,0 +1,17 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type NumberInputProps = {
4
+ value?: number;
5
+ min?: number;
6
+ max?: number;
7
+ stepSize?: number;
8
+ disabled?: boolean;
9
+ readonly?: boolean;
10
+ name?: string;
11
+ id?: string;
12
+ error?: boolean;
13
+ class?: string;
14
+ };
15
+
16
+ declare const NumberInput: Component<NumberInputProps>;
17
+ export default NumberInput;
@@ -0,0 +1,13 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type OtpFieldProps = {
4
+ value?: string;
5
+ length?: number;
6
+ mask?: boolean;
7
+ label?: string;
8
+ oncomplete?: (value: string) => void;
9
+ class?: string;
10
+ };
11
+
12
+ declare const OtpField: Component<OtpFieldProps>;
13
+ export default OtpField;
@@ -0,0 +1,13 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type PaginationProps = {
4
+ page?: number;
5
+ total?: number;
6
+ pageSize?: number;
7
+ /** How many pages to show on each side of the current. Default 1. */
8
+ siblingCount?: number;
9
+ class?: string;
10
+ };
11
+
12
+ declare const Pagination: Component<PaginationProps>;
13
+ export default Pagination;
@@ -0,0 +1,16 @@
1
+ import type { Component, Snippet } from 'svelte';
2
+
3
+ export type PreviewCardProps = {
4
+ href?: string;
5
+ side?: 'top' | 'right' | 'bottom' | 'left';
6
+ align?: 'start' | 'center' | 'end';
7
+ sideOffset?: number;
8
+ openDelay?: number;
9
+ trigger?: Snippet;
10
+ children?: Snippet;
11
+ triggerClass?: string;
12
+ class?: string;
13
+ };
14
+
15
+ declare const PreviewCard: Component<PreviewCardProps>;
16
+ export default PreviewCard;
@@ -0,0 +1,14 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type ProgressVariant = 'primary' | 'success' | 'warning' | 'danger';
4
+
5
+ export type ProgressProps = {
6
+ value?: number;
7
+ max?: number;
8
+ variant?: ProgressVariant;
9
+ indeterminate?: boolean;
10
+ class?: string;
11
+ };
12
+
13
+ declare const Progress: Component<ProgressProps>;
14
+ export default Progress;
@@ -0,0 +1,14 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type ProgressCircularSize = 'sm' | 'md' | 'lg';
4
+
5
+ export type ProgressCircularProps = {
6
+ value?: number;
7
+ max?: number;
8
+ size?: ProgressCircularSize;
9
+ indeterminate?: boolean;
10
+ class?: string;
11
+ };
12
+
13
+ declare const ProgressCircular: Component<ProgressCircularProps>;
14
+ export default ProgressCircular;
@@ -0,0 +1,20 @@
1
+ import type { Component, Snippet } from 'svelte';
2
+
3
+ export type RevealProps = {
4
+ direction?: 'up' | 'down' | 'left' | 'right';
5
+ /** Travel distance in pixels. Default 12. */
6
+ distance?: number;
7
+ /** Animation duration in seconds. Default 0.5. */
8
+ duration?: number;
9
+ /** Delay before animating, seconds. Default 0. */
10
+ delay?: number;
11
+ /** Re-trigger on every entry (false) or just the first time (true). Default true. */
12
+ once?: boolean;
13
+ /** IntersectionObserver threshold (0–1). Default 0.15. */
14
+ threshold?: number;
15
+ children?: Snippet;
16
+ class?: string;
17
+ };
18
+
19
+ declare const Reveal: Component<RevealProps>;
20
+ export default Reveal;
@@ -0,0 +1,16 @@
1
+ import type { Component, Snippet } from 'svelte';
2
+
3
+ export type RichTooltipProps = {
4
+ side?: 'top' | 'right' | 'bottom' | 'left';
5
+ align?: 'start' | 'center' | 'end';
6
+ sideOffset?: number;
7
+ openDelay?: number;
8
+ closeDelay?: number;
9
+ trigger?: Snippet;
10
+ children?: Snippet;
11
+ triggerClass?: string;
12
+ class?: string;
13
+ };
14
+
15
+ declare const RichTooltip: Component<RichTooltipProps>;
16
+ export default RichTooltip;
@@ -0,0 +1,15 @@
1
+ import type { Component, Snippet } from 'svelte';
2
+
3
+ export type RippleButtonProps = {
4
+ variant?: 'primary' | 'secondary' | 'ghost' | 'danger' | 'link';
5
+ size?: 'sm' | 'md' | 'lg';
6
+ type?: 'button' | 'submit' | 'reset';
7
+ disabled?: boolean;
8
+ onclick?: (event: MouseEvent) => void;
9
+ icon?: string;
10
+ children?: Snippet;
11
+ class?: string;
12
+ };
13
+
14
+ declare const RippleButton: Component<RippleButtonProps>;
15
+ export default RippleButton;
@@ -0,0 +1,11 @@
1
+ import type { Component, Snippet } from 'svelte';
2
+
3
+ export type ScrollAreaProps = {
4
+ type?: 'hover' | 'auto' | 'scroll' | 'always';
5
+ horizontal?: boolean;
6
+ children?: Snippet;
7
+ class?: string;
8
+ };
9
+
10
+ declare const ScrollArea: Component<ScrollAreaProps>;
11
+ export default ScrollArea;
@@ -0,0 +1,9 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type SeparatorProps = {
4
+ orientation?: 'horizontal' | 'vertical';
5
+ class?: string;
6
+ };
7
+
8
+ declare const Separator: Component<SeparatorProps>;
9
+ export default Separator;
@@ -0,0 +1,15 @@
1
+ import type { Component, Snippet } from 'svelte';
2
+
3
+ export type ShinyButtonProps = {
4
+ variant?: 'primary' | 'secondary' | 'ghost' | 'danger' | 'link';
5
+ size?: 'sm' | 'md' | 'lg';
6
+ type?: 'button' | 'submit' | 'reset';
7
+ disabled?: boolean;
8
+ onclick?: (event: MouseEvent) => void;
9
+ icon?: string;
10
+ children?: Snippet;
11
+ class?: string;
12
+ };
13
+
14
+ declare const ShinyButton: Component<ShinyButtonProps>;
15
+ export default ShinyButton;
@@ -0,0 +1,13 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type SkeletonVariant = 'rect' | 'text' | 'circle';
4
+
5
+ export type SkeletonProps = {
6
+ variant?: SkeletonVariant;
7
+ width?: number | string;
8
+ height?: number | string;
9
+ class?: string;
10
+ };
11
+
12
+ declare const Skeleton: Component<SkeletonProps>;
13
+ export default Skeleton;
@@ -0,0 +1,13 @@
1
+ import type { Component, Snippet } from 'svelte';
2
+
3
+ export type SparklesProps = {
4
+ density?: number;
5
+ colors?: string[];
6
+ minSize?: number;
7
+ maxSize?: number;
8
+ children?: Snippet;
9
+ class?: string;
10
+ };
11
+
12
+ declare const Sparkles: Component<SparklesProps>;
13
+ export default Sparkles;
@@ -0,0 +1,19 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type StepperStep = {
4
+ id?: string;
5
+ label: string;
6
+ complete?: boolean;
7
+ current?: boolean;
8
+ };
9
+
10
+ export type StepperProps = {
11
+ steps?: StepperStep[];
12
+ /** Index of the active step. Steps before are auto-marked complete unless overridden. */
13
+ current?: number;
14
+ orientation?: 'horizontal' | 'vertical';
15
+ class?: string;
16
+ };
17
+
18
+ declare const Stepper: Component<StepperProps>;
19
+ export default Stepper;
@@ -0,0 +1,10 @@
1
+ import type { Component, Snippet } from 'svelte';
2
+
3
+ export type SurfaceProps = {
4
+ tone?: 'glass';
5
+ children?: Snippet;
6
+ class?: string;
7
+ };
8
+
9
+ declare const Surface: Component<SurfaceProps>;
10
+ export default Surface;
@@ -0,0 +1,17 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type TagsInputProps = {
4
+ value?: string[];
5
+ max?: number;
6
+ placeholder?: string;
7
+ commitOnBlur?: boolean;
8
+ separators?: string[];
9
+ disabled?: boolean;
10
+ name?: string;
11
+ id?: string;
12
+ error?: boolean;
13
+ class?: string;
14
+ };
15
+
16
+ declare const TagsInput: Component<TagsInputProps>;
17
+ export default TagsInput;
@@ -0,0 +1,17 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type ThemeTogglerProps = {
4
+ variant?: 'primary' | 'secondary' | 'ghost' | 'danger' | 'link';
5
+ size?: 'sm' | 'md' | 'lg';
6
+ showLabel?: boolean;
7
+ labelLight?: string;
8
+ labelDark?: string;
9
+ lightIcon?: string;
10
+ darkIcon?: string;
11
+ /** localStorage key. Default `'norns-theme'`. */
12
+ storageKey?: string;
13
+ class?: string;
14
+ };
15
+
16
+ declare const ThemeToggler: Component<ThemeTogglerProps>;
17
+ export default ThemeToggler;
@@ -0,0 +1,20 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type TimePickerProps = {
4
+ /** Time string `HH:MM` (24h regardless of display `hourCycle`). Bindable. */
5
+ value?: string;
6
+ open?: boolean;
7
+ /** Minute increment in the picker (5, 10, 15, 30). Default 5. */
8
+ minuteStep?: number;
9
+ hourCycle?: 12 | 24;
10
+ placeholder?: string;
11
+ disabled?: boolean;
12
+ label?: string;
13
+ name?: string;
14
+ id?: string;
15
+ error?: boolean;
16
+ class?: string;
17
+ };
18
+
19
+ declare const TimePicker: Component<TimePickerProps>;
20
+ export default TimePicker;
@@ -0,0 +1,17 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type TimelineItem = {
4
+ time?: string;
5
+ title?: string;
6
+ description?: string;
7
+ icon?: string;
8
+ variant?: 'primary' | 'success' | 'warning' | 'danger' | 'info';
9
+ };
10
+
11
+ export type TimelineProps = {
12
+ items?: TimelineItem[];
13
+ class?: string;
14
+ };
15
+
16
+ declare const Timeline: Component<TimelineProps>;
17
+ export default Timeline;
@@ -0,0 +1,15 @@
1
+ import type { Component, Snippet } from 'svelte';
2
+
3
+ export type ToggleButtonProps = {
4
+ pressed?: boolean;
5
+ disabled?: boolean;
6
+ icon?: string;
7
+ variant?: 'default' | 'outline';
8
+ size?: 'sm' | 'md' | 'lg';
9
+ onpressedchange?: (pressed: boolean) => void;
10
+ children?: Snippet;
11
+ class?: string;
12
+ };
13
+
14
+ declare const ToggleButton: Component<ToggleButtonProps>;
15
+ export default ToggleButton;
@@ -0,0 +1,20 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type ToggleGroupItem = {
4
+ value: string;
5
+ label?: string;
6
+ icon?: string;
7
+ iconOnly?: boolean;
8
+ disabled?: boolean;
9
+ };
10
+
11
+ export type ToggleButtonGroupProps = {
12
+ items?: ToggleGroupItem[];
13
+ value?: string | string[];
14
+ multiple?: boolean;
15
+ disabled?: boolean;
16
+ class?: string;
17
+ };
18
+
19
+ declare const ToggleButtonGroup: Component<ToggleButtonGroupProps>;
20
+ export default ToggleButtonGroup;
@@ -0,0 +1,12 @@
1
+ import type { Component, Snippet } from 'svelte';
2
+
3
+ export type ToolbarProps = {
4
+ orientation?: 'horizontal' | 'vertical';
5
+ /** Accessible label, used as aria-label. */
6
+ label?: string;
7
+ children?: Snippet;
8
+ class?: string;
9
+ };
10
+
11
+ declare const Toolbar: Component<ToolbarProps>;
12
+ export default Toolbar;
@@ -0,0 +1,20 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type TreeNode = {
4
+ id: string | number;
5
+ label: string;
6
+ icon?: string;
7
+ children?: TreeNode[];
8
+ };
9
+
10
+ export type TreeProps = {
11
+ items?: TreeNode[];
12
+ /** Array of node ids that are expanded. Bindable. */
13
+ expanded?: (string | number)[];
14
+ /** Currently-selected node id. Bindable. */
15
+ selected?: string | number;
16
+ class?: string;
17
+ };
18
+
19
+ declare const Tree: Component<TreeProps>;
20
+ export default Tree;
@@ -0,0 +1,15 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type UploaderProps = {
4
+ files?: File[];
5
+ multiple?: boolean;
6
+ accept?: string;
7
+ disabled?: boolean;
8
+ placeholder?: string;
9
+ helper?: string;
10
+ onchange?: (files: File[]) => void;
11
+ class?: string;
12
+ };
13
+
14
+ declare const Uploader: Component<UploaderProps>;
15
+ export default Uploader;
@@ -0,0 +1,20 @@
1
+ import type { Component } from 'svelte';
2
+
3
+ export type VideoSource = { src: string; type?: string };
4
+
5
+ export type VideoProps = {
6
+ src?: string;
7
+ sources?: VideoSource[];
8
+ controls?: boolean;
9
+ autoplay?: boolean;
10
+ loop?: boolean;
11
+ muted?: boolean;
12
+ playsinline?: boolean;
13
+ preload?: 'none' | 'metadata' | 'auto';
14
+ poster?: string;
15
+ fallback?: string;
16
+ class?: string;
17
+ };
18
+
19
+ declare const Video: Component<VideoProps>;
20
+ export default Video;