@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.
- package/LICENSE +21 -0
- package/README.md +13 -0
- package/dist/app.css +70 -0
- package/dist/components/page/HomeButton.svelte +8 -0
- package/dist/components/page/HomeButton.svelte.d.ts +18 -0
- package/dist/components/page/PageHeader.svelte +15 -0
- package/dist/components/page/PageHeader.svelte.d.ts +7 -0
- package/dist/components/page/PageSection.svelte +32 -0
- package/dist/components/page/PageSection.svelte.d.ts +13 -0
- package/dist/components/page/index.d.ts +4 -0
- package/dist/components/page/index.js +4 -0
- package/dist/components/ui/button/button.svelte +80 -0
- package/dist/components/ui/button/button.svelte.d.ts +64 -0
- package/dist/components/ui/button/index.d.ts +2 -0
- package/dist/components/ui/button/index.js +4 -0
- package/dist/components/ui/card/card-action.svelte +15 -0
- package/dist/components/ui/card/card-action.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-content.svelte +10 -0
- package/dist/components/ui/card/card-content.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-description.svelte +15 -0
- package/dist/components/ui/card/card-description.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-footer.svelte +15 -0
- package/dist/components/ui/card/card-footer.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-header.svelte +18 -0
- package/dist/components/ui/card/card-header.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-title.svelte +15 -0
- package/dist/components/ui/card/card-title.svelte.d.ts +5 -0
- package/dist/components/ui/card/card.svelte +18 -0
- package/dist/components/ui/card/card.svelte.d.ts +5 -0
- package/dist/components/ui/card/index.d.ts +8 -0
- package/dist/components/ui/card/index.js +10 -0
- package/dist/components/ui/form/form-button.svelte +7 -0
- package/dist/components/ui/form/form-button.svelte.d.ts +4 -0
- package/dist/components/ui/form/form-description.svelte +13 -0
- package/dist/components/ui/form/form-description.svelte.d.ts +4 -0
- package/dist/components/ui/form/form-element-field.svelte +27 -0
- package/dist/components/ui/form/form-element-field.svelte.d.ts +28 -0
- package/dist/components/ui/form/form-field-errors.svelte +30 -0
- package/dist/components/ui/form/form-field-errors.svelte.d.ts +8 -0
- package/dist/components/ui/form/form-field.svelte +33 -0
- package/dist/components/ui/form/form-field.svelte.d.ts +28 -0
- package/dist/components/ui/form/form-fieldset.svelte +18 -0
- package/dist/components/ui/form/form-fieldset.svelte.d.ts +27 -0
- package/dist/components/ui/form/form-label.svelte +19 -0
- package/dist/components/ui/form/form-label.svelte.d.ts +4 -0
- package/dist/components/ui/form/form-legend.svelte +12 -0
- package/dist/components/ui/form/form-legend.svelte.d.ts +4 -0
- package/dist/components/ui/form/index.d.ts +11 -0
- package/dist/components/ui/form/index.js +13 -0
- package/dist/components/ui/input/index.d.ts +2 -0
- package/dist/components/ui/input/index.js +4 -0
- package/dist/components/ui/input/input.svelte +41 -0
- package/dist/components/ui/input/input.svelte.d.ts +13 -0
- package/dist/components/ui/label/index.d.ts +2 -0
- package/dist/components/ui/label/index.js +4 -0
- package/dist/components/ui/label/label.svelte +16 -0
- package/dist/components/ui/label/label.svelte.d.ts +4 -0
- package/dist/components/ui/popover/index.d.ts +6 -0
- package/dist/components/ui/popover/index.js +8 -0
- package/dist/components/ui/popover/popover-close.svelte +7 -0
- package/dist/components/ui/popover/popover-close.svelte.d.ts +4 -0
- package/dist/components/ui/popover/popover-content.svelte +31 -0
- package/dist/components/ui/popover/popover-content.svelte.d.ts +10 -0
- package/dist/components/ui/popover/popover-portal.svelte +7 -0
- package/dist/components/ui/popover/popover-portal.svelte.d.ts +3 -0
- package/dist/components/ui/popover/popover-trigger.svelte +13 -0
- package/dist/components/ui/popover/popover-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/popover/popover.svelte +7 -0
- package/dist/components/ui/popover/popover.svelte.d.ts +3 -0
- package/dist/components/ui/select/index.d.ts +12 -0
- package/dist/components/ui/select/index.js +14 -0
- package/dist/components/ui/select/select-content.svelte +45 -0
- package/dist/components/ui/select/select-content.svelte.d.ts +11 -0
- package/dist/components/ui/select/select-group-heading.svelte +16 -0
- package/dist/components/ui/select/select-group-heading.svelte.d.ts +10 -0
- package/dist/components/ui/select/select-group.svelte +7 -0
- package/dist/components/ui/select/select-group.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-item.svelte +31 -0
- package/dist/components/ui/select/select-item.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-label.svelte +15 -0
- package/dist/components/ui/select/select-label.svelte.d.ts +6 -0
- package/dist/components/ui/select/select-portal.svelte +7 -0
- package/dist/components/ui/select/select-portal.svelte.d.ts +3 -0
- package/dist/components/ui/select/select-scroll-down-button.svelte +16 -0
- package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-scroll-up-button.svelte +16 -0
- package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-separator.svelte +14 -0
- package/dist/components/ui/select/select-separator.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-trigger.svelte +29 -0
- package/dist/components/ui/select/select-trigger.svelte.d.ts +8 -0
- package/dist/components/ui/select/select.svelte +7 -0
- package/dist/components/ui/select/select.svelte.d.ts +3 -0
- package/dist/components/ui/separator/index.d.ts +2 -0
- package/dist/components/ui/separator/index.js +4 -0
- package/dist/components/ui/separator/separator.svelte +16 -0
- package/dist/components/ui/separator/separator.svelte.d.ts +4 -0
- package/dist/components/ui/sheet/index.d.ts +11 -0
- package/dist/components/ui/sheet/index.js +13 -0
- package/dist/components/ui/sheet/sheet-close.svelte +7 -0
- package/dist/components/ui/sheet/sheet-close.svelte.d.ts +4 -0
- package/dist/components/ui/sheet/sheet-content.svelte +60 -0
- package/dist/components/ui/sheet/sheet-content.svelte.d.ts +37 -0
- package/dist/components/ui/sheet/sheet-description.svelte +13 -0
- package/dist/components/ui/sheet/sheet-description.svelte.d.ts +4 -0
- package/dist/components/ui/sheet/sheet-footer.svelte +15 -0
- package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +5 -0
- package/dist/components/ui/sheet/sheet-header.svelte +15 -0
- package/dist/components/ui/sheet/sheet-header.svelte.d.ts +5 -0
- package/dist/components/ui/sheet/sheet-overlay.svelte +16 -0
- package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +4 -0
- package/dist/components/ui/sheet/sheet-portal.svelte +7 -0
- package/dist/components/ui/sheet/sheet-portal.svelte.d.ts +3 -0
- package/dist/components/ui/sheet/sheet-title.svelte +13 -0
- package/dist/components/ui/sheet/sheet-title.svelte.d.ts +4 -0
- package/dist/components/ui/sheet/sheet-trigger.svelte +7 -0
- package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/sheet/sheet.svelte +7 -0
- package/dist/components/ui/sheet/sheet.svelte.d.ts +3 -0
- package/dist/components/ui/textarea/index.d.ts +2 -0
- package/dist/components/ui/textarea/index.js +4 -0
- package/dist/components/ui/textarea/textarea.svelte +17 -0
- package/dist/components/ui/textarea/textarea.svelte.d.ts +5 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +11 -0
- package/dist/utils.d.ts +12 -0
- package/dist/utils.js +5 -0
- 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,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,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,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,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,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,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,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,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;
|