@nuykon/basecoat-svelte 0.0.0-stage → 1.0.2

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 (205) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/Accordion.svelte +59 -0
  3. package/dist/Accordion.svelte.d.ts +13 -0
  4. package/dist/AccordionRoot.svelte +20 -0
  5. package/dist/AccordionRoot.svelte.d.ts +8 -0
  6. package/dist/Alert.svelte +33 -0
  7. package/dist/Alert.svelte.d.ts +13 -0
  8. package/dist/AlertDescription.svelte +33 -0
  9. package/dist/AlertDescription.svelte.d.ts +13 -0
  10. package/dist/AlertDialog.svelte +7 -0
  11. package/dist/AlertDialog.svelte.d.ts +17 -0
  12. package/dist/AlertDialogRoot.svelte +20 -0
  13. package/dist/AlertDialogRoot.svelte.d.ts +8 -0
  14. package/dist/AlertTitle.svelte +33 -0
  15. package/dist/AlertTitle.svelte.d.ts +13 -0
  16. package/dist/Avatar.svelte +33 -0
  17. package/dist/Avatar.svelte.d.ts +13 -0
  18. package/dist/AvatarFallback.svelte +33 -0
  19. package/dist/AvatarFallback.svelte.d.ts +13 -0
  20. package/dist/AvatarImage.svelte +31 -0
  21. package/dist/AvatarImage.svelte.d.ts +13 -0
  22. package/dist/Badge.svelte +33 -0
  23. package/dist/Badge.svelte.d.ts +13 -0
  24. package/dist/Breadcrumb.svelte +33 -0
  25. package/dist/Breadcrumb.svelte.d.ts +13 -0
  26. package/dist/BreadcrumbItem.svelte +33 -0
  27. package/dist/BreadcrumbItem.svelte.d.ts +13 -0
  28. package/dist/BreadcrumbLink.svelte +33 -0
  29. package/dist/BreadcrumbLink.svelte.d.ts +13 -0
  30. package/dist/BreadcrumbList.svelte +33 -0
  31. package/dist/BreadcrumbList.svelte.d.ts +13 -0
  32. package/dist/BreadcrumbSeparator.svelte +33 -0
  33. package/dist/BreadcrumbSeparator.svelte.d.ts +13 -0
  34. package/dist/Button.svelte +33 -0
  35. package/dist/Button.svelte.d.ts +13 -0
  36. package/dist/ButtonGroup.svelte +33 -0
  37. package/dist/ButtonGroup.svelte.d.ts +13 -0
  38. package/dist/Card.svelte +33 -0
  39. package/dist/Card.svelte.d.ts +13 -0
  40. package/dist/CardAction.svelte +33 -0
  41. package/dist/CardAction.svelte.d.ts +13 -0
  42. package/dist/CardContent.svelte +33 -0
  43. package/dist/CardContent.svelte.d.ts +13 -0
  44. package/dist/CardDescription.svelte +33 -0
  45. package/dist/CardDescription.svelte.d.ts +13 -0
  46. package/dist/CardFooter.svelte +33 -0
  47. package/dist/CardFooter.svelte.d.ts +13 -0
  48. package/dist/CardHeader.svelte +33 -0
  49. package/dist/CardHeader.svelte.d.ts +13 -0
  50. package/dist/CardTitle.svelte +33 -0
  51. package/dist/CardTitle.svelte.d.ts +13 -0
  52. package/dist/Chart.svelte +39 -0
  53. package/dist/Chart.svelte.d.ts +9 -0
  54. package/dist/ChartRoot.svelte +9 -0
  55. package/dist/ChartRoot.svelte.d.ts +4 -0
  56. package/dist/Checkbox.svelte +43 -0
  57. package/dist/Checkbox.svelte.d.ts +10 -0
  58. package/dist/Collapsible.svelte +36 -0
  59. package/dist/Collapsible.svelte.d.ts +11 -0
  60. package/dist/Combobox.svelte +7 -0
  61. package/dist/Combobox.svelte.d.ts +17 -0
  62. package/dist/ComboboxRoot.svelte +20 -0
  63. package/dist/ComboboxRoot.svelte.d.ts +8 -0
  64. package/dist/Command.svelte +79 -0
  65. package/dist/Command.svelte.d.ts +11 -0
  66. package/dist/CommandRoot.svelte +20 -0
  67. package/dist/CommandRoot.svelte.d.ts +8 -0
  68. package/dist/Dialog.svelte +104 -0
  69. package/dist/Dialog.svelte.d.ts +20 -0
  70. package/dist/DialogContent.svelte +33 -0
  71. package/dist/DialogContent.svelte.d.ts +13 -0
  72. package/dist/DialogDescription.svelte +33 -0
  73. package/dist/DialogDescription.svelte.d.ts +13 -0
  74. package/dist/DialogFooter.svelte +33 -0
  75. package/dist/DialogFooter.svelte.d.ts +13 -0
  76. package/dist/DialogHeader.svelte +33 -0
  77. package/dist/DialogHeader.svelte.d.ts +13 -0
  78. package/dist/DialogRoot.svelte +20 -0
  79. package/dist/DialogRoot.svelte.d.ts +8 -0
  80. package/dist/DialogTitle.svelte +33 -0
  81. package/dist/DialogTitle.svelte.d.ts +13 -0
  82. package/dist/Drawer.svelte +7 -0
  83. package/dist/Drawer.svelte.d.ts +17 -0
  84. package/dist/DrawerRoot.svelte +20 -0
  85. package/dist/DrawerRoot.svelte.d.ts +8 -0
  86. package/dist/DropdownMenu.svelte +133 -0
  87. package/dist/DropdownMenu.svelte.d.ts +15 -0
  88. package/dist/DropdownMenuRoot.svelte +20 -0
  89. package/dist/DropdownMenuRoot.svelte.d.ts +8 -0
  90. package/dist/Empty.svelte +33 -0
  91. package/dist/Empty.svelte.d.ts +13 -0
  92. package/dist/EmptyContent.svelte +33 -0
  93. package/dist/EmptyContent.svelte.d.ts +13 -0
  94. package/dist/EmptyDescription.svelte +33 -0
  95. package/dist/EmptyDescription.svelte.d.ts +13 -0
  96. package/dist/EmptyHeader.svelte +33 -0
  97. package/dist/EmptyHeader.svelte.d.ts +13 -0
  98. package/dist/EmptyTitle.svelte +33 -0
  99. package/dist/EmptyTitle.svelte.d.ts +13 -0
  100. package/dist/Field.svelte +33 -0
  101. package/dist/Field.svelte.d.ts +13 -0
  102. package/dist/FieldDescription.svelte +33 -0
  103. package/dist/FieldDescription.svelte.d.ts +13 -0
  104. package/dist/FieldError.svelte +33 -0
  105. package/dist/FieldError.svelte.d.ts +13 -0
  106. package/dist/FieldLabel.svelte +33 -0
  107. package/dist/FieldLabel.svelte.d.ts +13 -0
  108. package/dist/Input.svelte +31 -0
  109. package/dist/Input.svelte.d.ts +13 -0
  110. package/dist/InputGroup.svelte +33 -0
  111. package/dist/InputGroup.svelte.d.ts +13 -0
  112. package/dist/InputGroupAddon.svelte +33 -0
  113. package/dist/InputGroupAddon.svelte.d.ts +13 -0
  114. package/dist/Item.svelte +33 -0
  115. package/dist/Item.svelte.d.ts +13 -0
  116. package/dist/ItemActions.svelte +33 -0
  117. package/dist/ItemActions.svelte.d.ts +13 -0
  118. package/dist/ItemContent.svelte +33 -0
  119. package/dist/ItemContent.svelte.d.ts +13 -0
  120. package/dist/ItemDescription.svelte +33 -0
  121. package/dist/ItemDescription.svelte.d.ts +13 -0
  122. package/dist/ItemTitle.svelte +33 -0
  123. package/dist/ItemTitle.svelte.d.ts +13 -0
  124. package/dist/Kbd.svelte +33 -0
  125. package/dist/Kbd.svelte.d.ts +13 -0
  126. package/dist/Label.svelte +33 -0
  127. package/dist/Label.svelte.d.ts +13 -0
  128. package/dist/NativeSelect.svelte +33 -0
  129. package/dist/NativeSelect.svelte.d.ts +13 -0
  130. package/dist/Pagination.svelte +37 -0
  131. package/dist/Pagination.svelte.d.ts +9 -0
  132. package/dist/Popover.svelte +80 -0
  133. package/dist/Popover.svelte.d.ts +15 -0
  134. package/dist/PopoverRoot.svelte +20 -0
  135. package/dist/PopoverRoot.svelte.d.ts +8 -0
  136. package/dist/Progress.svelte +20 -0
  137. package/dist/Progress.svelte.d.ts +8 -0
  138. package/dist/RadioGroup.svelte +49 -0
  139. package/dist/RadioGroup.svelte.d.ts +14 -0
  140. package/dist/ScrollArea.svelte +33 -0
  141. package/dist/ScrollArea.svelte.d.ts +13 -0
  142. package/dist/Select.svelte +236 -0
  143. package/dist/Select.svelte.d.ts +20 -0
  144. package/dist/SelectRoot.svelte +20 -0
  145. package/dist/SelectRoot.svelte.d.ts +8 -0
  146. package/dist/Separator.svelte +31 -0
  147. package/dist/Separator.svelte.d.ts +13 -0
  148. package/dist/Sidebar.svelte +35 -0
  149. package/dist/Sidebar.svelte.d.ts +11 -0
  150. package/dist/SidebarContent.svelte +33 -0
  151. package/dist/SidebarContent.svelte.d.ts +13 -0
  152. package/dist/SidebarFooter.svelte +33 -0
  153. package/dist/SidebarFooter.svelte.d.ts +13 -0
  154. package/dist/SidebarGroup.svelte +33 -0
  155. package/dist/SidebarGroup.svelte.d.ts +13 -0
  156. package/dist/SidebarHeader.svelte +33 -0
  157. package/dist/SidebarHeader.svelte.d.ts +13 -0
  158. package/dist/SidebarItem.svelte +33 -0
  159. package/dist/SidebarItem.svelte.d.ts +13 -0
  160. package/dist/SidebarRoot.svelte +20 -0
  161. package/dist/SidebarRoot.svelte.d.ts +8 -0
  162. package/dist/Skeleton.svelte +33 -0
  163. package/dist/Skeleton.svelte.d.ts +13 -0
  164. package/dist/Slider.svelte +47 -0
  165. package/dist/Slider.svelte.d.ts +12 -0
  166. package/dist/Spinner.svelte +33 -0
  167. package/dist/Spinner.svelte.d.ts +13 -0
  168. package/dist/Switch.svelte +7 -0
  169. package/dist/Switch.svelte.d.ts +8 -0
  170. package/dist/Table.svelte +33 -0
  171. package/dist/Table.svelte.d.ts +13 -0
  172. package/dist/TableBody.svelte +33 -0
  173. package/dist/TableBody.svelte.d.ts +13 -0
  174. package/dist/TableCaption.svelte +33 -0
  175. package/dist/TableCaption.svelte.d.ts +13 -0
  176. package/dist/TableCell.svelte +33 -0
  177. package/dist/TableCell.svelte.d.ts +13 -0
  178. package/dist/TableFooter.svelte +33 -0
  179. package/dist/TableFooter.svelte.d.ts +13 -0
  180. package/dist/TableHead.svelte +33 -0
  181. package/dist/TableHead.svelte.d.ts +13 -0
  182. package/dist/TableHeader.svelte +33 -0
  183. package/dist/TableHeader.svelte.d.ts +13 -0
  184. package/dist/TableRow.svelte +33 -0
  185. package/dist/TableRow.svelte.d.ts +13 -0
  186. package/dist/Tabs.svelte +79 -0
  187. package/dist/Tabs.svelte.d.ts +17 -0
  188. package/dist/TabsRoot.svelte +20 -0
  189. package/dist/TabsRoot.svelte.d.ts +8 -0
  190. package/dist/Textarea.svelte +33 -0
  191. package/dist/Textarea.svelte.d.ts +13 -0
  192. package/dist/ThemeSwitcher.svelte +31 -0
  193. package/dist/ThemeSwitcher.svelte.d.ts +9 -0
  194. package/dist/Toast.svelte +52 -0
  195. package/dist/Toast.svelte.d.ts +8 -0
  196. package/dist/Toaster.svelte +23 -0
  197. package/dist/Toaster.svelte.d.ts +9 -0
  198. package/dist/Tooltip.svelte +54 -0
  199. package/dist/Tooltip.svelte.d.ts +11 -0
  200. package/dist/core.d.ts +145 -0
  201. package/dist/core.js +832 -0
  202. package/dist/index.d.ts +99 -0
  203. package/dist/index.js +98 -0
  204. package/package.json +46 -4
  205. package/README.md +0 -3
