@shellicar/ui-shadcn 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 (128) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +13 -0
  3. package/dist/app.css +70 -0
  4. package/dist/components/page/HomeButton.svelte +8 -0
  5. package/dist/components/page/HomeButton.svelte.d.ts +18 -0
  6. package/dist/components/page/PageHeader.svelte +15 -0
  7. package/dist/components/page/PageHeader.svelte.d.ts +7 -0
  8. package/dist/components/page/PageSection.svelte +32 -0
  9. package/dist/components/page/PageSection.svelte.d.ts +13 -0
  10. package/dist/components/page/index.d.ts +4 -0
  11. package/dist/components/page/index.js +4 -0
  12. package/dist/components/ui/button/button.svelte +80 -0
  13. package/dist/components/ui/button/button.svelte.d.ts +64 -0
  14. package/dist/components/ui/button/index.d.ts +2 -0
  15. package/dist/components/ui/button/index.js +4 -0
  16. package/dist/components/ui/card/card-action.svelte +15 -0
  17. package/dist/components/ui/card/card-action.svelte.d.ts +5 -0
  18. package/dist/components/ui/card/card-content.svelte +10 -0
  19. package/dist/components/ui/card/card-content.svelte.d.ts +5 -0
  20. package/dist/components/ui/card/card-description.svelte +15 -0
  21. package/dist/components/ui/card/card-description.svelte.d.ts +5 -0
  22. package/dist/components/ui/card/card-footer.svelte +15 -0
  23. package/dist/components/ui/card/card-footer.svelte.d.ts +5 -0
  24. package/dist/components/ui/card/card-header.svelte +18 -0
  25. package/dist/components/ui/card/card-header.svelte.d.ts +5 -0
  26. package/dist/components/ui/card/card-title.svelte +15 -0
  27. package/dist/components/ui/card/card-title.svelte.d.ts +5 -0
  28. package/dist/components/ui/card/card.svelte +18 -0
  29. package/dist/components/ui/card/card.svelte.d.ts +5 -0
  30. package/dist/components/ui/card/index.d.ts +8 -0
  31. package/dist/components/ui/card/index.js +10 -0
  32. package/dist/components/ui/form/form-button.svelte +7 -0
  33. package/dist/components/ui/form/form-button.svelte.d.ts +4 -0
  34. package/dist/components/ui/form/form-description.svelte +13 -0
  35. package/dist/components/ui/form/form-description.svelte.d.ts +4 -0
  36. package/dist/components/ui/form/form-element-field.svelte +27 -0
  37. package/dist/components/ui/form/form-element-field.svelte.d.ts +28 -0
  38. package/dist/components/ui/form/form-field-errors.svelte +30 -0
  39. package/dist/components/ui/form/form-field-errors.svelte.d.ts +8 -0
  40. package/dist/components/ui/form/form-field.svelte +33 -0
  41. package/dist/components/ui/form/form-field.svelte.d.ts +28 -0
  42. package/dist/components/ui/form/form-fieldset.svelte +18 -0
  43. package/dist/components/ui/form/form-fieldset.svelte.d.ts +27 -0
  44. package/dist/components/ui/form/form-label.svelte +19 -0
  45. package/dist/components/ui/form/form-label.svelte.d.ts +4 -0
  46. package/dist/components/ui/form/form-legend.svelte +12 -0
  47. package/dist/components/ui/form/form-legend.svelte.d.ts +4 -0
  48. package/dist/components/ui/form/index.d.ts +11 -0
  49. package/dist/components/ui/form/index.js +13 -0
  50. package/dist/components/ui/input/index.d.ts +2 -0
  51. package/dist/components/ui/input/index.js +4 -0
  52. package/dist/components/ui/input/input.svelte +41 -0
  53. package/dist/components/ui/input/input.svelte.d.ts +13 -0
  54. package/dist/components/ui/label/index.d.ts +2 -0
  55. package/dist/components/ui/label/index.js +4 -0
  56. package/dist/components/ui/label/label.svelte +16 -0
  57. package/dist/components/ui/label/label.svelte.d.ts +4 -0
  58. package/dist/components/ui/popover/index.d.ts +6 -0
  59. package/dist/components/ui/popover/index.js +8 -0
  60. package/dist/components/ui/popover/popover-close.svelte +7 -0
  61. package/dist/components/ui/popover/popover-close.svelte.d.ts +4 -0
  62. package/dist/components/ui/popover/popover-content.svelte +31 -0
  63. package/dist/components/ui/popover/popover-content.svelte.d.ts +10 -0
  64. package/dist/components/ui/popover/popover-portal.svelte +7 -0
  65. package/dist/components/ui/popover/popover-portal.svelte.d.ts +3 -0
  66. package/dist/components/ui/popover/popover-trigger.svelte +13 -0
  67. package/dist/components/ui/popover/popover-trigger.svelte.d.ts +4 -0
  68. package/dist/components/ui/popover/popover.svelte +7 -0
  69. package/dist/components/ui/popover/popover.svelte.d.ts +3 -0
  70. package/dist/components/ui/select/index.d.ts +12 -0
  71. package/dist/components/ui/select/index.js +14 -0
  72. package/dist/components/ui/select/select-content.svelte +45 -0
  73. package/dist/components/ui/select/select-content.svelte.d.ts +11 -0
  74. package/dist/components/ui/select/select-group-heading.svelte +16 -0
  75. package/dist/components/ui/select/select-group-heading.svelte.d.ts +10 -0
  76. package/dist/components/ui/select/select-group.svelte +7 -0
  77. package/dist/components/ui/select/select-group.svelte.d.ts +4 -0
  78. package/dist/components/ui/select/select-item.svelte +31 -0
  79. package/dist/components/ui/select/select-item.svelte.d.ts +4 -0
  80. package/dist/components/ui/select/select-label.svelte +15 -0
  81. package/dist/components/ui/select/select-label.svelte.d.ts +6 -0
  82. package/dist/components/ui/select/select-portal.svelte +7 -0
  83. package/dist/components/ui/select/select-portal.svelte.d.ts +3 -0
  84. package/dist/components/ui/select/select-scroll-down-button.svelte +16 -0
  85. package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +4 -0
  86. package/dist/components/ui/select/select-scroll-up-button.svelte +16 -0
  87. package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +4 -0
  88. package/dist/components/ui/select/select-separator.svelte +14 -0
  89. package/dist/components/ui/select/select-separator.svelte.d.ts +4 -0
  90. package/dist/components/ui/select/select-trigger.svelte +29 -0
  91. package/dist/components/ui/select/select-trigger.svelte.d.ts +8 -0
  92. package/dist/components/ui/select/select.svelte +7 -0
  93. package/dist/components/ui/select/select.svelte.d.ts +3 -0
  94. package/dist/components/ui/separator/index.d.ts +2 -0
  95. package/dist/components/ui/separator/index.js +4 -0
  96. package/dist/components/ui/separator/separator.svelte +16 -0
  97. package/dist/components/ui/separator/separator.svelte.d.ts +4 -0
  98. package/dist/components/ui/sheet/index.d.ts +11 -0
  99. package/dist/components/ui/sheet/index.js +13 -0
  100. package/dist/components/ui/sheet/sheet-close.svelte +7 -0
  101. package/dist/components/ui/sheet/sheet-close.svelte.d.ts +4 -0
  102. package/dist/components/ui/sheet/sheet-content.svelte +60 -0
  103. package/dist/components/ui/sheet/sheet-content.svelte.d.ts +37 -0
  104. package/dist/components/ui/sheet/sheet-description.svelte +13 -0
  105. package/dist/components/ui/sheet/sheet-description.svelte.d.ts +4 -0
  106. package/dist/components/ui/sheet/sheet-footer.svelte +15 -0
  107. package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +5 -0
  108. package/dist/components/ui/sheet/sheet-header.svelte +15 -0
  109. package/dist/components/ui/sheet/sheet-header.svelte.d.ts +5 -0
  110. package/dist/components/ui/sheet/sheet-overlay.svelte +16 -0
  111. package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +4 -0
  112. package/dist/components/ui/sheet/sheet-portal.svelte +7 -0
  113. package/dist/components/ui/sheet/sheet-portal.svelte.d.ts +3 -0
  114. package/dist/components/ui/sheet/sheet-title.svelte +13 -0
  115. package/dist/components/ui/sheet/sheet-title.svelte.d.ts +4 -0
  116. package/dist/components/ui/sheet/sheet-trigger.svelte +7 -0
  117. package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +4 -0
  118. package/dist/components/ui/sheet/sheet.svelte +7 -0
  119. package/dist/components/ui/sheet/sheet.svelte.d.ts +3 -0
  120. package/dist/components/ui/textarea/index.d.ts +2 -0
  121. package/dist/components/ui/textarea/index.js +4 -0
  122. package/dist/components/ui/textarea/textarea.svelte +17 -0
  123. package/dist/components/ui/textarea/textarea.svelte.d.ts +5 -0
  124. package/dist/index.d.ts +11 -0
  125. package/dist/index.js +11 -0
  126. package/dist/utils.d.ts +12 -0
  127. package/dist/utils.js +5 -0
  128. package/package.json +81 -0
