dr-widget 0.1.3__py3-none-any.whl
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.
- dr_widget/__init__.py +5 -0
- dr_widget/py.typed +0 -0
- dr_widget/widgets/__init__.py +5 -0
- dr_widget/widgets/config_file_manager/.gitignore +24 -0
- dr_widget/widgets/config_file_manager/.vscode/extensions.json +3 -0
- dr_widget/widgets/config_file_manager/README.md +89 -0
- dr_widget/widgets/config_file_manager/__init__.py +283 -0
- dr_widget/widgets/config_file_manager/components.json +16 -0
- dr_widget/widgets/config_file_manager/index.html +12 -0
- dr_widget/widgets/config_file_manager/jsrepo.json +18 -0
- dr_widget/widgets/config_file_manager/package.json +49 -0
- dr_widget/widgets/config_file_manager/postcss.config.js +6 -0
- dr_widget/widgets/config_file_manager/public/fonts/Inter-roman.var.woff2 +0 -0
- dr_widget/widgets/config_file_manager/public/vite.svg +1 -0
- dr_widget/widgets/config_file_manager/src/App.svelte +62 -0
- dr_widget/widgets/config_file_manager/src/ConfigFileManager.svelte +605 -0
- dr_widget/widgets/config_file_manager/src/app.css +134 -0
- dr_widget/widgets/config_file_manager/src/index.js +5 -0
- dr_widget/widgets/config_file_manager/src/lib/@test_state.json +20 -0
- dr_widget/widgets/config_file_manager/src/lib/Counter.svelte +10 -0
- dr_widget/widgets/config_file_manager/src/lib/components/file-drop/BrowseConfigsPanel.svelte +137 -0
- dr_widget/widgets/config_file_manager/src/lib/components/file-drop/ComplexJsonViewer.svelte +94 -0
- dr_widget/widgets/config_file_manager/src/lib/components/file-drop/ConfigViewerPanel.svelte +282 -0
- dr_widget/widgets/config_file_manager/src/lib/components/file-drop/LoadedConfigPreview.svelte +74 -0
- dr_widget/widgets/config_file_manager/src/lib/components/file-drop/SaveConfigPanel.svelte +449 -0
- dr_widget/widgets/config_file_manager/src/lib/components/file-drop/SelectedFileRow.svelte +38 -0
- dr_widget/widgets/config_file_manager/src/lib/components/file-drop/SelectedFilesList.svelte +30 -0
- dr_widget/widgets/config_file_manager/src/lib/components/file-drop/SimpleJsonViewer.svelte +405 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/badge/badge.svelte +50 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/badge/index.ts +2 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/button/button.svelte +128 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/button/index.ts +27 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/card/card-action.svelte +20 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/card/card-content.svelte +15 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/card/card-description.svelte +20 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/card/card-footer.svelte +20 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/card/card-header.svelte +23 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/card/card-title.svelte +20 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/card/card.svelte +23 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/card/index.ts +25 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/dialog/dialog-close.svelte +11 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/dialog/dialog-content.svelte +47 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/dialog/dialog-description.svelte +21 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/dialog/dialog-footer.svelte +24 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/dialog/dialog-header.svelte +24 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/dialog/dialog-overlay.svelte +24 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/dialog/dialog-title.svelte +21 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/dialog/dialog-trigger.svelte +11 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/dialog/index.ts +41 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/drawer/drawer-close.svelte +11 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/drawer/drawer-content.svelte +41 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/drawer/drawer-description.svelte +21 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/drawer/drawer-footer.svelte +24 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/drawer/drawer-header.svelte +24 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/drawer/drawer-nested.svelte +16 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/drawer/drawer-overlay.svelte +24 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/drawer/drawer-title.svelte +21 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/drawer/drawer-trigger.svelte +11 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/drawer/drawer.svelte +16 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/drawer/index.ts +45 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/empty/empty-content.svelte +23 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/empty/empty-description.svelte +23 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/empty/empty-header.svelte +20 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/empty/empty-media.svelte +41 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/empty/empty-title.svelte +20 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/empty/empty.svelte +23 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/empty/index.ts +22 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/field/field-content.svelte +20 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/field/field-description.svelte +25 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/field/field-error.svelte +58 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/field/field-group.svelte +23 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/field/field-label.svelte +26 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/field/field-legend.svelte +29 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/field/field-separator.svelte +38 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/field/field-set.svelte +24 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/field/field-title.svelte +23 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/field/field.svelte +53 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/field/index.ts +33 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/file-drop-zone/file-drop-zone.svelte +178 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/file-drop-zone/index.ts +29 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/file-drop-zone/types.ts +51 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/item/index.ts +34 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/item/item-actions.svelte +20 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/item/item-content.svelte +20 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/item/item-description.svelte +24 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/item/item-footer.svelte +20 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/item/item-group.svelte +21 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/item/item-header.svelte +20 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/item/item-media.svelte +42 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/item/item-separator.svelte +19 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/item/item-title.svelte +20 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/item/item.svelte +60 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/label/index.ts +7 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/label/label.svelte +20 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/modal/index.ts +13 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/modal/modal-content.svelte +29 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/modal/modal-description.svelte +20 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/modal/modal-footer.svelte +29 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/modal/modal-header.svelte +29 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/modal/modal-title.svelte +20 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/modal/modal-trigger.svelte +24 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/modal/modal.svelte +24 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/modal/modal.svelte.ts +32 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/separator/index.ts +7 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/separator/separator.svelte +21 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/tabs/index.ts +16 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/tabs/tabs-content.svelte +17 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/tabs/tabs-list.svelte +20 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/tabs/tabs-trigger.svelte +20 -0
- dr_widget/widgets/config_file_manager/src/lib/components/ui/tabs/tabs.svelte +19 -0
- dr_widget/widgets/config_file_manager/src/lib/hooks/use-file-bindings.ts +189 -0
- dr_widget/widgets/config_file_manager/src/lib/react/JsonTreeCanvas.tsx +207 -0
- dr_widget/widgets/config_file_manager/src/lib/utils/config-format.ts +113 -0
- dr_widget/widgets/config_file_manager/src/lib/utils/utils.ts +21 -0
- dr_widget/widgets/config_file_manager/src/lib/utils.ts +17 -0
- dr_widget/widgets/config_file_manager/src/main.js +7 -0
- dr_widget/widgets/config_file_manager/static/fonts/Inter-roman.var.woff2 +0 -0
- dr_widget/widgets/config_file_manager/static/index.js +9719 -0
- dr_widget/widgets/config_file_manager/static/style.css +1 -0
- dr_widget/widgets/config_file_manager/static/vite.svg +1 -0
- dr_widget/widgets/config_file_manager/svelte.config.js +8 -0
- dr_widget/widgets/config_file_manager/tailwind.config.js +12 -0
- dr_widget/widgets/config_file_manager/tsconfig.json +28 -0
- dr_widget/widgets/config_file_manager/vite.config.js +36 -0
- dr_widget-0.1.3.dist-info/METADATA +62 -0
- dr_widget-0.1.3.dist-info/RECORD +127 -0
- dr_widget-0.1.3.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn, type WithElementRef } from "$lib/utils.js";
|
|
3
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
children,
|
|
9
|
+
...restProps
|
|
10
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<div
|
|
14
|
+
bind:this={ref}
|
|
15
|
+
data-slot="card-header"
|
|
16
|
+
class={cn(
|
|
17
|
+
"@container/card-header has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6 grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6",
|
|
18
|
+
className
|
|
19
|
+
)}
|
|
20
|
+
{...restProps}
|
|
21
|
+
>
|
|
22
|
+
{@render children?.()}
|
|
23
|
+
</div>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
3
|
+
import { cn, type WithElementRef } from "$lib/utils.js";
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
children,
|
|
9
|
+
...restProps
|
|
10
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<div
|
|
14
|
+
bind:this={ref}
|
|
15
|
+
data-slot="card-title"
|
|
16
|
+
class={cn("font-semibold leading-none", className)}
|
|
17
|
+
{...restProps}
|
|
18
|
+
>
|
|
19
|
+
{@render children?.()}
|
|
20
|
+
</div>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
3
|
+
import { cn, type WithElementRef } from "$lib/utils.js";
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
children,
|
|
9
|
+
...restProps
|
|
10
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<div
|
|
14
|
+
bind:this={ref}
|
|
15
|
+
data-slot="card"
|
|
16
|
+
class={cn(
|
|
17
|
+
"bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
|
|
18
|
+
className
|
|
19
|
+
)}
|
|
20
|
+
{...restProps}
|
|
21
|
+
>
|
|
22
|
+
{@render children?.()}
|
|
23
|
+
</div>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import Root from "./card.svelte";
|
|
2
|
+
import Content from "./card-content.svelte";
|
|
3
|
+
import Description from "./card-description.svelte";
|
|
4
|
+
import Footer from "./card-footer.svelte";
|
|
5
|
+
import Header from "./card-header.svelte";
|
|
6
|
+
import Title from "./card-title.svelte";
|
|
7
|
+
import Action from "./card-action.svelte";
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
Root,
|
|
11
|
+
Content,
|
|
12
|
+
Description,
|
|
13
|
+
Footer,
|
|
14
|
+
Header,
|
|
15
|
+
Title,
|
|
16
|
+
Action,
|
|
17
|
+
//
|
|
18
|
+
Root as Card,
|
|
19
|
+
Content as CardContent,
|
|
20
|
+
Description as CardDescription,
|
|
21
|
+
Footer as CardFooter,
|
|
22
|
+
Header as CardHeader,
|
|
23
|
+
Title as CardTitle,
|
|
24
|
+
Action as CardAction,
|
|
25
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { Dialog as DialogPrimitive } from 'bits-ui';
|
|
7
|
+
|
|
8
|
+
let { ref = $bindable(null), ...restProps }: DialogPrimitive.CloseProps = $props();
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<DialogPrimitive.Close bind:ref data-slot="dialog-close" {...restProps} />
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { Dialog as DialogPrimitive } from 'bits-ui';
|
|
7
|
+
import XIcon from '@lucide/svelte/icons/x';
|
|
8
|
+
import type { Snippet } from 'svelte';
|
|
9
|
+
import * as Dialog from './index.js';
|
|
10
|
+
import { cn, type WithoutChildrenOrChild } from '../../../utils/utils.js';
|
|
11
|
+
|
|
12
|
+
let {
|
|
13
|
+
ref = $bindable(null),
|
|
14
|
+
class: className,
|
|
15
|
+
portalProps,
|
|
16
|
+
hideClose = false,
|
|
17
|
+
children,
|
|
18
|
+
...restProps
|
|
19
|
+
}: WithoutChildrenOrChild<DialogPrimitive.ContentProps> & {
|
|
20
|
+
portalProps?: DialogPrimitive.PortalProps;
|
|
21
|
+
children: Snippet;
|
|
22
|
+
hideClose?: boolean;
|
|
23
|
+
} = $props();
|
|
24
|
+
</script>
|
|
25
|
+
|
|
26
|
+
<Dialog.Portal {...portalProps}>
|
|
27
|
+
<Dialog.Overlay />
|
|
28
|
+
<DialogPrimitive.Content
|
|
29
|
+
bind:ref
|
|
30
|
+
data-slot="dialog-content"
|
|
31
|
+
class={cn(
|
|
32
|
+
'bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg',
|
|
33
|
+
className
|
|
34
|
+
)}
|
|
35
|
+
{...restProps}
|
|
36
|
+
>
|
|
37
|
+
{@render children?.()}
|
|
38
|
+
{#if !hideClose}
|
|
39
|
+
<DialogPrimitive.Close
|
|
40
|
+
class="ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"
|
|
41
|
+
>
|
|
42
|
+
<XIcon />
|
|
43
|
+
<span class="sr-only">Close</span>
|
|
44
|
+
</DialogPrimitive.Close>
|
|
45
|
+
{/if}
|
|
46
|
+
</DialogPrimitive.Content>
|
|
47
|
+
</Dialog.Portal>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { Dialog as DialogPrimitive } from 'bits-ui';
|
|
7
|
+
import { cn } from '../../../utils/utils.js';
|
|
8
|
+
|
|
9
|
+
let {
|
|
10
|
+
ref = $bindable(null),
|
|
11
|
+
class: className,
|
|
12
|
+
...restProps
|
|
13
|
+
}: DialogPrimitive.DescriptionProps = $props();
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<DialogPrimitive.Description
|
|
17
|
+
bind:ref
|
|
18
|
+
data-slot="dialog-description"
|
|
19
|
+
class={cn('text-muted-foreground text-sm', className)}
|
|
20
|
+
{...restProps}
|
|
21
|
+
/>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { cn, type WithElementRef } from '../../../utils/utils.js';
|
|
7
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
8
|
+
|
|
9
|
+
let {
|
|
10
|
+
ref = $bindable(null),
|
|
11
|
+
class: className,
|
|
12
|
+
children,
|
|
13
|
+
...restProps
|
|
14
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<div
|
|
18
|
+
bind:this={ref}
|
|
19
|
+
data-slot="dialog-footer"
|
|
20
|
+
class={cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', className)}
|
|
21
|
+
{...restProps}
|
|
22
|
+
>
|
|
23
|
+
{@render children?.()}
|
|
24
|
+
</div>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
7
|
+
import { cn, type WithElementRef } from '../../../utils/utils.js';
|
|
8
|
+
|
|
9
|
+
let {
|
|
10
|
+
ref = $bindable(null),
|
|
11
|
+
class: className,
|
|
12
|
+
children,
|
|
13
|
+
...restProps
|
|
14
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<div
|
|
18
|
+
bind:this={ref}
|
|
19
|
+
data-slot="dialog-header"
|
|
20
|
+
class={cn('flex flex-col gap-2 text-center sm:text-left', className)}
|
|
21
|
+
{...restProps}
|
|
22
|
+
>
|
|
23
|
+
{@render children?.()}
|
|
24
|
+
</div>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { Dialog as DialogPrimitive } from 'bits-ui';
|
|
7
|
+
import { cn } from '../../../utils/utils.js';
|
|
8
|
+
|
|
9
|
+
let {
|
|
10
|
+
ref = $bindable(null),
|
|
11
|
+
class: className,
|
|
12
|
+
...restProps
|
|
13
|
+
}: DialogPrimitive.OverlayProps = $props();
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<DialogPrimitive.Overlay
|
|
17
|
+
bind:ref
|
|
18
|
+
data-slot="dialog-overlay"
|
|
19
|
+
class={cn(
|
|
20
|
+
'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',
|
|
21
|
+
className
|
|
22
|
+
)}
|
|
23
|
+
{...restProps}
|
|
24
|
+
/>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { Dialog as DialogPrimitive } from 'bits-ui';
|
|
7
|
+
import { cn } from '../../../utils/utils.js';
|
|
8
|
+
|
|
9
|
+
let {
|
|
10
|
+
ref = $bindable(null),
|
|
11
|
+
class: className,
|
|
12
|
+
...restProps
|
|
13
|
+
}: DialogPrimitive.TitleProps = $props();
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<DialogPrimitive.Title
|
|
17
|
+
bind:ref
|
|
18
|
+
data-slot="dialog-title"
|
|
19
|
+
class={cn('text-lg leading-none font-semibold', className)}
|
|
20
|
+
{...restProps}
|
|
21
|
+
/>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { Dialog as DialogPrimitive } from 'bits-ui';
|
|
7
|
+
|
|
8
|
+
let { ref = $bindable(null), ...restProps }: DialogPrimitive.TriggerProps = $props();
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<DialogPrimitive.Trigger bind:ref data-slot="dialog-trigger" {...restProps} />
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { Dialog as DialogPrimitive } from "bits-ui";
|
|
6
|
+
|
|
7
|
+
import Title from "./dialog-title.svelte";
|
|
8
|
+
import Footer from "./dialog-footer.svelte";
|
|
9
|
+
import Header from "./dialog-header.svelte";
|
|
10
|
+
import Overlay from "./dialog-overlay.svelte";
|
|
11
|
+
import Content from "./dialog-content.svelte";
|
|
12
|
+
import Description from "./dialog-description.svelte";
|
|
13
|
+
import Trigger from "./dialog-trigger.svelte";
|
|
14
|
+
import Close from "./dialog-close.svelte";
|
|
15
|
+
|
|
16
|
+
const Root = DialogPrimitive.Root;
|
|
17
|
+
const Portal = DialogPrimitive.Portal;
|
|
18
|
+
|
|
19
|
+
export {
|
|
20
|
+
Root,
|
|
21
|
+
Title,
|
|
22
|
+
Portal,
|
|
23
|
+
Footer,
|
|
24
|
+
Header,
|
|
25
|
+
Trigger,
|
|
26
|
+
Overlay,
|
|
27
|
+
Content,
|
|
28
|
+
Description,
|
|
29
|
+
Close,
|
|
30
|
+
//
|
|
31
|
+
Root as Dialog,
|
|
32
|
+
Title as DialogTitle,
|
|
33
|
+
Portal as DialogPortal,
|
|
34
|
+
Footer as DialogFooter,
|
|
35
|
+
Header as DialogHeader,
|
|
36
|
+
Trigger as DialogTrigger,
|
|
37
|
+
Overlay as DialogOverlay,
|
|
38
|
+
Content as DialogContent,
|
|
39
|
+
Description as DialogDescription,
|
|
40
|
+
Close as DialogClose,
|
|
41
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { Drawer as DrawerPrimitive } from 'vaul-svelte';
|
|
7
|
+
|
|
8
|
+
let { ref = $bindable(null), ...restProps }: DrawerPrimitive.CloseProps = $props();
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<DrawerPrimitive.Close bind:ref data-slot="drawer-close" {...restProps} />
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { Drawer as DrawerPrimitive } from 'vaul-svelte';
|
|
7
|
+
import DrawerOverlay from './drawer-overlay.svelte';
|
|
8
|
+
import { cn } from '../../../utils/utils.js';
|
|
9
|
+
|
|
10
|
+
let {
|
|
11
|
+
ref = $bindable(null),
|
|
12
|
+
class: className,
|
|
13
|
+
portalProps,
|
|
14
|
+
children,
|
|
15
|
+
...restProps
|
|
16
|
+
}: DrawerPrimitive.ContentProps & {
|
|
17
|
+
portalProps?: DrawerPrimitive.PortalProps;
|
|
18
|
+
} = $props();
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<DrawerPrimitive.Portal {...portalProps}>
|
|
22
|
+
<DrawerOverlay />
|
|
23
|
+
<DrawerPrimitive.Content
|
|
24
|
+
bind:ref
|
|
25
|
+
data-slot="drawer-content"
|
|
26
|
+
class={cn(
|
|
27
|
+
'group/drawer-content bg-background fixed z-50 flex h-auto flex-col gap-4 p-4',
|
|
28
|
+
'data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b',
|
|
29
|
+
'data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t',
|
|
30
|
+
'data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm',
|
|
31
|
+
'data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm',
|
|
32
|
+
className
|
|
33
|
+
)}
|
|
34
|
+
{...restProps}
|
|
35
|
+
>
|
|
36
|
+
<div
|
|
37
|
+
class="bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block"
|
|
38
|
+
></div>
|
|
39
|
+
{@render children?.()}
|
|
40
|
+
</DrawerPrimitive.Content>
|
|
41
|
+
</DrawerPrimitive.Portal>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { Drawer as DrawerPrimitive } from 'vaul-svelte';
|
|
7
|
+
import { cn } from '../../../utils/utils.js';
|
|
8
|
+
|
|
9
|
+
let {
|
|
10
|
+
ref = $bindable(null),
|
|
11
|
+
class: className,
|
|
12
|
+
...restProps
|
|
13
|
+
}: DrawerPrimitive.DescriptionProps = $props();
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<DrawerPrimitive.Description
|
|
17
|
+
bind:ref
|
|
18
|
+
data-slot="drawer-description"
|
|
19
|
+
class={cn('text-muted-foreground text-sm', className)}
|
|
20
|
+
{...restProps}
|
|
21
|
+
/>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { cn, type WithElementRef } from '../../../utils/utils.js';
|
|
7
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
8
|
+
|
|
9
|
+
let {
|
|
10
|
+
ref = $bindable(null),
|
|
11
|
+
class: className,
|
|
12
|
+
children,
|
|
13
|
+
...restProps
|
|
14
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<div
|
|
18
|
+
bind:this={ref}
|
|
19
|
+
data-slot="drawer-footer"
|
|
20
|
+
class={cn('mt-auto flex flex-col gap-2', className)}
|
|
21
|
+
{...restProps}
|
|
22
|
+
>
|
|
23
|
+
{@render children?.()}
|
|
24
|
+
</div>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
7
|
+
import { cn, type WithElementRef } from '../../../utils/utils.js';
|
|
8
|
+
|
|
9
|
+
let {
|
|
10
|
+
ref = $bindable(null),
|
|
11
|
+
class: className,
|
|
12
|
+
children,
|
|
13
|
+
...restProps
|
|
14
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<div
|
|
18
|
+
bind:this={ref}
|
|
19
|
+
data-slot="drawer-header"
|
|
20
|
+
class={cn('flex flex-col gap-1.5', className)}
|
|
21
|
+
{...restProps}
|
|
22
|
+
>
|
|
23
|
+
{@render children?.()}
|
|
24
|
+
</div>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { Drawer as DrawerPrimitive } from 'vaul-svelte';
|
|
7
|
+
|
|
8
|
+
let {
|
|
9
|
+
shouldScaleBackground = true,
|
|
10
|
+
open = $bindable(false),
|
|
11
|
+
activeSnapPoint = $bindable(null),
|
|
12
|
+
...restProps
|
|
13
|
+
}: DrawerPrimitive.RootProps = $props();
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<DrawerPrimitive.NestedRoot {shouldScaleBackground} bind:open bind:activeSnapPoint {...restProps} />
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { Drawer as DrawerPrimitive } from 'vaul-svelte';
|
|
7
|
+
import { cn } from '../../../utils/utils.js';
|
|
8
|
+
|
|
9
|
+
let {
|
|
10
|
+
ref = $bindable(null),
|
|
11
|
+
class: className,
|
|
12
|
+
...restProps
|
|
13
|
+
}: DrawerPrimitive.OverlayProps = $props();
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<DrawerPrimitive.Overlay
|
|
17
|
+
bind:ref
|
|
18
|
+
data-slot="drawer-overlay"
|
|
19
|
+
class={cn(
|
|
20
|
+
'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',
|
|
21
|
+
className
|
|
22
|
+
)}
|
|
23
|
+
{...restProps}
|
|
24
|
+
/>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { Drawer as DrawerPrimitive } from 'vaul-svelte';
|
|
7
|
+
import { cn } from '../../../utils/utils.js';
|
|
8
|
+
|
|
9
|
+
let {
|
|
10
|
+
ref = $bindable(null),
|
|
11
|
+
class: className,
|
|
12
|
+
...restProps
|
|
13
|
+
}: DrawerPrimitive.TitleProps = $props();
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<DrawerPrimitive.Title
|
|
17
|
+
bind:ref
|
|
18
|
+
data-slot="drawer-title"
|
|
19
|
+
class={cn('text-foreground font-semibold', className)}
|
|
20
|
+
{...restProps}
|
|
21
|
+
/>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { Drawer as DrawerPrimitive } from 'vaul-svelte';
|
|
7
|
+
|
|
8
|
+
let { ref = $bindable(null), ...restProps }: DrawerPrimitive.TriggerProps = $props();
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<DrawerPrimitive.Trigger bind:ref data-slot="drawer-trigger" {...restProps} />
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
-->
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { Drawer as DrawerPrimitive } from 'vaul-svelte';
|
|
7
|
+
|
|
8
|
+
let {
|
|
9
|
+
shouldScaleBackground = true,
|
|
10
|
+
open = $bindable(false),
|
|
11
|
+
activeSnapPoint = $bindable(null),
|
|
12
|
+
...restProps
|
|
13
|
+
}: DrawerPrimitive.RootProps = $props();
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<DrawerPrimitive.Root {shouldScaleBackground} bind:open bind:activeSnapPoint {...restProps} />
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Installed from @ieedan/shadcn-svelte-extras
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { Drawer as DrawerPrimitive } from "vaul-svelte";
|
|
6
|
+
|
|
7
|
+
import Root from "./drawer.svelte";
|
|
8
|
+
import Content from "./drawer-content.svelte";
|
|
9
|
+
import Description from "./drawer-description.svelte";
|
|
10
|
+
import Overlay from "./drawer-overlay.svelte";
|
|
11
|
+
import Footer from "./drawer-footer.svelte";
|
|
12
|
+
import Header from "./drawer-header.svelte";
|
|
13
|
+
import Title from "./drawer-title.svelte";
|
|
14
|
+
import NestedRoot from "./drawer-nested.svelte";
|
|
15
|
+
import Close from "./drawer-close.svelte";
|
|
16
|
+
import Trigger from "./drawer-trigger.svelte";
|
|
17
|
+
|
|
18
|
+
const Portal: typeof DrawerPrimitive.Portal = DrawerPrimitive.Portal;
|
|
19
|
+
|
|
20
|
+
export {
|
|
21
|
+
Root,
|
|
22
|
+
NestedRoot,
|
|
23
|
+
Content,
|
|
24
|
+
Description,
|
|
25
|
+
Overlay,
|
|
26
|
+
Footer,
|
|
27
|
+
Header,
|
|
28
|
+
Title,
|
|
29
|
+
Trigger,
|
|
30
|
+
Portal,
|
|
31
|
+
Close,
|
|
32
|
+
|
|
33
|
+
//
|
|
34
|
+
Root as Drawer,
|
|
35
|
+
NestedRoot as DrawerNestedRoot,
|
|
36
|
+
Content as DrawerContent,
|
|
37
|
+
Description as DrawerDescription,
|
|
38
|
+
Overlay as DrawerOverlay,
|
|
39
|
+
Footer as DrawerFooter,
|
|
40
|
+
Header as DrawerHeader,
|
|
41
|
+
Title as DrawerTitle,
|
|
42
|
+
Trigger as DrawerTrigger,
|
|
43
|
+
Portal as DrawerPortal,
|
|
44
|
+
Close as DrawerClose,
|
|
45
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn, type WithElementRef } from "$lib/utils.js";
|
|
3
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
children,
|
|
9
|
+
...restProps
|
|
10
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<div
|
|
14
|
+
bind:this={ref}
|
|
15
|
+
data-slot="empty-content"
|
|
16
|
+
class={cn(
|
|
17
|
+
"flex w-full min-w-0 max-w-sm flex-col items-center gap-4 text-balance text-sm",
|
|
18
|
+
className
|
|
19
|
+
)}
|
|
20
|
+
{...restProps}
|
|
21
|
+
>
|
|
22
|
+
{@render children?.()}
|
|
23
|
+
</div>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn, type WithElementRef } from "$lib/utils.js";
|
|
3
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
children,
|
|
9
|
+
...restProps
|
|
10
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<div
|
|
14
|
+
bind:this={ref}
|
|
15
|
+
data-slot="empty-description"
|
|
16
|
+
class={cn(
|
|
17
|
+
"text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4",
|
|
18
|
+
className
|
|
19
|
+
)}
|
|
20
|
+
{...restProps}
|
|
21
|
+
>
|
|
22
|
+
{@render children?.()}
|
|
23
|
+
</div>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn, type WithElementRef } from "$lib/utils.js";
|
|
3
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
children,
|
|
9
|
+
...restProps
|
|
10
|
+
}: WithElementRef<HTMLAttributes<HTMLDivElement>> = $props();
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<div
|
|
14
|
+
bind:this={ref}
|
|
15
|
+
data-slot="empty-header"
|
|
16
|
+
class={cn("flex max-w-sm flex-col items-center gap-2 text-center", className)}
|
|
17
|
+
{...restProps}
|
|
18
|
+
>
|
|
19
|
+
{@render children?.()}
|
|
20
|
+
</div>
|