@@ -0,0 +1,31 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { SvelteHTMLElements } from 'svelte/elements';
4
+ import { cx, type Variant, type Size } from './core.js';
5
+ type Props = Omit<SvelteHTMLElements['input'], 'children' | 'size'> & {
6
+ children?: Snippet;
7
+ variant?: Variant;
8
+ size?: Size;
9
+ as?: keyof HTMLElementTagNameMap;
10
+ element?: HTMLElement | null;
11
+ };
12
+ let {
13
+ children,
14
+ variant,
15
+ size,
16
+ as = 'input',
17
+ element = $bindable(null),
18
+ class: className,
19
+ ...rest
20
+ }: Props = $props();
21
+ </script>
22
+
23
+ <svelte:element
24
+ this={as}
25
+ {...{}}
26
+ bind:this={element}
27
+ class={cx('input', typeof className === 'string' ? className : undefined)}
28
+ data-variant={variant}
29
+ data-size={size}
30
+ {...rest}
31
+ />
@@ -0,0 +1,13 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { SvelteHTMLElements } from 'svelte/elements';
3
+ import { type Variant, type Size } from './core.js';
4
+ type Props = Omit<SvelteHTMLElements['input'], 'children' | 'size'> & {
5
+ children?: Snippet;
6
+ variant?: Variant;
7
+ size?: Size;
8
+ as?: keyof HTMLElementTagNameMap;
9
+ element?: HTMLElement | null;
10
+ };
11
+ declare const Input: import("svelte").Component<Props, {}, "element">;
12
+ type Input = ReturnType<typeof Input>;
13
+ export default Input;
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { SvelteHTMLElements } from 'svelte/elements';
4
+ import { cx, type Variant, type Size } from './core.js';
5
+ type Props = Omit<SvelteHTMLElements['div'], 'children' | 'size'> & {
6
+ children?: Snippet;
7
+ variant?: Variant;
8
+ size?: Size;
9
+ as?: keyof HTMLElementTagNameMap;
10
+ element?: HTMLElement | null;
11
+ };
12
+ let {
13
+ children,
14
+ variant,
15
+ size,
16
+ as = 'div',
17
+ element = $bindable(null),
18
+ class: className,
19
+ ...rest
20
+ }: Props = $props();
21
+ </script>
22
+
23
+ <svelte:element
24
+ this={as}
25
+ {...{}}
26
+ bind:this={element}
27
+ class={cx('input-group', typeof className === 'string' ? className : undefined)}
28
+ data-variant={variant}
29
+ data-size={size}
30
+ {...rest}
31
+ >
32
+ {@render children?.()}
33
+ </svelte:element>
@@ -0,0 +1,13 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { SvelteHTMLElements } from 'svelte/elements';
3
+ import { type Variant, type Size } from './core.js';
4
+ type Props = Omit<SvelteHTMLElements['div'], 'children' | 'size'> & {
5
+ children?: Snippet;
6
+ variant?: Variant;
7
+ size?: Size;
8
+ as?: keyof HTMLElementTagNameMap;
9
+ element?: HTMLElement | null;
10
+ };
11
+ declare const InputGroup: import("svelte").Component<Props, {}, "element">;
12
+ type InputGroup = ReturnType<typeof InputGroup>;
13
+ export default InputGroup;
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { SvelteHTMLElements } from 'svelte/elements';
4
+ import { cx, type Variant, type Size } from './core.js';
5
+ type Props = Omit<SvelteHTMLElements['div'], 'children' | 'size'> & {
6
+ children?: Snippet;
7
+ variant?: Variant;
8
+ size?: Size;
9
+ as?: keyof HTMLElementTagNameMap;
10
+ element?: HTMLElement | null;
11
+ };
12
+ let {
13
+ children,
14
+ variant,
15
+ size,
16
+ as = 'div',
17
+ element = $bindable(null),
18
+ class: className,
19
+ ...rest
20
+ }: Props = $props();
21
+ </script>
22
+
23
+ <svelte:element
24
+ this={as}
25
+ {...{}}
26
+ bind:this={element}
27
+ class={cx('', typeof className === 'string' ? className : undefined)}
28
+ data-variant={variant}
29
+ data-size={size}
30
+ {...rest}
31
+ >
32
+ {@render children?.()}
33
+ </svelte:element>
@@ -0,0 +1,13 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { SvelteHTMLElements } from 'svelte/elements';
3
+ import { type Variant, type Size } from './core.js';
4
+ type Props = Omit<SvelteHTMLElements['div'], 'children' | 'size'> & {
5
+ children?: Snippet;
6
+ variant?: Variant;
7
+ size?: Size;
8
+ as?: keyof HTMLElementTagNameMap;
9
+ element?: HTMLElement | null;
10
+ };
11
+ declare const InputGroupAddon: import("svelte").Component<Props, {}, "element">;
12
+ type InputGroupAddon = ReturnType<typeof InputGroupAddon>;
13
+ export default InputGroupAddon;
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { SvelteHTMLElements } from 'svelte/elements';
4
+ import { cx, type Variant, type Size } from './core.js';
5
+ type Props = Omit<SvelteHTMLElements['div'], 'children' | 'size'> & {
6
+ children?: Snippet;
7
+ variant?: Variant;
8
+ size?: Size;
9
+ as?: keyof HTMLElementTagNameMap;
10
+ element?: HTMLElement | null;
11
+ };
12
+ let {
13
+ children,
14
+ variant,
15
+ size,
16
+ as = 'div',
17
+ element = $bindable(null),
18
+ class: className,
19
+ ...rest
20
+ }: Props = $props();
21
+ </script>
22
+
23
+ <svelte:element
24
+ this={as}
25
+ {...{}}
26
+ bind:this={element}
27
+ class={cx('item', typeof className === 'string' ? className : undefined)}
28
+ data-variant={variant}
29
+ data-size={size}
30
+ {...rest}
31
+ >
32
+ {@render children?.()}
33
+ </svelte:element>
@@ -0,0 +1,13 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { SvelteHTMLElements } from 'svelte/elements';
3
+ import { type Variant, type Size } from './core.js';
4
+ type Props = Omit<SvelteHTMLElements['div'], 'children' | 'size'> & {
5
+ children?: Snippet;
6
+ variant?: Variant;
7
+ size?: Size;
8
+ as?: keyof HTMLElementTagNameMap;
9
+ element?: HTMLElement | null;
10
+ };
11
+ declare const Item: import("svelte").Component<Props, {}, "element">;
12
+ type Item = ReturnType<typeof Item>;
13
+ export default Item;
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { SvelteHTMLElements } from 'svelte/elements';
4
+ import { cx, type Variant, type Size } from './core.js';
5
+ type Props = Omit<SvelteHTMLElements['div'], 'children' | 'size'> & {
6
+ children?: Snippet;
7
+ variant?: Variant;
8
+ size?: Size;
9
+ as?: keyof HTMLElementTagNameMap;
10
+ element?: HTMLElement | null;
11
+ };
12
+ let {
13
+ children,
14
+ variant,
15
+ size,
16
+ as = 'div',
17
+ element = $bindable(null),
18
+ class: className,
19
+ ...rest
20
+ }: Props = $props();
21
+ </script>
22
+
23
+ <svelte:element
24
+ this={as}
25
+ {...{}}
26
+ bind:this={element}
27
+ class={cx('', typeof className === 'string' ? className : undefined)}
28
+ data-variant={variant}
29
+ data-size={size}
30
+ {...rest}
31
+ >
32
+ {@render children?.()}
33
+ </svelte:element>
@@ -0,0 +1,13 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { SvelteHTMLElements } from 'svelte/elements';
3
+ import { type Variant, type Size } from './core.js';
4
+ type Props = Omit<SvelteHTMLElements['div'], 'children' | 'size'> & {
5
+ children?: Snippet;
6
+ variant?: Variant;
7
+ size?: Size;
8
+ as?: keyof HTMLElementTagNameMap;
9
+ element?: HTMLElement | null;
10
+ };
11
+ declare const ItemActions: import("svelte").Component<Props, {}, "element">;
12
+ type ItemActions = ReturnType<typeof ItemActions>;
13
+ export default ItemActions;
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { SvelteHTMLElements } from 'svelte/elements';
4
+ import { cx, type Variant, type Size } from './core.js';
5
+ type Props = Omit<SvelteHTMLElements['section'], 'children' | 'size'> & {
6
+ children?: Snippet;
7
+ variant?: Variant;
8
+ size?: Size;
9
+ as?: keyof HTMLElementTagNameMap;
10
+ element?: HTMLElement | null;
11
+ };
12
+ let {
13
+ children,
14
+ variant,
15
+ size,
16
+ as = 'section',
17
+ element = $bindable(null),
18
+ class: className,
19
+ ...rest
20
+ }: Props = $props();
21
+ </script>
22
+
23
+ <svelte:element
24
+ this={as}
25
+ {...{}}
26
+ bind:this={element}
27
+ class={cx('', typeof className === 'string' ? className : undefined)}
28
+ data-variant={variant}
29
+ data-size={size}
30
+ {...rest}
31
+ >
32
+ {@render children?.()}
33
+ </svelte:element>
@@ -0,0 +1,13 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { SvelteHTMLElements } from 'svelte/elements';
3
+ import { type Variant, type Size } from './core.js';
4
+ type Props = Omit<SvelteHTMLElements['section'], 'children' | 'size'> & {
5
+ children?: Snippet;
6
+ variant?: Variant;
7
+ size?: Size;
8
+ as?: keyof HTMLElementTagNameMap;
9
+ element?: HTMLElement | null;
10
+ };
11
+ declare const ItemContent: import("svelte").Component<Props, {}, "element">;
12
+ type ItemContent = ReturnType<typeof ItemContent>;
13
+ export default ItemContent;
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { SvelteHTMLElements } from 'svelte/elements';
4
+ import { cx, type Variant, type Size } from './core.js';
5
+ type Props = Omit<SvelteHTMLElements['p'], 'children' | 'size'> & {
6
+ children?: Snippet;
7
+ variant?: Variant;
8
+ size?: Size;
9
+ as?: keyof HTMLElementTagNameMap;
10
+ element?: HTMLElement | null;
11
+ };
12
+ let {
13
+ children,
14
+ variant,
15
+ size,
16
+ as = 'p',
17
+ element = $bindable(null),
18
+ class: className,
19
+ ...rest
20
+ }: Props = $props();
21
+ </script>
22
+
23
+ <svelte:element
24
+ this={as}
25
+ {...{}}
26
+ bind:this={element}
27
+ class={cx('', typeof className === 'string' ? className : undefined)}
28
+ data-variant={variant}
29
+ data-size={size}
30
+ {...rest}
31
+ >
32
+ {@render children?.()}
33
+ </svelte:element>
@@ -0,0 +1,13 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { SvelteHTMLElements } from 'svelte/elements';
3
+ import { type Variant, type Size } from './core.js';
4
+ type Props = Omit<SvelteHTMLElements['p'], 'children' | 'size'> & {
5
+ children?: Snippet;
6
+ variant?: Variant;
7
+ size?: Size;
8
+ as?: keyof HTMLElementTagNameMap;
9
+ element?: HTMLElement | null;
10
+ };
11
+ declare const ItemDescription: import("svelte").Component<Props, {}, "element">;
12
+ type ItemDescription = ReturnType<typeof ItemDescription>;
13
+ export default ItemDescription;
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { SvelteHTMLElements } from 'svelte/elements';
4
+ import { cx, type Variant, type Size } from './core.js';
5
+ type Props = Omit<SvelteHTMLElements['h3'], 'children' | 'size'> & {
6
+ children?: Snippet;
7
+ variant?: Variant;
8
+ size?: Size;
9
+ as?: keyof HTMLElementTagNameMap;
10
+ element?: HTMLElement | null;
11
+ };
12
+ let {
13
+ children,
14
+ variant,
15
+ size,
16
+ as = 'h3',
17
+ element = $bindable(null),
18
+ class: className,
19
+ ...rest
20
+ }: Props = $props();
21
+ </script>
22
+
23
+ <svelte:element
24
+ this={as}
25
+ {...{}}
26
+ bind:this={element}
27
+ class={cx('', typeof className === 'string' ? className : undefined)}
28
+ data-variant={variant}
29
+ data-size={size}
30
+ {...rest}
31
+ >
32
+ {@render children?.()}
33
+ </svelte:element>
@@ -0,0 +1,13 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { SvelteHTMLElements } from 'svelte/elements';
3
+ import { type Variant, type Size } from './core.js';
4
+ type Props = Omit<SvelteHTMLElements['h3'], 'children' | 'size'> & {
5
+ children?: Snippet;
6
+ variant?: Variant;
7
+ size?: Size;
8
+ as?: keyof HTMLElementTagNameMap;
9
+ element?: HTMLElement | null;
10
+ };
11
+ declare const ItemTitle: import("svelte").Component<Props, {}, "element">;
12
+ type ItemTitle = ReturnType<typeof ItemTitle>;
13
+ export default ItemTitle;
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { SvelteHTMLElements } from 'svelte/elements';
4
+ import { cx, type Variant, type Size } from './core.js';
5
+ type Props = Omit<SvelteHTMLElements['kbd'], 'children' | 'size'> & {
6
+ children?: Snippet;
7
+ variant?: Variant;
8
+ size?: Size;
9
+ as?: keyof HTMLElementTagNameMap;
10
+ element?: HTMLElement | null;
11
+ };
12
+ let {
13
+ children,
14
+ variant,
15
+ size,
16
+ as = 'kbd',
17
+ element = $bindable(null),
18
+ class: className,
19
+ ...rest
20
+ }: Props = $props();
21
+ </script>
22
+
23
+ <svelte:element
24
+ this={as}
25
+ {...{}}
26
+ bind:this={element}
27
+ class={cx('kbd', typeof className === 'string' ? className : undefined)}
28
+ data-variant={variant}
29
+ data-size={size}
30
+ {...rest}
31
+ >
32
+ {@render children?.()}
33
+ </svelte:element>
@@ -0,0 +1,13 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { SvelteHTMLElements } from 'svelte/elements';
3
+ import { type Variant, type Size } from './core.js';
4
+ type Props = Omit<SvelteHTMLElements['kbd'], 'children' | 'size'> & {
5
+ children?: Snippet;
6
+ variant?: Variant;
7
+ size?: Size;
8
+ as?: keyof HTMLElementTagNameMap;
9
+ element?: HTMLElement | null;
10
+ };
11
+ declare const Kbd: import("svelte").Component<Props, {}, "element">;
12
+ type Kbd = ReturnType<typeof Kbd>;
13
+ export default Kbd;
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { SvelteHTMLElements } from 'svelte/elements';
4
+ import { cx, type Variant, type Size } from './core.js';
5
+ type Props = Omit<SvelteHTMLElements['label'], 'children' | 'size'> & {
6
+ children?: Snippet;
7
+ variant?: Variant;
8
+ size?: Size;
9
+ as?: keyof HTMLElementTagNameMap;
10
+ element?: HTMLElement | null;
11
+ };
12
+ let {
13
+ children,
14
+ variant,
15
+ size,
16
+ as = 'label',
17
+ element = $bindable(null),
18
+ class: className,
19
+ ...rest
20
+ }: Props = $props();
21
+ </script>
22
+
23
+ <svelte:element
24
+ this={as}
25
+ {...{}}
26
+ bind:this={element}
27
+ class={cx('label', typeof className === 'string' ? className : undefined)}
28
+ data-variant={variant}
29
+ data-size={size}
30
+ {...rest}
31
+ >
32
+ {@render children?.()}
33
+ </svelte:element>
@@ -0,0 +1,13 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { SvelteHTMLElements } from 'svelte/elements';
3
+ import { type Variant, type Size } from './core.js';
4
+ type Props = Omit<SvelteHTMLElements['label'], 'children' | 'size'> & {
5
+ children?: Snippet;
6
+ variant?: Variant;
7
+ size?: Size;
8
+ as?: keyof HTMLElementTagNameMap;
9
+ element?: HTMLElement | null;
10
+ };
11
+ declare const Label: import("svelte").Component<Props, {}, "element">;
12
+ type Label = ReturnType<typeof Label>;
13
+ export default Label;
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { SvelteHTMLElements } from 'svelte/elements';
4
+ import { cx, type Variant, type Size } from './core.js';
5
+ type Props = Omit<SvelteHTMLElements['select'], 'children' | 'size'> & {
6
+ children?: Snippet;
7
+ variant?: Variant;
8
+ size?: Size;
9
+ as?: keyof HTMLElementTagNameMap;
10
+ element?: HTMLElement | null;
11
+ };
12
+ let {
13
+ children,
14
+ variant,
15
+ size,
16
+ as = 'select',
17
+ element = $bindable(null),
18
+ class: className,
19
+ ...rest
20
+ }: Props = $props();
21
+ </script>
22
+
23
+ <svelte:element
24
+ this={as}
25
+ {...{}}
26
+ bind:this={element}
27
+ class={cx('select', typeof className === 'string' ? className : undefined)}
28
+ data-variant={variant}
29
+ data-size={size}
30
+ {...rest}
31
+ >
32
+ {@render children?.()}
33
+ </svelte:element>
@@ -0,0 +1,13 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { SvelteHTMLElements } from 'svelte/elements';
3
+ import { type Variant, type Size } from './core.js';
4
+ type Props = Omit<SvelteHTMLElements['select'], 'children' | 'size'> & {
5
+ children?: Snippet;
6
+ variant?: Variant;
7
+ size?: Size;
8
+ as?: keyof HTMLElementTagNameMap;
9
+ element?: HTMLElement | null;
10
+ };
11
+ declare const NativeSelect: import("svelte").Component<Props, {}, "element">;
12
+ type NativeSelect = ReturnType<typeof NativeSelect>;
13
+ export default NativeSelect;
@@ -0,0 +1,37 @@
1
+ <script lang="ts">
2
+ let {
3
+ page = $bindable(1),
4
+ count,
5
+ onPageChange,
6
+ label = 'Pagination',
7
+ }: {
8
+ page?: number;
9
+ count: number;
10
+ onPageChange?: (page: number) => void;
11
+ label?: string;
12
+ } = $props();
13
+ let total = $derived(Math.max(1, Math.floor(count))),
14
+ current = $derived(Math.max(1, Math.min(page, total)));
15
+ function set(next: number) {
16
+ if (!onPageChange) page = next;
17
+ onPageChange?.(next);
18
+ }
19
+ </script>
20
+
21
+ <nav class="bc-pagination" aria-label={label}>
22
+ <button
23
+ type="button"
24
+ class="btn"
25
+ data-variant="outline"
26
+ disabled={current === 1}
27
+ aria-label="Previous page"
28
+ onclick={() => set(current - 1)}>‹</button
29
+ ><span aria-live="polite">{current} / {total}</span><button
30
+ type="button"
31
+ class="btn"
32
+ data-variant="outline"
33
+ disabled={current === total}
34
+ aria-label="Next page"
35
+ onclick={() => set(current + 1)}>›</button
36
+ >
37
+ </nav>
@@ -0,0 +1,9 @@
1
+ type $$ComponentProps = {
2
+ page?: number;
3
+ count: number;
4
+ onPageChange?: (page: number) => void;
5
+ label?: string;
6
+ };
7
+ declare const Pagination: import("svelte").Component<$$ComponentProps, {}, "page">;
8
+ type Pagination = ReturnType<typeof Pagination>;
9
+ export default Pagination;
@@ -0,0 +1,80 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import {
4
+ attachFloating,
5
+ dismissableLayer,
6
+ focusFirst,
7
+ type Side,
8
+ type Align,
9
+ } from './core.js';
10
+ type Props = {
11
+ open?: boolean;
12
+ defaultOpen?: boolean;
13
+ onOpenChange?: (open: boolean) => void;
14
+ trigger: string;
15
+ side?: Side;
16
+ align?: Align;
17
+ label?: string;
18
+ children?: Snippet;
19
+ };
20
+ let {
21
+ open = $bindable(undefined),
22
+ defaultOpen = false,
23
+ onOpenChange,
24
+ trigger,
25
+ side,
26
+ align,
27
+ label = 'Popover',
28
+ children,
29
+ }: Props = $props();
30
+ const id = $props.id();
31
+ let internal = $state((() => defaultOpen)()),
32
+ current = $derived(open === undefined ? internal : open),
33
+ anchor: HTMLButtonElement,
34
+ popup = $state<HTMLDivElement>();
35
+ function set(next: boolean) {
36
+ if (open === undefined) internal = next;
37
+ else if (!onOpenChange) open = next;
38
+ onOpenChange?.(next);
39
+ }
40
+ $effect(() => {
41
+ if (!current || !popup) return;
42
+ const position = attachFloating(anchor, popup, { side, align });
43
+ const layer = dismissableLayer(anchor.ownerDocument, {
44
+ elements: () => [anchor, popup ?? null],
45
+ dismiss: (reason) => {
46
+ set(false);
47
+ if (reason === 'escape') anchor.focus();
48
+ },
49
+ });
50
+ focusFirst(popup);
51
+ return () => {
52
+ layer();
53
+ position();
54
+ };
55
+ });
56
+ </script>
57
+
58
+ <div class="popover">
59
+ <button
60
+ bind:this={anchor}
61
+ type="button"
62
+ class="btn"
63
+ data-variant="outline"
64
+ aria-haspopup="dialog"
65
+ aria-expanded={current}
66
+ aria-controls={id}
67
+ onclick={() => set(!current)}>{trigger}</button
68
+ >{#if current}<div
69
+ bind:this={popup}
70
+ {id}
71
+ data-popover=""
72
+ popover="manual"
73
+ class="bc-floating"
74
+ role="dialog"
75
+ aria-label={label}
76
+ tabindex="-1"
77
+ >
78
+ {@render children?.()}
79
+ </div>{/if}
80
+ </div>
@@ -0,0 +1,15 @@
1
+ import type { Snippet } from 'svelte';
2
+ import { type Side, type Align } from './core.js';
3
+ type Props = {
4
+ open?: boolean;
5
+ defaultOpen?: boolean;
6
+ onOpenChange?: (open: boolean) => void;
7
+ trigger: string;
8
+ side?: Side;
9
+ align?: Align;
10
+ label?: string;
11
+ children?: Snippet;
12
+ };
13
+ declare const Popover: import("svelte").Component<Props, {}, "open">;
14
+ type Popover = ReturnType<typeof Popover>;
15
+ export default Popover;