@@ -0,0 +1,28 @@
1
+ import * as FormPrimitive from "formsnap";
2
+ import type { FormPathLeaves } from "sveltekit-superforms";
3
+ import type { HTMLAttributes } from "svelte/elements";
4
+ import { type WithElementRef } from "../../../utils.js";
5
+ declare function $$render<T extends Record<string, unknown>, U extends FormPathLeaves<T>>(): {
6
+ props: Omit<WithElementRef<HTMLAttributes<HTMLDivElement>>, "children"> & FormPrimitive.ElementFieldProps<T, U, any>;
7
+ exports: {};
8
+ bindings: "ref";
9
+ slots: {};
10
+ events: {};
11
+ };
12
+ declare class __sveltets_Render<T extends Record<string, unknown>, U extends FormPathLeaves<T>> {
13
+ props(): ReturnType<typeof $$render<T, U>>['props'];
14
+ events(): ReturnType<typeof $$render<T, U>>['events'];
15
+ slots(): ReturnType<typeof $$render<T, U>>['slots'];
16
+ bindings(): "ref";
17
+ exports(): {};
18
+ }
19
+ interface $$IsomorphicComponent {
20
+ new <T extends Record<string, unknown>, U extends FormPathLeaves<T>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, U>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, U>['props']>, ReturnType<__sveltets_Render<T, U>['events']>, ReturnType<__sveltets_Render<T, U>['slots']>> & {
21
+ $$bindings?: ReturnType<__sveltets_Render<T, U>['bindings']>;
22
+ } & ReturnType<__sveltets_Render<T, U>['exports']>;
23
+ <T extends Record<string, unknown>, U extends FormPathLeaves<T>>(internal: unknown, props: ReturnType<__sveltets_Render<T, U>['props']> & {}): ReturnType<__sveltets_Render<T, U>['exports']>;
24
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
25
+ }
26
+ declare const FormElementField: $$IsomorphicComponent;
27
+ type FormElementField<T extends Record<string, unknown>, U extends FormPathLeaves<T>> = InstanceType<typeof FormElementField<T, U>>;
28
+ export default FormElementField;
@@ -0,0 +1,30 @@
1
+ <script lang="ts">
2
+ import type * as FormPrimitive from 'formsnap';
3
+ import { cn, type WithoutChild } from '../../../utils.js';
4
+
5
+ const {
6
+ ref = $bindable(null),
7
+ class: className,
8
+ errorClasses,
9
+ children: childrenProp,
10
+ ...restProps
11
+ }: WithoutChild<FormPrimitive.FieldErrorsProps> & {
12
+ errorClasses?: string | undefined | null;
13
+ } = $props();
14
+ </script>
15
+
16
+ <FormPrimitive.FieldErrors
17
+ bind:ref
18
+ class={cn("text-destructive text-sm font-medium", className)}
19
+ {...restProps}
20
+ >
21
+ {#snippet children({ errors, errorProps })}
22
+ {#if childrenProp}
23
+ {@render childrenProp({ errors, errorProps })}
24
+ {:else}
25
+ {#each errors as error (error)}
26
+ <div {...errorProps} class={cn(errorClasses)}>{error}</div>
27
+ {/each}
28
+ {/if}
29
+ {/snippet}
30
+ </FormPrimitive.FieldErrors>
@@ -0,0 +1,8 @@
1
+ import type * as FormPrimitive from 'formsnap';
2
+ import { type WithoutChild } from '../../../utils.js';
3
+ type $$ComponentProps = WithoutChild<FormPrimitive.FieldErrorsProps> & {
4
+ errorClasses?: string | undefined | null;
5
+ };
6
+ declare const FormFieldErrors: import("svelte").Component<$$ComponentProps, {}, "ref">;
7
+ type FormFieldErrors = ReturnType<typeof FormFieldErrors>;
8
+ export default FormFieldErrors;
@@ -0,0 +1,33 @@
1
+ <script lang="ts" generics="T extends Record<string, unknown>, U extends FormPath<T>">
2
+
3
+ import * as FormPrimitive from "formsnap";
4
+
5
+ import type { FormPath } from "sveltekit-superforms";
6
+
7
+ import { cn, type WithElementRef, type WithoutChildren } from "../../../utils.js";
8
+
9
+ import type { HTMLAttributes } from "svelte/elements";
10
+
11
+ let {
12
+ ref = $bindable(null),
13
+ class: className,
14
+ form,
15
+ name,
16
+ children: childrenProp,
17
+ ...restProps
18
+ }: FormPrimitive.FieldProps<T, U> &
19
+ WithoutChildren<WithElementRef<HTMLAttributes<HTMLDivElement>>> = $props();
20
+ </script>
21
+
22
+ <FormPrimitive.Field {form} {name}>
23
+ {#snippet children({ constraints, errors, tainted, value })}
24
+ <div
25
+ bind:this={ref}
26
+ data-slot="form-item"
27
+ class={cn("space-y-2", className)}
28
+ {...restProps}
29
+ >
30
+ {@render childrenProp?.({ constraints, errors, tainted, value: value as T[U] })}
31
+ </div>
32
+ {/snippet}
33
+ </FormPrimitive.Field>
@@ -0,0 +1,28 @@
1
+ import * as FormPrimitive from "formsnap";
2
+ import type { FormPath } from "sveltekit-superforms";
3
+ import { type WithElementRef } from "../../../utils.js";
4
+ import type { HTMLAttributes } from "svelte/elements";
5
+ declare function $$render<T extends Record<string, unknown>, U extends FormPath<T>>(): {
6
+ props: FormPrimitive.FieldProps<T, U, any> & Omit<WithElementRef<HTMLAttributes<HTMLDivElement>>, "children">;
7
+ exports: {};
8
+ bindings: "ref";
9
+ slots: {};
10
+ events: {};
11
+ };
12
+ declare class __sveltets_Render<T extends Record<string, unknown>, U extends FormPath<T>> {
13
+ props(): ReturnType<typeof $$render<T, U>>['props'];
14
+ events(): ReturnType<typeof $$render<T, U>>['events'];
15
+ slots(): ReturnType<typeof $$render<T, U>>['slots'];
16
+ bindings(): "ref";
17
+ exports(): {};
18
+ }
19
+ interface $$IsomorphicComponent {
20
+ new <T extends Record<string, unknown>, U extends FormPath<T>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, U>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, U>['props']>, ReturnType<__sveltets_Render<T, U>['events']>, ReturnType<__sveltets_Render<T, U>['slots']>> & {
21
+ $$bindings?: ReturnType<__sveltets_Render<T, U>['bindings']>;
22
+ } & ReturnType<__sveltets_Render<T, U>['exports']>;
23
+ <T extends Record<string, unknown>, U extends FormPath<T>>(internal: unknown, props: ReturnType<__sveltets_Render<T, U>['props']> & {}): ReturnType<__sveltets_Render<T, U>['exports']>;
24
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
25
+ }
26
+ declare const FormField: $$IsomorphicComponent;
27
+ type FormField<T extends Record<string, unknown>, U extends FormPath<T>> = InstanceType<typeof FormField<T, U>>;
28
+ export default FormField;
@@ -0,0 +1,18 @@
1
+ <script lang="ts" generics="T extends Record<string, unknown>, U extends FormPath<T>">
2
+
3
+ import * as FormPrimitive from "formsnap";
4
+
5
+ import type { FormPath } from "sveltekit-superforms";
6
+
7
+ import { cn, type WithoutChild } from "../../../utils.js";
8
+
9
+ let {
10
+ ref = $bindable(null),
11
+ class: className,
12
+ form,
13
+ name,
14
+ ...restProps
15
+ }: WithoutChild<FormPrimitive.FieldsetProps<T, U>> = $props();
16
+ </script>
17
+
18
+ <FormPrimitive.Fieldset bind:ref {form} {name} class={cn("space-y-2", className)} {...restProps} />
@@ -0,0 +1,27 @@
1
+ import * as FormPrimitive from "formsnap";
2
+ import type { FormPath } from "sveltekit-superforms";
3
+ import { type WithoutChild } from "../../../utils.js";
4
+ declare function $$render<T extends Record<string, unknown>, U extends FormPath<T>>(): {
5
+ props: WithoutChild<FormPrimitive.FieldsetProps<T, U>>;
6
+ exports: {};
7
+ bindings: "ref";
8
+ slots: {};
9
+ events: {};
10
+ };
11
+ declare class __sveltets_Render<T extends Record<string, unknown>, U extends FormPath<T>> {
12
+ props(): ReturnType<typeof $$render<T, U>>['props'];
13
+ events(): ReturnType<typeof $$render<T, U>>['events'];
14
+ slots(): ReturnType<typeof $$render<T, U>>['slots'];
15
+ bindings(): "ref";
16
+ exports(): {};
17
+ }
18
+ interface $$IsomorphicComponent {
19
+ new <T extends Record<string, unknown>, U extends FormPath<T>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, U>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, U>['props']>, ReturnType<__sveltets_Render<T, U>['events']>, ReturnType<__sveltets_Render<T, U>['slots']>> & {
20
+ $$bindings?: ReturnType<__sveltets_Render<T, U>['bindings']>;
21
+ } & ReturnType<__sveltets_Render<T, U>['exports']>;
22
+ <T extends Record<string, unknown>, U extends FormPath<T>>(internal: unknown, props: ReturnType<__sveltets_Render<T, U>['props']> & {}): ReturnType<__sveltets_Render<T, U>['exports']>;
23
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
24
+ }
25
+ declare const FormFieldset: $$IsomorphicComponent;
26
+ type FormFieldset<T extends Record<string, unknown>, U extends FormPath<T>> = InstanceType<typeof FormFieldset<T, U>>;
27
+ export default FormFieldset;
@@ -0,0 +1,19 @@
1
+ <script lang="ts">
2
+ import type * as FormPrimitive from 'formsnap';
3
+ import { Label } from '../label/index.js';
4
+ import { cn, type WithoutChild } from '../../../utils.js';
5
+
6
+ const { ref = $bindable(null), children, class: className, ...restProps }: WithoutChild<FormPrimitive.LabelProps> = $props();
7
+ </script>
8
+
9
+ <FormPrimitive.Label {...restProps} bind:ref>
10
+ {#snippet child({ props })}
11
+ <Label
12
+ {...props}
13
+ data-slot="form-label"
14
+ class={cn("data-[fs-error]:text-destructive", className)}
15
+ >
16
+ {@render children?.()}
17
+ </Label>
18
+ {/snippet}
19
+ </FormPrimitive.Label>
@@ -0,0 +1,4 @@
1
+ import type * as FormPrimitive from 'formsnap';
2
+ declare const FormLabel: import("svelte").Component<Omit<FormPrimitive.LabelProps, "child">, {}, "ref">;
3
+ type FormLabel = ReturnType<typeof FormLabel>;
4
+ export default FormLabel;
@@ -0,0 +1,12 @@
1
+ <script lang="ts">
2
+ import type * as FormPrimitive from 'formsnap';
3
+ import { cn, type WithoutChild } from '../../../utils.js';
4
+
5
+ const { ref = $bindable(null), class: className, ...restProps }: WithoutChild<FormPrimitive.LegendProps> = $props();
6
+ </script>
7
+
8
+ <FormPrimitive.Legend
9
+ bind:ref
10
+ class={cn("data-[fs-error]:text-destructive text-sm leading-none font-medium", className)}
11
+ {...restProps}
12
+ />
@@ -0,0 +1,4 @@
1
+ import type * as FormPrimitive from 'formsnap';
2
+ declare const FormLegend: import("svelte").Component<Omit<FormPrimitive.LegendProps, "child">, {}, "ref">;
3
+ type FormLegend = ReturnType<typeof FormLegend>;
4
+ export default FormLegend;
@@ -0,0 +1,11 @@
1
+ import * as FormPrimitive from 'formsnap';
2
+ import Button from './form-button.svelte';
3
+ import Description from './form-description.svelte';
4
+ import ElementField from './form-element-field.svelte';
5
+ import Field from './form-field.svelte';
6
+ import FieldErrors from './form-field-errors.svelte';
7
+ import Fieldset from './form-fieldset.svelte';
8
+ import Label from './form-label.svelte';
9
+ import Legend from './form-legend.svelte';
10
+ declare const Control: import("svelte").Component<FormPrimitive.ControlProps, {}, "">;
11
+ export { Field, Control, Label, Button, FieldErrors, Description, Fieldset, Legend, ElementField, Field as FormField, Control as FormControl, Description as FormDescription, Label as FormLabel, FieldErrors as FormFieldErrors, Fieldset as FormFieldset, Legend as FormLegend, ElementField as FormElementField, Button as FormButton, };
@@ -0,0 +1,13 @@
1
+ import * as FormPrimitive from 'formsnap';
2
+ import Button from './form-button.svelte';
3
+ import Description from './form-description.svelte';
4
+ import ElementField from './form-element-field.svelte';
5
+ import Field from './form-field.svelte';
6
+ import FieldErrors from './form-field-errors.svelte';
7
+ import Fieldset from './form-fieldset.svelte';
8
+ import Label from './form-label.svelte';
9
+ import Legend from './form-legend.svelte';
10
+ const Control = FormPrimitive.Control;
11
+ export { Field, Control, Label, Button, FieldErrors, Description, Fieldset, Legend, ElementField,
12
+ //
13
+ Field as FormField, Control as FormControl, Description as FormDescription, Label as FormLabel, FieldErrors as FormFieldErrors, Fieldset as FormFieldset, Legend as FormLegend, ElementField as FormElementField, Button as FormButton, };
@@ -0,0 +1,2 @@
1
+ import Root from './input.svelte';
2
+ export { Root, Root as Input, };
@@ -0,0 +1,4 @@
1
+ import Root from './input.svelte';
2
+ export { Root,
3
+ //
4
+ Root as Input, };
@@ -0,0 +1,41 @@
1
+ <script lang="ts">
2
+ import type { HTMLInputAttributes, HTMLInputTypeAttribute } from 'svelte/elements';
3
+ import { cn, type WithElementRef } from '../../../utils.js';
4
+
5
+ type InputType = Exclude<HTMLInputTypeAttribute, 'file'>;
6
+
7
+ type Props = WithElementRef<Omit<HTMLInputAttributes, 'type'> & ({ type: 'file'; files?: FileList } | { type?: InputType; files?: undefined })>;
8
+
9
+ const { ref = $bindable(null), value = $bindable(), type, files = $bindable(), class: className, 'data-slot': dataSlot = 'input', ...restProps }: Props = $props();
10
+ </script>
11
+
12
+ {#if type === "file"}
13
+ <input
14
+ bind:this={ref}
15
+ data-slot={dataSlot}
16
+ class={cn(
17
+ "selection:bg-primary dark:bg-input/30 selection:text-primary-foreground border-input ring-offset-background placeholder:text-muted-foreground flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 pt-1.5 text-sm font-medium shadow-xs transition-[color,box-shadow] outline-none disabled:cursor-not-allowed disabled:opacity-50",
18
+ "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
19
+ "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
20
+ className
21
+ )}
22
+ type="file"
23
+ bind:files
24
+ bind:value
25
+ {...restProps}
26
+ />
27
+ {:else}
28
+ <input
29
+ bind:this={ref}
30
+ data-slot={dataSlot}
31
+ class={cn(
32
+ "border-input bg-background selection:bg-primary dark:bg-input/30 selection:text-primary-foreground ring-offset-background placeholder:text-muted-foreground flex h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
33
+ "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
34
+ "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
35
+ className
36
+ )}
37
+ {type}
38
+ bind:value
39
+ {...restProps}
40
+ />
41
+ {/if}
@@ -0,0 +1,13 @@
1
+ import type { HTMLInputAttributes, HTMLInputTypeAttribute } from 'svelte/elements';
2
+ import { type WithElementRef } from '../../../utils.js';
3
+ type InputType = Exclude<HTMLInputTypeAttribute, 'file'>;
4
+ type Props = WithElementRef<Omit<HTMLInputAttributes, 'type'> & ({
5
+ type: 'file';
6
+ files?: FileList;
7
+ } | {
8
+ type?: InputType;
9
+ files?: undefined;
10
+ })>;
11
+ declare const Input: import("svelte").Component<Props, {}, "ref" | "value" | "files">;
12
+ type Input = ReturnType<typeof Input>;
13
+ export default Input;
@@ -0,0 +1,2 @@
1
+ import Root from './label.svelte';
2
+ export { Root, Root as Label, };
@@ -0,0 +1,4 @@
1
+ import Root from './label.svelte';
2
+ export { Root,
3
+ //
4
+ Root as Label, };
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Label as LabelPrimitive } from 'bits-ui';
3
+ import { cn } from '../../../utils.js';
4
+
5
+ const { ref = $bindable(null), class: className, ...restProps }: LabelPrimitive.RootProps = $props();
6
+ </script>
7
+
8
+ <LabelPrimitive.Root
9
+ bind:ref
10
+ data-slot="label"
11
+ class={cn(
12
+ "flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
13
+ className
14
+ )}
15
+ {...restProps}
16
+ />
@@ -0,0 +1,4 @@
1
+ import type { Label as LabelPrimitive } from 'bits-ui';
2
+ declare const Label: import("svelte").Component<LabelPrimitive.RootProps, {}, "ref">;
3
+ type Label = ReturnType<typeof Label>;
4
+ export default Label;
@@ -0,0 +1,6 @@
1
+ import Root from './popover.svelte';
2
+ import Close from './popover-close.svelte';
3
+ import Content from './popover-content.svelte';
4
+ import Portal from './popover-portal.svelte';
5
+ import Trigger from './popover-trigger.svelte';
6
+ export { Root, Content, Trigger, Close, Portal, Root as Popover, Content as PopoverContent, Trigger as PopoverTrigger, Close as PopoverClose, Portal as PopoverPortal, };
@@ -0,0 +1,8 @@
1
+ import Root from './popover.svelte';
2
+ import Close from './popover-close.svelte';
3
+ import Content from './popover-content.svelte';
4
+ import Portal from './popover-portal.svelte';
5
+ import Trigger from './popover-trigger.svelte';
6
+ export { Root, Content, Trigger, Close, Portal,
7
+ //
8
+ Root as Popover, Content as PopoverContent, Trigger as PopoverTrigger, Close as PopoverClose, Portal as PopoverPortal, };
@@ -0,0 +1,7 @@
1
+ <script lang="ts">
2
+ import type { Popover as PopoverPrimitive } from 'bits-ui';
3
+
4
+ const { ref = $bindable(null), ...restProps }: PopoverPrimitive.CloseProps = $props();
5
+ </script>
6
+
7
+ <PopoverPrimitive.Close bind:ref data-slot="popover-close" {...restProps} />
@@ -0,0 +1,4 @@
1
+ import type { Popover as PopoverPrimitive } from 'bits-ui';
2
+ declare const PopoverClose: import("svelte").Component<PopoverPrimitive.CloseProps, {}, "ref">;
3
+ type PopoverClose = ReturnType<typeof PopoverClose>;
4
+ export default PopoverClose;
@@ -0,0 +1,31 @@
1
+ <script lang="ts">
2
+ import type { Popover as PopoverPrimitive } from 'bits-ui';
3
+ import type { ComponentProps } from 'svelte';
4
+ import { cn, type WithoutChildrenOrChild } from '../../../utils.js';
5
+ import type PopoverPortal from './popover-portal.svelte';
6
+
7
+ const {
8
+ ref = $bindable(null),
9
+ class: className,
10
+ sideOffset = 4,
11
+ align = 'center',
12
+ portalProps,
13
+ ...restProps
14
+ }: PopoverPrimitive.ContentProps & {
15
+ portalProps?: WithoutChildrenOrChild<ComponentProps<typeof PopoverPortal>>;
16
+ } = $props();
17
+ </script>
18
+
19
+ <PopoverPortal {...portalProps}>
20
+ <PopoverPrimitive.Content
21
+ bind:ref
22
+ data-slot="popover-content"
23
+ {sideOffset}
24
+ {align}
25
+ class={cn(
26
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--bits-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
27
+ className
28
+ )}
29
+ {...restProps}
30
+ />
31
+ </PopoverPortal>
@@ -0,0 +1,10 @@
1
+ import type { Popover as PopoverPrimitive } from 'bits-ui';
2
+ import type { ComponentProps } from 'svelte';
3
+ import { type WithoutChildrenOrChild } from '../../../utils.js';
4
+ import type PopoverPortal from './popover-portal.svelte';
5
+ type $$ComponentProps = PopoverPrimitive.ContentProps & {
6
+ portalProps?: WithoutChildrenOrChild<ComponentProps<typeof PopoverPortal>>;
7
+ };
8
+ declare const PopoverContent: import("svelte").Component<$$ComponentProps, {}, "ref">;
9
+ type PopoverContent = ReturnType<typeof PopoverContent>;
10
+ export default PopoverContent;
@@ -0,0 +1,7 @@
1
+ <script lang="ts">
2
+ import type { Popover as PopoverPrimitive } from 'bits-ui';
3
+
4
+ const { ...restProps }: PopoverPrimitive.PortalProps = $props();
5
+ </script>
6
+
7
+ <PopoverPrimitive.Portal {...restProps} />
@@ -0,0 +1,3 @@
1
+ declare const PopoverPortal: import("svelte").Component<import("bits-ui").PortalProps, {}, "">;
2
+ type PopoverPortal = ReturnType<typeof PopoverPortal>;
3
+ export default PopoverPortal;
@@ -0,0 +1,13 @@
1
+ <script lang="ts">
2
+ import type { Popover as PopoverPrimitive } from 'bits-ui';
3
+ import { cn } from '../../../utils.js';
4
+
5
+ const { ref = $bindable(null), class: className, ...restProps }: PopoverPrimitive.TriggerProps = $props();
6
+ </script>
7
+
8
+ <PopoverPrimitive.Trigger
9
+ bind:ref
10
+ data-slot="popover-trigger"
11
+ class={cn("", className)}
12
+ {...restProps}
13
+ />
@@ -0,0 +1,4 @@
1
+ import type { Popover as PopoverPrimitive } from 'bits-ui';
2
+ declare const PopoverTrigger: import("svelte").Component<PopoverPrimitive.TriggerProps, {}, "ref">;
3
+ type PopoverTrigger = ReturnType<typeof PopoverTrigger>;
4
+ export default PopoverTrigger;
@@ -0,0 +1,7 @@
1
+ <script lang="ts">
2
+ import type { Popover as PopoverPrimitive } from 'bits-ui';
3
+
4
+ const { open = $bindable(false), ...restProps }: PopoverPrimitive.RootProps = $props();
5
+ </script>
6
+
7
+ <PopoverPrimitive.Root bind:open {...restProps} />
@@ -0,0 +1,3 @@
1
+ declare const Popover: import("svelte").Component<import("bits-ui").PopoverRootPropsWithoutHTML, {}, "open">;
2
+ type Popover = ReturnType<typeof Popover>;
3
+ export default Popover;
@@ -0,0 +1,12 @@
1
+ import Root from './select.svelte';
2
+ import Content from './select-content.svelte';
3
+ import Group from './select-group.svelte';
4
+ import GroupHeading from './select-group-heading.svelte';
5
+ import Item from './select-item.svelte';
6
+ import Label from './select-label.svelte';
7
+ import Portal from './select-portal.svelte';
8
+ import ScrollDownButton from './select-scroll-down-button.svelte';
9
+ import ScrollUpButton from './select-scroll-up-button.svelte';
10
+ import Separator from './select-separator.svelte';
11
+ import Trigger from './select-trigger.svelte';
12
+ export { Root, Group, Label, Item, Content, Trigger, Separator, ScrollDownButton, ScrollUpButton, GroupHeading, Portal, Root as Select, Group as SelectGroup, Label as SelectLabel, Item as SelectItem, Content as SelectContent, Trigger as SelectTrigger, Separator as SelectSeparator, ScrollDownButton as SelectScrollDownButton, ScrollUpButton as SelectScrollUpButton, GroupHeading as SelectGroupHeading, Portal as SelectPortal, };
@@ -0,0 +1,14 @@
1
+ import Root from './select.svelte';
2
+ import Content from './select-content.svelte';
3
+ import Group from './select-group.svelte';
4
+ import GroupHeading from './select-group-heading.svelte';
5
+ import Item from './select-item.svelte';
6
+ import Label from './select-label.svelte';
7
+ import Portal from './select-portal.svelte';
8
+ import ScrollDownButton from './select-scroll-down-button.svelte';
9
+ import ScrollUpButton from './select-scroll-up-button.svelte';
10
+ import Separator from './select-separator.svelte';
11
+ import Trigger from './select-trigger.svelte';
12
+ export { Root, Group, Label, Item, Content, Trigger, Separator, ScrollDownButton, ScrollUpButton, GroupHeading, Portal,
13
+ //
14
+ Root as Select, Group as SelectGroup, Label as SelectLabel, Item as SelectItem, Content as SelectContent, Trigger as SelectTrigger, Separator as SelectSeparator, ScrollDownButton as SelectScrollDownButton, ScrollUpButton as SelectScrollUpButton, GroupHeading as SelectGroupHeading, Portal as SelectPortal, };
@@ -0,0 +1,45 @@
1
+ <script lang="ts">
2
+ import type { Select as SelectPrimitive } from 'bits-ui';
3
+ import type { ComponentProps } from 'svelte';
4
+ import type { WithoutChildrenOrChild } from '../../../utils.js';
5
+ import { cn, type WithoutChild } from '../../../utils.js';
6
+ import type SelectPortal from './select-portal.svelte';
7
+ import SelectScrollDownButton from './select-scroll-down-button.svelte';
8
+ import SelectScrollUpButton from './select-scroll-up-button.svelte';
9
+
10
+ const {
11
+ ref = $bindable(null),
12
+ class: className,
13
+ sideOffset = 4,
14
+ portalProps,
15
+ children,
16
+ preventScroll = true,
17
+ ...restProps
18
+ }: WithoutChild<SelectPrimitive.ContentProps> & {
19
+ portalProps?: WithoutChildrenOrChild<ComponentProps<typeof SelectPortal>>;
20
+ } = $props();
21
+ </script>
22
+
23
+ <SelectPortal {...portalProps}>
24
+ <SelectPrimitive.Content
25
+ bind:ref
26
+ {sideOffset}
27
+ {preventScroll}
28
+ data-slot="select-content"
29
+ class={cn(
30
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--bits-select-content-available-height) min-w-[8rem] origin-(--bits-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
31
+ className
32
+ )}
33
+ {...restProps}
34
+ >
35
+ <SelectScrollUpButton />
36
+ <SelectPrimitive.Viewport
37
+ class={cn(
38
+ "h-(--bits-select-anchor-height) w-full min-w-(--bits-select-anchor-width) scroll-my-1 p-1"
39
+ )}
40
+ >
41
+ {@render children?.()}
42
+ </SelectPrimitive.Viewport>
43
+ <SelectScrollDownButton />
44
+ </SelectPrimitive.Content>
45
+ </SelectPortal>
@@ -0,0 +1,11 @@
1
+ import type { Select as SelectPrimitive } from 'bits-ui';
2
+ import type { ComponentProps } from 'svelte';
3
+ import type { WithoutChildrenOrChild } from '../../../utils.js';
4
+ import { type WithoutChild } from '../../../utils.js';
5
+ import type SelectPortal from './select-portal.svelte';
6
+ type $$ComponentProps = WithoutChild<SelectPrimitive.ContentProps> & {
7
+ portalProps?: WithoutChildrenOrChild<ComponentProps<typeof SelectPortal>>;
8
+ };
9
+ declare const SelectContent: import("svelte").Component<$$ComponentProps, {}, "ref">;
10
+ type SelectContent = ReturnType<typeof SelectContent>;
11
+ export default SelectContent;
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import type { Select as SelectPrimitive } from 'bits-ui';
3
+ import type { ComponentProps } from 'svelte';
4
+ import { cn } from '../../../utils.js';
5
+
6
+ const { ref = $bindable(null), class: className, children, ...restProps }: ComponentProps<typeof SelectPrimitive.GroupHeading> = $props();
7
+ </script>
8
+
9
+ <SelectPrimitive.GroupHeading
10
+ bind:ref
11
+ data-slot="select-group-heading"
12
+ class={cn("text-muted-foreground px-2 py-1.5 text-xs", className)}
13
+ {...restProps}
14
+ >
15
+ {@render children?.()}
16
+ </SelectPrimitive.GroupHeading>
@@ -0,0 +1,10 @@
1
+ declare const SelectGroupHeading: import("svelte").Component<Omit<{}, "child" | "children"> & {
2
+ child?: import("svelte").Snippet<[{
3
+ props: Record<string, unknown>;
4
+ }]> | undefined;
5
+ children?: import("svelte").Snippet<[]> | undefined;
6
+ style?: import("bits-ui").StyleProperties | string | null | undefined;
7
+ ref?: HTMLElement | null | undefined;
8
+ } & import("bits-ui").Without<import("bits-ui").BitsPrimitiveDivAttributes, import("bits-ui").ComboboxGroupHeadingPropsWithoutHTML>, {}, "ref">;
9
+ type SelectGroupHeading = ReturnType<typeof SelectGroupHeading>;
10
+ export default SelectGroupHeading;
@@ -0,0 +1,7 @@
1
+ <script lang="ts">
2
+ import type { Select as SelectPrimitive } from 'bits-ui';
3
+
4
+ const { ref = $bindable(null), ...restProps }: SelectPrimitive.GroupProps = $props();
5
+ </script>
6
+
7
+ <SelectPrimitive.Group data-slot="select-group" {...restProps} />
@@ -0,0 +1,4 @@
1
+ import type { Select as SelectPrimitive } from 'bits-ui';
2
+ declare const SelectGroup: import("svelte").Component<SelectPrimitive.GroupProps, {}, "ref">;
3
+ type SelectGroup = ReturnType<typeof SelectGroup>;
4
+ export default SelectGroup;